template doesn't work inside svg elements

For example:
    <dom-module id="test-element">
      <template>
        <svg class="clock" version="1.1" xmlns="http://www.w3.org/2000/svg">
          <template is="dom-repeat" items="{{positions}}" as="cx">
            <ellipse r="25" cx$="{{cx}}" cy="25" stroke="black"></ellipse>
          </template>
        </svg>
      </template>
      <script>
        Polymer({
          is: 'test-element',
          ready: function() {
            this.positions = [0, 100, 200, 300];
          },
        });
      </script>
    </dom-module>

This produces the following JS error:
Uncaught TypeError: Cannot read property 'nodeType' of undefined

The problem seems to be that the dom template object doesn't have a content property. This worked fine in Polymer 0.5.
Demo here: http://jsbin.com/wiqowo/31/edit?html,output

It looks like some code didn't make it over from 0.5 that explicitly addressed this issue. Template elements with a <svg> parent have the same namespaceURI (http://www.w3.org/2000/svg), so the browser doesn't implement HTMLTemplateElement. The bootstrap code in 0.5 basically transplanted all child nodes of any svg-namespaced template into a new html-namespaced template, and then inserted that node back in its place.
If anyone else is looking for a workaround, you can put this snippet at the top of your element's <script> tag (it must be evaluated before call to Polymer()). It basically performs the same operation as it was done it 0.5.

We also hit this issue, thanks for the workaround @bendavis78 .
Will it be fixed in Polymer?

@bendavis78 your snippet was a day saviour for me but it still has some problem. If you have more than one polymer element on the page and this svg element is not the first one the snippet breaks. This line:
var root = doc.querySelector('dom-module > template').content;
should be changed so dom-module becomes the actual #id-of-svg-element which is put in the <dom-module id="id-of-svg-element">

+1

+1

Same error in Chrome 49, even with the tweaked version of svg-template-support.js, and also:
svg-template-support.js:4 Uncaught TypeError: Cannot read property 'content' of null

+1 same error in latest chrome

+1

+1

Thanks for the workaround - would be really nice to have templates within SVG work natively !

Does anyone know of a way to implement the workaround while still vulcanizing elements?

https://github.com/Polymer/polymer/pull/3372
C.

Note that the June 28, 2015 workaround does not work in Firefox 45.0.2 - it will actually prevent any of the svg from being rendered.

Ran into this issue today. Any word on Polymer 1.0 support?

+1 same error

Although there is already a pull-request #3372 that could fix the namespace issue, here would be a work-around, that would build up the svg-node recursivly node by node.
There could be a container-element for svg:
<dom-module id="svg-container">
  <template>
    <svg id="svg" version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>
      <content select="svg-component"></content>
  </template>
  <script>
    Polymer({
      is: 'svg-container',

      attached: function() {
        for (var i = 0; i < this.attributes.length; i++) {
          this.$.svg.setAttribute(Polymer.CaseMap.dashToCamelCase(this.attributes[i].name), this.attributes[i].value);
        }
      }
    });
  </script>
</dom-module>

and a element as svg-component:
<dom-module id="svg-component">
  <template>
    <content select="svg-component"></content>
  </template>
  <script>
    SvgComponent = Polymer({
      is: 'svg-component',

      _node: {},

      _namespace: 'http://www.w3.org/2000/svg',

      get rootElement () {
        if (this.parentNode.nodeName === 'SVG-CONTAINER')
          return this.parentNode.$.svg;
        else
          return this.parentNode._node;
      },

      factoryImpl: function(attributes) {
        for (var key in attributes)
          this.setAttribute(key, attributes[key]);
      },

      attached: function() {
        var is = this.attributes.is.value;

        if (is !== undefined) {
          this._node = document.createElementNS(this._namespace, is);
          for (var i = 0; i < this.attributes.length; i++) {
            if (this.attributes[i].name !== 'is')
              this._node.setAttribute(this.attributes[i].name, this.attributes[i].value);
          }
          this.rootElement.appendChild(this._node);
        }
      }
    });
  </script>
</dom-module>

Property binding would have to be formally and also event-binding, but you could use that to to do it automaticly. It would definitely be better, that SVG namespace is implemented in registration of new elements in Polymer.
And in a test: plunker

@fooloomanzii Thanks a lot for the workaround. You saved me a lot of time !
+1 for native implementation.

+1 for native implementation

+1

+1

+1

+1 amazing to see one year later and still an issue

+1

+1

@kevinpschaaf is this going to be possible in polymer 2 ?

This is still an issue :(

Provided a workaround for now, tested in FF/Safari/IE, bundled/unbundled.
https://github.com/garryyao/polymer-svg-template

any official workaround here?

+1

+1

+1

+1

+1

We have a proposal for a core solution:
Detect if a <template> is inside an element that is in a SVG namespace (if it has namespaceURI which is SVG), then swap its contents into an svg element, do the parsing and then swap it back. This should be in parse-template.
The way to handle the transformation, is to expose a function Polymer.svg which transforms a tagged string into the corresponding svg namespace and returns the corrected template.
This whole process ensures that the elements are parsed in the correct namespace, to make sure the actual nodes are created. Then once the parsing has completed, we can swap the correctly constructed nodes back into the template.
We will be working on this issue this week to hopefully finally fix svg compatibility with templates + custom elements.

Above comment has been implemented in #5135. Would be great to get some feedback whether this is actually working for your use-cases :tada:

Note full fix is blocked on https://github.com/webcomponents/shadycss/issues/166

Is there a way forward with this issue? It seems like there is a Polymer solution (#5135) but it has been held back because of the possibility of addressing the issue at the platform level; however from what I can sense by reading https://github.com/whatwg/html/issues/3553 and https://github.com/whatwg/html/issues/3563 it does not seem that a platform level solution is likely any time soon.


Upgrade Xceed; Replace Datagrid with WPF Datagrid.

PR Details
This is a PR for converting xenko's usage of Xceeds datagrid control to a regular WPF datagrid. The purpose is to help prepare Xenko for switch to .Net Core 3.1 on Windows (#360 )
Description
Upon upgrading Xceed nuget package to be compliant with .net standard, the Xceed package has dropped their datagrid control. So, we have to replace all usage of it in Xenko with something of our own.
So far, I have replaced it with a regular WPF datagrid, and styled it to look similar. For the most part, functionality is the same.
Some functionality has been removed in this PR. I have removed the 'Asset Grid View' completely, due to the amount of work needed to get it up and running with regular data grid not being worth it. It may come back in a later PR, especially if demand for it is high. The Asset Log grid view has lost its text search functionality, as this would take some time to reimplement, and is probably not worth it tbh.

From Exceed release notes: https://xceed.com/release-notes/

The DataGrid now supports the .NET Core 3 platform.

Yeah they moved it to the paid version only, in 4.5.0

I contacted them in october and they also told me:

Yes, Xceed Toolkit version 3.9 community version will be made available as well. However, it will only be published few months after the release of the paid version. But unfortunately, the DataGrid control will no longer be included. It has been removed and we are not sure yet if it will be included in any community version in the future.

So I am highly in favor of removing this commercial dependency and merging such a change (even if there is a few drawbacks (esp. considering most of them could be improved on later).
Thanks for looking into it!

Sorry, I didn't realize the "asset grid view" would be gone.
Just to make sure, you are talking about the Tile view with thumbnail, which is the default when GameStudio starts? (as in this picture)

Considering it's the default (much more used than the grid view) and much more UX-friendly for beginners, I would say it's a blocker...

No, the Tile view remains. The Grid view is the one that is removed at the moment.

Thanks for the clarification, sorry I was confused.
I am OK with that for now, we could always look into adding it back later if heavily requested.
If somebody is relying heavily on this asset grid view, please raise your hand!

Okay, removing WIP, this is functionally complete, just needs a review.

Not very fluent in WPF either, but overall it looks good to me.

Okay hope i addressed everything. Feel free to merge if you feel it is ready.

@makotech222 i'm getting an error on build, themes/expressiondark/tableviewscrollviewer.generic.xaml could not be found.

@xen2 can you build an run the current state? do i need to clean up something?


special chars in HH_PROMPT

It doesn't recognize backslash-escaped special characters (bash prompting), neither colors (ctrl seqs).

It would be nice to get powerline support :)


Remove space after curl_close function

Thanks @NabiKAZ !

Thanks for marge, That was get on my nerves 😄


Hitting github limits

Description
With a few file dependencies to github and a morning of updating of dependencies, I'm hitting the limits with
Paket failed with:
        Could not find hash for https://api.github.com/repos/haf/YoLo/commits/master

or
Paket version <IP_ADDRESS>
Paket failed with:
        Could not find hash for https://api.github.com/repos/xyncro/chiron/commits/e0f4c122b21cb02d47ae3f4f83924b2dcb8dea9e

$ curl https://api.github.com/rate_limits
{
  "message": "API rate limit exceeded for <IP_ADDRESS>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
  "documentation_url": "https://developer.github.com/v3/#rate-limiting"
}

Repro steps
Please provide the steps required to reproduce the problem

Step A – spend a morning upgrading our solution
Step B – reach error message

Expected behavior
Working calls to github.

Please complain at github ;-)
can't you use git dependencies instead?

It's not a problem of github AFAIK, it's an issue with unauthenticated requests.

that sounds like a good way to go.

add API token to deps file
use API token for all github calls if it is set

Yes, did you see my PR?

oups there is already https://github.com/fsprojects/Paket/pull/1874 - nice

Time to reopen!


Add AST tree generation

Codecov Report
Patch coverage: 87.20% and project coverage change: -7.06 :warning:

Comparison is base (0185ed7) 100.00% compared to head (e9669e0) 92.94%.

Additional details and impacted files
@@             Coverage Diff             @@
##            master      #11      +/-   ##
===========================================
- Coverage   100.00%   92.94%   -7.06%
===========================================
  Files            3        4       +1
  Lines           82      156      +74
===========================================
+ Hits            82      145      +63
- Misses           0       11      +11

Impacted Files
Coverage Δ

ats/ast/nodes.py
82.25% <82.25%> (ø)

ats/parser/parser.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Zaimplementowalem spora czesc, @zwolkowy zaimplementuj reszte. Pozniej trzeba bedzie jeszcze dopisac testy wiec sie tym zajme


Strict sigs from genesis

Remove SCRIPT_VERIFY_STRICTENC.
Remove SCRIPT_VERIFY_DERSIG.
Remove SCRIPT_VERIFY_LOW_S.

Note: I chose to remove all script flags at once, as they are not really independent. For example, requiring LOW_S for all txs also implies STRICTENC in some way. Therefore, just packaging them in one large commit seemed easier to reason about.

OutputTx now requires a secp256k1 instance (to display sigs), so Secp256k1Init creation is moved into CommandLineRawTx.
script/sigencoding.cpp: Now always strictly enforces signature encoding .
test/checkdatasig_tests.cpp: Now no longer checks different things for different encoding flags; instead always checks strictly.
test/data/script_tests.json:

Remove STRICTENC, DERSIG and LOW_S flags.
Remove test variants that check if an incorrectly encoded signature succeeds if flags are missing.

test/data/tx_valid.json:

Normalize all signatures.
Move now invalid txs into tx_invalid.json.

Util tests: Fix all sigs

Looks good assuming the hex values are sensible. I don't know what mutated?


Fix: Support storing large numbers of repositories in chrome cache

Context from issue:

Indeed, from the chrome.storage docs it looks like items in the storage must not exceed 8Kb (around 8k chars apparently).

Historical structure of chrome storage:
{
  token: 123 // Users API token,
  workspace: 'sally' // Slug of selected workspace
  repositories: ['repo-1', 'repo-2', ...., 'repo-224'] // Slugs of all repositories for that workspace
}

Storing too many repositories under one key caused this to break.
New structure:
{
  token: 123 // Users API token,
  workspace: 'sally' // Slug of selected workspace
  repository_keys: ['sally:repositories:1', 'sally:repositories:2' ] // Keys to retrieve each chunk of 100 repositories
  sally:repositories:1: ['repo-1', 'repo-2', .... 'repo-100'] // A chunk of maximum 100 repositories
  sally:repositories:2: ['repo-101', 'repo-102', .... 'repo-224'] // A chunk of maximum 100 repositories
}

This PR updates the read/write processes for our data to chunk it up, and then reform the chunks into one array when read.
Closes https://github.com/orbit-love/orbit-browser-extension/issues/26

thanks, @delete-44 !


Use new PluginManager API

@bryphe for some reason Travis's OS X machine really dislikes me.
The tests fail again for no good reason.
How can we improve it?
I really want to move on and work on more features, but it really feels that the CI process is an obstacle for me.

Ah ya, sorry about the issues @TalAmuyal .
I believe the problems stem from the caching we have in TravisCI. The problem is, we need some caching because downloading the oni-neovim-binaries and oni-ripgrep-binaries is throttled by github.
I'll try either:

Seeing if there is a safe token we can use to authenticate with github (the token to download doesn't need much permissions)
See if we can cache just those packages that have binaries

Still investigating the cache failures.... but since it's not due to your change, I'll bring this in. I have another idea to try in terms of dealing with the binary downloads..

Thank you very much, @bryphe !

Sure thing, @TalAmuyal ! I really appreciate your contributions.
I'm hoping #1606 and #1616 will address this. After that, there is still some test flakiness, but those should hopefully make the PR builds more reliable, especially in the cases where the dependencies change.


Tray icons don't show after polybar reload

Describe the issue
polybar reload causes the tray icons to not appear with the error message "Systray selection already managed"
Expected behavior:
Polybar reloads with configuration and tray icons are still visible.
Actual behavior:
Polybar reloads but tray icons are not visible.
Was it working before?
Unknown
To Reproduce
Appears to happen with any config using a tray
Polybar Log
warn: No monitor specified, using "eDP-1-1"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: Systray selection already managed (window=0x0800006)

Environment:

WM: i3
Distro: Ubuntu 19.10
Output of polybar -vvv:

polybar 3.4.0-37-g8d3dedc

Features: +alsa +curl +i3 +mpd +network(wireless-tools) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm -xcursor

Build type: Release
Compiler: /usr/bin/g++
Compiler flags:  -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags:

The warning Systray selection already managed means that there is another program which is managing the tray already (could also be another polybar process).
Is there any other process on your system that tries to capture the systray? Do you have multiple bars running which all have the tray enabled?
You can use xprop -id with the window id given in the warning to figure out which window is managing the tray currently.

There is not, it is the first thing I looked into. The xprop id shows that process as being polybar itself. When I run polybar the first time, the tray icons show fine. Only if I run a reload do I get that error message and they disappear. So it seems the reload is failing to either re-use the running id that is managing it, or kill/recreate the process. Literally the tray bar is working, run a reload and it fails with that message so nothing else could have taken that control in a split second. If I completely kill polybar and restart it, the icons show up again.

When you get the Systray selection already managed warning. Are there two polybar processes running? This would be the simplest explanation for this (though I don't really know how that could happen)
How exactly do you "reload" polybar? With -r?
Generally what should happen is polybar reaches the end of its code and executes itself again. At that point the system tray selection should have been released.
Can you also run polybar with trace logging (-l trace), this should tell us whether or not the tray was correctly deconstructed.

The main terminal running polybar trace log:
─$ polybar -l trace top
* Parsing config file: /home/jordan/.config/polybar/config
- config_parser: Parsing /home/jordan/.config/polybar/config
- config: Copying missing params (sub="module/left-start", base="module/decor-glyph")
- config: Copying missing params (sub="module/left-start-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/left-start-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/left-stop", base="module/decor-glyph")
- config: Copying missing params (sub="module/left-stop-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/left-stop-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/right-start", base="module/decor-glyph")
- config: Copying missing params (sub="module/right-start-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/right-start-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/right-stop", base="module/decor-glyph")
- config: Copying missing params (sub="module/right-stop-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/right-stop-hide", base="module/decor-glyph-hide")
* Enabling xresource manager
* Environment var ${MONITOR} is undefined, using defined fallback value ""
warn: No monitor specified, using "eDP-1-1"
* Loaded monitor eDP-1-1 (3840x2160+0+0)
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
* Bar geometry: 3686x35+77+5; Borders: 0,0,0,0
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Install signal handler
- controller: Setup user-defined modules
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
- module/battery: Attach inotify at /sys/class/power_supply/BAT1/charge_now
- module/battery: Attach inotify at /sys/class/power_supply/ADP1/online
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
- pulseaudio: started mainloop
warn: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color15" not found, using defined fallback value "#dedede"
* Starting application
- controller: Main thread id = 1
* Starting module/battery
* Starting module/cpu
- module/battery: Thread id = 2
* Starting module/date
- module/cpu: Thread id = 3
* Starting module/eth
- module/date: Thread id = 4
* Starting module/i3
- module/eth: Thread id = 5
* Starting module/left-start
- module/i3: Thread id = 6
* Starting module/left-start-hide
- module/left-start: Thread id = 7
* Starting module/left-stop
* Starting module/right-start
- module/left-start-hide: Thread id = 8
- module/left-stop: Thread id = 9
* Starting module/right-start-active
* Starting module/right-start-hide
- module/right-start-active: Thread id = 10
- module/right-start: Thread id = 11
* Starting module/right-stop
- module/right-start-hide: Thread id = 12
* Starting module/right-stop-active
- module/right-stop: Thread id = 13
* Starting module/volume
- module/right-stop-active: Thread id = 14
* Starting module/vpn
- module/volume: Thread id = 15
* Starting module/vpn-recenter
* module/vpn: Invoking shell command: "~/.local/bin/vpnstatus.sh"
* Starting module/xwindow
- command: Waiting for pid 28785 to finish...
* module/vpn-recenter: Invoking shell command: "~/.local/bin/vpnstatus.sh nocolor"
- command: Waiting for pid 28786 to finish...
- module/xwindow: Thread id = 16
* Entering event loop (thread-id=1)
* Eventqueue worker (thread-id=17)
- bar: Create renderer
- renderer: Get TrueColor visual
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
* Configured DPI = 220x220
* Loaded font "Anonymouse Pro for Powerline:fontformat=truetype:size=8" (name=DejaVu Sans, offset=1, file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf)
* Loaded font "FontAwesome:style=Regular:pixelsize=8" (name=FontAwesome, offset=0, file=/usr/share/fonts/opentype/font-awesome/FontAwesome.otf)
* Loaded font "Anonymice Nerd Font:fontformat=truetype:size=16" (name=Anonymice Nerd Font, offset=1, file=/home/jordan/.local/share/fonts/Anonymice Nerd Font Complete.ttf)
* Bar window: 0x0800002
- bar: Reconfigure window
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- bar: Received expose event
- command: Exited with status 0
- bar: Draw empty bar
- bar: Setup tray manager
- tray: Find systray selection atom for the default screen
* Activating tray manager
- tray: Create tray window
- command: Exited with status 0
* Tray window: 0x0800006
- tray: Restacking tray window
- bar: Set window WM_NAME / WM_CLASS
- tray: Set window WM_PROTOCOLS
- tray: Set window _NET_WM_WINDOW_TYPE
- tray: Set window _NET_WM_STATE
- tray: Set window _NET_WM_PID
- tray: Set window _NET_SYSTEM_TRAY_VISUAL
- tray: Set window _NET_SYSTEM_TRAY_ORIENTATION
- tray: Set _NET_SYSTEM_TRAY_COLORS to ff303030
- tray: Change selection owner to 0x0800006
- tray: visibility_change (state=1, activated=1, mapped=0, hidden=0)
* module/left-start-hide: Rebuilding cache
* module/i3: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/left-stop: Rebuilding cache
* module/vpn: Rebuilding cache
* module/left-start: Rebuilding cache
* module/date: Rebuilding cache
* module/right-start: Rebuilding cache
* module/vpn-recenter: Rebuilding cache
* module/battery: Rebuilding cache
* module/right-stop: Rebuilding cache
* module/cpu: Rebuilding cache
* module/right-stop-active: Rebuilding cache
* module/eth: Rebuilding cache
* module/right-start-active: Rebuilding cache
* module/volume: Rebuilding cache
* module/right-start-hide: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=604x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/battery: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* Notifying pending tray clients
- tray: Received client_message
* Processing docking request from 0x360031d
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 0x0c0b81e
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 0x3207864
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 0x2200063
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 0x0e000d4
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received client_message
* Processing docking request from 0x140034e
- tray: Get client _XEMBED_INFO
- tray: Update client window
- tray: Configure client size
- tray: Add client window to the save set
- tray: Reparent client
- tray: Send embbeded notification to client
- tray: Map client
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=36, x=2297
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- bar: Force update
* Redrawing bar window
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=62, x=2297
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- bar: Force update
* Redrawing bar window
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=88, x=2297
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=114, x=2297
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- bar: Force update
* Redrawing bar window
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=140, x=2297
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- tray: Received map_notify
- tray: Set client mapped
- tray: Reconfigure clients
- bar: Force update
* Redrawing bar window
- tray: Reconfigure window (mapped=0, clients=6)
- tray: Reconfigure window / map
- tray: New window values, width=166, x=2297
- tray: Received map_notify
- tray: Update container mapped flag
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* Redraw tray container (id=0x0800006)
- tray: Refreshing window
* module/battery: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=705x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- module/battery: Inotify event reported for /sys/class/power_supply/BAT1/charge_now
* module/battery: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/battery: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/eth: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=604x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
warn: Termination signal received, shutting down...
- controller: Uninstall sighandler
- controller: Detach signal receiver
- controller: Stop modules
* module/battery: Stopping
- module/battery: End of subthread
- module/battery: Release sleep lock
* Deconstruction of module/battery took 392 ms.
* module/cpu: Stopping
- module/cpu: Release sleep lock
* Deconstruction of module/cpu took 0 ms.
* module/date: Stopping
- module/date: Release sleep lock
* Deconstruction of module/date took 0 ms.
* module/eth: Stopping
- module/eth: Release sleep lock
* Deconstruction of module/eth took 0 ms.
* module/i3: Disconnecting from socket
* module/i3: Stopping
warn: module/i3: Attempting to reconnect socket (reason: Unexpected EOF while reading header)
* module/i3: Reconnecting socket succeeded
- module/i3: Release sleep lock
* Deconstruction of module/i3 took 0 ms.
* module/left-start: Stopping
- module/left-start: Release sleep lock
* Deconstruction of module/left-start took 0 ms.
* module/left-start-hide: Stopping
- module/left-start-hide: Release sleep lock
* Deconstruction of module/left-start-hide took 0 ms.
* module/left-stop: Stopping
- module/left-stop: Release sleep lock
* Deconstruction of module/left-stop took 0 ms.
* module/right-start: Stopping
- module/right-start: Release sleep lock
* Deconstruction of module/right-start took 0 ms.
* module/right-start-active: Stopping
- module/right-start-active: Release sleep lock
* Deconstruction of module/right-start-active took 0 ms.
* module/right-start-hide: Stopping
- module/right-start-hide: Release sleep lock
* Deconstruction of module/right-start-hide took 0 ms.
* module/right-stop: Stopping
- module/right-stop: Release sleep lock
* Deconstruction of module/right-stop took 0 ms.
* module/right-stop-active: Stopping
- module/right-stop-active: Release sleep lock
* Deconstruction of module/right-stop-active took 0 ms.
* module/volume: Stopping
- module/volume: Release sleep lock
* Deconstruction of module/volume took 0 ms.
- module/vpn: Release sleep lock
* module/vpn: Stopping
- module/vpn: Release sleep lock
* Deconstruction of module/vpn took 0 ms.
- module/vpn-recenter: Release sleep lock
* module/vpn-recenter: Stopping
- module/vpn-recenter: Release sleep lock
* Deconstruction of module/vpn-recenter took 0 ms.
* module/xwindow: Stopping
- module/xwindow: Release sleep lock
* Deconstruction of module/xwindow took 0 ms.
- controller: Joining threads
- module/battery: Deconstructing
- module/cpu: Deconstructing
- module/date: Deconstructing
- module/eth: Deconstructing
- module/i3: Deconstructing
- module/left-start: Deconstructing
- module/left-start-hide: Deconstructing
- module/left-stop: Deconstructing
- module/right-start: Deconstructing
- module/right-start-active: Deconstructing
- module/right-start-hide: Deconstructing
- module/right-stop: Deconstructing
- module/right-stop-active: Deconstructing
- module/volume: Deconstructing
- module/vpn: Deconstructing
- module/vpn-recenter: Deconstructing
- module/xwindow: Deconstructing
* Deactivating tray manager
- tray: Unset selection owner
- tray: Unembed clients
- tray: Destroy window
* Waiting for spawned processes to end
* Reached end of application...

and the other terminal running a reload...
─$ polybar -l trace --reload top
* Parsing config file: /home/jordan/.config/polybar/config
- config_parser: Parsing /home/jordan/.config/polybar/config
- config: Copying missing params (sub="module/left-start", base="module/decor-glyph")
- config: Copying missing params (sub="module/left-start-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/left-start-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/left-stop", base="module/decor-glyph")
- config: Copying missing params (sub="module/left-stop-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/left-stop-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/right-start", base="module/decor-glyph")
- config: Copying missing params (sub="module/right-start-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/right-start-hide", base="module/decor-glyph-hide")
- config: Copying missing params (sub="module/right-stop", base="module/decor-glyph")
- config: Copying missing params (sub="module/right-stop-active", base="module/decor-glyph-active")
- config: Copying missing params (sub="module/right-stop-hide", base="module/decor-glyph-hide")
* Enabling xresource manager
* Environment var ${MONITOR} is undefined, using defined fallback value ""
warn: No monitor specified, using "eDP-1-1"
* Loaded monitor eDP-1-1 (3840x2160+0+0)
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
* Bar geometry: 3686x35+77+5; Borders: 0,0,0,0
- bar: Attach X event sink
- bar: Attach signal receiver
- controller: Install signal handler
- controller: Setup user-defined modules
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color2" not found, using defined fallback value "#9c3528"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color8" not found, using defined fallback value "#616161"
- module/battery: Attach inotify at /sys/class/power_supply/BAT1/charge_now
- module/battery: Attach inotify at /sys/class/power_supply/ADP1/online
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color15" not found, using defined fallback value "#dedede"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
- pulseaudio: started mainloop
warn: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
warn: X resource "color8" not found, using defined fallback value "#616161"
warn: X resource "color9" not found, using defined fallback value "#0489e6"
warn: X resource "color15" not found, using defined fallback value "#dedede"
* Starting application
- controller: Main thread id = 1
* Starting module/battery
* Starting module/cpu
- module/battery: Thread id = 2
* Starting module/date
* Starting module/eth
- module/cpu: Thread id = 3
- module/date: Thread id = 4
* Starting module/i3
- module/eth: Thread id = 5
* Starting module/left-start
* Starting module/left-start-hide
- module/i3: Thread id = 6
- module/left-start: Thread id = 7
* Starting module/left-stop
- module/left-start-hide: Thread id = 8
* Starting module/right-start
- module/left-stop: Thread id = 9
* Starting module/right-start-active
* Starting module/right-start-hide
* Starting module/right-stop
- module/right-start-hide: Thread id = 11
- module/right-start: Thread id = 10
* Starting module/right-stop-active
- module/right-stop: Thread id = 12
* Starting module/volume
- module/right-start-active: Thread id = 13
* Starting module/vpn
- module/volume: Thread id = 14
* Starting module/vpn-recenter
* Starting module/xwindow
* module/vpn-recenter: Invoking shell command: "~/.local/bin/vpnstatus.sh nocolor"
- module/xwindow: Thread id = 15
* module/vpn: Invoking shell command: "~/.local/bin/vpnstatus.sh"
- module/right-stop-active: Thread id = 16
- command: Waiting for pid 28850 to finish...
- command: Waiting for pid 28851 to finish...
* Entering event loop (thread-id=1)
* Eventqueue worker (thread-id=17)
- bar: Create renderer
- controller: Attach config watch
- renderer: Get TrueColor visual
- renderer: Allocate colormap
- renderer: Allocate output window
- renderer: Allocate window pixmaps
- renderer: Allocate graphic contexts
- renderer: Allocate alignment blocks
- renderer: Allocate cairo components
- renderer: Load fonts
* Configured DPI = 220x220
* Loaded font "Anonymouse Pro for Powerline:fontformat=truetype:size=8" (name=DejaVu Sans, offset=1, file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf)
* Loaded font "FontAwesome:style=Regular:pixelsize=8" (name=FontAwesome, offset=0, file=/usr/share/fonts/opentype/font-awesome/FontAwesome.otf)
* Loaded font "Anonymice Nerd Font:fontformat=truetype:size=16" (name=Anonymice Nerd Font, offset=1, file=/home/jordan/.local/share/fonts/Anonymice Nerd Font Complete.ttf)
* Bar window: 0x3400002
- bar: Reconfigure window
- bar: Set window WM_NAME
- bar: Set window _NET_WM_WINDOW_TYPE
- bar: Set window _NET_WM_STATE
- bar: Set window _NET_WM_DESKTOP
- bar: Set window _NET_WM_PID
- bar: Map window
- bar: Received expose event
- bar: Draw empty bar
- bar: Setup tray manager
- tray: Find systray selection atom for the default screen
* Activating tray manager
- tray: Create tray window
* Tray window: 0x3400006
- tray: Restacking tray window
- bar: Set window WM_NAME / WM_CLASS
- tray: Set window WM_PROTOCOLS
- tray: Set window _NET_WM_WINDOW_TYPE
- tray: Set window _NET_WM_STATE
- tray: Set window _NET_WM_PID
- tray: Set window _NET_SYSTEM_TRAY_VISUAL
- tray: Set window _NET_SYSTEM_TRAY_ORIENTATION
- tray: Set _NET_SYSTEM_TRAY_COLORS to ff303030
warn: Systray selection already managed (window=0x0800006)
- tray: Listen for events on the new selection window
* Deactivating tray manager
- tray: Unembed clients
- tray: Destroy window
* module/left-start-hide: Rebuilding cache
* module/i3: Rebuilding cache
* module/xwindow: Rebuilding cache
* module/left-stop: Rebuilding cache
* module/vpn: Rebuilding cache
* module/left-start: Rebuilding cache
* module/date: Rebuilding cache
* module/right-start: Rebuilding cache
* module/vpn-recenter: Rebuilding cache
* module/battery: Rebuilding cache
* module/right-stop: Rebuilding cache
* module/cpu: Rebuilding cache
* module/right-stop-active: Rebuilding cache
* module/eth: Rebuilding cache
* module/right-start-active: Rebuilding cache
* module/volume: Rebuilding cache
* module/right-start-hide: Rebuilding cache
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=402x35+1642+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- bar: Force update
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=402x35+1642+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
- command: Exited with status 0
- command: Exited with status 0
* module/vpn: Rebuilding cache
* module/vpn-recenter: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/battery: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/xwindow: Rebuilding cache
* module/cpu: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=604x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* module/battery: Rebuilding cache
- bar: Ignoring update (unchanged)
* module/xwindow: Rebuilding cache
* Redrawing bar window
- renderer: flush(1 geom=707x35+0+0, falloff=0)
- renderer: flush(2 geom=1148x35+1269+0, falloff=0)
- renderer: flush(3 geom=1165x35+2521+0, falloff=0)
* Systray selection unmanaged... re-activating
* Activating tray manager
- tray: Create tray window
* Tray window: 0x3400018
- tray: Restacking tray window
- bar: Set window WM_NAME / WM_CLASS
- tray: Set window WM_PROTOCOLS
- tray: Set window _NET_WM_WINDOW_TYPE
- tray: Set window _NET_WM_STATE
- tray: Set window _NET_WM_PID
- tray: Set window _NET_SYSTEM_TRAY_VISUAL
- tray: Set window _NET_SYSTEM_TRAY_ORIENTATION
- tray: Set _NET_SYSTEM_TRAY_COLORS to ff303030
- tray: Change selection owner to 0x3400018
warn: Termination signal received, shutting down...
- controller: Uninstall sighandler
- controller: Detach signal receiver
- controller: Stop modules
* module/battery: Stopping
- module/battery: Release sleep lock
- module/battery: End of subthread
* Deconstruction of module/battery took 276 ms.
* module/cpu: Stopping
- module/cpu: Release sleep lock
* Deconstruction of module/cpu took 0 ms.
* module/date: Stopping
- module/date: Release sleep lock
* Deconstruction of module/date took 0 ms.
* module/eth: Stopping
- module/eth: Release sleep lock
* Deconstruction of module/eth took 0 ms.
* module/i3: Disconnecting from socket
* module/i3: Stopping
warn: module/i3: Attempting to reconnect socket (reason: Unexpected EOF while reading header)
* module/i3: Reconnecting socket succeeded
- module/i3: Release sleep lock
* Deconstruction of module/i3 took 0 ms.
* module/left-start: Stopping
- module/left-start: Release sleep lock
* Deconstruction of module/left-start took 0 ms.
* module/left-start-hide: Stopping
- module/left-start-hide: Release sleep lock
* Deconstruction of module/left-start-hide took 0 ms.
* module/left-stop: Stopping
- module/left-stop: Release sleep lock
* Deconstruction of module/left-stop took 0 ms.
* module/right-start: Stopping
- module/right-start: Release sleep lock
* Deconstruction of module/right-start took 0 ms.
* module/right-start-active: Stopping
- module/right-start-active: Release sleep lock
* Deconstruction of module/right-start-active took 0 ms.
* module/right-start-hide: Stopping
- module/right-start-hide: Release sleep lock
* Deconstruction of module/right-start-hide took 0 ms.
* module/right-stop: Stopping
- module/right-stop: Release sleep lock
* Deconstruction of module/right-stop took 0 ms.
* module/right-stop-active: Stopping
- module/right-stop-active: Release sleep lock
* Deconstruction of module/right-stop-active took 0 ms.
* module/volume: Stopping
- module/volume: Release sleep lock
* Deconstruction of module/volume took 0 ms.
- module/vpn: Release sleep lock
* module/vpn: Stopping
- module/vpn: Release sleep lock
* Deconstruction of module/vpn took 0 ms.
- module/vpn-recenter: Release sleep lock
* module/vpn-recenter: Stopping
- module/vpn-recenter: Release sleep lock
* Deconstruction of module/vpn-recenter took 0 ms.
* module/xwindow: Stopping
- module/xwindow: Release sleep lock
* Deconstruction of module/xwindow took 0 ms.
- controller: Joining threads
- module/battery: Deconstructing
- module/cpu: Deconstructing
- module/date: Deconstructing
- module/eth: Deconstructing
- module/i3: Deconstructing
- module/left-start: Deconstructing
- module/left-start-hide: Deconstructing
- module/left-stop: Deconstructing
- module/right-start: Deconstructing
- module/right-start-active: Deconstructing
- module/right-start-hide: Deconstructing
- module/right-stop: Deconstructing
- module/right-stop-active: Deconstructing
- module/volume: Deconstructing
- module/vpn: Deconstructing
- module/vpn-recenter: Deconstructing
- module/xwindow: Deconstructing
* Notifying pending tray clients
* Deactivating tray manager
- tray: Unset selection owner
- tray: Unembed clients
- tray: Destroy window
* Waiting for spawned processes to end
* Reached end of application...

polybar -l trace --reload top

I think you misunderstood what this command does. It is the same as running polybar -l trace top but it will automatically reload itself when it notices that its configuration file changed.
So what is happening here is that you run polybar -l trace top, which acquires the systray selection. Then you run polybar -l trace --reload top which starts a second polybar instance which fails to acquire the systray selection because the first polybar instance already has it.
You can trigger a reload of polybar with polybar-msg cmd restart (you need to enable ipc in the config for this).

Yeah, I totally just realized that as I was thinking about the fact that when I ran the second command it kept running. I was thinking it was more like a sighup to cause it to reload. That is completely my mistake. Appreciate the assistance and explanation.

Btw, you can directly send SIGUSR1 to a polybar process to reload it ;)


remove reflective code, mute warning for unremovable reflection

Now that reflection warnings work, we get this on a new repl:
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/clojure/reflect/clr.clj:152:9 - call to method GetConstructors can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/clojure/reflect/clr.clj:171:9 - call to method GetMethods can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/clojure/reflect/clr.clj:189:9 - call to method GetFields can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/clojure/reflect/clr.clj:207:9 - call to method GetProperties can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:240:3 - call to method GetComponent can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:299:23 - reference to field/property Name can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:300:59 - reference to field/property Name can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:305:24 - reference to field/property IsSpecialName can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:305:43 - reference to field/property IsGenericMethod can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:302:11 - call to method GetMethods can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:315:44 - reference to field/property Name can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:328:59 - reference to field/property Name can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:329:72 - reference to field/property ParameterType can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:330:39 - reference to field/property GetParameters can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:331:74 - reference to field/property ReturnType can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:326:34 - reference to field/property GetParameters can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:326:25 - reference to field/property Length can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:325:23 - reference to field/property IsGenericMethod can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:324:26 - reference to field/property Name can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/arcadia/core.clj:321:14 - call to method GetMethods can't be resolved (target class is unknown).
Reflection warning, /Users/timothygardner/code/clojure-unity/Assets/Arcadia/clojure/repl.clj:150:40 - reference to field/property Read can't be resolved (target class is unknown).

Need to go through and take care of it

hydrate also full of reflection, we now know


Adding animation, bullets to carousel. Hiding carousel for recipe desktop view

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix https://github.com/hlxsites/fonterra-fernleaf/issues/95 https://github.com/hlxsites/fonterra-fernleaf/issues/94
Test URLs:

Before: https://main--fonterra-fernleaf--hlxsites.hlx.page/
After: https://95-add-animation-to-carousel--fonterra-fernleaf--hlxsites.hlx.page/

Closing this PR in favour of https://github.com/hlxsites/fonterra-fernleaf/pull/119


Embed ICC profile when saving PSD file

Is your feature request related to a problem? Please describe.
I need to save PSD files with embedded ICC profile and I'm not sure it is currently possible.
Describe the solution you'd like
A psd.save parameter (i.e. icc_profile) that accepts the ICC profile in bytes format (the same approach PIL uses).

For anyone interested, this is the solution I found:
`
from PIL import ImageCms
from psd_tools import PSDImage
from psd_tools.psd.image_resources import ImageResource
from psd_tools import constants as PSDConstants
icc_profile = ImageCms.getOpenProfile(profile_filename)
psd_file = PSDImage.open(filename)
key = PSDConstants.ImageResourceID.ICC_PROFILE
psd_file.image_resources[key] = ImageResource(key=key, data=icc_profile)
`


add blacklist for keys in chat

Improve the if statement key blacklist with an array and for loop

no


[feature]: Add styles.yml/md File for Raising Enhancement Requests separately

Is your feature request related to a problem? Please describe.
style.yml (Custom ISSUE_TEMPLATE):

The style.yml file, on the other hand, serves as a custom ISSUE_TEMPLATE for issues related to coding style, code formatting, and linting rules within your GitHub repository. This template helps contributors or users report code style-related concerns or seek guidance on adhering to the project's coding standards.
The contents of style.yml might include specific questions or prompts related to coding style, requesting users to provide examples of code snippets that need formatting adjustments or explanation. Additionally, you might include instructions on how to check code against the project's style guidelines and best practices.

Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

Hi @Gaurav-Verma07 . Please review on this Issue as soon as Possible. Thank You !


CB-4370 - yarn and basic stack tests now create freeipa

Maybe we should consider to retire our old E2E test setup:
protected void setupTest(TestContext testContext) {
        createDefaultUser(testContext);
        createDefaultCredential(testContext);
        createDefaultEnvironment(testContext);
        initializeDefaultBlueprints(testContext);
    }

and apply the complete one:
protected void setupTest(TestContext testContext) {
        createDefaultUser(testContext);
        createDefaultCredential(testContext);
        createEnvironmentWithNetworkAndFreeIPA(testContext);
        initializeDefaultBlueprints(testContext);
    }

@aszegedi there are still many cases when the default setup is used. This was my idea originally as well, but I checked and it's not worth it.


Page Badges aren't easy to see to read in dark mode (nor do they look exactly right in light mode)

The badges in the corners of the pages don't always match the theme of the app in a way that's readable.

I've changed the color of the Native Control Badge so that it is distinguishable from the background in light mode. However, I can't seem to test the change in Dark Mode as this is what Gallery looks like for me in Dark Mode:

I've tried changing the settings and then cleaning/rebuilding the rngallery solution, as well as rebooting my machine but nothing seems to be working.

Reminder: Check with contrast analyzer tool with Accessibliity Insights as part of this.

Reminder: Check with contrast analyzer tool with Accessibliity Insights as part of this.

@Yajur-Grover FYI
Light mode
✅

✅

Dark mode
✅

❌

This implies that the dark mode community module button (white on accent color) needs to be fixed for dark mode.
Which I believe means moving to "TextOnAccentFillColorPrimaryBrush":


Variance note reason standardization

Description:
As an admin, I want to be able to quickly select a common variance reason in order to speed up my data entry process.
[Description of the ticket]
Acceptance Criteria:
Given I am an admin or Park Operator
When I go to enter my variance reasons
Then I see a standardized list of reasons that I can select from
Development Checklist:

[ ] Get list of variance reasons
[ ] Determine if radio button or drop down is most appropriate approach
[ ] ...

Dependencies

Blocked by #396
Blocking

Wireframe(s):
Workflows:
Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done

In progress:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] UI meets accessibility requirements
[ ] Unit tests are written
[ ] Work is traceable in GitHub
[ ] PR linked to ticket number
[ ] If needed/required - Dev adds flag/label to highlight any migration steps necessary prior to PROD deployment

Code review:

[ ] Code is peer reviewed and has passed CI/CD tests

QA:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Code is potentially shippable to the production environment
[ ] Functional features have been tested and passed by QA
[ ] UI components tested by designer
[ ] Code is deployed to PROD when moved to 'done' column (unless requested otherwise by PO)

PO Review:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Reviewed and approved by Product Owner

Notes:

We have some standard reasons for variances, many of which will also line up with "event type" from the staff advisory portal, like wildfire closure, trail closure, weather events (flood, snow warning etc), that could be selected from a list rather than typed out by the person entering data. This will speed up entering variances, make it more likely the PO fills out the variance field, and make it easier to analyze variances/ filter by variance type.

October 11, 2024 prioritization session:

A&R team highlighted as a priority
Standardizing common reasons for variances would allow the team to filter and report out and improve data entry speed
To do: get a list of from A&R team of common list of reasons.

PO question: would we need an 'other' catergory and allow people to add in additional variance reasons?

Oct 16 Refinement notes:

A&R will share the list of common variance options by the end of this week. (Likely 10 items or less)
this list will be matched up with list used in staff advisory portal for consistency

Question:

Do they need multiple selections? Yes. See below for user needs.

Needs:

pre-determined list of reasons for variances they can select (dev preference: everything they can possibly think of, IN ADDITION to the 10 main things) Sub categories too.
including one where they can write their own
can select multiple
metrics
compliance for A&R to have the variance
trying to reduce friction for them to comply

Next steps:

create design ticket with the above needs [done] -->
update AC of this ticket more once design ticket is fleshed out

Example of a event type and sub category in the staff advisory portal. Have asked Rob Fiddler if he has a list of all the event types.
Existing variance notes in system.xlsx
The variance notes that are currently in the system- lacks a consistent format, not always useful, and there should be a lot more notes when comparing to the amount of variances in the system. FYI @nicolebottoms @jbarber48

EventTypes-StandardMessages-20241016.xlsx
This file shows all the types of advisories that are posted on bcparks.ca, including all forms of closures that affect attendance numbers. It also shows how often each advisory has been used.

example of why we requested this:
there was a 165% variance for some data in this entry field, and the PO entered '0' for the variance note 👎


Fix some panics in edge cases.

Fixes a few cases where rustfix will panic.

An empty file (where there are no lines).
Span pointing at the end of the file.

Released as 0.5.1!


Tinkerboard

@linusg Hi, yes, that helps very much.
I've been working on this for 2 hours so far and seem to hit a roadblock.
I will keep this pull request open this time and we can work in this one, as I closed the last one
First, I'd like to check in with you and make sure I am following your plan so far.
Second, I can't seem to get this to work
if((self._board_type == BoardType.TINKER_BOARD)

Can you see if I am doing something bad with enum? I cant seem to get it to work unless I do
if((self._board_type.name == "TINKER_BOARD")

BTW, I couldnt use auto for enum, I think it is not supported on my Tinkerboard... Was not able to import it.

First, I'd like to check in with you and make sure I am following your plan so far.

It looks mostly good so far, thanks for woking on it! (some of the code violates PEP 8, but we can fix that once everything else is working. black is your friend.)
I guess I did not think backlight_sysfs_path through properly, let's do it a bit differently:
_BACKLIGHT_SYSFS_PATHS = {
    BoardType.RASPBERRY_PI: "/sys/class/backlight/rpi_backlight/",
    BoardType.TINKER_BOARD: "/sys/devices/platform/ff150000.i2c/i2c-3/3-0045/",
}

and then change the parameter's default value to None:
backlight_sysfs_path: Optional[Union[str, "PathLike[str]"]] = None,

and then check if we weren't given a sysfs path, and assign the right one if so:
if not isinstance(board_type, BoardType):
    raise TypeError("board_type must be a a member of the BoardType enum, got {0}".format(type(board_type)))

if not backlight_sysfs_path:
    backlight_sysfs_path = _BACKLIGHT_SYSFS_PATHS[board_type]
elif backlight_sysfs_path == _EMULATOR_MAGIC_STRING:
    ... existing code ...

Let's also keep _get_value and _set_value free of any board type logic please, and instead check the board type before calling these functions - like you did in fade_duration 👍

Second, I can't seem to get this to work

That is likely because you define the enum twice, so the value you pass to the contructor and the one you compare against are actually not considered equal. That's expected behaviour, I think.
Just define the enum once and then import it in cli.py 🙂

BTW, I couldnt use auto for enum, I think it is not supported on my Tinkerboard... Was not able to import it.

Yes, sorry about that - it was added in Python 3.6, so your solution using ints is fine for now!

If you get stuck or have any questions, I'm happy to answer them!

Hi @linusg
Made some good progress today. Think Im more than half way done. Would like you to make sure they are up to your specifications.
One thing of note: I was going to implement a smooth option, -s, for when you want to power on smoothly. But, I have commented this out as Im not sure youd like this, as brightness function does the same.

Made some good progress today. Think Im more than half way done. Would like you to make sure they are up to your specifications.

Just saw it, looking good! Just want to mention it, don't take everything I say/request for granted - it might be a good idea, if if you can think of somethink better implement that instead 😃

One thing of note: I was going to implement a smooth option, -s, for when you want to power on smoothly. But, I have commented this out as Im not sure youd like this, as brightness function does the same.

Let's discuss this in a separate issue/PR - please remove these changes for now as they're not relevant to this PR (support for Tinker Board). Having a clean history is somewhat important to me, and the changes will be easier to review if there's less "noise" in the diff.

Hi @linusg
I have tested and black formatted and made some changes
Ready for your final approval I think

Ready for your final approval I think

There are still CI checks failing :slightly_smiling_face:
it's a few mypy errors:
rpi_backlight/__init__.py:140: error: Missing return statement
rpi_backlight/__init__.py:188: error: Missing return statement
rpi_backlight/__init__.py:206: error: Incompatible return value type (got "int", expected "bool")
rpi_backlight/__init__.py:208: error: Incompatible return value type (got "int", expected "bool")
Found 4 errors in 1 file (checked 5 source files)

The first two could probably be solved by changing
if self._board_type == BoardType.RASPBERRY_PI:
    ...
elif self._board_type == BoardType.TINKER_BOARD:
    ...

to
if self._board_type == BoardType.RASPBERRY_PI:
    ...
elif self._board_type == BoardType.TINKER_BOARD:
    ...
else:
    raise RuntimeError("Invalid board type")

This is handling the unlikely case that self._board_type is being changed after class instantiation.
The last two are proper bugs, the power property getter is supposed to return a bool, you're returning ints. You probably got confused by the comment # 0 is on, 1 is off - that is Raspberry Pi specific and means, if there's a 0 in the file the display is on, if it's a 1 it's off. Still returns a boolean.

I am still getting the CI errors...
I am trying to figure out this Travis thing to see how to fix them

Hi @linusg
It seems some of the changes suggested has broken syntax
I am trying to go through it now to find it but the problem is it all looks fine to me
The python installer isnt of much help either...
root@TinkerBoardS:/home/linaro/rpi-backlight # python ./setup.py install
Traceback (most recent call last):
  File "./setup.py", line 2, in <module>
    from rpi_backlight import __version__
  File "/home/linaro/rpi-backlight/rpi_backlight/__init__.py", line 29
    def _permission_denied() -> None:
                             ^
SyntaxError: invalid syntax

Hi @linusg
Good news and bad news
Good news first: I am finally finished testing, everything seems to work, I am passing on Travis now, bugs seem to be out. Please do a review after reading the bad news.
Bad news: Tonight I have also upgraded my Tinkerboard to latest 2.0.11 version image. In this version, they have implemented /sys/class/backlight/rpi_backlight/
I believe this path was not in previous versions, but I could swear these files didnt exist before, which is what drove me to create v1 before (but now I an doubting myself)
Some things to point out

both /sys/class/backlight/rpi_backlight/ and /sys/devices/platform/ff150000.i2c/i2c-3/3-0045/ exist in latest Tinkerboard
Several of the files of the Pi now exist (max_brightness, ml_power, actual_brightness, brightness)
Changing the brightness file does indeed work. Meaning, people can use YOUR latest version to change brightness on Tinkerboard
Changing bl_power does nothing. Though the file exists, changing it from 0/1 does NOT work.
Permission denied when trying to edit max_brightness and actual_brightness
To maintain functionality with people on older Tinkerboards, we should add in my new changes
Regardless of whether brightness works, setting the power through bl_power does NOT work, even though the file exists. So still, my new code is required for power toggling

However, I am mentioning these points to you in case you want to completely remove /sys/devices/platform/ff150000.i2c/i2c-3/3-0045/ and do everything instead from /sys/class/backlight/rpi_backlight/ which does exist now
-This my alienate users on previous builds on Tinkerboard
Thoughts?

Bad news: Tonight I have also upgraded my Tinkerboard to latest 2.0.11 version image. In this version, they have implemented /sys/class/backlight/rpi_backlight/
I believe this path was not in previous versions, but I could swear these files didnt exist before, which is what drove me to create v1 before (but now I an doubting myself)
Some things to point out
...

That's very much possible; I don't have a Tinker Board to verify - but nonetheless it still seems to be necessary to add these changes, as you say. And as long as they don't remove the old path, let's just stick with it 👍

Hi @p1r473,
I tested the PR, works great! I have to request a few more changes, not your fault:

We need to add BoardType to __all__ so it's being picked up by Sphinx when generating the docs
We have to add a docstring to it to replace the default one ("An enumeration.")

This is what the docs will look like:

Swapping board_type and backlight_sysfs_path was actually bad advice, sorry. It would be a breaking change as we do not enforce keyword arguments - e.g. here:

https://github.com/linusg/rpi-backlight-emulator/blob/6b5b89732fbb9cf28edd65306ec2a36e03eafb14/rpi_backlight_emulator/__init__.py#L127

Let's also change the board type identifiers for the CLI to use hyphen instead of underscore. Just feels less weird?

For all changes I made see the diff below:
diff --git a/rpi_backlight/__init__.py b/rpi_backlight/__init__.py
index d775501..6d3e1ba 100644
--- a/rpi_backlight/__init__.py
+++ b/rpi_backlight/__init__.py
@@ -10,11 +10,15 @@ if TYPE_CHECKING:

 __author__ = "Linus Groh"
 __version__ = "2.0.1"
-__all__ = ["Backlight"]
+__all__ = ["Backlight", "BoardType"]

 class BoardType(Enum):
+    """Enum to specify a board type in the :class:`~rpi_backlight.Backlight` constructor."""
+
+    #: Raspberry Pi
     RASPBERRY_PI = 1
+    #: Tinker Board
     TINKER_BOARD = 2

@@ -38,8 +42,8 @@ class Backlight:

     def __init__(
         self,
-        board_type: BoardType = BoardType.RASPBERRY_PI,
         backlight_sysfs_path: Optional[Union[str, "PathLike[str]"]] = None,
+        board_type: BoardType = BoardType.RASPBERRY_PI,
     ):
         """Set ``backlight_sysfs_path`` to ``":emulator:"`` to use with rpi-backlight-emulator."""
         if not isinstance(board_type, BoardType):
diff --git a/rpi_backlight/cli.py b/rpi_backlight/cli.py
index 19f5084..377f5cb 100644
--- a/rpi_backlight/cli.py
+++ b/rpi_backlight/cli.py
@@ -2,9 +2,9 @@ from argparse import ArgumentParser

 from . import Backlight, __version__, BoardType

-board_types = {
-    "raspberry_pi": BoardType.RASPBERRY_PI,
-    "tinker_board": BoardType.TINKER_BOARD,
+BOARD_TYPES = {
+    "raspberry-pi": BoardType.RASPBERRY_PI,
+    "tinker-board": BoardType.TINKER_BOARD,
 }

@@ -56,8 +56,8 @@ def _create_argument_parser():
     parser.add_argument(
         "-B",
         "--board-type",
-        default="raspberry_pi",
-        choices=board_types.keys(),
+        default="raspberry-pi",
+        choices=BOARD_TYPES.keys(),
         help="board type",
     )
     return parser
@@ -69,7 +69,7 @@ def main():
     args = parser.parse_args()

     backlight = Backlight(
-        board_type=board_types[args.board_type], backlight_sysfs_path=args.sysfs_path
+        board_type=BOARD_TYPES[args.board_type], backlight_sysfs_path=args.sysfs_path
     )

     if args.get_brightness:

Thank you!

Changes made, thanks

looks like you accidentally added new files instead of updating the ones in the rpi_backlight/ directory :)

Oopsies

Let me check why Travis is failing now...

@linusg have you had any luck installing black on your Pi?
Cant install it on Tinkerboard.. no package

Merged, thanks! I'll update the docs to reflect this change and then release a new version on PyPI.

have you had any luck installing black on your Pi?

Yes, but only with --pre (as they haven't released a "stable" version yet):
$ pip3 install --user --pre black
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting black
  Downloading https://files.pythonhosted.org/packages/fd/bb/ad34bbc93d1bea3de086d7c59e528d4a503ac8fe318bd1fa48605584c3d2/black-19.10b0-py36-none-any.whl (97kB)
    100% |████████████████████████████████| 102kB 333kB/s
Collecting pathspec<1,>=0.6 (from black)
  Downloading https://files.pythonhosted.org/packages/34/fa/c5cc4f796eb954b56fd1f6c7c315647b18b027e0736c9ae87b73bbb1f933/pathspec-0.7.0-py2.py3-none-any.whl
Requirement already satisfied: toml>=0.9.4 in ./.local/lib/python3.7/site-packages (from black) (0.10.0)
Requirement already satisfied: typed-ast>=1.4.0 in ./.local/lib/python3.7/site-packages (from black) (1.4.1)
Requirement already satisfied: appdirs in ./.local/lib/python3.7/site-packages (from black) (1.4.3)
Requirement already satisfied: attrs>=18.1.0 in ./.local/lib/python3.7/site-packages (from black) (19.1.0)
Collecting regex (from black)
  Downloading https://www.piwheels.org/simple/regex/regex-2020.2.20-cp37-cp37m-linux_armv7l.whl (644kB)
    100% |████████████████████████████████| 645kB 409kB/s
Requirement already satisfied: click>=6.5 in ./.local/lib/python3.7/site-packages (from black) (7.0)
Installing collected packages: pathspec, regex, black
Successfully installed black-19.10b0 pathspec-0.7.0 regex-2020.2.20

Hold up, seems to be a problem setting the default board type.
On my end, changed the code to:
def __init__(
        self,
        backlight_sysfs_path: Optional[Union[str, "PathLike[str]"]] = None,
        board_type: BoardType = BoardType.TINKER_BOARD,
    ):

However, even with the default being TINKER_BOARD, board_type is still being detected as RASPBERRY_PI, when not using -B 2

Looks like we setting the default in the init and ALSO in the parser.
Should we remove one of the defaults?
parser.add_argument(
        "-B",
        "--board-type",
        default="raspberry-pi",

def __init__(
        self,
        backlight_sysfs_path: Optional[Union[str, "PathLike[str]"]] = None,
        board_type: BoardType = BoardType.TINKER_BOARD,
    ):

Yes, that's expected - you're not supposed to change the library source code :smile:
The default for the CLI is set here:
https://github.com/linusg/rpi-backlight/blob/bdda78b1f857329841954916553049025292399c/rpi_backlight/cli.py#L59

Should we remove one of the defaults?

I think it's fine, as long as they match. Most users are probably using the display with a Raspberry Pi anyway, they don't have to do anything as the defaults will just work. Tinker Board users will have to set board_type=BoardType.TINKER_BOARD and --board-type tinker-board.


Unify database wrappers

We currently have two wrappers for LevelDB: database.DB and database.Database. We took the second one from Ethereum and it includes considerable code for metering. The Ethereum wrapper also implements batching, but it would take very little effort to support that with our implementation.
We should decide which one we want to use (use Ethereum's implementation or add batching to ours) and remove the second implementation.

fixed


Improve clause design new

Refer to #178

@satoshikumano @shinsuke-nara  Please confirm this PR for clause

LGTM.

@shinsuke-nara  please confirm the commit: 5fe19e994d871bbf7bb33d6e59dcc5b283f43e10

@yongpingchen LGTM!


errno: NetCDF: Variable not found: Error getting variable id for - in /home/arunima/vic/iofiles/forcings/Stehekin_image_test.forcings_10days.1949.nc

I am trying to run image driver vic model on sample input files. But I am getting following error -
[ERROR] ../shared_image/src/get_nc_field.c:50: errno: NetCDF: Variable not found: Error getting variable id for - in /home/arunima/vic/iofiles/forcings/Stehekin_image_test.forcings_10days.1949.nc
PFA log file generated during run.
(putvic.log.20170116-30294.000000.txt
PFA global_parameter_txt file :
global_parameter_file.txt

I answered your question on the VIC users list but I'll post it here as well.
This error is telling you that VIC cannot find the variable "-". Looking at your global parameter file, you will see a number of erroneous dashes in the variable specification:
FORCE_TYPE    AIR_TEMP -   tas    # Average air temperature, K
FORCE_TYPE    PREC -       prcp   # Total precipitation (rain and snow), kg/m2/s
FORCE_TYPE    PRESSURE -   pres   # Atmospheric pressure, Pa
FORCE_TYPE    SWDOWN       dswrf  # Incoming shortwave, W/m2
FORCE_TYPE    LWDOWN ---     dlwrf  # Incoming longwave radiation, W/m2

You should remove those.


How can a DinD solution like this be 'secure'?

Hi guys,
saw the awesome presentation of this project on DockerCon, thanks a lot!!
One thing I can not quite get my head wrapped around is this:
If this whole thing is based on Docker in Docker, how do you isolate one user's sessions from all other running sessions? I assume that everytime I click "create new session", a --privileged container is created. (Otherwise DinD would not work, this line in the code seems to prove what I am assuming: https://github.com/franela/play-with-docker/blob/6acb6f47c556cced54e2ac5de8212adc8d73e2cb/services/docker.go#L203 )
Thanks in advance for your explanation,
Regards,
Tobi

I was also wondering about this. Are you using Linux containers?

Hi! Users sessions are not perfectly isolated. We have a few apparmor
policies in place and have tweaked the host machine to disallow some
obvious, and not so obvious, 'bad behaviour'. But since DinD requires
containers to be privileged perfect isolation is hard, maybe impossible.
But also it is not the point. This is a playground. The environment is
expected not to be secure, which means people shouldn't expose any
sensitive data (we are going to add a very explicit message regard this).
That being said, if you have any suggestions on how to improve isolation,
without making the whole thing slower and cumbersome, it will be more than
welcome.
Hope this clarify a little.
On Wed, Apr 26, 2017, 15:49 Carlton Semple<EMAIL_ADDRESS>wrote:

I was also wondering about this. Are you using Linux containers?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/franela/play-with-docker/issues/123#issuecomment-297506104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIhp1MojaZJVyCetgUDrqOZF_sfDcdTks5rz5GygaJpZM4NExOd
.

@xetorthio thanks! Yes, that does make sense as it's not meant for serious usage.

Btw, for a more secure/isolated thing you can download PWD and run it on your own instances. We know a few people that are doing it in their companies, as an internal and private docker playground.

Closing this for now. We can re-open in case there is more to discuss :)


Double assume role in EKS

I have a problem with double role assumption in EKS.
Environment description
The installation:

We have a set of multi-env terraforms we run with Terragrunts.
For AWS provider in each env we have a separate TF role with a set of permissions and use assume-role there.
We have a EKS cluster where Terragrunt deployed by the Helm chart in the account 222222222.
IAM roles association done based on the AWS recommendations - https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html

Roles:

The role we have in the provider configuration which Terragrunt should assume when calling Terraform - arn:aws:iam::11111111111:role/terraform-dev
The role we have for it's pod - arn:aws:iam::222222222:role/eks-terragrunt
In the pod with terragrunt we have variables:

AWS_ROLE_ARN=arn:aws:iam::222222222:role/eks-terragrunt
AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
AWS_ROLE_SESSION_NAME=terragrunt
AWS_STS_REGIONAL_ENDPOINTS=regional
AWS_DEFAULT_REGION=us-east-1
AWS_REGION=us-east-1

Provider block:
provider "aws" {
  region  = var.aws_region
  version = "~> 3.34"
  profile = "metabase_mfa"
  assume_role {
    role_arn     = "arn:aws:iam::11111111111:role/terraform-dev"
    session_name = "${get_env("USER", "terragrunt-dev")}"
  }
}

Terragrunt version - terragrunt version v0.24.4
Expected behaviour
Terragrunt should assume the role arn:aws:iam::222222222:role/eks-terragrunt based on the AWS_ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE and then using that role it should assume roles from the Terraform code which are set for providers.
Actual behaviour
Terragrunt ignores AWS_ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE environment variables and stops with:
Error finding AWS credentials (did you set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables?): AccessDenied: User: arn:aws:sts::222222222:assumed-role/eks-cluster-service-nodes/i-0b90ac49749e1df22 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::11111111111:role/terraform-dev.
At the same time, from the same pod, command aws sts assume-role --role-arn arn:aws:iam::11111111111:role/terraform-dev --role-session-name testing works well and return a valid JSON.
Also, I tried to call it with a --terragrunt-iam-role CLI arg.

When I do it with arn:aws:iam::11111111111:role/terraform-dev - no changes.
When I do it with arn:aws:iam::222222222:role/eks-terragrunt - I get the a different error: AccessDenied: User: arn:aws:iam::222222222:role/eks-terragrunt is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::222222222:role/eks-terragrunt which is reasonable (I doesn't allow allow the role to assume itself), but it means that in that case Terragrunt aware of AWS variables because it is trying to use a correct role for assumption (it really should use the role  arn:aws:iam::222222222:role/eks-terragrunt, but should use it to assume arn:aws:iam::11111111111:role/terraform-dev).

Just ran into this one. Was really hoping to avoid having to maintain a credentials file and provider profile due to the large and changing number of accounts I am managing. My thought was that maybe it is possible to create the credentials on the fly but so far haven’t had any luck.

This is brutal... I've got dozens of pipelines we're switching over from IAM users / keys to assumed roles.  I'm set up the same way with a service account role on my Jenkins pod and using a withENV block to set AWS_PROFILE.  aws sts get-caller-identity works, all aws cli commands work, but terragrunt refuses to honor the profile.
https://terragrunt.gruntwork.io/docs/features/work-with-multiple-aws-accounts/
There is an environment variable the bottom of that article references, essentially specifying the full role arn you want to assume in the pod.  I'm stuck looking up the account numbers from the profiles and adding that env var anywhere I run terragrunt.