Platform for cascade lake nodes running sles15

This PR adds a platform for cascade lake nodes on Discover running sles15 (#487). I had to adjust the code tests since the convention that ‘sles15=milan node’ is no longer applicable. We probably need to figure out a better way to better distinguish milan and cascade nodes in the future. I tested various methods in the python platform package and I couldn’t find one that reports the microarchitecture, they all just report “x68_64”. For now I just changed the platform test so that it asserts that sles4.12=nccs_discover

Great, were you able to test creating and launching a suite?

Great, were you able to test creating and launching a suite?

Yes, should've mentioned that

This is good to merge once it is updated with develop. The bit about identifying OS will become obsolete once SLES12 OS is abandoned so I wouldn't worry about that.

Oops, thought I had done that, thanks


Having an issue when running fast_start.bat

Error.txt
Thats what output says

Fix by ensuring core count is greater than zero


Issue when sending hero card to Facebook

Started from 3 days ago, my bot cannot send hero card to Facebook channel. But it is working in other channels like Skype, direct line etc. After checking the log, I find that there is a bad request 400. Does anyone experience with this?
Error: Request to 'https://facebook.botframework.com/v3/conversations/714970071961209-278973005920977/activities/mid.%24cAAD9uVxe1vVkxcTfL1elH-WdDug5' failed: [400] Bad Request

I find that if any url used in hero card is not accessible, the hero card cannot be shown and result in bad request 400.....


An extra log message after closing the 'Update Access Tier' dialog or clicking Cancel'

Storage Explorer Version: 1.1.0
Platform: Windows
Architecture: x64
Build Number: 20180510.2
Commit: d271505a
Regression From:  Not a regression
Steps to Reproduce:

Launch Storage Explorer and select a V2 account.

Right click the V2 account and select 'Set Default Access Tier'.

Close the 'Update Access Tier' dialog directly.

Expected Experience:
No log message display on Activities Panel.
Actual Experience:
'Canceled Access Tier of 'account_name' displays on Activities Panel.

More info:
This issue doesn't reproduce for 'Set Public Access Level'.

By Design


Expansion of cell output windows

It would be fantastic if the notebook editor could provide expanded output cells, such that scrolling the individual cell windows would not be required. This is currently an option in Jupyter notebooks by double-clicking the side of the window to toggle expanded/compact.
Could be an toggle feature similar to that, a setting to apply to all, etc.

Good suggestion. We'll look into it.

I also think this should be an option. Would make life much easier.

I strongly recommend making the feature. It's really inconvenient.

Before we turn our attention to this enhancement, I wanted to give everyone an option to look at big cells without scrolling with our settings:

Set 'Python › Data Science: Enable Scrolling For Cell Outputs' to false. This setting makes the box be the size of the cell output.

Another option is to have that setting enabled, and change 'Python › Data Science: Max Output Size'. That setting changes the maximum output size for all cells, it goes from 0 to 9999 pixels. That could also get rid of most of your scrollbars.

Please upvote if the workaround David supplied above doesn't work well for you.


Table options

resolves #63
resolves #62

Coverage remained the same at 100.0% when pulling 768c53e1020033b04ec529b4d93b2148cdfcb611 on table-options into 0d65deeb41f1e4c040656e0d8273989a894e23d9 on main.


Accept id param as 64-bit integer

I/flutter (18061): [Alarm] Schedule notification with id<PHONE_NUMBER>151384 error: Invalid argument (id): must fit within the size of a 32-bit integer i.e. in the range [-2^31, 2^31 - 1]:<PHONE_NUMBER>151384
if is posible, when generate a uuid is not posible to use a >32bit int, Can Refactor?

Hi @sandamil
Thank you for your interest in the package !
Unfortunately, the types long or int64_t are not supported in Dart. For large storage integers, there's the BigInt type. This variable causes performance and memory issues due to its arbitrary precision though. In addition, I'm working with APIs that only allow an int as id (android_alarm_manager_plus). Then, it is definitely not possible for this plugin to use >32bit integers.
You should try to divide or use a bitwise AND operator to mask the higher bits to reduce the size of your number so it can be stored in a int.
Let me know if you have any other questions.

Yes, I have changed it and generated a shorter id, I wanted to use a library that generated uuid, for this but it gave me an error, I understand that it cannot be used and I think that it will not be a problem for me, thanks for the answer and your time!


venv detection inconsistent

Environment data

VS Code version: 1.44.0
Extension version (available under the Extensions sidebar): 2020.3.71659
OS and version: macOS Catalina 10.15.4
Python version (& distribution if applicable, e.g. Anaconda): homebrew, 3.7.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Relevant/affected Python packages and their versions: not relevant
Relevant/affected Python-related VS Code extensions and their versions: not relevant
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): not relevant
Value of the python.languageServer setting: not relevant

Expected behaviour
Python extension detects the current existing venv in the root of the workspace and uses it
Actual behaviour
Python extension keeps asking to select Python to use and doesn't show existing venv in the root of the workspace
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

create a new folder: mkdir test
go to that folder: cd test
open vscode: code .
open terminal in vscode
create venv in terminal: python3 -m venv venv

At this point a popup opens to ask if we want to use this new venv, answer yes

close vscode (really close, not just the existing window)
open vscode again: code .
open a python file
vscode asks to select the python interpreter and doesn't show the existing venv as an option

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
User belongs to experiment group 'ShowPlayIcon - start'
User belongs to experiment group 'ShowExtensionSurveyPrompt - control'
User belongs to experiment group 'DebugAdapterFactory - experiment'
User belongs to experiment group 'PtvsdWheels37 - experiment'
User belongs to experiment group 'UseTerminalToGetActivatedEnvVars - control'
User belongs to experiment group 'WebHostNotebook - control'
User belongs to experiment group 'LocalZMQKernel - control'
User belongs to experiment group 'CollectLSRequestTiming - control'
User belongs to experiment group 'CollectNodeLSRequestTiming - experiment'
User belongs to experiment group 'EnableIPyWidgets - experiment'
> conda --version
> conda info --json
> pyenv root
> python3.7 -c "import sys;print(sys.executable)"
> python3.6 -c "import sys;print(sys.executable)"
> python3 -c "import sys;print(sys.executable)"
> python2 -c "import sys;print(sys.executable)"
> python -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
Starting Jedi Python language engine.
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
Diagnostic Code: InvalidPythonInterpreterDiagnostic, Message: No Python interpreter is selected. You need to select a Python interpreter to enable features such as IntelliSense, linting, and debugging.
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.prefix)"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.prefix)"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -m site --user-site
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -m site --user-site
cwd: ~/dev/bootcamp
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
> ~/dev/bootcamp/venv/bin/python3 -c "import sys;print(sys.executable)"
[...... loads more but are duplicates...]

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)
log too long to add

Hello @lferro9000, thank you for reaching out.
Sadly I couldn't reproduce your issue on macOS Catalina 10.15.3 with Python 3.8.0
Can you try trimming the end of your python.pythonPath setting in .vscode/settings.json, so that instead of "path/to/venv/bin/python3" you have ``"path/to/venv"`?
Can you also try reproducing this issue with an older version of the extension?
Thanks!

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.


spawnDomUri fails when resolving import urls in base64 encoded uris

spawnDomUri API fails to resolve relative and "package:" uris in code encoded into a base64 URIs.
I'd assume these URIs should be resolved in terms of the window baseUri, but it doesn't seem that way. Here is a repro example:
bug.html:
    <script type="application/dart">
    import 'dart:html';
    main() {
      var baseUri = Uri.parse(window.location.href);
      // Spawning code in other files works:
      spawnDomUri(baseUri.resolve('b.dart'), [], '');  // works
      spawnDomUri(baseUri.resolve('c.dart'), [], '');  // works
      // Code that contains absolute URIs work too:
      _spawn(baseUri.resolve("packages/a/a.dart"), 1); // works

      // I'd expect these two examples to work in the same way:
      _spawn("packages/a/a.dart", 2); // nothing happens?
      _spawn("package:a/a.dart", 3);  // fails
    }
    _spawn(String importUrl, int i) {
      var code = 'import "$importUrl";\nmain() => print("$value [data-uri-$i]");';
      // ignore the mime-type below, see issue #0
      var encoded = 'data:text/javascript;base64,${window.btoa(code)}';
      spawnDomUri(Uri.parse(encoded), [], '');
    }
    </script>
packages/a/a.dart:
    const value = "hello world";
b.dart:
    import 'packages/a/a.dart';

    main() => print('$value [b]');
c.dart:
    import 'package:a/a.dart';

    main() => print('$value [c]');

I see no output on the example labeled with #2, but a failure as follows on example #3:
'package:a/a.dart': error: line 1 pos 1: unexpected token '<'
<script type="application/dart">
^: package:a/a.dart package:a/a.dart:1
Internal error: 'package:a/a.dart': error: line 1 pos 1: unexpected token '<'
<script type="application/dart">
^
(FYI the error line seems to match the code of bug.html)
If I set DART_PACKAGE_ROOT then the example #3 above works.

Attachment:
spawnuri_bug.tgz (627 Bytes)

we're removing dart:isolate from dart4web (and spawnDomUri was not implemented by JS compilers)


Complete rewrite for ergonomics improvements + update to Bevy 0.7 and Rapier 0.12

This is the third design of this plugin:

The very first design of this plugin was a very shallow integration of Rapier: we added rapier sets as resources, and the user was expected to create rigid-bodies and colliders in a way very similar to the vanilla Rapier API. This felt very awkward to use with Bevy.
Then, we changed the design to split colliders and rigid-bodies into multiple components, and Rapier was modified to be able to use these components directly through bevy Query. This improved ergonomics significantly but also reduced performances (because of the inefficiency of randomly accessing components through a Bevy Query). This ergonomics gain was significantly hurt by the introduction of the required Component trait implementation in bevy 0.6.
This third design no longer relies on Query to store the components used by Rapier itself. Instead, we define our own components that get synchronized with Rapier at each frame (somewhat similar to the way the heron plugin is designed).

This new design has many advantages:

No conversion between nalgebra and glam is needed any more. Users can use glam everywhere and the plugin takes care of the conversion when synchronizing with Rapier’s state. Note however that users have access to the original Rapier objects, accessing to these raw objects will require using nalgebra (but you shouldn’t need to access them unless for very advanced stuffs).
The Reflect trait can be auto-implemented for many components (not all of them yet).
All components are optional. With the previous version, removing any component would result in a panic of the physics-engine.

Colliders
Colliders can be created easily by inserting one of two components: Collider or AsyncCollider. The AsyncCollider is only available in 3D right now: it allows you to create a collider from a Bevy Handle<Mesh>. If that mesh isn’t loaded yet (i.e. if you are using asynchronous asset loading), the corresponding Collider will automatically be created once the Mesh becomes available. Some examples:
commands.spawn()
    .insert(Collider::cuboid(1.0, 2.0, 3.0));

let handle: Handle<Mesh> = server.load("bunny.obj");
commands.spawn()
    .insert(AsyncCollider::Mesh(handle)); // The collider will be created once the mesh finish loading.

When the mesh doesn’t originate from asset loading, a mesh collider can be created directly with Collider::bevy_mesh(mesh)  where mesh is just a bevy::render::Mesh.
Just like before, colliders are attached to rigid-bodies by adding the component to the same entity, or to its children.
Other optional components can be added to customize the collider’s behavior: Friction, Restitution, CollisionGroups, etc. The collider position can be controlled with a bevy Transform. The scaling part of that transform is automatically taken into account to scale the collider accordingly (unless the ColliderScale component is added to control the scaling manually).
Rigid-bodies
Rigid-bodies can be created easily by inserting the RigidBodyComponent:
commands.spawn()
    .insert(RigidBody::KinematicVelocityBased);

All the other components are optional to customize the rigid-body’s behavior: Velocity, LockedAxes, ExternalForce, etc. The rigid-body’s position can be controlled with a bevy Transform. The scaling part of that transform has no effect on the rigid-body.
Joints
Impulse joints and multibody joints are now supported as components. To attach a joint to rigid-body users only need to add the joint to the rigid-body’s entity. Impulse joints can also be attached to one of the rigid-body entity’s its children (because it is possible to have multiple impulse joint attached to the same rigid-body).
Scene queries
All the scene queries are made through the RapierContext object. These queries have been fully wrapped to only expose glam types. Querying the contact graph on intersection graph has also been wrapped to only expose glam types.
Pixel scaling in 2D
One common source of confusion is the fact that 2D Bevy uses pixels as its default unit to place sprites, whereas Rapier use meters. Therefore a common mistake is to choose 1meter = 1pixel which results in less accuracy and slow-motion simulation (unless one adjust the gravity). The solution we introduced previously was the RapierConfiguration::scale that would affect the way rigid-body positions were synchronized with the bevy Transform. However, the user had to be careful to take that scale into account everywhere else (when initializing colliders, modifying velocities, etc.)
With this new design, it is possible to set a scale at the plugin-level, and that scale will be applied transparently throughout the engine. So basically, you can say "1 meter = 100 pixels" and then work with Rapier as if pixel was its distance unit (so having a collider sized as Collider::cuboid(500.0, 100.0) is perfectly fine). The plugin will deal with the conversion between pixels and meters transparently when it calls into Rapier itself.
app.add_plugin(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(100.0)) // 100 pixel per meter.

Debug-rendering
Debug rendering has been completely changed. Rapier 0.12 itself has its own official backend-agnostic debug-renderer (https://github.com/dimforge/rapier/pull/315). This renderer is simple, and based on lines for better visibility when superimposed with your own graphics representation of your scene objects.
This renderer is able to render all the default shapes supported by Rapier (including round shapes), and will draw lines for joints.
It is completely non-instrusive (it doesn’t insert any component to any of the user’s entities) and automatic (it will render everything automatically, without the need to add components to the objects that need rendering). This renderer will render exactly what Rapier itself sees.

Debug-snapshots
Since this new design uses Rapier’s ColliderSet and RigidBodySet  under the hood (instead of bevy Query), it is now possible to serialize (with serde) the RapierContext. This can help debug issues that are hard to reproduce (by simply sending snapshots of the simulation shortly before the bug occurs).

❤ You are making all of my wildest dreams come true.


[Android] Fix accidental Verify condition when throwing exception

Problem

Verifying callback == nullptr instead of callback != nullptr.

Change overview

Use !=.

Testing

Manually called ReturnIllegalStateException, verified that exception was thrown iff callback exists.

fast track: typo fix by domain owner.


Edit Current Line with large block width

When in graph view and a disassembly block is wide enough, while trying to "Patch -> Edit Current Line" it re-centers the line to where it is not viewable. There is also no way to move your view while in Edit Line without leaving Edit mode.
Test Case was in ARM32 below

Fixed in 1574.


Task freezes at "Update remote repository"

I have a hanging task at this stage, and only on one branch, I don't know why, other branches work, and on a certain one does not work.
How do I identify a problem?

This is not an Ansistrano issue, it can be a problem on your git repository, your server, your disk or anything else


Outbound Status Observatory and LeastPing Load Balancing Strategy

This is a automated outbound status monitoring tool that can automatically living outbound. And a balancing strategy that select the outbound with least delay in the most recent scan.
Observatory
Outbounds can be monitoring with a centralized monitoring tool. It provide a API that allow client to display the exact error reason for connection to assist the diagnose process.
Load Balancing Strategy
Load Balancing Strategy read from the Observatory's measurement and make the necessary decision to select a best node.
Difference to the version in V5
Currently in the v5 branch, there is also a load balancing improvement, however, they have different design and can be combined to fit the user's need.
This version of monitoring tool is independent from the Load Balancing Strategy. This means outbounds can be monitored without influencing the decision of routing process. Regardless the number of Load Balancing Strategy referencing a particular outbound, the outbounds will be probed at a constant rate. This prevent defining more than one Load Balancing Strategy from causing issue.
The version in the V5 is more comprehensive and could work better for some user, and I expect these two version of load balancing tool complement each other and allow user to define the rule that help them the most.

Rebased to master branch. Cannot use newer version of proto package, since it would break the function signature.


Update demo gif in README

Feature request
Update the demo gif in the README so that new changes made to the website are displayed

@Pranav016 Sir,  I would like to work on this issue

@Pranav016 sir while making a gif for the readme I observe that the footer of the "compose" post section is not aligned properly at the bottom its has that same issue.

one thing I can do is that I will edit this locally and make a gif for the readme.
ignore this if you already know about this bug.😅

and sir can I solve these two issues (#171 and #172) in a single PR?

and sir can I solve these two issues (#171 and #172) in a single PR?

Not advised, complete only the one you've been assigned.

@Pranav016 sir while making a gif for the readme I observe that the footer of the "log-in" section is not aligned properly at the bottom its has that same issue.

one thing I can do is that I will edit this locally and make a gif for the readme.
ignore this if you already know about this bug.😅

Don't worry, it is being worked on..

@Pranav016 sir I made this gif:

I tried to include that compose post section but I think that didn't work locally I need to do that from deployed version, but the problem with deployed version is that it already has some posts there which I think not look good in the display gif.

@Pranav016 sir I made this gif:

I tried to include that compose post section but I think that didn't work locally I need to do that from deployed version, but the problem with deployed version is that it already has some posts there which I think not look good in the display gif.

I got your point, the deployed version's issue (footer) is currently being worked on. I am merging the footer PR right now so the deployed version will be corrected in a few mins then you can make a gif from that.

The deployed version has been fixed, you can make gif from that now. Don't worry about the displayed posts. They look fine. Just show all the functionalities of the website.

@Pranav016 sir I have done with the gif part, I made three different GIFs with different time duration.
you can choose any gif out of those three. but as the size of the GIFs exceeds 10 MB I am not able to share the GIFs demo here.
So sir can I mail those GIFs or send you a message on your discord?

@Pranav016 sir I have done with the gif part, I made three different GIFs with different time duration.
you can choose any gif out of those three. but as the size of the GIFs exceeds 10 MB I am not able to share the GIFs demo here.
So sir can I mail those GIFs or send you a message on your discord?

GIFs are rarely greater than 10 MB unless they are really long, or they have very high frame rate. You can share it with me on discord or you can upload to google drive and share the link here. I don't think it should be this big in size, the one currently in the readme is 777KB (was optimized by img-bot) but even initially it was small in size. Since it the gif has to be stored in this GitHub repository itself hence try to keep the size small.

first:https://giphy.com/gifs/WMafli0zJ3krDrK7d6
second: https://drive.google.com/file/d/1gLi0WJzQBKfeXkt7A-VJBxjvb_Aa32sW/view?usp=sharing
third:https://drive.google.com/file/d/16NnkbUCOz80gCFj9cRzQUEfs-5_LCQJK/view?usp=sharing

first:https://giphy.com/gifs/WMafli0zJ3krDrK7d6
second: https://drive.google.com/file/d/1gLi0WJzQBKfeXkt7A-VJBxjvb_Aa32sW/view?usp=sharing
third:https://drive.google.com/file/d/16NnkbUCOz80gCFj9cRzQUEfs-5_LCQJK/view?usp=sharing

First one looks good :+1:

first:https://giphy.com/gifs/WMafli0zJ3krDrK7d6
second: https://drive.google.com/file/d/1gLi0WJzQBKfeXkt7A-VJBxjvb_Aa32sW/view?usp=sharing
third:https://drive.google.com/file/d/16NnkbUCOz80gCFj9cRzQUEfs-5_LCQJK/view?usp=sharing

First one looks good 👍
Also when you make the PR, delete the older git from assets folder.

ok @Pranav016 sir


Add an additional sat symbol

I made a simple symbol you might want to add.
https://github.com/6102bitcoin/sats

Gladly added! Thanks for reaching out and contributing


Incorrect result of parsing field "private"

Method utils.getShortLink has parameter private that parse into C# keyword and produce syntax report

After codegen reworking we add checker:
https://github.com/InRedikaWB/VkLibrary/blob/97d42daf53c6d9083b9962ef1569cc8704257e3c/VkLibrary.Codegen/Types/TitleCase/CamelCaseTitle.cs#L47
Now we add prefix "_" for fields that was matched with keywords. Probably, in future update will be changed to "@" prefix coz of codestyle rules.


[WIP] Make fake filesystem, fake os and fake os.path respect additional_skip_names

Describe the changes
Add a call stack check for fake filesystem, os and os.path methods in their handle_original_call wrapper to see if they are being called from a module listed in skip_modules.
Tasks

[x] Unit tests added that reproduce the issue or prove feature is working
[x] Fix or feature added
[ ] Entry to release notes added
[ ] Pre-commit CI shows no errors
[x] Unit tests passing
[x] For documentation changes: The Read the Docs preview builds and looks as expected

This is mostly brainstorm material to see if we want to go in this direction.
Implementation details:
Most of the job is done as a filter in wrapper functions, is_called_from_skipped_module starts from the end of the call stack and goes up until it reaches a module that is:

Is not a frozen importlib
outside of Python's stdlib
outside of pyfakefs library itself (except for tests/ and pytest_tests/ directories)
This module is considered the module that is calling the wrapped function and if it is listed in skip_names, then it will try to run the original function instead of the fake wrapped function.

It is working for Python 3.12, 3.11 and mostly 3.10, but 3.9, 3.8 and 3.7 have yet different internals for pathlib.

@mrbean-bremen
When you got the time, please check it and let me know if you approve this approach.
If it looks good to you, I will work on tests for other Python versions and Windows.

@sassanh - are you still working on this, or have you given up?

I'm not actively working on it but I have it in my radar.
If the open pull request is causing trouble in organization we can close it.
The blocking issue is still updating the tests for older python versions.

The PR isn't blocking anything - I just wanted to know if you are still on it, or if you need help. Take all the time you need - and thanks for the effort!

Feel free to add any commits or make any changes to this pull request as needed. Your help is greatly appreciated! I might not have the capacity to address tests for older versions in the new future.

@sassanh - I've rebased against main and fixed the failing tests (disabled one test for PyPy 3.7, as I didn't want to invest time in that outdated version), but other than that, only the release notes are missing as far as I can see.
Please check my commit and add the release notes (and anything you still want to add), and we can go and merge this.

@mrbean-bremen Thank you so much! I appreciate your help!
I will check your commit and add the release notes in the weekend.

@mrbean-bremen I checked the changes and it all looks good to me. I added the release notes too. Let's merge it if it looks good to you.


Android service crashes when including quickandroid

Hi,
first of all, many thanks for quickandroid. I installed the apk on my phone to look at the examples and this all looks very mature and well designed!
I am currently thinking about replacing my image picker implementation with your ImagePicker, as my implementation randomly throws the error "Can't find surface 1". In that case the whole Android gallery crashes. As your image picker implementation looks way more mature, I was thinking about to replace it with your's. I included the quickandroid.pri in my *.pro file and compiled the project. However, after running the application, my custom android service crashes. The android service gets started, when the application launches.  What's really strange is, that I am not using anything from quickandroid, I just included the quickandroid.pri file. If I remove the quickandroid.pri file again, everything works fine.
Can you think of anything that might cause the crash? Before doing any reverse engineering I wanted you to ask if you have an idea what that can be.
Any help is really appreciated.
edit: I also added a minimal example project, if you want to take a look. If the *.pri file is included, a error appears when starting the application. If I remove the *.pri file, delete the build folder (don't know why this is necessary, but otherwise it doesn't get correctly rebuild) and rebuild again, the application starts just fine. (It's really a minimal example, so even if it starts correctly, you only see a white screen).
btw: the minimal example project is basically just this https://github.com/bbernhard/qtandroidservices_example together with the included quickandroid.
qtandroidservices_example.zip
Have a nice day,
Bernhard

Hi @bbernhard ,
I have tried to run your example, but didn't crashed. Could you show me the error you have?
Moreover, did you enable gradle? For ant, QuickAndroid will make a copy of its Java source code to build folder. I wonder is it the cause of crash. I think you could check about the build folder. And see is your Java source code installed correctly. (android-build/src)

Hi @benlau ,
first of all, many thanks for helping me with this one.
Unfortunately I only get the error message in the app - there is no message in the Qt debugger. My assumption is, that it's because the Qt debugger is following the main application, whereas the service crashes.  I attached a screenshot with the error message that's appearing. Sorry, it's in german...but it basically says "qtandroidservices_example stopped". The message appears immediately after starting the app. If I click "Ok" the app still works, so I assume it's the service that stopped.
I just checked the android-build/src folder and it contains a folder "quickandroid" with "ImagePicker.java", "QuickAndroidActivity.java" and "SystemDispatcher" as well as the "org/qtproject/example" folder structure with my custom activity/service.
gradle is disabled (just checked it again, to be sure)

Thanks,
Bernhard

In case Qt creator can not show the error, you may use adb logcat and filter the error message (I know it is a bit trouble, no should have another better way)

Thanks for the info, didn't know that adb logcat can catch errors from a service.
I'll try that in a minute.
Do you maybe know a tool that can visualize logcat files? I am always redirecting the output into a file and search for error messages afterwards (don't know if there is a better way).
Thanks,
Bernhard


Add edits feature

Motivation
We, at Vagas.com, are implementing a new feature and the "edits" endpoint will be required.
One of our features uses "completions" to generate a text recommendation about a job opening.
We will need "edits" to be able to request a refinement of the text generated by the "completions".

Hello?


fix(webhook): correctly read gitlab MR id

Bugfix
:warning: PR/MR workflow on GitLab does not work because when Burrito tries to fetch changes from the MR, the API does not find the given MR (tested on GitLab SaaS 16.6).
GitLab webhook payload contains two IDs for a MR:

object_attributes.id which is the unique MR id on the instance
object_attributes.iid which is the MR ID for the current project

GitLab API needs merge_request_iid in all MR related API calls.

Codecov Report

Merging #178 (3209c74) into main (0d0cd65) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##             main     #178   +/-   ##
=======================================
  Coverage   70.50%   70.50%
=======================================
  Files          28       28
  Lines        1926     1926
=======================================
  Hits         1358     1358
  Misses        492      492
  Partials       76       76

Files
Coverage Δ

internal/webhook/gitlab/provider.go
71.66% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Highcharts not defined

For some reason highcharts is not defined in main.js.

including <script src="https://code.highcharts.com/highcharts.js"></script> above <script data-main="js/app" src="js/require.js"></script> seems to solve the issue.
I'm not a frontend expert but including the script outside requireJs seems a bit hacky to me.

resolved by commit e1c93931c2b8d0923311c5c037cd3f218d0eadbb


[TIR][Schedule] Relax reorder primitive's affine binding check

Hi there, this pr aims to make some workload schedulable with reorder primitive. We can find a nice description for similar workloads in ethosu's cascade scheduler work:  https://github.com/apache/tvm-rfcs/blob/main/rfcs/0037-arm-ethosu-cascading-scheduler.md.
https://github.com/apache/tvm-rfcs/raw/main/resources/cascading-diagram.png
Generally, if we have consecutive ops like conv and pooling, tiling the last one, and compute_at others under the outer loops, we then create cascade tiles simultaneously. The block binding for sub-blocks (except last) are not affine, since they have overlapped tile regions, due to non-trivial strides and window size.
Under current check, we can not reorder each sub-block's inner loops to perform subsequent optimizations, since a global affine binding is required. But note that if we fix outer loops, the block binding wrt inner loops generally keep affineness. The pr try to allow reorder in this situation.
The example script below builds two consecutive pooling op from te and schedule them with tir:
from tvm import topi
x = tvm.te.placeholder(shape=[1, 16, 112, 112], name="x")
y1 = topi.nn.pool2d(x, [3, 3], [1, 1], [1, 1], [0, 0, 0, 0], pool_type="max")
y2 = topi.nn.pool2d(y1, [3, 3], [1, 1], [1, 1], [0, 0, 0, 0], pool_type="max")
f = tvm.te.create_prim_func([x, y2])
s = tvm.tir.schedule.Schedule(f)
n, c, h, w, kh, kw = s.get_loops(s.get_block("tensor_1"))
ho, hi = s.split(h, factors=[None, 4])
s.compute_at(s.get_block("tensor"), ho)
v2, v3 = s.get_loops(s.get_block("tensor"))[-2:]
s.reorder(v2, v3)  # affine check failure!

cc @spectrometerHBH

@spectrometerHBH any updates?


RegExp in config not being parsed properly.

Bug report

What is the current behavior?
Hi, I was trying to handle all scss file named *.global.scss or global.scss by certain loaders,
so I write a regular expression like this:
{
  test: /^(.*\.)?global\.scss$/,
  use: [
   //...
  ]
}

I didn't sense anything strange about this expression, but it failed when handling file global.scss, and throw an error:
You may need an appropriate loader to handle this file type ...

While:

This expression was tested both on Chrome 79 DevTools and Node 10 (by calling /..../.test("global.scss")), and all returned true.
If I simply change the test rule to /global\.scss$/, nothing goes wrong.

Finally I chose to split the expression into an array.
{
  test: [/\.global\.scss$/, /^global.scss$/],
  use: [
   //...
  ]
}

It works fine. I don't know if it's actually a bug, but since everything is drived by node (naturally), It's strange the same regular expression shows different behaviors on node and webpack.
If the current behavior is a bug, please provide the steps to reproduce.
See the code above.

What is the expected behavior?
The regular expression being parsed properly.

Other relevant information:
webpack version:  4.41
Node.js version:  10.17
Operating System:  macOS 10.15
Additional tools: Chrome 79

We don't touch your regexps, don't use ^

It's matching with the absolute path of the file, so go with /[.\\/]global\.scss$/

@sokra It works, thank you! 😄


Use patchDSL for prop

This is more pre-work for #986. I recommend reviewing by commit.
After discussing with @jez, we decided that the current implementation of #986 is suboptimal. The reason for this is that I significantly added to dsl.cc by including the logic that decides whether or not to synthesize an initialize method for the class def right there in dsl.cc. This logic should be moved somewhere else.
We discussed some possible options:

Put everything concerning props and T::Struct into one patchDSL.

pro: contain all related logic in just one place.
con: need to duplicate logic with the for.

Pull out logic to synthesize initialize into its own patchDSLWithProps, which would be run after the big for-typecase in dsl.cc.

pro: keeps DSLing prop and synthesizing initialize separate.
con: not same signature as other patchDSL.
con: need to thread info from ChalkODMProp::replaceDSL to vector in dsl.cc, then back into patchDSLWithProps.

Pull out logic to parse a prop into a helper, then use that helper in ChalkODMProp::replaceDSL.

pro: no (explicit) threading of information across function calls.
con: double the calls to the helper.

After discussion, I decided to go with 1.
This is pre-work, so no observable behavior should change. As discussed above, the new implementation in this PR duplicates the logic in dsl.cc (with having an UnorderedMap to map old nodes to the vector of new translated nodes, etc etc).
Motivation
To prepare for #986.
Test plan
No changes to behavior, just refactoring. No tests.

@jez sorry, I actually rebased and did some work to clean this pr up for #986. Do you feel like you need to take another look? (If I cleaned it up right, nothing should have changed since when you last reviewed.)


🐛 BUG: UUID missmatch when deleting D1 dabatase

Which Cloudflare product(s) does this pertain to?
D1
What version of Wrangler are you using?
2.15.1
What operating system are you using?
Mac
Describe the Bug
I'm executing the command wrangler d1 delete <DATABASE_NAME>, which <DATABASE_NAME> I'm getting executing wrangler d1 list. It even asks for confirmation and everything looks correct, but after confirmation, it looks like it doesn't find the D1 database it's supposed to.
to note: the UUID logged in by each command differs. Even though I'm not asked to input the UUID, and I only work with the name of the D1 DB, it's OK as a user, but doesn't really seem correct

This could be a mismatch between accountIds if both accounts have dbs with the same name - any chance you're using two accounts @niconiahi ?

We haven't heard from you in a while, so I'm going to close this issue for now. If you're still running into issues feel free to comment with more details and we can investigate further!

Reopened this as its a valid bug for us to fix


Export to .ml with a jupyter-nbconvert command ?

See this issue on iocaml for reference.

Note that if a --to ocaml option on the jupyter-nbconvert script is unlikely, a tweak on the --to script should be possible...
Worst case, write a small script ipynb2ml and ship it when opam-installing ocaml-jupyter.

Thank you for often telling me bugs. I reproduced the problem you said. In order to register the ocaml exporter to jupyter-nbexport, I think I need to write the custom exporter. I will implement it.
$ jupyter nbconvert --to ocaml notebooks/introduction.ipynb
Traceback (most recent call last):
  File "/home/aabe/.local/bin/jupyter-nbconvert", line 11, in <module>
    sys.exit(main())
  File "/home/aabe/.local/lib/python3.5/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/aabe/.local/lib/python3.5/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/home/aabe/.local/lib/python3.5/site-packages/nbconvert/nbconvertapp.py", line 313, in start
    self.convert_notebooks()
  File "/home/aabe/.local/lib/python3.5/site-packages/nbconvert/nbconvertapp.py", line 470, in convert_notebooks
    cls = get_exporter(self.export_format)
  File "/home/aabe/.local/lib/python3.5/site-packages/nbconvert/exporters/base.py", line 110, in get_exporter
    % (name, ', '.join(get_export_names())))
ValueError: Unknown exporter "ocaml", did you mean one of: asciidoc, custom, html, html_ch, html_embed, html_toc, html_with_lenvs, html_with_toclenvs, latex, latex_with_lenvs, markdown, notebook, pdf, python, rst, script, selectLanguage, slides?

In addition, an output file from --to script option seems wrong because some lines require ;; at the end of them. Do you know how to overwrite the script exporter?
$ jupyter nbconvert --to script notebooks/introduction.ipynb
[NbConvertApp] Converting notebook notebooks/introduction.ipynb to script
[NbConvertApp] Writing 867 bytes to notebooks/introduction.ml
$ cat notebooks/introduction.ml
let x = List.map (fun x -> x * 2) [1; 3; 5; 7; 9]

#thread ;;
#require "jupyter.notebook" ;;

JupyterNotebook.display "text/html" "<b>Hello, World!</b>"

let ic = open_in_bin "datasets/lenna.png" in
let n = in_channel_length ic in
let data = really_input_string ic n in
close_in ic ;
JupyterNotebook.display ~base64:true "image/png" data

#require "jupyter.archimedes"

let vp = A.init ~w:560. ~h:260. ["jupyter"] in
A.Axes.box vp ;
A.set_color vp A.Color.red ;
A.fx vp sin 0.0 10.0 ;
A.close vp

let rec walk acc p i =
  if i = 0 then List.rev acc else begin
    let q = if Random.bool () then succ p else pred p in
    walk (q :: acc) q (pred i)
  end in
let vp = A.init ~w:560. ~h:260. ["jupyter"] in
A.Axes.box vp ;
A.set_color vp A.Color.red ;
A.List.y vp ~style:`Lines (List.map float @@ walk [] 0 1000) ; (* Plot a random walk of 1000 points. *)
A.close vp

Actually, because you handled correctly the metadata tags, the --to script already works better than it did with iocaml, because the output file has the correct extension.
The obvious advantage of using a --to ocaml or a separate script would be to convert the Markdown and non-code cells to OCaml comments.

OK. I think the custom exporter can be released in 1-2 weeks maybe.

Do you know how to overwrite the script exporter?

This paragraph of the doc shows that it is possible to ship a Python library/package/module that will register --to ocaml as a valid jupyter nbconvert format.

I have started to do it, can you let me try please?

Thank you! Of course.

Should be OK :rocket: ! See https://github.com/Naereen/Jupyter-NBConvert-OCaml
It works perfectly fine on my machine, I have not (and will not) test it on other machines.
See this example to see the difference between --to script and --to ocaml. Any suggestion on how to improve the --to ocaml step? (the template and filter are easy to modify to basically do whatever we want).
I think I will let you take it from where... I don't know how you could also for a pip install or python setup.py install step in the installation phase of ocaml-jupyter...
If you want this to be published on Pypi, it would be make more sense if it were by you, right?

And for less trivial examples of outputs, I just re-generated all the .ml files from my OCaml notebooks present in this directory.

The code (__init__.py and template) are here : https://github.com/Naereen/Jupyter-NBConvert-OCaml/tree/master/jupyter_nbconvert_ocaml

@Naereen Great! I tried your exporter and got a file including code with markdown comments. However the output .ml file might have syntax errors due to lacks of ;; at the end of cells (which I suggested above). For example, a notebook like
In[1]> 1 + 3 (Shift+Enter)
Out[1]> - : int = 4
In[2]> let x = 42 (Shift+Enter)
Out[2]> val x : int = 42

is exported to the following .ml file
(* In[1]: *)
1 + 3
(* In[2] *)
let x = 42

but the above should be
(* In[1]: *)
1 + 3;;
(* In[2] *)
let x = 42;;

The simplest solution is naively adding ;; at the end of each cell.

I think I will let you take it from where... I don't know how you could also for a pip install or python setup.py install step in the installation phase of ocaml-jupyter...
If you want this to be published on Pypi, it would be make more sense if it were by you, right?

The current installation step seems simple enough. I leave to you whether it is published on PyPI since it is your product. I will add the link to your repository in README.

OK. But it's already weird to not use ;; in your notebook/repl ocaml session.
It works but it shouldn't really work... The documentation clearly says "Input to the toplevel can span several lines. It is terminated by ;; (a double-semicolon)".
See http://caml.inria.fr/pub/docs/manual-ocaml/toplevel.html

I can change the filter to check if there is a ;; at the end of each cell, and add it if there is not?

I see. You are right. ocaml jupyter kernel shouldn't execute top-level phrases without ;; at the end according to the specification of ocaml. It is a minor bug I should fix. Thanks.

No but I can tweak the filter and force to add a ;; at the end of each cell...

Oh, I just saw that the GUI allows to save the notebook to a OCaml file, but it uses --to script in the backend.
Just tried something, and to compare, here is first the --to script output:
1 + 3

let x = 42

and then the new --to ocaml output:
(*
This OCaml script was exported from a Jupyter notebook
using an open-source software (under the MIT License) written by @Naereen
from https://github.com/Naereen/Jupyter-Notebook-OCaml
This software is still in development, please notify me of a bug at
https://github.com/Naereen/Jupyter-Notebook-OCaml/issues/new if you find one
*)

(* # Title Markdown cell! *)

(* In[1]: *)

1 + 3;;

(* In[2]: *)

let x = 42;;

Thank you!

(https://github.com/Naereen/Jupyter-NBConvert-OCaml/issues/1 as soon as I can)

To be honest, I cannot be sure that I should reject cells without ;;. I think this change will not make ocaml-jupyter kernel more useful...

No I don't see the point in rejecting cells without ';;', don't change anything.

OK. Thanks.


Unrecognized schemas fetched HTTP

I recently found that the reqwest library was fetching anything with an unrecognized scheme (like hxxps: or htps: as plain HTTP: https://github.com/seanmonstar/reqwest/issues/919. That was fixed in seanmonstar/reqwest#921.
This crate appears to have the same problem: Because it calls http.enforce_http(false) (https://github.com/hyperium/hyper-tls/blob/7c9adcdebba980ed3d3a6190480fafe37628264e/src/client.rs#L50), there is nothing enforcing that the scheme is either HTTP or HTTPS.

this is likely something that needs to be fixed upstream in hyper? cc @seanmonstar


roll back header

Remove the community banner
I have opted to hide the text so it is easier to switch back when we organise another meeting
cc @sbesson

ONly other thought is: is it worth promoting the latest OMERO release until the next announcement?

It doesn't look quite how it used to (screenshot is from a while back) - just trying to work out why...

@will-moore better now?

Looks good 👍

NB: I like the link to latest release, but in general I would try to limit the number of links here.
3 is OK, but 1 or 2 is better since I think that this isn't supposed to be a list of options but really just the top 1 or 2 most obvious ones?

Good to merge.

Thanks @will-moore for the review


Challenge not passing in chrome, firefox

Challenge Name

https://www.freecodecamp.com/challenges/write-reusable-javascript-with-functions
Issue Description

Browser Information

Browser Name, Version: Chrome, firefox
Operating System: Ubuntu
Mobile, Desktop, or Tablet: Desktop

Your Code

 // Example
function ourReusableFunction() {
  console.log("Heyya, World");
}

ourReusableFunction();

// Only change code below this line
function reusableFunction(myStr) {
  console.log(myStr);
}

reusableFunction("Hi World");

Screenshot

@khushboo13 Your code is slightly incorrect. You need to console.log("Hi World"); from within the function definition, and it follows that you don't need to pass myStr or any parameters to reusableFunction() while calling it.


bug: clean up pre provisioned volumes

…ioning test cases to ensure that the volumes get deleted after each test unless variable toggled to be true

What type of PR is this?
/kind bug

What this PR does / why we need it:

the pre-provisioning tests do not clean up created volumes.

Which issue(s) this PR fixes:

Fixes #167
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 44.391%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
186

Relevant Lines:
419

💛  - Coveralls


Add ability to analyze arbitrary strings of code without files

Problem
Currently, RuboCop requires files to be present in the analysis directory in order to perform its analysis. This causes any tools that use its functionality to go through a song and dance if they want to operate on something less than a file. For instance, the haml-lint tool generates Tempfiles from code that is extracted from Haml files to lint the Ruby code using RuboCop.
Having the ability to just pass in strings of Ruby code would make this a lot easier. Since the gem currently requires Tempfiles to do its work, the RuboCop linter within haml-lint cannot operate in the codeclimate-haml_lint engine that I have been working on. Without having the ability to lint arbitrary strings of code, I cannot get the two to play nicely.

Value Statement
By (1) extending the RuboCop Runner, (2) making a special class of Runner that works specifically on strings, or (3) refactoring the Runner to first extract strings from files then delegating to another class that does the analysis, we could make RuboCop friendlier to integrate into other tools.
Option (3) probably has the most value to it because the Runner class already has several responsibilities. By splitting up the responsibility of preparing the code blocks to analyze and performing the analysis, RuboCop could be extended in other ways, such as linting code blocks within a Markdown document or examples in documentation comments.
I believe that RuboCop will have a better code base and be more open for extension with these changes.

Possible Solutions
For a full-fledged feature, there would need to be an addition to the CLI and a change to the internal API for RuboCop.
Suggested CLI Command
To analyze the code written in the terminal, a possible CLI command could be:
$ rubocop --inline-code '
class Test
  def get_name
    "Testy McTesterson"
  end
end
'

Simplest Possible API?
To pass data into the Runner without doing much rearranging of code, there could be an extra option given to the runner. This example:
runner = RuboCop::Runner.new(inline_code: true, RuboCop::ConfigStore.new)
code = <<CODE
class Test
  def get_name
    "Testy McTesterson"
  end
end
CODE
runner.run([code])

would analyze the code in the code variable.

I'd be happy to help with this - the Runner class is a little dense to go through, so I thought I'd file the request to see if there's even any interest in supporting something like this.

There's a command line flag that can help (--stdin):
% cat test/test.rb
class Test
  def get_name
    "Testy McTesterson"
  end
end

% cat test/test.rb | rubocop --stdin stdin.rb
Inspecting 1 file
C

Offenses:

stdin.rb:1:1: C: Missing top-level class documentation comment.
class Test
^^^^^
stdin.rb:1:1: C: Missing magic comment # frozen_string_literal: true.
class Test
^
stdin.rb:2:7: C: Do not prefix reader method names with get_.
  def get_name
      ^^^^^^^^
stdin.rb:3:5: C: Prefer single-quoted strings when you don't need string interpolation or special symbols.
    "Testy McTesterson"
    ^^^^^^^^^^^^^^^^^^^

1 file inspected, 4 offenses detected

... wow. I looked through all the options and somehow missed that one! Thanks for pointing that out.
I'll close this since it appears to already exist.


Script to generate code.subtoken file

What are the preprocessing steps carried out by you ? Could you please provide the script to convert code.original to code.original_subtoken ?

Would you mind reading our paper to learn about the preprocessing steps? We do not have the exact preprocessing script but we have this (https://gist.github.com/saikat107/b4c71e6cd8316d81ee6d10932c7ea4d4) which we use in our work.


Socket.io example?

Great work.  Is this repo still up to date?
<<Automatic Socket.io integration (way to use websockets for real-time features before Apollo's solution is completed)>>
Apollo has GQL Subscriptions now but they need better documentation and further refinements. In the meantime, I'd like to try out Feather's socket.io solution. I went thru the tutorial in the docs folder and it seems that everything is setup as REST. Is there a Socket.io example or can you please add one?

This is taken directly from the feathers documentation. I modified it slightly to work with this project, but if you wanted to get a message every time a new post is created, you could use this:

This looks so simple.
I'll spend some time running the blog app example and reading up on Feathers. I am very high on the simplicity and elegance of this whole GQL+Feathers architecture. I think it's awesome.
Having said that, I've only skimmed through this repo so far... and I don't see any client side rendering code (no JSX or HTML), so I assume this is a backend demo that is accessible via GraphiQL? If so, which port/url? ... and the above socket.io setup, which looks amazingly simple, is to go into app.js?
Sorry for needing all this clarification, but I'll come up with suggestions for the Readme that would make things more obvious as I learn more.

You are correct, this is server side only, and you can access graphiql at localhost:3000/graphiql. The code example I gave you could be put in public/index.html

That sounds amazing. I'm glad I asked. Had no idea about the Feathers "client" -- It seems like Feathers server piece already has socket.io turned on and integrated with the default service events.  So everything just works! Speaking of service events, I saw the GQL queries/mutations you added under the 'examples' folder, but not sure how to setup custom events for them. I guess I have a lot to catch up on, on two fronts now: GQL and Feathers. But there is no way I'd use GQL without Feathers. It really simplifies everything and makes the whole architecture a lot more viable and maintainable....
Will try to research things and get going with GQL+Feathers development and contribute back to this example as far as documentation, and clarification that new users like me could appreciate, Thanks again for a great idea and this awesome example.
A lot to learn, but things look very hopeful with Feathers! I'll mention it to the Apollo team to give this more visibility! been talking to Sashko, too. Great guy.
Btw, someone made forks with Sequelize and Facebook authentication. I'm planning to look at those too.
Thank you.
Feel free to close!

@swarthout  how do you add permissions to this such that I can only be notified when I create post not when someone else creates a post (fake scenario, just want to understand how Feathers enforces authorization rules in this case)

Answer: Feathers supports event filtering. Closing.


docs: added FAQ section to documentation

Codecov Report

Merging #49 (4e5fcfd) into master (b25283c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   99.67%   99.67%
=======================================
  Files          13       13
  Lines         610      610
=======================================
  Hits          608      608
  Misses          2        2

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 b25283c...4e5fcfd. Read the comment docs.


add modio crate in new category Tools

i've added the new category Tools & other game related libraries for the
modio crate.

Thanks!


Fast clicking between two links freeze VIEW and not render template

I have a app with 3 links - MENU, PROFILE, INVOICE. Each of this link render own view and template. If I click very fast between those links at one moment link won't react on my clicking and will freeze render function. I have to refresh-hard my page to fix this problem. But it's not a good solution for UI. Is this a problem inside backbone structure?

No, it's a bug in your app.

@TrofimenkoAI you might ask on: https://gitter.im/jashkenas/backbone
or maybe: https://gitter.im/marionettejs/backbone.marionette
But try and make a jsfiddle or at least have a code sample


Add black formatter

Was waiting for #3 to be completed, but it was taking a while. I think the requester was busy so I just forked his fork and completed it.
Added the configs for the Black formatter for Python, and the appropriate updates to the readme.

Hey Thanks!
Can I look at this over the weekend? I'll plan to merge yours along with the other PR so both you and @vianney-g can get the credit 🙂


Image digraph

Should we have a digraph that can create and edit images? Like creating a blank image, drawing a shape on it, etc.
Elements

create a blank image with width/height, return an image object
draw a rectangle on an image object, given positions, and size
draw a circle on an image object, given positions, and radius
draw a line on an image object, given start, and end-coordinates
display imazge
save image object (only when run locally)

I don't think these are useful except in some very specific circumstances, and evaling as Python (or whatever the host language is) should let you do it anyway.

@cgccuser Yeah, true, forgot about eval (close?)

closing it unless someone wants to implement it


palette-outline icon from MaterialCommunityIcons does not appear

Environment
react-native: 0.60.5
react-native-vector-icons: 6.6.0

Description
Icon palette-outline from the MaterialCommunityIcons set does not appear as expected. A question mark appears instead. This happens in all target platforms. All other icons work normally.

Reproducible Demo
Here is the link to the Snack: https://snack.expo.io/@luckyluke19/palette-outline-icon-bug-(react-native-vector-icons-materialcommunityicons)

Same for key-outline

I think it is still not working in version 6.6.0, but it is working on later versions.


Feature Request: Tell app to not include certain file extensions

When using Vim with the Desktop Theme Editor, it's automatically syncing swp files, which causes errors messages and stop uploads.
Anyway to tell the app to avoid particular file types would be great :)
-Jake

Has anybody found a solution for this?

Hey Alvaro what type you trying to have it not pickup? It should ignore anything outside the core folders.
Sent from my iPhone

On Dec 5, 2015, at 7:51 AM, alvaro-rm<EMAIL_ADDRESS>wrote:
Has anybody found a solution for this?
—
Reply to this email directly or view it on GitHub.

Hey, I use vim to edit my files; When you open a file with Vim, it automatically creates a .swp file (temporary file) so for example: when I am editing "theme.liquid" file, vim creates a "theme.swp" file.  I would like Shopify Theme Manager to forget about these temporary files as I am getting multiple errors saying ("theme.liquid.swp" cannot be upload ......).

Ok. I'll add that for next release. Though if you using vim might want to look at one of the cli sync options :) do you know how to edit the contents of an app bundle? I can tell you exactly what to change (basically to add .swp to the exclude array) to patch your copy in the meantime
Sent from my iPhone

On Dec 5, 2015, at 8:14 AM, alvaro-rm<EMAIL_ADDRESS>wrote:
Hey, I use vim to edit my files; When you open a file with Vim, it automatically creates a .swp file (temporary file) so for example: when I am editing "theme.liquid" file, vim creates a "theme.swp" file. I would like Shopify Theme Manager to forget about these temporary files as I am getting multiple errors saying ("theme.liquid.swp" cannot be upload ......).
—
Reply to this email directly or view it on GitHub.

Thank you man!


Fix item size misinterpretation

About the PR
An item description as "This is a normal item." could be misinterpreted as the items rarity instead of its size.
This PR changes so it now reads "This is a normal-sized item.". Also suffixes all other sizes with "-sized".

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

:cl:

fix: Item size cannot be misinterpreted now.

This seems like a small enough fix that a changelog is not required, yes?

I feel like the wording is kinda awkward.
"This is a small-sized item"
Maybe it reads better as:
"This item is of normal/small/tiny size"

I just used (https://dictionary.cambridge.org/dictionary/english/small-sized) as an example of how to do it, though I have no problem changing it.

I have been thinking to rename "normal" over to "medium" instead, since "normal" the only word that could be misinterpreted here. Then we don't need any suffixes, anywhere.

Small–medium–large is such a well-established size classification system, enforced massively by clothing labels, as to be understood damn near globally. When we consider also that a large percentage of the most commonly used items are small, not normal, the size "normal" is even more confusing.  And a big gun is pretty normal too.
If "small" and "large" are present, using anything other than "medium" seems borderline sadistic to me. :D

Ok, I changed the PR to only change "normal" over to "medium". No suffixes now. I don't want to break anything yet, so I haven't changed "item-component-size-Normal" over to "item-component-size-Medium".


Initial update of Quarkus

Disable for jdk8
Update to 2.7.5.Final
Disable some failed tests per jdk
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

Minimal version 11 is required. https://github.com/quarkusio/quarkus/blob/2.7.5.Final/pom.xml#L50-L54

Grinder:
jdk17: https://ci.adoptopenjdk.net/view/work-in-progress/job/grinder_sandbox_new/643/
jdk11: https://ci.adoptopenjdk.net/view/work-in-progress/job/grinder_sandbox_new/638/


bug(mat-datepicker): DatePicker incorrectly displays dates inputted as ISO 8601

Reproduction
Use StackBlitz to reproduce your issue:

https://stackblitz.com/edit/components-issue-qvykwk?file=src%2Fapp%2Fexample-component.html

Steps to reproduce:

Manually input 2020-01-01 (in en_US locale)

Expected Behavior
What behavior were you expecting to see?
I expected that the component would display 01/01/2021 after modifying it to a localized date.
Actual Behavior
What behavior did you actually see?
The component displays 12/31/2019.
Environment

Angular: 10 (tested)
CDK/Material: 10
Browsers: Firefox 89, Chromium 91 (tested)
Operating System: Arch Linux 2020-06-21

This is an issue with time zones, I think. 2020-01-01 is interpreted as GMT/UTC whereas 01/01/2021 is interpreted as local time. Not sure if this is an issue with js Date and whether it could be fixed or not.

By default the datepicker uses the built-in Date object in order to avoid bringing in dependencies. You can try using the Moment.js date adapter or write your own. There's more information in the docs https://material.angular.io/components/datepicker/overview#choosing-a-date-implementation-and-date-format-settings.


Editing Help

Hey,
So I'm trying to add a simuvex call for fclose. The basics are simple, but I'm also suggesting changing the posix.py module to include a "fd_closed" list that will be used to track when fds get closed. The obvious problem with the way files appear to be handled now is that they're simply removed, so "closing" a file isn't really what one would want from a simulation.
I've done most of the work for an initial handling of it in this way, however the fd_closed list that I create in posix init doesn't appear to get passed on through execution. I've tried adding the following:
    self.fd_closed = [] if fd_closed is None else fd_closed

and adding fd_close=None in the init, but that doesn't propagate it. Help?

Actually, looking at the latest commits (6 days ago) @zardus seems to have changed the same code that I was looking at.

Sorry about that :-).
I ended up putting a "closed" attribute on the SimFile object itself. The
downside is that currently, closed files aren't cleared out, so you don't
end up reusing file descriptors. We should definitely save them off
somewhere, instead.
To propagate your list in the plugin, you'd need to add code to do that to
the copy() method of the posix plugin. That's what's called when paths
split.
On Thu, Mar 3, 2016 at 1:45 PM, Owlz<EMAIL_ADDRESS>wrote:

Actually, looking at the latest commits (6 days ago) @zardus
https://github.com/zardus seems to have changed the same code that I
was looking at.
—
Reply to this email directly or view it on GitHub
https://github.com/angr/simuvex/issues/10#issuecomment-191977631.


Undeclared Identifier tokensOfOwner (ERC721AQueryable.sol)

General information

Description
Value

Project version
2.4.5

Operating system and version
macOS Monterey 12.5.1

NodeJS version
16.13.1

NPM version
8.1.2

Yarn version
1.22.19

Truffle version
5.8.4

Describe the bug
I added a function to the contract file, which uses tokensOfOwner from ERC721AQueryable.sol, which is clearly imported at the top of the YourNftToken.sol file:
import "erc721a/contracts/extensions/ERC721AQueryable.sol";

And here is my new function, checking for ownership of an NFT in a wallet:
  function checkNFTOwnership(address walletAddress) public view returns (uint256) {
    uint256[] memory tokenIds = tokensOfOwner(walletAddress);
    for (uint i = 0; i < tokenIds.length; i++) {
      uint256 tokenId = tokenIds[i];
      if (_exists(tokenId) && ownerOf(tokenId) == walletAddress) {
        // Check if the NFT belongs to this collection
        if (tokenId >= _startTokenId() && tokenId < _startTokenId() + maxSupply) {
          return tokenId;
        }
      }
    }
    return 0;
  }

But my VSCode editor is underlining the use of this, and I am unable to deploy. All dependencies have been installed, and I have no errors otherwise. I clearly see the file containing tokensOfOwners inside node_modules after installation.
Expected behavior
tokensOfOwners function should be imported correctly
Screenshots

Duplicate of #459

Thanks @liarco !


[Feature] if music is playing

in my game i have about 9 songs, but have different music for things like caves, i would like to check if a particular song is playing and if not then stop and play a song this is because when i leave the area in a partiular part of the game my music restarts

@Veund Just tested, set up 2 actors to play 2 different tracks, no stop music command. When trying to play the same song, it just keeps going, when switching between songs, the new song starts playing from the beginning and the other stops.
Basically, don't use stop music and you should be fine, trying to play the same song will not restart the song.

ahhhhh damn, I just over engendered an entire system,thanks for letting me know


Test cases for AllocaInLoop

Here are some test cases for AllocaInLoop.  The query is currently testing for __builtin_alloca; Visual C++ uses _alloca and _malloca so so we might want to check for those as well.

Any thoughts on including Microsoft's "_alloca" in the tests?  Our Seattle crew should dig it :-)

It would be good to get the Microsoft versions added to the tests in this PR. You could also add support for them as a separate commit in this PR if you'd like, or I can do it as a followup PR.

I think it totally makes sense to do it in this PR since we're dealing with the same thing conceptually.
One wrinkle/challenge will be to modify the QL query accordingly.  It is not sufficient to look for "_alloca" (and perhaps "_malloca"); we must also know that the declaration originated in the <malloc.h> header.  This will be a good exercise for me, though I may ask for assistance.

So here is an updated query designed to catch the Microsoftisms:

from Loop l, FunctionCall fc
where
  getAnEnclosingLoopOfExpr(fc) = l and
  (
    fc.getTarget().getName() = "__builtin_alloca"
    or
    (
      (fc.getTarget().getName() = "_alloca" or fc.getTarget().getName() = "_malloca") and
      fc.getTarget().getADeclarationEntry().getFile().getBaseName() = "malloc.h"
    )
  ) and
  not l.(DoStmt).getCondition().getValue() = "0"
select fc, "Stack allocation is inside a $@ and could lead to stack overflow.", l, l.toString()

It does compile in the LGTM console window, but I have yet to run it.  Any thoughts/corrections?

I've updated the test cases and the query and all seems to work as expected (both the negative and positive cases).  The results are in a new PR:  https://github.com/Semmle/ql/pull/1107.

Superseded by #1107.


Exception "Type 'Null' is not a subtype of type "X" of 'key' in web release mode not thrown

Steps to Reproduce

Execute flutter run on the code sample

Expected results:
in debug mode flutter throws an exception correctly in web (left) and android (right)

Actual results:
In release mode flutter throws no exception in web but still (correctly) in android

Code sample

import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyData {
  Map<String, dynamic> data = {};

  dynamic operator [](String key) => data[key];
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String exceptionFoundNullValue = "";
  String exceptionFoundNullValueKeyArrayOperator = "";

  @override
  void initState() {
    final dynamic myData = MyData();
    // id is null
    String? id;
    // ignore: unused_local_variable
    String? dummy;
    try {
      dummy = id!;
    } catch (ex) {
      exceptionFoundNullValue = ex.toString();
    }

    try {
      dummy = myData[id];
    } catch (ex) {
      exceptionFoundNullValueKeyArrayOperator = ex.toString();
    }

    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
                "This app runs in ${kReleaseMode ? 'release' : 'debug'} mode on platform ${kIsWeb ? "web" : Platform.operatingSystem}"),
            const SizedBox(
              height: 80,
            ),
            const Text("Exception on null value:"),
            Text(exceptionFoundNullValue),
            const SizedBox(
              height: 40,
            ),
            const Text("Exception on array operator key null value:"),
            Text(exceptionFoundNullValueKeyArrayOperator),
          ],
        ),
      ),
    );
  }
}

Logs

flutter run -d chrome --web-port 5559 --release --verbose
[  +90 ms] executing: [C:\Development\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +104 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] e3c29ec00c9c825c891d75054c63fcc46454dca1
[        ] executing: [C:\Development\flutter/] git tag --points-at e3c29ec00c9c825c891d75054c63fcc46454dca1
[  +95 ms] Exit code 0 from: git tag --points-at e3c29ec00c9c825c891d75054c63fcc46454dca1
[   +1 ms] 3.3.2
[  +48 ms] executing: [C:\Development\flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[  +67 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[   +1 ms] origin/stable
[        ] executing: [C:\Development\flutter/] git ls-remote --get-url origin
[  +61 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms] https://github.com/flutter/flutter.git
[ +102 ms] executing: [C:\Development\flutter/] git rev-parse --abbrev-ref HEAD
[  +64 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] stable
[ +102 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +7 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +148 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +86 ms] Skipping pub get: version match.
[ +258 ms] Generating
C:\Users\xxx\source\repos\operarr\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[+1061 ms] Launching lib\main.dart on Chrome in release mode...
[  +93 ms] generated_plugin_registrant.dart not found. Skipping.
[   +7 ms] Compiling lib\main.dart for the Web...
[   +6 ms] Initializing file store
[  +13 ms] Done initializing file store
[ +101 ms] Skipping target: web_entrypoint
[   +3 ms] Skipping target: gen_localizations
[   +4 ms] Skipping target: web_static_assets
[+5656 ms] Skipping target: dart2js
[ +540 ms] Skipping target: web_release_bundle
[ +239 ms] Skipping target: web_service_worker
[   +1 ms] Persisting file store
[  +10 ms] Done persisting file store
[  +18 ms] Compiling lib\main.dart for the Web... (completed in 6,6s)
[ +527 ms] [CHROME]:
[   +6 ms] [CHROME]: DevTools listening on ws://<IP_ADDRESS>:57153/devtools/browser/e086b54b-51b6-4d31-b632-054f78ab9645
[ +132 ms]   To hot restart changes while running, press "r" or "R".
[   +2 ms] For a more detailed help message, press "h". To quit, press "q".

flutter analyze
Analyzing operarr...
No issues found! (ran in 3.0s)

flutter doctor -v
[√] Flutter (Channel stable, 3.3.2, on Microsoft Windows [Version 10.0.22000.978], locale nl-NL)
    • Flutter version 3.3.2 on channel stable at C:\Development\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e3c29ec00c (13 days ago), 2022-09-14 08:46:55 -0500
    • Engine revision a4ff2c53d8
    • Dart version 2.18.1
    • DevTools version 2.15.0

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc5)
    • Android SDK at C:\Users\dvy\AppData\Local\Android\sdk
    • Platform android-33, build-tools 31.0.0-rc5
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Professional 2019 16.10.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
    • Visual Studio Professional 2019 version 16.10.31410.357
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] VS Code, 64-bit edition (version 1.71.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.48.0

[√] Connected device (5 available)
    • SM F936B (mobile)           • RFCT716Y5HD   • android-arm64  • Android 12 (API 32)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)           • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.978]
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 105.0.5195.127
    • Edge (web)                  • edge          • web-javascript • Microsoft Edge 104.0.1293.70

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hi @dickverweij, thanks for filing the issue. This issue is reproducible on the latest stable and master channels with provided sample code.

Android: ✅
iOS: ✅
MacOS: ✅
Web: ❌ (release mode)

✅: No Issue ❌: Issue reproduced

Demo

Web:

Debug
Release

Other platforms (release mode):

MacOS
Android
iOS

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.6 21G115 darwin-x64, locale en-VN)
    • Flutter version 3.3.2 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e3c29ec00c (6 days ago), 2022-09-14 08:46:55 -0500
    • Engine revision a4ff2c53d8
    • Dart version 2.18.1
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.6 21G115 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-33.0.pre.32, on macOS 12.6 21G115 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-33.0.pre.32 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7ce121fed9 (89 minutes ago), 2022-09-27 21:40:12 -0400
    • Engine revision 46009cbe3d
    • Dart version 2.19.0 (build 2.19.0-247.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A309
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.6 21G115 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Labeling this issue for further investigation from the team.

Unfortunately this is an expected behaviour. At -O3 or above dart2js would remove various implicit type checks. See documentation of -O3 optimization level:
    -O3
       Enables optimizations that respect the language semantics only on
       programs that do not ever throw any subtype of `Error`.  These
       optimizations improve the generated code, but they may cause programs to
       behave unexpectedly if this assumption is not met.  To use this
       option, we recommend that you properly test your application first
       without it, and ensure that no subtype of `Error` (such as `TypeError`)
       is ever thrown.

       Equivalent to calling dart2js with these extra flags:
         -O2
         --omit-implicit-checks

Is it possible to specify the optimizations level while building for web?

Apparently you can do flutter build web --release --dart-define=Dart2jsOptimization=O2

Thanks!! @mraleph

I will go ahead and close this one then


bug: handle_on behaviour has been changed with Wave 1.0.0

Wave SDK Version, OS
Wave 1.0.0 and Wave 1.2.0
Actual behavior
Behavior with Wave 1.2.0
https://github.com/h2oai/wave/assets/12434380/dc02b9e7-cf52-4c92-a8ca-5310a0df2350
Expected behavior
Behavior with Wave 0.26.4
https://github.com/h2oai/wave/assets/12434380/fac91a85-3ae8-4a92-ad5a-be7443cc4f0f
Steps To Reproduce
from h2o_wave import app, handle_on, main, Q, ui, on

@on()
async def submit(q: Q):
    q.page["message"] = ui.form_card(
        box="1 6 5 1",
        items=[
            ui.message_bar("info", "Submit")
        ]
    )

@on()
async def my_table(q: Q):
    q.page["message"] = ui.form_card(
        box="1 6 5 1",
        items=[
            ui.message_bar("info", f"Table: {q.args.my_table}")
        ]
    )

def setup(q: Q):
    q.page["body"] = ui.form_card(
        box="1 1 5 5",
        items=[
            ui.button(name="submit", label="Submit"),
            ui.table(
                name="my_table",
                columns=[
                    ui.table_column("column_1", "Column 1"),
                    ui.table_column("column_2", "Column 2"),
                ],
                rows=[
                    ui.table_row(name="row_1", cells=["Row 1 Cell 1", "Row 1 Cell 2"]),
                    ui.table_row(name="row_2", cells=["Row 2 Cell 1", "Row 2 Cell 2"]),
                ]
            )
        ]
    )

@app("/")
async def serve(q: Q) -> None:
    print(f"submit: {q.args.submit}")
    print(f"my_table: {q.args.my_table}")

    if not await handle_on(q):
        setup(q)

    await q.page.save()

Replacing handle_on with run_on gets you the expected behavior. Any other behavior change?

Replacing handle_on with run_on gets you the expected behavior. Any other behavior change?

I will check. But that means the handle_on has been broken with Wave 1.0.0?

Well, if this is the only problem with handle_on, then the migration should be smooth. If not, you need to identify the rest of the cases so that we do not end up in a situation where 1 case is fixed, but the app will not work anyway.


Set 429 as default response code

Resolves #728

I made a new stable/5.x release for maintaining backwards compatibility in release 5.x but this needs a new major 6.x release as it is a breaking change. I'm wondering if we should also include the changes proposed in https://github.com/jazzband/django-axes/issues/693 as well as make the django-ipware dependency optional as discussed in https://github.com/jazzband/django-axes/issues/1021 with the release 6.x?

@aleksihakli yep, I think these changes are suitable for the next release, I will create seperate issue for django-ipware. I think we should also include #784 because it can be a dealbreaker for highload services

Released as 6.0.0b1 and available as a prerelease in PyPI: https://pypi.org/project/django-axes/#history

Sure if #784 could be implemented I think it'd make a great candidate for the next release, especially a major breaking release.


SpiffyTitles - Twitch-API

Been using latest Version and configured supybot.plugins.SpiffyTitles.twitch.clientID to my Twitch ClientID.
Latest URL i used for testing was https://www.twitch.tv/pietsmiet
When pasting any Twitch-Url theres no Output to IRC, beside 'Twitch' and the Bot-Console shows:
SpiffytTitles: Twitch Error: 401 Client Error: Unauthorized for url: https://api.twitch.tv/helix/streams?user_login=pietsmiet

supybot.plugins.SpiffyTitles.twitch.clientID to my Twitch ClientID.

created that ID according to the readme.

I'm aware of this issue. Twitch just recently changed the authorization method for their API and the twitch handler needs to be rewritten. Will fix when I get a chance.
https://discuss.dev.twitch.tv/t/requiring-oauth-for-helix-twitch-api-endpoints/23916

Fixed in https://github.com/oddluck/limnoria-plugins/commit/32c8053d13d7b350a99f5260030153d2da45e7a7. Please see the updated README for instructions on how to set Client ID and Access Token https://github.com/oddluck/limnoria-plugins/tree/master/SpiffyTitles#twitch-handler

Nice - works just fine - Thank you !


Respond with partial set of decisions

When executing local activities we wait for all activities to complete before responding back with the next set of decisions.  But sometimes it is useful to respond back with partial decisions at some heartbeat interval and still keep the decision open on server.  This reduces the latency for state transitions when some local activities complete much earlier than the rest.
This may require a server change on RespondDecisionTaskCompleted API for completing the decision and keeping it open for more decisions.

This is done here: https://github.com/uber-go/cadence-client/pull/498


t/Plack-App-Data-Printer/03-general.t failures (with older Data::Printer?)

On some of my smoker systems the test suite fails:
#   Failed test 'Get content (data structure).'
#   at t/Plack-App-Data-Printer/03-general.t line 31.
#          got: '\ {
#     baz   [
#         [0] 1,
#         [1] 2
#     ],
#     foo   "bar"
# }
# '
#     expected: '{
#     baz   [
#         [0] 1,
#         [1] 2
#     ],
#     foo   "bar"
# }
# '
# Looks like you failed 1 test of 3.
t/Plack-App-Data-Printer/03-general.t ..
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/3 subtests

Statistical analysis suggests that this happens with older Data::Printer (Theta != 1 means "bad"):
****************************************************************
Regression 'mod:Data::Printer'
****************************************************************
Name           	       Theta	      StdErr	 T-stat
[0='const']    	      0.0000	      0.0000	   0.00
[1='eq_0.38']  	      0.0000	      0.0000	   0.00
[2='eq_0.40']  	      0.0000	      0.0000	   0.00
[3='eq_0.99_020']	      0.0000	      0.0000	   0.00
[4='eq_1.000004']	      1.0000	      0.0000<PHONE_NUMBER>6181300.00

R^2= 1.000, N= 74, K= 5
****************************************************************

@eserte Do you know which version of Data::Printer is it? I tested bunch of versions, but without success.

Ok, i know.
Data::Printer <= 0.40 has this issue.
Data::Printer > 0.40 has ANSI sequences in output.
Data::Printer > 1 is ok

Fixed in 0.03 release


postgres still running after gradle stops

I'm noticing after stopping the gradle process (either with Ctrl-C or "./gradlew --stop") the postgres server is still running despite having the "stopWhenBuildFinished" parameter set to true.  Running Ubuntu Linux.
postgresEmbedded {
	version = "V10"
	host = DB_HOSTNAME
	port = DB_PORT
	dbName = DB_NAME
	username = DB_USERNAME
	password = DB_PASSWORD
	stopWhenBuildFinished = true
}

Is this a known issue?

For now, I haven't found any proper way to fix this issue. There is no cancelation API in Gradle for this situation. Even shutdown hooks don't work.
I'll try again sometime later...


Fix for handcuffing someone more than once

About the PR

When multiple people attempt to cuff someone, if done at the same time it's possible to apply more than one set of handcuffs despite the person already being cuffed. Now there is a check to prevent stacking multiple sets of cuffs on one person if they don't have enough free hands.
Why / Balance

Unfair for antags with freedom implants who need to use more than one freedom implant charge to break the two or three cuffs that were placed on them due to random coincidental timing.
Technical details

just check that they have any hands left to be cuffed
Media

Before:
https://github.com/user-attachments/assets/f1f0eef2-6809-4069-909f-fef607a97807
After:
https://github.com/user-attachments/assets/05f601c7-5ba8-403b-b163-56c61efe3301
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

fix: You can no longer cuff someone multiple times if multiple cuff do-afters are completed at the exact same time.

I added BreakOnHandChange = false to the Do-after arguments for the purpose of testing the multi-cuffing for the video