Frequency error / not using GPS reference

Thanks for the v1.1 .uf2, I tried it today.
I have connected a GPS but see no frequency correction.
SETFREQ 10000000
Frequency (measured) stays at 10 000 014.3   (error of 1.4 ppm)
Slightly sensitive to temperature and/or touching the crystal. Even with some careful averaging, against an accurate reference, I can't see any frequency change from turning the GPS on and off.
Stated frequency is always:

Working freq: 10000000 Hz + 0 milliHz

so it looks like the GPS correction is not being applied to the pio dco.
GPS NMEA is connected to Pico board pin 2, RP2040 GPIO1 (UART0 Rx)
GPS PPS is connected to Pico board pin 5, RP2040 GPIO3.
Both seem to be working, so I don't think it's related to this.
Could this come from a ppb / ppt mixup. STATUS reports
GPS frequency correction 1446430 ppb
is the correct figure, but in parts per trillion not billion.
No, I think it's all correct except for the labelling of "ppb" in many places.
piodco.c returns the correct 14465  mHz correction.
Perhaps this is not being applied correctly?
Some STATUS messages for reference:
Pico-hf-oscillator system status
Working freq: 10000000 Hz + 0 milliHz
Output is ENABLED
GPS UART id 0
GPS UART baud 9600
GPS PPS GPIO pin 3
GPS error count 0
GPS NAV solution flag 1
GPS GPRMC receive count 150
GPS PPS period<PHONE_NUMBER>5760
GPS frequency correction 1446430 ppb
GPS lat 49....... deg1e5
GPS lon -123....... deg1e5
=> STATUS
Pico-hf-oscillator system status
Working freq: 10000000 Hz + 0 milliHz
Output is ENABLED
GPS UART id 0
GPS UART baud 9600
GPS PPS GPIO pin 3
GPS error count 0
GPS NAV solution flag 1
GPS GPRMC receive count 318
GPS PPS period<PHONE_NUMBER>0753
GPS frequency correction 1435649 ppb
GPS lat 49....... deg1e5
GPS lon -123....... deg1e5
=> STATUS
Pico-hf-oscillator system status
Working freq: 10000000 Hz + 0 milliHz
Output is ENABLED
GPS UART id 0
GPS UART baud 9600
GPS PPS GPIO pin 3
GPS error count 0
GPS NAV solution flag 1
GPS GPRMC receive count 599
GPS PPS period<PHONE_NUMBER>2318
GPS frequency correction 1409447 ppb
GPS lat 49....... deg1e5
GPS lon -123....... deg1e5```

Dear Thomas,
Sorry for the belated answer.
I will check this case.
Meanwhile, the previous version (w/o console & old pio dco which was up to 9.4M) worked correctly on 7 MHz band, transmitting WSPR. Unfortunately, I had no opportunity to test the new version closely due to starting a Christmas rally.
Thank you for this report, it is useful.
Cheers,
Roman
R2BDY


Monomorphization Pass

Also see #1629

This also is (roughly), or at least includes, https://github.com/CQCL/hugr/issues/709


1492-dev-add-unit-tests-for-powersys-renewablegeneratorretrofit: Adde…

…d tests for this class

Methods of uk.ac.cam.cares.jps.powsys.retrofit.RenewableGeneratorRetrofit class that are unit-tested:

setLogger()
processRequestParameters()
validateInput()

Methods that are not unit-tested:

retrofitGenerator(): This method sends multiple requests to localhost which requires a complete setup of the application and the local database. It goes beyond the scope of a unit test.


Automatic logging in causes an error when properties from another group already exists

After assignment is marked, this can be fixed.

Fixed in 71769f097722866a1623b66005ade13d246c7e44.

Fixed in 71769f097722866a1623b66005ade13d246c7e44.


Opening text blobs larger than 4MB fails

Appears to be a vscode bug.
Opening '32MB.txt' ...
Unable to open '32MB.txt'
Error Details: Cannot read property 'uri' of undefined
private async showEditorFromFile(context: ContextT, localFilePath: string): Promise<void> {
    const document = await vscode.workspace.openTextDocument(localFilePath); <<< returns null
    this.fileMap[localFilePath] = [document, context];
    await vscode.window.showTextDocument(document);
}

See Microsoft/vscode#43861

I'll be restricting download/upload size to 4MB until this is fixed.  Then we could consider increasing that limit.

Download/upload size restricted to 4MB.  Can revisit that once this is fixed in vscode.

We'll live with this limit for now.


@testing-library listed in dependencies

Describe the bug
When creating a new application using:
npx create-react-app my-app
cd my-app

I noticed in dependencies we have testing libraries:
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.0",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.3.0"
  },

Environment
  System:
    OS: Windows 10 10.0.16299
    CPU: (8) x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
  Binaries:
    Node: 12.14.0 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 6.13.4 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 41.16299.1480.0
    Internet Explorer: 11.0.16299.371
  npmPackages:
    react: ^16.12.0 => 16.12.0
    react-dom: ^16.12.0 => 16.12.0
    react-scripts: 3.3.0 => 3.3.0
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce
When creating a new application using:
npx create-react-app my-app
cd my-app

I noticed in dependencies we have testing libraries:
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.4.0",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.3.0"
  },

Testing libraries should be listed as dev-dependencies

This is intentional. See this comment https://github.com/facebook/create-react-app/issues/6180#issuecomment-453640473


Added Badges to Readme

I added some badges to the readme to make it looks better, and make it easier to find the python package.

I recommend a squash merge to keep the commits in the main branch clean.
These commits are similar.

I recommend a squash merge to keep the commits in the main branch clean.
These commits are similar.

How can this be done?


Bug - Bind enabled state for script editor icons to related editor.

Problem
Currently it looks like that the vertical script editor icons enabled/disabled state is bound to the script editor which has focus. It would be better that the icon state is bound to the script editor which contains the icon and not to the script editor which currently has focus.
How to reproduce

Open two script editors for 2 different drivers.
I used PostgreSQL and SQLite because only the PostgreSQL driver provides the functionality to create a execution plan.
Focus the PostgreSQL editor.
Now you should see that in both editors the Explain execution plan button is enabled.

Focus the SQLite editor.
Now you should see that in both editors the Explain execution plan button is disabled.

My advice...
Currently when a button is disabled you can still click it. So I wouldn't change button state when leaving focus from a script editor.

I wanted to add that this also applies to the icons at the buttom which provides functionality to add/edit/remove records:

As you can see the PostgreSQL script editor has focus and no query result. Because of that DBeaver is unabled to modify records so it disables the icons. Which is nice but it also disables the buttons for the SQLite script editor. And when i focus the SQLite editor, the buttons in the PostgreSQL editor are enabled...


Fix typo in StoryboardBased examples

Thanks for your contribution!
Could you add an entry in the CHANGELOG to credit yourself? Even documentation fixes however small they are are important  😉
(Don't forget to add a period and 2 spaces at the end of the line describing your change, it has to do with markdown formatting — just look at  other entries for inspiration)

@AliSoftware Done! 🎉


Prevent duplicate tags (some tags already loaded)

I used selectize to realize a dropdown list with tags. Additional I use the plugins 'restore_on_backspace' and 'remove_button'. Also I read about the conversation to allow double values, but my case now is:
I have some tags already in my list (right at site load). Now I type in a tag which was already in the input field... AND, i can add it !???
Selectize doesnt compare tags which are already in the input ?
Is this a bug?
How can i prevent this?
Thanks for any help

Closing as inactive.


Add GitHub action to publish to PyPi

This is related to #16
The way this will be working is by detecting changes in __version__.py. It will pick up any time that file is changed and upload the new version to PyPi.
If you prefer a different way, such as manually creating a release or a tag would trigger this, let me know and I'll change that.

To allow PyPi accepting publish the package from a Github Action you need to follow this process. It's a really simple change:
https://docs.pypi.org/trusted-publishers/adding-a-publisher/
Just make sure that the config matches what I added in the YAML file. Basically, the workflow name is pypi-publish.yml and the environment is called pypi

Looks great, thanks for the contribution.


Missing peer dependency

In the changes to meet #1 gulp-util was added to index.js but it is not listed in the peerDependencies section in package.json. This means that anyone using this extension has to install gulp-util separately.

but gulp util comes with gulp, which is a current peer dependency. Do you use npm v3 ?

Oh, I see. We were using npm v2. I've upgraded to npm v3 and it seems to be working now. Thanks for the clarification!

Yes, the official angular site recommending npm 3 and node 5


fix clone memory option

clone memory option only works if value is equal to 'double'. If clone option is true it just returns original value.

Hey @tjengland. Thanks for this fix. Can you write a test for it?

Hey @tjengland. Can you write a test for it? Also can you point it out where things are breaking? Because also cloning on set (We also do it inside find) is the purpose of 'double'.

sure i'll take a deeper dive on Monday. We tested with clone=true and we were still seeing object mutation. As soon as we manually set the value with JSON parse / stringify the issue was fixed.

Hey @tjengland. I think this PR was made because 'double' was not released at the time. Would you mind testing again with it (v1.3.0+), feel free to reopen this PR if not resolved.


using bbb-monitoring with scalelite

hi @greenstatic  ,
i have istalled scalelite using docker , article referred  : https://medium.com/@jesusfederico_39370/scalelite-lazy-deployment-745a7be849f6
i then installed this tool , but iam not able to configure the nginx .
i have the following containers running  refer : https://prnt.sc/xczjyk
i bashed into the nginx container and tired adding the bbb-monitor nginx code. but it gives me the following error
https://prnt.sc/xczs0o
any idea on how to fix this.
thanks.

If I understand correctly, you cannot place the exporter behind your Nginx or the exporter is failing to scrape your BBB servers?. You should configure an exporter per BBB server and not configure the exporter to scrape the scalelite api.

If I understand correctly, you cannot place the exporter behind your Nginx or the exporter is failing to scrape your BBB servers?. You should configure an exporter per BBB server and not configure the exporter to scrape the scalelite api.


Rename Question and Answer

Rename Question to ProductQuestion
Rename Answer to ProductAnswer
Update all migrations
Update all views
Update all controllers
Update Routes

Depends on spree 4 compatibility(https://github.com/netguru/spree_products_qa/pull/10)


Refactor for TLS

Changes in this PR:

Remove driver#newLocalDriver() and refactor PFS test
This will make it easier to rewrite the pachd client initialization code in src/server/pfs/server/server_test.go (all client initialization needs to be rewritten to accept TLS certificates)

Rename EtcdDialOptions to DefaultDialOptions (used in several places)
PachdDialOptions previously include grpc.WithInsecure(), however connecting to Pachd may use TLS now, so the former PachdDialOptions isn't always appropriate for Pachd. Now callers pass EtcdDialOptions when initializating Pachd (and either include trusted TLS certs or grpc.WithInsecure), so I changed the name to make it less weird.

Based on: https://github.com/pachyderm/pachyderm/pull/2966, which should be submitted first

I believe we're hitting https://github.com/kubernetes/minikube/issues/2704 in travis, so in addition to the stated refactoring, I'm also modifying etc/kube/start-minikube.sh to use localkube (which I gather doesn't require systemd, which is not available in travis VMs)


New-style explain output

Fixes #319

Let me know if you want to go back to the wikipedia example query or if this one is OK.


Drop Privileges

We need to start as root since we're opening sockets below port 1024, but we should drop privileges after.

This will be the job of *.__init__ as that is where the binding is done.
Is nobody available/suitable on all *nix?

I think a configurable user, with defaulting to not dropping privileges is reasonable. nobody probably works universally, but I don't know of any spec requiring it.

I'm working on this now.
Do we want to drop group as well?

Probably should drop group too.

I should have a PR ready shortly

Do we have any sort of confirmation that using nobody requires no configuration of users/groups? There shouldn't be a need to create/edit users/groups regardless of the advantage to doing so...

this implies nobody should exist, but we can't know for every platform.

@psychomario @icb- what are the advantages to this exactly? Are we attempting to mitigate a security threat we aren't yet aware of or is there a specific threat we've found somewhere that this patches? None of our operations perform writes on the host machine, only reads, so is there something we're afraid that we're leaving ourselves open to?

This just protects us from issues in the stack above us I think (kernel, python interpreter). IIRC it also allows users to kill the process if it's as their username.

Killing it shouldn't be an issue, the convenience of not having to be root or use sudo is definitely outweighed by the complexity of implementing this along with the uncertainty of whether or not we've implemented it well enough for it to be cross-platform. Have we come across any issues in the stack (kernel, Python interpreter, etc.)?

Fair enough. And no, not personally. They have existed in the past, but it's unlikely it'll affect us.

I think we should close this as well as #109, if we come across a serious issue or find a way to cleanly and confidently implement this cross-platform we can re-visit this. Fair enough?

Sounds good.


rework authentication

Fixes #676.
https://osc.github.io/ood-documentation-test/default-auth/
With the default authentication changed, this updates the documentation for the same. In addition it adds a debugging section as when one is installing, they may/will need to know how to debug apache. It removes a couple redundant/old installation steps as well.
┆Issue is synchronized with this Asana task by Unito

So far the content is looking good. Just added a few suggestion for consistent capitalization of Apache and some wording and link changes.

Thank you for all the suggestions. Makes it very easy to update small things like that. I believe I've made all the updates, but I'm going a second pass now anyhow.

Took a second pass, updated & added some Apache links and a few minor errors.

@treydock I'm going to pull this in now, feel free to continue to comment on it if there are still misses.


fix for the proposal free text with html link

Codecov Report

Merging #396 (c61d45e) into develop (6e4e740) will increase coverage by 9.96%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #396      +/-   ##
===========================================
+ Coverage    76.08%   86.05%   +9.96%
===========================================
  Files           81       49      -32
  Lines         3036     1936    -1100
  Branches       469      307     -162
===========================================
- Hits          2310     1666     -644
+ Misses         726      270     -456

Flag
Coverage Δ

batch-submitter
?

contracts
86.05% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

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

Impacted Files
Coverage Δ

packages/core-utils/src/coders/index.ts

...kages/data-transport-layer/src/utils/validation.ts

packages/core-utils/src/common/misc.ts

packages/core-utils/src/common/hex-strings.ts

packages/core-utils/src/watcher.ts

packages/core-utils/src/coders/sequencer-batch.ts

...ices/l1-ingestion/handlers/transaction-enqueued.ts

packages/data-transport-layer/src/utils/index.ts

...h-submitter/src/batch-submitter/batch-submitter.ts

packages/core-utils/src/l2context.ts

... and 22 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6e4e740...c61d45e. Read the comment docs.


[DEV] stop axios from logging errors in dev console

Is your feature request related to a problem? Please describe.
Sometimes remote APIs are down or not accessible from a dev environment. Even when the code handles the axios exception and uses a fallback API, the axios lib still logs an error in the console which gives the wrong impression that the API call was not handled gracefully.
Describe the solution you'd like. Include clear acceptance criteria.
Given, an axios exception is handled gracefully, when a remote API call fails, then the dev console should not show an error message. Instead it should show warning or info in dev mode.
Additional context
Here is an example function that causes axios dev console errors when the API call fails to api.olympusdao.finance which is hosted on Hasura and has CORS restrictions. The exception is caught and handled with a fallback call, but the dev console still logs an axios error.
https://github.com/OlympusDAO/olympus-frontend/blob/6297d84bcc48f37543b24505ec7a9b7879355efc/src/helpers/index.tsx#L63

Turns out this is actually default Browser behavior and isn't possible to fix with JS.
So there are two options --

Adjust your browser's settings to "Hide network" (below is Chrome)

We add something like:

export async function getTokenPrice(tokenId = "olympus"): Promise<number> {
...
} catch (error: any) {
    if (error?.response?.status == 400 || error?.response?.status == 404 /* || etc. */) {
        console.clear();
    }
    console.warn(`PI`, error);
    console.warn(`Error accessing OHM API ${priceApiURL} . Falling back to coingecko API`, error);
...
}

This clears the console so we can log whatever we want (i.e. only warnings); however, all previous messages are blown away.

I'm happy to implement the latter but would recommend option 1 so developers can tune the console output as they see fit.

Thank you for thorough research and proposed solutions, @kr1tzy .
I agree that Option 2 is not desirable as it may hide other important messages we should know about.
Option 1 seems to be a reasonable workaround for right now until api.olympusdao.finance provides a mechanism for dev calls to the API from a broader range of hosts via API_KEY or a similar mechanism that are not CORS restricted.
If there are no objections, we can close this issue. @appleseed-iii @0xJem @rrobrms?

@ivelin Definitely, happy to help.

@kr1tzy Would you like to get more involved with DAO roadmap? If so, please DM on discord: ivelin.eth Ω#2149

@ivelin DM'd


Fix issues with recent Emissary-Ingress version in 0.4.6

enable deployment of default listener
added workaround for the host mapping problem, when the port send by GRPC (e.g. from a K8s service) does not match the port in the listener.

Coverage increased (+0.06%) to 59.081% when pulling 75c4e3c6c2357416ddf8002d632e4e0895a6d961 on fix/host-mapping-of-newer-emissary-ingress-version into 69d5ebe90090e4c926ba3d65e726475dbf9112c9 on main.


Escape doesn't cancel insertion tool

When a tool is selected & esc is pressed, the tool should switch back to pointer.

Unable to reproduce


Update the dependency to core-java 0.10.38-SNAPSHOT.

Auto-generated PR to update core library dependency to the latest version.

Closing this PR as the version has already been updated in https://github.com/SpineEventEngine/jdbc-storage/pull/59.


Allow socket middleware to work on custom ports

I have other apps that listen on :9090, so I tried setting a custom port and found that this port was hardcoded here. Confirmed that this fix worked for me.
Note that setting port 80 (with sudo) will receive a CORS error unless this other line is also updated. The CORS setting will have to require the http://localhost origin, http://localhost:80 is not sufficient for CORS, even though this line will successfully connect socketio to http://localhost:80. https://github.com/invoke-ai/InvokeAI/blob/f1d4862b132a3c604db9632862192f24fe01b3bd/backend/server.py#L98

Hi @RobertBolender ,
The reason for the hardcoded port is that we want to run the frontend build tooling dev HTTP server. Hardcoding the port meant we could run the vite dev server and the flask/socketio server at the same time (otherwise they try to use the same port).
The change you have made prevents the JS dev server from working, but of course allows for better end-user functionality.
@blessedcoolant , barring a more elegant solution, shall we accept @RobertBolender 's change and add a note that to run the vite dev server, you'll need to edit the middleware file? IMO it is reasonable to expect that if you are working on the frontend, you are also able to hardcode the port in the middleware while you do your work, taking care not to re-commit the hardcoded port.

@psychedelicious Would it not be possible to pass down the port to socketio from the launch parameters?

@blessedcoolant Maybe I am misunderstanding your suggestion, but the tricky part is telling the socketio client in the JS the port to use. I'm not sure how to do that.

@blessedcoolant Maybe I am misunderstanding your suggestion, but the tricky part is telling the socketio client in the JS the port to use. I'm not sure how to do that.

Did you try pushing the port that is being set to the Flask API and then calling that in the socketio file and referencing it there?

Sorry, I don't follow...
My initial fix was a flask route that sent JSON with the host and port as set when running server.py. The frontend requests this route to get the socketio host and port. This worked for me but not for you, not sure why. You had suggested to hard code the port as a temporary fix. I haven't tried anything else since.

@psychedelicious Oh yes I remember suggesting that. I'll have a look at the code over the weekend and see if there's a way to resolve this issue.

I'm leaving this one for you folks to hash over.

@psychedelicious Did the changes we made mark this as sorted?

@blessedcoolant I've figured out a solution, see #846

I'm closing this one, as it is superseded by #756.


add an event outside eventViewsForDate

is it possible?

No, it's not possible. However, it's a good idea to add method reloadData, so events will be fetched again.


Be able to display logo

It would be nice if instead of displaying the web URL we could display our own logo.
Instead of this:

Be able to also display a logo:

Hi @josemiguel-alvarez, can I pick this one?

Hi @amrendranath, yes, of course! thank you for contributing

Implemented in #14 by @amrendranath


Fix: Hyphenate to "model-in-the-loop"

The phrase "model-in-the-loop" is now hyphenated to align with standard practices in technical literature, where hyphenation of compound adjectives clarifies their function as a single descriptor.

Thanks!


fix corner cases where val cannot be serialized

@yunong @micahr was a bit optimistic in prior commit. have to push out a patch now. ;(  can you guys verify this logic? this was blowing up in the case the value is undefined, where any property accesses (typeof or hasOwnProperty) will instantly fail.

This seems fine. But so did the last one. :smile:

I added another scenario - usage of JSON.stringify if it's a POJO.

Direction of the PR changed. We now use JSON.stringify, and fall back on safe-json-stringify if we can't handle the circular refs. This is the strategy that bunyan currently uses.


add CI (GitHub Actions)

I understand this is just a strawman repo, but still, this would help avoid little mishaps like #11
since I don't have push rights in this repo and this is coming from my fork, it won't run until merged
review(/merge) by @natsukagami?

appears to be functioning as expected at https://github.com/lampepfl/async/actions/runs/4563957751


[1.x] Improve CI

I am sorry, but php lint is nowhere near as good as PhpStan in that regard.
Php lint will only discover php syntax errors where PhpStan will actually do static analysis with Liskov Substitution principle and ensure strict typing with respect to arguments.


set source window margins wider.

not sure if it is a Visual vs Source window thing but often the width of the working page is so small it makes it difficult to read and write on imo.

vs


Draft PR: Modify .gitmodules for CGM submodules and change default for Dexcom uploads

This is a draft PR as an example for using a different GitHub username than LoopKit for submodules to be used by Trio.

The submodule repositories have dev or main branches aligned with LoopKit so updates can be captured as desired moving forward.
Modifications desired for trio will go into a trio or trio_dev branch in the alternate location.
This is a work-in-progress approach.
The steps used for updating are subject to review and modification as directed by Trio developers.

Because the trio and trio_dev branches were aligned with LoopKit dev branch for CGMBLEKit, this PR also picks up a fix to SAGE uploads for G6 that was merged into LoopKit (PR 191). I was waiting to see if an additional pr (PR 192) would be accepted by LoopKit prior to updating Trio SHA for CGMBLEKit.

Closing to start fresh.

request is to begin with a single PR that changes the links and branches in .gitmodules without modifying the SHA used by Trio


Level Generation Does Not Work For Some Seeds

Currently level generation is not complete in the sense that for some seed values it will infinitely generate OR throw an exception

It seems to fail at the room division stage, i.e. when trying to work out which nodes belong to which room we get stuck on some nodes that can't be placed in any rooms!
At the very least we could check this (by looking between cycles to see if any changes occured?
Then at least we could get some more debug info by generating the map so we can visually inspect it. (or we could output as another format? ... a png maybe?)

This might be bit easier now that #12 is completed.

I suspect the issue here is a bug with the room division system. I think we are managing to get in a state where it thinks one of the nodes is out of reach of all rooms (which can't be possible as our generation always makes nodes which are connected.
Otherwise, we are consistently getting extremely unlucky and the random number generator is never picking the correct room that would reach said node. But that is unlikely.
Maybe we change the way rooms are generated... maybe rather than generate a node set and dividing it, we instead grow rooms in space, and then connect them via corridors (or directly where possible).

I've also noticed that sometimes doors aren't properly placed (only one side of a wall is a door, the other is a wall).
I suspect this occurs when a node has two (or more) doors on it different faces

Well I found the reason for the hang, I was storing the node count (when adding nodes) in a uint8, therefore, when requesting a number of nodes other 255 it would wrap around to 0 again and we'd keep trying to add nodes! Oops!


Ansible fetch from target do not use streaming file transfer

I think we've hit this issue.
2019-07-08 21:42:27,015 p=22109 u=root |  TASK [lms-support : Gather host support information] ***************************
2019-07-08 21:42:27,015 p=22109 u=root |  Monday 08 July 2019  21:42:27 +0000 (0:00:00.250)       0:00:11.641 ***********
2019-07-08 21:42:27,359 p=22109 u=root |  included: /opt/exabeam_installer/ansible/roles/lms/lms-support/tasks/run_support_on_host.yml for host1, host2
2019-07-08 21:42:27,479 p=22109 u=root |  TASK [lms-support : set_fact] **************************************************
2019-07-08 21:42:27,479 p=22109 u=root |  Monday 08 July 2019  21:42:27 +0000 (0:00:00.463)       0:00:12.105 ***********
2019-07-08 21:42:27,579 p=22109 u=root |  ok: [host1]
2019-07-08 21:42:27,596 p=22109 u=root |  ok: [host2]
2019-07-08 21:42:27,706 p=22109 u=root |  TASK [lms-support : Run support task on hosts] *********************************
2019-07-08 21:42:27,707 p=22109 u=root |  Monday 08 July 2019  21:42:27 +0000 (0:00:00.227)       0:00:12.333 ***********
2019-07-08 21:43:18,005 p=22109 u=root |  changed: [host2]
2019-07-08 21:43:47,972 p=22109 u=root |  changed: [host1]
2019-07-08 21:43:48,088 p=22109 u=root |  TASK [lms-support : Fetch output tar file] *************************************
2019-07-08 21:43:48,089 p=22109 u=root |  Monday 08 July 2019  21:43:48 +0000 (0:01:20.381)       0:01:32.715 ***********
2019-07-08 21:43:49,344 p=22109 u=root |  changed: [host2]
2019-07-08 21:43:54,815 p=22109 u=root |  ERROR! [task 29315] 21:43:54.814786 E mitogen: Maximum message size exceeded (got 218211706, max 134217728)

The task that triggered this was:
- name: Fetch output tar file
  fetch: dest="{{ support_root_dir }}/" src="{{ output_file }}" flat=yes
  ignore_errors: yes

Despite the ignore_errors: yes, ansible exited/crashed here.
Interestingly, the size of the file that it was trying to transfer was 163658638 bytes (~157MiB), not 218211706 bytes.
host1 is the local host running ansible, but connected over SSH.
Originally posted by @alexhexabeam in https://github.com/dw/mitogen/issues/279#issuecomment-509757108

Hi @alexhexabeam,
Your problem is slightly different -- download is not done with streaming transfer. The max_message_size limit is a sanity check, the protocol should never be coping with messages anywhere nearly that large, as they trigger memory spikes on every machine.
This is a problem of missing functionality in the extension -- uploads are already streaming, but downloads are still message-based. This was just never added because I forgot about it, and nobody complained.. until now.. :)
Thanks for reporting this, it should be a very quick fix, so will hopefully include it in 0.2.8

The reason for the size expansion is almost certainly due to a horrible misfeature of Python 3 -- documented in #485. Are you using Python 3 on the controller or target?
A fix for that is much more involved. If you have SSH compression enabled (which is the default with Mitogen), this size expansion should almost completely disappear in terms of bandwidth usage.

@dw Thanks for the attention on this.
We are using Python 2.7.5 (the one that ships with CentOS 7) on both, so it's unlikely to be caused by a Python 3 issue.
Our ansible.cfg is as follows:
[defaults]
any_errors_fatal=True
ask_sudo_pass=False
callback_whitelist=profile_tasks
deprecation_warnings=False
forks=32
gather_timeout=60
hash_behavior=merge
host_key_checking=False
jinja2_extensions = jinja2.ext.do
log_path=../ansible.log
pipelining=True
retry_files_enabled=False
roles_path=roles/plt:roles/lms:roles/uba:roles/soar
timeout = 90
strategy_plugins = mitogen-master/ansible_mitogen/plugins/strategy
strategy = mitogen_linear

[ssh_connection]
# ControlPersist 5 hours
retries=5
ssh_args = -o ControlMaster=auto -o ControlPersist=18000s -o ForwardAgent=yes

[privilege_escalation]
become = True
become_method = sudo

[callback_profile_tasks]
task_output_limit = 10

Are both your controller and target machines on Python 2? The originator of the message would cause the size expansion -- in the case of file download, it's be the target machine. If it is not in fact Python 3, then that is verrry interesting, and requires further investigation

The size expansion is almost exactly 33%, so it definitely looks like the same issue as #485

Sorry, I see you wrote "on both": ) Apologies, I wasn't doubting your answer, just not reading it

We are definitely using Python 2.7.5 on both. RedHat (and in turn CentOS) backports all kinds of things, though, so maybe they grabbed some change that they shouldn't have.
We have had mitogen disabled since we hit this, so we may have had a slightly older RPM at the time. Our current package is python-2.7.5-76.el7.x86_64

This is now on the master branch and will make it into the next release. To be updated when a new release is made, subscribe to https://networkgenomics.com/mail/mitogen-announce/
Thanks for reporting this!

@dw This does not seem to be fixed.
This is easily reproducible by creating a 512MB file, then attempting to fetch it. I tested this with both compressible and uncompressible data.
I created the files on the remote machine (host2 in this example):
dd if=/dev/urandom of=/opt/exabeam/data/urandomtest bs=1M count=512
dd if=/dev/zero of=/opt/exabeam/data/zerotest bs=1M count=512

Then ran this playbook:
- name: test
  any_errors_fatal: True
  hosts: host2
  gather_facts: no
  become: yes
  become_method: sudo
  tasks:
    - name: fetch urandomtest
      fetch:
        src: /opt/exabeam/data/urandomtest
        dest: /tmp/
        flat: yes
    - name: fetch zerotest
      fetch:
        src: /opt/exabeam/data/zerotest
        dest: /tmp/
        flat: yes

Note that it hung after the error until I CTRL-C'd it after several minutes.
(.env) [exabeam@dev-20190816-233324-1 ansible]$ ansible-playbook -i ../inventory playbooks/test.yml

PLAY [test] **************************************************************************************************************************************************************************************************************************************************************************************************************************************************

TASK [fetch urandomtest] *************************************************************************************************************************************************************************************************************************************************************************************************************************************************
Saturday 17 August 2019  00:04:21 +0000 (0:00:00.299)       0:00:00.299 *******
ERROR! [task 11477] 00:04:40.856360 E mitogen: Maximum message size exceeded (got 715828094, max 134217728)
^CProcess WorkerProcess-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
 [ERROR]: User interrupted execution

    self.run()
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/strategy.py", line 174, in wrap_worker__run
    lambda: worker__run(self)
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/core.py", line 633, in _profile_hook
    return func(*args)
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/strategy.py", line 174, in <lambda>
    lambda: worker__run(self)
  File "/opt/exabeam_installer/.env/lib/python2.7/site-packages/ansible/executor/process/worker.py", line 118, in run
    self._final_q
  File "/opt/exabeam_installer/.env/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 140, in run
    res = self._execute()
  File "/opt/exabeam_installer/.env/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 612, in _execute
    result = self._handler.run(task_vars=variables)
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/mixins.py", line 116, in run
    return super(ActionModuleMixin, self).run(tmp, task_vars)
  File "/opt/exabeam_installer/.env/lib/python2.7/site-packages/ansible/plugins/action/fetch.py", line 95, in run
    slurpres = self._execute_module(module_name='slurp', module_args=dict(src=source), task_vars=task_vars)
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/mixins.py", line 359, in _execute_module
    timeout_secs=self.get_task_timeout_secs(),
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/planner.py", line 503, in invoke
    kwargs=planner.get_kwargs(),
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/connection.py", line 445, in call
    return self._rethrow(recv)
  File "/opt/exabeam_installer/ansible/mitogen/ansible_mitogen/connection.py", line 431, in _rethrow
    return recv.get().unpickle()
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/core.py", line 1177, in get
    msg = self._latch.get(timeout=timeout, block=block)
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/core.py", line 2637, in get
    return self._get_sleep(poller, timeout, block, rsock, wsock, cookie)
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/core.py", line 2654, in _get_sleep
    woken = list(poller.poll(timeout))
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/parent.py", line 936, in _poll
    events, _ = mitogen.core.io_op(self._pollobj.poll, timeout)
  File "/opt/exabeam_installer/ansible/mitogen/mitogen/core.py", line 553, in io_op
    return func(*args), None
KeyboardInterrupt

The behavior is the same for the /dev/urandom data as for the /dev/zero data.

Some more details about our environment:
We are using the system python, but have a virtualenv with several modules.
(.env) [exabeam@dev-20190816-233324-1 ansible]$ rpm -qa | grep python
python-ipaddress-1.0.16-2.el7.noarch
audit-libs-python-2.8.4-4.el7.x86_64
python2-rsa-3.4.1-1.el7.noarch
python-google-compute-engine-2.8.14-1.el7.noarch
python-decorator-3.4.0-3.el7.noarch
python-urlgrabber-3.10-9.el7.noarch
dbus-python-1.1.1-9.el7.x86_64
libxml2-python-2.9.1-6.el7_2.3.x86_64
python-six-1.9.0-2.el7.noarch
python-chardet-2.2.1-1.el7_1.noarch
python-backports-1.0-8.el7.x86_64
python-setuptools-0.9.8-7.el7.noarch
python-urllib3-1.10.2-5.el7.noarch
python2-boto-2.45.0-3.el7.noarch
libsemanage-python-2.5-14.el7.x86_64
python-IPy-0.75-6.el7.noarch
policycoreutils-python-2.5-29.el7_6.1.x86_64
python-libs-2.7.5-77.el7_6.x86_64
python-slip-0.4.0-4.el7.noarch
python-linux-procfs-0.4.9-4.el7.noarch
python-schedutils-0.4-6.el7.x86_64
python-configobj-4.7.2-7.el7.noarch
python-gobject-base-3.22.0-1.el7_4.1.x86_64
python-pycurl-7.19.0-19.el7.x86_64
python-jsonpatch-1.2-4.el7.noarch
python-prettytable-0.7.2-3.el7.noarch
python-jinja2-2.7.2-3.el7_6.noarch
python-slip-dbus-0.4.0-4.el7.noarch
python-kitchen-1.1.1-5.el7.noarch
python-pyudev-0.15-9.el7.noarch
python-perf-3.10.0-957.12.1.el7.x86_64
rpm-python-4.11.3-35.el7.x86_64
python2-pyasn1-0.1.9-7.el7.noarch
python-backports-ssl_match_hostname-<IP_ADDRESS>-1.el7.noarch
python-requests-2.6.0-1.el7_1.noarch
python-2.7.5-77.el7_6.x86_64
newt-python-0.52.15-4.el7.x86_64
libselinux-python-2.5-14.1.el7.x86_64
python-iniparse-0.4-9.el7.noarch
python-markupsafe-0.11-10.el7.x86_64
python-jsonpointer-1.9-2.el7.noarch
python-babel-0.9.6-8.el7.noarch
python-firewall-0.5.3-5.el7.noarch

(.env) [exabeam@dev-20190816-233324-1 ansible]$ pip freeze
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ansible==2.7.11
asn1crypto==0.24.0
backports.ssl-match-hostname==<IP_ADDRESS>
bcrypt==3.1.4
cffi==1.11.5
click==6.7
cryptography==2.3.1
docker-py==1.6.0
docopt==0.6.1
elasticsearch==6.2.0
enum34==1.1.6
Fabric==1.14.0
Flask==1.0.2
funcsigs==1.0.2
gevent==1.3.4
greenlet==0.4.13
idna==2.7
ipaddress==1.0.18
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==0.23
marshmallow==3.0.0rc5
mock==2.0.0
parallel-ssh==1.6.3
paramiko==2.4.1
pbr==4.0.4
pem==18.1.0
pyasn1==0.4.3
pycparser==2.18
pyhocon==0.3.31
pymongo==3.6.0
PyNaCl==1.2.1
pyOpenSSL==18.0.0
pyparsing==2.2.0
python-dateutil==2.4.2
PyYAML==3.12
requests==2.9.1
six==1.10.0
ssh2-python==0.14.0
urllib3==1.22
websocket-client==0.35.0
Werkzeug==0.14.1

This was with mitogen 93c97a9564a54b602f660adadff4cc12ffa3763c

Ansible's fetch action plug-in internally resorts to using the slurp module internally when become is active, presumably to work around filesystem permission problems since they can't sudo from an SFTP session.
This means your 512mb test file is getting base64-encoded and held in memory on the controller and the target. What a joke
Let me keep this one open, I might just reimplement fetch since it's a straightforward module.

@dw Thanks for the quick response. I've confirmed that we only hit this with become active.

This also explains the strange 33% size increase 'bug' we saw before. It's base64 encoding. For a 512mb file, Ansible will read the whole 512mb into a string then base64-encode it. The base64-encoded string is then JSON-serialized to go in the task output.
Looking at slurp.py, both string references are still alive at exit, along with the JSON representation, so a 512mb copy will cause a 1.83 GiB memory usage spike on both machines.
The library is supposed to send 'dead messages' to the intended receiver when a message is dropped due to its size being exceeded, either it was never implemented or there is some problem with the implementation. So that's a separate bug, your run should not have hung.
It's possible to increase the message size limit, but that does not solve anything, it just kicks the can down the road, and makes similar problems like this one harder to spot. It's tempting to perhaps update the limit to 1 GiB or similar, but again this solution does not sit well with me.
As a more general solution to every situation where Ansible might pull something like this, really we want huge module outputs to be streamed just like file transfer. I might open a separate ticket for that

Your example playbook is now working on 'dmw' branch. It may take a few days to reach master, but this will be in 0.2.8.
Runtime to copy both files drops from 47 seconds to 6.7 seconds. I think we can call this a win.
Note if you're copying huge files like this, you almost certainly want mitogen_ssh_compression: false in group vars

@alexhexabeam Please reopen if somehow this still doesn't work, but become+fetch has its own test now. All the best

I've confirmed the above playbook works great with Mitogen v0.2.8. Memory usage during the transfer stays stable regardless of the file size (tested with up to 20GB).
Thanks again for your great support, and for making this excellent tool.


Only use DPaste as backend if absolutely necessary (example as STDIN or ARGS)

I didn't account for the fact that DPaste would throw errors with the new invocation example.
Let's use the DTour then whenever possible.
The tour works fine: https://is.gd/DTFINJ
For reference STDIN/ARGS support for the tour is already in the queue: https://github.com/dlang-tour/core-rdmd/pull/9

BTW, I didn't really think about it in this way until now, but a front page example of invoking external programs is essentially an invitation for anyone to poke at the sandbox's security :)
I don't know much about how it's set up, but is it protected against e.g. denial of service attacks (exhaustion of some resource or other), as well as against being used to cause denial of service on other services?

I don't know much about how it's set up,

Good question - @stonemaster configured the box and deployment, so I try to answer what I know:

The examples are run as docker within docker (so I guess in terms of sandboxing we are safe - minus Docker bugs, of course)
The entire application is on a dedicated VPS for the DTour

but is it protected against e.g. denial of service attacks (exhaustion of some resource or other), as well as against being used to cause denial of service on other services?

I think the amount if docker instance that can be spawned is limited to 10 or 20, but I have no idea what happens on a Ddoc attack. I will look into setting up Nginx + simple rate-limiting
https://github.com/dlang-tour/core/issues/568


enable in-memory translation from coreneuron to neuron with a unique interface

We want to be able to use a single stream to communicate between neuron and coreneuron, that will permit to get a simplified interface, common to file reading and memory reading.

Hi @fouriaux, is this still open?

this has been implemented


Secrets for pushing and pulling

Great project you've done here!
Currently there's only the option to have a user/token that can pull and push images.
It would be great to have the ability to have a user/token that can only pull images so that it can be used in a safer way.

+1 on this request, and +1 on the kudos.
The ability to maintain separation between tokens/identities that can push to repo -vs- those that can pull from repo is an important capability - currently it's not possible to use this project in the context of user-endpoints or build-pipelines because it implies you are giving the ability to modify your own trusted repo to those contexts.
Love where this project is going, happy days.

The JWT mechanism is designed around an external third party being able to generate a JWT for the registry and should be stable. I completely agree we should be providing easier ways to have read-only credentials!


Switch to ESCI dataset

Work in progress to switch Chorus to the ESCI dataset (#115)

@wrigleyDan  are you sure you updated "@appbaseio/reactivesearch": "^3.45.0", ???   I would expect something in yarn.lock?   Did you rebuild yarn.lock?

@epugh don't have a great deal of expertise in that area. I thought the application would be freshly built with the yarn install command in the Dockerfile if the package.json file is updated with the newer version of that dependency.
But looking at yarn.lock in main gives me the impression that we had 3.45.0 all the time:
https://github.com/o19s/chorus-opensearch-edition/blob/main/chorus_ui/yarn.lock#L51

go for it!

I think this one is ready now with the UBI work done and main merged into the branch.
Any final objections @epugh @jzonthemtn?

None from me!


[Bug]: after quit nvim, the cursor is still colored

Is there a way to restore the cursor after exiting nvim?

Just to clarify, the issue is that your cursor is still purple in terminal?
I've never seen that before but could be your terminal / shell etc. We could probably add a VimLeave event to reset the colour 😌

Exactly. I am using neovim in wsl. The terminal I use is Windows Terminal. May it was caused by using wsl, as the same problem in alacritty terminal.

Since I'm unable to reproduce due to my environment, would you be able to add VimLeave to line 226 in lua/modes/init.lua? If that fixes it for you, feel free to make a PR or let me know and I'll add it 😌

Closing due to inactivity, feel free to submit a PR

Quite an interesting feature, same here. It appears that neovim just modified some of the color before leaving itself.

Is there a way to restore the cursor after exiting nvim?

Because I can't reproduce this, I am happy to accept a PR that resets the cursor colour on VimLeave – or any other reasonable solution 😌

Solved. Just add a autocmd autocmd VimLeave * set guicursor=a:ver25
see https://github.com/microsoft/terminal/issues/4335#issuecomment-1039794971 and
https://github.com/younger-1/nvim/blob/9032059e105ceeeb47fb7e70633199fdad5ae087/lua/young/autocmd/init.lua#L31

@mvllow so, should this be handled by the plugin ? IMO, it shouldn't be because it's not a plugin bug

I agree that the plugin probably shouldn't handle this. Maybe something could be added to the readme if enough people run into this issue.
My assumption is if you are properly exiting vim via :q from normal mode your cursor should be reverted to default anyways.

I am also seeing this, going to try the autocmd and report back.  But I am exiting normally and still see this issue.  I am using wezterm on windows.

I am using wezterm on windows (not seeing the same issue on Arch with wezterm, fwiw).  I have it setup to run set guicursor=a:block on VimLeave.
This fixed the issue where my cursor changing to the bar in insert mode.  However, it still gets stuck with the color of the mode.  I can grab the color from my colorscheme and set it, and will likely do that.  I wonder if it's some kind of like... ConPTY issue or something?  It seemed like the above screenshots/GIFs are also running on Windows.
It's possible that this is a colorscheme issue, obviously.  If it's helpful, I am quitting neovim normally with :q.
With my Arch setup, pressing r/d does not change the cursor color, just the shape.  On my windows setup it changes both.  The GIF in the README seems to imply that the cursor changes when the button is pressed, but is reset within neovim after the action?  That isn't how it works on windows for me.  Just trying to give as much info as possible!  Happy to provide anything else that is helpful, and I'm going to try just updating the color manually on VimLeave.


Reposition of "Publish Idea" Button

The search proposal box appears above the 'publish idea' button (example below)...

...I found it confusing - while creating the ballot for Should we Rename Sovereign, I somehow imported the ballot for the Magna Carta question (example below) drat!

UI has changed a lot since refactoring hence closing.


[question] future of piston game engine

As from commit's I see there hasn't been any serious updates for the game engine it self and The main developer seems to be busy with more important stuff (ex. path semantics).. or something like that.
So what's the plan / the road map for Piston? Will it remain more like a low level game framework or are there some plans... ? Something? :)

I am a bit curious of what plans you have in mind, if you have any?
The road map for Piston has always focused on experimentation. Experiment, experiment, experiment. When I figure out something useful, I make it a library. So, I believe this will be future path ahead as well.
Counter-intuitively, waiting and doing nothing while doing something else can sometimes save you time. I worked on a few libraries for Piston though. Played around with VR a bit. Dyon also got some upgrades.
The reason I have been working on path semantics the past few months is because I've finally made a lot of breakthroughs. Normally these occur much more rarely. Recently I've done some work on extending it to probability theory, so now the goals for this project are within sight. Finding algorithms for cross argument paths is a very hard problem...
The reason I have not worked on Piston very much is because the research have taken up too much time, and I have to get through some climate science papers and geoengineering stuff since it is the most important issue of our time, and a very complex one too. I can't afford being ignorant, but now I get the big picture and is mostly interested in how to expand the toolbox for path semantics into applications for physics.
For the future, I plan to use Piston for some projects, and as Gfx improves I think graphics_tree and other libraries will become more useful. The biggest pain point now is text rendering, but I've improved the performance a bit for opengl_graphics. This is such a complicated issue that I need more time to investigate, but there are already people working on different ideas such as in Servo where they do glyphs on the GPU. Waiting means I can save myself some work.

I am a bit curious of what plans you have in mind, if you have any?

I want to simulate some Wave algorithms for personal project (I'm kind of scientist with no degree :D), that I'm working now. For that I was asking about that Pixel thing in previous issue.

At my workplace we plan to develop some apps. Requirements are good compatibility with VR's and modern shading stuff (PBS, soft shadows, blur, etc).

Cool! I also think it annoying to not have a set pixel method, but using an image should be faster. You could also use Rayon to speed it up!
The current strategy of Piston is to use a minimal core design because the Rust community as a whole will always be better than any team (obviously since the team is part of the Rust community). I plan to make it easier to get started with VR, got some code working for OpenGL, but not ready yet. I would like to work on rendering too, but looking at my time schedule it's "nope, that's way too much". There are other people working on it, so I hope to see some useful libraries popping up over time.
I have a degree in computer science and artificial intelligence, then did consulting and worked on 2D animation software for a decade until I fell in love with mathematics (I always liked it but did not understand the deeper ideas). I want to make some of those invisible deep stuff more visible and accessible. I learned to see programming in a different way that isn't just about making apps, but more about feedback between human thinking and formal languages and representations (this was also how modern computers where invented). This is why I like to work on Piston, because you can get rid of some of the technical barriers and concentrate on the idea in your head. I probably think too much about big picture problems too, but it is very hard for me to pretend everything is OK and not discuss or think about it, and who knows, perhaps we learn something new?
I want the Piston project to be a place where people can share ideas and code, help out with maintenance, experiment and do research, which is not the same as just building a game engine. There are already very good game engines out there. I feel the need for a place where people are encouraged to experiment and where you can influence the direction of a project. I am all for separation of concerns when it is about code, but for people to be creative you need a melting pot of ideas and some very hard challenges. I like working like this. :)

@bvssvni would be very cool, if you hit me in some direction how can I achieve run-time pixels with Image. because I didn't get it from your example.

@trsh I sent you the wrong link. Added a comment on the issue https://github.com/PistonDevelopers/piston/issues/1175#issuecomment-300761657

tnx

@bvssvni
I probably think too much about big picture problems too, but it is very hard for me to pretend everything is OK and not discuss or think about it...
Yeah. Pumping new effects for games while our planet and lifes go to hell, is not the smartest plan :D. I am totally in with you on this. And I make sure that my work/ideas outside survival jobs (for paying rent, etc) do count for bigger picture.


Typo in 'Lawn Mowed' sensor name

The Lawn Mowed sensor is called lawm_mowed, instead of lawn_mowed. See https://github.com/jm-73/Indego/blob/master/custom_components/indego/const.py#L21
Happy to raise a PR myself, but it will be (for some) a breaking change.

Do a PR so I cna fix this!

Fixed in 4.0


Typo

There seems to be a typo when displaying the usage of the command -- see changeset.

Thanks!

@Akryum in the future when we merge doc fixes make sure to mark them with docs: instead of fix: because they are not bug fixes.


chore(styling): improve styling based on ux feedback

This PR applies a few styling enhancements based on a recent UX review.

Add new status to the integration details page
Fix clipboard copy button padding
Consolidate header menu item (logout) into single menu at small viewports
Add stub avatar
Header background again expands full width on small viewports

Should help close https://github.com/syndesisio/syndesis/issues/5535

better spacing strategy for title
add status to integration details view
fix clipboard copy btn styling issue
fix header background issue
update modal/logo image assets for productized build
update to latest patternfly versions
give duration control a real id
fix font sizes on dashboard (body content should all be 14px)
remove bolding front list item titles
replace selective base patternfly stylesheets (this fixes several global font issues)

PR Storybook available here

PR Storybook available here

PR Storybook available here

PR Storybook available here

PR Storybook available here

Was checking the PR and I wondered, is that the proper icon and placement for the dropdown?

@riccardo-forina no, it's still WIP. The interactivity is the main thing I was focusing on in yesterday's push. Today I will be focusing on cleanup like fixing the exact icons and renaming some of the image assets to be more consistent. Looks like the toolbar layout is what's creating too much space there, I'll address that also.
Let me know if you see any problems with the rest of the implementation in the meantime.


Add a new single API for Level Zero Init and Driver Retrieval

Add a new single API for Level Zero Init and Driver Retrieval
Metadata
Component
Core
Classification
API
Authors
Neil R. Spruit<EMAIL_ADDRESS>Summary
When multiple libraries exist in an application which are initializing L0, the types of drivers reported may not be consistent. We need to have a single API to both initialize level zero and filter the reported drivers.
Motivation
In a single application, one library may request GPUs and another may request VPUs. This creates a problem where calling the initialization and driver retrieval APIs in sequence may result in the wrong set of drivers being filtered for the specific library.
To fix this issue, a single API is proposed for use by all libraries such that Level Zero initialization and driver retrieval is done in a single API call.
Description
Add a new API zeInitDrivers with a new initialization flag type to allow for both the initialization of Level Zero drivers and the retrieval of Level Zero driver handles in a single call.
This enables users to initialize and retrieve the Level Zero drivers based on the driver types requested with no dependencies or interference from other calls to Level Zero initialization.
Dependencies

None

Details
Any library needing to use NPUs and GPUs or only NPUs would be moved to use this new API zeInitDrivers to perform the Level Zero initialization and the driver retrieval. This makes it possible to retrieve the specified set of drivers based on the initialzation flags such that:

ZE_INIT_DRIVER_TYPE_FLAG Value
Resulting Drivers

ZE_INIT_DRIVER_TYPE_FLAG_GPU
GPU Drivers are Init'd and driver handles retrieved.

ZE_INIT_DRIVER_TYPE_FLAG_NPU
NPU Drivers are Init'd and driver handles retrieved.

ZE_INIT_DRIVER_TYPE_FLAG_GPU | ZE_INIT_DRIVER_TYPE_FLAG_NPU
NPU and GPU Drivers are Init'd and driver handles retrieved.

UINT32_MAX
All Drivers of any type are Init'd and driver handles retrieved.

Multiple Call Safety
Similar to the usage of zeInit, multiple calls to zeInitDrivers with the same flags must return the same driver handles in the same order.
Each call to zeInitDrivers will initialize the driver types associated with the initialization type flags, i.e.:
zeInitDrivers with ZE_INIT_DRIVER_TYPE_FLAG_GPU will initialize and retrieve GPU Drivers.
zeInitDrivers with ZE_INIT_DRIVER_TYPE_FLAG_NPU will initialize and retrieve NPU Drivers.
Subsequent calls to zeInitDrivers with different sets of initialization type flags will return different sets of drivers.
Once a given driver has been initialized by the loader, it will not be re-initialized by the loader in subsequent calls. The initialization type will then indicate whether that driver handle needs to be returned to the user. This ensures that the driver is not forced to re-initialize after each call to zeInitDrivers and it is able to maintain the global singleton object that is the driver and device handles for a Level Zero driver.
zeInit Deprecation Plan
To maintain backwards compatibility and avoid regressions, zeInit must continue to be supported in v1.x however only with support for initializing with the first "init" flags passed in the program and limited to supporting GPU initialization.
This means, to support different sets of library initializations with different sets of drivers, the new zeInitDrivers will be evangelized as the replacement for those wanting to use both GPU and NPU or want to ensure that NPUs are available to the application.
The zeInit API will be marked deprecated as part of this proposal and removed in the next major version release of the Level Zero spec.
Application Usage of zeInitDrivers
Applications which are built linking the ze_loader will either need to have a build time check for the symbol zeInitDrivers or continue to use zeInit. This can be done by adding a compile time symbol check in the code to verify the symbol is defined in the headers. For runtime, this would limit this version of these libraries to require this new version of the Level Zero loader with this symbol defined.
Applications that want a dynamic method for discovering this new API via dlopen/LoadLibrary will be able to check for the symbol's existence during runtime.
New Entry Points
zeInitDrivers
ze_result_t zeInitDrivers(
    uint32_t* pCount,
    ze_driver_handle_t* phDrivers,
    ze_init_driver_type_desc_t *desc,
);

Parameter
Description

pCount
[ ${\textsf{\color{orange}in, out}}$ ] pointer to the number of driver instances. if count is zero, then the loader shall update the value with the total number of drivers

phDrivers
[ ${\textsf{\color{orange}in, out}}$ ][optional][range(0, *pCount)] array of driver instance handles. if count is less than the number of drivers available, then the loader shall only retrieve that number of drivers.

desc
[ ${\textsf{\color{orange}in}}$ ] descriptor with driver init flags to filter which driver handles are returned.

New Enums
ze_init_driver_type_flags_t
typedef uint32_t ze_init_driver_type_flags_t;
typedef enum _ze_init_driver_type_flag_t
{
    ZE_INIT_DRIVER_TYPE_FLAG_GPU = ZE_BIT(0),                                     ///< initialize & retrieve GPU drivers
    ZE_INIT_DRIVER_TYPE_FLAG_NPU = ZE_BIT(1),                                     ///< initialize & retrieve NPU drivers
    ZE_INIT_DRIVER_TYPE_FLAG_FORCE_UINT32 = 0x7fffffff

} ze_init_driver_type_flag_t;

Flag
Description

GPU
Initialize and retrieve GPU drivers.

NPU
Initialize and retrieve NPU drivers.

ze_structure_type_t
typedef enum _ze_structure_type_t {
    // ...

    ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC,

    ZE_STRUCTURE_TYPE_FORCE_UINT32 = 0x7fffffff
} ze_structure_type_t;

Type
Description

ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC
enum for the init driver type descriptor structure

New Structures
ze_init_driver_type_desc_t
typedef struct _ze_init_driver_type_desc_t {
    ze_structure_type_t               stype;
    const void*                       pNext;
    ze_init_driver_type_flags_t       flags;
} ze_init_driver_type_desc_t;

Field
Description

stype
[ ${\textsf{\color{orange}in}}$ ] type of this structure

pNext
[ ${\textsf{\color{orange}in, out}}$ ][ ${\textsf{\color{lightblue}optional}}$ ] must be null or a pointer to an extension specific structure (i.e. contains stype and pNext).

flags
[ ${\textsf{\color{orange}in}}$ ] init driver type flags for driver initialization and retrieval.

Example Usage
uint32_t npu_driver_handle_count = 0;
std::vector<ze_driver_handle_t> npu_driver_handles(npu_driver_handle_count);
ze_init_driver_type_desc_t desc = {ZE_STRUCTURE_TYPE_INIT_DRIVER_TYPE_DESC};
desc.pNext = nullptr;
desc.flags = ZE_INIT_DRIVER_TYPE_NPU;
ze_result_t npu_result = zeInitDrivers(&npu_driver_handle_count, nullptr, &desc);
if (npu_driver_handle_count > 0 && npu_result == ZE_RESULT_SUCCESS) {
      npu_driver_handles.resize(npu_driver_handle_count);
      npu_result = zeInitDrivers(&npu_driver_handle_count, npu_driver_handles.data(), &desc);
}

What is the current status for this case?


Create mygiis.txt

Hi Philip,
Thanks for following up on the request.
You are right about the school, it does not have IT specific courses but
rather provides basic education. I had a few students who were interested
in coding and wanted to know about tools to use and I happen to know about
this student license thing with intellij so I thought I would give it a try.
Thanks,
Lavneesh
On Thu, Jan 5, 2017, 2:43 PM Philip Torchinsky<EMAIL_ADDRESS>wrote:

Closed #2608 https://github.com/JetBrains/swot/pull/2608.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/2608#event-912363772, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFs02LkOk5d-ObBZAZ0lFP_RD3jCa7Qlks5rPLRMgaJpZM4LYB5R
.


Update Dwolla usage to account for expiring access tokens by 3/2/2015

Dwolla has updated their OAuth implementation. Details here: https://discuss.dwolla.com/t/dwolla-s-new-more-secure-implementation-of-oauth/546
TL;DR - as of March 2nd, 2015, access tokens will begin expiring. They are switching to a system of expiring access tokens and refresh tokens (which, incidentally, is also what stripe does). We don't actually handle this very well for stripe ATM.
The Dwolla API already supports using refresh tokens; we should go ahead and start using them. While we're at it, we should improve support for Stripe refresh tokens and expired tokens in general.

Resolved with 2c32ba4d22b6a5065bfd06d75513c2ce9a6c82f6.


accessing the values of an array variable

I setup an agent variable as an array in the XMLModelFile as follows:
<gpu:variable>
  <type>int</type>
  <name>genes</name>
  <arrayLength>11</arrayLength>
</gpu:variable>

When I try to display the array values of the first agent in functions.c, it shows me the first array values from the first 11th agents instead.
Here is the code I used:
if(agent->id == 1)
{
  int i;
   for (i=0; i<12; i++)
   {
     printf("%d \n", agent->genes[i]);
    }
}

I don't know what is wrong, I'd appreciate it if you point me to a way to access the array values for a given agent.
Here is a portion of the iterations.xml:
<?xml version='1.0' encoding='utf-8'?>
<states>
  <itno>0</itno>
  <xagent>
    <name>agent</name>
    <id>1</id>
    <x>-0.766451</x>
    <y>-0.460925</y>
    <z>-0.50777</z>
    <genes>683,866,276,172,878,171,683,866,276,172,878</genes>
    <life_cycle>0</life_cycle>
  </xagent>
  <xagent>
    <name>agent</name>
    <id>2</id>
    <x>-0.158749</x>
    <y>0.167266</y>
    <z>0.821662</z>
    <genes>0,0,0,0,0,1,1,1,0,0,1</genes>
    <life_cycle>0</life_cycle>
  </xagent>
</states>

Thanks in advance.

Agent variable-array data is interleaved for improved memory access pattern on the device, so it is not trivially accessible. It's also not loaded into the agent struct, as this would result in very poor performance.
Instead agent array data should be accessed using the generated method get_AGENTNAME_agent_array_value<T>(T* variable, int element), in your case this would be printf("%d \n", get_agent_agent_array_value<int>(agent->genes, i);
So for your example above:
if(agent->id == 1)
{
  int i;
   for (i=0; i<11; i++)
   {
     printf("%d \n", get_agent_agent_array_value<int>(agent->genes, i);
    }
}

Note that for an array length of 11 you should only access indices 0 to 10 (so i<11)
This does appear to be completely missing from the online documentation, so I'll open an issue for that to be resolved.
The Stable Marriage example demonstrates some use of agent variable arrays.

Thanks a lot!


Left and right arrow keys do not work for navigation between menu and submenus when using JAWS.

Bug Report
Description
Left and right arrow keys do not work for navigation between menu and submenus when using JAWS.
Steps to Reproduce

TBD

Additional Context / Screenshots
Identified as part of functional verification on this PR.
Expected Behavior
Left and right arrow keys work for navigation between menu and submenus when using JAWS
Environment

Component Name and Version: terra-menu
Browser Name and Version: IE 11 + JAWS

This issue in Jaws is due to its default behavior of right and left arrow keys. In jaws while reading text left and right arrow keys are meant for reading next and previous characters hence the navigation to sub menu is not happening on right and left arrow key press. Fixing this issue will change the JAWS default behavior of right and left arrow keys for menu.
However Navigation on menu can be done through other keys as well like Space and Enter Keys. I would like to know if we can keep this issue as exception for JAWS since it's expected behavior of JAWS or do we need to proceed with fixing the issue.

@bjankord , @neilpfeiffer  please share your thoughts on this. so that we can proceed.

My thoughts are let's close this issue. My understanding of JAWS has grown since logging this issue and now I understand that JAWS has special treatment for arrow keys. I don't think we should try to override that behavior. I also agree that since users can navigate to options using other keys, this seems fine to close.

Closing this with respect to brett's comments


[feature] 401 Unauthorized for dependency build when use repository with basic authentication

Output of helm version:
version.BuildInfo{Version:"v3.6.1", GitCommit:"61d8e8c4a6f95540c15c6a65f36a6dd0a45e7a2f", GitTreeState:"dirty", GoVersion:"go1.16.5"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-12T01:09:16Z", GoVersion:"go1.15.4", Compiler:"gc", Platform:"darwin/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Minikube
Bug：
helm dependency build now is not support dependencies repository URL with basic authentication.
here I have helm chart in Git Repo: https://codingcorp.coding.net/public/wangwei_test_cd/bookinfo/git.
Chart.yaml:
apiVersion: v1
appVersion: "1.3"
description: Nocalhost Bookinfo Helm chart for Kubernetes
name: nocalhost-bookinfo
version: 1.2.2

dependencies:
  - name: nocalhost-rattings
    version: 1.2.2
    repository<EMAIL_ADDRESS>
when I use helm dependency build, get error:
Getting updates for unmanaged Helm repositories...
...Successfully got an update from the<EMAIL_ADDRESS>chart repository
Saving 1 charts
Downloading nocalhost-rattings from repo<EMAIL_ADDRESS>Save error occurred:  could not download https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm/nocalhost-rattings/nocalhost-rattings-1.2.2.tgz: failed to fetch https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm/nocalhost-rattings/nocalhost-rattings-1.2.2.tgz : 401 Unauthorized
Deleting newly downloaded charts, restoring pre-update state
Error: could not download https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm/nocalhost-rattings/nocalhost-rattings-1.2.2.tgz: failed to fetch https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm/nocalhost-rattings/nocalhost-rattings-1.2.2.tgz : 401 Unauthorized

hope is when repository have basic authentication info, then should use it for helm dependency chart download.
and I create PR to fix it: https://github.com/helm/helm/pull/9867

@Matthew Fisher

Putting the username and password in the URL isn't usually a good idea. There are places where Helm displays the URL and the username and password would then be displayed. So, this is discouraged in general. We don't want to accidentally log credentials, for example.
The recommended solution is to use the --username and --password fields with helm repo add instead. Then you can reference the repository as
dependencies:
  - name: nocalhost-rattings
    version: 1.2.2
    repository: "https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm"

To add the repository to your list, you would use helm repo add coding-net https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm --username myuser. It will then prompt for your password.
Hope this helps.

Putting the username and password in the URL isn't usually a good idea. There are places where Helm displays the URL and the username and password would then be displayed. So, this is discouraged in general. We don't want to accidentally log credentials, for example.
The recommended solution is to use the --username flag with helm repo add instead. Then you can reference the repository as
dependencies:
  - name: nocalhost-rattings
    version: 1.2.2
    repository: "https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm"

To add the repository to your list, you would use helm repo add coding-net https://codingcorp-helm.pkg.coding.net/wangwei_test_cd/helm --username myuser. It will then prompt for your password.
Hope this helps.

In our usage scenario, we have hundreds of developers, and the internal helm repo is only accessible to the internal network, but at the same time we also want to set a password for the repo. If there is this method, we can have a built-in password without requiring every developer to execute helm add repo, which is tedious and repetitive work.
I think it is one thing whether to support it or not. The user should be responsible for how to use it safely. We hope to have this usage and solved our problem.

The main reason is that we want to solve the problem that new developers need to add repo repeatedly. Our helm chart is maintained by a dedicated team. This is a centralized management method instead of issuing separate credentials for each developer. , So we hope this approach can simplify our work.

There is a --password flag available as well. We don't recommend it because it means you can be susceptible to credential leaking via your bash history or other conventional methods. But it can be used in scenarios where user prompts do not make sense.

There is a --password flag available as well. We don't recommend it because it means you can be susceptible to credential leaking via your bash history or other conventional methods, which is why we recommend using the command prompt instead. But it can be used in scenarios where user prompts do not make sense.

yes, we are using it now, But this cannot solve the problem of learning costs for new developers, and we need to talk to everyone he should run helm repo add.

I think helm should provide this usage, just like Kubernetes secret, although it can also be decoded, but the user is at his own risk. This ability can make it unnecessary to run helm repo add in some scenarios, and can also lower the user's threshold for use in some demonstration links.


FHIRProvider: Element clinicalStatus does not contain a Coding element with a valid system and code combination (Condition)

Describe the bug
I'm getting this error when trying to create a new Condition resource with just the following payload
    {          resourceType: "Condition",          clinicalStatus: {              coding: [                  {                       code: "active",                       display: "Active",                       system: "http://hl7.org/fhir/ValueSet/condition-clinical"                   }              ]          }     }
Active is valid input for clinicalStatus
Environment
Version 5.1.1

according to https://hl7.org/fhir/valueset-condition-clinical.html the proper system for this one is http://terminology.hl7.org/CodeSystem/condition-clinical

Yup I've tried it with that too but I get the same error


Skype: Why fails skype, when I send 12 button

var builder = require("botbuilder");
var botbuilder_azure = require("botbuilder-azure");
var useEmulator = (process.env.NODE_ENV == 'development');
var connector = useEmulator ? new builder.ChatConnector() : new botbuilder_azure.BotServiceConnector({
appId: process.env['MicrosoftAppId'],
appPassword: process.env['MicrosoftAppPassword'],
stateEndpoint: process.env['BotStateEndpoint'],
openIdMetadata: process.env['BotOpenIdMetadata']
});
var bot = new builder.UniversalBot(connector);
bot.dialog('/', function (session) {
builder.Prompts.choice(session,"Choose time","09:00|10:00|11:00|12:00|13:00|14:00|15:00|16:00|17:00|18:00|19:00|20:00" , {
listStyle: builder.ListStyle.button,
});
});
if (useEmulator) {
var restify = require('restify');
var server = restify.createServer();
server.listen(3978, function () {
console.log('test bot endpont at http://localhost:3978/api/messages');
});
server.post('/api/messages', connector.listen());
} else {
module.exports = { default: connector.listen() }
}

@Shurpanchik I would file this issue on https://github.com/Microsoft/BotBuilder/issues so we can get the attention of the right people.
It seems like more of a skype than azure question?

@willportnoy When I host on heroku, skype doesn't crash

@willportnoy When I host on heroku, skype doesn't crash

Thank you for opening an issue against the BotBuilder-Azure repo. As part of the Bot Framework v4 release, we’ve moved all the Azure related work to the platform SDK repo. We will continue to support and offer maintenance updates via this repo.
From now on, https://github.com/Microsoft/botframework-sdk repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the Bot Framework repo found here:
https://github.com/Microsoft/botframework-sdk/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


Using enum as keys for dictionary doesn't allow dictionary to be defined as a const

Tested versions
3.5.3 stable
System information
Windows 10
Issue description
When using enum as keys for a dictionary, it isn't possible for the dictionary to be defined as a const:
const damage_range := {
	w.Melee : [2,20],
	w.Pistol : [5,15],
	w.Shotgun : [35,105],
	w.Chaingun : [5,15],
}

Will result in the following error:
Expected a constant expression
It works if the enum is replaced with simple numbers:
const damage_range := {
	0 : [2,20],
	1 : [5,15],
	2 : [35,105],
	3 : [5,15],
}

Steps to reproduce

Create a dicionary using enums as the keys.

Minimal reproduction project (MRP)
N/A

Can't reproduce:

Can't reproduce:

Thanks, you made me realize this is actually because I accidentally had the enum below the array. This works:
enum w {
	Melee,
	Pistol,
	Shotgun,
	Chaingun,
}
const damage_range := {
	w.Melee : [2,20],
	w.Pistol : [5,15],
	w.Shotgun : [35,105],
	w.Chaingun : [5,15],
}

This gives that non-descriptive error:
const damage_range := {
	w.Melee : [2,20],
	w.Pistol : [5,15],
	w.Shotgun : [35,105],
	w.Chaingun : [5,15],
}
enum w {
	Melee,
	Pistol,
	Shotgun,
	Chaingun,
}

Should I close this or is it technically a bug?

Should I close this or is it technically a bug?

Suspect this isn't a bug, just the error message is a bit cryptic.
I don't know enough about gdscript area to know offhand whether this can be easily improved. It might just be a generic way of saying you've put something invalid / unrecognised in the const, and it doesn't actually know at this point what this error is, because it hasn't yet parsed the enum (which could make it tricky to give more help in the error message as it would require two passes I'm guessing).
Pinging @godotengine/gdscript just in case, but if no answer in a few days we could probably close this.

Since stability is a high priority in 3.x and there is a workaround, let's close this issue. "GDScript 2.0" (Godot 4.x) is a fix for many of the GDScript limitations in 3.x, including such features as out-of-order member resolution.
Please note that we are not against some fixes/improvements, but we are highly conservative about 3.x and expect any change to be reasonable and relatively simple/low risk.
Thanks for the contribution nonetheless!


⚠ Bofrost.at has degraded performance

In 385e598, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1202 ms

Resolved: Bofrost.at performance has improved in f8ed965 after 7 minutes.


Acme server reported status 400 (on renewal)?

I am trying to trouble shoot a 400 error.
I can load the challenge via web browser locally and remotely off the server.
Here is the output of the attempt to renew.
[INFO] Let's Encrypt (Simple Windows ACME Client)
[INFO] Version <IP_ADDRESS>52 (RELEASE)
[INFO] Please report issues at https://github.com/Lone-Coder/letsencrypt-win-sim
ple
[INFO] Renewal period: 60
[INFO] Certificate store: WebHosting
[INFO] ACME Server: https://acme-v01.api.letsencrypt.org/
1: [IIS] vanlineagent.com (SiteId 1) [@ D:\Websites\backup.haulogic.com]
2: [IIS] professorpaddle.com (SiteId 2) [@ D:\Websites\ProfessorPaddle.com]
3: [IIS] www.professorpaddle.com (SiteId 2) [@ D:\Websites\ProfessorPaddle.com]
4: [IIS] vanlinelogistics.com (SiteId 6) [@ D:\Websites\VanlineLogistics.com]
5: [IIS] www.vanlinelogistics.com (SiteId 6) [@ D:\Websites\VanlineLogistics.co
m]
6: [IIS] osalogistics.com (SiteId 6) [@ D:\Websites\VanlineLogistics.com]
7: [IIS] www.osalogistics.com (SiteId 6) [@ D:\Websites\VanlineLogistics.com]
8: [IIS] haulogic.com (SiteId 7) [@ D:\Websites\u180.Haulogic.com]
9: [IIS] www.haulogic.com (SiteId 7) [@ D:\Websites\u180.Haulogic.com]
10: [IIS] u180.haulogic.com (SiteId 7) [@ D:\Websites\u180.Haulogic.com]
11: [IIS] www.u180.haulogic.com (SiteId 7) [@ D:\Websites\u180.Haulogic.com]
W: Generate a certificate via WebDav and install it manually.
F: Generate a certificate via FTP/ FTPS and install it manually.
M: Generate a certificate manually.
Q: Quit
Choose from one of the menu options above: 9
[INFO] Authorizing identifier www.haulogic.com using http-01 challenge
[INFO] Answer should now be browsable at http://www.haulogic.com/.well-known/acm
e-challenge/eSkysjpObcUkGXAfqIhNsKso50zvH4tf7y1GP-maoXE
[INFO] Authorization result: invalid
[EROR] ACME server reported type urn:acme:error:connection
[EROR] ACME server reported detail Fetching http://www.haulogic.com/.well-known/
acme-challenge/eSkysjpObcUkGXAfqIhNsKso50zvH4tf7y1GP-maoXE: Timeout
[EROR] ACME server reported status 400
[EROR] Exception Exception of type 'LetsEncrypt.ACME.Simple.AuthorizationFailedE
xception' was thrown.
Would you like to start again? (y/n):

You have AAAA (IPv6) records for the host, which don't seem to respond to requests. That is probably the issue.

Odd because it worked for a couple of months then stopped. I never changed the records during that time.

I have the same (for site that worked).
[EROR] ACME server reported type urn:acme:error:connection
[EROR] ACME server reported detail Fetching http://www.xxxxxx/.well-known/acme-challenge/......: Timeout
[Eror] ACME server reported status 400
[EROR] Exception Exception of type 'LetsEncrypt.ACME.Simple.AuthorizationFailedException' was thrown.

Apparently it's a recent change to Let's Encrypt that they prefer IPv6 over IPv4, see: https://community.letsencrypt.org/t/certbot-ipv6-not-configured-and-challenges-fail-ipv6-preferred/34645

and how do we get it working again?
(btw we were using -san switch)

You have two options:

Make sure the site is reachable through IPv6 (you can test with http://ipv6-test.com/validate.php)
Remove the AAAA records to indicate that the host is IPv4-only

both http://sub.site.be and http://www.sub.site.be are not reachable via IPv6.
No AAAA records (only A records are defined).
so it should be only IPv4.
with the --san switch when I want to renew it automatically tests the two domains:
http://sub.site.be is valid
http://www.sub.site.be is invalid  -> ...AuthorizationFailedException status 400
both sites are accessible via HTTP (with or without www.)
letsencrypt-win-simple gives me these urls:

http://sub.site.be/.well-known/acme-challenge/foo1

http://www.sub.site.be/.well-known/acme-challenge/foo2

I can access the foo2 via: http://www.sub.site.be/.well-known/acme-challenge/foo2
the foo2 file is also available in the acme-challenge directory on the server, but foo1 challenge could not be found in the same directory on the server. (because it is deleted automatically?)
result  httpS for www and without www does still not work.
any suggestions, it is IPv4 only

We would be able to run some tests on the domain if you'd be willing to share the real one.

Can i email you or twitter dm @wstaelens? (private Message doesn't seem possible here)

You can ping @wtinus on Twitter.

@WouterTinus waiting till you accept so that I can DM you :-)

@WouterTinus I'm testing another domain now but I'm getting closer.
My domain had 5 bindings. 4 of them were reachable outside (via the internet), 1 of them with an underscore was for internal testing.
certificate was not valid anymore, so i generated a new one:

as you can see this failed.
I removed the internal binding, and tried again:

this works.
So maybe ALL bindings should be valid, otherwise no single renewed certificate is being stored and no bindings are attached ?
(or is it only in case there is an exception, easily testable by just adding a binding like www._mydomain.com, as this throws an ACME Server malformed exception (invalid character). )
Maybe this is something that could be changed?
It seems also that or the domain that was failing, now works. I'm not sure if something changed at let's encrypt or if it was our internal IT.

It looks like you're creating a SAN certificate, but are kind of expecting the behaviour of separate certificates for each binding. Basically the same kind of confusion as was discussed in #579.
In order to create or renew a SAN certificate Let's Encrypt requires valid authorizations for all host names listed in the site, though you will have been offered to input a list of host names to exclude the first time you created it.
If the invalid domain name is added after setting up the certificate, then LEWS will automatically attempt to include it into the SAN list and in that case yes, renewal will fail. LEWS will keep retrying every day, while Let's Encrypt will send an email (to the address you provide when registering) to notify you about the fact that the certificate hasn't been renewed for a while.
Once made aware of the problem the resolution is to re-create the certificate manually, or remove the invalid binding from IIS.

I'm still facing some errors.
ACME server reported type urn:acme:error:connection
ACME server reported detail Fetching http://...: Timeout
ACME server reported status 400
Exception Exception of type 'LetsEncrypt.ACME.Simple.AuthorizationFailedException' was thrown.
with or without the --san. (<IP_ADDRESS>52).
I can access that file on my mobile phone (4G, not wifi) so it IS reachable. Still I have status 40 and that exception.

Let's Encrypt prefers IPv6 over IPv4, while your browser probably cares a lot less. I would recommend you to try http://ipv6-test.com/validate.php for the domain that you get the error for.

"This website is not ready for IPv6", no AAAA records, so it should fall back to IPv4...

just a follow-up: this problem was caused by the (faulty?) secure dns setup at the DNS-provider side. Disabling secure dns fixed the problem immediately.
The DNS-provider is investigating this issue..

 Hope they manage to correct their configuration!

I am having the  same problem for a news ite using Azure DNS, no AAAA records.
I have generated for other sites on VM on azure no problem.
Also there is not any bad bindings (none for https)
The only difference is that this one does not yet have an MX record for mail.
it is using SNI, just like the other sites that were successful.
Any Suggestions.
www.alohaturmeric.com is the site url.
Thanks


[triplets] Add v141 triplets

To permit the building of packages using the v141 platform toolset on systems with both VS2019 and VS2017.

Fixes building on systems with both VS2019 and VS2017 installed.
Adds community triplets x64-windows-v141 and x86-windows-v141
Copies convention of existing x86-windows-v120 community triplet

I haven't updated the CI baseline, it didn't seem necessary.  I'm not sure what your policy is for testing community triplets, but adding a trivial package to test each wouldn't hurt.
To further explain the necessity of these triplets, this build log is an example of a build failure caused by platform toolset incompatibility:
spdlogd.lib(spdlog.cpp.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
spdlogd.lib(async.cpp.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
spdlogd.lib(color_sinks.cpp.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
spdlogd.lib(spdlog.cpp.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
spdlogd.lib(async.cpp.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
spdlogd.lib(color_sinks.cpp.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
test\minimaltiffreader.exe : fatal error LNK1120: 2 unresolved externals

The build system has both VS2019 and VS2017.  vcpkg has built all the ports with x64-windows which defaulted to v142, and this is the first time I've seen an incompatibility.  The above error is with a VS2017 build.  Having a triplet to force building against v141 will permit both Visual Studio versions to be supported on the same CI node with both variants built with the same vcpkg repository clone.

I think this is not necessary. The user can manually set the toolset to achieve this, and when using the same toolset, there will be no incompatibility issues.
@strega-nil What do you think about?

@JackBoosY I think that you have the right idea, yeah. This is how we expect people to deal with older macOS versions, for example

"The user can manually set the toolset"
Where would you manually set it if not in the triplet file?  Bear in mind I need to build arbitrary stuff for both VS2019 and VS2017 and I need vcpkg to build everything twice for both toolsets.

@rleigh-codelibre What scenarios require you to use v140 and v141 at the same time?
Usually, the users only use one toolset, either v140, or v141, or v142.

I am building a collection of libraries with vcpkg for use with VS2017 (with this x64-windows-v141 triplet) and then the default set for VS2019 (with the standard x64-windows triplet).  Builds will then use VCPKG_TARGET_TRIPLET to select the set to use as part of the CI machine definition and then used here.
The actual software being built by the CI build node using the vcpkg-built libraries has no idea about any of the vcpkg details.  The bit I need to control is the platform toolset used when building the collection, and it looked like adding a triplet file as here was the best option for that.  If there's a better alternative to achieve the same effect, I'll be happy to consider it.

@rleigh-codelibre what we expect is that one adds a custom triplet for their own use, since we don't wish to have it in the mainline repo. We expect that people use --overlay-triplets to do this; put the custom x64-windows-v141 into a custom_triplets folder, and pass --overlay_triplets=C:/absolute/path/to/custom_triplets or add OVERLAY_TRIPLETS=C:/absolute/path/to/custom_triplets to the environment variables.

Thanks for the clarification.
It looks like overlay triplets could be used to solve the problem, so thanks for the suggestion.
I think your policies and suggestions here would be useful to document, because the existence of the "community" triplets implies that additions here would be accepted if there was a need, and existing community triplets like x86-windows-v120 are clearly doing pretty much the same thing as this PR and have been accepted in the past.  The documentation regarding triplets does not explain any of this.  Looking at stable/users/triplets I see no mention at all of "overlay triplets" on the page documenting triplets.  Now I know what to look for, a search took me to this example page, but I don't see a cross-reference from anywhere else to hint that it exists.  It might be worth considering moving the documentation of the option from the example page onto the main page, and then linking to the example.
Kind regards,
Roger

@rleigh-codelibre yes, we absolutely need to document this and discuss the best way forward among the team. I'll open an issue.
Thank you so much,
Nicole


Update lifting-state-up.md

Conditionally displaying the Boiling Verdict  only if the user enters the temperature value in the input field

This doesn't seem necessary for the usecase that the example focuses on. But thank you for the effort!


reconnection from the host failed

environment

host: Humble / Ubuntu22 / RPi4
device: NUCLEO_F767ZI

operation

launch device with mros2-mbed for echoreply_string (RESET or connect USB)
launch host nodes by ros2 launch mros2_echoback_string pubsub.launch
SIGINT 2.
relaunch host by ros2 launch mros2_echoback_string pubsub.launch

expected behavior
2. could connect both pub/sub, then 4. could reconnect for pub/sub communication.
current behavior (cause)
2. could connect, but 4. could only connect for pub, not connect for sub.
log
device: (picocom)
<<operation 1.>>
app name: echoreply_string
[MROS2LIB] mros2_init task start
mROS 2 initialization is completed

[MROS2LIB] create_node
[MROS2LIB] start creating participant
[MROS2LIB] successfully created participant
[MROS2LIB] create_publisher complete.
[MROS2LIB] create_subscription complete. data memory address=0x20015688
[MROS2LIB] Initilizing Domain complete
ready to pub/sub message
<<operation 2.>>
subscribed msg: 'Hello, world! 0'
publishing msg: 'Hello, world! 0'
subscribed msg: 'Hello, world! 1'
publishing msg: 'Hello, world! 1'
subscribed msg: 'Hello, world! 2'
publishing msg: 'Hello, world! 2'
subscribed msg: 'Hello, world! 3'
publishing msg: 'Hello, world! 3'
subscribed msg: 'Hello, world! 4'
publishing msg: 'Hello, world! 4'
subscribed msg: 'Hello, world! 5'
publishing msg: 'Hello, world! 5'
subscribed msg: 'Hello, world! 6'
publishing msg: 'Hello, world! 6'
[MROS2LIB] publisher matched with remote subscriber
subscribed msg: 'Hello, world! 7'
publishing msg: 'Hello, world! 7'
[MROS2LIB] subscriber matched with remote publisher
subscribed msg: 'Hello, world! 8'
publishing msg: 'Hello, world! 8'
subscribed msg: 'Hello, world! 9'
publishing msg: 'Hello, world! 9'
subscribed msg: 'Hello, world! 10'
publishing msg: 'Hello, world! 10'
<<operation 3.>>
<<operation 4.>>
[MemoryPool] RESSOURCE LIMIT EXCEEDED
[MemoryPool] RESSOURCE LIMIT EXCEEDED
[MemoryPool] RESSOURCE LIMIT EXCEEDED
[MemoryPool] RESSOURCE LIMIT EXCEEDED
subscribed msg: 'Hello, world! 0'
publishing msg: 'Hello, world! 0'
subscribed msg: 'Hello, world! 1'
publishing msg: 'Hello, world! 1'
subscribed msg: 'Hello, world! 2'
publishing msg: 'Hello, world! 2'
subscribed msg: 'Hello, world! 3'
publishing msg: 'Hello, world! 3'
subscribed msg: 'Hello, world! 4'
publishing msg: 'Hello, world! 4'
subscribed msg: 'Hello, world! 5'
publishing msg: 'Hello, world! 5'
subscribed msg: 'Hello, world! 6'
publishing msg: 'Hello, world! 6'

host
<<operation 2.>>
$ ros2 launch mros2_echoback_string pubsub.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2022-10-14-13-15-30-659521-ubuntu22-35457
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [stdbuf-1]: process started with pid [35458]
[INFO] [stdbuf-2]: process started with pid [35460]
[stdbuf-1] [INFO] [1665753332.251201577] [pub_mros2]: Publishing msg: 'Hello, world! 0'
[stdbuf-1] [INFO] [1665753333.251270294] [pub_mros2]: Publishing msg: 'Hello, world! 1'
[stdbuf-1] [INFO] [1665753334.251276970] [pub_mros2]: Publishing msg: 'Hello, world! 2'
[stdbuf-1] [INFO] [1665753335.251301128] [pub_mros2]: Publishing msg: 'Hello, world! 3'
[stdbuf-1] [INFO] [1665753336.251255208] [pub_mros2]: Publishing msg: 'Hello, world! 4'
[stdbuf-1] [INFO] [1665753337.251259028] [pub_mros2]: Publishing msg: 'Hello, world! 5'
[stdbuf-1] [INFO] [1665753338.251277661] [pub_mros2]: Publishing msg: 'Hello, world! 6'
[stdbuf-1] [INFO] [1665753339.251290423] [pub_mros2]: Publishing msg: 'Hello, world! 7'
[stdbuf-2] [INFO] [1665753339.259231180] [mros2_sub]: Subscribed msg: 'Hello, world! 7'
[stdbuf-1] [INFO] [1665753340.251298998] [pub_mros2]: Publishing msg: 'Hello, world! 8'
[stdbuf-2] [INFO] [1665753340.259199884] [mros2_sub]: Subscribed msg: 'Hello, world! 8'
[stdbuf-1] [INFO] [1665753341.251372387] [pub_mros2]: Publishing msg: 'Hello, world! 9'
[stdbuf-2] [INFO] [1665753341.259377163] [mros2_sub]: Subscribed msg: 'Hello, world! 9'
[stdbuf-1] [INFO] [1665753342.251336792] [pub_mros2]: Publishing msg: 'Hello, world! 10'
[stdbuf-2] [INFO] [1665753342.261875374] [mros2_sub]: Subscribed msg: 'Hello, world! 10'
<<operation 3.>>
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[stdbuf-1] [INFO] [1665753342.950610219] [rclcpp]: signal_handler(signum=2)
[stdbuf-2] [INFO] [1665753342.950629294] [rclcpp]: signal_handler(signum=2)
[INFO] [stdbuf-2]: process has finished cleanly [pid 35460]
[INFO] [stdbuf-1]: process has finished cleanly [pid 35458]
<<operation 4.>>
$ ros2 launch mros2_echoback_string pubsub.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2022-10-14-13-15-45-533175-ubuntu22-35482
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [stdbuf-1]: process started with pid [35483]
[INFO] [stdbuf-2]: process started with pid [35485]
[stdbuf-1] [INFO] [1665753347.126703494] [pub_mros2]: Publishing msg: 'Hello, world! 0'
[stdbuf-1] [INFO] [1665753348.126706880] [pub_mros2]: Publishing msg: 'Hello, world! 1'
[stdbuf-1] [INFO] [1665753349.126702914] [pub_mros2]: Publishing msg: 'Hello, world! 2'
[stdbuf-1] [INFO] [1665753350.126727558] [pub_mros2]: Publishing msg: 'Hello, world! 3'
[stdbuf-1] [INFO] [1665753351.126724757] [pub_mros2]: Publishing msg: 'Hello, world! 4'
[stdbuf-1] [INFO] [1665753352.126746400] [pub_mros2]: Publishing msg: 'Hello, world! 5'
[stdbuf-1] [INFO] [1665753353.126817154] [pub_mros2]: Publishing msg: 'Hello, world! 6'

this message sometimes appeared at operation 4.


Feature: Move file viewer to be under task file tab

This PR moves the file viewer to be underneath the task file tab.
This is the first step in preparation for the new LogViewer tab (new API).
Before:
~~https://cl.ly/002X0k0G342O/Screen Recording 2016-09-27 at 17.24.gif~~
After:
~~https://cl.ly/393V3Q29201K/Screen Recording 2016-09-27 at 17.23.gif~~
What it looks like after rebase with cnvs-upgrade/master:

@mlunoe I don't think you want to point this PR to master

sorry I'm such a n00b at github

@rcorral addressed all comments

I think the code looks great. I did notice two bugs:

I navigated to the "files" tab for a task, then clicked the browser's "back" button. The "files" tab remained active, but the content was actually the "details" tab content.
The breadcrumb is visible in the "details" tab view.

Ok, both problems have been fixed:

Nice @mlunoe! I think maybe you need to update your local cnvs-upgrade/master because the conflict is still here :)

Nope, it was just squashed commits that was causing me trouble. Should be fixed now!