Add support for skipping export module Schemas

Right now the following lines are generated
import * as z from 'zod';

export module Schemas {

First of all, better way for import will be import { z } from 'zod';, second - typescript modules or namespaces are often should be omitted.
Can new option --schemaDeclaration with values 'none' | 'module' be added? And with 'none' no export module Schemas should be added to output

I guess we could work out something here.
I'm using the Schemas because a plugin also adds
export module Operations { to namespace all the operations.
ummmh, probably could consolidate all into the top level.

I've decided to remove the export module when not using an actionGenerator - as I guess this is the usual for people only wanting the zod schema out of the openapi.

Thanks for fixing his, but did you publish the latest version with the fix?


added previousPlan to SubscriptionPlanSwapped Event

I was in need to know what plan the subscription has previously before it swapped. Specially on subscriptions that swapNextCycle there is no reference when the event SubscriptionPlanSwapped gets called. So i just added the previous plan to the SubscriptionPlanSwapped event with a temporary variable.
This will helps if you need to do a specific task based on the previous and new plan. Maybe a "Thanks for Upgrade" or "Thanks for Downgrade" email to the customer.
If there was no previous plan the $event->previousPlan will be NULL.
Sorry for the most changes made by PHP-CS-Fixer (PSR-2).

Thanks for this contribution! Could you undo the cs fixer stuff? It's hard to review it like this.

Yes, i will change that.

have removed all the cs fixer stuff.

Thanks @tobischulz !


LUTECE-2176 : Add CSRF protection to XslExportJspBean actions

Templates and JSP do not seem to be used elsewhere

Merged, Thanks !


Fix importance level in the log

This PR also changes dropping event log to debug level

Codecov Report

Merging #641 (7fa0ee7) into master (6a32d64) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #641      +/-   ##
==========================================
- Coverage   70.04%   70.04%   -0.01%
==========================================
  Files         483      483
  Lines       87102    87102
==========================================
- Hits        61012    61007       -5
- Misses      26090    26095       +5

Impacted Files
Coverage Δ

...iles/data-management/Current/LoggingManagement.cpp
78.02% <100.00%> (ø)

...les/data-management/Current/NotificationEngine.cpp
94.60% <100.00%> (ø)

src/lib/profiles/time/WeaveTimeCoordinator.cpp
94.11% <0.00%> (-5.89%)
:arrow_down:

src/lib/core/WeaveMessageLayer.cpp
72.02% <0.00%> (-0.60%)
:arrow_down:

src/lib/profiles/time/WeaveTimeServer.cpp
91.13% <0.00%> (-0.50%)
:arrow_down:

src/lib/profiles/time/WeaveTimeClient.cpp
59.47% <0.00%> (-0.39%)
:arrow_down:

src/test-apps/ToolCommon.cpp
57.52% <0.00%> (-0.32%)
:arrow_down:

src/lib/core/WeaveFabricState.cpp
59.64% <0.00%> (-0.12%)
:arrow_down:

...les/data-management/Current/SubscriptionClient.cpp
84.57% <0.00%> (+0.28%)
:arrow_up:

src/inet/TCPEndPoint.cpp
51.09% <0.00%> (+0.34%)
:arrow_up:

... and 2 more

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 6a32d64...7fa0ee7. Read the comment docs.

Codecov Report

Merging #641 (7fa0ee7) into master (6a32d64) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #641      +/-   ##
==========================================
- Coverage   70.04%   70.04%   -0.01%
==========================================
  Files         483      483
  Lines       87102    87102
==========================================
- Hits        61012    61007       -5
- Misses      26090    26095       +5

Impacted Files
Coverage Δ

...iles/data-management/Current/LoggingManagement.cpp
78.02% <100.00%> (ø)

...les/data-management/Current/NotificationEngine.cpp
94.60% <100.00%> (ø)

src/lib/profiles/time/WeaveTimeCoordinator.cpp
94.11% <0.00%> (-5.89%)
:arrow_down:

src/lib/core/WeaveMessageLayer.cpp
72.02% <0.00%> (-0.60%)
:arrow_down:

src/lib/profiles/time/WeaveTimeServer.cpp
91.13% <0.00%> (-0.50%)
:arrow_down:

src/lib/profiles/time/WeaveTimeClient.cpp
59.47% <0.00%> (-0.39%)
:arrow_down:

src/test-apps/ToolCommon.cpp
57.52% <0.00%> (-0.32%)
:arrow_down:

src/lib/core/WeaveFabricState.cpp
59.64% <0.00%> (-0.12%)
:arrow_down:

...les/data-management/Current/SubscriptionClient.cpp
84.57% <0.00%> (+0.28%)
:arrow_up:

src/inet/TCPEndPoint.cpp
51.09% <0.00%> (+0.34%)
:arrow_up:

... and 2 more

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 6a32d64...7fa0ee7. Read the comment docs.


Check in ConvexPolygonShape2D if convex hull points are used when setting points property

We could detect in debug builds if a concave shape is assigned to a convex collider and print a warning every time the shape is changed to a concave shape. This check is likely expensive, so it should be disabled in release builds.

See https://github.com/godotengine/godot-docs/issues/5313

Hello @Calinou
Is this issue solved yet? Otherwise I'd like to work on it. Can you assign this issue to me?

@NirobNabil This is a PR that fixes an issue, not an issue report, so there is nothing to assign
Also Godot engine does not practice assigning issues

Sorry i didnt notice the referenced PR before. I guess this issue has already been worked on right? In that case i wont work on this further.
Also are you sure this is not an issue? Did you mean that this is not a reported issue but just a placeholder issue created for a PR rgtemze worked on?

Ops, you're right that we're in an issue. Since there is a PR linked then yes, it's already been worked on

Could you please assign me this issue so I can work on it?

A bit late, but to not discourage a future reader: We do not assign issues to non-maintainers, you can just leave a comment (or not) and work on a PR. Assigning non-maintainers is risky because they can disappear without a warning, but the issue would appear to be taken. So just work on issues you find interesting, and that don't have PRs open already, and submit your work :)


Slow browsing on http2 enabled reverse proxy, long-polling /user/events blocks other requests

I currently have the following setup

gitea 1.16.5
mysql 8.0.28
apache 2.4.38
gitea ssl is disabled
apache does forward http to https
apache is configured to reverse proxy to gitea
Google Chrome shows that all requests are done via h2

When I navigate the files of any of my repository and do "fast directory browsing" (e.g. folder A -> folder B -> up to folder A -> folder B). Something is getting hiccups and I get requests which take about 10 seconds before the folder content is displayed. Those 10 seconds are pretty constant and can be seen in the apaches logs as follow:
2022/03/29 13:56:24 Completed GET /user/events 200 OK in 10.003202925s
I spend hours trying to track this down to what the problem is, and finally I found that adding Protocols http/1.1 to the VirtualDirectory of my apache configuration seems to fix this problem. Pretty fast browsing with low requests roundtrips.
Is this problem known? What logs can I provide else?

/user/events is a long-polling end point. The log is changed in 1.17, if you don't like the log, use 1.17 instead.

https://github.com/go-gitea/gitea/pull/17308
https://user-images.githubusercontent.com/2114189/150318132-20cecfae-ec0a-49d8-8240-5d7cf9e3e332.png

Hmm ..... if "I get requests which take about 10 seconds before the folder content is displayed." is the case, I think it may be caused by http2's muxing ........
Indeed the long-polling seems not friendly to http2, it should be replaced by websocket

Same issue here; thanks for the hint about HTTP/2. I can confirm that only enabling HTTP/1.1 on the public side of the Apache httpd fixes it. It looks like some concurrency issue with Apache. While using the Event worker MPM one should get 25 concurrent connections to the backends and this should not be an issue with just one user and one browser, I think. But it does block a lot.

I have the same issue, when using an Apache as a proxy. I can confirm that disabling HTTP/2 on the Apache config fixes this issue.

We have also experienced such problem. We don't want to lose the benefit of HTTP/2 so we just disabled ui.notification, which means we set the following options in our helm chart values:
    ui.notification:
      EVENT_SOURCE_UPDATE_TIME: -1
      MAX_TIMEOUT: 1s
      MIN_TIMEOUT: -1
      TIMEOUT_STEP: 1s

Although this would mean at the cost of the real-time notifications, so far this eliminated the random long loading problem we have suffered through the last few months. We are still closely monitoring the situation especially regarding to other potential long polling stuff.
Potentially related issue:
#17205
#12459

Thanks for the heads up, I was also having the same issue. For the time being I've disable http2 and it's working just great. Reproducible with apache 2.4.57 / ssl / http2 / event npm.

Similar issues in gitea 1.21.4. Apache 2.4.57 setup with ssl http2 and event npm. Calls to /user/events lasting up to 15s, averaging at about 5s. Falling back to HTTP/1.1 resolved the hanging requests issue.
Added the above ui.notification settings to app.ini to disable it solved the issue with HTTP/2.

Same issue here (gitea 1.21.7), works perfectly 80% of the time and then suddenly will randomly get stuck loading for about 10 seconds.
Environment details:

docker gitea 1.21.7 + postgreSQL 14
apache2 2.4.52 as a reverse-proxy
HTTP for gitea, HTTPS for apache2

This has been going on for at least 2 years from what i can see. Can we get at least an explaination of what is going on, and an ETA for the fix? It seems some stuff has been merge, but so far not much has changed on my end....
Honestly gitea looks really awesome and feature packed, but this one bug kind of prevents me from committing long term to this tool.....
So how about that "disabling HTTP/2" fix ? is it secure if it applies to a gitea instance that is not exposed directly to the web?  (it is exposed only by the reverse-proxy)
the domain name that I use is very exposed to attacks, so security is a big concern for me....
Thanks for your time guys

So how about that "disabling HTTP/2" fix ? is it secure

Disabling HTTP/2 may reduce performance but it won't reduce security.

I encountered exactly this problem today and downgraded to http1.1. from h2/h2c
Is there another solution for this?
Do you already know more?

It's a known issue. Currently, some parts prevent Gitea works well on http2. Like the mentioned /usr/events.


Remove LOCAL from set diagrams

LOCAL was marked as unimplemented in https://github.com/cockroachdb/cockroach/pull/10289. This PR removes LOCAL from the full grammar and from the SET TRANSACTION diagram.
Fixes #802

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/902ee2a543bb9c550d44b4756e2633718f91d705/

LGTM


[android] do not remove android-resource dir

nnstreamer-android-resource directory is changed not to download using scripts.
So it shouldn't be removed.

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #489. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

:octocat: cibot: @niley7464, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://ci.nnstreamer.ai/nnstreamer-api/ci/repo-workers/pr-checker/489-202404051446120.075310945510864-d4e6fc994b8a00ab4cca87396098e04bf56c93f1/.

This PR does not affect tizen build, merge it now.


There was a problem downloading that platform bundle.

Hi,
When I run circup I get the message.
There was a problem downloading that platform bundle.  Skipping and using existing download if available.

Cheers,
Derek
circup bundle-show
Downloading latest bundles for circuitpython/CircuitPython_Org_Bundle (20231029).
py:
There was a problem downloading that platform bundle. Skipping and using existing download if available.
adafruit/Adafruit_CircuitPython_Bundle
    https://github.com/adafruit/Adafruit_CircuitPython_Bundle
    version = 20231031
adafruit/CircuitPython_Community_Bundle
    https://github.com/adafruit/CircuitPython_Community_Bundle
    version = 20231030
circuitpython/CircuitPython_Org_Bundle
    https://github.com/circuitpython/CircuitPython_Org_Bundle
    version = 0.0.3

It is working fine now. Thanks for the update/fixes.


Should be able to pass a disabled prop to override the component state

I found a way to disable it by adding an onClick and throwing an error in the onClick. Otherwise it calls the onClick and then opens it anyway. You can also override the css by passing prop style={{}} and you can add your own class name to make it at least look disabled.

This should be fixed now in https://github.com/plaid/react-plaid-link/pull/81/
v2.0.0 was just released, so please test it out by checking the updated README and let me know!
There's also a storybook to test using Hooks and the Component wrapper:
https://plaid.github.io/react-plaid-link


Errors compiling tests don't break the build on CI

tarpaulin apparently exits with 0 if there are compiler errors in cargo test. Since we are only running tests on CI using tarpaulin, and not compiling them first, this means that if the crate compiles correctly, but the tests don't compile, the build will appear to have succeeded when, in fact, tests were never even run.
See build 605 for an example of this problem.

I suspect this can be fixed by pre-compiling the test executables before running the tests with tarpaulin for coverage...


Attempt to fix vitup mock memory leaks problem

properly reset context in rest api. Fix dockers to use main version of catalyst-core

@kukkok3 @nicopado Can you review this PR, please?


Fix data dict creation with parametric types

Resolves #201
This creates the keys of the dictionary on the fly.
We don't know what all possible keys can be, so I think this is what we should do.

@kdheepak can we close this?

Yes. We are not storing the data this way anymore.


Only include used hardware in EV3 Lejos generated code

Our EV3 Java code generator currently produces code for the configuration strictly based on the configuration. However, we can only use the actually used configuration components to save on generated code and maybe startup time.

[x] Add checks whether component is used
[x] Fix (a lot of) tests

No startup time will be saved. The used sensors are passed to the Hal, which passes them to the DeviceHandler. Here only the used sensors are initialized.

sensors and actors are appended to configuration only when used now


Offset dates reverting after HA restart

Before you submit a new bug report, please check that

[X] I have read frequently asked questions and limitations

Write your question here
Really love this feature but I seem to be having an issue with the date offset. I went through and offset my schedule based on holidays. They all changed fine but then if I restart Home Assistant, the dates revert back to the original dates on reload.
Is it something I am doing wrong that I have missed in the instructions?

Not sure why that happens. I could imagine that would happen if you called the offset outside the automation triggered by the update. But you say you followed the documentation and read the FAQ, do this is not the case. Not sure how this could happen. The offset is triggered on each update, even after the restart, not sure what's wrong.

Not sure what I had done wrong, I have just worked through it slowly again and seems to be working now, even after HA restarts :) thanks for getting back to me.


added hotel website

Description
Added hotel website, my name in contributors.json.
Fixes #1
Dependencies
n/a
Future Improvements
n/a
Mentions
@Abbhiishek
Screenshots of relevant screens

Developer's checklist

[x] My PR follows the style guidelines of this project
[x] I have performed a self-check on my work

If changes are made in the code:

[x] I have followed the coding guidelines
[x] My changes in code generate no new warnings
[x] My changes are breaking another fix/feature of the project
[x] I have added test cases to show that my feature works
[x] I have added relevant screenshots in my PR

LGTM ✨


Removal of _unicodefun from the recently 8.1.0 breaks dependees

The recently released 8.1.0 seem to have removed _unicodefun. This causes dependees that expect _unicodefun to be there to break.
Any code that uses the current version of black will break. See log from our CI build below:
 Traceback (most recent call last):
  File "/root/.cache/pre-commit/repoxd97m0e9/py_env-python3/bin/black", line 8, in <module>
    sys.exit(patched_main())
  File "/root/.cache/pre-commit/repoxd97m0e9/py_env-python3/lib/python3.10/site-packages/black/__init__.py", line 1423, in patched_main
    patch_click()
  File "/root/.cache/pre-commit/repoxd97m0e9/py_env-python3/lib/python3.10/site-packages/black/__init__.py", line 1409, in patch_click
    from click import _unicodefun
ImportError: cannot import name '_unicodefun' from 'click' (/root/.cache/pre-commit/repoxd97m0e9/py_env-python3/lib/python3.10/site-packages/click/__init__.py)

Also this issue on distributed is caused by the same bug.
Going from 8.0.4 to 8.1.0 being a minor release upgrade, I expect _unicodefun to be there.
Environment:

Python version: 3.10
Click version: 8.1.0

This also breaks spaCy (#10564).

Codespell is also affected.

_unicodefun was removed here https://github.com/pallets/click/commit/0ccada0e64dbb42eecea8386b5e4e41146b9b0f6 due to #2198 see:
https://github.com/pallets/click/blob/f467dd3aefc3f01563e20e649d0d3c3ba978325e/CHANGES.rst#L24-L26

Duplicate of https://github.com/pallets/click/issues/2225


Modules fail to be used from the terraform folder in account customisations

Hi,
Is it possible to use modules within the account customisations stage? Whenever we try to call them from the file (e.g. ../../module/ssm) the pipeline fails stating it cannot see a module. Outside of AFT this terraform works.
Kind regards,
Chris

@ChrisMusgrove thank you for reaching out.
Please may you elaborate and provide more information on your specific implementation, and which pipeline and stage you are facing the issue so that we could try to reproduce it on our side.
Also, please find the AWS documentation for implementation of account customization for reference.

Feel free to get back to us with more information here @ChrisMusgrove, going to close this issue in the mean time.


Support of recursive and circular references

Is your feature request related to a problem? Please describe.
References to schemas that have not been processed yet are not supported now. See the example.
Describe the solution you'd like
I suggest to add models that are referenced without properties. And fill in the properties later. This adds the ability to refer to schemas that have not been processed yet.
Describe alternatives you've considered
Also it may also be easier to create all models without properties first, then add properties with second pass.
Additional context
Example OpenAPI:
openapi: 3.0.3
info:
  title: 'Example'
  version: 0.1.0
servers:
  - url: 'http://example.com'
paths:
  '/foo':
    delete:
      responses:
        '200':
          description: OK
components:
  schemas:
    Brother:
      type: object
      properties:
        sister:
          $ref: '#/components/schemas/Sister'
    Sister:
      type: object
      properties:
        brother:
          $ref: '#/components/schemas/Brother'

Generator produces warnings and models package is empty.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/Sister')

Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/Brother')

I expect the generated models for Brother and Sister. Something like:
# models/brother.py
class Brother:
    sister: Union[Unset, Sister] = UNSET

# models/sister.py
class Sister:
    brother: Union[Unset, Brother] = UNSET

This would be great!
I want to use openapi-python-client, but this issue is a blocker.
I'll keep an eye on https://github.com/openapi-generators/openapi-python-client/pull/467...

Hello! The branch #467 does not work and I do not plan to finish it. Instead, I wrote another one that allows you to generate a client that supports circular, recursive references and inheritance in allOf cases . But it is of low quality, contains third-party bugs. Please PM if you need such a code. I don’t want to publish it because it’s bad. I don’t have time to refactor it. I think it’s the right idea, some things in model generation have to be redesigned to make it clear and high quality with support circular references + inheritance.
By the way, I think it is better to use pydantic in models generation as it is done in datamodel-code-generator it looks cleaner. Also
I don’t really like to put the classes in one module, but it also lets not write a bunch of ugly local try ... except ... in case with circular references.
For my OpenAPI, I got a lot of local pieces like,
        try:
            from ..models import user as user_m
            # ... 15 lines
        except ImportError:
            import sys

            user_m = sys.modules[__package__ + "user"]
            # ... 15 lines

A note for the eventual fix of this, I've added an explicit check and warning to reduce user confusion when this issue presents itself in #519 which should be removed once this is supported.

What release is this scheduled to go into? when will that release goout? and what can I do to help? as this is a feature I need.

I am not sure how you usually work but is it possible to create a branch with the code changes that have been made then I could then add some test schemas and code along with any other  changes that may be required

I am not sure how you usually work but is it possible to create a branch with the code changes that have been made then I could then add some test schemas and code along with any other changes that may be required

@penske-file If you have GitHub cli and have cloned the openapi-generators/openapi-python-client repo, you can use this command to checkout the PR branch:
gh pr checkout 582

@maz808 @penske-file @dbanty

openapi: 3.0.3
info:
  title: 'Example'
  version: 0.1.0
servers:
  - url: 'http://example.com'
paths:
  '/foo':
    delete:
      responses:
        '200':
          description: OK
components:
  schemas:
    Brother:
      type: object
      properties:
        sister:
          $ref: '#/components/schemas/Sister'
    Sister:
      type: object
      properties:
        brother:
          $ref: '#/components/schemas/Brother'

I think this is related to an issue that I ran into. If it is helpful to anybody, I found that modifying the example as follows results in an error-free generation-
openapi: 3.0.3
info:
  title: 'WorkingExample'
  version: 0.1.0
servers:
  - url: 'http://example.com'
paths:
  '/foo':
    delete:
      responses:
        '200':
          description: OK
components:
  schemas:
    Brother:
      type: object
      properties:
        sister:
          schema:
            $ref: '#/components/schemas/Sister'
    Sister:
      type: object
      properties:
        brother:
          schema:
            $ref: '#/components/schemas/Brother'

@ayemiller As far as I'm aware, the second example you've given isn't valid OpenAPI spec. The schema keyword isn't meant to be used in that context. If it's not throwing errors, that may be indicative of another issue.

Here I just wanted to add that instead of pydantic, the use of attrs (modern interface) and especially cattrs (for structuring/unstructuring) could be really good. There is a lot of stuff now in attrs and cattrs that overall is more flexible than pydantic.

Closed by #670 🥳


CCTouch.StartLocation has correct value after constructor

It fixes issue #193

Why it is still opened?

hey Kalita
We will take a look at it.  Thank you for the PR.


AD Support (Contd.)

@YingboMa

This isn't the correct fix. It's go with Chris' idea of using a hybrid approach of using Falsi and Bisection together.


Update osc2_scenario_configuration.py

Description
Updated file srunner/scenarioconfigs/osc2_scenario_configuration.py to fix the following error, obtained when running scenario_runner.py with the --openscenario2 parameter and any of the OpenScenario v2 example scenarios in srunner/examples :
Preparing scenario: srunner/examples/*.osc
The scenario cannot be loaded
Traceback (most recent call last):
  File "scenario_runner.py", line 400, in _load_and_run_scenario
    scenario = OSC2Scenario(world=self.world,
  File "scenario_runner/srunner/scenarios/osc2_scenario.py", line 466, in __init__
    super(OSC2Scenario, self).__init__(
  File "/scenario_runner/srunner/scenarios/basic_scenario.py", line 50, in __init__
    self.route_mode = bool(config.route)
AttributeError: 'OSC2ScenarioConfiguration' object has no attribute 'route'
'OSC2ScenarioConfiguration' object has no attribute 'route'
No more scenarios .... Exiting
Added a call to the init method of the super class to OSC2ScenarioConfiguration.
Where has this been tested?

Platform(s): Ubuntu 20.04.6 LTS
Python version(s): Python 3.8.18
Unreal Engine version(s): 4.26
CARLA version: 0.9.15

This change is

@glopezdiest please review.

Agreed, with the introduction of the Leaderboard 2.0, the route_mode was added, which broke OSC scenarios


Revert changes to duel parsing logic in Opta deserializer

This pull request reverts the changes to the duel parsing logic in the Opta deserializer that were introduced in #242, awaiting the implementation of the proposal that is being discussed in #257.

@probberechts @DriesDeprest Could you please have a look? Thanks!

This is ok for me 👍


Graph links in tip messages to populate the url address bar

Is your feature request related to a problem? Please describe.
Once a tip message is displayed, the url described in the message can be made clickable and once clicked, it can be the url displayed on the url editor
Describe the solution you'd like
Clicking the link provided sets it as a sample query
Describe alternatives you've considered
Leaving it as is and letting the user copy the link and paste it themselves
AB#6125

can you describe the problem a little clearer.


ROS dependencies have changed

To enable the saving of ROS .bag files on linux via the manual installation, the dependencies have changed and the third party ROS package and should be updated appropriately.

ROS used to install with
sudo dnf install gcc-c++ python-rosdep python3-rosinstall_generator python-wstool python-rosinstall @buildsys-build
Now it installs with
sudo dnf install gcc-c++ python3-rosdep python3-rosinstall_generator python3-vcstool @buildsys-build

the key package is python3-vcstool (aka vcstool) instead of python-wstool
This has affected the librealsense install for .01+ versions.

I suspect it is the root of issues for Windows users as well.

Hi @3dsf   Thanks very much for your report.  I will tag @doronhi the RealSense ROS wrapper developer into this discussion to highlight your message.

Hi @doronhi   Can you take a look at the question of @3dsf above please?  Thanks!

@doronhi   Could you comment on the question in this case please?  Thanks very much!

Hi @doronhi Can you take a look at the question of @3dsf above please? Thanks!

I should probably clarify that this issue was experienced in realsense-viewer, thought I would suspect it would be problematic elsewhere.
5.11.8-200.fc33.x86_64
After installing  vcstool the issues were resolved, thought I don't know if required a rebuild, but I probably did that.

Thanks very much @3dsf for sharing the details of the solution that worked for you!

The issue still exists, though my install was working when I first made the post, and I was sharing the issue/solution.
I had been having issues with recording .bag files for a good while.  .bag files are ROS, so looked around to see if something had changed there recently, and then shared what I had found when it fixed my problem.
I mostly issued the update to clarify that this happened with realsense-viewer.

Case closed due to solution achieved.


[FR] Disable fit width when a page link to a pdf is clicked

Describe your request
I am working in a specific zoom level in the pdf editor, and the zoom level should not be changed when clicking on links to pdf page in the annotation file.
If I set a custom zoom level in my pdf (for example with the pdf++ shortcuts for zoom), the checkmark for "fit width" disappears. That's what I want, because I am working in this zoom level with this PDF file.
But when I am clicking on a page link (from the annotation file for example) my zoom level is gone, because "fit width" is active again.
I saw only a zoom to fit toggle option in the settings for rectangle annotations, but not for regular annotations?
I would be glad I you could introduce an option to disable this fit with activation when clicking on links.

I saw only a zoom to fit toggle option in the settings for rectangle annotations, but not for regular annotations?

Rectangular selection is what I built all from scratch by myself, but text selection/annotation links are made by the Obsidian core so things are a bit different.
I'll take a look at whether I can change the default bahaivor

Great, thanks.

These new options will be available from the next version.

Thank you for this addition!


Add to_array/to_tensor

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (92ad74e) 100.00% compared to head (8453499) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #284   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           95        95
  Lines         3230      3244   +14
  Branches       255       259    +4
=========================================
+ Hits          3230      3244   +14

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Placing a structure over trees / cacti / demon alters may cause the game to freeze forever

The reason this is happening is because the trees are being destroyed incorrectly.
If a tree trunk tile is destroyed leaving the branch tiles suspended in air, then the game will freeze forever.
I need to figure out how to destroy the tree branches first then the tree trunks. Or ideally it would be great if the whole tree could just be destroyed in one game frame.
I have tried again and again to solve this with no luck.
I am at my wits end here. I will be very grateful if someone can solve this issue for me!
Once this issue is resolved I'll be focusing on adding more structures to the mod and proceduraly generated boss arenas. But as it stands right now I don't want to do that with this game breaking issue.

Placing a small house on top of a dungeon freezes the game forever. Not sure if this happens every time, have not tested.


Removal of outdated packages with out paccache

Thank you for this wonderful tool!
I'm using https://github.com/docker-flexo/docker-flexo which is based on debian, and I'm hosting it on an ubuntu sever.
Furthermore I'm using a named docker-compose volume to store the cache like so
  flexo:
    restart: ${RESTART-unless-stopped}
    image: nroi/flexo
    container_name: flexo
    volumes:
      - flexo-cache:/var/cache/flexo

All this put together makes it a challenge to run paccache -r. Currently the best solution is to spin up a temporary docker container using the archlinux image, mount the named volume, and run the command in the README using paccache -r.
While this works it would be nice if flexo would prune old packages on its own with out the use of paccache -r.
Is this in scope?

Thank you for your feedback!
I understand that using paccache is not ideal when Flexo runs inside docker, but I would like to avoid duplicating the functionality of paccache inside Flexo.
One way to allow Flexo to purge outdated packages would be the following:

Flexo provides two new HTTP endpoints: one GET endpoint to fetch a list of package names that are currently cached by Flexo, and another POST endpoint where Flexo receives a list of file names.
An ArchLinux client can then fetch the list of all cached packages, run paccache against this list to obtain all files that can be purged, and then POST the result to Flexo.
Flexo receives this result and removes all files included in this POST request (of course, for security reasons, Flexo will make sure that no files outside the cache directory can be deleted, so you won't be table to use that POST request to delete sensitive files).

With this approach, the entire logic on how and when to purge packages resides on the client-side. I would then provide a new package on AUR that includes a small script (probably python) that does all this (i.e., running paccache and sending the HTTP GET and POST requests).
The downside is that you would need to install an additional package on one of your clients, and you would now have to maintain two configuration files for Flexo: One configuration file for the Flexo server (the existing TOML file), and an additional config file on a client. The client-side config file includes the host name of the Flexo server.
Is this something you would use, or would you consider this even more inconvenient than your current "archlinux inside docker" approach?
If you (or anyone else) has any other ideas or thoughts on this, feel free to add them.

Thank you for your feedback!
I understand that using paccache is not ideal when Flexo runs inside docker, but I would like to avoid duplicating the functionality of paccache inside Flexo.
One way to allow Flexo to purge outdated packages would be the following:

Flexo provides two new HTTP endpoints: one GET endpoint to fetch a list of package names that are currently cached by Flexo, and another POST endpoint where Flexo receives a list of file names.
An ArchLinux client can then fetch the list of all cached packages, run paccache against this list to obtain all files that can be purged, and then POST the result to Flexo.
Flexo receives this result and removes all files included in this POST request (of course, for security reasons, Flexo will make sure that no files outside the cache directory can be deleted, so you won't be table to use that POST request to delete sensitive files).

With this approach, the entire logic on how and when to purge packages resides on the client-side. I would then provide a new package on AUR that includes a small script (probably python) that does all this (i.e., running paccache and sending the HTTP GET and POST requests).
The downside is that you would need to install an additional package on one of your clients, and you would now have to maintain two configuration files for Flexo: One configuration file for the Flexo server (the existing TOML file), and an additional config file on a client. The client-side config file includes the host name of the Flexo server.
Is this something you would use, or would you consider this even more inconvenient than your current "archlinux inside docker" approach?
If you (or anyone else) has any other ideas or thoughts on this, feel free to add them.

Is this something you would use, or would you consider this even more inconvenient than your current "archlinux inside docker" approach?

To be entirely honest, no I wouldn't use that and would continue to just spin up a temporary docker container.
I would ask you to consider the viewpoint of a consumer of this tool: By default this tool will never purge cached packages with out manual intervention. For a tool that manages a cache, a consumer might expect purging expired caches to be built in. Imagine a CDN with no expiration policy requiring manual intervention.

With this approach, the entire logic on how and when to purge packages resides on the client-side. I would then provide a new package on AUR that includes a small script (probably python) that does all this (i.e., running paccache and sending the HTTP GET and POST requests).

I absolutely understand the desire to not duplicate functionality of an existing tool, and I obviously don't understand the architecture of this tool you have created. However your suggestion seems a great deal more complex than to implement pacsort and delete the results older than a configured set (with a sane value set by default). The actual paccache utility is quite simple (compared to pacsort) and feels simpler than extra HTTP endpoints, and exposing unauthenticated REST endpoints that delete files (regardless of any security put in place to limit where it can delete)

If you (or anyone else) has any other ideas or thoughts on this, feel free to add them.

Since this is largely a problem for the docker container, and largely wouldn't be an issue for most users running it natively (it is unlikely people would be running it on metal on anything other than Arch), one other solution would be to instead base the docker image on Arch instead of debain and include pacman-contrib in the image.
This way, users of the docker container could shell into the flexo container, run a paccache command, and exit the shell.
This sidesteps the issue, but would be simpler than both other suggestions.

Is this something you would use, or would you consider this even more inconvenient than your current "archlinux inside docker" approach?

To be entirely honest, no I wouldn't use that and would continue to just spin up a temporary docker container.
I would ask you to consider the viewpoint of a consumer of this tool: By default this tool will never purge cached packages with out manual intervention. For a tool that manages a cache, a consumer might expect purging expired caches to be built in. Imagine a CDN with no expiration policy requiring manual intervention.

With this approach, the entire logic on how and when to purge packages resides on the client-side. I would then provide a new package on AUR that includes a small script (probably python) that does all this (i.e., running paccache and sending the HTTP GET and POST requests).

I absolutely understand the desire to not duplicate functionality of an existing tool, and I obviously don't understand the architecture of this tool you have created. However your suggestion seems a great deal more complex than to implement pacsort and delete the results older than a configured set (with a sane value set by default). The actual paccache utility is quite simple (compared to pacsort) and feels simpler than extra HTTP endpoints, and exposing unauthenticated REST endpoints that delete files (regardless of any security put in place to limit where it can delete)

If you (or anyone else) has any other ideas or thoughts on this, feel free to add them.

Since this is largely a problem for the docker container, and largely wouldn't be an issue for most users running it natively (it is unlikely people would be running it on metal on anything other than Arch), one other solution would be to instead base the docker image on Arch instead of debain and include pacman-contrib in the image.
This way, users of the docker container could shell into the flexo container, run a paccache command, and exit the shell.
This sidesteps the issue, but would be simpler than both other suggestions.

I decided to base the image on debian because those images are relatively small (compared to ArchLinux) and because I prefer to use a non-rolling-release distro for Docker images. With ArchLinux, errors will be much more difficult to reproduce because two subsequent docker builds will not necessarily contain the same application software versions, even if the Dockerfile hasn't changed. For example, the current docker image installs curl on Debian. With ArchLinux, it's impossible to control what version of curl is installed.
So this leaves us with the question of how to deploy some implementation of paccache on Debian. The paccache bash script itself is relatively simple, I admit, but it depends on pacman-contrib which in turn depends on libalpm from pacman. For example, version.c would also have to be reimplemented.
I'm going to look into this more closely when I find the time, but don't expect this to be solved within just a few days… If anyone wants to support me with this, this is how I would start:
Create a paccache clone in some higher-level language of your choice (NOT C or C++). This paccache-clone does not require the entire functionality of paccache, it only needs to be able to scan the filesystem and, with a parameter k, print all files that can be deleted in order to keep only the k most recent versions. This paccache-clone should build and run without any elaborate setup on the debian:buster-slim docker image, so it must not require pacman, or libalpm, or anything else that cannot be installed without difficulties on Debian.
When this paccache-clone exists, then I can modify Flexo to run this program after an HTTP GET request was served, so that after each download, all obsolete packages in the cache are purged.

I decided to base the image on debian because those images are relatively small (compared to ArchLinux) and because I prefer to use a non-rolling-release distro for Docker images. With ArchLinux, errors will be much more difficult to reproduce because two subsequent docker builds will not necessarily contain the same application software versions, even if the Dockerfile hasn't changed. For example, the current docker image installs curl on Debian. With ArchLinux, it's impossible to control what version of curl is installed.
So this leaves us with the question of how to deploy some implementation of paccache on Debian. The paccache bash script itself is relatively simple, I admit, but it depends on pacman-contrib which in turn depends on libalpm from pacman. For example, version.c would also have to be reimplemented.
I'm going to look into this more closely when I find the time, but don't expect this to be solved within just a few days… If anyone wants to support me with this, this is how I would start:
Create a paccache clone in some higher-level language of your choice (NOT C or C++). This paccache-clone does not require the entire functionality of paccache, it only needs to be able to scan the filesystem and, with a parameter k, print all files that can be deleted in order to keep only the k most recent versions. This paccache-clone should build and run without any elaborate setup on the debian:buster-slim docker image, so it must not require pacman, or libalpm, or anything else that cannot be installed without difficulties on Debian.
When this paccache-clone exists, then I can modify Flexo to run this program after an HTTP GET request was served, so that after each download, all obsolete packages in the cache are purged.

In the mean time, I've created an Archlinux based image that uses cronie and s6 to clean the cache weekly (the corn tab is configurable). It is a great deal larger than the image provided at nori/docker-flexo (~550mb compared to ~50mb) so if that is a concern please do consider it.
https://github.com/chrishoage/docker-arch-flexo

In the mean time, I've created an Archlinux based image that uses cronie and s6 to clean the cache weekly (the corn tab is configurable). It is a great deal larger than the image provided at nori/docker-flexo (~550mb compared to ~50mb) so if that is a concern please do consider it.
https://github.com/chrishoage/docker-arch-flexo

I've just released a first version of Scruffy, it's basically an alternative to paccache that does not require pacman/libalpm. It just has the relevant bits of C-code copied from pacman. I've decided that this is more sensible than a complete reimplementation of alpm_pkg_vercmp because the code includes a lot of pointer arithmetic which cannot be translated into idiomatic Rust.
I'm going to see how to integrate Scruffy into Flexo's debian image so that Docker users can have the cache cleaned regularly.

I've just released a first version of Scruffy, it's basically an alternative to paccache that does not require pacman/libalpm. It just has the relevant bits of C-code copied from pacman. I've decided that this is more sensible than a complete reimplementation of alpm_pkg_vercmp because the code includes a lot of pointer arithmetic which cannot be translated into idiomatic Rust.
I'm going to see how to integrate Scruffy into Flexo's debian image so that Docker users can have the cache cleaned regularly.

This feature is now available with Flexo version 1.2.2.
If you use Docker, make sure that the Docker image is tagged with a version of 1.2.2 or higher. The default behavior is to keep 3 versions. If you want to change this, set the FLEXO_NUM_VERSIONS_RETAIN environment variable.
If you have installed Flexo locally, adapt your /etc/flexo/flexo.toml file by including the num_versions_retain setting. Check the example config for more details.


Send diagnostic to Apple and Third Parties, a risk?

Is there any risk by allowing these options in Syst. Prefs - Security - Confidential: ~
o send diagnostic data to Apple
o share with third party app developers
What's your opinion?
Data are sent, some might be giving a lot of details, are they even encrypted?

@TraderStf I always turn this off (if you turn it off, if already activated, you need to reboot your computer). It sends different logs back to Apple (crash logs and so on) with SSL.
However, there is discussions on Apple Forums that this wont stop even if turned off. But it seems the reports is regarding older OS X versions. I have not seen it or encountered this behaviour in OS X 10.11 (15A284) or in Yosemite (as far as i know).
There is a excellent write up about this topic at https://github.com/fix-macosx/fix-macosx/wiki/Diagnostics-&-Usage-Data
But my opinion is to turn this off completely, as more active processes running = less security (even if my concern is about privacy in this case, even if most logs sent is nothing to be worried about, there is a added risk). If you encounter a bug or crash that you want to report to Apple or a 3rd party. Just send the crashlog manually (creating a ticket on a bugtracker or a submission on Apple Bug Reporter on the web). That way you can have more control what's being sent to some extent.
But i'm sure there are others that has more knowledge about this than me (not really my area).

@christopheranderton thanks for your comments.
For me this kind of 'reports' contain too much information to let it go you-dont-know-where/and-how.
name, directories, apps, ip... what else... george clooney or...
But it does not seems this subject interests others.


Unable to reproduce results for spacetimeformer

I am using the following command that is provided by this repo (only difference is the batch_size)
python train.py spacetimeformer solar_energy --context_points 168 --target_points 24 --d_model 100 --d_ff 400 --enc_layers 5 --dec_layers 5 --l2_coeff 1e-3 --dropout_ff .2 --dropout_emb .1 --d_qk 20 --d_v 20 --n_heads 6 --run_name spatiotemporal_al_solar --batch_size 3 --class_loss_imp 0 --initial_downsample_convs 1 --decay_factor .8 --warmup_steps 1000
I am getting the following results (where as I am expecting MSE: ~7.75):
test/acc                   -1.0
test/class_loss                0.0
test/forecast_loss       0.08704246580600739
test/loss           0.08704246580600739
test/mae            1.7290080221756612
test/mape            21375719.51865129
test/mse             9.604532779042728
test/norm_mae         0.1794128092716004
test/norm_mse         0.0870416207133817
test/recon_loss               -1.0
test/smape           1.4066449396255207

Thanks, that works for spacetimeformer model.
I am not able to find the right commands to replicate the other results for lstm, lstnet etc. Are you able to provide that as well?

I used the same command and with GPUs set -
python train.py spacetimeformer solar_energy --context_points 168 --target_points 24 --d_model 100 --d_ff 400 --enc_layers 5 --dec_layers 5 --l2_coeff 1e-3 --dropout_ff .2 --dropout_emb .1 --d_qk 20 --d_v 20 --n_heads 6 --run_name spatiotemporal_al_solar --batch_size 32 --class_loss_imp 0 --initial_downsample_convs 1 --decay_factor .8 --warmup_steps 1000 --gpus 0 1, and still see the MSE at ~9. Were there any other changes that you had to do?
test/acc : -1.0
test/class_loss : 0.0
test/forecast_loss : 0.08345500379800797
test/loss : 0.08345500379800797
test/mae : 1.7061005777056486
test/mape : 20300980.869295612
test/mse : 9.204660098343183
test/norm_mae : 0.17708396412653812
test/norm_mse : 0.08345417754154151
test/recon_loss : -1.0
test/smape  : 1.403714211316733


Align response/request format of logprobs for OpenAI completion API

Description

Update top_logprobs limit for chat completion. it was shifted from 5 to 20 in OpenAI
Align response/request format of logprobs for OpenAI completion API
add test for completion with invalid logprobs

cc @tqchen


TensorFlow2IR

Platform (CentOS 6.6):
Python version:2.7.14
Source framework with version (like Tensorflow 1.6.1 with GPU):
Pre-trained model path (own):
Running scripts:
python -m mmdnn.conversion._script.convertToIR -f tensorflow -d resnet101 -n tests/resnet_v1_101.ckpt.meta --dstNodeName muli_predictions

The last second lay of the net must be "dropout"?

Hi @zhurb88, In our test set tensorflow models, the RealDiv is only used in dropout layers. It is easy to implement the parser for other cases but we don't have model to test the correctness. Could you provide some?

It‘s a opensource. https://storage.googleapis.com/openimages/2017_07/oidv2-resnet_v1_101.ckpt.tar.gz.

@zhurb88
I used mmvismeta (if not familiar, one can refer to Tensorflow Readme ) to visualize the model.

The point is that the model contains preprocessing of image inside the check point. However, MMdnn only converts the neural net part without loss of generality. I think the preprocessing might be similar to Open image classify file. You may take it as a reference if converted to other framework.

Here is one practical way to convert the main body of the model to IR.
I truncate the original graph into the subgraph. Choosing the map/TensorArrayStack/TensorArrayGatherV3 as the input, and resnet_v1_101/logits/BiasAdd as the output.


Unary ObjectTable for RefCounter

Rather than storing the count, we use an entry per reference. This
means it is very quick to add a reference, we simple put the object
in the next slot of the array.
Releasing a reference, is a little harder, we scan the array looking
for the entry, once we find it we can collapse the list into a
condensed form, by moving the first element into the gap, and nudging
the first up.
The API has changed to only return a bool for whether a reference
exists or not. We don't care how many references there are. This means
we can short cut several searchs as soon as we find something.

Hi @mjp41, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

@KrzysztofCwalina I've modified #1047.  Assuming, we don't have many references to the same object from a single thread, this looks to be about 50% faster.

@mjp41, do you have any benchmark results showing the impact of the change?

@KrzysztofCwalina,  Nothing very comprehensive yet. I just used the Slices.Tests, I made the two thread example you have in the test harness, and increased the runs by 100x. That test, took 2.8 seconds with the original code, and 2 seconds with the new code. So the original code was 40% slower (not 50% like I said in my earlier comment).
I'll try to perform more comprehensive benchmarking tonight.

@mjp41, I ran the program/benchmark below and got the following results:
Interlocked                30594ms
ReferenceCounter         320ms
ReferenceCounterPR    493ms
I would prefer to use BenchmarkDotNet, but it seems to have problems with the thread static field.
class Benchmark
{
    static Stopwatch watch = new Stopwatch();
    public static void Run()
    {
        int itterations = 10000000;
        int threads = 20;

        // warmup
        StopwatchBenchInterlocked(true, 1, 2);
        StopwatchBenchInterlocked(false, itterations, threads);

        // warmup
        StopwatchBenchReferenceCounter(true, 1, 2);
        StopwatchBenchReferenceCounter(false, itterations, threads);

        // warmup
        StopwatchBenchReferenceCounter2(true, 1, 2);
        StopwatchBenchReferenceCounter2(false, itterations, threads);

        Console.ReadLine();
    }

    static void StopwatchBenchReferenceCounter(bool warmup, int itterations, int threads)
    {
        watch.Restart();
        var counter = new ReferenceCounter();
        var obj = new object();
        var tasks = new List<Task>(threads);
        for (int i = 0; i < threads; i++)
        {
            tasks.Add(Task.Run(() => {
                for (int itteration = 0; itteration < itterations; itteration++)
                {
                    counter.AddReference(obj);
                    counter.Release(obj);
                }
            }));
        }

        Task.WaitAll(tasks.ToArray());
        if (!warmup) Console.WriteLine("ReferenceCounter {0}ms", watch.ElapsedMilliseconds);
        if (counter.GetGlobalCount(obj) != 0)
        {
            throw new Exception();
        }
    }
 ...

If, I AddRef/Release more than once (20 times, increments == 20), the results are a wash:
ReferenceCounterPR 2998ms
ReferenceCounter 2982ms
static void StopwatchBenchReferenceCounter(int itterations, int increments, int threads, bool warmup)
    {
        watch.Restart();
        var counter = new ReferenceCounter();
        var obj = new object();
        var tasks = new List<Task>(threads);
        for (int i = 0; i < threads; i++)
        {
            tasks.Add(Task.Run(() => {
                for (int itteration = 0; itteration < itterations; itteration++)
                {
                    for (int increment=0; increment < increments; increment++) counter.AddReference(obj);
                    for (int increment = 0; increment < increments; increment++) counter.Release(obj);
                }
            }));
        }

        Task.WaitAll(tasks.ToArray());
        if (!warmup) Console.WriteLine("ReferenceCounter {0}ms", watch.ElapsedMilliseconds);
        if (counter.GetGlobalCount(obj) != 0)
        {
            throw new Exception();
        }
    }

I also did one object per thread and one object per all threads runs:
**** One Object ****
Interlocked      3127ms
ReferenceCounterPR 29ms
ReferenceCounter 29ms
**** Object Per Thread ****
Interlocked      1469ms
ReferenceCounterPR 29ms
ReferenceCounter 28ms
And the test "template":
    static void StopwatchBenchReferenceCounter(int itterations, int increments, int threads, bool objectPerThread, bool warmup)
    {
        watch.Restart();
        var counter = new ReferenceCounter();
        var obj = new object();
        var tasks = new List<Task>(threads);
        for (int i = 0; i < threads; i++)
        {
            tasks.Add(Task.Run(() => {
                var threadObject = objectPerThread ? new object() : obj;
                for (int itteration = 0; itteration < itterations; itteration++)
                {
                    for (int increment=0; increment < increments; increment++) counter.AddReference(threadObject);
                    for (int increment = 0; increment < increments; increment++) counter.Release(threadObject);
                }
            }));
        }

        Task.WaitAll(tasks.ToArray());
        if (!warmup) Console.WriteLine("ReferenceCounter {0}ms", watch.ElapsedMilliseconds);
        if (counter.GetGlobalCount(obj) != 0)
        {
            throw new Exception();
        }
    }

cc: @jkotas, @vancem

@krzysztofCwalina, thanks for the benchmark.  I realized my earlier runs were with Debug build :(.  This might explain the difference in performance,
Removing the Volatile.Writes improves performance, but I am concerned the compiler could perform to many reorderings if I do that.
Do you think the single object scenario is the common one? What else would be required for ASP?  I was planning to benchmark multiple objects with scoped lifetimes.

Do you think the single object scenario is the common one? What else would be required for ASP? I was planning to benchmark multiple objects with scoped lifetimes.

Yeah, let me try to improve the benchmark to simulate multiple objects per thread.

I added the ability to run it with multiple objects being refcounted.
Here is the new code:
 static void StopwatchBenchReferenceCounter(int itterations, int increments, int threads, int objectsPerThread, bool warmup)
    {
        watch.Restart();
        var counter = new ReferenceCounter();
        var singleton = new object();
        var tasks = new List<Task>(threads);
        for (int i = 0; i < threads; i++)
        {
            tasks.Add(Task.Run(() => {
                object[] objects = CreateObjectArray(objectsPerThread, singleton);

                for (int itteration = 0; itteration < itterations; itteration++)
                {
                    for (int increment = 0; increment < increments; increment++)
                    {
                        for (int objectIndex = 0; objectIndex < objects.Length; objectIndex++)
                        {
                            counter.AddReference(objects[objectIndex]);
                        }
                    }
                    for (int increment = 0; increment < increments; increment++)
                    {
                        for (int objectIndex = 0; objectIndex < objects.Length; objectIndex++)
                        {
                            counter.Release(objects[objectIndex]);
                        }
                    }
                }
            }));
        }

        Task.WaitAll(tasks.ToArray());
        if (!warmup) Console.WriteLine("ReferenceCounter {0}ms", watch.ElapsedMilliseconds);
    }

I would prefer to use BenchmarkDotNet, but it seems to have problems with the thread static field.

@KrzysztofCwalina Is a gist available of the BenchmarkDotNet code (that didn't work)? I'll can take a look and see what needs to be fixed in BenchmarkDotNet to make it work

@KrzysztofCwalina, Re:Interlocked.  if most of the use cases are single threaded access to a memory, then it might be more sensible to use an Interlocked approach.
It looks like the distributed reference counting would be more predicable in performance, which may be worth the additional cost in the single threaded scenario.

I have run a version of the benchmark @KrzysztofCwalina posted above.
RefCounter	RefCounterPR	Diff		incs	threads	objects	stack
26.51538846	21.95148873	4.563899728	1	1	1	False
50.48577471	44.98663581	5.499138898	2	1	1	False
273.4114092<PHONE_NUMBER>	27.14564427	10	1	1	False
51.60448573	46.41327265	5.191213083	1	4	1	False
97.97350931	87.30230329	10.67120603	2	4	1	False
563.5884138<PHONE_NUMBER>	92.96811243	10	4	1	False
126.39318<PHONE_NUMBER>	4.333854646	1	10	1	False
241.5870796<PHONE_NUMBER>	26.00601381	2	10	1	False
1391.242897	1089.52205<PHONE_NUMBER>	10	10	1	False
47.36275391	35.17149372	12.19126018	1	1	2	False
85.16737003	71.83364905	13.33372098	2	1	2	False
416.6588034<PHONE_NUMBER>	55.08002398	10	1	2	False
76.46031448	66.24595719	10.21435729	1	4	2	False
135.9384363<PHONE_NUMBER>	4.126635862	2	4	2	False
696.7416486<PHONE_NUMBER>	42.21060177	10	4	2	False
211.3519516<PHONE_NUMBER>	42.98269025	1	10	2	False
396.7915127<PHONE_NUMBER>	61.42139134	2	10	2	False
1720.556606	1689.982105	30.57450126	10	10	2	False
300.659857<PHONE_NUMBER><PHONE_NUMBER>	1	1	10	False
593.3997575<PHONE_NUMBER><PHONE_NUMBER>	2	1	10	False
2714.165427	1259.078412	1455.087015	10	1	10	False
484.9252464<PHONE_NUMBER><PHONE_NUMBER>	1	4	10	False
979.7013509<PHONE_NUMBER><PHONE_NUMBER>	2	4	10	False
4370.204714	2185.218272	2184.986442	10	4	10	False
1318.177902<PHONE_NUMBER><PHONE_NUMBER>	1	10	10	False
2526.928925	1175.490482	1351.438442	2	10	10	False
11138.29714	5506.949202	5631.347937	10	10	10	False
27.2467548	22.5438799	4.702874899	1	1	1	True
55.18775111	43.36224424	11.82550687	2	1	1	True
284.1731729<PHONE_NUMBER>	46.6203346	10	1	1	True
56.95177207	43.47652363	13.47524844	1	4	1	True
101.5980198	89.14550185	12.45251793	2	4	1	True
478.6905373<PHONE_NUMBER>	28.50380894	10	4	1	True
126.088886<PHONE_NUMBER>	12.98816639	1	10	1	True
289.6904143<PHONE_NUMBER>	77.34908261	2	10	1	True
1244.81146	1142.767871<PHONE_NUMBER>	10	10	1	True
47.23749343	31.0519026	16.18559084	1	1	2	True
83.60352696	60.58059219	23.02293477	2	1	2	True
417.534439<PHONE_NUMBER>	90.36941416	10	1	2	True
76.4498778	65.74343057	10.70644724	1	4	2	True
139.1053955<PHONE_NUMBER>	18.25255884	2	4	2	True
687.8645131<PHONE_NUMBER>	85.12197867	10	4	2	True
196.0739761<PHONE_NUMBER>	44.48065459	1	10	2	True
372.4552653<PHONE_NUMBER>	66.53584688	2	10	2	True
1755.234261	1474.5328<PHONE_NUMBER>	10	10	2	True
291.5802506	88.27709183<PHONE_NUMBER>	1	1	10	True
563.2808077<PHONE_NUMBER><PHONE_NUMBER>	2	1	10	True
2644.090046<PHONE_NUMBER>	1726.048849	10	1	10	True
464.0785436<PHONE_NUMBER><PHONE_NUMBER>	1	4	10	True
894.0096645<PHONE_NUMBER><PHONE_NUMBER>	2	4	10	True
4600.134236	1635.589957	2964.544279	10	4	10	True
1236.103578<PHONE_NUMBER><PHONE_NUMBER>	1	10	10	True
2254.885542<PHONE_NUMBER>	1451.41133	2	10	10	True
10563.52518	4102.270033	6461.255148	10	10	10	True

On my machine it shows wins across the board. Stack indicates if the release is FIFO or LIFO.

Sounds good. Let's merge it.
Thanks!


implemented .wav converter

Implemented a first simple .wav to SigMF converter. Currently, the left and right channels are embedded in a complex float 32, so the SigMF file has only one channel.

I added an integration test that goes through all the steps of uploading/downloading, it verifies the name of the downloaded file but unfortunately I couldn't figure out how to get it to verify the contents of the zip, which would be nice because if the backend conversion fails it seems to provide an empty/invalid zip file.

Nice!  Anything else you wanted to do before merging this guy?

Awesome it should show up on staging.iqengine.org in ~5 mins


Creating a lot of serviceTask workers with HandlerThreads > 1 slows down loading workflow BPMNs

Describe the bug
We use the new feature which allows setting the HandlerThread count. However, it seems that the client does not use proper task handling features of C#, but instead reserves a task for every HandlerThread required. That in turn slows down loading of BPMNs (NewDeployCommand) to being nearly unusable.
To Reproduce
Steps to reproduce the behavior:

Create some ServiceTasks, set HandlerThreads to a reasonable big value
Load a BPMN using NewDeployCommand()
Measure the time it takes to load the workflow and get the result

Expected behavior
Should be as fast as in version 0.16.1
Enviroment (please complete the following information):

OS: Windows
Version 0.17.0

Additional context
My measurements for loading workflows:

In 0.16.1: < 1 second for 8 workflows
In 0.17.0 with 10 ServiceTasks with 1 HandlerThread: 4 seconds
In 0.17.0 with 10 ServiceTasks with 2 HandlerThread: 13 seconds
In 0.17.0 with 10 ServiceTasks with 3 HandlerThread: 23 seconds

Hey @MrRickwi
thanks for reporting that.
I'm not 100% sure whether I get the issue.
Are you saying that the response of the deployment takes longer? Have you some example code to reproduce this?
Greets
Chris

Yes, the response takes way longer. Here some code to demonstrate it. You could remove HandlerThreads and run it with 0.16.1 to see how it performs there:
`
[Test]
public void PerformanceTest()
{
for (var i = 0; i < 10; i++)
{
var worker = WorkflowEngine.Instance.NewWorker()
.JobType($"serviceTask{i}")
.Handler((client, job) => { })
.HandlerThreads(5)
.MaxJobsActive(10)
.PollInterval(TimeSpan.FromMilliseconds(100))
.Timeout(TimeSpan.FromSeconds(30))
.Open();
<EMAIL_ADDRESS>Created worker serviceTask{i}");
        }

        var workflows = WorkflowEngine.Instance.NewDeployCommand()
            .AddResourceStream(
                Assembly.GetExecutingAssembly()
                    .GetManifestResourceStream("POC.Worker.Zeebe.Tests.Workflows.Test.bpmn"),
                "Test.bpmn")
            .Send()
            .GetAwaiter()
            .GetResult();

<EMAIL_ADDRESS>Loaded workflows {JsonConvert.SerializeObject(workflows)}");
    }

`
Assume that the setup of the test sets WorkflowEngine.Instance like
            Instance = ZeebeClient.Builder()                 .UseLoggerFactory(loggerFactory ?? new NLogLoggerFactory())                 .UseGatewayAddress(gatewayAddress)                 .UsePlainText()                 .Build();
It seems that .NET task handling is massively disturbed by pre-allocating tasks - at least if they are not marked as long-running. See TaskCreationOptions for details.

For me this is kind of expected, since you put much pressure on the broker. Lets talk about your setup.
You have 10 active jobs and 5 threads, which working concurrently on them. We have an poll thread which will try to poll after 100 ms (pollInterval) if the job queue is smaller then maxActivateJobs * 0.6. In your case 6. So if you have less then 6 jobs in your active working queue it will poll again for new jobs. Since your job handler is empty this will immediately happen, so every 100 ms the job worker will poll for new jobs. This means it will send an job command to the broker. The question here is are there enough jobs to work on? If not, then normally I would expect that long polling should kick in at the gateway.
If you have enough jobs to work on then you will overload the broker with work. It then of course depends how your broker is setup up. Do you have one partition or multiple? Say if you have one partition then everything ends in one append only log, which needs to be processed by one stream processor. Responses are only send if the command is committed by consensus and processed by the stream processor. For me it makes sense that deployments can take longer if the log is longer, since you have more activation commands in between.

It is really not kind of expected: The example does not create any workflow, but only creates service tasks handlers that potentially would be able to handle 10 different service tasks, each of them in 5 threads. Nothing which should overload a broker. And the created service tasks in turn delay loading a workflow which is not expected at all.

Made a local test by replacing Task.Run(async ( ... ) => {}, cancellationToken) with Task.Factory.StartNew(async delegate { ... }, cancellationToken, TaskCreationOptions.LongRunning) in JobWorker.StartPollerThread and JobWorker.StartHandlerThreads. Works as expected, everything is fast again.

Thanks @MrRickwi I will take a look at this. Could you explain me the difference or the implications of this?

Yes: .NET throttles the creation of tasks in the thread pool if there are too much tasks created - as long as these tasks are not marked as long running. Long running tasks allow the thread pool to increase. Task.Run() is only meant for short running tasks and has not the option to mark tasks as long running. Task.Factory.StartNew is not so easy to use, but has more options.
However, I think pre-allocating tasks is not a good idea, instead the handler tasks should only be created if they are needed. I'm currently looking into the TPL (Task Parallels Library) on better handling of polling and executing with certain limits.

Thanks @MrRickwi
Yeah before I implemented that this way I also read about the Task scheduling but it felt weird to create so many tasks as activated jobs. I wanted to limit the created threads/tasks somehow and thought that it would be cool for the user to have control over it. But maybe this is done implicit via the Task scheduler then already? Tbh I'm not that experienced with the Task scheduling in .net, since I coming from Java and this is how I would do that normally there (with a Threadpool).
I'm happy for every advise and tip I can get about how it is normally done in the .net world :)
I will revise the implementation.
Thanks and Greets
Chris

Hey @MrRickwi
the latest release https://github.com/zeebe-io/zeebe-client-csharp/releases/tag/0.18.0 contains your contribution!
Thanks again :)
Greets
Chris

Thanks. Didn't answer a while because I was in holidays. Will test that next week. Greets back


[[FIX]] Miss xdescribe/xit/context/xcontext in mocha

Coverage remained the same at 94.75% when pulling 50211a6ef9d12b411f6dfea1b7ff0842cfb42351 on popomore:patch-1 into 2dc713a2eac387feb62debf5ff4f0c1fa467244a on jshint:master.

Coverage remained the same at 94.75% when pulling 8fe661018106e3534c81182effa8db1477a594e0 on popomore:patch-1 into 2dc713a2eac387feb62debf5ff4f0c1fa467244a on jshint:master.

Hey, how about this PR?


fix(TaskRun): fixed the issue where some step statuses might not be correctly updated in failed TaskRun

Previously, if the Pod cache is not updated in time, a TaskRun would be immediately marked as failed after a certain step fails. When the pod status changes to failed, the TaskRun at that time still has a completed status and will not enter the reconcile logic to update the status of each step.
Currently, TaskRun will only fail prematurely in the event of an OOM. If a specific step exits abnormally, it will wait for the Pod status to ultimately change to failed before synchronizing the status of each step.

At the same time, it also resolved the previous issue of unstable integration tests.
https://github.com/tektoncd/pipeline/pull/8236#issuecomment-2348256242
The instability in this integration test is related to another PR https://github.com/tektoncd/pipeline/pull/8171.

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] pre-commit Passed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
fix: fixed the issue where some step statuses might not be correctly updated in failed TaskRun

/kind bug

/retest


[cache] Layer caching during SBOM generation

What if cdxgen creates a cache directory to cache the output from the external commands and APIs and reuse it upon subsequent invocation (with the --enable-cache argument or default in CI environments)?

[ ] Unique key generation could be based on the hashes of the input files used (which are available as a property)
[ ] Some caching can be performed as a postgen step
[ ] In CI environments, users could load the cache in advance by utilizing the in-built caching step
[ ] We can offer commands to clear the cache

https://github.com/sindresorhus/got/blob/main/documentation/cache.md#cache


Check $DISPLAY environment variable

This ensures that the xclip or xsel commands are not used when $DISPLAY is not set

@spitsw: If you resolve the conflicts, I'll accept this PR.  😃


Only use "View published" button

last call on:

Big thumbs up from me: simpler and easier for users to understand.

LGTM


[ZeroHeight] Update the FOCUS styles in ZeroHeight based on latest definition

Based on this conversation and this PR, and this conversation
box-shadow: 0 0 0 2px rgb(var(--colors-background)), 0 0 0 4px blue;
box-shadow: 0 0 0 0 rgb(var(--colors-background)) inset, 0 0 0 2px blue inset;

[ ] button
[ ] checkbox
[ ] chips
[ ] iconButton
[ ] Input AdOns
[ ] TextLink
[ ] Modal
[ ] RadioButton
[ ] Switch
[ ] Tabs

Brand foundations need to be updated as well (Figma and ZH)

Approved and ready for publication ✅

Done ✅


window.titleBarStyle should be native by default for SR users

@jooyoungseo has said that the native style is more accessible

I am not sure I would agree here: the native menu on Windows is not accessible, and that is actually why we initially implemented our own custom menu that checks of the accessible requirements. So if we go down this path we have to really make sure that the native menu on Windows is now accessible (it is possible that Electron improved it meanwhile).
//cc @deepak1556

Electron fixed the accessibility of menus on Windows via https://github.com/electron/electron/pull/15302 which landed first in v5, @meganrogge please test and let me know if the native menu is not accessible with latest stable.

I don't have access to windows atm, but was told by @jooyoungseo that the native menu is very accessible on windows

Yes, the context menu (right-click popup) adds accelerator key at the end of each item so that keyboard-only users can quickly press that single-letter key to jump to the desired item. The Electron title bar and its context menu do not offer these accelerator keys for some reason.

Is there a way to tell if it is a SR user on startup? I would need to know by the time this runs:
https://github.com/microsoft/vscode/blob/68410e1431f9849547b67d0b38dbc76cdb4aa3c8/src/vs/workbench/electron-sandbox/desktop.contribution.ts#L233-L239
I fear that the first time we launch vscode, we will not know if it is a SR user and show the custom title bar and then the second time we launch vscode we might know and suddenly show the native title bar. This could be confusing to the user

Checking the value of editor.accessibilitySupport would indicate that. There's also the accessibilityService.isScreenReaderOptimized() check.


Issue with ModelBinding when using FromBody and FromServices attributes on the same data model in an action method

I have a issue that I have recreated in this repo
https://github.com/Rinsen/MvcModelBindingAndFromServicesIssue
It is related to service injection via FromServices on Property in a model and when I on the same Action use the FromBody attribute.
If I do it like this I get my service injected as expected
[HttpPost]
public int Example1(MyModel model)
{
      return 1;
}

But that does not give me any json data from body, so I add the FromBody attribute like this
[HttpPost]
public int Example2([FromBody]MyModel model)
{
      return 1;
}

And this gives me my data but when I add this I lose the injected service that I had before.
This is my model.
public class MyModel : IValidatableObject
{
    public int MyProperty { get; set; }

    [FromServices]
    public MyService MyService { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        MyService.ValidateMyDataInSomeWay(MyProperty);

        return Enumerable.Empty<ValidationResult>();
     }
}

What is going on here?
And I would also like to add that the Property injection with FromServices feels a bit weird, I really would like tho do it like this and inject my dependency via my constructor.
public class MyModel : IValidatableObject
{
    MyService _myService;

    public MyModel(MyService service)
    {
        _myService = service;
    }

    public int MyProperty { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        _myService.ValidateMyDataInSomeWay(MyProperty);

        return Enumerable.Empty<ValidationResult>();
    }
}

But if I do it in this way I get a "No parameterless constructor defined for this object." error.

Suspect a few separate things are happening here:

The model binding system does not use JSON input formatting by default. Explicit [FromBody] attributes are required.
JSON input formatting is an all-or-nothing process. No other binder will process a parameter or property associated with [FromBody]. In your case, the model binding system does not "see" the [FromServices] attribute.
The model binding system does not use the DI system to create model objects. Services must be added using [FromServices] (assuming [FromBody] isn't used at a higher level) or manually e.g. in the action prior to calling TryValidate(). MVC works this way for efficiency and because even [FromServices] is uncommon.

I have some questions on your'e answers :)

It is a bit strange that it is needed when the request already contains all the information for this binding type in Content-Type MIME filed, but i can live with that... and this may be related to my answer/question in number to about how the WebAPI work?

Is the reason for the difference between binding JSON data and binding form encoded data in a POST related to historical reasons, when there was a MVC and a separate WebAPI part? I think that is a bit confusing that they do not work the same way in handling data binding, and I have no opinion on what is the best way, only that I don't really like that they are not handled the same way. It is knowledge I rather not would like to have in my mind when I develop things.

Is it possible to do anything with the model before it is automatically validated? I could of course  run it through the validator again manually after adding my dependency but that for me is a lot of waste and not very efficient. And I also like the pattern where I do not have to think about how the validation is done in my Controller and the only thing I do is to check if the validation was successful.
Like this

public ReportResult Report([FromBody]TemperatureReport temperatureReport)
{
     if (ModelState.IsValid)
     {
         DoThings...
     }
}

But if I have to do it manually I lose this nice feature in the framework.

...
Yes. Previous versions of MVC would not use JSON (or XML) input formatters by default.
Suggest either:

Implement an IModelValidatorProvider to instantiate an IModelValidator with the correct service available. Don't use IValidatableObject at all. I lean toward this approach.
Move [FromBody] from the parameter to a property in your model e.g.

public class MyTopModel : IValidatableObject
{
    [FromServices]
    public MyService MyService { get; set; }

    [FromBody]
    public MyModel MyModel { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        _myService.ValidateMyDataInSomeWay(MyModel?.MyProperty);

        return Enumerable.Empty<ValidationResult>();
    }
}

public class MyModel
{
    public int MyProperty { get; set; }
}

Thanks for an awesome answer!
The first solution is a pretty cool toolbox for what i need to do and will fit like a glove in my API :+1:
And the second solution isn't that bad either, I had no idea that I could put the FROMXXXX attributes inside my model. And by doing it that way it, at least for me, makes a lot more sense to have them :)
I also updated my Repo with an fast and a bit dirty hack on the solutions if some one other than me should be interested.
And also thanks for the fast response, it is appreciated!

And I close this issue.


madvise: function not implemented

Is madvise critical to run boltdb? I am currently trying to access boltdb on an embedded device running Linux/armv7 and running into this error, madvise: function not implemented.  I would rather not recompile the kernel if I can help it.  I don't need boltdb to be "fast" just functional on this device.  Can this error be skipped/ignored?

I can confirm that ignoring that error instead of returning does allow boltdb to successfully write.  Is there any harm in ignoring this error?

Sounds like it could ignore ENOSYS explicitly -- not just any error, that would hide bugs.

You can check if CONFIG_ADVISE_SYSCALLS is set to "y" in your kernel configuration.


[HUDI-5956] Simple repair spark sql dag ui display problem

Change Logs

first: DataSet.ofRows will create new QueryExecution, which is not registered, so the dag metric will not update when job running
second: innerChildren can not be used for the sql dag, so it will contain only one node.

although fix second issue, the sql dag can not be updated by new metric in job running, because of first issue. So, we only fix first issue by register new qe id, which only contain children query.
Impact
None
Risk level (write none, low medium or high below)
None
Documentation Update
None
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

after fix, SQL will containr two QE id,which is  8 and 9

qe id 8 will not update, which is older spark plan register, and contain only one node, because inner children will not rendering

qe id 9 is use new dataSet queryExecution id to register, but it only contain children query, so this fix will not contain hudi command plan

@yihua @codope can you help review it


[FLINK-21466][table] Add SQL Client default mode value embedded

Users can use command
>./sql-client.sh
to start the sql client and don't need to add embedded.

This feature should goes into master branch. release-1.12 is a bugfix branch and shouldn't accept new features. Could you create a new pull request for master and close this?


Weather Forecast - Low Temp Displayed in Wrong units

I am using imperial units in my config.js. The current weather and high forecast shows up in Farenheit, but the low appears to be in Celsius.

I'm also using Imperial, but mine appears to be correct even though there is quite a spread between the high and the low. I compared with http://openweathermap.org/city and weather.com

Anyway you can post a shot of your weather widget? My temps are not matching up at all.

I'm in Santa Clara CA

Yeah, yours looks right. Out of curiosity, are you using lat/long or city name in config. js?
"            q: 'Colorado Springs,US',"

        q: 'Santa Clara,US',

Could be an issue with my city. I changed to Santa Clara and it came up fine. Odd.

I'm having the same issues with los angeles weather. I've tried Los Angeles,US and Los Angeles,California both give the same incorrect High/Low Temps. The really strange thing is that the current temperature seems to be spot on

If you use the openweathermap api you could check to see what the api feed sends to your mirror. If it is indeed an issue with the API, I would suggest reporting it to openweathermap.
Please let me know when I can close this issue.

Thanks. Is there a way to see the raw api data that I am receiving?

On Feb 6, 2016, at 7:58 AM, Michael Teeuw<EMAIL_ADDRESS>wrote:
If you use the openweathermap api you could check to see what the api feed sends to your mirror. If it is indeed an issue with the API, I would suggest reporting it to openweathermap.
Please let me know when I can close this issue.
—
Reply to this email directly or view it on GitHub.

You could use the browsers web inspector, or just surf to the url:
http://api.openweathermap.org/data//2.5/weather?q=Baarn%2CNetherlands&units=metric&lang=nl&APPID=YOUR_API_KEY_HERE&cnt=5

Make sure to modify the parameters in the link above.

Thanks, that url returns the current weather, are you using this for the
forecast?
This url seems to return the correct forecast.
http://api.openweathermap.org/data/2.5/forecast?id=5417598&units=imperial&appid=
&cnt=5
On Sat, Feb 6, 2016 at 10:18 AM, Michael Teeuw<EMAIL_ADDRESS>wrote:

You could use the browsers web inspector, or just surf to the url:
http://api.openweathermap.org/data//2.5/weather?q=Baarn%2CNetherlands&units=metric&lang=nl&APPID=YOUR_API_KEY_HERE&cnt=5
Make sure to modify the parameters in the link above.
—
Reply to this email directly or view it on GitHub
https://github.com/MichMich/MagicMirror/issues/78#issuecomment-180813379
.

you're right. sorry.... posted the wrong link.

Ok, so I see something.
In your code, you are using this url:
http://api.openweathermap.org/data/2.5/forecast/daily?id=5417598&units=imperial&appid=
&cnt=5
{"day":63.41,"min":31.37,"max":70.56,"night":41.77,"eve":62.76,"morn":31.37
This url returns completely different results then this url:
http://api.openweathermap.org/data/2.5/forecast?id=5417598&units=imperial&appid=
&cnt=5
{"temp":57.13,"temp_min":41.58,"temp_max":57.13,
On Sat, Feb 6, 2016 at 10:47 AM, Michael Teeuw<EMAIL_ADDRESS>wrote:

you're right. sorry.... posted the wrong link.
—
Reply to this email directly or view it on GitHub
https://github.com/MichMich/MagicMirror/issues/78#issuecomment-180819828
.

So it appears some odd rounding is happening in the code.
Here is the displayed data:

And here is the raw data:

Sun - Min is off by 3 degrees.
Mon - High is off by 2 degrees
Tue - High is off by 2 degrees.
Wed - High is off by 2 degrees.
Thu - Both Match
Fri - Both Match

@dpcarlton Sorry to say, but no... this is just rounding to one decimal place. 37.13 becomes 37.1 and 21.49 is rounded to 21.5.

You are right, sorry. When I looked at it yesterday I could have sworn it was off. No idea how I mis-read it. You can close this issue. I opened one with the api providers.

FYI, looks like you were looking at the "current" temps vs the Max temps and that was the reason for the difference.


Respect exclude & includeSourceIds

Added excludeSourceIds
Use exclude & include source ids as Array
Respect exclude & include source ids from client config
Ensure exclude & include are correctly preserved only when
the are different than the config & non empty

Test with eg. http://localhost:3000/search?disableWheelmapSource=true&excludeSourceIds=QxyZ7vAMS695Bhvii
Based on #172

Other than my comment s'all 👍🏼

@dakeyras7 can you take another look, please?


Swap deepmerge order and fix merge

Hello.
Was bumping into this issue in WSL: https://github.com/reasonml-editor/vscode-reasonml/issues/186 where Merlin wouldn't work in VSCode anymore. The problem seems to be two-fold:

The deepmerge params are in the wrong order. According to deepmerge:

merge(x, y, [options])
Merge two objects x and y deeply, returning a new merged object with the elements from both x and y.
If an element at the same key is present for both x and y, the value from y will appear in the result.

In lib/index.js:
function withDefaults(overrides) {
  return deepmerge(overrides || {}, ISettings.defaults);
}

So the defaults always win.

The overrides object doesn't have the reason top-level key so the merged data will consist of both objects. with the defaults set in {reason: {...stuff}} but my overridden settings in {...stuff}, like so:

{ codelens: { unicode: true, enabled: true },
  debounce: { linter: 500 },
  diagnostics: { tools: [ 'bsb', 'merlin' ] },
  format: { width: 100 },
  path:
   { bsb: 'bash -ic bsb',
     ocamlfind: 'bash -ic ocamlfind',
     esy: 'esy',
     env: 'env',
     ocamlmerlin: 'bash -ic ocamlmerlin',
     opam: 'bash -ic opam',
     rebuild: 'bash -ic rebuild',
     refmt: 'bash -ic refmt',
     refmterr: 'bash -ic refmterr',
     rtop: 'bash -ic rtop' },
  server: { languages: [ 'ocaml', 'reason' ] },
  reason:
   { codelens: { enabled: true, unicode: true },
     debounce: { linter: 500 },
     diagnostics: { merlinPerfLogging: false, tools: [Object] },
     format: { width: null },
     path:
      { bsb: 'bsb',
        env: 'env',
        esy: 'esy',
        ocamlfind: 'ocamlfind',
        ocamlmerlin: 'ocamlmerlin',
        opam: 'opam',
        rebuild: 'rebuild',
        refmt: 'refmt',
        refmterr: 'refmterr',
        rtop: 'rtop' },
     server: { languages: [Object] } } }

I have not worked with the code of this extension (or any other VScode extension) at all before so I'm unaware if this reason key in the overrides object used to exist?

Thanks.


Adding a container to a profile removes it from current profile

Is this expected behaviour? If I have multiple profiles, and I want containers A,B,C to be in profile X and C,D,E to be in profile Y, what happens is that container C is only in profile Y, it gets removed from X, but I really wanted it to be in both X and Y.

I suspect this is a bug. Are you using calicoctl or modifying etcd directly? If using calicoctl can you tell us the release you're using and the exact command line you used?

This is actually expected behaviour.  Only a single profile can be associated with a given endpoint.  Since each profile can contain a set of complicated rules, it is not trivial to algorithmically chain sets of rules together coming from different profiles - although this is something we are currently thinking about.
To do the behavior you're after, add tags for the profiles A and B, define a third profile C (which will be the union of profiles A and B) and add rules allowing traffic from the tags used in the profiles A and B.  Have a look at the following for more details on the data structures:
http://docs.projectcalico.org/en/latest/etcd-data-model.html
Closing the issue for now, but please re-open if you need additional information.

@robbrockbank - Actually we've just agreed to pull forward support for multiple profiles.  The data model will (shortly) support an ordered list of profiles associated with an endpoint (rather than just the single profile supported today).  Tags from the profiles will get combined into a single set.  The rules from the profiles will be appended to each other in the same order as the profiles are listed.  If none of the rules get hit for a particular packet then it will be dropped.  Otherwise the first rule that matches will be the one that is actioned.
Some folks will choose to use list of profiles in this way; others will be able to just use a single profile with smart use of tags.  But we will be giving orchestrators the flexibility so they can choose either, or mix and match as they want.

@robbrockbank @lxpollitt OK that makes sense - for the moment i'll continue using a single profile, then. i haven't done much with creating tags automatically, but that ws going to be my next improvement with the Clocker integration. Keep me posted on any changes to the way profiles work though, please

Multiple profile support will be in the felix 0.21 release (in just over a week). We will do a calico-docker release shortly after.

The latest calico-docker release includes an updated felix with profile support.  However, this function is only accessible by directly writing to etcd.
Reopening issue to cover updating the calicoctl commands to allow multiple profiles to be configured.

@robbrockbank remember to reference/close this when you make the next release.

Closing out this issue, as there is a solution provided in the 0.4.6 release.
https://github.com/Metaswitch/calico-docker/releases/tag/v0.4.6
The old "profile member add" has been retired, and new "endpoint   profile append|remove|set " command has been added.
You can use the command "container  endpoint-id show" to determine the endpoint ID for a specific container.


ClusterCatalog label policy enforcement + test - catalogd

Possibly as a validating webhook that runs after the mutating webhook enforce labeling policy.
Policy enforcement includes, but maybe is not limited to:
Each catalog name label is uniquely named.

This isn't needed. The mutating webhook #1113 takes care of always making the label name equal to the ClusterCatalog name. This validation was potentially to check if there were duplicates if we allowed users to select the value of the label, which we don’t do.


Make that all pop-ups have an "don't show again" option. It is bad when it shows again and again.

Acknowledgement of preliminary instructions

[x] I have read and acknowledged the preliminary instructions.

What idea do you have?
just make a way to remove pop ups or an option to not show again.

Doesn't apply to v2.6.0


(kiv) fetch question and add code editor to room

Description
updated frontend for room
Related Issue

Type of Change

[ ] Bug fix
[ ] New feature
[ ] Improvement
[ ] Documentation update

Screenshots (if applicable)

Thanks!
It's worth noting that I have a rough working example of a collaborative Monaco editor here when I played with YJS a few weeks ago, so we can integrate that with the frontend here to have a working collaborative editor running.

Thanks!
It's worth noting that I have a rough working example of a collaborative Monaco editor here when I played with YJS a few weeks ago, so we can integrate that with the frontend here to have a working collaborative editor running.

thanks! i integrated it into the frontend, might need your help to set up the collab service backend 😭

Yeah the collaborative part is on the backend so the frontend needs not do much about it, I think you should even remove the YJS part from the frontend from here as the backend is not running yet. But yeah that branch will give us an overview of what the backend and the connection will look like.
By the way, I had been thinking about the code execution part, as that is not a requirement and running user code is a PITA so we might just ditch that feature. In that case the frontend will look something like this

and the submit on Leetcode button is simply a link to open the Leetcode page.

Yeah the collaborative part is on the backend so the frontend needs not do much about it, I think you should even remove the YJS part from the frontend from here as the backend is not running yet. But yeah that branch will give us an overview of what the backend and the connection will look like.
By the way, I had been thinking about the code execution part, as that is not a requirement and running user code is a PITA so we might just ditch that feature. In that case the frontend will look something like this

and the submit on Leetcode button is simply a link to open the Leetcode page.

in that case, would we need to come up with another Nice-To-Have ... 🙂

@vivienherq I just pushed the backend, there are some conflicts so I'm afraid you have to resolve them.
Also might be a good idea to add the navbar in the UI prototype as well. It's not possible with the existing auth-protected.tsx layout so a new layout specifically for room pages is needed.
Also I installed the necessary dependencies into apps/peerprep/package.json, so might be a good idea also to not install them in the root package.json.

Nvm I am quite free today so I resolved the conflict and fixed the UI a bit to fit the prototype more.


Menu Selection

New a new screen, the first element needs to be selected, not the one from the last screen.
Additionally, on Set Difficulty level, the currently selected difficulty should be selected

Closing as this was fixed with #97


Add support for Azure Service Bus

Tracking issue

Because of my lack of experience with Azure, we need some help from experienced individual to add support for Azure SB driver in unifrost.
If any individual is wanting to add support for Azure SB I would recommend them to go through the discussion in #3 PR before sending a PR.


Correct setting in VSCode for all react projects with ESLINT and PRETTIER - why is it so difficult?

Hello Dirk,
I need your help!
I use the latest version of VSCode =1.62!
Why is it so difficult to configure a correct cooperation of PRETTIER and ESLINT in my create-react-app projects?
Basically I would like to have:

autom. formatting - when I change or save the file
I would like to accept single and double quotation marks
also I would like to allow CR LF at the end of a line
What exactly do the files need to look like for this?
settings.json
.eslintrc.js
.prettierrc
Why can't I find proper examples for this anywhere?
For a better understanding I have attached the current content of the files below - but unfortunately this is not how it currently works!
Thanks in advance!
Best regards
Markus

settings.json:
{
"workbench.colorTheme": "Community Material Theme Darker High Contrast",
// These are all my auto-save configs
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
// turn it off for JS and JSX, we will do this via eslint
"[javascript]": {
"editor.formatOnSave": false
},
"[javascriptreact]": {
"editor.formatOnSave": false
},
// show eslint icon at bottom toolbar
"eslint.alwaysShowStatus": true,
// tell the ESLint plugin to run on save
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"files.autoSave": "onFocusChange",
// Optional BUT IMPORTANT: If you have the prettier extension enabled for other languages like CSS and HTML, turn it off for JS since we are doing it through Eslint already
"prettier.disableLanguages": ["js", "jsx", "javascript", "javascriptreact"],
"prettier.jsxSingleQuote": true,
"prettier.singleQuote": true,
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
.eslintrc.js:
module.exports = {
parser: "babel-eslint",
env: {
es6: true,
node: true,
browser: true,
},
parserOptions: {
ecmaVersion: 6,
sourceType: "module",
ecmaFeatures: {
jsx: true,
},
},
plugins: ["react"],
extends: [
"react-app",
"eslint:recommended",
"plugin:react/recommended",
"plugin:prettier/recommended",
],
rules: {
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
"react/prop-types": 0,
"react/forbid-prop-types": 0,
"react/no-unescaped-entities": 0,
},
};
.prettierrc:
{
}

I am not a prettier expert. All I can recommend is to first try to get everything working in the terminal including running eslint with the --fix option. If this all work try to use it from the ESLint extension. This helps identify if you have a eslint / prettier config problem or a vscode eslint config problem.
I will keep this issue open in case someone else has more experiences with prettier.

If it works in the terminal and not in VS Code eslint then file an issue here with detailed steps on how to reproduce. Best a GitHub repository to clone.

This issue has been closed because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!