🐛 Bug Report: cannot build docker image with Dockerfile from documentation

📜 Description
I'm trying to build new image with multistage build as described here: https://backstage.io/docs/deployment/docker#multi-stage-build
I've replaced .dockerignore according documentation but during the build I got:
569.3  YN0000: └ Completed in 9m 16s
569.3  YN0000: Failed with errors in 9m 22s
------
Dockerfile:44
--------------------
  43 |
  44 | >>> RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \
  45 | >>>     yarn install --immutable
  46 |
--------------------
ERROR: failed to solve: process "/bin/sh -c yarn install --immutable" did not complete successfully: exit code: 1

what could be the issue?
docker --version
Docker version 26.0.0, build 2ae903e

👍 Expected behavior
Docker container ready to push to docker registry
👎 Actual Behavior with Screenshots
569.3 ➤ YN0000: └ Completed in 9m 16s
569.3 ➤ YN0000: Failed with errors in 9m 22s
------
Dockerfile:44
--------------------
  43 |
  44 | >>> RUN --mount=type=cache,target=/home/node/.cache/yarn,sharing=locked,uid=1000,gid=1000 \
  45 | >>>     yarn install --immutable
  46 |
--------------------
ERROR: failed to solve: process "/bin/sh -c yarn install --immutable" did not complete successfully: exit code: 1

👟 Reproduction steps

Go to: https://backstage.io/docs/deployment/docker#multi-stage-build
Clone git repo + checkout to latest release tag
Copy Dockerfile content and put it in git repo's root
Replace .dockerignore with file provided in documentation
Run docker image build -t backstage .

📃 Provide the context for the Bug.
Fail to build docker image
🖥 Your Environment
docker --version
Docker version 26.0.0, build 2ae903e

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal```

### 👀 Have you spent some time to check if this bug has been raised before?

- [X] I checked and didn't find similar issue

### 🏢 Have you read the Code of Conduct?

- [X] I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)

### Are you willing to submit PR?

None

Hi @vasili439, cloning the Backstage repo is not the supported or recommended path for this. The documentation you linked calls this out at the very top. I would follow the getting started guide and then try this again 👍

@awanlin thanks for your reply. Will follow guide you have provided


Uncaught TypeError: warning is not a function

Describe the bug
Hi,
We're getting this weird error when initialising router
Uncaught TypeError: warning is not a function
    useRouter useRouter.cjs:25
    Transitioner RouterProvider.cjs:54
    React 12
    workLoop scheduler.development.js:266
    flushWork scheduler.development.js:239
    performWorkUntilDeadline scheduler.development.js:533
    js scheduler.development.js:571
    js scheduler.development.js:633

Our index.js is
import React, {StrictMode} from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import reportWebVitals from './reportWebVitals';
import {RouterProvider} from "@tanstack/react-router";
import {router} from './App';

const rootElement = document.getElementById('root')
if (!rootElement.innerHTML) {
    const root = ReactDOM.createRoot(rootElement)
    root.render(
        <StrictMode>
            <RouterProvider router={router}  />
        </StrictMode>,
    )
}

reportWebVitals();

When I checked what the warning was, the debugger said it was a module not a function. Thus the exception.
warning: {…}
__esModule: true
default:warning(condition, message)
Symbol(Symbol.toStringTag): "Module"
<get default()>: default()
<prototype>: {…}

After I changed all calls to warning(...) with warning.default(...) in router's source code, the app started without breaking a sweat.
Any ideas what might be going on?
Thanks
Your Example Website or App
https://github.com/kowalcj0/reproduce-warning-is-not-a-function-error
Steps to Reproduce the Bug or Issue

follow the Using Code-Based Route Configuration guide on https://tanstack.com/router/latest/docs/framework/react/quick-start#using-code-based-route-configuration to create a simple app
start the app
view it in the browser and observe errors in console

Expected behavior
warning logger should work as expected.
Screenshots or Videos
No response
Platform

OS: any
Browser: any
Version: n/a

Additional context
Our dependencies:
  "dependencies": {
    "@emotion/react": "^11.11.3",
    "@emotion/styled": "^11.11.0",
    "@mui/icons-material": "^5.15.10",
    "@mui/material": "^5.15.6",
    "@mui/x-data-grid": "^6.18.7",
    "@tanstack/react-router": "^1.16.2",
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "@types/jest": "^29.5.11",
    "@types/node": "^20.11.5",
    "@types/react": "^18.2.48",
    "@types/react-dom": "^18.2.18",
    "html-loader": "^5.0.0",
    "html-webpack-plugin": "^5.6.0",
    "htmlhint-loader": "^1.3.1",
    "react": "^18.0.0",
    "react-dom": "^18.0.0",
    "react-scripts": "5.0.1",
    "tiny-warning": "^1.0.3",
    "ts-loader": "^9.5.1",
    "web-vitals": "^0.2.4",
    "webpack": "^5.90.2",
    "webpack-cli": "^5.1.4"
  },

can you please provide a minimal complete example repo?

Does anyone have any advice on how to fix this? I have the same issue...

This is most likely a webpack config problem.
can you move to vite?

This is a bundler issue.
I've also checked the tiny-warning repo and they've exported this function as a default export (which is how we are consuming it).

@kowalcj0 How did you fix this error ?

hi @tienlx97
we've decided to got with vite and that bundling issue went away.

But what if we want to keep Webpack as bundler? Any solution?

I'm using webpack with babel, because I need config router with
react-relay, stylexjs, ...
Vào Th 6, 21 thg 6, 2024 vào lúc 21:57 Moji @.***> đã
viết:

But what if we want to keep Webpack as bundler? Any solution?
—
Reply to this email directly, view it on GitHub
https://github.com/TanStack/router/issues/1191#issuecomment-2182914634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGFGRSORS7ADUMBBHDKZOELZIQ5NPAVCNFSM6AAAAABDMNHJUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBSHEYTINRTGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm using webpack with babel, because I need config router with react-relay, stylexjs, ... Vào Th 6, 21 thg 6, 2024 vào lúc 21:57 Moji @.> đã viết:
…
But what if we want to keep Webpack as bundler? Any solution? — Reply to this email directly, view it on GitHub <#1191 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGFGRSORS7ADUMBBHDKZOELZIQ5NPAVCNFSM6AAAAABDMNHJUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBSHEYTINRTGQ . You are receiving this because you were mentioned.Message ID: @.>

How did you fix the error then?

I use react router =)))
On Mon, 24 Jun 2024 at 16:41 Moji @.***> wrote:

I'm using webpack with babel, because I need config router with
react-relay, stylexjs, ... Vào Th 6, 21 thg 6, 2024 vào lúc 21:57 Moji
@.
> đã viết: … <#m_-6203416275201764342_> But what if we want to keep
Webpack as bundler? Any solution? — Reply to this email directly, view it
on GitHub <#1191 (comment)
https://github.com/TanStack/router/issues/1191#issuecomment-2182914634>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGFGRSORS7ADUMBBHDKZOELZIQ5NPAVCNFSM6AAAAABDMNHJUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBSHEYTINRTGQ
https://github.com/notifications/unsubscribe-auth/AGFGRSORS7ADUMBBHDKZOELZIQ5NPAVCNFSM6AAAAABDMNHJUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBSHEYTINRTGQ
. You are receiving this because you were mentioned.Message ID: @.>
How did you fix the error then?
—
Reply to this email directly, view it on GitHub
https://github.com/TanStack/router/issues/1191#issuecomment-2186062867,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGFGRSISJ44OMMYVKARXF3DZI7SVZAVCNFSM6AAAAABDMNHJUCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBWGA3DEOBWG4
.
You are receiving this because you were mentioned.Message ID:
@.***>


SIL: Verify invariants of async_continuation instructions.

Enforce types of continuations and resume/error BBargs for await
Can't access the continuation again or exit the function mid-suspend

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 4f872bfe8134cdadd62254591322c68abf396186

Build failed
Swift Test Linux Platform
Git Sha - 4f872bfe8134cdadd62254591322c68abf396186

@swift-ci Please test

@rjmccall @theblixguy Thanks for the feedback! How's this look now?

Thanks for applying the FullApplySite suggestion - the change looks good to me!

Build failed
Swift Test OS X Platform
Git Sha - 9d44102a98da638d050e6129d6294e556e90daff

@swift-ci Please test OS X

Thanks for checking my work. I fixed the logic issues; how's this look now?

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 5b1ddf661615ac2b29c9656158ff25042a642fdb

Restarting doomed Linux tests.
@swift-ci please test Linux platform

Thanks for checking my work. I fixed the logic issues; how's this look now?

Logic fixes look good, thanks.

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 5b1ddf661615ac2b29c9656158ff25042a642fdb

@swift-ci Please test OS X

Build failed
Swift Test OS X Platform
Git Sha - 3364c51b1d53fd22a3adbaf3d406bd6685535221

@swift-ci Please test OS X


in_http: Allow specifying the wildcard '*' as the CORS domain

This allows users to set up the configuration like below:
<match debug.**>
  @type http
  cors_allow_origins ["*"]
</match>

In this case, any origin can make a request to Fluentd; Plugin users
do not need to enumerate all the possible origins explicitly, so it
should be useful for, say, collecting data from a group of websites.
See MCD "Access-Control-Allow-Origin" header
Signed-off-by: Fujimoto Seiji<EMAIL_ADDRESS>

Thanks!


json.loads error with Python 3.4 in gcloud.storage.connection.Connection.api_request

When using Python 3 httplib2 returns request content as bytes but json.loads requires str.
It might be desirable to examine the content-type header returned by httplib2 to decided which encoding to use, although it is likely to always be utf-8?

The tests that have failed mock the response and assume a str will be returned by httplib2, I am using https://github.com/jcgregorio/httplib2/commit/71a3b7b and see bytes.
Of course, I could update the PR to change the assumption in the tests, but somehow that feels like the wrong approach?

Please do update the tests to make the mocked payloads bytes.

Darn. I didn't realise github would keep updating the PR - I am having to run the test suite with Travis (on my fork) as I couldn't get Tox to run locally.

Going to kill this PR and come back when I have something that works.

@craigloftus I'm happy to help get tox working locally. If there are issues with it, we'd like to know so we can fix them.

@dhermes Thanks. I have travis building against my fork, which has let me get somewhere.
After a couple of attempts I changed the mocked httplib2 responses to always deliver binary_type content (not headers), str for Python 2.6 and 2.7 and bytes for Python 3.4.
This travis build of my fork shows the remaining issue, which is actually the root cause of Issue #653; that the exception handling code is expecting str, but receiving bytes in Python 3.4.

@craigloftus Can you send error output from your issues running tox locally?
As for the remaining errors, it looks like you aren't JSON parsing the errors. It can be addressed by changing one line
    if isinstance(content, str):

to
    if isinstance(content, six.string_types):

@dhermes My issue is mainly that I have no idea how to use tox. Trying again this morning using tox with pyenv I got py26, py27 and py33 working, but py34 failed with an InvocationError that seemed to be associated with a problem with virtualenv: ImportError: No module named '_collections_abc'.
UPDATE: I just realized six.string_types does not include bytes in PY3. Oh joy.

Yeah. I think six.binary_type is the appropriate one to use. It maps to str in Python 2 (which is what the byte notation maps to in Python 2) and to bytes in Python 3. This issue is like a rabbit hole.
I now have a commit (https://github.com/craigloftus/gcloud-python/commit/e7ffadc7) which is passing on all python versions. It will probably be tomorrow before I get a chance to figure out how to rebase and squash my changes into a neat PR.

@craigloftus You can use tox just but running tox. The error your seeing is not common, maybe you have an out of date version of tox?
Googling for your virtualenv snippet, it seems there was a bug at some point. I recommend doing the following and trying again:
[sudo] pip install --upgrade tox virtualenv

(The virtualenv upgrade is superfluous (I think) since tox will use custom ones for each environment it creates. Or maybe not?)


Ambiguous Bing Ads Account

This issue is based around the following file: https://github.com/MicrosoftDocs/BingAds-docs/blob/master/BingAds/bingads-12/guides/sandbox.md.
Within the above file, there's a paragraph which is as follows:

The above steps create a Bing Ads legacy user name that is not supported from Bing Ads API version 12 onwards. To use OAuth in sandbox, you need a sandbox Microsoft account (MSA). To get an MSA that you can use in sandbox, you need to invite a user to work on your account. The following steps show how to invite a user to work on your account.

It then goes on to say you need to invite a new user into the Bing Ads account, however, what it doesn't state is whether this should be done on a sandbox Bing Ads, or a production one.
If it's sandbox, which would make sense, are you meant to make a new Bing Ads account first so you're able to import users into that?
I've tried doing this with a production account, by inviting an account with an @outlook.com email address, follow the steps about clicking the link & create a new email address, using @outlook-int.com however, later on in the registration process it ask's me to verify the code sent to the email (Ending in @outlook-int.com), however, I don't have access to this account so i'm never able to verify / complete the process.
Please could you advise / update your documentation to make this stage a little clearer.

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

ID: 4c6bb001-439f-a8be-bd05-d63c61b349c6
Version Independent ID: ed2a84af-e79a-f632-16c7-95fa6458eea3
Content: Bing Ads Sandbox - Bing Ads
Content Source: BingAds/bingads-12/guides/sandbox.md
Service: bing-ads
Product: unspecified
GitHub Login: @eric-urban
Microsoft Alias: eur

@eric-urban - I invited the user with the email @outlook.com from our production Bing Ads account, and then continued to follow the steps which are listed in the documentation, i.e. selecting create new email.
Maybe I misunderstood the documentation, as it looks like this should all be done on the sandbox.

On another note, attempting to sign in to sandbox.bingads.microsoft.com provides me with the following error, whether I use a @outlook.com or @outlook-int.com email address:

I have already raised this with our AM for Bing Ads, who, I believe is communicating it internally, so, apologies if this is repeat information.


Fix type of paths in launch file

I will mark this as a draft until https://github.com/PickNikRobotics/gz_ros2_control/pull/3 and https://github.com/PickNikRobotics/moveit_pro_ci/pull/4 go in.


Draw pie charts in hidden nodes issue: react-chartist example

I've encountered an issue where pie charts render in an active react-bootstrap tab, but not in other tabs. I think the issue is related to the one discussed and solved here: https://github.com/gionkunz/chartist-js/issues/119.
Could someone please show me an example how to use chartist.update() with the react-chartist?

https://codesandbox.io/s/m5m8z0wm79?fontsize=14
I've created a simple example on codesandbox. Opening/closing console redraws the charts as the size of the page changes.

This is probably an issue when chartist could not determine the dimension of the container when it is hidden. It's related to #1082 .
One thing you could do is to manually trigger a resize event when switching to inactive tab. That event will make chartist redraw.
Not ideal, but I don't know a different way to fix.


Home page link, login/ register IU improvement

Regarding bellow issue. Please consider this PR.
Home page link, login/ register IU improvement #24
Details:

Basically I insert the img into a  in order home page image be clickable.
I made login/register container rounded a
![Screenshot 2023-10-22 at 4 22 26 AM]
s well the submit bottom to be consistent with the design.

Below updated points:

Hey!! Nice work, Since you are working on the UI part of login and register page, can you please fix this also


Improve: binaryops with Number Protocol

Related to https://github.com/RustPython/RustPython/issues/3244

cc @qingshi163


Crash

2020-01-02 19:42:37 UTC [Info] Snark worker died with signal sigkill. Aborting daemon
2020-01-02 19:42:37 UTC [Fatal] Unhandled top-level exception: $exn
Generating crash report
exn: "(monitor.ml.Error ("Coda_lib.Snark_worker_signal_interrupt(-7)")\n  ("Raised at file \"lib/coda_lib/coda_lib.ml\", line 122, characters 12-56"\n    "Called from file \"src/deferred0.ml\", line 56, characters 64-69"\n    "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5"\n    "Called from file \"src/job_queue.ml\", line 171, characters 6-47"\n    "Caught by monitor coda"))"
coda_crash_report_2020-01-02_19-42-37.459475.tar.gz

SIGKILL is usually caused by an out-of-memory error. How much RAM does your machine have, and what workloads are you running (block producer? snark worker?)

Only snark-worker / 8GB RAM

How long was your machine up? I'd recommend increasing RAM a bit -- but this is something we'll dig into

Closing this issue as it is stale for a long time.


How to get charge state?

Hi, total noob here, I'm trying to work out how to get the current charge level of the car to be shown in the terminal window, same as the display_name, vin, etc.
Thanks in advance!

Untested, but in the example, if you replace v.vin with await v.charge.get_state(), I'd expect that to work.

Great! That worked! It was that easy! Thank you!

Sorry, quick question,
so now I get the charge state which is a big list of everything, eg.
{'battery_heater_on': False, 'battery_level': 51, ....
how do I parse this data to get just the 'battery_level' value only?
Thanks again.

It's a dictionary, so just index it, e.g.
state = await v.charge.get_state()
print(state["battery_level"])

If you want to learn more about Python programming, I'd recommend O'Reilly's Learning Python book, to gain a thorough understanding of the language. Or, there's many free courses online for a briefer overview of programming in Python.
If you're tripping up over the await syntax (which is a relatively new thing), just know that you need to put it before any function calls which are marked as async. When you get into some more advanced programming, it will allow you to write asynchronous code, such as being able to have an application respond to user input while in the middle of fetching API data, or being able to make several different API requests at the same time.

Awesome! Thank you! Now I can continue with my little project!
And I promise no more questions, i'll buy that book you mentioned! Cheers!


Node path drag and drop in remote scenetree

Since the local and remote tab of the scene view are very similar I found myself wanting to drag a node path from the remote scene into my script, which of course does not work (yet).

There's new "Copy Path" option for remote tree in 3.2, so implementing drag and drop is a combination of what local tree already does and that new option.

I will work on this,
I need the following:
1.) Steps to reproduce the issue
2.) References I can check to understand the drag&drop thing
3.) Files which reference the local and remote tabs (or its okay, ill figure it out myself)
4.) References I can take (if any issues addressing these files or functionality was pushed)

Eh, I don't think you need reproduction project/steps here. Just read the OP.
As for references, here's the PR that implemented Copy Path for remote tree #28905

I am sorry, what I meant was, I exactly dont know how you can pull the node path and drop in remote scenetree node. I actually do not know where you can find node path and remote scenetree as I am new to the codebase as well as the editor and am learning. I can go through docs which will take lot of time. Instead, A snap of editor or steps would be useful.

https://docs.godotengine.org/en/3.1/tutorials/debug/overview_of_debugging_tools.html#remote-in-scene-dock
This is where Remote scene tree is located. Looking at the PR I linked, the code might be in different file than the local scene tree, but drag and drop functionality should be the same. Just look for get_drag_data in scene_tree_editor.cpp and try to implement it for the other tree.


Added form parameter interaction identical to query parameters

This change introduces the ability to match on form parameters.
There's still 1 failing test at: ```
com.github.tomakehurst.wiremock.NearMissesRuleAcceptanceTest$CustomMatcherWithNearMissesTest > successfullyCalculatesNearMissesWhenACustomMatcherIsRegistered FAILED
java.lang.AssertionError at NearMissesRuleAcceptanceTest.java:145

Any input is appreciated.

looks like you might have been close here-- any reason you closed it? just the failing test?

It was functional with just the 1 failing test if I recall correctly, though isn't this pr for an older version of wiremock?


Qualify did exch connection lookup by role

Signed-off-by: Ian Costanzo<EMAIL_ADDRESS>Fixes issue #1541

Codecov Report

Merging #1670 (780ae76) into main (d4c60ff) will decrease coverage by 0.00%.
The diff coverage is 95.23%.

:exclamation: Current head 780ae76 differs from pull request most recent head 6f8644e. Consider uploading reports for the commit 6f8644e to get more accurate results

@@            Coverage Diff             @@
##             main    #1670      +/-   ##
==========================================
- Coverage   95.50%   95.50%   -0.01%
==========================================
  Files         528      528
  Lines       32752    32766      +14
==========================================
+ Hits        31280    31293      +13
- Misses       1472     1473       +1

We do have the "migrate" mechanism to update stored data on deployment of a new version, but given the tight scope of this change, I don't think we need to use it.  Agreed?
We used the mechanism with 0.73 to update connection records.

I don't think we need to "migrate" for this function because it's only used during the process of establishing a connection.
Once the connection is established we don't use the "request_id" to lookup the connection.


MacOS: cache resources exhausted

screengif was working wonderfully on my MacOS but after upgrading some brew packages (don't remember which) now it returns a cache resources exhausted error when converting the same files:
/Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1605:in `from_blob': cache resources exhausted `' @ error/cache.c/OpenPixelCache/4080 (Magick::ImageMagickError)
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1605:in `block in from_blob'
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1604:in `each'
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1604:in `from_blob'
	from /Library/Ruby/Gems/2.3.0/gems/screengif-0.0.3/lib/screengif.rb:74:in `start'
	from /Library/Ruby/Gems/2.3.0/gems/screengif-0.0.3/bin/screengif:10:in `<top (required)>'
	from /usr/local/bin/screengif:22:in `load'
	from /usr/local/bin/screengif:22:in `<main>'
giampaolo@crumblenaut ~ $ screengif --input ~/change-calories.mov ~/change-calories.gif
/Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1605:in `from_blob': cache resources exhausted `' @ error/cache.c/OpenPixelCache/4080 (Magick::ImageMagickError)
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1605:in `block in from_blob'
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1604:in `each'
	from /Library/Ruby/Gems/2.3.0/gems/rmagick-2.16.0/lib/rmagick_internal.rb:1604:in `from_blob'
	from /Library/Ruby/Gems/2.3.0/gems/screengif-0.0.3/lib/screengif.rb:74:in `start'
	from /Library/Ruby/Gems/2.3.0/gems/screengif-0.0.3/bin/screengif:10:in `<top (required)>'
	from /usr/local/bin/screengif:22:in `load'
	from /usr/local/bin/screengif:22:in `<main>'

OK, I could fix it updating ImageMagick policy.xml. I searched for the file:
find /usr | grep "policy.xml"

and then I commented out all but the temporary-patch policy:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policymap [
  <!ELEMENT policymap (policy)+>
  <!ATTLIST policymap xmlns CDATA #FIXED ''>
  <!ELEMENT policy EMPTY>
  <!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
    name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights NMTOKEN #IMPLIED
    stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
]>
<!--
  Configure ImageMagick policies.

  Domains include system, delegate, coder, filter, path, or resource.

  Rights include none, read, write, execute and all.  Use | to combine them,
  for example: "read | write" to permit read from, or write to, a path.

  Use a glob expression as a pattern.

  Suppose we do not want users to process MPEG video images:

    <policy domain="delegate" rights="none" pattern="mpeg:decode" />

  Here we do not want users reading images from HTTP:

    <policy domain="coder" rights="none" pattern="HTTP" />

  The /repository file system is restricted to read only.  We use a glob
  expression to match all paths that start with /repository:

    <policy domain="path" rights="read" pattern="/repository/*" />

  Lets prevent users from executing any image filters:

    <policy domain="filter" rights="none" pattern="*" />

  Any large image is cached to disk rather than memory:

    <policy domain="resource" name="area" value="1GP"/>

  Define arguments for the memory, map, area, width, height and disk resources
  with SI prefixes (.e.g 100MB).  In addition, resource policies are maximums
  for each instance of ImageMagick (e.g. policy memory limit 1GB, -limit 2GB
  exceeds policy maximum so memory limit is 1GB).

  Rules are processed in order.  Here we want to restrict ImageMagick to only
  read or write a small subset of proven web-safe image types:

    <policy domain="delegate" rights="none" pattern="*" />
    <policy domain="filter" rights="none" pattern="*" />
    <policy domain="coder" rights="none" pattern="*" />
    <policy domain="coder" rights="read|write" pattern="{GIF,JPEG,PNG,WEBP}" />
-->
<policymap>
  <!-- <policy domain="system" name="shred" value="2"/> -->
  <!-- <policy domain="system" name="precision" value="6"/> -->
  <!-- <policy domain="system" name="memory-map" value="anonymous"/> -->
  <!-- <policy domain="system" name="max-memory-request" value="256MiB"/> -->
  <policy domain="resource" name="temporary-path" value="/tmp"/>
  <!-- <policy domain="resource" name="memory" value="256MiB"/> -->
  <!-- <policy domain="resource" name="map" value="512MiB"/> -->
  <!-- <policy domain="resource" name="width" value="16KP"/> -->
  <!-- <policy domain="resource" name="height" value="16KP"/> -->
  <!-- <policy domain="resource" name="list-length" value="128"/> -->
  <!-- <policy domain="resource" name="area" value="128MB"/> -->
  <!-- <policy domain="resource" name="disk" value="1GiB"/> -->
  <!-- use curl -->
  <!-- <policy domain="delegate" rights="none" pattern="URL" /> -->
  <!-- <policy domain="delegate" rights="none" pattern="HTTPS" /> -->
  <!-- <policy domain="delegate" rights="none" pattern="HTTP" /> -->
  <!--
    Imagemagick does not need to have been explicitly built against Ghostscript
    to be vulnerable to Ghostscript-related vulnerabilities. convert will
    happily use tools it can find at runtime, regardless of build options.
    http://seclists.org/oss-sec/2018/q3/142
    https://www.kb.cert.org/vuls/id/332928
    If you need to use Ghostscript functionality you should comment out the
    below line, at your own risk.
  -->
  <!-- <policy domain="coder" rights="none" pattern="{EPS,PS2,PS3,PS,PDF,XPS}" /> -->
  <!-- <policy domain="resource" name="file" value="768"/> -->
  <!-- <policy domain="resource" name="thread" value="4"/> -->
  <!-- <policy domain="resource" name="throttle" value="0"/> -->
  <!-- <policy domain="resource" name="time" value="3600"/> -->
  <!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
  <!-- in order to avoid to get image with password text -->
  <!-- <policy domain="path" rights="none" pattern="@*"/> -->
  <!-- <policy domain="cache" name="memory-map" value="anonymous"/> -->
  <!-- <policy domain="cache" name="synchronize" value="True"/> -->
  <!-- <policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/> -->
</policymap>

It worked! Hope to help others meeting this issue.


Adopt rubocop styling

Greetings! Big fan of dotenv. In hopes of enabling a consistent code style going forward, this PR includes:

Development dependency on rubocop
Initial autocorrections
New .rubocop_todo.yml file to track existing offenses requiring
manual attention

The initial autocorrections are based on default config of rubocop. If, for example, you prefer double quoted strings, certain files to be ignored, or any other special config, let me know and I'd be happy to adjust them.
The .rubocop_todo.yml file kept track of all the offenses that rubocop couldn't automatically fix, things including line length to cyclomatic complexity. If you would like, I would be willing to go through each pending offense and address accordingly as well.
No worries if rubocop isn't for you, in which case feel free to close. :smile:

I would definitely be interested in adding rubocop! What would you think about making the config match the GitHub Ruby Style Guide?

Great idea! Since the Github style guide overlaps with bbatsov/ruby-style-guide, which is what rubocop is implemented against, it was no problem.  In addition to preferring double quoted strings and hash rockets, I also got all the lines < 80.  Let me know if you think I missed something.

@bkeepers I had some time so I took this a tad further, let me know if I was a bit presumptuous with the way I resolved some of the rubocop offenses and I can revert;  I can also split these up into separate commits/PRs if you'd prefer.
Now all that would be left is some refactoring of Parser#call, adding some class documentation, and possibly ignoring/changing file names to snake_case.

Looks pretty good to me!

Alright, I think that's it! Ready when you are @bkeepers.  Let me know if you'd like anything changed or the commits squashed. Thanks!

Thanks!


Remove beta tag from unavailable symbols.

Bug/issue #, if applicable:  140415995
Summary
Symbols that are unconditionally unavailable in all the platforms should not be tagged as beta.Before this fix the isBeta logic was returning true for symbols that were unavailable in all the platforms. Now is filtering out these platforms before assesing if it's beta or not.
Dependencies
Describe any dependencies this PR might have, such as an associated branch in another repository.
Testing
See unit tests.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

@swift-ci please test


added support for koa middleware

Added support for koa applications (generator based koa v1.2~). By default, it uses the middleware for Express. If there is the koa flag in the options set to true it will use generator based middleware for koa.

Introducing an async function means this can't be run on any node version which doesn't know how to parse them, even if it's never used.
Is there much benefit to this approach vs using the module listed here? https://github.com/glenjamin/webpack-hot-middleware#koa
I don't use koa and have no intention of that changing, so I don't think i'll ever be able to commit to proper koa support.

Introducing an async function means this can't be run on any node version which doesn't know how to parse them, even if it's never used.

Ah, I looked into this more and realised that generators are supported on Node 4+, so this is less of a concern.

Is there much benefit to this approach vs using the module listed here? https://github.com/glenjamin/webpack-hot-middleware#koa

Yes, that is exactly the reason why I made this enhancement. You see, the linked solution is strictly depending on koa@next - the beta version of the next implementation of the framework, with some big conceptual changes in the structure of the middlewares in the application. This changes even are not implemented in the latest node itself - it requires to use Babel for the full compatibility (async/await functions). The community around koa are not happy about this new version, and people are using stable generator-based koa v1.2~.
So my feature will help koa-users, who can't migrate to koa@next, and they still will be able to use HMR within their applications

Introducing an async function means this can't be run on any node version which doesn't know how to parse them, even if it's never used.

I have an idea, for it. I'll let you know, when it will be ready

@glenjamin different branch and release it under webpack-hot-middleware@next?

The last update I heard on this was:

I have an idea, for it. I'll let you know, when it will be ready

As I still don't use koa or intend to, or know anything about it, I think integrating this with koa is something best left to someone who does - in a separate package.
If there are any other specific packages out there people think I should recommend then please feel free to open an issue or a PR for adding a link to the README.


[CI] Skip PR if we paginate 30 times without finding a run_id

:warning: This PR does not produce bitwise identical kernels as the branch it's merged against. Please check artifacts for details. Download the output file here.


Publish current code with eventemitter2 0.4.3

In<EMAIL_ADDRESS><EMAIL_ADDRESS>is used and it has some annoying bug with "**" events, so I just cannot used them.
I'm making a sandbox with a plugin system using brodway and intercom, and I'm relaying some events from intercom (wich uses eventemitter2 as well) to the broadway app using "anamespace::**". With<EMAIL_ADDRESS>I just can't. I've seen You have updated the dependency to<EMAIL_ADDRESS>which seems to work fine.
Could you just publish the current code as 0.1.8 (or 0.1.8-pre)?

<EMAIL_ADDRESS>is now published.

thanks ! works like a charm, now :)


Bug Fix in Rating Star

The 4th star is out of the div
Before:

After:

closes: #937

@Its-Aman-Yadav please review and merge it under the gssoc

@Its-Aman-Yadav pls review

please resolve conflicts

@Its-Aman-Yadav resolved now pls review


MM_33223 [v2]  Database Operator - Post section

Summary
The DataOperator is responsible for the safe handling of data in/out of the database. In here, we are working on all the entities associated to the Post section of the 'server' schemas.
This PR is part of a bigger picture where the full 'server' schema is divided between sections.
Ticket Link
https://mattermost.atlassian.net/browse/MM-33223
Checklist

[X] Added or updated unit tests (required for all new features)

See discussion in Community Server - Developers:Mobile

Done :)


Can't build repo

Describe the bug
Did a git clone of the repo as of Dec 19, 2021.
Followed build instructions, except:
cmake .. -DENABLE_DRM=0 -DENABLE_X11=1 -DENABLE_QT=0 -DENABLE_OPENCV=0 -DENABLE_TFLITE=0

make error:
[ 42%] Building CXX object core/CMakeFiles/libcamera_app.dir/libcamera_app.cpp.o
/home/pi/libcam/work/core/libcamera_app.cpp: In member function ‘void LibcameraApp::setupCapture()’:
/home/pi/libcam/work/core/libcamera_app.cpp:666:54: error: ‘const class libcamera::FileDescriptor’ has no member named ‘get’
  666 |     if (i == buffer->planes().size() - 1 || plane.fd.get() != buffer->planes()[i + 1].fd.get())
      |                                                      ^~~

Bug report
N/A
Additional context
Add any other context about the problem here.
Linux raspberrypi 5.10.63-v8+ #1488 SMP PREEMPT Thu Nov 18 16:16:16 GMT 2021 aarch64 GNU/Linux
Raspberry Pi O/S Bullseye, 64 bit, fully updated, on a RPi4B, 2G.

Fails the same with the "recommended" options:
cmake .. -DENABLE_DRM=1 -DENABLE_X11=1 -DENABLE_QT=1 -DENABLE_OPENCV=0 -DENABLE_TFLITE=0

sudo apt install libcamera-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libcamera-dev is already the newest version (0~git20211020+f4070274-3).

Hi, unfortunately the libcamera API is not stable yet so occasionally it moves on and we have to update libcamera-apps to match. So the solution is that you will have to update and build libcamera as well.
There is one more catch in that libcamera has also been updated since the release of the Bullseye kernel. This means that if you want to rebuild libcamera, you will also have to do sudo rpi-update to get a newer kernel. Usual caveats apply here: rpi-update is not part of the "normal" update process, so be sure to back up anything critical first.
So to sum it all up: you'll need to do sudo rpi-update and then check out and rebuild both libcamera and libcamera-apps.
There will be an updated OS release "shortly" that will resolve the kernel mismatch problems, and then we'll be able to update the apt repositories regularly too, so this situation will improve.

Maybe Looks to me like if I use commit https://github.com/raspberrypi/libcamera-apps/commit/11c5203a202777ddc339bba1dd8f85b53b60c279  then I might be good?

Maybe Looks to me like if I use commit 11c5203 then I might be good?

Yup, works.


Upgrade to Vue 3 and nuxt 3

Hey! I was going through the code and I figured, the package.json is already having nuxt-bridge. So what are the changes expected in the PR? Please let me know happy to contribute.


Image uploader mime filter uses urls but doesn't check them

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description

Attempt to fix #1688 @randers00 please check if it works

I will test this out tomorrow


Does this require Things 3 Desktop app?

I have Things 3 on iPad and iPhone but not Mac because it costs a lot on desktop. I downloaded this plugin a few minutes ago and it doesn't seem to be doing anything. I thought maybe it would ask for my credentials while I was on mobile but I don't know if this app is presumptively desktop only. I can see the reason why it is not doing anything is there is no interfacing between my Obsidian app and my Things account

I can't comment definitively as to whether or not Things 3 on the Mac is required, but I assume it is. I can, however, confirm that even with Things 3, there appears to be a problem with the plug in at the moment. See my issue on this. Liam is aware of the problem and is working on it. So, stayed tuned. ;-)

Hi can you confirm whether there is a now a working prototype? I don't want to make the expensive Obsidian Mac app purchase before finding that out. I can see some indication from the other issues and the log of changes that it is working for some

Hi @sumant-28, sorry I didn't address this post sooner, I'm embarrassingly behind on some plugin issues.
To answer the original question: Yes, this is a desktop only plugin. It periodically fetches your tasks from the Things database on your Mac, so for tasks to appear on your mobile device, they will need to be synced from your desktop first.
As for the issue that @swehba mentioned, that has already been resolved in the latest version.


Centos2alma kernel pre-checker fails when currently used kernel version is in short format

When uname -r returns kernel version in short format, kernel version checker fails. Example of "bad" output:
# /usr/bin/uname -r
3.14.43-1

Likely the problem tied to the way we parse version string in the KernelVersion class

Should be fixed by #165


Start request repeated too quickly in Debian under Docker

Machine Information
OS: Linux sadness 5.17.7-arch1-1 #1 SMP PREEMPT Thu, 12 May 2022 18:55:54 +0000 x86_64 GNU/Linux
Docker: Docker version 20.10.16, build aa7e414fdc
Problem Description
I get no errors when installing Arkime, however, when starting the 2 services I get the errors:
Arkime Viewer:
● arkimeviewer.service - Arkime Viewer
     Loaded: loaded (/etc/systemd/system/arkimeviewer.service; disabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2022-05-21 18:50:20 UTC; 13min ago
    Process: 495 ExecStart=/bin/sh -c /opt/arkime/bin/node viewer.js -c /opt/arkime/etc/config.ini ${OPTIONS} >> /opt/arkime/logs/viewer.log 2>&1 (code=exited, status=209/STDOUT)
   Main PID: 495 (code=exited, status=209/STDOUT)
        CPU: 534us

May 21 18:50:20 c82b7ad51859 systemd[1]: arkimeviewer.service: Scheduled restart job, restart counter is at 5.
May 21 18:50:20 c82b7ad51859 systemd[1]: Stopped Arkime Viewer.
May 21 18:50:20 c82b7ad51859 systemd[1]: arkimeviewer.service: Start request repeated too quickly.
May 21 18:50:20 c82b7ad51859 systemd[1]: arkimeviewer.service: Failed with result 'exit-code'.
May 21 18:50:20 c82b7ad51859 systemd[1]: Failed to start Arkime Viewer.

Arkime Capture:
● arkimecapture.service - Arkime Capture
     Loaded: loaded (/etc/systemd/system/arkimecapture.service; disabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2022-05-21 18:50:20 UTC; 13min ago
    Process: 494 ExecStartPre=/opt/arkime/bin/arkime_config_interfaces.sh -c /opt/arkime/etc/config.ini -n default (code=exited, status=209/STDOUT)
    Process: 496 ExecStart=/bin/sh -c /opt/arkime/bin/capture -c /opt/arkime/etc/config.ini ${OPTIONS} >> /opt/arkime/logs/capture.log 2>&1 (code=exited, status=209/STDOUT)
   Main PID: 496 (code=exited, status=209/STDOUT)
        CPU: 1ms

May 21 18:50:20 c82b7ad51859 systemd[1]: arkimecapture.service: Scheduled restart job, restart counter is at 5.
May 21 18:50:20 c82b7ad51859 systemd[1]: Stopped Arkime Capture.
May 21 18:50:20 c82b7ad51859 systemd[1]: arkimecapture.service: Start request repeated too quickly.
May 21 18:50:20 c82b7ad51859 systemd[1]: arkimecapture.service: Failed with result 'exit-code'.
May 21 18:50:20 c82b7ad51859 systemd[1]: Failed to start Arkime Capture.

How to reproduce?

Pull debian:latest image
Run it with
docker run --privileged=true -d -P --name <container_name> <image_name> /sbin/init
Download the latest available image for Ubuntu 20.04 and install it.
Configure it by saying "yes" to ElasticSearch and "yes" to Geo MaxFind
Follow instructions in the README.txt

Would need to see the actual errors in the log files. https://arkime.com/faq#arkime-is-not-working should point you in the right direction.

@awick I checked for the .log files but they don't exist :/

The output you did provide shows it trying to create them (>> /opt/arkime/logs/capture.log and >> /opt/arkime/logs/viewer.log) if those don't exist you probably have docker issues which I can't help with.


Dataset

Good evening, greetings from Colombia. I find very interesting your work on MolTrans and the TDC library, it saves a lot of work.
I was reviewing the MolTrans Datasets, and I compared them with the datasets of the TDC library. Specifically DAVIS and BindingDB; I realized that the SMILES are different, I explain:
In the MolTrans SMILES string the "=" symbol appears when there is a link between elements, but these do not appear in the SMILES string of the TDC library.

Could you explain me the reason for this? or is it a mistake? or is it another type of representation?
Do you think that if I transform them to SELFIES I could solve this problem and thus be able to compare the datasets?

Hi, sorry for the late reply. I don't think they are the same drug though. "=" means double bond, so it should appear in both datasets. To be on the safe side, you could transform them to canonicalized versions:
Chem.MolToSmiles(Chem.MolFromSmiles('C1=CC=CN=C1'))


raspberry pi xrun issue

Hello, thank you very much for your work. After compiling on the Raspberry Pi, I found that there would be a problem with xrun. At first I thought it was a problem with the capture playback or buffer setting, but this problem still occurred after I adjusted it to a small value. Later, I checked the cpu when it was running, and found that the cpu would reach 130% when it was running, which seemed to be overloaded. I wonder if it is a multi-threaded setting. Looking forward for your response, thank you!
Here is error and cpu info:

Hey!
How many cores does the CPU you are running this on have? The main loop runs 3 threads, one for capturing new samples, second for the processing of the previously captured samples, and third for playback. I had similar issues as you, when I didn't use threads and run these tasks sequentially. But then I run the multi-threaded version on a Rpi with CPU with 4 physical cores. So I think that the threads could be executed parallelly there and thanks to that there where no xruns.
Let me know!
Actually, I think you would have to increase, not decrease the buffer sizes, then there is more time to send the samples to playback, as the main error is the playback underrun.

Hey!
How many cores does the CPU you are running this on have? The main loop runs 3 threads, one for capturing new samples, second for the processing of the previously captured samples, and third for playback. I had similar issues as you, when I didn't use threads and run these tasks sequentially. But then I run the multi-threaded version on a Rpi with CPU with 4 physical cores. So I think that the threads could be executed parallelly there and thanks to that there where no xruns.
Let me know!
Actually, I think you would have to increase, not decrease the buffer sizes, then there is more time to send the samples to playback, as the main error is the playback underrun.

Thank you very much for your reply. My Raspberry Pi has 4 cores. I increase the buffer size according to your common sense method, but it still has xrun problems. And the cpu is still more than 100%. Could it be a problem with my hardware sound card?

Maybe try to comment out the processing from the main and see whether the xrun errors are still there. Then you will know whether it is caused by the time that processing takes or is it something else.
You also have to check what are the actual buffer sizes set in the capture and playback devices. From what I remember, when I was working on this, when I set a too low size of the buffer,  there was no runtime error, but the actual buffers sizes where set to the minimum values defined by the drivers. I think I added some runtime checks and prints to the init_capture and init_playback functions, but you could double check it.

When I try to set down the buffer size before, it turns out underrun and some overrun before. I will try the actually physical buffer size and comment main. Appreciate your replay, I will let you know if I figure it out.

Hi buddy, sorry to trouble you again. Since my sound card device does not support the alsa driver and can only encode S16_LE, I found that your dc_removal and processing_feedforward_anc modules both accept S32_LE data for processing, so I want to know if there is a problem with 16-bit data processing? And I tried to directly change the sample_type and fixed_sample_type in common.h to the corresponding 16 bits, but I found a lot of dependency errors. Does it only support 32-bit sampling? Looking forward to your reply.

Hey,
So if you change int32_t to int16_t in this line:
https://github.com/psykulsk/RpiANC/blob/master/Headers/common.h#L15
and change capture and playback format from SND_PCM_FORMAT_S32_LE to SND_PCM_FORMAT_S16_LE here https://github.com/psykulsk/RpiANC/blob/master/Sources/playback.cpp#L43 and here https://github.com/psykulsk/RpiANC/blob/master/Sources/capture.cpp#L42  does something brake? I just modified it and it compiled, but I do not have a setup currently to do a proper test.
I would start with a program that first only records and see if that works (use the recTestData target that runs this main for example https://github.com/psykulsk/RpiANC/blob/master/Mains/record_test_data.cpp), then do similar with playback. Then you will know that the capture and playback works and you can try testing the signal processing.

Hey,
So if you change int32_t to int16_t in this line:
https://github.com/psykulsk/RpiANC/blob/master/Headers/common.h#L15
and change capture and playback format from SND_PCM_FORMAT_S32_LE to SND_PCM_FORMAT_S16_LE here https://github.com/psykulsk/RpiANC/blob/master/Sources/playback.cpp#L43 and here https://github.com/psykulsk/RpiANC/blob/master/Sources/capture.cpp#L42 does something brake? I just modified it and it compiled, but I do not have a setup currently to do a proper test.
I would start with a program that first only records and see if that works (use the recTestData target that runs this main for example https://github.com/psykulsk/RpiANC/blob/master/Mains/record_test_data.cpp), then do similar with playback. Then you will know that the capture and playback works and you can try testing the signal processing.

Hello, after I tried S16_LE, it can be played correctly when I did not process the data, indicating that the data is ok. But when I run the process, I found that it was normal for the first 2 minutes, and after about 2 minutes, the sound suddenly became loud, and it showed playback short write, write 110 frames
playback short write, write 90 frames
playback short write, write 80 frames
playback short write, write 70 frames
playback short write, write 100 frames
playback short write, write 170 frames
I don't know if this is the result of adaptation or just the pressure of the processing process, which caused the playback to not get the specified frame in time. In addition, I want to know how the inverted sound compares with the original sound in order to see if it is useful, thank you!
I will appreciate u  if there are sample WAV test files before and after ANC processing and send me a copy<EMAIL_ADDRESS>if convenience.Thank you very much!!

Yes, the instability may happen, I've also seen it for some input signals, especially the more dynamic ones. I'm not sure why the xrun errors appear when that happens, but I did not have time to investigate that. There is a lot of space for development here :)
Important thing that you have to take into account is the filter coefficients that estimate the secondary path. I did this estimation experimentally with some octave scripts and recordings from the microphones. Octave scripts can be found under links below, but these will not work out of the box. The results I used are specific to my microphones, headphones, speakers and environment so you would have to experiment with doing it yourself to get better results.
https://github.com/psykulsk/RpiANC/blob/master/Scripts/OctaveCode/rls_offline_sec_path_modelling.m
https://github.com/psykulsk/RpiANC/blob/master/Scripts/OctaveCode/lms_offlince_sec_path_modelling.m
This system was able significantly attenuate only a constant frequency noise. Here is a sample recording of noise reduction of a 1 kHz signal: https://drive.google.com/file/d/1zu5tBbxbBDITIFIQgyDUwIxsOS8fnE36. It was recorded with a an in-ear microphone.

Hey! I just solve the xun issue by receiving  data by udp and saving the data to file. But now here are two problems that bother me, cpu overload for more than 35 seconds and it can't work at frequencies more than 1500Hz. Although my Raspberry Pi has 4 cores and I have enabled multithreading. But every time I run for more than 35 seconds, the cpu will suddenly rise from the normal 40% to 110%, and then my other processes such as receiving data will not work. Have you tried processing single frequency data for more than 1 minute? And I used a different single frequency from 500Hz to 5000Hz, I found that it can not work normally if it exceeds 1500Hz, have you encountered this problem before?The following is a constant 5khz frequency timing 100 seconds , can you give it a try to get the reverse data?
https://drive.google.com/file/d/1CFrzzBAWgKLV77f4_8I0eLAj8To0RZcB/view?usp=sharing
Looking forward to your reply, thank you!

Generally, active noise control doesn't work well above 1-2 kHz because of the unavoidable latency. Commercial headphones use ANC to dampen low frequency noise and the higher frequencies are supressed by passive methods. So I didn't test higher frequencies, but you can simply put the input samples through a low pass filter and see if that works.
I did run some 10 minute tests and I didn't see increase in xruns. Maybe try to disable any memory allocations. For example, do not store any additional samples in vectors and don't write them to a file. But I do not know what's the exact problem. Also, try to profile the application. Add some timers in different sections and see what takes most of the cpu time.

As for the test data, I currently do not really have time to assemble the setup and run tests, sorry.

Hello, I want to know if it only works for a constant frequency noise and if works for broadband? I have a noise with boradband, I don't know if it works. In addition, I have been troubled by the underrun problem of the playback for a long time. I receive data through udp, and then process and play it, but I don’t know if it is a problem with my parameter settings. The underrun problem will occur during the processing_feedforward_anc. Although I have tried various methods, including modifying the buffer size and period size, from a few to tens of thousands. But mainly when I run programs that include processing_feedforward_anc and playback, underrun will appear. I guess if the processing takes too long, but my Raspberry Pi has a 4-core 4b, and multi-threading should be enough for processing.Appreciating your replay.

Hi! Yes, on my setup I achieved attenuation only for constant frequency noise. I tried experimenting with some subband processing here https://github.com/psykulsk/RpiANC/blob/master/Mains/feedforward_anc_subband.cpp , but I didn't have a lot time for it and it doesn't really work. But maybe it can be an inspiration for you :)
Although I believe that because there is this minimal buffer size required by the input and output drivers it may be hard to make it work for the broadband, because processing of blocks of samples instead of just samples makes the convergence time quite long.
Have you tried removing the whole processing step and just copy input samples to output? Does the underrun happen then as well? You have to try it, then you will know whether it is caused by the adaptive algorithm or something else.


Reduce the duplication of the TLS bootstrap

We have same set of files in aws, packet and baremetal module:
$ find . -name bootstrap-configs.tf
assets/terraform-modules/packet/flatcar-linux/kubernetes/bootstrap-configs.tf
assets/terraform-modules/packet/flatcar-linux/kubernetes/workers/bootstrap-configs.tf
assets/terraform-modules/bare-metal/flatcar-linux/kubernetes/bootstrap-configs.tf
assets/terraform-modules/aws/flatcar-linux/kubernetes/bootstrap-configs.tf
assets/terraform-modules/aws/flatcar-linux/kubernetes/workers/bootstrap-configs.tf

Put this into its own module and then use it from there.

#392 addresses that by adding reusable worker and controller modules.


fix(IE10): Update babel config to support IE10 (user visible as searc…

…h issue)

:+1:

See discussion at https://phabricator.babeljs.io/T3041 for more info.

:+1:


BTC to INR currency: UI issue.

INR value should have different comma placement

Comma is in the right place,

Still having the same issue on Tribe app v 2.4.0(629)

Closing cc @akshay8551


An error occurred while opening Explore

We just upgraded our superset from 1.4 to 2.0.
This error occurs to all charts when we click on 'edit chart' in the dashboards.

Can you provide any errors you might be seeing in the browser's console, or any other context (i.e. is this happening with every chart, in every dashboard?)

thanks for the reply, our issue has been solved.

@Max-beep how did u resolve the issue.
I am facing the same error

See also https://github.com/apache/superset/issues/22228.
@vinaybabunaidu was yours after upgrading versions?  I wonder if @Max-beep's issue was the same as this: https://github.com/apache/superset/issues/19990.


removes django utils and views

Coverage increased (+0.3%) to 86.48% when pulling edff6744bbba1447d0a3cc35c132709bfafe214d on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.386% when pulling 7c65a10e8d6842184901d306f728d6e9cb6ef11f on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.386% when pulling 7c65a10e8d6842184901d306f728d6e9cb6ef11f on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.386% when pulling 13e03670f6472b4aad638753a3cbef4238be606c on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.386% when pulling 13e03670f6472b4aad638753a3cbef4238be606c on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.386% when pulling 5aeb4e4a7f9211302ef7095d1084d0f828dbcf3d on feature/remove-django-utils into 1031bc67fab00247b67dbc43b2edcc077d16737c on develop.

Coverage increased (+0.2%) to 86.343% when pulling dc74ed0584827ff7f2b896d5434297360bda121f on feature/remove-django-utils into ef1d43223139936841ddde38bfbcc0095be704fd on develop.

Coverage increased (+0.2%) to 86.343% when pulling dc74ed0584827ff7f2b896d5434297360bda121f on feature/remove-django-utils into ef1d43223139936841ddde38bfbcc0095be704fd on develop.

Coverage increased (+0.2%) to 86.343% when pulling dc74ed0584827ff7f2b896d5434297360bda121f on feature/remove-django-utils into ef1d43223139936841ddde38bfbcc0095be704fd on develop.


Feature/br 83 design update for item view

Implements #83
Description:
This makes the "Item View" look as intended by the UI Prototype.
PR checklist

[x] dev-branch has been merged into local branch to resolve conflicts
[x] tests and linter have passed AFTER local merge
[x] localization is supported (Guide)
[ ] another dev reviewed and approved
[ ] if feature-Branch: Teams PO has approved (show via e.g. screenshots/screencapture/live demo)

We edited the item show page to be consistent with the design guide. There are 3 buttons on the page: the back button in the upper left corner moves back to the items overview page, the edit button in the upper right corner links to the edit page of the icon. The button at the bottom will add a user to the waiting list or allow immediate lending of the item which is both not implemented yet. @brokkoli71


Menus now how vertical scrolling

you can have as many menu items in a menu as you want and they will appear/disappear as you scroll up/down the menu

Heres an idea what the scrolling looks like
http://puu.sh/j0DgL/7ee724acf5.png - top of menu
http://puu.sh/j0Dm3/5a7ca13325.png - middle of menu
http://puu.sh/j0Dp9/cf67991f4e.png - bottom of menu

Nice job!

Perfect!

How about to implement scrollable menu as separate class which will inherit from Menu class?
I think we should have a "clean" menu class based on which we can create our custom menus: like this ScrollableMenu, ListMenu and etc.

The menu scrolling only comes into play if there are enough items in the menu, without enough items, it just functions identically to how the menu class used to be. Also the whole menu class is going to be changed again for the 2.0 release. Also that ListMenu could still inherit from the scrollable menu and function the same, just make sure the maxitemsdrawn property is the same as what you have in ListMenu

@zorg93 oh, okay, thanks for answer. You didn't mention this in first comment and today i'm too lazy to watch the sources :stuck_out_tongue:


Скласти додаткові інформаційні блоки

Можна зробити резюме менш формальним, додавши додаткові блоки, які містять корисну інформацію, але подають її в "розважальній" формі. Наприклад, що подобається і не подобається, сильні і слабкі сторони, перелік навиків чи хобі, інфографіка або ж інтерактивні модулі, тощо. Варто написати контент такого блоку раніше, ніж починати верстку, бо його розміри впливатимуть на розміщення елементів на сторінці.

'''
He is an avid gamer. This should come as no surprise since Elon Musk even sold a video game called Blastar for $500 when he was merely 12 years old, and once worked at a gaming start-up called Rocket Science. His favorites include Deus Ex, Fallout and BioShock.
He also likes to throw parties. According to Ashlee Vance‘s book, Elon Musk: Tesla, SpaceX and the Quest for a Fantastic Future, Musk’s previous birthdays and office celebrations have included a rented castle in England where the guests played hide-and-seek and a costume party in Venice where he dressed as a knight.
Elon Musk still finds time to binge-watch series on Netflix and HBO. He revealed before that he has seen Silicon Valley, which centers on a fictional tech company, and Black Mirror, which explores humanity‘s relationship to technology
Musk enjoys anime and loved the Makoto Shinkai movie Your Name. He is also a fan of Studio Ghibli movies like Spirited Away and Princess Mononoke. In an interview with Maureen Dowd at The New York Times, Musk said he spent the weekend watching anime (including Death Note and Evangelion) with his girlfriend Grimes.
'''

Well done!


Blog app - controllers

Dear reviewers,
I've worked on the following in this pull request,

Created the following for each URL:

A route.
An action in the correct controller.
A view file.

Thank you for the review @iambenkis. 😁


Bug: el.getClientRects is not a function on version 3.9.2

Hi,
I've just upgraded to 3.9.2, and I'm seeing this exception when using isVisible() matcher:
el.getClientRects is not a function.
Downgrading to 3.9.1 resolves the issue.
Using Headless Chrome (latest build), with Jasmine and Karma.

Hi, is el definitely a DOM element? Please could you post your spec code?

I haven't checked, but reading the tests, on 3.9.1 both .toBeVisible() and .not.toBeVisible() works as expected. The exact syntax is expect('.class-selector').toBeVisible()

Maybe it's related to the new implementation. Can you please share the code or reproduce on Stackblitz?

That was my assumption as well - got that assumption confirmed when downgrading. I'll try getting something reproduced on Stackblitz when I have some time.

It will be because the previous implementations passed your expect input through jQuery, which would convert a selector to an element before executing the check. The new implementation does not do this.

You can see this here:
https://github.com/NetanelBasal/spectator/commit/fd7c9474e62f2d1cea4b7e93f5d06d86796c3374#diff-c75eb71edd2ca39a6fdc949a98fa1dacL254

Right. This was a breaking change we didn't take into account.

This is a regression since the documentation illustrates this kind of usage: https://netbasal.gitbook.io/spectator/api/matchers

We should pass the argument through JQuery and use it.

I can push a quick fix for this.

Thanks!

Should be available in 3.9.3

...Make that 3.9.4. Sorry @NetanelBasal, made a mistake during publish!

No problem.

I just tried upgrading to 3.9.4 last night, and it was still not working. Sorry I haven't been able to find time to create a minimal repro. I'll get around to it, though.

Right, so I just had a thought. How does isVisible handle elements, that are not in the DOM at all? I haven't checked, but how should it work on an element with *ngIf?

No, if you want to assert about ngIf, you should use toExist.

Yep, that's what I figured as well. But should isVisible support that? I mean, the fact it does not exist also means it's not visible ;)

No, check here what isVisible means.

According to those docs:

Elements that are not in a document are considered hidden

Does that not mean, that elements that are removed with *ngIf will not be selected with the :visible selector?


Minor vmq_swc fixes and improvements

Refactorings:

The transport module doesn't require the swc_config record for initiating a RPC, this enables that the RPC mechanism could be easier reused outside of vmq_swc
The group membership server is now able to handle different 'membership_strategies', the default one is 'plumtree' . Alternatively it is now possible to set it to 'manual', enabling that an external process manages the peer membership.

Bug fixes:

vmq_swc PUT operations didn't pass the old object context, they do now.

Hard to understand what the problems were and what the fixes do. Can you add some more context?

See updated PR description above.


'module' object has no attribute 'ForeignKey'

Ran into this issue today while installing try.wq.io. Not sure what is causing this issue. I am on python 3.4 and django 1.8.4. Should I install a different version of vera or django?
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/josh/.virtualenvs/trywq/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/vera/models.py", line 35, in <module>
    class BaseEvent(models.NaturalKeyModel):
  File "/Users/user/.virtualenvs/trywq/lib/python3.4/site-packages/vera/models.py", line 36, in BaseEvent
    site = models.ForeignKey(
AttributeError: 'module' object has no attribute 'ForeignKey'

I need to release a new version of vera and wq.db.  In the meantime, you can install the master versions directly from github:
sudo pip3 uninstall -y wq.db
sudo pip3 install https://github.com/wq/wq.db/archive/master.zip
sudo pip3 uninstall -y wq.app
sudo pip3 install https://github.com/wq/wq.app/archive/master.zip
sudo pip3 uninstall -y wq.start
sudo pip3 install https://github.com/wq/wq-django-template/archive/master.zip
sudo pip3 uninstall -y vera
sudo pip3 install https://github.com/wq/vera/archive/master.zip

That seems to have solved one problem and revealed another (very similar) one:
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/Users/user/Development/python/try.wq.io-master/db/campaigns/models.py", line 69, in <module>
    reversion.register(patterns.Identifier)
AttributeError: 'module' object has no attribute 'register'

Should I be using a different version of reversion also?

Would it help me to have a pip requirements.txt file from a freeze of your installation, so I would know the exact versions I need to install of whatever different packages?

It sounds like you might have reversion installed instead of django-reversion.
Yes, I really should put in a requirements.txt - see wq/wq-django-template#16.

That was it. I needed django-reversion. So now I have the app almost running, but with a javascript error:
cannot set property debug of type 'undefined'

Ideas?

What does your trywq/config.js look like?  It should have a template property set.

Ok. I started fresh. Same virtual environment with dependencies in place. clone the try.wq.io repo into a fresh folder, and tried to deploy. Now I get this:
./deploy.sh: line 7: app/js/data/config.js: No such file or directory
There is no app/js/data folder, just as there is none in try.wq.io repository.
So. I changed that line to look for app/js/trywq/config.js. Now I get this:
FileNotFoundError: [Errno 2] No such file or directory: 'js/data/version.js'
So I switched that line back to app/js/data/config.js. Then I created the folder data in the app/js folder as well as three empty files config.js, template.js, version.js .
I tried to deploy again. Deployment seems to have worked. But I am getting the same cannot set property 'debug' of undefined.
So, to answer your question, inside the trywq/config.js file, there are no references the word template does not appear. Whereas, the trywq/config.js file on the try.wq.io repo has the template definition in it. Keep in mind, I just cloned this from the repo and haven't changed anything in the app/js/trywq folder. All I've done is run the deploy script. My trywq/config.js file looks like this:
define({
    "attachmentTypes": {
        "parameter": {
            "predicate": "has_parameters",
            "type": null
        },
        "result": {
            "predicate": "has_results",
            "type": "parameter"
        }
    },
    "debug": true,
    "map": {
        "basemaps": [
            {
                "attribution": "Map data © OpenStreetMap contributors, CC-BY-SA, Tiles © MapQuest ",
                "name": "Street",
                "subdomains": "1234",
                "url": "https://otile{s}-s.mqcdn.com/tiles/1.0.0/{layer}/{z}/{x}/{y}.png",
                "type": "tile",
                "layer": "map"
            },
            {
                "attribution": "Imagery © NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency, Tiles © MapQuest ",
                "name": "Aerial",
                "subdomains": "1234",
                "url": "https://otile{s}-s.mqcdn.com/tiles/1.0.0/{layer}/{z}/{x}/{y}.png",
                "type": "tile",
                "layer": "sat"
            }
        ],
        "bounds": [
            [
                -70,
                -180
            ],
            [
                70,
                180
            ]
        ]
    },
    "pages": {
        "authority": {
            "children": [
                "identifier"
            ],
            "name": "authority",
            "url": "authorities",
            "parents": [],
            "list": true
        },
        "event": {
            "partial": true,
            "name": "event",
            "children": [
                "report"
            ],
            "max_local_pages": 0,
            "map": {
                "detail": {
                    "layers": [
                        {
                            "name": "Observation",
                            "url": "events/{{id}}.geojson",
                            "type": "geojson"
                        }
                    ]
                },
                "list": {
                    "layers": [
                        {
                            "popup": "event",
                            "name": "Observations",
                            "url": "events.geojson",
                            "type": "geojson",
                            "cluster": true
                        }
                    ]
                }
            },
            "url": "events",
            "parents": [
                "campaign",
                "site"
            ],
            "list": true
        },
        "report": {
            "has_results": true,
            "related": true,
            "partial": true,
            "name": "report",
            "reversed": true,
            "children": [
                "result"
            ],
            "url": "reports",
            "parents": {
                "reportstatus": [
                    "status"
                ],
                "event": [
                    "event"
                ],
                "site": [
                    "site"
                ],
                "campaign": [
                    "campaign"
                ]
            },
            "list": true
        },
        "logout": {
            "name": "logout",
            "url": "logout"
        },
        "relationshiptype": {
            "children": [
                "relationship"
            ],
            "name": "relationshiptype",
            "url": "relationshiptypes",
            "parents": [],
            "list": true
        },
        "campaign": {
            "lookup": "slug",
            "children": [
                "event",
                "parameter"
            ],
            "has_parameters": true,
            "name": "campaign",
            "url": "campaigns",
            "parents": [],
            "list": true
        },
        "relationship": {
            "children": [],
            "name": "relationship",
            "url": "relationships",
            "parents": {
                "relationshiptype": [
                    "type"
                ]
            },
            "list": true
        },
        "reportstatus": {
            "lookup": "slug",
            "children": [
                "report"
            ],
            "name": "reportstatus",
            "url": "reportstatuses",
            "parents": [],
            "list": true
        },
        "inverserelationship": {
            "children": [],
            "name": "inverserelationship",
            "url": "inverserelationships",
            "parents": {
                "relationshiptype": [
                    "type"
                ]
            },
            "list": true
        },
        "parameter": {
            "related": true,
            "name": "parameter",
            "children": [
                "result"
            ],
            "identified": true,
            "url": "parameters",
            "parents": [
                "campaign"
            ],
            "list": true
        },
        "identifier": {
            "children": [],
            "name": "identifier",
            "url": "identifiers",
            "parents": [
                "authority"
            ],
            "list": true
        },
        "login": {
            "name": "login",
            "url": "login"
        },
        "index": {
            "map": {
                "defaults": {
                    "layers": [
                        {
                            "popup": "event",
                            "name": "Observations",
                            "url": "events.geojson",
                            "type": "geojson",
                            "cluster": true
                        }
                    ]
                }
            },
            "name": "index",
            "url": ""
        },
        "result": {
            "children": [],
            "name": "result",
            "url": "results",
            "parents": {
                "parameter": [
                    "type"
                ],
                "report": [
                    "report"
                ]
            },
            "list": true
        },
        "site": {
            "name": "site",
            "children": [
                "event"
            ],
            "map": true,
            "url": "sites",
            "parents": [],
            "list": true
        }
    }
});

So, I pulled the config.js from the try.wq.io repo once again and replaced the incorrect one with it. I then re-deployed and ran the app. I get the same error cannot set debug of type 'undefined'. When I observe the scripts in the browser devtools (for instance trywq.js), the block of code that is in the config.js for the template settings, does not appear. Although it is now visible in the config.js. This is quite strange. Not sure what I should try next.

Ok. I got it to work. There was no problem with try.wq.io. I had a server configuration issue and old files from and old application cache manifest were being served up instead of the proper one. Its working now.
So, as far as this issue is concerned, I am going to go ahead now and close it. The issue, I thought originally was with vera, but it turned out to be try.wq.io installation issues.
Recommendations for easier installation of try.wq.io (on Mac osx Mavericks in my case):

requirements.txt file. The installation process was a little painful due to the lack of a requirements file, so I had a few roadblocks there. But I think a requirements.txt file would help ease the installation process.

A skeleton app/js/data folder would have prevented some errors. Would it be a good idea to include that in the try.wq.io repo? Or are those .gitignored files?

Change sed -i to sed -i.bak in the two sed lines in the deploy.sh script to prevent errors when installing on OSX. Provided, of course, that this does not cause errors when building on other systems (it hasn't caused any problems on my production server, which is running Ubuntu 14.04).

Thanks for these recommendations.  I added some gitignore files to the Try WQ repository.  I added issues for the other recommendations: powered-by-wq/try.wq.io#7 and wq/wq-django-template#20.


[Feature] Demo for face restoration

Motivation
In general, face restoration methods require detecting and cropping the faces, and pasting back the faces after restoration.
Modification
This PR adds a demo file to automate the process. Given an image containing faces, the demo first detect and crop the faces, and pass them to the restoration network. The restored faces are pasted back to the original image.

Good to have a doc giving examples, including the command to run, and the image results


What is the difference between copying a file to ArtifactStagingDirectory and publishing?

What is the difference between copying a file to ArtifactStagingDirectory and publishing? Is it necessary to do both? What about if I don't copy the files into the ArtifactStagingDirectory and I just set pathtoPublish to some other location, say something like "$(Build.SourcesDirectory)/dist" (assuming that the build output get's placed in "dist"), what should I expect to happen then?

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

ID: 7175ebdc-0bba-7e00-d113-036a5cffe5fa
Version Independent ID: 149ab9f4-0b7d-97e7-6cf5-1b54fd04c63c
Content: Publish and consume build artifacts in builds - Azure Pipelines and TFS
Content Source: docs/pipelines/artifacts/build-artifacts.md
Product: devops
Technology: devops-cicd
GitHub Login: @chasewilson
Microsoft Alias: phwilson

@lambdakris Thank you for the question.
The ArtifactStagingDirectory is a system property and can be changed/customized based on need, see Build variables.
Even use of the publishing task isn't necessary (though helpful for locations such as VSTS servers),
for publishing to simple locations such as network shares, etc. the Copy Files task may be adequate, see this post.

Closing this issue, please comment below if there are any further questions.


[AutoPR cosmos-db/resource-manager] Fixing incorrectly formatted Cosmos DB list keys response

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6587

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/5933


White accents aren't white

Currently the accent color "White" is set to var(--ctp-text), that color is:

Frappe: #c6d0f5
Latte: #4c4f69
Macchiato: #cad3f5
Mocha: #cdd6f4

These colors aren't white, Latte's white is a dark blue. It is a little bit confusing for a user expecting white (#FFFFFF) to encounter a color that isn't white, more like a "Lavander" color. The pastel colors choosen are great, but still.

As for the name - it's confusing, that can be changed. But the choice of colors themselves is not up to me, unfortunately.

Fixed in f4f86fc


EBCDIC to Decode Problem:

When Im trying to enc.EBCDIC.NewDecoder().String(string(rec2)) I get

The square boxes should be spaces. Here is the desired output.

Even when I copy the boxes into a text editor they get translated to spaces. I cant do string parsing on such characters. It would be amazing if you could guide me into the right direction.
Update: The byte array I'm receiving:
[0 0 0 198 195 240 240 240 240 240 241 195 228 214 214 0 0 0 0 0 0 0 0 241 243 249 246 240 249 242 247 241 240 244 246 245 242 240]
The boxes are these zeroes...
Thanks for the amazing package.

I've added 0x00: ' ', at the beginning of the map in ebcidic.go and the issue is fixed.
Map: map[byte]rune{
			// 0x00-0x03 match
			0x00: ' ',
			0x04: RuneError,

Huh.  I'm not sure 0 should be encoded as a space.  I used this as the source material: https://en.wikipedia.org/wiki/EBCDIC
I don't regularly have to deal with EBCDIC.
Are you sure that your source material is actual character data?  My first guess is that your material isn't exactly what you think it is, and that those NUL bytes are actually conveying some other meaning, like a field delimiter.

Specifically, also it appears than ebcdic space character should have numeric value 0x40 (64 decimal).

You are right man, I reviewed the ebcdic doc on IBM website, and indeed space is 0x40, I believe Mainframe guys in my environment are not using standard. Thanks for the info.

You should try to discover why they are sending NUL bytes. I suspect that
they are intended to convey some meaning that has gotten lost somewhere.
Best of luck to you.
On Mon, Dec 18, 2017 at 8:45 PM Farhad Farahi<EMAIL_ADDRESS>wrote:

Closed #5 https://github.com/gdamore/encoding/issues/5.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gdamore/encoding/issues/5#event-1393426638, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABPDfUkjsD9YMlZ-pslTq9q_8LA8-2ygks5tBz9tgaJpZM4RFDSH
.


Support completing use list

Completing on
use std::io::{self, Err

should work.

Duplicate of #96?

Yep! Apparently I didn't look hard enough. Thanks :).


[BM] Shutdown without the usage of a Shell

http://stackoverflow.com/questions/40351655/how-to-shutdown-reboot-linux-machine-programatically-without-using-commandsrunt/40432406#40432406

Pending of this issue:
https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/291

One could use systemctl command or a dbus call to achieve that, but we must tweak PolicyKit configuration to allow it (at least that's how it works on Ubuntu).


[FEATURE] Automate repetitive tasks in a user-friendly script

Is your feature request related to a problem? Please describe.
We use Apalache to check an invariant by the standard inductive argument. For instance, if we want to prove that Safe is an invariant. In the framework of inductive invariants, that means the following steps:

Find a predicate IndInv and prove that it satisfies two properties:

Prove that Init => IndInv.
Prove that IndInv /\ Next => IndInv'.

Prove that IndInv => P.

Apalache shows that 1.i, 1.ii, 2 hold true (for fixed parameters). However, running the tool three times is an error-prone (and boring!) activity.
Describe the solution you'd like
We should introduce a friendly script that instantiates the standard model checking scenarios: checking an invariant up to some length, checking an inductive invariant, checking a k-inductive invariant, checking refinement. This will help the users to invoke the standard scenarios without reinventing them.

This is a duplicate of #490


pymodbus async clients should be used

Hello @KrystianD,
I was reviewing the code and I saw that in the file pymodbus_async_modbus_client.py the underlying pymodbus clients that are used are the synchronous ones:
https://github.com/KrystianD/modbus_client/blob/10f79e58b41a79de961af3043ff878124494828c/modbus_client/pymodbus_async_modbus_client.py#L90-L99
Thus, the pymodbus read and write functions that are called are not asynchronous, this means that for example when making a read operation the pymodbus code will send the request and block until receiving the response. For example, for the TCP client, the code that is finally called in the pymodbus synchronous TCP client to receive the data is the ModbusTcpClient.recv method, which is blocking, these are the relevant lines:
https://github.com/riptideio/pymodbus/blob/94044f134014f90a1144809d6e93ab8a8606a8e5/pymodbus/client/tcp.py#L260-L286
        data = []
        data_length = 0
        time_ = time.time()
        end = time_ + timeout
        while recv_size > 0:
            try:
                ready = select.select([self.socket], [], [], end - time_)
            except ValueError:
                return self._handle_abrupt_socket_close(size, data, time.time() - time_)
            if ready[0]:
                if (recv_data := self.socket.recv(recv_size)) == b"":
                    return self._handle_abrupt_socket_close(
                        size, data, time.time() - time_
                    )
                data.append(recv_data)
                data_length += len(recv_data)
            time_ = time.time()

            # If size isn"t specified continue to read until timeout expires.
            if size:
                recv_size = size - data_length

            # Timeout is reduced also if some data has been received in order
            # to avoid infinite loops when there isn"t an expected response
            # size and the slave sends noisy data continuously.
            if time_ > end:
                break

The code uses the select operation to block until all data is received on the socket or the total time reaches the specified timeout, thus no other operations can be done while waiting for the response.
The solution to this is really simple, the pymodbus asynchronous clients should be used. The pymodbus asynchronous clients use instead a class which inherits from asyncio.Protocol (https://github.com/riptideio/pymodbus/blob/94044f134014f90a1144809d6e93ab8a8606a8e5/pymodbus/client/base.py#L262). The Python asyncio.Protocol class is the way to implement network protocols with asyncio in Python, see https://docs.python.org/3.11/library/asyncio-protocol.html#protocols.
In pymodbus, the asynchronous clients have the protocol and the use_protocol attributes, where use_protocol is just a boolean flag that indicates if the attribute protocol exists. When a read or write request is made in pymodbus one of the first things executed is the ModbusBaseClient.execute method:
https://github.com/riptideio/pymodbus/blob/94044f134014f90a1144809d6e93ab8a8606a8e5/pymodbus/client/base.py#L174-L187
    def execute(self, request: ModbusRequest = None) -> ModbusResponse:
        """Execute request and get response (call **sync/async**).

        :param request: The request to process
        :returns: The result of the request execution
        :raises ConnectionException: Check exception text.
        """
        if self.use_protocol:
            if not self.protocol:
                raise ConnectionException(f"Not connected[{str(self)}]")
            return self.protocol.execute(request)
        if not self.connect():
            raise ConnectionException(f"Failed to connect[{str(self)}]")
        return self.transaction.execute(request)

Here the code checks if use_protocol is true, if so then that means that the client has an asyncio.Protocol in the protocol attribute and will execute the network operations asynchronously.
So, in the pymodbus_async_modbus_client.py I think the changes should be:

Use the asynchronous pymodbus clients, the PyAsyncModbusTcpClient and PyAsyncModbusRtuClient should be as follow:

class PyAsyncModbusTcpClient(PyAsyncModbusClient):
    def __init__(self, host: str, port: int = 502, **kwargs: Any) -> None:
        super().__init__(pymodbus.client.tcp.AsyncModbusTcpClient(
            host=host, port=port, **kwargs))

class PyAsyncModbusRtuClient(PyAsyncModbusClient):
    def __init__(self, path: str, baudrate: int = 9600, stopbits: int = 1, parity: str = "N", **kwargs: Any):
        super().__init__(pymodbus.client.serial.AsyncModbusSerialClient(
            port=path, baudrate=baudrate, stopbits=stopbits, parity=parity, **kwargs))

In the PyAsyncModbusClient class, the constructor can check is the pymodbus client is actually asynchronous:

    def __init__(self, client: pymodbus.client.base.ModbusBaseClient):
        if not client.use_protocol:
            raise ValueError("client must be a pymodbus asynchronous client object")
        self.client = client

Also, in the current code a ThreadPoolExecutor is used for running the pymodbus calls, I am not sure why this was used, but I think it is not needed.

In the PyAsyncModbusClient class, the calls to pymodbus should be made directly with await, for example the write_coil method shoud be as follows:

    async def write_coil(self, slave: int, address: int, value: bool) -> None:
        await self.client.write_coil(slave=slave, address=address, value=value)

As a side note, pymodbus is quite complicated, i just checked this week the details about its inner working. To check all the calls that were made I used the viztracer tool (https://github.com/gaogaotiantian/viztracer), which generates a trace of all the program calls which can be later viewed in the browser with the vizviewer tool, it is very nice.

Hi @tombolano, thank for the issue report.
I am big fan of asynchronous programming and the first thing I tried by the time I was working on this library was to try to use asynchronous version. It was quite some time ago, but as far as I remember I hit some issues with the async version and decided to keep sync version as it was just working well.

The code uses the select operation to block until all data is received on the socket or the total time reaches the specified timeout, thus no other operations can be done while waiting for the response.

This is not true in current version, exactly due to using ThreadPoolExecutor to perform the sync operation in another thread (it is IO blocking, so even with GIL Python limitations it is perfectly fine to offload to separate thread, to make it truly asynchronous). This way, using _run wrapper, I have async version of sync code at almost no cost.
If pymodbus 3.x.x improves asyncio support, I will for sure take a look into it more.

@tombolano yeah, asyncio support is much better now, I implemented initial version here -> https://github.com/KrystianD/modbus_client/tree/dev-async
Sadly, there is no async common interface, instead they overload sync methods with async counterparts..
I just need to battle test this in my systems, though.

Thanks @KrystianD
Yes, it seems the pymodbus 3.x.x async interface works well, I had tested the changes that I showed in the first message and they seemed to work correctly.

Sadly, there is no async common interface, instead they overload sync methods with async counterparts..

Yes, in this regard the pymodbus interface is weird, this is why in the code I showed before I checked the client.use_protocolattribute, to make sure that the client was asynchronous.

Yes, in this regard the pymodbus interface is weird, this is why in the code I showed before I checked the client.use_protocolattribute, to make sure that the client was asynchronous.

In general, my AsyncModbusClient interface is not to be implemented by the library user (not exported), so creation of the final classes is fixed to PyAsyncModbusTcpClient and PyAsyncModbusRtuClient, but added the check, just in case :)


✨ [Feature] Refactor the queue facades

Before feedback (在反馈之前)

[X] There are no features that I want to submit in Issues (当前 Issues 中没有我将要提交的新功能)

Describe Feature (描述功能)
Currently, none of the third-party packages has a database driver and lacks maintenance. We plan to implement one by ourselves.
Will support:

Async and sync for job dispatch.
Redis or Database or memory driver.
interfaces to get queue status.

Closes #131 #96 #37

It seems that this feature shouldn't be a breaking change?

Will this also have a dashboard like laravel horizon or asynqmon?.
It's sad to see that you dropped asynq as I've been using them on a production app and everything seems to be working perfectly fine.
PS: But still, that is a good idea.

asynq doesn't support database driver and it's seems difficult to add database driver for it.
So, I thinking better is to develop a new queue module for goravel.

It seems that this feature shouldn't be a breaking change?

It's unclear, maybe there won't be breaking changes.

Maybe we can use one package for Redies and use another one package for other drivers.

Maybe we can use one package for Redis and use another package for other drivers.

Yes, I will look for it when I'm free.

Additional: support retry feature.

Let me see how Laravel implement it.


Viafree.dk JSON Expecting Error

I get a JSON Expecting error with all videoes i want to download from viafree.dk like this one:
D:\Downloads>youtube-dl --output Amalies.Baby.S01E01.mkv https://www.viafree.dk/programmer/reportage/amalies-baby/saeson-1/episode-1
[Viafree] episode-1: Downloading webpage
WARNING: [Viafree] episode-1: Failed to parse JSON Expecting ',' delimiter: line 1 column 10847 (char 10846)
[mtg] 731552: Downloading video JSON
[mtg] 731552: Downloading streams JSON
[mtg] 731552: Downloading m3u8 information
[mtg] 731552: Downloading f4m manifest
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 10
[download] Destination: Amalies.Baby.S01E01.mkv
[download] 100% of 31.94MiB in 00:05
[ffmpeg] Fixing malformated aac bitstream in "Amalies.Baby.S01E01.mkv"

This is not an error.


⚠ GLDDNS Server (ns2.glddns.com) has degraded performance

In 37f32c2, GLDDNS Server (ns2.glddns.com) (ns2.glddns.com) experienced degraded performance:

HTTP code: 200
Response time: 428 ms

Resolved: GLDDNS Server (ns2.glddns.com) performance has improved in 3b57223 after 9 minutes.