Streaming Directory Archives

Hi,
Firstly, this project is perfect for my needs, provided it does what I want ;-)  I need to be able to zip a directory and stream that to the user (in Phoenix).  I've seen the example using File.open, but do you know if it's possible to pass a directory to archive?
Thanks,
Lee

Hi Lazarus404,
this is a nice ideia. I'll add a directory_entry on the project so you can use it directly. I guess I could have it ready by tomorrow. The idea I'm thinking is to scan the directory [probably recursively] and on each file emit a file_entry. I'll let you know!
Thanks,
~dsouza

Excellent.  I think that would be a very valuable addition

Has there been any luck on this front?  :-)

Hi Lazarus404,
sorry taking this long to get back to you. I was traveling and with no access to my computer that is why.
I should be able to fix this tonight. I'll let you now!
Best!
~dsouza

Awesome.  I'll gladly test this for you.  I want to include it in a Phoenix application and have it stream a zip file based on passed folder path.
Thanks,
Lee

Hi Lazarus404,
I've created https://github.com/dgvncsz0f/zipflow/pull/3 to track this. I have a working code already but it is missing tests and documentation. I guess one more day of work to make a release. I'll let you now.
~dsouza

This is great, thanks 👍   This should make a difference.
Regards,
Lee

Hi Lazarus404,
the new code is on master.
https://github.com/dgvncsz0f/zipflow/blob/master/lib/zipflow/os.ex
Let me know if that works for you. If everything works fine I'll bump the version and make a release on hex.
Thanks!
~dsouza

Awesome.  I'll be implementing it at the beginning of the week.
Thanks,
Lee
On Sat, 24 Sep 2016 at 18:14 Diego Souza<EMAIL_ADDRESS>wrote:

Hi Lazarus404,
the new code is on master.
https://github.com/dgvncsz0f/zipflow/blob/master/lib/zipflow/os.ex
Let me know if that works for you. If everything works fine I'll bump the
version and make a release on hex.
Thanks!
~dsouza
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dgvncsz0f/zipflow/issues/2#issuecomment-249376173,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATGTPSmfS7TuAzJo0I_66qbjTsN6K06ks5qtVqDgaJpZM4J8EQd
.

Hi dsouza,
So, I'm using this with Plug in Phoenix, but I'm missing something because it won't end the stream.  The code I'm using to test is:
  def file_zip(conn, %{"dir" => dir}, _current_user, _claims) do
    conn = conn
    |> put_resp_content_type("application/octet-stream")
    |> send_chunked(200)

    read_file = fn d ->
      {:ok, conn} = Plug.Conn.chunk(conn, d)
      receive do
        {:update, data} ->
          Plug.Conn.chunk(conn, data)
        _ ->
      end
    end
    Zipflow.Stream.init
    |> Zipflow.OS.dir_entry(read_file, dir, [])
    |> Zipflow.Stream.flush(read_file)
  end

Do you see anything obvious?
Many thanks,
Lee

It's always the simple things that throw you.  I wasn't returning "conn".  Okay, so the result that works, for anyone else wanting to do this, is:
def file_zip(conn, %{"dir" => dir}, _current_user, _claims) do
    conn = conn
    |> put_resp_content_type("application/octet-stream")
    |> send_chunked(200)

    chunk_file = fn d ->
     {:ok, conn} = chunk(conn, d)
    end
    Zipflow.Stream.init
    |> Zipflow.OS.dir_entry(chunk_file, dir, [])
    |> Zipflow.Stream.flush(chunk_file)

    conn
  end

Lee

So, this works great, with one slight bug :-)  When specifying a directory to zip - for instance "./priv/static/site-files/pdfs", the zip will create folders for all the directories leading up to that, so it ends up containing "/Users/lee/Documents/zipflow-test/priv/static/site-files/pdfs/..."
Otherwise, it's fantastic.  Thank you very much 👍

Hi! I've added an option to control that:
https://github.com/dgvncsz0f/zipflow/blob/master/lib/zipflow/os.ex#L54
You can provide a function under the key rename which takes the original path name. the result is what gets added to the zip. The default is the identity function.
You can also filter which files to include using the accept function. The default is to accept all files.
Let me know if that helps!
~dsouza

Sorry, I'm not sure I explained the problem properly.  The name of the zip is fine; it's the content that's a little wrong.  The zip doesn't just contain the directory tree from the point of the path supplied.  It also contains the parent directories up to the root of the server.  So, rather than just:
my_download/files/...

I get:
/root/website/downloadable/my_download/files/...

when supplied with the path ./downloadable/my_download
Thanks,
Lee

Oh I see. You can achieve that using the function I mention but I realize that is not very intuitive. I will make a patch today change the behavior to the way you expect.
Thanks!
~dsouza

Awesome :-)  Thanks!
On Mon, 3 Oct 2016 at 14:46 Diego Souza<EMAIL_ADDRESS>wrote:

Oh I see. You can achieve that using the function I mention but I realize
that is not very intuitive. I will make a patch today change the behavior
to the way you expect.
Thanks!
~dsouza
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dgvncsz0f/zipflow/issues/2#issuecomment-251109550,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATGTEmGkYq8nfdsPNvgUWNBEPZjgvGeks5qwQdMgaJpZM4J8EQd
.

Lazarur404,
I've write a patch and it is on master already. Relative paths should work as you expect. Give it a try and let me know.
Thx!
~dsouza

Thanks dsouza,
I've incorporated it.  I'm currently rebuilding my file management microservice, so I'll let you know once the tests are refactored.
Thanks,
Lee

Hi dsouza,
So, this is better, but still not quite right.  So, at the moment, I have a file at:
/Users/lee/Documents/project/files/images/example.png

I pass the path of:
./files/images

This should ideally zip images so the zip contains:
images -> example.png

However, instead, it contains:
files -> images -> example.png

Thanks,
Lee

I based the implementation on how zip/tar commands work. when you pass relative path like that you get the same relative path as prefix. So I followed that same ideia.
That said, you can still achieve that using the rename function:
root = Path.expand("files/image")
...
|> Zipflow.OS.dir_entry("./files/image", dir, [rename: & Path.relative_to(&1, root)])

Sounds reasonable?
~dsouza

Hi dsouza,
If I do that, it actually goes back to storing the full path /Users/lee/..., rather than just the immediate directory.
Thanks,
Lee

It should work. That is how I've implemented the relative paths in the last commit.
Probably the root is not a proper parent of the files in that rename function I supose. Can you share that part of the code? I can help you debugging it. Also, if you don't mind, would you IO.inspect both &1 and root variables?
Thanks,
~dsouza

Hi Lazarus404,
do you need any more help/change with this? Can we close it?
Thanks,
~dsouza

Hi,
Please keep it open for now.  I've been rushed off my feet and haven't had
time to debug it.  I'll try to get to it today and will update you.
Regards,
Lee
On Tue, 18 Oct 2016 at 02:50 Diego Souza<EMAIL_ADDRESS>wrote:

Hi Lazarus404,
do you need any more help/change with this? Can we close it?
Thanks,
~dsouza
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dgvncsz0f/zipflow/issues/2#issuecomment-254384430,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATGTJ0uGaqCH3xBodhhbKQQVdBw_iK6ks5q1CXKgaJpZM4J8EQd
.

Sure, take your time. Just let me know if you need any more help!
~dsouza

Hey dsouza,
This can be closed. It's all good. I think it might be worth adding this to the Readme for working with Phoenix file downloads.
Download directory
def download_path(conn, path) do
    conn = conn
      |> put_resp_content_type(Plug.MIME.type("zip"))
      |> send_chunked(200)
    chunk_file = fn d ->
      {:ok, conn} = chunk(conn, d)
    end
    basepath = Path.absname(path)
    rename = &Path.relative_to(&1, basepath)
    Zipflow.Stream.init
      |> Zipflow.OS.dir_entry(chunk_file, path, [rename: rename])
      |> Zipflow.Stream.flush(chunk_file)
    conn
  end

Download list of paths
def download_path_list(conn, paths) do
    basepath = paths |> List.first() |> Path.dirname() |> Path.absname()
    conn = conn
      |> put_resp_content_type(Plug.MIME.type("zip"))
      |> put_resp_header("content-disposition", "attachment; filename=#{Path.basename(basepath)}.zip")
      |> send_chunked(200)
    chunk_file = fn d ->
      {:ok, conn} = chunk(conn, d)
    end
    rename = &Path.relative_to(&1, basepath)
    context = Zipflow.Stream.init
    Enum.reduce(paths, context, fn(path, ctx) ->
      path = Path.absname(path)
      if File.dir?(path),
        do: Zipflow.OS.dir_entry(ctx, chunk_file, path, [rename: rename]),
      else: Zipflow.OS.file_entry(ctx, chunk_file, rename.(path), path)
    end)
      |> Zipflow.Stream.flush(chunk_file)
    conn
  end

Thanks for the great library!
Lee

nice! thanks!


Remove version: 8x8.VirtualOfficeDesktop version <IP_ADDRESS>

Consolidating into 8x8.Work. Related to: #135119
Microsoft Reviewers: Open in CodeFlow

URL: https://vod-updates.8x8.com/ga/work-64-msi-v8.6.3-1.msi
Status Code: 200
(Automated message - build 656)


fix few typos and copy/paster errors in README.md

fixing a few errors i found when testing install instructions

feel free to merge once the curl comments are addressed

updated


Fix/front end

@alex-colbeck This should fix the build and include all of the changes you were adding in PR #17
Some things I'll need to do, but can be done after this:

Stop the error about node-sass not being found when the app starts up in the container
I think the css assets in /public/css should probably be removed as they are generated when the application starts up
Sort out the listings page - card in Trello for this already
I noticed the styling on the 404 page isn't quite correct. The content is left aligned rather than centered
Add more detailed tests around the content of the data
Add more of the real data into the page as it is available from the db

:rocket: deployed to http://profiles-pr-22.dev.c2s.nhschoices.net

Coverage increased (+0.04%) to 94.915% when pulling 3b7d019c611dd4da43d2173f771eb8eb9c617386 on fix/front-end into 5b3f83035226700d416cfeeb98ab0713c5d2d6e2 on master.

@st3v3nhunt anything in here for me or was the tag for Alex T?

@alex-colbeck Ah ha, too much Alex! @ajthomascouk check it out ☝


Removing dependency on GAX

Codecov Report

Merging #2027 into master will decrease coverage by 0.13%.
The diff coverage is 29.78%.

@@             Coverage Diff              @@
##             master    #2027      +/-   ##
============================================
- Coverage     85.88%   85.75%   -0.14%
- Complexity     4992     4994       +2
============================================
  Files           456      457       +1
  Lines         19970    20017      +47
  Branches       2094     2109      +15
============================================
+ Hits          17152    17166      +14
- Misses         2107     2132      +25
- Partials        711      719       +8

Impacted Files
Coverage Δ
Complexity Δ

...egen/transformer/go/GoGapicSurfaceTransformer.java
99.07% <ø> (ø)
38 <0> (ø)
:arrow_down:

.../api/codegen/config/DiscoGapicInterfaceConfig.java
53.33% <ø> (ø)
23 <0> (ø)
:arrow_down:

...i/codegen/viewmodel/RetryParamsDefinitionView.java
100% <ø> (ø)
2 <0> (ø)
:arrow_down:

...i/codegen/viewmodel/RetryConfigDefinitionView.java
77.77% <ø> (ø)
2 <0> (ø)
:arrow_down:

...degen/transformer/RetryDefinitionsTransformer.java
84% <ø> (ø)
11 <0> (ø)
:arrow_down:

...oogle/api/codegen/config/GapicInterfaceConfig.java
76.86% <ø> (ø)
46 <0> (ø)
:arrow_down:

...a/com/google/api/codegen/config/RetrySettings.java
29.78% <29.78%> (ø)
2 <2> (?)

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 2c541a4...6322d7e. Read the comment docs.

As discussed offline, I removed RetrySettings altogether and just used the proto-generated class directly. Now we have a net removal of lines! PTAL


Add callbacks for a specific/all state(s)

What would that feature address
It is not possible to give a callback function to change the state of one user or for all the users. For example, it will allow the user to add a callback function to Taipy Core jobs and scenarios. Like this, the user's state or all the states "can be warned" of any changes in the backend through this callback.
Description of the ideal solution
The ideal solution will be to provide a way to create this callback either to callback a specific state or all the states. It should be compatible with the backend callbacks (subscribers of jobs/scenarios). It will also be ideal to stay close to the format of the other Gui callbacks (on_change/on_action...).
Caveats
Other options
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%
[ ] Propagate any change on the demos and run all of them to ensure there is no breaking change
[ ] Ensure any change is well documented

We need to:

add a Gui method to get a session id that can be provided to a backend callback (ie serializable)
add a Gui method to modify the State given a session id
allow for broadcast (modify state for all sessions)

@FabienLelaquais @dinhlongviolin1 What are your thoughts ?

This version is not directly serializable, one has to use a workaround with Taipy-core:
val = 1

def user_callback(state: State, *args):
    print(f"In user_callback(state, {args})")
    state.val = state.val * 10

suscribe_cb = None

def on_serializable_callback():
    if callable(suscribe_cb):
        suscribe_cb("from serializable_callback")

def on_init(state: State):
    suscribe_cb = state._gui.get_callback(user_callback)
    subscribe(on_serializable_callback) # from taipy-core

the user code would look like:
from taipy.Gui import Gui, State, get_context_id, invoke_state_callback

aGui = Gui(some_md)

def a_user_callback(state: State, *args):
    state.val = 10
    notify(state, "I", f"scenario {args[0]} is done")

def a_serializable_callback(secnario, job, context_id: str):
    invoke_state_callback(aGui, context_id, user_callback, scenario, job)

def on_init(state: State):
    scenario.subscribe(a_serializable_callback, {context_id=get_context_id(state)

aGui.run()


L930 Odd Issues

I have 3x L930 LED Tapo Light Strips outdoors in waterproof track. {1x 10m the 5m+5m version and 2x 5m versions}
This is what is suppose to happen after I created a SCENE for each action on Home Assistant.
In automations the following happens.
1: Sunset - Lights turn on to 60% brightness with color temp 2500k [Seems to work but occasionally it picks the wrong color]
2: If motion sensor activates then lights go 80% bright (also 2500k) and return to 60% after 1 min [This fails to work most of the time by not setting to 80% (100% instead) or going to wrong color or flash 100% for 1 second and not change or not activating at all or not returning to 60%]
3: Sunrise - Lights turn off [This works perfectly]
If I manually control via the Home Assistant integration it works most of the time but often it will flash bright for 1sec and not change.
I also tried using preset effects instead but it does the same thing at random.
Other lights with same automations and scenes all work like a peach.
There is something funny with the controlling of the L930's
Help - SOS - Can't remove these now as they took ages to physically install.

Updated to v1.6 but no improvements for L930
Just need to automate a scene change where the brightness actually changes and ultimately I can set a color temp.
Anyone else with the L930 that knows of a solution?

I habe similar problems with the L530 bulbs. They only seem to work randomly with scenes and automations, most of the time they just witch on but dont adapt brightness and/or color settings. I cant find a reproducible pattern yet. When adressed via the Android Tapo App, all bulbs work as expected.

Can you provide the scene code?

name: 'Master: Warmes Licht'   entities:     **light.lampe_f1:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       color_mode: color_temp       brightness: 255       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       friendly_name: Lampe F1       supported_features: 0       color_temp_kelvin: 2500       color_temp: 400       state: 'on'**     **light.lampe_f2:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       friendly_name: Lampe F2       supported_features: 0       color_mode: color_temp       brightness: 255       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       color_temp_kelvin: 2500       color_temp: 400       state: 'on'     switch.stehlampe_am_fenster:       friendly_name: 'Stehlampe am Fenster '       state: 'on'     switch.projektor:       current: true       raw_state: true       friendly_name: Stehlampe am Schreibtisch       state: 'on'**     light.schreibtischlampe:       min_color_temp_kelvin: 2702       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 370       effect_list: []       supported_color_modes:       - color_temp       - hs       color_mode: color_temp       brightness: 255       hs_color:       - 28.391       - 65.659       rgb_color:       - 255       - 166       - 87       xy_color:       - 0.526       - 0.387       raw_state: true       friendly_name: Schreibtischlampe       supported_features: 23       color_temp_kelvin: 2702       color_temp: 370       state: 'on'     light.stehlampe_an_der_couch:       min_color_temp_kelvin: 2702       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 370       effect_list: []       supported_color_modes:       - color_temp       - hs       color_mode: color_temp       brightness: 255       hs_color:       - 28.391       - 65.659       rgb_color:       - 255       - 166       - 87       xy_color:       - 0.526       - 0.387       raw_state: true       friendly_name: Stehlampe an der Couch       supported_features: 23       color_temp_kelvin: 2702       color_temp: 370       state: 'on'     light.couchecke:       min_color_temp_kelvin: 2702       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 370       effect_list: []       supported_color_modes:       - color_temp       - hs       color_mode: color_temp       brightness: 255       hs_color:       - 28.391       - 65.659       rgb_color:       - 255       - 166       - 87       xy_color:       - 0.526       - 0.387       raw_state: true       friendly_name: Couchecke       supported_features: 23       color_temp_kelvin: 2702       color_temp: 370       state: 'on'     **light.weisse_kugel:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       friendly_name: Weiße Kugel       supported_features: 0       color_mode: color_temp       brightness: 255       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       color_temp_kelvin: 2500       color_temp: 400       state: 'on'**

name: 'Master: Warmes Licht'
entities:
light.lampe_f1:
min_color_temp_kelvin: 2500
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 400
supported_color_modes:
- brightness
- color_temp
- hs
- onoff
color_mode: color_temp
brightness: 255
hs_color:
- 28.874
- 72.522
rgb_color:
- 255
- 159
- 70
xy_color:
- 0.546
- 0.389
friendly_name: Lampe F1
supported_features: 0
color_temp_kelvin: 2500
color_temp: 400
state: 'on'
light.lampe_f2:
min_color_temp_kelvin: 2500
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 400
supported_color_modes:
- brightness
- color_temp
- hs
- onoff
friendly_name: Lampe F2
supported_features: 0
color_mode: color_temp
brightness: 255
hs_color:
- 28.874
- 72.522
rgb_color:
- 255
- 159
- 70
xy_color:
- 0.546
- 0.389
color_temp_kelvin: 2500
color_temp: 400
state: 'on'
switch.stehlampe_am_fenster:
friendly_name: 'Stehlampe am Fenster '
state: 'on'
switch.projektor:
current: true
raw_state: true
friendly_name: Stehlampe am Schreibtisch
state: 'on'
light.schreibtischlampe:
min_color_temp_kelvin: 2702
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 370
effect_list: []
supported_color_modes:
- color_temp
- hs
color_mode: color_temp
brightness: 255
hs_color:
- 28.391
- 65.659
rgb_color:
- 255
- 166
- 87
xy_color:
- 0.526
- 0.387
raw_state: true
friendly_name: Schreibtischlampe
supported_features: 23
color_temp_kelvin: 2702
color_temp: 370
state: 'on'
light.stehlampe_an_der_couch:
min_color_temp_kelvin: 2702
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 370
effect_list: []
supported_color_modes:
- color_temp
- hs
color_mode: color_temp
brightness: 255
hs_color:
- 28.391
- 65.659
rgb_color:
- 255
- 166
- 87
xy_color:
- 0.526
- 0.387
raw_state: true
friendly_name: Stehlampe an der Couch
supported_features: 23
color_temp_kelvin: 2702
color_temp: 370
state: 'on'
light.couchecke:
min_color_temp_kelvin: 2702
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 370
effect_list: []
supported_color_modes:
- color_temp
- hs
color_mode: color_temp
brightness: 255
hs_color:
- 28.391
- 65.659
rgb_color:
- 255
- 166
- 87
xy_color:
- 0.526
- 0.387
raw_state: true
friendly_name: Couchecke
supported_features: 23
color_temp_kelvin: 2702
color_temp: 370
state: 'on'
light.weisse_kugel:
min_color_temp_kelvin: 2500
max_color_temp_kelvin: 6535
min_mireds: 153
max_mireds: 400
supported_color_modes:
- brightness
- color_temp
- hs
- onoff
friendly_name: Weiße Kugel
supported_features: 0
color_mode: color_temp
brightness: 255
hs_color:
- 28.874
- 72.522
rgb_color:
- 255
- 159
- 70
xy_color:
- 0.546
- 0.389
color_temp_kelvin: 2500
color_temp: 400
state: 'on'
Lights integrated via Tapo are marked in bold.

And here is my scene code:
- id: '1675809517516'   name: LED Strips ON   entities:     light.driveway_garage_led_strip:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       effect_list:       - aurora       - bubbling cauldron       - christmas       - candy cane       - flicker       - grandma's christmas lights       - hanukkah       - haunted mansion       - icicle       - lightning       - ocean       - rainbow       - raindrop       - spring       - sunrise       - sunset       - valentines       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       color_mode: color_temp       brightness: 128       color_temp_kelvin: 2500       color_temp: 400       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       friendly_name: LED Strips       supported_features: 4       state: 'on'     light.driveway_led_right_side:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       effect_list:       - aurora       - bubbling cauldron       - christmas       - candy cane       - flicker       - grandma's christmas lights       - hanukkah       - haunted mansion       - icicle       - lightning       - ocean       - rainbow       - raindrop       - spring       - sunrise       - sunset       - valentines       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       color_mode: color_temp       brightness: 128       color_temp_kelvin: 2500       color_temp: 400       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       friendly_name: LED Right        supported_features: 4       state: 'on'     light.driveway_led_strip_left:       min_color_temp_kelvin: 2500       max_color_temp_kelvin: 6535       min_mireds: 153       max_mireds: 400       effect_list:       - aurora       - bubbling cauldron       - christmas       - candy cane       - flicker       - grandma's christmas lights       - hanukkah       - haunted mansion       - icicle       - lightning       - ocean       - rainbow       - raindrop       - spring       - sunrise       - sunset       - valentines       supported_color_modes:       - brightness       - color_temp       - hs       - onoff       color_mode: color_temp       brightness: 128       color_temp_kelvin: 2500       color_temp: 400       hs_color:       - 28.874       - 72.522       rgb_color:       - 255       - 159       - 70       xy_color:       - 0.546       - 0.389       friendly_name: LED Strip Left       supported_features: 4       state: 'on'

Version 1.6.1 should fix this issue.


ACHA School Name Size

Sizing for the school name should if overflows on width scale down such that it fits.

Rider University should scale down to fit within the color box


fix(.github): Point at correct action

Sorry, I forgot to add the import :(

Codecov Report

Merging #1335 (ceb71b9) into main (a59ac5c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1335   +/-   ##
=======================================
  Coverage   55.29%   55.29%
=======================================
  Files         176      176
  Lines       10633    10633
=======================================
  Hits         5880     5880
  Misses       4170     4170
  Partials      583      583

Impacted Files
Coverage Δ

nodebuilder/p2p/module.go
93.54% <0.00%> (ø)

nodebuilder/p2p/routing.go
66.66% <0.00%> (ø)

nodebuilder/gateway/flags.go
75.67% <0.00%> (ø)

nodebuilder/gateway/module.go
15.78% <0.00%> (ø)

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


pluginVerifier doesn't fail when compatibility issues are found

In my project, I have:
ideaVersion=2019.2.4

pluginSinceBuild=192.5728.98
pluginUntilBuild=203.*
pluginVerifierIdeVersions=2019.2.4,2019.3.5,2020.1.4,2020.2.4,203.5981.114

When running the pluginVerifier, I get told that the plugin is compatible with 2020.1.4, 2020.2.4, and 203.5981.114; but that it's not compatible with 2019.2.4, and 2019.3.5. Yet, the task completes and I get a BUILD SUCCESSFUL result.
I'd expect the build to fail if any compatibility issues are found though.
CC @hsz — you know the project I'm talking about :)

There's a possibility to configure the failure level using property called failureLevel. 🙃
I'll mark it as a duplicate of  #557 - docs should be extended a bit.

TIL, thanks!


Vue-Multiselect loses focus when Vuex forces re-render by using Vue.set() or object.assign()

Reproduction Link
The above jsfiddle doesn't seem to have vuex support, it would be great if one with Vuex support is provided
Steps to reproduce

Create a store with selected state for example.
state: {
selected: {}
}
commit a mutation to add a dynamic property 'value'
selected: {
value: []
}
Since 'selected.value' was not created as part of the initial store, it won't be reactive. (THIS IS IMPORTANT)
https://vuejs.org/v2/guide/reactivity.html
Use Vue.set(state.selected, key, value) to trigger Vue update on this key.
Wire up @select and @remove to commit mutations to update Store's selected.value
Set up property :close-on-select to false

Expected behaviour

On a select/remove event, close event is not triggered
Component does not lose focus from the text field

Actual behaviour

On a select/remove event, close event is triggered
Component does lose focus from the text field

You can create a codesandbox to showcase Vuex related behaviour.


Parallelize compilation

Compilation is broken down into four distinct steps: parse, compile, inject, wrap. Each step only relies on the output from the previous step, and spits out an updated node for that step. This should be very straightforward to parallelize with multiprocess (it's definitely CPU-bound).

we get this for free by compiling as-we-run instead of upfront. closing


FindEndpoints_LookedUpByCriteria_MultipleMatches weirdness

https://github.com/aspnet/Routing/commit/25b5ab2c3980569907d7c467dff185d00b9fbd64#diff-d27ab64c4b8a9e9cc5f4487c4b7f2864R227
FindEndpoints_LookedUpByCriteria_MultipleMatches is producing odd results. The same endpoint is returned 3 times. Is this expected?
Also the assert in the test is duplicated.
// @drieseng

I reverted to older versions and this issue predates this test.

I'm not certain there is an issue here but it feels odd that if can give a route a name but no required route values, that the route is returned when finding endpoints by route values.
A fix could be to never return an endpoint with null required route values when find endpoints by route values.
This behavior exists in 2.2 but it should not effect anyone using MVC because MVC endpoints always have required values (area/controller/action or page).

@JamesNK Sorry if the tests are flawed. I just created tests that allowed me to test all code paths. I should perhaps get more familiar with routing :p

No problem. I think the endpoints and metadata being created for the tests combined with the current behavior creates results that are unexpected.


feat: helia supports additional byteProviders

Work for addressing issues in https://github.com/ipfs/helia/issues/274.
The direction I'm thinking with this is:

We have ByteProvider and BlockProviders
Users are given a helper function to create trustless-http-gateway byte-providers
Users provide byteProviders array in helia instantiation (which will be used to construct BlockProviders that are passed a blockstore, and cannot be edited)
NetworkedStorage, which is what calls bitswap, was slightly refactored to call both bitswap & any given blockProviders, wrapping and listening to the given signal so that we can cancel any outstanding requests and prevent additional requests if any byteProvider returns quickly enough
Users have no control over BlockProvider instances (because a blockstore is required), but shouldn't need to (correct me if i'm wrong)

This is still a WIP, but confirmed it's working locally with:
import { createHelia } from 'helia'
import { CID } from 'multiformats/cid'

const node = await createHelia()

const blocks = await node.blockstore.get(CID.parse('QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D'), {signal: AbortSignal.timeout(10000)})
console.log('done')

Output:
  helia:gateway-block-provider getting block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://dweb.link +0ms
  helia:gateway-block-provider getting block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://cf-ipfs.com +2ms
  helia:gateway-block-provider getting block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://4everland.io +0ms
  helia:gateway-block-provider getting block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://w3s.link +1ms
  helia:gateway-block-provider getting block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://cloudflare-ipfs.com +1ms
  helia:gateway-block-provider got block for QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D from https://dweb.link +229ms

This is great!  I've taken some of the ideas here and opened https://github.com/ipfs/helia/pull/280 which I think is a bit simpler.  Let me know what you think.


Silent exception when using TFLiteConverter

I am trying to convert multiple concrete functions to TFLite using the TFLiteConverter with a code looking like this
converter = tf.lite.TFLiteConverter.from_concrete_functions([
    tf.function(tf_moondream.call).get_concrete_function(inp, empty_cache),
    tf.function(tf_moondream.empty_cache).get_concrete_function(),
    tf.function(tf_moondream.compute_embeddings).get_concrete_function(inp),
], tf_moondream)
converter.target_spec.supported_ops = [
    tf.lite.OpsSet.TFLITE_BUILTINS, # enable TensorFlow Lite ops.
    tf.lite.OpsSet.SELECT_TF_OPS, # enable TensorFlow ops.
]
converter.allow_custom_ops = True
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()

However this fails at the last line with
/venv/lib64/python3.9/site-packages/tensorflow/lite/python/lite.py", line 1393, in _freeze_concrete_function
    raise ValueError("This converter can only convert a single "
ValueError: This converter can only convert a single ConcreteFunction. Converting multiple functions is under development.

But that is clearly not the real reason as I managed to use the exact same conversion code for saving a TFLite model with multiple concrete functions for another model, in the same project.
By looking at the conversion process with the debugger, I managed to get to this line:
https://github.com/tensorflow/tensorflow/blob/7c487a387b2120d5ddcca6040210ccb4243b7dbd/tensorflow/lite/python/lite.py#L1871C12-L1871C21
After this, the converter silently falls back to another conversion process that does not support saving multiple concrete functions.
The error that is silenced is this one:
TypeError: Failed to convert elements of (None, 1, 10, 10) to Tensor. Consider casting elements to a supported type. See https://www.tensorflow.org/api_docs/python/tf/dtypes for supported TF dtypes.

    Call arguments received by layer "phi_model" "                 f"(type PhiModel):
      • inputs_embeds=tf.Tensor(shape=(None, 10, 2048), dtype=float32)
      • past_key_values=tf.Tensor(shape=(None, 2, 1, 32, 0, 64), dtype=float32)

I am also interested in knowing why this silent error is thrown in the first place, I don't know why a dimension is added with None in the first place.
Expected behavior
The conversion process should either fall back to a method that supports saving multiple concrete function, or better warn the user why it is not possible.
System information
tensorflow version: 2.10.1

Hi @BenCrulis ,
If possible , can you please provide me the complete code to replicate the issue, along with the model or the model creation code.

Hi @sawantkumar ,
The code and model are quite big so it would not fit in a code block, but I will try to write a minimal reproducible example that replicates the issue, if I manage to identify it.
It seems it has something to do with some code being allowed as a saved model object but not as a TFLite model, or something like that.


Error in running pre-compiled binary on tensorflow

System information
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10 (64-bit)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: No
TensorFlow installed from (source or binary): Source
TensorFlow version:1.7 - 1.9
Python version:3.6
Installed using virtualenv? pip? conda?: Git
Bazel version (if compiling from source):No
GCC/Compiler version (if compiling from source): CMake : 3.10.1
CUDA/cuDNN version: No
GPU model and memory: No
Describe the problem
I am trying to run the pre-compiled tensor flow binaries and run the tensorflow example.
I know the support for cmake have been depreciated but i am using  an old version of tensorflow
so need some help in regards.
Provide the exact sequence of commands / steps that you executed before running into the problem

Downloading the pre-compiled binary for windows.
Included the project in qt-creator
Build the project

Any other info / logs:
main.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl tensorflow::ConfigProto::~ConfigProto(void)" (??1ConfigProto@tensorflow@@UEAA@XZ) referenced in function "public: __cdecl tensorflow::SessionOptions::~SessionOptions(void)" (??1SessionOptions@tensorflow@@QEAA@XZ)
main.obj : error LNK2019: unresolved external symbol "public: __cdecl tensorflow::SessionOptions::SessionOptions(void)" (??0SessionOptions@tensorflow@@QEAA@XZ) referenced in function main
main.obj : error LNK2019: unresolved external symbol "class tensorflow::Status __cdecl tensorflow::NewSession(struct tensorflow::SessionOptions const &,class tensorflow::Session * *)" (?NewSession@tensorflow@@YA?AVStatus@1@AEBUSessionOptions@1@PEAPEAVSession@1@@Z) referenced in function main
debug\tensorflowcppNew.exe : fatal error LNK1120: 4 unresolved externals

The standard Python binaries exist only for Python 3.5. Please take a look at TensorFlow CMake build to know more.

@asimshankar knows more about the c++ libraries.

Unfortunately, I am not familiar with qt-creator or Windows development enough to provide any useful thoughts here. A cursory look at the error messages suggest that somehow your project isn't linking against the TensorFlow C libraries (tensorflow.dll on Windows).
That said, I'm confused about the exact setup here -  how did you install TensorFlow (pip / conda / something else?)? In the questionnaire above, the answer is "git".
Marking as "Community Support" in case other Windows users who use qt-creator can chime in.

@asimshankar : In qt creator you can specify the compiler to use so i am using MSVC compiler.
It's similar using visual studio.
I was able to run the binary build using sse2. The problem is arising with avx2 which i am currently
trying to figure out.


Error during installation

Microsoft PowerToys version
0.59.1 and 0.61.1
Running as admin

[X] Yes

Area(s) with issue?
Installer
Steps to reproduce
I am having problems for setup on some machines, others not....All machines having Windows 10 pro 21H1.
During Microsoft Edge update i get the error:
0x80042193
Installing this version: PowerToysSetup-0.0.1-x64-unsigned.zip
all is fine....no error got....but i think is a very very old version [0.0.1]
What is happening?
✔ Expected Behavior
I want install the most updated version (0.61.1) with no errors.
❌ Actual Behavior
crash during install on some machines others not
Other Software
I think Powertoys interat with .NET & Microsoft Edge....could be some problem with these tools?

[1900:29EC][2022-08-03T18:55:49]i001: Burn v<IP_ADDRESS>26, Windows v10.0 (Build 19043: Service Pack 0), path: C:\WINDOWS\Temp{A3A793B0-85B8-4BEC-AF71-CD84B68F30CC}.cr\PowerToys (Microsoft) 00.59.1.exe
[1900:29EC][2022-08-03T18:55:49]i000: Initializing string variable 'InstallFolder' to value '[ProgramFiles64Folder]PowerToys'
[1900:29EC][2022-08-03T18:55:49]i000: Initializing string variable 'MsiLogFolder' to value '[LocalAppDataFolder]\Microsoft\PowerToys'
[1900:29EC][2022-08-03T18:55:49]i000: Initializing version variable 'DetectedPowerToysVersion' to value '<IP_ADDRESS>'
[1900:29EC][2022-08-03T18:55:49]i000: Initializing version variable 'TargetPowerToysVersion' to value '0.59.1'
[1900:29EC][2022-08-03T18:55:49]i000: Initializing version variable 'DetectedWindowsBuildNumber' to value '0'
[1900:29EC][2022-08-03T18:55:49]i009: Command Line: '"-burn.clean.room=\FS\BIBLIOTECA DE software\Powertoys (Microsoft)\PowerToys (Microsoft) 00.59.1.exe" -burn.filehandle.attached=552 -burn.filehandle.self=560'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'WixBundleOriginalSource' to value '\FS\BIBLIOTECA DE software\Powertoys (Microsoft)\PowerToys (Microsoft) 00.59.1.exe'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value '\FS\BIBLIOTECA DE software\Powertoys (Microsoft)'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'WixBundleLog' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549.log'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'WixBundleName' to value 'PowerToys (Preview) x64'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'WixBundleManufacturer' to value 'Microsoft Corporation'
[1900:2534][2022-08-03T18:55:49]i000: Setting numeric variable 'WixStdBALanguageId' to value 1033
[1900:2534][2022-08-03T18:55:49]i000: Setting version variable 'WixBundleFileVersion' to value '<IP_ADDRESS>'
[1900:29EC][2022-08-03T18:55:49]i100: Detect begin, 4 packages
[1900:29EC][2022-08-03T18:55:49]i000: Product or related product not found: {42B84BF7-5FBF-473B-9C8B-049DC16F7708}
[1900:29EC][2022-08-03T18:55:49]i000: Setting version variable 'DetectedPowerToysVersion' to value '<IP_ADDRESS>'
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'DetectedWindowsBuildNumber' to value '19043'
[1900:29EC][2022-08-03T18:55:49]i000: File search: wfs9A13C987D2C1FBDA7EFBEF026CDF8634, did not find path: C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\6.0.5\System.Xaml.dll
[1900:29EC][2022-08-03T18:55:49]i000: Setting numeric variable 'HasDotnet605' to value 0
[1900:29EC][2022-08-03T18:55:49]i000: Registry key not found. Key = 'Software\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
[1900:29EC][2022-08-03T18:55:49]i000: Setting numeric variable 'HasWebView2PerUser' to value 0
[1900:29EC][2022-08-03T18:55:49]i000: Registry key not found. Key = 'SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
[1900:29EC][2022-08-03T18:55:49]i000: Setting numeric variable 'HasWebView2PerMachine' to value 0
[1900:29EC][2022-08-03T18:55:49]i000: Setting string variable 'DetectedVCRedistVersion' to value '0'
[1900:29EC][2022-08-03T18:55:49]i052: Condition 'HasDotnet605' evaluates to false.
[1900:29EC][2022-08-03T18:55:49]i052: Condition 'HasWebView2PerMachine OR HasWebView2PerUser' evaluates to false.
[1900:29EC][2022-08-03T18:55:49]i052: Condition 'DetectedVCRedistVersion >= 32' evaluates to false.
[1900:29EC][2022-08-03T18:55:49]i101: Detected package: DotnetRuntime6, state: Absent, cached: None
[1900:29EC][2022-08-03T18:55:49]i101: Detected package: WebView2, state: Absent, cached: None
[1900:29EC][2022-08-03T18:55:49]i101: Detected package: VCRedist, state: Absent, cached: Complete
[1900:29EC][2022-08-03T18:55:49]i101: Detected package: PowerToysSetup_0.59.1_x64.msi, state: Absent, cached: Complete
[1900:29EC][2022-08-03T18:55:49]i052: Condition 'TargetPowerToysVersion >= DetectedPowerToysVersion OR WixBundleInstalled' evaluates to true.
[1900:29EC][2022-08-03T18:55:49]i052: Condition 'DetectedWindowsBuildNumber >= 18362 OR WixBundleInstalled' evaluates to true.
[1900:29EC][2022-08-03T18:55:49]i199: Detect complete, result: 0x0
[1900:2534][2022-08-03T18:55:54]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 1
[1900:29EC][2022-08-03T18:55:54]i200: Plan begin, 4 packages, action: Install
[1900:29EC][2022-08-03T18:55:54]w321: Skipping dependency registration on package with no dependency providers: DotnetRuntime6
[1900:29EC][2022-08-03T18:55:54]i000: Setting string variable 'WixBundleLog_DotnetRuntime6' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549_000_DotnetRuntime6.log'
[1900:29EC][2022-08-03T18:55:54]w321: Skipping dependency registration on package with no dependency providers: WebView2
[1900:29EC][2022-08-03T18:55:54]i000: Setting string variable 'WixBundleLog_WebView2' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549_001_WebView2.log'
[1900:29EC][2022-08-03T18:55:54]w321: Skipping dependency registration on package with no dependency providers: VCRedist
[1900:29EC][2022-08-03T18:55:54]i000: Setting string variable 'WixBundleLog_VCRedist' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549_002_VCRedist.log'
[1900:29EC][2022-08-03T18:55:54]i000: Setting string variable 'WixBundleRollbackLog_PowerToysSetup_0.59.1_x64.msi' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549_003_PowerToysSetup_0.59.1_x64.msi_rollback.log'
[1900:29EC][2022-08-03T18:55:54]i000: Setting string variable 'WixBundleLog_PowerToysSetup_0.59.1_x64.msi' to value 'D:\USERS\jhenriq\AppData\Local\Temp\powertoys-bootstrapper-msi-0.59.1_20220803185549_003_PowerToysSetup_0.59.1_x64.msi.log'
[1900:29EC][2022-08-03T18:55:54]i201: Planned package: DotnetRuntime6, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[1900:29EC][2022-08-03T18:55:54]i201: Planned package: WebView2, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[1900:29EC][2022-08-03T18:55:54]i201: Planned package: VCRedist, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: No, uncache: No, dependency: None
[1900:29EC][2022-08-03T18:55:54]i201: Planned package: PowerToysSetup_0.59.1_x64.msi, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: No, uncache: No, dependency: Register
[1900:29EC][2022-08-03T18:55:54]i299: Plan complete, result: 0x0
[1900:29EC][2022-08-03T18:55:54]i300: Apply begin
[1900:29EC][2022-08-03T18:55:54]i010: Launching elevated engine process.
[1900:29EC][2022-08-03T18:55:54]i011: Launched elevated engine process.
[1900:29EC][2022-08-03T18:55:54]i012: Connected to elevated engine.
[4134:2A24][2022-08-03T18:55:54]i358: Pausing automatic updates.
[4134:2A24][2022-08-03T18:55:54]i359: Paused automatic updates.
[4134:2A24][2022-08-03T18:55:54]i360: Creating a system restore point.
[4134:2A24][2022-08-03T18:55:54]w363: Could not create system restore point, error: 0x80070422. Continuing...
[4134:2A24][2022-08-03T18:55:54]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{799616eb-c851-42bb-806a-a8a136f32dda}, options: 0x7, disable resume: No
[4134:2A24][2022-08-03T18:55:54]i000: Caching bundle from: 'C:\WINDOWS\Temp{6533693A-E2D0-4558-A571-E0577B3F8EC2}.be\PowerToysSetup-0.59.1-x64.exe' to: 'C:\ProgramData\Package Cache{799616eb-c851-42bb-806a-a8a136f32dda}\PowerToysSetup-0.59.1-x64.exe'
[4134:2A24][2022-08-03T18:55:54]i320: Registering bundle dependency provider: {799616eb-c851-42bb-806a-a8a136f32dda}, version: <IP_ADDRESS>
[4134:2A24][2022-08-03T18:55:54]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{799616eb-c851-42bb-806a-a8a136f32dda}, resume: Active, restart initiated: No, disable resume: No
[1900:3E00][2022-08-03T18:55:54]w343: Prompt for source of package: DotnetRuntime6, payload: DotnetRuntime6, path: \FS\BIBLIOTECA DE software\Powertoys (Microsoft)\windowsdesktop-runtime-6.0.5-win-x64.exe
[1900:3E00][2022-08-03T18:55:54]i338: Acquiring package: DotnetRuntime6, payload: DotnetRuntime6, download from: https://download.visualstudio.microsoft.com/download/pr/5681bdf9-0a48-45ac-b7bf-21b7b61657aa/bbdc43bc7bf0d15b97c1a98ae2e82ec0/windowsdesktop-runtime-6.0.5-win-x64.exe
[4134:0718][2022-08-03T18:56:04]i305: Verified acquired payload: DotnetRuntime6 at path: C:\ProgramData\Package Cache.unverified\DotnetRuntime6, moving to: C:\ProgramData\Package Cache\B5B1819CCA753B070181F50411375B80412860A3\windowsdesktop-runtime-6.0.5-win-x64.exe.
[4134:0718][2022-08-03T18:56:04]i305: Verified acquired payload: WebView2 at path: C:\ProgramData\Package Cache.unverified\WebView2, moving to: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe.
[4134:0718][2022-08-03T18:56:04]i304: Verified existing payload: VCRedist at path: C:\ProgramData\Package Cache\47996AAB6A20DBBA69969C4B36F8FC718877751F\VCRedist-14.32.31326.exe.
[4134:0718][2022-08-03T18:56:05]i304: Verified existing payload: PowerToysSetup_0.59.1_x64.msi at path: C:\ProgramData\Package Cache{8881A0B0-BBCB-4171-8783-DBAE6F7158C8}v0.59.1\PowerToysSetup-0.59.1-x64.msi.
[4134:2A24][2022-08-03T18:56:05]i301: Applying execute package: DotnetRuntime6, action: Install, path: C:\ProgramData\Package Cache\B5B1819CCA753B070181F50411375B80412860A3\windowsdesktop-runtime-6.0.5-win-x64.exe, arguments: '"C:\ProgramData\Package Cache\B5B1819CCA753B070181F50411375B80412860A3\windowsdesktop-runtime-6.0.5-win-x64.exe" /install /quiet /norestart'
[1900:29EC][2022-08-03T18:56:06]i319: Applied execute package: DotnetRuntime6, result: 0x0, restart: None
[4134:2A24][2022-08-03T18:56:06]i301: Applying execute package: WebView2, action: Install, path: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe, arguments: '"C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819\MicrosoftEdgeWebview2Setup.exe" /silent /install'
[4134:2A24][2022-08-03T18:56:33]e000: Error 0x80042193: Process returned error: 0x80042193
[4134:2A24][2022-08-03T18:56:33]e000: Error 0x80042193: Failed to execute EXE package.
[1900:29EC][2022-08-03T18:56:33]e000: Error 0x80042193: Failed to configure per-machine EXE package.
[1900:29EC][2022-08-03T18:56:33]i319: Applied execute package: WebView2, result: 0x80042193, restart: None
[1900:29EC][2022-08-03T18:56:33]e000: Error 0x80042193: Failed to execute EXE package.
[4134:2A24][2022-08-03T18:56:33]i351: Removing cached package: WebView2, from path: C:\ProgramData\Package Cache\F7119E3AB3D5CB3ADCD9A57F0EC227F783695819
[4134:2A24][2022-08-03T18:56:33]i351: Removing cached package: DotnetRuntime6, from path: C:\ProgramData\Package Cache\B5B1819CCA753B070181F50411375B80412860A3
[4134:2A24][2022-08-03T18:56:33]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{799616eb-c851-42bb-806a-a8a136f32dda}, resume: None, restart: None, disable resume: No
[4134:2A24][2022-08-03T18:56:33]i330: Removed bundle dependency provider: {799616eb-c851-42bb-806a-a8a136f32dda}
[4134:2A24][2022-08-03T18:56:33]i352: Removing cached bundle: {799616eb-c851-42bb-806a-a8a136f32dda}, from path: C:\ProgramData\Package Cache{799616eb-c851-42bb-806a-a8a136f32dda}
[4134:2A24][2022-08-03T18:56:33]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{799616eb-c851-42bb-806a-a8a136f32dda}, resume: None, restart initiated: No, disable resume: No
[1900:29EC][2022-08-03T18:56:33]i399: Apply complete, result: 0x80042193, restart: None, ba requested restart:  No

Looks like the error is happening while trying to install WebView2. Can you please try to install it manually and then trying to install PowerToys again?
https://developer.microsoft.com/en-us/microsoft-edge/webview2/
https://go.microsoft.com/fwlink/p/?LinkId=2124703
/needinfo

Was having same issue, manually installing WebView2 allowed the PowerToys 0.61.1 installation to finish successfully.
Win 11 Home 21H2

Hi OKSasquatch, your method with previous installation of Webview2 worked fine!

Hi jaimecbernardo, that worked fine! Why need previous instalation of Webview2? Is it a bug of Powertoys setup

Is it a bug or not??

Hi @JH1957, The PowerToys installer tries to install WebView2, but something in your system seems to have disallowed it.


E523 occurred and bad cursor location, when type <C-R>= in clpum

$ vim -Nu NONE -c "set wmnu wim=popup"

typed
:set <Tab><C-R>=

Actual behavior:

E523 occurred
The cursor position is wrong.

Probably, We should prohibited <C-R>= when in clpum ?

Or cancel clpum?

Or cancel clpum?

Apply this.


Additional hardware effects ideas

[x] non-temporal stores
[x] multiple threads saturating the memory bus
[x] hardware prefetching with indexed accesses
[x] floating point handling (denormals etc.)
[x] 4k aliasing
[x] store buffer capacity
[ ] instruction cache misses
[ ] TLB misses
[ ] more multithreading examples (lock contention etc.)
[ ] vector instructions
[ ] critical word load
[ ] CUDA examples

some hardware effects I have come across:

[ ] loop fits (or does not) into Loop Stream Detector
[ ] loop/branch misalignment
[ ] macro-fusable ops split on cache line boundary

@martisch The third one sounds extra juicy :) But also very CPU-specific I guess. If you have more specific ideas on how to demonstrate those effects, please do share :)

@nicknash I took the liberty of adding this example myself, I mentioned your comment and blog post (which is very cool BTW :) ). https://github.com/Kobzol/hardware-effects/commit/c2627f838d6fa788866982cc9412c15fe5dcc4b6

@kobzol, that’s cool! It has been sitting on my todo list for much too long.


in the case of the mobile version, keyword searches disappear beyond the frame

overview
in the case of the mobile version, the width of Google AdSense ads is the same as the PC version, causing the keyword search to be pushed towards the right edge when the header menu is opened, leading it to disappear from the visible area (it can be viewed by scrolling to the right)
reference information
none

adjustments to ad width and display placement can be managed by modifying Google AdSense settings. However, there is no requirement for the keyword search to be aligned, so it will be left-aligned for all versions (for the PC version, tablet version, and mobile version)
furthermore, to achieve a cleaner display and simplify the styling, the following adjustments will also be made

temporarily hide the logo that serves as a link to the top page
modify the wording of the "BlogTop" link, which leads to the top page, to simply "Top"


Upgrade serde codegen dependencies.

The newer version of the serde_codegen crate avoids creating Deserialize instances which call Deserializer#visit, which isn't supported by some codecs (eg: bincode, for one).
It also upgrades some of the code-generation crates (eg: aster, quasi) which avoids some oddness on a project of mine.
If there's problem I can fix here, please give me a shout.
Thanks,

Thank you!


Wrong conversion for the equal sign

Hello,
apparently there are some problems with how the entity JSON used. There are conversions that consists of multiple codepoints, the notorious example being =⃥ here - (61 8421). It's simply generated as the first codepoint, that is, the equal sign, therefore equal signs can (and will) turn into =⃥ rather than correctly to =.
To avoid this, it would be good to use a list of codepoints rather than just one, or possibly use the grapheme-level representation on NQP level.

Sorry, this issue has fallen through the cracks.
Release 0.0.5 has this fixed.
Closing this issue now


Add multiqueue package to support multiple region deployment

TODO

[ ] Use mercari/go-circuitbreaker's state change hook
[ ] Weighted dispatcher

Moved to https://github.com/nabeken/aws-go-sqs/pull/19


Select a valid choice. That choice is not one of the available choices.

I've followed the docs on the integration as specified in README file.
Now, whenever I type an address, say, "10900 Euclid Ave, Cleveland, OH 44106, USA" I get an error "Select a valid choice. That choice is not one of the available choices."

Bitbucket: https://bitbucket.org/kmike/django-easy-maps/issue/2
Originally reported by: Ahmed Youssef
Originally created at: 2011-04-04T01:05:00.816

Yes, I'm trying to use it in the admin interface
Well, there's a property model related as defined
{{{
class Property(models.Model):
address=models.ForeignKey(Address)
....
}}}
and here's PropertyAdmin
{{{
class PropertyAdmin(admin.ModelAdmin):
list_display = ('ref', 'property_type', 'address', 'town', 'living_space', 'land_space', 'is_renting', 'price', 'published')
search_fields= ( 'is_renting', 'title', 'property_type', 'town', 'department', 'created_at')
date_hierarchy = 'created_at'
list_per_page=20
class form(forms.ModelForm):

    class Meta:
        widgets = {
            'address': AddressWithMapWidget({'class': 'vTextField'})
        }

}}}
Now, it appears that the address field puts the generated address id when i press [+] to add a new address.
How can I put the address not its id in the field ?
Thanks

Original comment by: Ahmed Youssef

It may be not clear from the readme, but address field should be CharField or TextField, not a ForeignKey to Address model.
Address model should be considered implementation detail. Its sole purpose is to avoid using geocoder for each request, that's a kind of persistent cache. Its description is included in readme only because it can be useful for custom map templates.
If text is changed in 'address' field then new Address instance will be auto-created on first map access.
Thanks for reporting this issue. I've just re-read the readme and it is indeed not clear what is 'address' field supposed to be.

Original comment by: Mikhail Korobov

The error seems to be from the ChoiceField or its subclass and there are no ChoiceFields mentioned in README. I've just entered this address to the form from one of my projects and it works fine ( http://pix.am/uMa8.png ).
Could you please provide more details? Are you using django admin? How is your 'address' field defined?

Original comment by: Mikhail Korobov

but how to use it as a foreign key, what would be the approach to have it as a property to another model?

Original comment by: Anonymous

Clarified readme. Fix #2.
→ <<cset 8ced16c04330>>

Original comment by: Mikhail Korobov


HTTPError: 403 Client Error

Traceback (most recent call last):
File "D:/python3.6/py/python-fortnite-api-wrapper/temp.py", line 16, in
stats = fortnite.battle_royale_stats(username=player_name, platform=Platform.pc)
File "D:\python3.6\py\python-fortnite-api-wrapper\pfaw\core.py", line 35, in battle_royale_stats
response = self.session.get(constants.battle_royale.format(player_id))
File "D:\python3.6\py\python-fortnite-api-wrapper\pfaw\core.py", line 120, in get
response.raise_for_status()
File "D:\venvs\simple\lib\site-packages\requests\models.py", line 935, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/stats/accountId/929a1a7c14504b36bb0f4275d6292ec8/bulk/window/alltime
Thank you for your project.I had a problem with the test.
The api is closed?
How can I solve it?

Seems to be a problem with your tokens. Going to close this for now. Feel free to message me on Discord for assistance on this.


Resolve several maintenance issues

Closes #59, which turned out not to be too much of an issue after all. In fact, I've set the redirection to >/dev/null instead of &>/dev/null, since command -v typically prints nothing when the command isn't found, and I'd like to see any error output if it ever comes to exist.
Closes #69. Note that in cases where the \n is concatenated with a string that contains a variable expansion, the single $'\n' must stand, because variable expansion does not take place within $'...'.
Closes #76.
Fixes a test failure on Cygwin. Because group read permission wasn't disabled, the test case set_bats_output_and_lines_from_file fails if permission denied failed on Cygwin. As a rule, it's probably best to always set ugo- in tests. (Also considering updating the octal chmod arguments to the ugo- variety. But not today.)
Fulfills part of #62. @go.split and @go.join may come in a future commit.

Coverage decreased (-0.006%) to 94.287% when pulling bc45bd3aabfdaf7db0d01d26c5cb103df9c0d2d2 on maintenance into 66a563377388f4ba39ca84a208d9d59c900af079 on master.

Coverage decreased (-0.05%) to 94.241% when pulling 99ab7805e6ef0a14568d8a100eec03bb2cb03631 on maintenance into 66a563377388f4ba39ca84a208d9d59c900af079 on master.

The breakage was due to a bug in Bash 4.2.25 (Travis's Bash version on Linux), and not fixed until 4.2.41, in which process substitutions did not have access to the temporary environment for a command. Moving IFS=',' to a local declaration in<EMAIL_ADDRESS>solves the problem, but emphasizes the need for a @go.split function as described in #62. I'll implement it and replace all IFS='...' read -ra invocations with it shortly to protect against the same bug.
See the message for commit 99ab7805e6ef0a14568d8a100eec03bb2cb03631 for the gory details of the root cause analysis.


Does Dashboard support adding WSL projects?

I've been using the VSCode Dashboard extension and it has been incredibly helpful. I was wondering if there's current support or plans to support adding WSL (Windows Subsystem for Linux) projects directly to the dashboard?
WSL has been a crucial part of my development workflow, and it would be fantastic to be able to integrate WSL projects directly into the Dashboard.

I've been using the VSCode Dashboard extension and it has been incredibly helpful. I was wondering if there's current support or plans to support adding WSL (Windows Subsystem for Linux) projects directly to the dashboard?
WSL has been a crucial part of my development workflow, and it would be fantastic to be able to integrate WSL projects directly into the Dashboard.

FYI, you can add the path manually by the following form:
vscode-remote://wsl+ubuntu/home/{name}/{your project folder}


Replace the MLH Fellowship logo with the MLH Prep logo

When you go to the project page, it shows the MLH Fellowship logo at the top. It would be great to replace this with the Prep logo and make sure that's used throughout the website!

Where can I get the Prep logo?


api: Add support to override region in PostPolicy.

This is needed for many applications which are generating
post policy form without having any access to the remote
storage and also wish to avoid making a network call.
This PR is in line with the change we allowed in minio-java
to override region when generating formData()

This is incorrect.. implementation decided with @abperiasamy to make it generic.


Fix old broken links and update for new repo

Update CONTRIBUTING.md and README.md to remove old broken links and fix links to point to the new repo

Looks good :+1:


mount controller but got error is not a class, and therefore cannot be instantiated

import 'dart:async';
import 'package:angel_framework/angel_framework.dart';
import './user_controller.dart';

Future configureServer(Angel app) async {
  await app.mountController<UserController>();

  /// Controllers will not function unless wired to the application!
}

user controller class
import 'package:angel_framework/angel_framework.dart';
import 'package:sqljocky5/sqljocky.dart';
import '../../model/user.dart';

@Expose("/users")
class UserController extends Controller {
  final MySqlConnection sqlConn;

  UserController(this.sqlConn);

  @Expose("/:user_id")
  getUser(String user_id) async {
    final userBean = new UserBean(sqlConn);
    User user = await userBean.find(user_id);

    return user;
  }

  // You can return a response handler, and have it run as well. :)
  // @Expose("/login")
  // login() => auth.authenticate('google');
}

Please paste your stack trace, as without it, it’s hard to diagnose the problem.

Unhandled exception:
UserController is not a class, and therefore cannot be instantiated.
#0      Container.make (package:angel_container/src/container.dart:136:7)
#1      Angel.mountController (package:angel_framework/src/core/server.dart:343:32)
#2      configureServer (package:project/src/routes/controller/controllers.dart:8:13)
<asynchronous suspension>
#3      Angel.configure.<anonymous closure> (package:angel_framework/src/core/server.dart:333:40)
#4      new Future.sync (dart:async/future.dart:224:31)
#5      Angel.configure (package:angel_framework/src/core/server.dart:333:19)
#6      configureServer.<anonymous closure> (package:project/src/routes/routes.dart:20:15)
<asynchronous suspension>
#7      Angel.configure.<anonymous closure> (package:angel_framework/src/core/server.dart:333:40)
#8      new Future.sync (dart:async/future.dart:224:31)
#9      Angel.configure (package:angel_framework/src/core/server.dart:333:19)
#10     createServer (package:project/app.dart:17:13)
<asynchronous suspension>
#11     HotReloader._generateServer (package:angel_hot/angel_hot.dart:133:19)
<asynchronous suspension>
#12     HotReloader.startServer (package:angel_hot/angel_hot.dart:158:21)
<asynchronous suspension>
#13     main (file:///path-to-project/bin/dev.dart:15:13)
<asynchronous suspension>
#14     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
#15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

It looks like you're trying to use controllers without reflection. In the dependency injection guide, there's mention of various ways to provide reflection to your application (most common way is dart:mirrors): https://docs.angel-dart.dev/v/2.x/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection
Otherwise, reflection won't work. It's necessary, because otherwise you can't read annotations like @Expose. By default, Angel includes a ThrowingReflector, which will cause an exception any time you try to use reflection. If you absolutely need to avoid reflection, just use plain route groups and you'll be more than fine.
Note that if you pass a logger to the Angel constructor, it'll print a big warning if you don't pass a reflector:
No `reflector` was passed to the Angel constructor, so reflection will not be available.
Features like controllers, constructor dependency injection, and `ioc` require reflection,
and will not work without it.

For more, see the documentation
https://docs.angel-dart.dev/guides/dependency-injection#enabling-dart-mirrors-or-other-reflection

In addition, every angel init project contains this message in bin/prod.dart:
// NOTE: By default, the Runner class does not use the `MirrorsReflector`, or any
// reflector, by default.
//
// If your application is using any sort of functionality reliant on annotations or reflection,
// either include the MirrorsReflector, or use a static reflector variant.
//
// The following use cases require reflection:
// * Use of Controllers, via @Expose() or @ExposeWS()
// * Use of dependency injection into constructors, whether in controllers or plain `container.make` calls
// * Use of the `ioc` function in any route
//
// The `MirrorsReflector` from `package:angel_container/mirrors.dart` is by far the most convenient pattern,
// so use it if possible.
//
// However, the following alternatives exist:
// * Generation via `package:angel_container_generator`
// * Creating an instance of `StaticReflector`
// * Manually implementing the `Reflector` interface (cumbersome; not recommended)
//
// As of January 4th, 2018, the documentation has not yet been updated to state this,
// so in the meantime, visit the Angel chat for further questions:
//
// https://gitter.im/angel_dart/discussion

Let me know if this helps. But in general, don't expect Controllers to work in AOT, because they are annotation-based. Plain routes are just as good, and in fact, Controllers are just an OOP wrapper over this functionality.

hi @thosakwe sorry im still new with dart,
do you have sample in this project that it uses the mirror reflection ?

import 'dart:async';
import 'package:angel_container/mirrors.dart';
import 'package:angel_framework/angel_framework.dart';
import 'package:angel_framework/http.dart';
import 'package:logging/logging.dart';

main() async {
  Logger.root.onRecord.listen(print);
  var app = Angel(
     logger: Logger('demo'),
     reflector: MirrorsReflector(),
  );
  var http = AngelHttp(app);
  await http.startServer('<IP_ADDRESS>', 3000);
  print('Listening at ${http.uri}');
}

thank you, solved the mount controller

Hi, sorry , how do i chain group with mountcontroller?
example app.group('/api/v1/'...)..mountController(...)

really appreciate if you can give me example, right now im using this work around:

@Expose("/api/v1/users")
class UserController extends Controller {
...
}


License

Hi,
Thanks for releasing this amazing project!
MagicTime is licensed under Apache 2.0, but it says "The service is a research preview intended for non-commercial use only. Please contact us if you find any potential violations."
Apache 2.0 is an open source license, which inherently allows commercial use. But this statement seems to conflict the license.
Would you mind clarifying?
Thank you!

Thanks for your kind reminder. We will change the license from Apache 2.0 to MIT license. 💗

Hi, thanks for your response! The MIT license also inherently allows commercial use. Is your intention to make this repo non-commercial only? (Which would make it not open source)

Hi, we continue to use the Apache 2.0 license and have edited "The service is a research preview. Please contact us if you find any potential violations." for clarification. Thanks again!

Cool, thanks!


record event when rf_operator failover

we should use real event recorder, then we can get event from tf_operator endpoint when tf_operator failover

This change is

Coverage remained the same at 28.518% when pulling cf261ea7c777e7ef72a64cadd313b092a5e69d11 on zjj2wry:event_record into ed7cae7552bacfa4d693fb8b5975d2e1ec62194a on tensorflow:master.


Error while parsing empty form data.

Overview
It is possible that data will come completely empty, causing the parser to throw this exception.
We need to update the parser for those situations.
And update that exception error message as well.

Issue fixed since 1.0.6


LXD/LXC non-functional after upgrading from Xenial -> Bionic

Required information

Distribution:                   Ubuntu Server
Distribution version:       18.04 release
The output of "lxc info" or if that fails: fails

Kernel version:                     4.15.0-20-generic
LXC version:                        3.0.0-0ubuntu2
LXD version:                        3.0.0-0ubuntu4
Storage backend in use:       zfs

Issue description
I have upgrade a home NAS to Bionic using 'do-release-upgrade -d' which apparently upgrades LXD from version 2 to 3 as well. This system is a fileserver, and it has a few non-critical containers (which is the sole reason I haven't rolled back to before the upgrade).
I followed the standard upgrade procedure. After upgrading, LXD is completely non-functional for me.
I see 2 big issues:

lxd-containers/lxd.service won't start.

lxc-containers status:

systemctl status lxd-containers.service
● lxd-containers.service - LXD - container startup/shutdown
Loaded: loaded (/lib/systemd/system/lxd-containers.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2018-04-29 13:55:33 CEST; 8min ago
Docs: man:lxd(1)
Process: 25371 ExecStart=/usr/bin/lxd activateifneeded (code=exited, status=1/FAILURE)
Main PID: 25371 (code=exited, status=1/FAILURE)
Apr 29 13:55:30 willie systemd[1]: Starting LXD - container startup/shutdown...
Apr 29 13:55:33 willie lxd[25371]: Error: Get http://unix.socket/1.0: EOF
Apr 29 13:55:33 willie systemd[1]: lxd-containers.service: Main process exited, code=exited, status=1/FAILURE
Apr 29 13:55:33 willie systemd[1]: lxd-containers.service: Failed with result 'exit-code'.
Apr 29 13:55:33 willie systemd[1]: Failed to start LXD - container startup/shutdown.

I have not been able to troubleshoot the "Error: Get http://unix.socket/1.0: EOF" error. As I noticed this sometimes is related to user permissions: these did not change, and I have tried relevant commands as my own user as well as root.
Current permissions (removed 'x' from output):

grep lxd /etc/group
lxd::124:sam
grep lxd /etc/passwd
lxd::117:65534::/var/lib/lxd/:/bin/false

lxd.socket status:

systemctl status lxd.socket
● lxd.socket - LXD - unix socket
Loaded: loaded (/lib/systemd/system/lxd.socket; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-04-29 02:54:58 CEST; 11h ago
Docs: man:lxd(1)
Listen: /var/lib/lxd/unix.socket (Stream)
Tasks: 0 (limit: 4607)
CGroup: /system.slice/lxd.socket
Apr 29 02:54:58 willie systemd[1]: Starting LXD - unix socket.
Apr 29 02:54:58 willie systemd[1]: Listening on LXD - unix socket.

lxd.service status:

systemctl status lxd.service
● lxd.service - LXD - main daemon
Loaded: loaded (/lib/systemd/system/lxd.service; indirect; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Sun 2018-04-29 14:05:31 CEST; 2min 0s ago
Docs: man:lxd(1)
Process: 30833 ExecStart=/usr/bin/lxd --group lxd --logfile=/var/log/lxd/lxd.log (code=exited, status=1/FAILURE)
Process: 30814 ExecStartPre=/usr/lib/x86_64-linux-gnu/lxc/lxc-apparmor-load (code=exited, status=0/SUCCESS)
Main PID: 30833 (code=exited, status=1/FAILURE); Control PID: 30834 (lxd)
Tasks: 7
CGroup: /system.slice/lxd.service
└─30834 /usr/lib/lxd/lxd waitready --timeout=600
Apr 29 14:05:33 willie lxd[30833]: lvl=warn msg="Storage volumes database already contains an entry for the container." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=warn msg="Storage volumes database already contains an entry for the container." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=warn msg="Storage volumes database already contains an entry for the container." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=warn msg="Storage volumes database already contains an entry for the container." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=warn msg="Storage volumes database already contains an entry for the container." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=eror msg="Failed to clear old profile configuration for profile default: no such table: profiles_config." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=eror msg="Failed to clear old profile configuration for profile docker: no such table: profiles_config." t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: lvl=eror msg="Failed to start the daemon: ZFS storage pool "default" could not be imported: cannot import 'default': no such pool available\n" t=2018-04-29T14:05:33+0200
Apr 29 14:05:33 willie lxd[30833]: Error: ZFS storage pool "default" could not be imported: cannot import 'default': no such pool available
Apr 29 14:05:33 willie systemd[1]: lxd.service: Main process exited, code=exited, status=1/FAILURE

I'm able to run sudo lxd --group lxd --verbose --debug:

sudo lxd --group lxd --verbose --debug
DBUG[04-29|14:19:46] Connecting to a local LXD over a Unix socket
DBUG[04-29|14:19:46] Sending request to LXD                   etag= method=GET url=http://unix.socket/1.0
INFO[04-29|14:25:35] LXD 3.0.0 is starting in normal mode     path=/var/lib/lxd
INFO[04-29|14:25:35] Kernel uid/gid map:
INFO[04-29|14:25:35]  - u 0 0<PHONE_NUMBER>
INFO[04-29|14:25:35]  - g 0 0<PHONE_NUMBER>
INFO[04-29|14:25:35] Configured LXD uid/gid map:
INFO[04-29|14:25:35]  - u 0<PHONE_NUMBER>6
INFO[04-29|14:25:35]  - g 0<PHONE_NUMBER>6
WARN[04-29|14:25:35] CGroup memory swap accounting is disabled, swap limits will be ignored.
INFO[04-29|14:25:35] Initializing database gateway
INFO[04-29|14:25:35] Start database node                      address= id=1
INFO[04-29|14:25:35] Raft: Initial configuration (index=1): [{Suffrage:Voter ID:1 Address:0}]
INFO[04-29|14:25:35] Raft: Node at 0 [Leader] entering Leader state
INFO[04-29|14:25:35] LXD isn't socket activated
DBUG[04-29|14:19:46] Connecting to a local LXD over a Unix socket
DBUG[04-29|14:19:46] Sending request to LXD                   etag= method=GET url=http://unix.socket/1.0

Then this basically repeats.

lxd.db has been replaced with a new, empty/standard one

After the upgrade, I noticed the original lxd.db file was replaced with a new one:

ls -l /var/lib/lxd/lxd.db*
-rw-r--r-- 1 root root 72704 Apr 29 00:51 /var/lib/lxd/lxd.db
-rw-r--r-- 1 root root 58368 Apr 29 00:51 /var/lib/lxd/lxd.db.bak

I can confirm lxd.db.bak is de one I had before. I have tried restarting everything with the original lxd.db file, which failed.
It's clear all of my config has been lost when looking at the db files using sqlitebrowser. A screenshot comparing the two:

So I'm quite stuck here. All zfs datasets are mounted where they should be mounted, everything seems fine from that perspective:

ls -l /var/lib/lxd/containers/lxc-notrack
lrwxrwxrwx 1 root root 57 Apr 29 00:51 /var/lib/lxd/containers/lxc-notrack -> /var/lib/lxd/storage-pools/default/containers/lxc-notrack
ls -l /var/lib/lxd/containers/lxc-notrack/
total 22
-rw-r--r--  1 root   root   1566 Mar 30  2017 metadata.yaml
drwxr-xr-x 22<PHONE_NUMBER>72   22 Apr 26  2017 rootfs
drwxr-xr-x  2 root   root      8 Mar 30  2017 templates

[ ] Any relevant kernel output (dmesg)

no LXD entries, I do see LXC entries:
At start:

[   71.303745] audit: type=1400 audit(1524962728.796:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lxc-container-default" pid=5156 comm="apparmor_parser"
[   71.303748] audit: type=1400 audit(1524962728.796:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lxc-container-default-cgns" pid=5156 comm="apparmor_parser"
[   71.303750] audit: type=1400 audit(1524962728.796:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lxc-container-default-with-mounting" pid=5156 comm="apparmor_parser"
[   71.303751] audit: type=1400 audit(1524962728.796:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="lxc-container-default-with-nesting" pid=5156 comm="apparmor_parser"

Then repeating:

[42074.449732] audit: type=1400 audit(1525004731.627:391): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="/usr/bin/lxc-start" pid=30989 comm="apparmor_parser"
[42074.461308] audit: type=1400 audit(1525004731.639:392): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default" pid=30993 comm="apparmor_parser"
[42074.461313] audit: type=1400 audit(1525004731.639:393): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-cgns" pid=30993 comm="apparmor_parser"
[42074.461316] audit: type=1400 audit(1525004731.639:394): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-mounting" pid=30993 comm="apparmor_parser"
[42074.461318] audit: type=1400 audit(1525004731.639:395): apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="unconfined" name="lxc-container-default-with-nesting" pid=30993 comm="apparmor_parser"

[ ] Main daemon log (at /var/log/lxd/lxd.log
lxd.log
or /var/snap/lxd/common/lxd/logs/lxd.log)

[ ] Output of the client with --debug

lxc list --debug --verbose
DBUG[04-29|14:41:24] Connecting to a local LXD over a Unix socket
DBUG[04-29|14:41:24] Sending request to LXD                   etag= method=GET url=http://unix.socket/1.0

[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

sudo lxd --group lxd --verbose --debug
DBUG[04-29|14:19:46] Connecting to a local LXD over a Unix socket
DBUG[04-29|14:19:46] Sending request to LXD                   etag= method=GET url=http://unix.socket/1.0
INFO[04-29|14:25:35] LXD 3.0.0 is starting in normal mode     path=/var/lib/lxd
INFO[04-29|14:25:35] Kernel uid/gid map:
INFO[04-29|14:25:35]  - u 0 0<PHONE_NUMBER>
INFO[04-29|14:25:35]  - g 0 0<PHONE_NUMBER>
INFO[04-29|14:25:35] Configured LXD uid/gid map:
INFO[04-29|14:25:35]  - u 0<PHONE_NUMBER>6
INFO[04-29|14:25:35]  - g 0<PHONE_NUMBER>6
WARN[04-29|14:25:35] CGroup memory swap accounting is disabled, swap limits will be ignored.
INFO[04-29|14:25:35] Initializing database gateway
INFO[04-29|14:25:35] Start database node                      address= id=1
INFO[04-29|14:25:35] Raft: Initial configuration (index=1): [{Suffrage:Voter ID:1 Address:0}]
INFO[04-29|14:25:35] Raft: Node at 0 [Leader] entering Leader state
INFO[04-29|14:25:35] LXD isn't socket activated
DBUG[04-29|14:19:46] Connecting to a local LXD over a Unix socket
DBUG[04-29|14:19:46] Sending request to LXD                   etag= method=GET url=http://unix.socket/1.0

Hi Stéphane
I logged all output into this file:
lxd.log-a.txt
The procedure fails. Relevant error:

DBUG[04-29|21:25:02] Initializing a ZFS driver.
DBUG[04-29|21:25:02] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:02] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:03] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:03] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:03] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:03] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:03] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:04] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:04] Database error: &errors.errorString{s:"sql: no rows in result set"}
DBUG[04-29|21:25:04] Database error: &errors.errorString{s:"sql: no rows in result set"}
EROR[04-29|21:25:04] Failed to clear old profile configuration for profile default: no such table: profiles_config.
EROR[04-29|21:25:04] Failed to clear old profile configuration for profile docker: no such table: profiles_config.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:04] Initializing a ZFS driver.
DBUG[04-29|21:25:05] Initializing a ZFS driver.
DBUG[04-29|21:25:05] Initializing a ZFS driver.
DBUG[04-29|21:25:05] Initializing and checking storage pool "default".
DBUG[04-29|21:25:05] Initializing a ZFS driver.
DBUG[04-29|21:25:05] Checking ZFS storage pool "default".
DBUG[04-29|21:25:05] ZFS storage pool "default" does not exist. Trying to import it.
EROR[04-29|21:25:05] Failed to start the daemon: ZFS storage pool "default" could not be imported: cannot import 'default': no such pool available

I don't know what to make of the database errors, but the zfs error corresponds to the error from my initial post. It seems it wants to import a zfs pool called default, which I don't have. I used an existing zpool for LXD and if I recall well, the LXD storage pool was called default.
It's correct in the original database:

I have no idea how to query or look at the contents of db.bin.
I also tried using a version of lxd.db from 2 weeks ago, it has the same same error output.
I can keep this machine in this state for troubleshooting for the time being.

Ok, so that error actually makes sense and it's something I fixed already.
Please do:

systemctl stop lxd lxd.socket
cp /var/lib/lxd/lxd.db.bak /var/lib/lxd/lxd.db
rm -rf /var/lib/lxd/raft
curl https://dl.stgraber.org/lxd-4509 -o /usr/lib/lxd/lxd
sha256sum /usr/lib/lxd/lxd (confirm it's 7d24a51d02a10c570652ffaa4fc36dd2f888e98c234dc353fa794b0c33e75925)
chmod +x /usr/lib/lxd/lxd
lxd --debug --group lxd

This will effectively do the same as before but this time with a LXD that will set the right pool name.

Ok, that worked :-) After this procedure I was able to start the lxd.service as well. It seems the correct container states are restored and all are running.
Here's the log file (sorry for the bad layout, I should have logged printable output only):
lxd-a.log
Should I be cautious for upgrades to LXD for the time being or is the core issue fixed? If you want I can provide you with the lxd.db.bak file if you would need to reproduce this?
BTW: very impressive support here, many thanks!

That machine is now fine, it's a one-time step that was failing so you won't ever run that code again.
If you have other machines with a similar zfs configuration, then they'll likely hit the same problem and will also need the custom binary until we push the next package update with it included.


Don't wait for observation to be published

This is all wrong. Killing. Will rethink.

What do you think about https://github.com/joncloud/Scientist.net/commit/cac40b89c25ca65fba1c6e40399c5321c47966b6?


[FEATURE] Address last inconsistencies in our syscalls

Motivation
Today an event pair could be associated with more than one syscall/ppm_sc ! This is a wrong behavior because any syscall should have its dedicated event pair in order to correctly manage all its params (pipe2/pipe and inotify_init/inotify_init1 are an example of possible issues that this approach could generate https://github.com/falcosecurity/libs/issues/515).
This is the list of syscalls that use an event pair already associated with another syscall:
-> means: "uses an event pair already associated with"

[ ] __NR_ugetrlimit -> __NR_getrlimit
[ ] __NR_fcntl64 -> __NR_fcntl
[ ] __NR_sendfile64 -> __NR_sendfile
[ ] __NR_setresuid32 -> __NR_setresuid
[ ] __NR_setresgid32 -> __NR_setresgid
[ ] __NR_setuid32 -> __NR_setuid
[ ] __NR_setgid32 -> __NR_setgid
[ ] __NR_getuid32 -> __NR_getuid
[ ] __NR_geteuid32 -> __NR_geteuid
[ ] __NR_getgid32 -> __NR_getgid
[ ] __NR_getegid32 -> __NR_getegid
[ ] __NR_getresuid32 -> __NR_getresuid
[ ] __NR_getresgid32 -> __NR_getresgid

Extracted from: #911
Due to this inconsistency, we didn't implement them yet into the modern bpf probe! More in detail these are the syscalls that still miss a filler into the modern bpf:

[ ] fcntl64
[ ] stat64
[ ] fstat64
[ ] sendfile64
[ ] setresuid32
[ ] setresgid32
[ ] setuid32
[ ] setgid32
[ ] getuid32
[ ] geteuid32
[ ] getgid32
[ ] getegid32
[ ] getresuid32
[ ] getresgid32

Extracted from: #723
As you can notice the 2 sets are almost identical so the idea here is to create a new dedicated event pair for each syscall and add it into the modern bpf probe

Please note:  These syscalls should be never compiled unless you have the following kernel config enabled: CONFIG_64BIT.

I've used milestone /next-driver but we will probably focus on that in the next release

/milestone next-driver

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale


[release-4.14] bump github.com/containers/buildah to v1.31.4

Bump github.com/containers/buildah from v1.31.0 to v1.31.4.

/test e2e-aws-ovn-proxy


getHTML/getSemanticHTML strips embed, replaces with hyperlink

When using the video module to embed a YouTube clip, quill.editor.getHTML(0, quill.getLenth()) or quill.getSemanticHTML() converts the iframe to a hyperlink.
Steps for Reproduction
Quill playground link.
const quill = new Quill('#editor', {
  modules: {
    toolbar: [
      ['video'],
    ],
  },
  placeholder: 'Compose an epic...',
  theme: 'snow', // or 'bubble'
});
const divOutput = document.createElement('div');
quill.container.insertAdjacentElement('afterend', divOutput);
divOutput.textContent = 'Insert video';
quill.on('text-change', () => {
    divOutput.textContent = quill.getSemanticHTML();
});

Example editor video html:
 <iframe
  class="ql-video ql-iframe-align-right"
  frameborder="0" allowfullscreen="true"
  src="https://www.youtube.com/embed/eDRgzEVwVEc?showinfo=0"
  height="270.27734436035155" width="542">
</iframe>

getSemanticHTML output:
<a href="https://www.youtube.com/embed/eDRgzEVwVEc?showinfo=0"
  target="_blank" rel="nofollow noopener">
  https://www.youtube.com/embed/eDRgzEVwVEc?showinfo=0
</a>

Expected behavior: embeds and their attributes (i.e. src, height, width, classList etc) should be preserved
Actual behavior: it's converted to an hyperlink. Outputting as a hyperlink makes getHTML and getSemanticHTML() unusable for its intended purpose since this should be a direct HTML representation of the editor contents.
Platforms: quilljs 2.0.2, windows 10, chrome
Version: 2.0.2

see #4829

@enzedonline Your link is broken from the comment above to a potential fix. Could you reply with where to find the suggested workaround?

@skillcapesoftware weird, I can link to other issues in that comment but not that issue, but it works here ... #4289.
This issue isn't resolved, it's just combined with a few other issues with getSemanticHTML listed on the other one. It's caused by the html method of Quill's video embed.
The workaround for video is to create a custom embed extending the video embed and overriding the html method. Something like:
const VideoEmbed = Quill.import("formats/video") as any;

class Video extends VideoEmbed {
    html () {
        return this.domNode.outerHTML;
    }
}

Quill.register(Video, true);


keepass-plugin-webautotype: Add version 6.3.0

https://sourceforge.net/projects/webautotype/
Based on keepass-plugin-keeagent manifest.

issue ref: https://github.com/lukesampson/scoop-extras/issues/4082


Enable new Figma token rolethat can use github to get tokens without privileges to edit or push tokens

Basically other designers should be able to use tokens without the ability to edit the tokens in Figma.
In other words there should be token admins, and token users. Token users can pull from a remote source but not make changes locally or push back to the repo.

Closing this, feel free to reopen if the GitHub provided way of defining permissions doesn't suffice.

FYI... just tested removing my Pro license and was able to still pull multiple .json files from github. This issue appears to be specific to Read Github user roles only.


Update docs

Description of changes

Remove deprecated ErrorLogger from the docs
Update the documentation index page to match readme
Make benchmarks more detailed and add benchmark comparison to umap-learn

Includes

[ ] Code changes
[ ] Tests
[X] Documentation

A small comment on your (very useful) speed benchmarks: I was reviewing a paper a few days ago that argued, among other things, that UMAP is much faster than t-SNE. Reported runtimes for openTSNE were very slow. Sample sizes were ~1000-10000. I was confused at first, but then realized that they did not reduce the dimensionality with PCA and had something like ~20000 dimensions. Turns out, in this setting Annoy gets super slow, and actually neighbors='exact' in openTSNE works much faster than using Annoy.
Pynndescent does not seem to suffer from this problem so much, making UMAP run much faster. However, setting neighbors='pynndescent'in openTSNE did not really increase the runtime, probably because openTSNE uses Pynndescent to query 90 neighbors whereas UMAP only needs 15 by default.

I have noticed that as well actually. I am running further benchmarks on higher dimensional data (2k dims) to compare Annoy and pynndescent. But it takes several days to finish all these runs. I'm planning to update the benchmarks once those finish as well. I have additional plots where I split the runtime of NN search and the optimization phases which might be of interest to you.
NN search:

Optimization:

The openTSNE optimization is clearly a lot faster in the multi-threaded case, but the neighbor search is slower. Of course, this is expected, since UMAP only needs to look for 15 neighbors instead of the default 90 here. And for larger data sets, I like to use larger perplexity values e.g. 500, which of course makes this even slower. So UMAP has a clear advantage here just because it doesn't need as many neighbors.
I didn't include this in the docs, since most people wouldn't care about the separate stages of the algorithms.
However, using that many dimensions just never seems like a good idea. Most commonly, people use euclidean distance, and PCA will preserve euclidean distance. So in that case, using PCA seems like no-brainer. I'm not sure about other distance measures, but I often use cosine distance on top of PCA, and that seems to work pretty well as well.


Error: EISDIR: illegal operation on a directory

Hello,
when releasing our Application from Azure DevOps, we encounter this error:
2022-06-17T12:23:12.2811600Z Copying file: 'node_modules/ibm-cloud-sdk-core/ibm-cloud-sdk-core.d.ts'
2022-06-17T12:23:12.2815569Z Error: EISDIR: illegal operation on a directory, open '/home/site/wwwroot/node_modules/ibm-cloud-sdk-core/docs'
We noticed that this error started popping up with the latest releases of your package. And specifically because the /docs directory is now appearing as a file.

We mitigated it, by downgrading to version: 2.17.10 which the error doesn't appear.
Do you have any solutions for that issue apart from downgrading? Is this error planned to be fixed at a later release?
Thank you in advance.

@azasdimi I believe I know what is happening now. I should have a fix out soon

:tada: This issue has been resolved in version 2.17.15 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: examples

Description:
Fix examples and enable them in CI:

ZeroTokenOperationsExample
SolidityPrecompileExample
ConsensusPubSubChunkedExample

Closes #1630

Are the contracts getting compiled runtime?

No, also hardcoded.

wondering if in Java there is a reason to update the .sol files.

I think its to show updates in bytecode. And for people to understand whats going on in the contract itself :)
@0xivanov

The problem
ConsensusPubSubChunkedExample in Java SDK is not working sometimes when running it against the local-node.
How to reproduce
Pre-requisites:

Clone Java SDK repo --> https://github.com/hashgraph/hedera-sdk-java
Configure dotenv --> https://github.com/hashgraph/hedera-sdk-java/blob/1c6325659557874479f3387b2f0f2028bd1870a1/examples/README.md#configuration

Steps to reproduce:

If Docker is running, then reopen the Docker (I mean exit the docker and run it again).
Start the local-node.
Run this command from the root of a project: ./gradlew :examples:runConsensusPubSubChunked
Expected result:
ConsensusPubSubChunkedExample should fail the first time and then it should work any other time.


New pkg version (fixes #21)

Changed the package version inpackage.json back to a version that can be published as a new release on npm, so that when users install npm install -g firebase-import they will get the latest version that is in master
Also re-added the bin folder back into the repository
More details on #21.

Sorry, we have a script that takes care of all this stuff.  See my comment on #21 for more details.