Worker node deleted and re-provisioned by Rancher after etcd/kubernetes restore

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Install Rancher 2.4 master-head used commit id: 9adb67c4f (02/27/2020)
Configure a new cluster with S3 backups k8s version v1.15.10-rancher1-1

not sure if this is directly related but this was used in the test environment.
I used DigitalOcean to provision the nodes.

Let Rancher create the first automatic snapshot and then trigger a new one.
Update the cluster to Kubernetes v1.16.7-rancher1-1
After the cluster is back to active trigger two backups.
Update the cluster to Kubernetes v1.17.3-rancher1-1
After the cluster is back to active trigger two backups.
At this point there will be 6 backups in total 2 for each Kubernetes version in Rancher.
Open Restore Snapshot and select the second snapshot created for Kubernetes v1.15.10-rancher1-1 from the dropdown
Select the option Restore etcd and Kubernetes Version - v1.15.10-rancher1-1
Click Restore

Result:
Once the restore is completed the Cluster was active but then Rancher triggered a node delete in one of the worker nodes:
2020/02/27 21:04:54 [INFO] Finished restoring snapshot [c-82p5s-ms-z66s6_2020-02-27T20:55:04Z] on all etcd hosts
2020/02/27 21:04:54 [INFO] kontainerdriver rancherkubernetesengine stopped
2020/02/27 21:04:59 [INFO] kontainerdriver rancherkubernetesengine listening on address <IP_ADDRESS>:37207
2020/02/27 21:04:59 [INFO] kontainerdriver rancherkubernetesengine stopped
2020/02/27 21:04:59 [INFO] Provisioned cluster [c-82p5s]
2020/02/27 21:05:16 [INFO] Updating workload [ingress-nginx/nginx-ingress-controller] with public endpoints [[{"nodeName":"c-82p5s:m-rpwdg","addresses":["x.x.x.x"],"port":80,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-pfs6c","allNodes":false},{"nodeName":"c-82p5s:m-rpwdg","addresses":["x.x.x.x"],"port":443,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-pfs6c","allNodes":false}]]
2020/02/27 21:05:18 [INFO] Handling backend connection request [c-82p5s]
2020/02/27 21:05:19 [INFO] Updating workload [ingress-nginx/nginx-ingress-controller] with public endpoints [[{"nodeName":"c-82p5s:m-rpwdg","addresses":["x.x.x.x"],"port":80,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-pfs6c","allNodes":false},{"nodeName":"c-82p5s:m-rpwdg","addresses":["x.x.x.x"],"port":443,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-pfs6c","allNodes":false},{"nodeName":"c-82p5s:m-khsw6","addresses":["x.x.x.x"],"port":80,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-vfz92","allNodes":false},{"nodeName":"c-82p5s:m-khsw6","addresses":["x.x.x.x"],"port":443,"protocol":"TCP","podName":"ingress-nginx:nginx-ingress-controller-vfz92","allNodes":false}]]
2020/02/27 21:05:27 [INFO] Deleted cluster node m-cng9k [izaac-do-test1-wrkr-1]
2020/02/27 21:05:27 [INFO] Removing node izaac-do-test1-wrkr-1
2020/02/27 21:05:27 [INFO] [node-controller-rancher-machine] About to remove izaac-do-test1-wrkr-1
2020/02/27 21:05:27 [INFO] [node-controller-rancher-machine] WARNING: This action will delete both local reference and remote instance.
2020/02/27 21:05:28 [INFO] Provisioning cluster [c-82p5s]
2020/02/27 21:05:28 [INFO] Updating cluster [c-82p5s]
2020/02/27 21:05:28 [INFO] [node-controller-rancher-machine] Successfully removed izaac-do-test1-wrkr-1
2020/02/27 21:05:28 [INFO] Removing node izaac-do-test1-wrkr-1 done
2020/02/27 21:05:28 [INFO] Creating jail for c-82p5s
2020/02/27 21:05:28 [INFO] Provisioning node izaac-do-test1-wrkr-1

Other details that may be helpful:
Environment information

Rancher version: 2.4 master-head (02/27/2020) commit id: 9adb67c4f
Installation option (single install/HA): single

@sangeethah this is probably deep in nodesyncer and not related to the etcd restore process. i can look but should be a separate store and I don't feel it should be tied to the definition of done for etcd backup restore.

@izaac Does this happen with every restore? Or just sometimes?

@deniseschannon so far  I was able to reproduce consistently with the restoreRkeConfig='all' scenarios

@izaac Does this happen with every restore? Or just sometimes?

This happened to me once, it's not happening all the time so far hasn't happened to me again. But we decided to open the issue for tracking.

Closing, please open a new issue if this is still experienced on the latest Rancher release on RKE1 clusters.


Proxy error

#!/usr/bin/env python3

import cfg

import asyncio
import json
from pathlib import Path

from re_edge_gpt import Chatbot
from re_edge_gpt import ConversationStyle

# If you are using jupyter pls install this package
# from nest_asyncio import apply

async def test_ask() -> None:
    bot = None
    try:
        bot = await Chatbot.create(proxy='socks5://<IP_ADDRESS>:1080')
        response = await bot.ask(
            prompt="How to boil the egg",
            conversation_style=ConversationStyle.balanced,
            simplify_response=True
        )
        # If you are using non ascii char you need set ensure_ascii=False
        print(json.dumps(response, indent=2, ensure_ascii=False))
        # Raw response
        # print(response)
        assert response
    except Exception as error:
        raise error
    finally:
        if bot is not None:
            await bot.close()

if __name__ == "__main__":
    # If you are using jupyter pls use nest_asyncio apply()
    # apply()
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = asyncio.get_event_loop()
    loop.run_until_complete(test_ask())

unhashable type: 'bytearray'
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 33, in test_ask
    raise error
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 33, in test_ask
    raise error
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 46, in <module>
    loop.run_until_complete(test_ask())
TypeError: unhashable type: 'bytearray'

That proxy works fine, vpn+noproxy is ok too.

Try new version that using copliot.com not bing.com

And pls renew your cookie using copliot.com not bing.com

#!/usr/bin/env python3

import cfg

import asyncio
import json
from pathlib import Path

from re_edge_gpt import Chatbot
from re_edge_gpt import ConversationStyle

# If you are using jupyter pls install this package
# from nest_asyncio import apply

async def test_ask() -> None:
    bot = None
    try:
        cookies = json.loads(open("cookies.json", encoding="utf-8").read())
        bot = await Chatbot.create(cookies=cookies, proxy='socks5://<IP_ADDRESS>:1080')
        # bot = await Chatbot.create(cookies=cookies)
        response = await bot.ask(
            prompt="very short answer 1+1=",
            conversation_style=ConversationStyle.balanced,
            simplify_response=True
        )
        # If you are using non ascii char you need set ensure_ascii=False
        print(json.dumps(response, indent=2, ensure_ascii=False))
        # Raw response
        # print(response)
        assert response
    except Exception as error:
        raise error
    finally:
        if bot is not None:
            await bot.close()

if __name__ == "__main__":
    # If you are using jupyter pls use nest_asyncio apply()
    # apply()
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = asyncio.get_event_loop()
    loop.run_until_complete(test_ask())

unhashable type: 'bytearray'
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 35, in test_ask
    raise error
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 35, in test_ask
    raise error
  File "C:\Users\user\V\4 python\2 telegram bot tesseract\tb1\test.py", line 48, in <module>
    loop.run_until_complete(test_ask())
TypeError: unhashable type: 'bytearray'

Nothing has changed. VPN and cookies without a proxy = working. VPN without cookies is not working, although it worked in the previous version. With a proxy, it does not work, even if the VPN connected to the server where this proxy is located.

Well, maybe this is httpx problem.

You can use this package
https://github.com/romis2012/httpx-socks
and change chathub.py line 55 ~ line 59

No, you don't, using https transport

Yes, it works with http:// type of proxy

By the way, do we really need all cookies? I use modified version of script for image creation with only _U cookie.

if you only use for image gen, yeah you only need _U cookie

Are u still get proxy error?

Yes.
Tried pip install httpx[socks].
This socks proxy works with chatgpt and bing image creator.
For now your bing chat works only with http type of proxy.


Remove debug logs

Motivation
I could be wrong, but this looks like debug logs that got accidentally merged
Proposal
Remove them
Test Plan
CI

#2022  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @andresilva91 and the rest of your teammates on  Graphite


Let users delete an organisation

Deletes organisation and all posts created by the organisation

We introduced a bug - #1397 - so I will revert so we can safely release to production today. I will re-open this one so we have more time to work on getting it right.


poetry run mkdocs build: Config value: 'theme'. Error: Unrecognised theme name: 'material'.

In origin/issue-417-erroneous-slot-sections
I will try to install the plugin

I think this is OK now. I might have just needed to do the initial poetry install!


help ：Sending msg in event causes process has died

Hello, I was looking at the task system recently.
I have customized an event to implement the process of sending requests to robots and returning status and results, similar to 'DispenseItem'. But 'DispenseItem' is a phase, which I implement in Active following its writing method_ init_ obs().
The implementation code is shown in the first figure. I use custom rmf_waitformessage_msgs replaced the original  rmf_dispenser_msg. The compilation is successful, but when I send the compose task to call this' event ',' process has died 'appears. I would like to ask you where the mistake occurred.Thank you!

I can't necessarily know what's causing the crash without debugging it myself.
To debug this type of crash I recommend these steps:

Rebuild the colcon workspace with the addition of --cmake-args DCMAKE_BUILD_TYPE=RelWithDebInfo
Run your fleet adapter in gdb until it crashes

That being said, I'm most suspicious of node, specifically the way it's being captured by reference in the lambda. The lambda will outlive the reference and that reference will get triggered after the reference has died. You should instead capture node by copy, which means deleting the & in the capture list.

Since this isn't a bug in RMF or a feature request, I'll be closing this issue. If you want to discuss the matter further I recommend [opening a discussion] (https://github.com/open-rmf/rmf/discussions).


Grants required for auth0-exporter to fetch log information/metrics from production Auth0 management API

What happened?
Hi @tfadeyi ,
Kindly share the  grants that is required by auth0-exporter to fetch log information/metrics from Auth0 management API .
Thanks
Naresh
What should have happened?
We cannot able to fetch the metrics due to unauthorized access because of lack of grants for production Auth0 management API.
Reproduction
Kindly share the  grants that is required by auth0-exporter to fetch log information/metrics from Auth0 management API .

Hi @numa1985, I think the permissions needed, should be:
read:logs, read:logs_users, read:users.

The complete set of grants: read:logs, read:clients, read:users.
The read:users is required for the metric https://github.com/tfadeyi/auth0-simple-exporter/commit/8aaca5fce8eb310c8cf3b40d27314f3aa0595cb3 to get the monthly active users.

Hi @tfadeyi ,
Thanks for sharing the  information.
We implemented the mentioned grants and worked fine.
Have a great weekend ahead !!
BR,
Naresh


Update README.md

Adding Piwik PRO

@onurakpolat I saw there are multiple pull requests pending from the last couple of weeks. Is there a chance you'll have a look at them? Thanks!

Thanks for the friendly reminder!


tests: Move job.go under libnet folder

What this PR does / why we need it:
job.go is used all by network (one usage is on migration.go for a subdomain FQDN test)
therefore move it to network tests folder.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
None

/test pull-kubevirt-e2e-k8s-1.27-sig-network

/uncc

Addressed resolved comments

/test pull-kubevirt-e2e-k8s-1.27-sig-network

/assign @AlonaKaplan

/approve

Thanks

pull-kubevirt-code-lint due to this PR, will take a look

/hold
because this lane is optional

/hold cancel
Rebased Fixed lint problems (it seems it didnt run linter previously on that file, because it run on specific folders)

I cannot see the changes done because you rebased and fixed things.
Can you send links to the changes that are relevant?

/hold cancel
Rebased Fixed lint problems (it seems it didnt run linter previously on that file, because it run on specific folders)

I cannot see the changes done because you rebased and fixed things. Can you send links to the changes that are relevant?

It was done in two separated pushed, but since it is in a commit, it appears different
please see the commit that appear in a line below https://github.com/kubevirt/kubevirt/pull/10098#issuecomment-1642173734
https://github.com/kubevirt/kubevirt/pull/10098/commits/11fcc686b19ee2e041f67066e38e084f7af1f9c3


provider/postgis: support for SQL sub-queries

Implements #467 and also refactors and extends TestTileFeatures.

Pull Request Test Coverage Report for Build 1330

15 of 17 (88.24%)  changed or added relevant lines in 2 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.07%) to 44.08%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

provider/postgis/util.go
8
10
80.0%

Files with Coverage Reduction
New Missed Lines
%

provider/gpkg/binary_header.go
2
100.0%

cmd/tegola/cmd/cache.go
5
25.19%

Totals

Change from base Build 1327:
0.07%

Covered Lines:
5134

Relevant Lines:
11647

💛  - Coveralls

@olt I really like this implementation. It's a "clean hack" that is quite effective. I made some minor changes in another branch but overall this is a great approach to adding in subqueries. 👏

The new PR is #507.


Linter, makefile, test separated, CI update

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9d36b9a). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #8   +/-   ##
=========================================
  Coverage          ?   24.50%
=========================================
  Files             ?       13
  Lines             ?      657
  Branches          ?        0
=========================================
  Hits              ?      161
  Misses            ?      485
  Partials          ?       11

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 9d36b9a...955bd35. Read the comment docs.


glom: switch to postgresql_11

Description of changes
Switch from postgresql_14 to postgresql_11.
Glom doesn't support versions above postgres11: https://gitlab.gnome.org/GNOME/glom/-/issues/9
Fixes #212991. Tested that a new file can be created without crashing now on NixOS x86_64-linux.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Thanks.


Update Authoring Gradle section menu in User Manual

Details
This is a Documentation change ONLY.
Context
Update doc menu for Authoring Gradle Build
Reviewers:

@bot-gradle test BD

I've triggered the following builds for you. Click here to see all build failures.

BuildDistributions build

@bot-gradle merge

I've triggered a build for you. Click here to see all failures if there's any.


Numeral 2.0 - updated

Picks up where PR #6 by @Soliah left off.

Updates all dependencies and the ember-cli addon code.
Implements all things noted by @josemarluedke:

separately loaded locales (see: updated README )
error message if old option is used

Thank you @CvX and @Soliah! Published v1.0.0 containing this.


doc: fix env var in readme

Issue #, if available:
https://github.com/aws/sagemaker-containers/issues/205
Description of changes:
Reader has found some inconsistencies in the readme.
Also pinning pytest and tox versions, as pytest is failing when asserting on exception messages.
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.

[x] I have read the CONTRIBUTING doc
[x] I used the commit message format described in CONTRIBUTING
[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have updated any necessary documentation (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


[Feature] Add jupyter notebook viewer

Add a feature that shows a jupyter notebook in a human readable format when one is opened in Micro. I think this feature would be pretty popular as there isn't a quick and easy way to view a jupyter notebook from the command line without installing the entire jupyter toolchain.
I am willing to implement this feature.

I think it's important for command-line editors to exactly display the contents of files, and not have special viewing modes for certain filetypes. An interesting but independent project could be to make a terminal jupyter notebook viewer.


Add param to addPlugin that injects plugin at bottom of array instead of top

What problem does this feature solve?
Currently we have some plugins that use 'inject'.  We also have other plugins that use the injected plugins, which require a specific order.  When you do  a addPlugin via ModuleContainer it always does an unshift so plugins are no longer in the order desired.
I think it's a bit presumptuous to think plugins added via modules should always be added to the top of your 'core' plugins that you have already defined in your nuxt.config.js.  Adding this bool param would give you more control.
What does the proposed changes look like?
addPlugin(template, addToBottom)

This feature request is available on Nuxt community (#c9186)

It might work when having one module that requires that but with more modules (and loose plugins) I think it would quickly get confusing and hard to follow. Also it wouldn't be very flexible.
I think a better solution would be to have a priority parameter that could be set to anything from -Infinity to +Infinity and plugins would be sorted according to it. But that is not ideal solution either as again, it could quickly get out of hand when using multiple third-party modules (similarly to how z-index in css can get out of hand quickly).

The other solution would be dependency based sorting of modules executation.

All of these sound great, but at least in my case, it's using a hammer to swat a fly.  The goal was, if this inserts at the top all of the time, just give someone the ability to insert at the bottom.  That's it :)
Anything more, and I would say it's outside of the scope of this function, and quite possibly the scope of the module system.
If we had a built-in plugins:done event on client side (and probably server) much of this would go away since other plugins could wait until all plugins are 'settled' before accessing dependancies.

The other solution would be dependency based sorting of modules executation.

We already have modules:done, I don't think this should be needed.

@hecktarzuli Using modules:done is not making any different. Two module hooking into it still need a periorty. Waiting on runtime would not be a good solution. At best it makes possiblity of dead locks.
As a real-world example, auth module plugin depends on axios and there are plugins that depend on both. So we should sort them in a working order. This can be done if auth plugin specifics it depends on axios when being registered.

If we had a built-in "plugins:done" hook/event on client side (and probably server) much of this would go away since other plugins could wait until all plugins are 'settled' before accessing dependancies.

What if two plugins hook into it? Then both are having same periorty. Also if they run at the end, how to register plugins after them? (Taking auth example. Plugins that depend on auth)

The plugins would be injected/registered as normal (in any order).  The idea is the plugins themselves would listen to a plugins:done event to know when they can start accessing other plugins is all.
For us our drift plugin relies on our uiEvent Bus plugin.  We would just have code in the drift plugin that does something like:
[drift plugin]
app.hook('plugins:done', () => {
app.$uiEvents.$on('chat:clicked', () => { this.drift.open() }
})
Now, if you have something that depends on something, that depends on something (which would need a very specific order) then I would encourage people to make their plugins less fragile.

Nice idea to have a such hook, however Issue title does not matches.

Lol, yeah kind of a tangent / a better fix to my original request.  I'll close this and make a new one.

New Request: https://cmty.app/nuxt/nuxt.js/issues/c9209

It's a bit off-top but I try to ask anyway, because I can't find any answer in the documentation.
Are plugins registered within a nuxt module added to the (top) plugins list before actual plugins (as specified in config file) are loaded?
I'm trying to extend this nuxt enabled module which adds the plugin using addPlugin but when I try to access the prototype property inside my custom plugin, registered at plugins/custom-dialogs.js with the following content:
import Vue from 'vue'

Vue.use((inst) => {
  console.log(inst.prototype.$dialog)
})

And turns out to be undefined.. my guess is that modules are loaded after plugins, which maybe is not the desired behaviour.
Also I looked into the generated nuxt/index.js file and the strange thing is that:
/* Plugins */

...
import nuxt_plugin_vuetifydialog_bf0ed622 from 'nuxt_plugin_vuetifydialog_bf0ed622' // Source: .\\vuetify-dialog.js (mode: 'client')
...
import nuxt_plugin_customdialogs_6f39eec5 from 'nuxt_plugin_customdialogs_6f39eec5' // Source: ..\\plugins\\custom-dialogs (mode: 'client')

It's loaded before my code but still undefined..
I've tried with another dummy plugin which sets vue prototype properties and placed it before mine in plugins array and I can access the property from the next plugin.

never mind, I found where was the problem, the plugin registers $dialog at context level.
also after check with extendPlugins I see the plugins are ordered correctly, so all my previous comment can be ignored


VersionMismatch due to what?

Hi, we're trying to use lora in conjunction with an esp32.
we're passing an spi2 to to the loramodule, and when we instantiate the object, it returns this error:
VersionMismatch(0)

Is this likely due to our spi, or hardwiring of our pins?

I have the same problem, I've tested my SPI connection with BME280 and it worked, so it's either faulty radio or a bug in implementation.

I have the same problem


Trouble in Ubuntu

I'm making progress here, but think there's a loop in the install that I'm running into.
I ran this for hours before closing the terminal and giving up.
logger exited with code 1
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter `rs`
iframe-server    | [nodemon] watching path(s): *.*
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/whatwg-mimetype/lib'
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/@sinonjs/fake-timers/LICENSE'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
angelica         | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-snapshot/build/State.js'
angelica         | error Command failed with exit code 1.
angelica         | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
angelica exited with code 1
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
mav              |
mav              | ><EMAIL_ADDRESS>dev /usr/src/app
mav              | > nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              |
mav              | [nodemon] 1.9.1
mav              | [nodemon] to restart at any time, enter `rs`
mav              | [nodemon] watching: *.*
mav              | [nodemon] starting `node -r ts-node/register src/server.ts`
mav              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/ansi-regex/license'
mav              | npm ERR! code ELIFECYCLE
mav              | npm ERR! errno 1
mav              | npm ERR<EMAIL_ADDRESS>dev: `nodemon -e js,ts,graphql -r ts-node/register src/server.ts`
mav              | npm ERR! Exit status 1
mav              | npm ERR!
mav              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
mav              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
mav              |
mav              | npm ERR! A complete log of this run can be found in:
mav              | npm ERR!     /root/.npm/_logs/2021-02-28T20_58_52_315Z-debug.log
mav exited with code 1
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/atob/bin/atob.js'
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-validate/build'
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server exited with code 1
logger exited with code 1
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter `rs`
iframe-server    | [nodemon] watching path(s): *.*
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
cdn-server       | yarn run v1.17.3
cdn-server       | $ nodemon -e js,ts -r ts-node/register src/server.ts
cdn-server       | [nodemon] 2.0.4
cdn-server       | [nodemon] to restart at any time, enter `rs`
cdn-server       | [nodemon] watching path(s): *.*
cdn-server       | [nodemon] watching extensions: js,ts
cdn-server       | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
cdn-server       | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/ajv/lib/dot/ref.jst'
cdn-server       | error Command failed with exit code 1.
cdn-server       | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
cdn-server exited with code 1
api              |
api              | ><EMAIL_ADDRESS>dev /usr/src/app
api              | > nodemon -e js,ts,graphql -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts
api              |
api              | [nodemon] 1.9.1
api              | [nodemon] to restart at any time, enter `rs`
api              | [nodemon] watching: *.*
api              | [nodemon] starting `node -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts`
api              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/apollo-env/src'
api              | npm ERR! code ELIFECYCLE
api              | npm ERR! errno 1
api              | npm ERR<EMAIL_ADDRESS>dev: `nodemon -e js,ts,graphql -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts`
api              | npm ERR! Exit status 1
api              | npm ERR!
api              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
api              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
api              |
api              | npm ERR! A complete log of this run can be found in:
api              | npm ERR!     /root/.npm/_logs/2021-02-28T20_59_11_091Z-debug.log
api exited with code 1
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch<EMAIL_ADDRESS>logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/express/lib/application.js'
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter `rs`
iframe-server    | [nodemon] watching path(s): *.*
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/got/source/request-as-event-emitter.js'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
angelica         | yarn run v1.22.4
angelica         | $ nodemon -e js,ts,graphql -r ts-node/register -r tsconfig-paths/register src/server.ts
angelica         | [nodemon] 1.9.1
angelica         | [nodemon] to restart at any time, enter `rs`
angelica         | [nodemon] watching: *.*
angelica         | [nodemon] starting `node -r ts-node/register -r tsconfig-paths/register src/server.ts`
angelica         | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/lodash/_baseDelay.js'
angelica         | error Command failed with exit code 1.
angelica         | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
angelica exited with code 1
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-serializer/package.json'
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/rsvp/lib/rsvp'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter `rs`
logger           | [nodemon] watching path(s): *.*
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
mav              |
mav              | ><EMAIL_ADDRESS>dev /usr/src/app
mav              | > nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              |
mav              | [nodemon] 1.9.1
mav              | [nodemon] to restart at any time, enter `rs`
mav              | [nodemon] watching: *.*
iframe-server    | [nodemon] 2.0.4
mav              | [nodemon] starting `node -r ts-node/register src/server.ts`
iframe-server    | [nodemon] to restart at any time, enter `rs`
iframe-server    | [nodemon] watching path(s): *.*
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting `ts-node -r ts-node/register src/server.ts`
mav              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-util/build/replacePathSepForGlob.d.ts'
mav              | npm ERR! code ELIFECYCLE
mav              | npm ERR! errno 1
mav              | npm ERR<EMAIL_ADDRESS>dev: `nodemon -e js,ts,graphql -r ts-node/register src/server.ts`
mav              | npm ERR! Exit status 1
mav              | npm ERR!
mav              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
mav              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
mav              |
mav              | npm ERR! A complete log of this run can be found in:
mav              | npm ERR!     /root/.npm/_logs/2021-02-28T20_59_55_209Z-debug.log
mav exited with code 1
client_loop: send disconnect: Broken pipe
$

Any ideas?

I appreciate the effort and the detailed log output, I think the issue is
due to the amount of folders/volumes we are trying to sync to the
containers for development. I’m glad that you ran into this issue since
recently the system seems a little sluggish at times. The reason I am not
running into this issue on my machine is due to my swap limit is raised
above the default to 1.5gb. I am going to look into reducing the amount of
volumes synced. You  can bypass this issue by commenting out certain
volumes on the development.yml file for docker. I should have this fixed by
the end of the day.
On Mon, Mar 1, 2021 at 6:26 PM Mike Gifford<EMAIL_ADDRESS>wrote:

I'm making progress here, but think there's a loop in the install that I'm
running into.
I ran this for hours before closing the terminal and giving up.
logger exited with code 1
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter rs
iframe-server    | [nodemon] watching path(s): .
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting ts-node -r ts-node/register src/server.ts
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/whatwg-mimetype/lib'
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/@sinonjs/fake-timers/LICENSE'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
angelica         | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-snapshot/build/State.js'
angelica         | error Command failed with exit code 1.
angelica         | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
angelica exited with code 1
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
mav              |
mav              | ><EMAIL_ADDRESS>dev /usr/src/app
mav              | > nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              |
mav              | [nodemon] 1.9.1
mav              | [nodemon] to restart at any time, enter rs
mav              | [nodemon] watching: .
mav              | [nodemon] starting node -r ts-node/register src/server.ts
mav              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/ansi-regex/license'
mav              | npm ERR! code ELIFECYCLE
mav              | npm ERR! errno 1
mav              | npm ERR<EMAIL_ADDRESS>dev: nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              | npm ERR! Exit status 1
mav              | npm ERR!
mav              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
mav              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
mav              |
mav              | npm ERR! A complete log of this run can be found in:
mav              | npm ERR!     /root/.npm/_logs/2021-02-28T20_58_52_315Z-debug.log
mav exited with code 1
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/atob/bin/atob.js'
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-validate/build'
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server exited with code 1
logger exited with code 1
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter rs
iframe-server    | [nodemon] watching path(s): .
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting ts-node -r ts-node/register src/server.ts
cdn-server       | yarn run v1.17.3
cdn-server       | $ nodemon -e js,ts -r ts-node/register src/server.ts
cdn-server       | [nodemon] 2.0.4
cdn-server       | [nodemon] to restart at any time, enter rs
cdn-server       | [nodemon] watching path(s): .
cdn-server       | [nodemon] watching extensions: js,ts
cdn-server       | [nodemon] starting ts-node -r ts-node/register src/server.ts
cdn-server       | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/ajv/lib/dot/ref.jst'
cdn-server       | error Command failed with exit code 1.
cdn-server       | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
cdn-server exited with code 1
api              |
api              | ><EMAIL_ADDRESS>dev /usr/src/app
api              | > nodemon -e js,ts,graphql -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts
api              |
api              | [nodemon] 1.9.1
api              | [nodemon] to restart at any time, enter rs
api              | [nodemon] watching: .
api              | [nodemon] starting node -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts
api              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/apollo-env/src'
api              | npm ERR! code ELIFECYCLE
api              | npm ERR! errno 1
api              | npm ERR<EMAIL_ADDRESS>dev: nodemon -e js,ts,graphql -r ts-node/register/transpile-only -r tsconfig-paths/register src/server.ts
api              | npm ERR! Exit status 1
api              | npm ERR!
api              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
api              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
api              |
api              | npm ERR! A complete log of this run can be found in:
api              | npm ERR!     /root/.npm/_logs/2021-02-28T20_59_11_091Z-debug.log
api exited with code 1
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch<EMAIL_ADDRESS>logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/express/lib/application.js'
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
iframe-server    | [nodemon] 2.0.4
iframe-server    | [nodemon] to restart at any time, enter rs
iframe-server    | [nodemon] watching path(s): .
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting ts-node -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/got/source/request-as-event-emitter.js'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
logger           | yarn run v1.21.1
logger           | $ nodemon -e js,ts -r ts-node/register src/server.ts
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
angelica         | yarn run v1.22.4
angelica         | $ nodemon -e js,ts,graphql -r ts-node/register -r tsconfig-paths/register src/server.ts
angelica         | [nodemon] 1.9.1
angelica         | [nodemon] to restart at any time, enter rs
angelica         | [nodemon] watching: .
angelica         | [nodemon] starting node -r ts-node/register -r tsconfig-paths/register src/server.ts
angelica         | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/lodash/_baseDelay.js'
angelica         | error Command failed with exit code 1.
angelica         | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
angelica exited with code 1
logger           | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-serializer/package.json'
iframe-server    | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/rsvp/lib/rsvp'
logger           | error Command failed with exit code 1.
logger           | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
iframe-server    | error Command failed with exit code 1.
iframe-server    | info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
logger exited with code 1
iframe-server exited with code 1
logger           | [nodemon] 2.0.4
logger           | [nodemon] to restart at any time, enter rs
logger           | [nodemon] watching path(s): .
logger           | [nodemon] watching extensions: js,ts
logger           | [nodemon] starting ts-node -r ts-node/register src/server.ts
iframe-server    | yarn run v1.17.3
iframe-server    | $ nodemon -e js,ts -r ts-node/register src/server.ts
mav              |
mav              | ><EMAIL_ADDRESS>dev /usr/src/app
mav              | > nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              |
mav              | [nodemon] 1.9.1
mav              | [nodemon] to restart at any time, enter rs
mav              | [nodemon] watching: .
iframe-server    | [nodemon] 2.0.4
mav              | [nodemon] starting node -r ts-node/register src/server.ts
iframe-server    | [nodemon] to restart at any time, enter rs
iframe-server    | [nodemon] watching path(s): .
iframe-server    | [nodemon] watching extensions: js,ts
iframe-server    | [nodemon] starting ts-node -r ts-node/register src/server.ts
mav              | [nodemon] Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/node_modules/jest-util/build/replacePathSepForGlob.d.ts'
mav              | npm ERR! code ELIFECYCLE
mav              | npm ERR! errno 1
mav              | npm ERR<EMAIL_ADDRESS>dev: nodemon -e js,ts,graphql -r ts-node/register src/server.ts
mav              | npm ERR! Exit status 1
mav              | npm ERR!
mav              | npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
mav              | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
mav              |
mav              | npm ERR! A complete log of this run can be found in:
mav              | npm ERR!     /root/.npm/_logs/2021-02-28T20_59_55_209Z-debug.log
mav exited with code 1
client_loop: send disconnect: Broken pipe
$
Any ideas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/A11yWatch/a11ywatch/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5YR2TG3ZMXIB5DWFFH7R3TBQPDNANCNFSM4YNRXSNA
.

@mgifford  try running this command to increase the file limit for now echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p. The docker development.yml has a handful of modules being mapped right now that require a bit of extra setup depending on the os.

working on actively reducing the images, was able to reduce the logger service from 300mb to 60mb. https://github.com/A11yWatch/a11ywatch/commit/5dbd566603c37461f82d598b22e7fd5487ab3f03#diff-695c5472293897763049667248104cdaa54a11b6bee3f9247a6d9da77826ac21R16

@mgifford the project requirements now work with the default docker resource allocation of 2gb. Appreciate the help and patience with this, thank you. The web application moved to its own repo since UI is not really needed for the main app. Going to try to refactor the project so theres a mono-repo to handle stitching all the services together later on. For now choose one of the client apps(web - best option , ios - wip, android - wip)  that you want to use for a11ywatch and run it separately. If this runs smoothly, ill close this issue.

docker system prune or make sure to clean out all the old images and start new. Closing the issue, appreciate the support on this one.


Implement lookup tables

Current vensim and xmile importers omit lookup tables.
Implement the import in such a way as to allow the lookup tables to be modified or replaced with other objects/functions.

Partially addressed by https://github.com/JamesPHoughton/pysd/commit/70f02a397fcb2f351dbdefebc8e248a88032e61c
Need to implement checks on the input variable and throw errors when appropriate

Lookup table interpolation from numpy seems to have a difference from the vensim version - how much do we care?

Some – if we want to show that models tie out across platforms. Is it both interpolation and extrapolation, or just interpolation?
From: James Houghton<EMAIL_ADDRESS>Sent: Thursday, December 03, 2015 11:44 AM
To: JamesPHoughton/pysd<EMAIL_ADDRESS>Subject: Re: [pysd] Implement lookup tables (#14)
Lookup table interpolation from numpy seems to have a difference from the vensim version - how much do we care?
—
Reply to this email directly or view it on GitHub https://github.com/JamesPHoughton/pysd/issues/14#issuecomment-161710676 .  https://github.com/notifications/beacon/AKDJKcDXwSbcPm2ajmuDHlIZX-y0mpT_ks5pMGjNgaJpZM4DXRzf.gif

Hmm... That seems weird. Do you have an example where this happens? I tried out something quick and it seems to give the same results for me. Here's the test file (Vensim):
Input=
		Time
	Units: **undefined**

Output= WITH LOOKUP (
	Input,
		([(0,0)-(12,10)],(2,0),(3,2),(4,1),(5,3),(6,4),(7,3),(8,5),(9,7),(10,10),
(11,8),(12,9) ))
Units: **undefined**

Which gives the result:
Time (Month)	0	1	2	3	4	5	6	7	8	9	10	11	12	13	14
"Output"  Runs:	Current
Output	0	0	0	2	1	3	4	3	5	7	10	8	9	9	9

Then the numpy version:
In [17]: import numpy as np

In [18]: xp = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

In [19]: yp = [0, 2, 1, 3, 4, 3, 5, 7, 10, 8, 9]

In [22]: result = np.interp(range(15), xp, yp)

In [23]: result
Out[23]:
array([  0.,   0.,   0.,   2.,   1.,   3.,   4.,   3.,   5.,   7.,  10.,
         8.,   9.,   9.,   9.])

Maybe it has something to do with the input to np.interp1d?

Well, that was a bad example. No interpolation going on there. Slightly better:
Vensim:
Input=
		Time+0.33
	Units: **undefined**

Output= WITH LOOKUP (
	Input,
		([(0,0)-(12,10)],(2,0),(3,2),(4,1),(5,3),(6,4),(7,3),(8,5),(9,7),(10,10),
(11,8),(12,9) ))
Units: **undefined**

Vensim output:
Time (Month)	0	1	2	3	4	5	6	7	8	9	10	11	12	13	14
"Output"  Runs:	Current
Output	0	0	.66	1.67	1.66	3.33	3.67	3.66	5.66	7.99	9.34	8.33	9	9	9

And numpy:
In [29]: import numpy as np

In [30]: xp = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

In [31]: yp = [0, 2, 1, 3, 4, 3, 5, 7, 10, 8, 9]

In [32]: result = np.interp(np.arange(15)+.33, input, output)

In [33]: result
Out[33]:
array([ 0.  ,  0.  ,  0.66,  1.67,  1.66,  3.33,  3.67,  3.66,  5.66,
        7.99,  9.34,  8.33,  9.  ,  9.  ,  9.  ])

@mhy05 - I think you had an example - I'll let you post.

T Room Temperature to Total(
[(0,0)-(100,100)],(0,0),(10,10),(100,100))
~
~  |
Heat Loss to Room[testcup1]=
(Teacup Temperature[testcup2] - Room Temperature[testcup1]) /
Characteristic Time[testcup3
] ~~|
Heat Loss to Room[testcup2]=
(Teacup Temperature[testcup3] - Room Temperature[testcup2]) /
Characteristic Time[testcup4
] ~~|
Heat Loss to Room[testcup3]=
(Teacup Temperature[testcup4] - Room Temperature[testcup3]) /
Characteristic Time[testcup5
] ~~|
Heat Loss to Room[testcup4]=
(Teacup Temperature[testcup5] - Room Temperature[testcup4]) /
Characteristic Time[testcup1
] ~~|
Heat Loss to Room[testcup5]=
(Teacup Temperature[testcup1] - Room Temperature[testcup5]) /
Characteristic Time[testcup2
]
~ Degrees/Minute
~ This is the rate at which heat flows from the cup into the room. We can
ignore it at this point.
|
Room Temperature[test]=
T Room Temperature to Total(Value for Room Temperature[test])
~
~  |
Value for Room Temperature[test]=
70,71,72,73,74
~
~  |
test:
testcup1,testcup2,testcup3, testcup4, testcup5
~
~  |
Characteristic Time[test]=
1,2,3,4,5
~ Minutes
~  |
Teacup Temperature[test]= INTEG (
-Heat Loss to Room[test],
180)
~ Degrees
~  |

.Control
********************************************************~
Simulation Control Parameters
|
FINAL TIME  = 100
~ Minute
~ The final time for the simulation.
|
INITIAL TIME  = 0
~ Minute
~ The initial time for the simulation.
|
SAVEPER  =
TIME STEP
~ Minute [0,?]
~ The frequency with which output is stored.
|
TIME STEP  = 0.0625
~ Minute [0,?]
~ The time step for the simulation.
|
On Thu, Dec 3, 2015 at 3:19 PM, James Houghton<EMAIL_ADDRESS>wrote:

@mhy05 https://github.com/mhy05 - I think you had an example - I'll let
you post.
—
Reply to this email directly or view it on GitHub
https://github.com/JamesPHoughton/pysd/issues/14#issuecomment-161771163.

Here's one possible translation!
from future import division
import numpy as np
from pysd import functions
from pysd import builder
class Components(builder.ComponentClass):
def t_room_temperature_to_total(self,

x):
return self.functions.lookup(x,
self.t_room_temperature_to_total.xs,
self.t_room_temperature_to_total.ys)
t_room_temperature_to_total.xs = [0.0, 10.0,

100.0]
t_room_temperature_to_total.ys = [0.0, 10.0,
100.0]
variable_heat_loss_to_room=""

def heat_loss_to_room(self):
    """Type: Flow or Auxiliary
    """
    global variable_heat_loss_to_room
    if self.variable_heat_loss_to_room=="":

self.variable_heat_loss_to_room=np.array([((self.teacup_temperature()[self.getelempos("testcup2")])-(self.room_temperature()[self.getelempos("testcup1")]))/(self.characteristic_time()[self.getelempos("testcup3")]),((self.teacup_temperature()[self.getelempos("testcup3")])-(self.room_temperature()[self.getelempos("testcup2")]))/(self.characteristic_time()[self.getelempos("testcup4")]),((self.teacup_temperature()[self.getelempos("testcup4")])-(self.room_temperature()[self.getelempos("testcup3")]))/(self.characteristic_time()[self.getelempos("testcup5")]),((self.teacup_temperature()[self.getelempos("testcup5")])-(self.room_temperature()[self.getelempos("testcup4")]))/(self.characteristic_time()[self.getelempos("testcup1")]),((self.teacup_temperature()[self.getelempos("testcup1")])-(self.room_temperature()[self.getelempos("testcup5")]))/(self.characteristic_time()[self.getelempos("testcup2")])]).flatten()
return self.variable_heat_loss_to_room
def heat_loss_to_room_subscript(self):
        return 1

variable_room_temperature=""

def room_temperature(self):
    """Type: Flow or Auxiliary
    """
    global variable_room_temperature
    if self.variable_room_temperature=="":

self.variable_room_temperature=np.array([self.t_room_temperature_to_total((self.value_for_room_temperature()[self.getelempos("test")]))]).flatten()
return self.variable_room_temperature
def room_temperature_subscript(self):
        return 1

variable_value_for_room_temperature=""

def value_for_room_temperature(self):
    """Type: Flow or Auxiliary
    """
    return np.array([70,71,72,73,74])

def value_for_room_temperature_subscript(self):
        return 1

def subscript_test(self):
    """Type: Subscript"""
    return "testcup1,testcup2,testcup3, testcup4, testcup5"

variable_characteristic_time=""

def characteristic_time(self):
    """Type: Flow or Auxiliary
    """
    return np.array([1,2,3,4,5])

def characteristic_time_subscript(self):
        return 1

def dteacup_temperature_dt(self):
    return

-(self.heat_loss_to_room()[self.getelempos("test")])
def teacup_temperature_init(self):
    return 180

def teacup_temperature(self):
    """ Stock: teacup_temperature =

-(self.heat_loss_to_room()[self.getelempos("test")])
    Initial Value: 180
    Do not overwrite this function
    """
    return

self.subarrayofresults[self.Dictionary.get("teacup_temperature")][self.CurrentTime-1]
def teacup_temperature_subscript(self):
        return 1

variable_final_time=""

def final_time(self):
    """Type: Flow or Auxiliary
    """
    global variable_final_time
    if self.variable_final_time=="":
        self.variable_final_time=100
    return self.variable_final_time

def final_time_subscript(self):
        return 0

variable_initial_time=""

def initial_time(self):
    """Type: Flow or Auxiliary
    """
    global variable_initial_time
    if self.variable_initial_time=="":
        self.variable_initial_time=0
    return self.variable_initial_time

def initial_time_subscript(self):
        return 0

variable_saveper=""

def saveper(self):
    """Type: Flow or Auxiliary
    """
    global variable_saveper
    if self.variable_saveper=="":
        self.variable_saveper=self.time_step()
    return self.variable_saveper

def saveper_subscript(self):
        return 0

variable_time_step=""

def time_step(self):
    """Type: Flow or Auxiliary
    """
    global variable_time_step
    if self.variable_time_step=="":
        self.variable_time_step=0.0625
    return self.variable_time_step

def time_step_subscript(self):
        return 0

On Thu, Dec 3, 2015 at 4:52 PM, Mounir Yakzan<EMAIL_ADDRESS>wrote:

T Room Temperature to Total(
[(0,0)-(100,100)],(0,0),(10,10),(100,100))
~
~  |
Heat Loss to Room[testcup1]=
(Teacup Temperature[testcup2] - Room Temperature[testcup1]) /
Characteristic Time[testcup3
] ~~|
Heat Loss to Room[testcup2]=
(Teacup Temperature[testcup3] - Room Temperature[testcup2]) /
Characteristic Time[testcup4
] ~~|
Heat Loss to Room[testcup3]=
(Teacup Temperature[testcup4] - Room Temperature[testcup3]) /
Characteristic Time[testcup5
] ~~|
Heat Loss to Room[testcup4]=
(Teacup Temperature[testcup5] - Room Temperature[testcup4]) /
Characteristic Time[testcup1
] ~~|
Heat Loss to Room[testcup5]=
(Teacup Temperature[testcup1] - Room Temperature[testcup5]) /
Characteristic Time[testcup2
]
~ Degrees/Minute
~ This is the rate at which heat flows from the cup into the room. We can

ignore it at this point.
|
Room Temperature[test]=
T Room Temperature to Total(Value for Room Temperature[test])
~
~  |
Value for Room Temperature[test]=
70,71,72,73,74
~
~  |
test:
testcup1,testcup2,testcup3, testcup4, testcup5
~
~  |
Characteristic Time[test]=
1,2,3,4,5
~ Minutes
~  |
Teacup Temperature[test]= INTEG (
-Heat Loss to Room[test],
180)
~ Degrees
~  |

.Control
********************************************************~
Simulation Control Parameters
|
FINAL TIME  = 100
~ Minute
~ The final time for the simulation.
|
INITIAL TIME  = 0
~ Minute
~ The initial time for the simulation.
|
SAVEPER  =
TIME STEP
~ Minute [0,?]
~ The frequency with which output is stored.
|
TIME STEP  = 0.0625
~ Minute [0,?]
~ The time step for the simulation.
|
On Thu, Dec 3, 2015 at 3:19 PM, James Houghton<EMAIL_ADDRESS>wrote:

@mhy05 https://github.com/mhy05 - I think you had an example - I'll
let you post.
—
Reply to this email directly or view it on GitHub
https://github.com/JamesPHoughton/pysd/issues/14#issuecomment-161771163
.

Version https://github.com/JamesPHoughton/pysd/commit/262ad2bc1f6f251babd12c5b0c77fb742e963ae2 passes tests https://github.com/SDXorg/test-models/tree/master/tests/lookups and https://github.com/SDXorg/test-models/tree/master/tests/lookups_inline, so I think this is resolved. I wasn't able to replicate the problem behavior with the tests, however, so this may come back. If it does, we'll need to create some more demanding tests.


TAG-Runtime presentation/discussion

Hello Clusternet team,
I'm one of the co-chairs of the CNCF TAG-Runtime. I believe you had an agenda item to present the project in our meeting. I'm following up, I think it would be great for you to present/discuss the project in the future.
Feel free to add it to our agenda or reach out to me (raravena80 at gmail.com) at your convenience.
Thanks!

@raravena80 Thanks for reaching out. We'd like to have such a presentation.
Currently Jan 20th has been taken by OCM. And Chinese spring festivals will start from Jan 31st to Feb 6th. So I'd prefer to present Clusternet on Feb 17th.

Already done.
Close.


Feature: Sbp_yank menu with fuzzy matching or feeds to paste_from_history built-in command

Don't know if this is easily possible but would be a great feature to add if you get a chance because sometimes I often have to go far back in history and this would be much faster. I don't know how easy that is to implement.

I forgot about the paste_from_history command but doesn't seem to work with sublime text. Is there a way to easily get this working or feed the yank list to this command?

Wow - I've always wanted this feature! Let me think about this.

Also checkout clipboard manager package. I wanted to use this package but
you wrote your own yank, copy, and kill commands so it is not so easy I
think to replace the copy and paste with the emacs keybindings in sublemacs.
But they have all the same features in sublemacs for copy and paste and
more so copying some of the functionality would be great. They have the
fuzzy matching behaviour for selecting your paste history. Now I just use
it for the registers feature.
On Fri, Apr 15, 2016 at 2:17 AM Jonathan Payne<EMAIL_ADDRESS>wrote:

Wow - I've always wanted this feature! Let me think about this.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210030209

Forgot you had registers actually implemented in sublemacs until now so
ignore that point but basically you have all the features implemented
besides the fuzzy matching and view buffer which I used to use all the time
with the yank menu and ido in emacs.
On Fri, Apr 15, 2016 at 2:31 AM Jeffrey Spencer<EMAIL_ADDRESS>wrote:

Also checkout clipboard manager package. I wanted to use this package
but you wrote your own yank, copy, and kill commands so it is not so easy I
think to replace the copy and paste with the emacs keybindings in sublemacs.
But they have all the same features in sublemacs for copy and paste and
more so copying some of the functionality would be great. They have the
fuzzy matching behaviour for selecting your paste history. Now I just use
it for the registers feature.
On Fri, Apr 15, 2016 at 2:17 AM Jonathan Payne<EMAIL_ADDRESS>wrote:

Wow - I've always wanted this feature! Let me think about this.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210030209

The demo of the clipboard manager implied that you used arrow keys, and also I am not sure if a popup in context like that does fuzzy completion. It didn't with the normal paste from clipboard. I will poke around and see if I can do something nice. Do you think it's important that the popup menu appear where you're typing? Like a completion or something? Actually, those auto complete windows always do fuzzy completion. Clearly I need to use that if possible.

No the clipboard manager plugin uses  for the command choose and paste
the built-in pop-up window like when you hit command+shift+P comes up so
fuzzy completion works fine.  It would be awesome and I
think easy to have this for registers too if implemented for yank.
FYI, It doesn't install any keybindings for clipboard manager so I'd say
download it and give it a quick try. It can all be down with the
command+shift+p window. That is how I tested it as you can copy and paste
from there as well as select choose and paste and show history. I think
the implementation is really good so will give some good ideas either way.
The show history command I also think is useful but it just puts the
history items in the build panel and where you were in the clipboard.
On Fri, Apr 15, 2016 at 2:51 AM Jonathan Payne<EMAIL_ADDRESS>wrote:

The demo of the clipboard manager implied that you used arrow keys, and
also I am not sure if a popup in context like that does fuzzy completion.
It didn't with the normal paste from clipboard. I will poke around and see
if I can do something nice. Do you think it's important that the popup menu
appear where you're typing? Like a completion or something? Actually, those
auto complete windows always do fuzzy completion. Clearly I need to use
that if possible.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210045827

I tried looking at your code to quickly add something similar because seems quite easy but I wasn't sure the exact implementation of the killring because of the multiple selection handling part. Anyways I thought I'd post the relevant code here if it helps.
class ClipboardManagerChooseAndPaste(sublime_plugin.TextCommand):
    def run(self, edit):
        def format(line):
            return line.replace('\n', '\\n')[:64]

        lines = []
        line_map = {}
        # filter out duplicates, keeping the first instance, and format
        for i, line in enumerate(HISTORY):
            if i == HISTORY.index(line):
                line_map[len(lines)] = i
                lines.append(format(line))

        def on_done(idx):
            if idx >= 0:
                idx = line_map[idx]
                HISTORY.at(idx)
                self.view.run_command('paste')

        if lines:
            sublime.active_window().show_quick_panel(lines, on_done)
        else:
            sublime.status_message('Nothing in history')

Having looked into this now I am rather disappointed with the popup capabilities.
The popup code truncates the text automatically and then only does completion on the truncated text. Just think how great it would be if it did completion on the entire text rather than just the substring we give it.
So, I will implement this, but I will probably not use it. I will trim all leading and trailing whitespace AND reduce all consecutive whitespace to a single space, and see if that helps.

Yeah I didn't know that's how it worked so a bit of a disappointment but I
guess I'll give it a try once you implement because still might be useful.
In emacs I used one that would bring up a new buffer window with full text
and you could search or manually scroll and select. Will you also make it
available for registers? I end up forgetting which register I stored things
but know the text so could be useful at least for me :)

The popup code truncates the text automatically and then only does
completion on the truncated text. Just think how great it would be if it
did completion on the entire text rather than just the substring we give it.
So, I will implement this, but I will probably not use it. I will trim all
leading and trailing whitespace AND reduce all consecutive whitespace to a
single space, and see if that helps.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210825892

I have never used registers. I never understood the value of them.
Do you know about cmd+y? Do you know that you can use ctrl+y to yank something and then cmd+y to go through the kill ring until you find the one you really want?
That has always been good enough for me.
So when you say "make it available for registers" what do you mean exactly?

Actually - it's doing something different now that I am preprocessing the string. It's much wider and more useful. It ... seems to subsample the string for me in a way that's not ... that bad.
If I check this into a branch, can you play with it?

Yeah it's late here but I'll look at it tmr and this week. Just let know
the branch name. Or I'll maybe fork the branch.
On Sun, Apr 17, 2016, 12:50 AM Jonathan Payne<EMAIL_ADDRESS>wrote:

Actually - it's doing something different now that I am preprocessing the
string. It's much wider and more useful. It ... seems to subsample the
string for me in a way that's not ... that bad.
If I check this into a branch, can you play with it?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210833925

Where is there?

OK - I pushed the choose_and_yank branch.
I like the feature a lot! :-)
I chose this binding for myself:
    {"keys": ["alt+super+y"], "command": "sbp_choose_and_yank"},
Let me know what you think!

Yeah it's a great feature I think. Haven't got to use it to much yet but seems to work quite well 👍 ! Let you know if I find any problems. I set it to your binding and super+ctrl+shift+y because think it's easier to remember for me so we'll see.I have paste and indent set to ctrl+shift+y but maybe I can actually change it to that if I use it a lot.
For registers, I just meant could you implement the same thing for the stored registers? Are they all stored in one dictionary where it would be easy to return them like you've done for the kill ring so you could have a sbp_choose_register with the pop-up window? Then it's easy access to the registers if you forgot the binding you stored them too for example. I often put things in registers I'm using frequently at the time. Then they can be stored in a register and accessed easily via the fuzzy menu.

Choose and yank needs to update from the external clipboard just as yank does. Now it only shows things that were copied in sublime text or copied elsewhere and then yanked in sublime. Then they will show up in sublime choose and yank menu. I assume there is a method when you yank that updates from the external clipboard if something is new. I think this update function also needs to be checked on choose and yank.

Are you sure that makes sense? I mean, the clipboard is this temporary thing.
So I tend to think that if you switch to the app and you want the clipboard, you should just yank. No need to yank and choose.
Not sure though.
I will look at the register stuff. I didn't implement it so I will have to get familiar with it first.

Yeah I just noticed it because I was testing all cases and generally I
think that is how the emacs killring works or maybe that is just how mine
was setup to sync with the external clipboard. But I think you're right,
there is very rare cases where you might want to have something in the
fuzzy menu even if it wasn't the last thing you copied. Like if you copied
a couple things in the browser and then you want to paste them all in the
editor. I do this time to time. If you do, then you probably have an
external clipboard manager that will cover this case anyway and you can
just bring that up. I've been typing a paper in sublime the last couple
hours and the new feature is great!
On Sun, Apr 17, 2016 at 6:31 PM Jonathan Payne<EMAIL_ADDRESS>wrote:

Are you sure that makes sense? I mean, the clipboard is this temporary
thing.
So I tend to think that if you switch to the app and you want the
clipboard, you should just yank. No need to yank and choose.
Not sure though.
I will look at the register stuff. I didn't implement it so I will have to
get familiar with it first.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210976032

Just noticed the normal yank command doesn't allow pasting old history
items but only takes the most recent entry on the clipboard. So obviously I
haven't wanted to do this very often and when I do I use the external
clipboard manager just because used to using it in other apps as well.
This made me think for example when you first start sublime if you could
run a command to sync with the external clipboard or at least the 50 most
recent items if available. I don't think it should be default but could be
nice to have in case you accidently close and you want to get the clipboard
history back.
Also the same command could possibly update the kill ring with all the most
recent items in the clipboard to the current entry in the Sublime kill
ring. These are just things to think about adding and should be optional
maybe just available from the pop-up menu as I don't think they would need
default bindings.
On Sun, Apr 17, 2016 at 6:46 PM Jeffrey Spencer<EMAIL_ADDRESS>wrote:

Yeah I just noticed it because I was testing all cases and generally I
think that is how the emacs killring works or maybe that is just how mine
was setup to sync with the external clipboard. But I think you're right,
there is very rare cases where you might want to have something in the
fuzzy menu even if it wasn't the last thing you copied. Like if you copied
a couple things in the browser and then you want to paste them all in the
editor. I do this time to time. If you do, then you probably have an
external clipboard manager that will cover this case anyway and you can
just bring that up. I've been typing a paper in sublime the last couple
hours and the new feature is great!
On Sun, Apr 17, 2016 at 6:31 PM Jonathan Payne<EMAIL_ADDRESS>wrote:

Are you sure that makes sense? I mean, the clipboard is this temporary
thing.
So I tend to think that if you switch to the app and you want the
clipboard, you should just yank. No need to yank and choose.
Not sure though.
I will look at the register stuff. I didn't implement it so I will have
to get familiar with it first.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-210976032

I have added the functionality that choose_and_yank now pulls in the clipboard first. I will release soon.
I think that's all I am going to do for this request. So I am closing now and if you think I missed something, please re-open. I do not want to maintain the contents of the external clipboard. Also it gets confusing because whenever we do a KILL or a YANK POP (cycle though the previous yanks) set set the external clipboard, thus muddying the waters.
I think the current functionality is good. And I find myself using the choose and yank command more and more as time goes by.

I was going to look at this but just pulled down the upstream/master and don't know if it was incorporated yet? I am assuming not from the log. How do I get access to your repositories as it doesn't seem they are public?

I will push it right now. It seems to be doing OK. It was quite unreliable for a while. Sorry.
JP

On Dec 14, 2016, at 05:09, excetara2<EMAIL_ADDRESS>wrote:
I was going to look at this but just pulled down the upstream/master and don't know if it was incorporated yet? I am assuming not from the log. How do I get access to your repositories as it doesn't seem they are public?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub https://github.com/grundprinzip/sublemacspro/issues/132#issuecomment-266944267, or mute the thread https://github.com/notifications/unsubscribe-auth/AAfvg91LPKnFwh6I85P295rwSmChK9s_ks5rH3oOgaJpZM4IHc8U.


[Bug]: cannot download any Packs via llamaindex-cli and download_llama_pack

Bug Description
I tried to download SelfRAGPack via both llamaindex-cli and download_llama_pack but it failed to download.
!llamaindex-cli download-llamapack SelfRAGPack --download-dir ./self_rag_pack

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/requests/models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 7 column 1 (char 6)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/download/utils.py", line 109, in recursive_tree_traverse
    tree_elements = res.json()["payload"]["tree"]["items"]
  File "/usr/local/lib/python3.10/dist-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 7 column 1 (char 6)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/llamaindex-cli", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/llama_index/cli/command_line.py", line 276, in main
    args.func(args)
  File "/usr/local/lib/python3.10/dist-packages/llama_index/cli/command_line.py", line 187, in <lambda>
    func=lambda args: handle_download_llama_pack(**vars(args))
  File "/usr/local/lib/python3.10/dist-packages/llama_index/cli/command_line.py", line 39, in handle_download_llama_pack
    download_llama_pack(
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/llama_pack/download.py", line 56, in download_llama_pack
    pack_cls = download_llama_pack_template(
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/download/pack.py", line 115, in download_llama_pack_template
    download_module_and_reqs(
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/download/pack.py", line 52, in download_module_and_reqs
    source_files = get_source_files_recursive(
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/download/utils.py", line 136, in get_source_files_recursive
    return recursive_tree_traverse(initial_tree_urls, [], source_tree_url)
  File "/usr/local/lib/python3.10/dist-packages/llama_index/core/download/utils.py", line 111, in recursive_tree_traverse
    raise ValueError("Failed to traverse github tree source.")
ValueError: Failed to traverse github tree source.

from llama_index.core.llama_pack import download_llama_pack

SelfRAGPack = download_llama_pack("SelfRAGPack", "./self_rag_pack")

---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/requests/models.py](https://localhost:8080/#) in json(self, **kwargs)
    970         try:
--> 971             return complexjson.loads(self.text, **kwargs)
    972         except JSONDecodeError as e:

10 frames
JSONDecodeError: Expecting value: line 7 column 1 (char 6)

During handling of the above exception, another exception occurred:

JSONDecodeError                           Traceback (most recent call last)
JSONDecodeError: Expecting value: line 7 column 1 (char 6)

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/llama_index/core/download/utils.py](https://localhost:8080/#) in recursive_tree_traverse(tree_urls, acc, source_tree_url)
    109             tree_elements = res.json()["payload"]["tree"]["items"]
    110         except Exception:
--> 111             raise ValueError("Failed to traverse github tree source.")
    112
    113         new_trees = [

ValueError: Failed to traverse github tree source.

Also, tried to download some other Packs:

VoyageQueryEnginePack
OllamaQueryEnginePack
RaptorPack

all failed with the same error.
Version
llama-index==0.10.23 llama-index-agent-openai==0.1.7 llama-index-cli==0.1.11 llama-index-core==0.10.23.post1 llama-index-embeddings-openai==0.1.7 llama-index-indices-managed-llama-cloud==0.1.5 llama-index-legacy==0.9.48 llama-index-llms-openai==0.1.12 llama-index-multi-modal-llms-openai==0.1.4 llama-index-program-openai==0.1.4 llama-index-question-gen-openai==0.1.3 llama-index-readers-file==0.1.12 llama-index-readers-llama-parse==0.1.4 llama-parse==0.4.0 llamaindex-py-client==0.1.13
Steps to Reproduce
create a fresh environment with Colab or local Jupyter.
!pip install llama-index

then download packs.
!llamaindex-cli download-llamapack SelfRAGPack --download-dir ./self_rag_pack

or
from llama_index.core.llama_pack import download_llama_pack

SelfRAGPack = download_llama_pack("SelfRAGPack", "./self_rag_pack")

Relevant Logs/Tracbacks
No response

This is due to a change in GitHub API. #12273 fixes this issue.


Allow for multiple LibFTDI devices with the same VID, PID, and serial.

I bought a few cheap China USB to RS485 bridges (here) they use FTD2xx chips but the only thing is that they all have the same exact VID, PID, and serial numbers. This caused a problem when I had a few connected at once. QLC always tried to open the same one. This is obvious because these 3 identical fields are the ones that were used to open the device (using ftdi_usb_open_desc).
This fix may or may not seem like a dirty one. Basically, what it does is add another property to the DMXInterface class (and LibFTDIInterface). Then, that property is used in the open() function to loop through the available devices until a device with matching USB Bus and USB Device Address. I didn't want to use Port Number, because it is not guaranteed to be unique.
Maxwell.

FYI: continuous-integration/travis-ci/pr failed because of a problem in the runner: g++ could not be found.

Hi, thanks for this PR.
On Linux this could be OK, but we need to find a proper way to handle identical devices on Windows and macOS too.
I might order 3-4 of those adapters and try this myself on all the supported OSes.

That would be great! Especially since these little adapters really are cost-effective! (Only $4.40 a piece against $65 for an Enttec DMX Open. These things win hands down.)

Did you try to change serial number using FT_Prog utility?
Will the device bus/address be same next time you start the computer when you (un)plug other devices?
E.g. when the port will be used by more or less devices?
I'm afraid more devices with same serial number is against USB specification and may cause other problems (e.g. with drivers). https://msdn.microsoft.com/en-us/library/windows/hardware/hh998535(v=vs.85).aspx

For the record I just ordered 3 of those adapters :wink:

@janosvitok - This adapter seemed to be locked or something causing the FT_Prog utility not to work.

Several articles on the internet say that genuine FTDI chip costs $4 so when the whole board is cheaper than the chip, the chip is counterfeit. That may mean it does not have proper eeprom etc.
https://github.com/eswierk/ft232r_prog contains FT_PROG linux alternative.

@janosvitok - And its even cheaper from AliExpress.  This is one of the reasons I added the ftdi_usb_open_bus_addr in the libftdi library (for another project).

@MDTech-us-MAN I just received the 3 adapters that I ordered.
One of them is broken, but to my surprise, the other 2 are working and they have different serial numbers !
So basically they work together with no issue.
I suppose you got some of them from a bad batch, where they forgot to program the SN.
I haven't tried them on Windows yet, but I suppose everything will be fine.

@mcallegari So what do you think? Should this go in? I suppose that this may prevent collisions, but I dunno...

@MDTech-us-MAN sorry but this is a no go.
Even if this PR is completed with the Windows code, I won't risk to compromise the plugin for some crappy chinese adapters. In other words: QLC+ requires adapters with different SN.


Fix the compilation errors in pods project when using use_frameworks! in the pod file

Fix the compilation errors in resulting pods project (couldn’t find React headers) when using use_frameworks! in the referencing pod file

Landed in 6313d29, cheers and sorry for the delay!


Not appearing in HACS and when manually installing, gets 500 error

Version of the custom_component

Latest
Installation method (hacs / manual)
Missing in HACS, so used Manual method
Installation method of hass (venv, docker, hassio,...)
Hassio on Raspberry
Configuration

Add your configuration here.

Describe the bug
A clear and concise description of what the bug is.
HACS no longer shows the Volkswagen ID integration, so I installed it manually. On trying to add the integration, I get a 500 server error
Debug log

Add your logs here.

As described in the README:

... add this repository as a custom repository.

Go into HACS -> Integrations -> Vertical three dot Overflow Menu -> Custom Repositories -> Write the following URL: https://github.com/mitch-dc/volkswagen_we_connect_id -> In Categroy, select: Integrations -> Now it should be visible as a new repository.
Note:
Currently, this integration is unfortunately not working, please check: #152

It's not in the current READMR.

I can't help you on the manual install, but it's definitely in the current README.

But also, as I said, this integration is currently broken, I don't know if your error has anything to do with that. Without further configuration and updating dependencies, you currently can't use this integration


[SIL] Fix egregious errors in extract_executor handling.

Make sure it is properly treated as a SingleValueInstruction, and
don't blatantly read freed memory in the LowerHopToExecutor pass.
Fixes https://bugs.swift.org/browse/SR-14486

@swift-ci please test and merge

@swift-ci please test Linux


On-demand log collection for FreeIpa

See detailed description in the commit message.

Descriptions from git log:
CB-7397. Implement filecollector on CB side (freeipa/datalake/datahub) for on demand diagnostic collection
details:
- Creating a new "filecollector" module in salt definitions (salt-common)
- Creating a new "telemetry" module in salt definitions which can be used to store common configurations between different telemtry components (fluent,monitoring,filecollector)
(as salt upgrade has not done yet properly for freeipa, we still uses many duplicated configs in telemetry and fluent pillars)
- Basic usage of filecollector: there is a filecollector.py and a specific yaml configuration that is deployed/configured by salt
- filecollection has 4 different outputs (only first 3 is implemented): local (collection only, you need to ssh into the node for that), customer cloud storage and ENG Kibana (by databus)
- for the common configurations vm_logs.json files are creadted, in the fututre that will be used as a common source for both fluentd (monitored files) and filecollector (files that are needed to be collected)
- also added for some default converters and services for VM logs or creating data as a map for the diagnostics flow

CB-7484. Create diagnostics collection flow (FreeIPA)
details:
- creating a new flow (+ API) for freeipa log collection
- the new api has 2 endpoint: POST that starts the diagnostics flow, GET which shows files that will be collected
- flow has 4 phases: init, collect, upload and cleanup
- each phase executes a salt state in filecollector module like: filecollector.init or filecollector.collect etc.
- extend salt java module to add pillar parameters for the commands and run executions in concurrent mode (see ParametrizedStateRunner and CuncurrentParameterizedStateRunner)
- refactor hostOrchestrator a bit by extending telemetry related operations and create stack service for commonly used operations
- add / fix some unit tests

Some other notes:

there is a cloud storage upload script, which is a bit similar as freeipa backup scripts, in the future, we would probably need one common scripts for both, but until no good salt upgrade mechanism on freeipa we will use that (also note that no any encryption is used around there yat)
no real validation on the request (i mean there are null checks, but like real validation, like if clusterLogCollection is disabled, you should not be able to use ENG destination for log collection) -> will be done if there will be any UI development ready

I haven't looked at the code yet but tried the collection on an HA IPA cluster and it worked fine.

I think this change should be tested with:

Create a new environment without these changes
Invoke dp cluster update-salt to refresh the pillars and states and try to run a highstate to make sure we're not removing or adding something which is not available on existing clusters.

I think this change should be tested with:

Create a new environment without these changes
Invoke dp cluster update-salt to refresh the pillars and states and try to run a highstate to make sure we're not removing or adding something which is not available on existing clusters.

is that for stack api right? my guess there is no such thing for freeipa yet.
because of this we have many duplicated configs at the moment. (only those were removed which were not used yet, like monitoring configs)


[SPARK-46335][BUILD] Upgrade Maven to 3.9.6 for MNG-7913

What changes were proposed in this pull request?
This PR aims to upgrade Apache Maven to 3.9.6.
Why are the changes needed?
Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).

https://github.com/apache/maven/pull/1286

To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @LuciferYang

Merged into master for Spark 4.0. Thanks @dongjoon-hyun ~

Thank you, @LuciferYang !


Add ability to go to line, marked by linter

In documentation (micro version 2.0.10) I found nothing similar. This feature will really help edit big files (>1k lines)

You can take a plugin: https://github.com/serge-v/micro-nextgutter
It is not in plugin repo so clone it to the dir: ~/.config/micro/plug.
Bind 'jump-next-gutter' command to some key.

You can take a plugin: https://github.com/serge-v/micro-nextgutter It is not in plugin repo so clone it to the dir: ~/.config/micro/plug. Bind 'jump-next-gutter' command to some key.

thanks, I'll try this plugin
but this feature, I think, should be included with linter plugin :)


7558 UP store filter expression errors

This PR adds logging support for errors found while evaluating receiver filter expressions in the Universal Pipeline, without making them viewable on the Submissions API.
Test Steps:

On your organizations.yml file, change a qualityFilter: entry for a receiver to an unparsable expression (e.g. #2!dej2+1))k))() . Make sure to run reloadSettings on Gradle after saving the changes.
Submit a Full ELR report via Postman (or whichever you use)
After receiving a submissionId, use that to check the History API until the response includes a list of destinations.
On receiving a response, scroll to the bottom of the output. Check the errors array and verify it's empty.
Go to the database and check in the action_log table for a new entry that matches the issue with the given expression.
Repeat steps 1-5, but this time use an expression that returns a non-Boolean value (e.g. 1+2). Verify the new error text looks correct.

Changes

Add filter logging for any errors during the evaluateCondition step on the Universal Pipeline
Use simplified messages on the API-viewable data

Linked Issues

#7558

I'd forgotten to update the PR information with changes from discussions. It should now be more accurate.

Looks good to me, thanks Luis for helping me through some of the glitches I had trying to get it to work!

Disabling auto-merge so I can pull changes without accidentally merging it yet


Spike a bridge from new interfaces to current OpenTracing interfaces

the goal is backwards compatibility: prove that a new tracer – built only to support the new tracer interfaces – can consume existing OT instrumentation.
The goal for the spike is to identify and understand any places where the new interface design will make backwards compatibility difficult.

@tedsuo @bogdandrutu to be clear, the goal here is to write an implementation of an opentracing.Tracer that calls into the OpenFoo machinery.
If so, I'd propose we rename this issue Spike an OpenTracing Tracer that calls into the new merged project (or anything else that's unambiguous about the "direction" of the adapter).

Thanks @bhs. I clarified this somewhat.
I would prefer that the bridge code takes in the new interface, and returns the old interface. So it will work with any new tracer, not just the SDK. Given that the OpenTracing API is very abstract, and generally does not have accessors, this should be possible.
So, something like this pseudocode:
NewOpenTracingBridge(consensus.Tracer) opentracing.Tracer


Doco for 'exceptionFormat' slightly wrong(/incomplete)

This is a Trivial-ish documentation issue.
Current Behavior
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.logging.TestLogging.html#org.gradle.api.tasks.testing.logging.TestLogging:exceptionFormat
TestExceptionFormat exceptionFormat
The format to be used for logging test exceptions. Only relevant if showStackTraces is true.

My build.gradle has:
tasks.withType(Test) {
    testLogging {

        // set options for log level LIFECYCLE; want them to show on console
        events TestLogEvent.STANDARD_OUT,
                TestLogEvent.FAILED
        // doco says: "Only relevant if showStackTraces is true." but actually also relevant here
        exceptionFormat "full"
    }
}

I see that exceptionFormat STILL affects what is shown, even though I am not specifying 'showStackTraces' anywhere.
I GUESS this means that 'showStackTraces' defaults to true(?) but this isn't specified anywhere I can see...maybe the doco should note default values in such situations?

Yes, the default value of showStackTraces is true in the class DefaultTestLogging, you can see it here.


fix: correct price calculations and add error messages

Corrected calculations for prices 3 & 4
Added required second arg in asserts (failure message)

Thanks a lot @clexmond!

resolves #54


Thanos docs

Adds some Thanos documentation.

/cc @metalmatze

LGTM for me. Feel free to merge @brancz

Nice, looks good! :+1:

Thanks a lot for your effort @jmreicha!