[WIP] PD - Add SSS update success check

Codecov Report

Merging #128 (caac5a8) into main (def79aa) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #128   +/-   ##
=======================================
  Coverage   42.90%   42.90%
=======================================
  Files          29       29
  Lines        1508     1508
=======================================
  Hits          647      647
  Misses        785      785
  Partials       76       76

My bash isn't as good as my Go, but should we remove:
"set -e"
Allowing the commands to run to failure will ensure the stored kubeconfigs will get rm.

Looks good! Documenting here that we have tested on a hive cluster and successfully tested the CSV deployments
/hold cancel
/lgtm
/approve


RS Components Stock at "1"

Hi,
I am having an issue regarding RS stocks.
There are some references that are returning 1 as stock, but in fact does not match with Octopart website:

I don't know if it relates to the fact that there are 2 supply codes for the same component, and if there is a way to fix this issue.

Hi pedroluisneves - thanks for your note.  I see the same behaviour.  The Excel add-in is reflecting the API (Nexar and Octopart).  Let me chase this up and get back to you.

Thank you Rob.
I am also noticing that the same issue occurs on Altium:

If you try again now, do you see "300"?

I'm now seeing the 300 via the API and the Excel add-in so the inventory has updated in the past hour.  I think the discrepancy between 300 and 1,370 quoted on the Octopart.com website is due to the country.  I'm in the UK and see 1,370 components are available to ship here.  However, those in the US will only see 300 comopnents available.  The Excel add-in, along with the default Nexar and Octopart API query, will consider "US" as the default country which is why this is the result the add-in shows.
The Excel add-in does not yet support specifying the country code.  However, this is supported in the Nexar API.  For example, run this query with and without the country: "GB" line and you'll see the 300 versus 1,370 inventory levels...
query MultiMatch {
  supMultiMatch(
    country: "GB",
    queries: [{ mpn: "AR 32 HZL-TT", limit: 10 }]
  ) {
    hits
    parts {
      mpn
      name
      sellers {
        company {
          name
        }
        country
        offers {
          inventoryLevel
        }
      }
    }
  }
}

In fact, I'm now seeing the value 300, however, for many other products I still get "1".

In fact, I'm now seeing the value 300, however, for many other products I still get "1".

Hi Rob, the issue still exist and sometimes it gets fix, but some other place got it.
The feedback I received seams to point for RS data source, nevertheless, let me know if you need more examples.

Yes, that's correct.  This was a data source issue, which affected the API, it's nothing to do with the Excel add-in.  So I shall close this issue.


Automatic Mask Generator Batch Processing

Environment Information
Testing on the original notebook examples here, here and here.
Description
Im not sure if this is a design implementation or a bug but feel free to close if it is meant to behave in this way. Anyways I have noticed these issues:

The Automatic Mask Generator of SAM does not work with the batch function set to True.
The sam.generate with an erosion_kernel set to None results in one mask for the entire region.
For the notebook example, sam_model_registrymodel_type, does not automatically download checkpoints. Fixed with common.download_checkpoint(url,checkpoint)

What I Did
 ##Automatic Mask Generator example from notebook
sam.generate(image, output='masks.tif', foreground=True, unique=True, batch=True)

#Satellite Example from notebook
sam = SamGeo(
    model_type='vit_h',
    checkpoint=checkpoint,
    erosion_kernel=None,
    mask_multiplier=255,
    sam_kwargs=None,
)

@BjornNyberg Thank you for reporting. The patch processing bug should be fixed in #29. Note that the SamGeoPredictor class will be deprecated and merged into the SamGeo class in the next release. Stay tuned.


Add Google Style docstrings to codebase

Summary
This PR adds Google Style docstrings to the whole codebase.
After this, I'd say we can revive a documentation page (built with sphinx or mkdocs and hosted in GitHub pages or ReadTheDocs) with API docs and a simple tutorial (like in the README).
Note
This has been opened as a draft because it merges into #364, but I can't point this PR to that branch without the PR getting opened on my fork:S.

You now have file conflict with your own PR 😆  https://github.com/fake-useragent/fake-useragent/commit/4c54e9ed1f42fbbef0aebc826900568c65d233fc

My bad. Not used to using black.

ow just run black . it should it fix automatically.

Haha I do know how to run it. It's just that I don't have it set to run automatically in VSCode, so I forget to do so. I think it's fine now.

ow sorry, then I misunderstood you 😆

LGTM. It's still a draft or? It seems good enough already.
If it's ready you can press "ready for review":

My bad @melroy89! I've been in a bit of a rush these last couple days and haven't been able to focus on this. Thanks for noticing it, I've marked as ready to review.

No worries and no rush! It was just a question. Anyhow, thanks for marking it ready for review. It's clear now.


Cleanup if statements to reduce number of IsColonist calls

A lot of these are removing the HumanLike check since IsColonist already does this. Some are removed because there is no way IsColonist is true with the other conditions (RaceProps.Animal cannot be true and IsColonist). I do include a C# upgrade as it allows us to use LINQ without overhead whenever static is used in the Func.

Have to redo this one. This one could also help the constant polymorph patch by calling IsColonist less


Error when piping JSON to jpterm

Thanks @springcomp for forking and updating this project :slightly_smiling_face:.
I have found that piping into jpterm generates an error:
cat defaults/main.yml | yq -o=json | jpterm
Traceback (most recent call last):
  File "/home/chris/.local/bin/jpterm", line 6, in <module>
    jpterm.main()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/jpterm.py", line 231, in main
    display.main(screen=screen)
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/jpterm.py", line 148, in main
    self.loop.run()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/main_loop.py", line 827, in _loop
    self._watch_files[fd]()
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/raw_display.py", line 417, in <lambda>
    event_loop, callback, self.get_available_raw_input())
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/raw_display.py", line 449, in get_available_raw_input
    codes = self._get_gpm_codes() + self._get_keyboard_codes()
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/raw_display.py", line 523, in _get_keyboard_codes
    code = self._getch_nodelay()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/raw_display.py", line 661, in _getch_nodelay
    return self._getch(0)
           ^^^^^^^^^^^^^^
  File "/home/chris/.local/pipx/venvs/jmespath-community-terminal/lib/python3.11/site-packages/urwid/raw_display.py", line 571, in _getch
    return ord(os.read(fd, 1))
           ^^^^^^^^^^^^^^^^^^^
TypeError: ord() expected a character, but string of length 0 found

But writing a file and opening it work fine:
cat defaults/main.yml | yq -o=json > ~/tmp/ansible_defaults.json
jpterm ~/tmp/ansible_defaults.json

This isn't a big or urgent problem!
This is on Debian Bookworm with a pipx installed version:
which jpterm
/home/chris/.local/bin/jpterm
/home/chris/.local/bin/jpterm --version
jmespath-term 1.1.1
/usr/bin/python3 --version
Python 3.11.2

This unfortunately is a bug in urwid.
I have no idea how to solve this ☹

The urwid library looks like it needs some updating... perhaps simply remove support for piping or just update the documentation to say it doesn't work for now? :shrug:


Refactor SHT40 and Add SHT3x

This refactors the SHT40 / SHT41 to use the Sensirion library arduino-sht which brings support for SHT3x SHTCx SHTWx.
Also added driver entry for SHT3x.

@tyeth  Do you have these sensors to test with, or should I?

I've tested the 30 with address 44 and 45 (have initialised as 44 and code replacing SHT40 as SHT3X_ALT - address x45, then Add SHT40 and after i2c scan (address 44) and selecting frequency, but before choosing update component you swap the i2c address pin from GND to VCC and get it to address 45.
I don't have any SHT40's on hand, nor the adafruit SHT31-D, so if you or anyone else could test that would be most appreciated

I don't have any SHT40's on hand, nor the adafruit SHT31-D, so if you or anyone else could test that would be most appreciated

I have an SHT40 on my desk, and just ordered an SHT31-D from Adafruit to test. I will get to this by next week.

@tyeth  Let me know via pinging me here when this is ready for re-review.

@brentru  I think it's ready. I accidentally marked all conversations resolved, but as I mentioned I'm a bit of a newbie in cpp so please do mention the obvious / assumed...
I've done the rename on the component repo too, so probably best wait for confirmation of the upper/lowercase renaming being safe. Maybe also worth waiting for your sensor test next week, no rush here as I can doctor the firmware for my needs and drop the v50 bump commit.

@tyeth Yeah, I added this to the list for next week's tasks. Should be ready to test on hardware by then.

Made a whoopsie and removed the SCD4x driver thinking it was SHT4x, was breaking builds on CI, restored.

Build failure due to release 2.0.5 today, not the PR's fault.

Cool, thanks for latest info regarding failure + sht40 testing. The component change is also there under https://github.com/adafruit/Wippersnapper_Components/pull/77

@brentru The component change has gone through and seems to be working fine for me, added a comment in that pull request.
Probably worth testing if v49 works with the new lowercase name and if not then getting v50 out with the new lowercase name check as soon as possible. Thanks for your help on this.

Merged https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/329, rebuilding on affected platform.

@brentru I've just been struggling to put the firmware (v50) on the nearest QTPY S2. It compiles and uploads fine with a cloned repo and the Arduino IDE, but using the official v50 release UF2 file for qtpy ESP32-s2 copies and then gets stuck with solid purple light forever on each boot. Like the uf2 file is broken... I tried the file from github and via Wippersnapper update page

Any news on the update I am using in my drying room and am fully in the dark now. I feel like such a fool for updating it when it was working great. Any eta on time. Or an idea on how to maybe use arduino to get an old version running I really need it. I know it's silly to put my livelyhood on one arduino controller but I did. So I'm freaking out all day

Any news on the update I am using in my drying room and am fully in the dark now. I feel like such a fool for updating it when it was working great. Any eta on time. Or an idea on how to maybe use arduino to get an old version running I really need it. I know it's silly to put my livelyhood on one arduino controller but I did. So I'm freaking out all day

In your original ticket 4hours ago 😀  Should come up in the normal wippersnapper update pages, or under the releases section of the github repo

Am I posting in the wrong place sorry I just tried the new update from
10’hours ago now I get this message
20:50:46.024 -> Fets Jul 29 2019 12:21:46
20:50:46.024 ->
20:50:46.024 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
20:50:46.024 -> configsip: 271414342, SPIWP:0xee
20:50:46.024 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,
wp_drv:0x00
20:50:46.024 -> mode:DIO, clock div:1
20:50:46.024 -> load:0x3fff0030,len:1184
20:50:46.024 -> load:0x40078000,len:13160
20:50:46.024 -> load:0x40080400,len:3036
20:50:46.024 -> entry 0x400805e4
20:50:46.633 -> ./components/esp_littlefs/src/littlefs/lfs.c:1229:error:
Corrupted dir pair at {0x0, 0x1}
20:50:46.633 -> E (236) esp_littlefs: mount failed,  (-84)
20:50:46.633 -> E (236) esp_littlefs: Failed to initialize LittleFS
On Thu, Sep 22, 2022 at 8:51 PM Tyeth Gundry @.***>
wrote:

Any news on the update I am using in my drying room and am fully in the
dark now. I feel like such a fool for updating it when it was working
great. Any eta on time. Or an idea on how to maybe use arduino to get an
old version running I really need it. I know it's silly to put my
livelyhood on one arduino controller but I did. So I'm freaking out all day
In your original ticket 4hours ago 😀 Should come up in the normal
wippersnapper update pages, or under the releases section of the github repo
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1255694001,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUNWD35NCHD5CQJJHLDV7T5JPANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>

Oooh no idea on that one. I have noticed my secrets.json gets messed up sometimes, so I'm guessing it might be worth me erasing the flash once I get in a corrupted state. I dont, instead I just save a fresh copy of secrets.json and reboot the board, normally fixes everything, if not then reapply firmware again. If it still fails then apply 49 and should be okay.

i dont know how to do that without the web flasher i always get an error in
arduino
On Thu, Sep 22, 2022 at 8:55 PM Tyeth Gundry @.***>
wrote:

Oooh no idea on that one. I have noticed my secrets.json gets messed up
sometimes, so I'm guessing it might be worth me erasing the flash once I
get in a corrupted state. I dont, instead I just save a fresh copy of
secrets.json and reboot the board, normally fixes everything, if not then
reapply firmware again. If it still fails then apply 49 and should be okay.
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1255696129,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUKU4E2MT5YR727VS6LV7T5YBANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>

This is worth sticking in a new bug ticket. Looks like your file system is corrupted after the update, like my secrets.json file is now after using latest release. I guess the storage memory location moved a bit and without using Erase Flash and setting up secrets again we just cross our fingers each time and hope for no corruption.
You could try just writing the Credentials file again and that may sort it

I put in a new ticket and tried the credentials only.
Also tried to get an older version that worked before v44 and flashing it
through esp web flasher. But I get the same issue.
I have a Mac also but when I plug it in it does not come up as massstorage
so I don’t know how to get the uf2 file on there. Only bins with web
flasher
On Thu, Sep 22, 2022 at 9:39 PM Tyeth Gundry @.***>
wrote:

This is worth sticking in a new bug ticket. Looks like your file system is
corrupted after the update, like my secrets.json file is now after using
latest release. I guess the storage memory location moved a bit and without
using Erase Flash and setting up secrets again we just cross our fingers
each time and hope for no corruption.
You could try just writing the Credentials file again and that may sort it
[image: image]
https://user-images.githubusercontent.com/6692083/191877885-bc3e50a0-19fe-4da2-8b6d-630506b30243.png
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1255714777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUIRGIN2SHWNXD4VI4TV7UC4XANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>

It’s like a bad joke I got every old firmware running with webflasher tool
and connected. But when I try to add the sht40 it says firmware outdated
even though I was using version 44 yesterday and it worked great. I went
one by one up to 50 and and 50 I get a solid red light and it does not work
🤦🏼♂
On Thu, Sep 22, 2022 at 9:55 PM THE GODMOTHER @.***>
wrote:

I put in a new ticket and tried the credentials only.
Also tried to get an older version that worked before v44 and flashing it
through esp web flasher. But I get the same issue.
I have a Mac also but when I plug it in it does not come up as massstorage
so I don’t know how to get the uf2 file on there. Only bins with web
flasher
On Thu, Sep 22, 2022 at 9:39 PM Tyeth Gundry @.***>
wrote:

This is worth sticking in a new bug ticket. Looks like your file system
is corrupted after the update, like my secrets.json file is now after using
latest release. I guess the storage memory location moved a bit and without
using Erase Flash and setting up secrets again we just cross our fingers
each time and hope for no corruption.
You could try just writing the Credentials file again and that may sort it
[image: image]
https://user-images.githubusercontent.com/6692083/191877885-bc3e50a0-19fe-4da2-8b6d-630506b30243.png
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1255714777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUIRGIN2SHWNXD4VI4TV7UC4XANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>

Ah, that is my fault, sort of. I added the SHT35/31/30, and while doing so was told to lowercase it, and the SHT40 too which was previously uppercase. The older firmware versions wont know about lowercase naming of the sht40 sensor. You will have to do a new bug/issue mentioning the v50 issue. They'll(@brentru) want to sort it quickly for the feather ESP32 v2 anyway...

i tried to do the Arduino but keep getting a compiling error after i put in my credentials

Since this is a new bug (not related to what was solved yesterday), we're looking into this today with no ETA. Something between the Web Firmware Uploader and the new Arduino board support package is causing an issue. We haven't had to handle tests around the uploader specifically and haven't seen this type of bug before. This bug gives us an opportunity to add tests and increase stability so it doesn't happen again.
Adafruit IO WipperSnapper is in beta and is actively being developed to add functionality, new hardware, and fix bugs.  We do not want to break your project, and we are sorry given the situation you are in. We encourage you to try out WipperSnapper firmware with the understanding that _it is not the final release software yet (beta).

Since this is a new bug (not related to what was solved yesterday), we're looking into this today with no ETA. Something between the Web Firmware Uploader and the new Arduino board support package is causing an issue. We haven't had to handle tests around the uploader specifically. This issue gives us an opportunity to add tests so it doesn't happen again.
Adafruit IO WipperSnapper is in beta and is actively being developed to add functionality, new hardware, and fix bugs.  We do not want to break your projects, and we are sorry given the situation you are in. We encourage you to try out WipperSnapper firmware with the understanding that it is not final release software yet (beta), and is currently still in active development.

Not your fault at all and I super appreciate you !
Having this is way more accurate then the 500$ Units on the market. I know
because I did testing with my visala(same probe on mars rover)
unfortunately it’s only hand held.
It was working fine with the old firmware and now it works on all old
firmwares just the sensor I need it to work with just keeps saying firmware
is outdated even 49. Other sensors with aht20 for example.
Thank you again for all your hard work
On Fri, Sep 23, 2022 at 11:30 AM Brent Rubell @.***>
wrote:

Since this is a new bug (not related to what was solved yesterday), we're
looking into this today with no ETA. Something between the Web Firmware
Uploader and the new Arduino board support package is causing an issue. We
haven't had to handle tests around the uploader specifically. This issue
gives us an opportunity to add tests so it doesn't happen again.
Adafruit IO WipperSnapper is in beta and is actively being developed to
add functionality, new hardware, and fix bugs. We do not want to break your
projects, and we are sorry given the situation you are in. We encourage you
to try out WipperSnapper firmware with the understanding that it is not
final release software yet (beta), and is currently still in active
development.
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1256362897,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUJGVEGK6S4V573ZSZTV7XEJNANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>

You could very quickly chuck circuitpython (micropython alternatively) on it, add wifi secrets, include the scd40 circuit python library with example code and publish to the same feed (mqtt adafruit io example). You'll be pleasantly surprised how easy it comes together. I only moved to wippersnapper due to the number of devices and sensors.
This is overkill (wanted to try calling sensor callbacks) and using different sensors, but I wanted to publish two SHT35's and two ADS1015 4channel ADC's to adafruit io, and they all error occasionally. I wanted to re-read the old values too initially, and there is code in there to jump around networks if the main one isn't there (I have 3networks to cover front of house to back greenhouse). You will have an easier time just using the scd40 example and adafruit io example, but this may help/interest you:
https://github.com/tyeth/circuitpython-micropython-quicktest-qtpy-esp32-s2/main/qtpys2_io_adc_sht3x/

They fixed it with an update thank you though 🙏 and to everyone working on
the project
On Sat, Sep 24, 2022 at 5:34 AM Tyeth Gundry @.***>
wrote:

You could very quickly chuck circuitpython (micropython alternatively) on
it, add wifi secrets, include the scd40 circuit python library with example
code and publish to the same feed (mqtt adafruit io example). You'll be
pleasantly surprised how easy it comes together. I only moved to
wippersnapper due to the number of devices and sensors.
This is overkill (wanted to try calling sensor callbacks) and using
different sensors, but I wanted to publish two SHT35's and two ADS1015
4channel ADC's to adafruit io, and they all error occasionally. I wanted to
re-read the old values too initially, and there is code in there to jump
around networks if the main one isn't there (I have 3networks to cover
front of house to back greenhouse). You will have an easier time just using
the scd40 example and adafruit io example, but this may help/interest you:
https://github.com/tyeth/circuitpython-micropython-quicktest-qtpy-esp32-s2/main/qtpys2_io_adc_sht3x/
—
Reply to this email directly, view it on GitHub
https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/pull/325#issuecomment-1256924222,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQAUMNPOVRYI7PX44MBRTV73DLHANCNFSM6AAAAAAQMZIYMQ
.
You are receiving this because you commented.Message ID:
@.***>


Web interface to convert tags to lanes

We could have a simple webpage hosted on github pages where you copy in an OSM way's key/values, press a button, and get the JSON lanes output. Internally it can use Javascript and call the Rust implementation, compiled to WASM.
Next steps after that could be a Leaflet or Mapbox map, where you click on a way, we query Overpass for the nearest way and its tags, and do the same thing.
And then from there, maybe consider some kind of rendering/visualization, just for a single road.

I had a go at this:
https://github.com/a-b-street/osm2lanes/pull/12
Helped me see that there is still quite a bit of edge-case handling missing.

I've tried to create some sketches. What do you think?

I think these are much more legible than Unicode, yeah! Maybe we could also print the width of each lane towards the bottom? We could also scale the width of each lane appropriately, but that stop being as legible in extreme cases

I've tried to create some sketches. What do you think?

are you doing these in SVG? trying to think about how to render it...

If we can render each lane independently, then we could just lay them out in a row with HTML. Maybe the vertical lines in between get complicated, though... The output of the library doesn't explicitly tell you where bus and travel lanes border each other, or where the direction changes. But I guess that's easy enough to find by iterating over pairs of LaneSpecs...

I think eventually we would want a lane spec that has more information.
e.g. width
e.g. dashed, solid, double lines
e.g. line colour
e.g. bicycle symbols, and their spacing...
a lot of these will not come from OSM tags but instead need to be contributed by users as they will specific to national and regional standards.
for now we can make some assumptions in the renderer, and make some assumptions when OSM tags are missing...

are you doing these in SVG?

Yes, this is SVG.

trying to think about how to render it...

I was thinking of creating SVG canvas in the HTML page and add SVG elements to it using JS. I'm not quite experienced in JS so not sure it is the right way to do this.


Kuberhealthy status page is missing CurrentMaster field.

Describe the bug
The Kuberhealthy JSON status page reports a blank CurrentMaster field.
Steps To Reproduce

Install Kuberhealthy with some checks.
Let the checks run and complete.
Observe that the status page reports a blank CurrentMaster field.

Expected behavior
CurrentMaster should be reported as the name of the current Kuberhealthy master pod, but does not.
Screenshots
Soon™
Versions

Cluster OS: [e.g. Debian GNU/Linux 9 (stretch)]
Kubernetes Version: 1.11.7
Kuberhealthy v2.3.0

This may be connected to a bug we are seeing in the v2.3 image where we get a false check error that says something like check deleted expectedly.

This may be connected to a bug we are seeing in the v2.3 image where we get a false check error that says something like check deleted expectedly.
error message is: pod deleted expectedly
the non-master kuberhealthy pod has the following logs:

time="2020-09-16T03:03:22Z" level=debug msg="khstate custom resource found: resource-quota"
time="2020-09-16T03:03:22Z" level=debug msg="Retrieving khstate custom resource for: resource-quota"
time="2020-09-16T03:03:22Z" level=debug msg="Successfully retrieved khstate resource: resource-quota"
time="2020-09-16T03:03:22Z" level=debug msg="Setting execution state of check resource-quota to false [Check execution error: pod deleted expectedly] bd1ba474-7557-43d8-90c8-cc4f5136b703"
time="2020-09-16T03:03:22Z" level=debug msg="Checking existence of custom resource: resource-quota"
time="2020-09-16T03:03:22Z" level=debug msg="khstate custom resource found: resource-quota"
time="2020-09-16T03:03:22Z" level=debug msg="kuberhealthy resource-quota writing khstate with ok: false and errors: [Check execution error: pod deleted expectedly] at last run: 2020-09-16 03:03:22.890482206 +0000 UTC m=+3144510.042178847"
time="2020-09-16T03:03:22Z" level=debug msg="Successfully updated CRD for check: resource-quota in namespace kuberhealthy"

where you can see it updates the khstate with this pod deleted expectedly error for some reason. The non-master kuberhealthy pod should not be allowed to do that... Seems like there's some confusion there

This issue will be fixed when we merge PR #584


change fields container for Entries

See #90. I made the current tests pass but didn't add any.
There are a few different ways to handle this, and as I note in #90, this is a breaking change, so feel free to ignore if you like.
Thanks!

I think using HashMap<Vec<String, String>> would suffice. What do you think of making it one map for both text and file fields, since they can be handled essentially the same?

You mean HashMap<String, Vec<String>>?
I think Vec<(String, String)> is preferable since single-valued fields are definitely the more common scenario, and putting all the single values into vecs seems like it would add some unnecessary overhead for those cases.

What do you think of making it one map for both text and file fields, since they can be handled essentially the same?

That's totally your call, but personally I like having them separate

Yeah I meant HashMap<String, Vec<String>>, I typed that on mobile.
We can, of course, use something like SmallVec, we can even use an inline array size of 1 since that's the most common case.

@kardeiz are you still interested in getting this merged? you never responded

Oh, right, sorry. I personally don't like the extra complexity and additional dependency of the SmallVec solution. I think the right container here is Vec<(String, String)>. This is going to be a breaking change whether the container is HashMap<String, Vec<String>> or Vec<(String, String)>, and I think for most uses the latter will be more convenient.
I think my PR should also implement IntoIterator<Item=(String, String)> for FieldsWrapper. This would make all of the examples work as before, without having to call into_map as I changed in this PR. .iter and .iter_mut will be covered by the Deref/DerefMut. We could drop the into_inner here, but keep the into_map and into_multivalued_map for when users would prefer to work with a HashMap.
Let me know what you think and I can update this PR. Thanks!

With Vec<(String, String)> I was a little concerned about keeping extra copies of field names around but that's going to be the rarer case anyway. I think what you've proposed should be pretty good.

I added the IntoIterator impl, cleaned up the examples, and added a brief note about duplicate fields. Please let me know if there is anything else. Thanks!

Cool, just a couple nits and it'll be ready to merge I think.

Thanks!


Fix missing PhysicalComponent attributes

At the moment PhysicalComponent class has the following missing or not properly working features:

[x] kind attribute is missing
[x] nature attrubute is missing
[ ] components attribute is not working properly (returns empty list)

Here is a quick summary of ontology and taxonomy of PhysicalComponet based on analysis of Capella ecores:

Test case should be based on 5_0 model,  diagram "[PAB] A sample vehicle arch"


If DOCKERIMAGE_TAG is not set set nightly as default

Pass in DOCKERIMAGE_TAG as string so external.sh get check if it is empty just set as default nightly.
Related https://github.com/adoptium/run-aqa/issues/80
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

Tested with target _camel_test.  https://github.com/sophia-guo/runaqaTest/runs/2280862940?check_suite_focus=true
Failure is related with camel_test itself.


New Source Freshness test -- how to exclude static tables that are sourced from a database

Describe the bug
I recently updated to 14.x and while I use source freshness for most of my tables, I have a table that is sourced from a database that has static data. How do I exclude this table from the source freshness test? I've tried to add it to my dbt_project_evaluator_exceptions seed however it doesn't seem to work.
Steps to reproduce
N/A
Expected results
N/A
Actual results
N/A
Screenshots and log output
N/A
System information
  - package: dbt-labs/dbt_utils
    version: 1.3.0
  - package: dbt-labs/dbt_project_evaluator
    version: 0.14.1

Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[X] snowflake
[ ] trino/starburst
[ ] other (specify: ____________)

The output of dbt --version:
Versionless (Cloud)

Hi!
Using the dbt_project_evaluator_exceptions seed should work like for other tests.

could you confirm that the seed has been loaded before running the source freshness test?
if so, could you please share

the output of your fct_sources_without_freshness table after the test failure?
the seed configuration for that test

I am using the seed for 3 other tests that are working correctly so I am certain its loading in the correct order:
Seed:
fct_name,column_name,id_to_exclude,comment
fct_root_models,child,dim_date,Date dimensions generated with dbt_utils date_spine
fct_root_models,child,dim_date_iso,Date dimensions generated with dbt_utils date_spine
fct_multiple_sources_joined,child,stg_%_unioned,Models called _unioned can union multiple sources
fct_sources_without_freshness,child,stg_XXX_historical_calls,Exclude static table that has legacy calls for XXX

(I also tried using the source name "legacy.XXX_historical_calls" in place of the staging table name and that gave the same error)
Output from FCT_SOURCES_WITHOUT_FRESHNESS table (1 row):
legacy.XXX_HISTORICAL_CALLS

What about
fct_name,column_name,id_to_exclude,comment
...
fct_sources_without_freshness,resource_name,legacy.XXX_HISTORICAL_CALLS,Exclude static table that has legacy calls for XXX

The column name in the fct is not child for this table, it is resource_name

That did it! thank you.
I had to use the exact case -- which normally I don't since I'm using Snowflake, however this is a reference to a source so that makes sense.
Is "resource_name" in the documentation somewhere? All the examples show "child" -- it may help to add a few more examples in the docs.
fct_sources_without_freshness,resource_name,legacy.XXX_HISTORICAL_CALLS,Exclude static table that has legacy calls for XXX

resource_name itself is not documented as it would depend on each table, but we have this in the docs

column_name: the column name from fct_name we will be looking at to define exceptions

I might add another example in the docs where the column is not called child

What do you mean it would depend on each table? i literally put "resource_name" in there

Wow ok -- I never made the coorleation between that and the name of the column in the evaluator table -- all makes sense now.
I honestly thought child was some default for a fact table --- just never clicked. I see now the name of the column in the evaluator tables is what you reference.
All good -- thanks again for the quick help!


[Error] -> Timed Out

Hey guys, I don't know if you've already come across this error, but normally when it happens to me I have to scan the qrcode again.
Does anyone know how to fix this error? because it is in the lib itself.

Note: I'm already using the new version.

Error:

Usually this happens after a certain time that the connection is active, this timedout problem really sucks. But basically the way I dealt with it was creating solutions in which when it was not possible to send a message because of timedout I restarted the connection and you don't have to read the qrcode again every time this happens, you can activate the sessions and there it is saved if you stop the code and turn it on again it will not ask to read the qr again.

@Guilherme-j10 How do you restart the connection exactly?

basically you can link the connection to a child_process and make a handle so that you can create and delete the connection based on an id or name so that you can reuse sessions that way you can create, remove and update connections programmatically.

Same issue

Mesmo problema aqui tmb

Same issue

I'm still facing the same problem. Any solution about it?

Hey guys so, it looks like it's normal for baileys to lose connection with the socket.
What I did was try to perform this reconnection automatically.
This is working for me so far.

A question.
/** ping-pong interval for WS connection */
keepAliveIntervalMs: number
this config is not enough ?

hello, any update about this issue?

same issue

, the appli

how to do this btw? I mean, where should i edit?

Same Issue... I guess that using pm2 is a patch that circunvent the problem... but should be a way to solve or at least prevent the program halt, catching this?

pm2 it just keeps the service running, the timedout itself doesn't stop the service it stays in a freeze state where it's possible to only receive messages but not send them

this problem is a bit annoying to tell the truth and any way to solve it is inefficient from the point of view that when the connection is being restarted and a message is received it will not be saved. Anyway inconsistencies will be generated

fixed?

Same issue

same
.../node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:136
            .then(() => reject(new boom_1.Boom('Timed Out', {
                               ^

Error: Timed Out
    at .../@whiskeysockets/baileys/lib/Utils/generics.js:136:32 {
  data: {
    stack: 'Error\n' +
      '    at promiseTimeout (.../node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:131:19)\n' +
      '    at waitForMessage (.../node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:114:53)\n' +
      '    at query (.../node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:136:22)\n' +
      '    at groupQuery (.../node_modules/@whiskeysockets/baileys/lib/Socket/groups.js:12:55)\n' +
      '    at groupMetadata (.../node_modules/@whiskeysockets/baileys/lib/Socket/groups.js:22:30)\n' +
      '    at .../node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:288:47\n' +
      '    at .../node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:291:23\n' +
      '    at Object.transaction (.../node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js:136:32)\n' +
      '    at relayMessage (.../node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:278:30)\n' +
      '    at Object.sendMessage (.../node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:649:23)'
  },
  isBoom: true,
  isServer: false,
  output: {
    statusCode: 408,
    payload: {
      statusCode: 408,
      error: 'Request Time-out',
      message: 'Timed Out'
    },
    headers: {}
  }
}

up

Guys i think i found a solution. My project was giving this error after 2 days. 3 days passed and there was no problem. I just added the following:
defaultQueryTimeoutMs: undefined,
Here is my full code:
sock = makeWASocket({
  printQRInTerminal: true,
  auth: state,
  logger: log({ level: "silent" }),
  browser: Browsers.macOS("Desktop"),
  syncFullHistory: false,
  defaultQueryTimeoutMs: undefined,
});

I live with this issue.
Just PM2 do the job of restarting the process everytime it exits.
I'll check the undefined thing, sounds weird

Has anyone tried Jasermon's solution and can confirm that it solves the problem?

Guys i think i found a solution. My project was giving this error after 2 days. 3 days passed and there was no problem. I just added the following:
defaultQueryTimeoutMs: undefined,
Here is my full code:
sock = makeWASocket({
  printQRInTerminal: true,
  auth: state,
  logger: log({ level: "silent" }),
  browser: Browsers.macOS("Desktop"),
  syncFullHistory: false,
  /** Default timeout for queries, undefined for no timeout */
  defaultQueryTimeoutMs: undefined,
});

Any update?
same error

Alguém já tentou a solução do Jasermon e pode confirmar que ela resolve o problema?

Pessoal, acho que encontrei uma solução. Meu projeto estava apresentando esse erro após 2 dias. 3 dias se passaram e não houve problema. Acabei de adicionar o seguinte:
defaultQueryTimeoutMs: undefined,
Aqui está meu código completo:
sock = makeWASocket({
  printQRInTerminal: true,
  auth: state,
  logger: log({ level: "silent" }),
  browser: Browsers.macOS("Desktop"),
  syncFullHistory: false,
  /** Default timeout for queries, undefined for no timeout */
  defaultQueryTimeoutMs: undefined,
});

Eu utilizei mas deu foi erro!!

Desistí de que funcione sin que de Timeout. Lo uso con PM2 y listo
El mar, 21 nov 2023 a las 10:56, arcanjinha @.***>)
escribió:

Alguém já tentou a solução do Jasermon e pode confirmar que ela resolve o
problema?
Pessoal, acho que encontrei uma solução. Meu projeto estava apresentando
esse erro após 2 dias. 3 dias se passaram e não houve problema. Acabei de
adicionar o seguinte:
defaultQueryTimeoutMs: undefined,
Aqui está meu código completo:
sock = makeWASocket({
printQRInTerminal: true,
auth: state,
logger: log({ level: "silent" }),
browser: Browsers.macOS("Desktop"),
syncFullHistory: false,
/** Default timeout for queries, undefined for no timeout */
defaultQueryTimeoutMs: undefined,
});
Eu utilizei mas deu foi erro!!
—
Reply to this email directly, view it on GitHub
https://github.com/WhiskeySockets/Baileys/issues/34#issuecomment-1820973739,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG3Y4CEDCZ2QYNFJJKCSWDTYFSXJDAVCNFSM6AAAAAAXOJSAIGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRQHE3TGNZTHE
.
You are receiving this because you commented.Message ID:
@.***>

--
Claudio Falaschini

Hello everyone,
I had this issue for a couple days, in my case, the problem was that I should NOT add a "+" at the start of the jid.
So, instead of<EMAIL_ADDRESS>it should be<EMAIL_ADDRESS>Hope this helps someone!

Same

I am also facing same issue , any fix available ?

Hello everyone,
I had this issue for a couple days, in my case, the problem was that I should NOT add a "+" at the start of the jid.
So, instead of<EMAIL_ADDRESS>it should be<EMAIL_ADDRESS>Hope this helps someone!

Sorry, I don't get it. Where exactly are you defining these jids? At least in my case I don't really need to perform any actions for it to happen after some time running.

same issue!
funnily enough pm2 isn't even restarting the process on my vm.
removing the '+' in jid did not help. neither did defaultQueryTimeoutMs: undefined.

same issue
somes number worked therefore make a logic for pass for next

Guys i think i found a solution. My project was giving this error after 2 days. 3 days passed and there was no problem. I just added the following:
defaultQueryTimeoutMs: undefined,
Here is my full code:
sock = makeWASocket({
  printQRInTerminal: true,
  auth: state,
  logger: log({ level: "silent" }),
  browser: Browsers.macOS("Desktop"),
  syncFullHistory: false,
  /** Default timeout for queries, undefined for no timeout */
  defaultQueryTimeoutMs: undefined,
});

be careful, undefined timeout when network access is unavailable can lead to a memory leak.

Hello everyone,
I had this issue for a couple days, in my case, the problem was that I should NOT add a "+" at the start of the jid.
So, instead of<EMAIL_ADDRESS>it should be<EMAIL_ADDRESS>Hope this helps someone!

THANKS BRO
it WORK 💯🚀


PHPDOC optimizes

coverage: 95.599%. remained the same
when pulling cb37ce18ccdcbc01077a765fc2fb9b9fb7d1ef58 on stan-optimization-feature
into 2b1be88cff6414e9d5b8940d5a15b1205c247355 on main.

coverage: 95.599%. remained the same
when pulling 6c2b0d44b2f0ece7087079f08c57b14192ef6972 on stan-optimization-feature
into 2b1be88cff6414e9d5b8940d5a15b1205c247355 on main.


Hot reload not working: [react-router] You cannot change

When editing a component from the demo HomePage, I get this message in the console:
Warning: [react-router] You cannot change <Router routes>; it will be ignored

And the hot reload doesn't happen. This is the full log after saving the file:
2017-04-14 19:00:04.559 client.js?102b:199 [HMR] bundle rebuilding
2017-04-14 19:00:04.861 client.js?102b:207 [HMR] bundle rebuilt in 283ms
2017-04-14 19:00:04.862 process-update.js?e13e:27 [HMR] Checking for updates on the server...
2017-04-14 19:00:04.900 index.js?e6ba:81 [React Transform HMR] Patching Root
2017-04-14 19:00:04.901 process-update.js?e13e:100 [HMR] Updated modules:
2017-04-14 19:00:04.901 process-update.js?e13e:102 [HMR]  - ./src/components/HomePage.js
2017-04-14 19:00:04.902 process-update.js?e13e:102 [HMR]  - ./src/routes.js
2017-04-14 19:00:04.902 process-update.js?e13e:102 [HMR]  - ./src/components/Root.js
2017-04-14 19:00:04.902 process-update.js?e13e:107 [HMR] App is up to date.
2017-04-14 19:00:04.903 browser.js?26d3:49 Warning: [react-router] You cannot change <Router routes>; it will be ignored

Node version:
7.8.0
npm version:
4.2.0
Operating system:
macOS Sierra 10.12.4
Command line used:
npm run setup, npm run start

Which version of React-router are you using? I believe that this should no longer be an issue with<EMAIL_ADDRESS>If you want to use<EMAIL_ADDRESS>you can move to dynamic routing

I tried with the current version of react-slingshot which uses<EMAIL_ADDRESS>If that's the case, I'll look at #393 and see if fixes it. Thanks!

I was able to get this to go away when I was using<EMAIL_ADDRESS>but I cannot recall how outside of the fact that we used dynamic routing.

Here is temporary solution, if anyone needs this to be fixed right away:
<Router history={history} routes={routes} key={Math.random()}/>

@anton-aleksandrov, thanks for posting the workaround. As this issue seems to be related to React router, perhaps open an issue there or see if there is an existing one. Either way, could you link it to this issue?

Closing as the issue seems to be a React router issue.


Kafka topic creation availability

I'm trying to boot up a Kafka service with hundreds of topics (around ~300), however when running terraform apply -parallelism=50, it fails after couple of minutes with:
│ Error: error waiting for Aiven Kafka topic to be ACTIVE: one of the Kafka Topics from the queue [[XXX List of Topics XXX]] is not found: 404: {"errors":[{"message":"Topic(s) not found","status":404}],"message":"Topic(s) not found"} -

I booting a fresh service, from a clean state, so all topics should be created.
Interestingly, I tried this multiple times and each of my tests ended up with exactly 110 topics, the names of the topics however differ.
I'd love some clarification of that error as no topic is expected to be found obliviously
This is my configuration, note that var.topics and var.private-topics holds a different list of topics:
resource "aiven_kafka_topic" "topics" {
    project = var.project_id
    service_name = aiven_kafka.kafka.service_name
    for_each = var.topics
    topic_name = each.key
    partitions = 20
    replication = 2
    termination_protection = true

    config {
        cleanup_policy = "delete"
        retention_ms = 172800000
    }

    depends_on = [
      aiven_kafka.kafka
    ]
}

resource "aiven_kafka_topic" "private-topics" {
    project = var.project_id
    service_name = aiven_kafka.kafka.service_name
    for_each = var.private_topics
    topic_name = each.key
    partitions = 20
    replication = 2
    termination_protection = true

    config {
        cleanup_policy = "compact,delete"
        retention_ms = 172800000
    }

    depends_on = [
      aiven_kafka.kafka
    ]
}

Probably the reason was that I concurrently created two looped topic resources.
It applied successfully once I used a depends relation between both blocks.


Slic3r GUI doesn't load without GDK_BACKEND=x11

Environment
Windows build number: 10.0.21364.0
Your Distribution version: Ubuntu 20.04
Your WSLg version: <IP_ADDRESS>

Steps to reproduce
Start Slic3r in GUI mode with command line slic3r --gui
WSL logs:
pulseaudio.log
versions.txt
weston.log
Expected behavior
Slic3r opens up its GUI
Actual behavior
Slic3r gives the error:
Fatal Error: wxGLCanvas is only supported on X11 currently.  You may be able to
work around this by setting environment variable GDK_BACKEND=x11 before starting
your program.
Segmentation fault

Adding GDK_BACKEND=x11 before the slic3r command allows Slic3r to load.

It appears that wxGLCanvas is not currently supported on Wayland, at least in the version of the component currently packaged with Ubuntu 20.04. WSLg is one of the first Linux desktop environment exposed Wayland by default. If you unset XDG_RUNTIME_DIR & WAYLAND_DISPLAY and run slic3r, it will automatically fallback to X11... or by forcing GDK to use X11 per the error message. You'll need to force the X11 backend until GDK is updated and the update package for Ubuntu 20.04.

I'm guessing if I want wxGLCanvas to support Wayland once merged I probably want to update the distro to 21.04 as a LTS release is unlikely to push newer major versions of software.


Toggle : elementStyle

After apply custom style through props elementStyle for Toggle => Error in console:
Error: You're calling ensureDirection on the same style object twice.
Stack trace:
ensureDirection@http://<IP_ADDRESS>:8080/jspm_packages/npm/material-ui@0.14.0-rc2/lib/utils/styles.js:25:24
prepareStyles@http://<IP_ADDRESS>:8080/jspm_packages/npm/material-ui@0.14.0-rc2/lib/utils/styles.js:92:21....
and does not apply style from elementStyle  for Toggle component.
Firefox, Chrome the same result.
Code:
const styles = {
  elementStyle : {
    didFlip: true, position: 'relative', cursor: 'pointer',overflow: 'visible',
    display: 'inline-block', height: 'auto', width: '80px',height: '40px', verticalAlign: 'text-top'
   }
}

<Toggle
         ref="toggle"
         elementStyle={styles.elementStyle}
         defaultToggled={true}
 />

After apply same style through refs and dom.style in componentDidMount,
without using props elementStyle:
let dom = ReactDOM.findDOMNode(this.refs['toggle']);
dom.style.didFlip = true; ...
all works as expected.
The main idea of style is make Toggle inline and restrict it's width for using father in custom component
with label before. I created that style from editing default Toggle main div in browsers style editor.

@ZhnZhn : Hope this is resolved for you. If this is still an issue do let me know I will reopen this.


Pr hook

Done in this Pr

Webhook github on port 8082 (and with history)
Real PrettyPr on files and Pull Requests

Hi,
How can I start the java server?


App crashes for logged-in users

clear local data. launch app. go to Profile pane. type in valid credentials. app crashes every time.
2013 Moto X with Android 5.1

should be fixed


works with arm

will this container work with an ARM base cpu? looked around on the site and say nothing about it?

Does this answer your question?
https://nginxproxymanager.com/setup/#running-on-raspberry-pi-arm-devices

In my experience, running on ARM is super annoying and problematic. It's particularly a problem as MariaDB has issues with running on ARM based devices. However using an SQLite database fixed pretty much everything for me.

It works great on ARM. I've been using it on a 4GB Raspberry Pi 4b for more than a year, without issues.
I'm not using it with MySQL, given the size of my deployment is small. It seems to do just fine using SQLite (see, here: https://nginxproxymanager.com/setup/#running-on-raspberry-pi-arm-devices ). I've also got a MariaDB server running bare metal on my Pi...I might switch my installation over to that just to see what happens.

This docker-compose.yml works without issue on rpi3, rpi4 and x64 vm or physical pc as I've used it on all of those for extended periods of time. I use ~20-ish proxy hosts.
version: '3'
services:
  app:
    container_name: nginx-proxy-manager
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '8080:80'
      - '81:81'
      - '8443:443'
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    restart: unless-stopped
    environment:
      TZ: Europe/London
      X_FRAME_OPTIONS: "sameorigin"
      DISABLE_IPV6: 'true'

  db:
    container_name: nginx-proxy-manager_db
    image: yobasystems/alpine-mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASS}
      - MYSQL_DATABASE=${MYSQL_DB}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASS}
    volumes:
      - ./data/mysql:/var/lib/mysql
    healthcheck:
      test: "/usr/bin/mysql --user=${MYSQL_USER} --password=${MYSQL_PASS} --execute \"SELECT 1;\""
      interval: 30s
      timeout: 10s
      retries: 5
    restart: always


OAuth2 Plugin + "request body in temp file"

We're running into an issue with the oauth2 plugin on kong (v0.8.1) causing a 500 error when our request body is relatively large. We get an error like this:
2016/05/24 01:56:29 [error] 118#0: *2223 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/kong/plugins/oauth2/access.lua:106: requesty body in temp file not supported
stack traceback:
coroutine 0:
    [C]: in function 'get_post_args'
    /usr/local/share/lua/5.1/kong/plugins/oauth2/access.lua:106: in function 'retrieve_parameters'
    /usr/local/share/lua/5.1/kong/plugins/oauth2/access.lua:366: in function 'parse_access_token'
    /usr/local/share/lua/5.1/kong/plugins/oauth2/access.lua:419: in function 'execute'
    /usr/local/share/lua/5.1/kong/plugins/oauth2/handler.lua:12: in function 'access'
    /usr/local/share/lua/5.1/kong.lua:188: in function 'access'
    access_by_lua(nginx.conf:98):2: in function <access_by_lua(nginx.conf:98):1>

As a workaround, we found that we can set client_body_buffer_size in the nginx configuration so it doesn't write to a temporary file. Are there any other ways we can get this work rather than setting it to some arbitrary value and hope we don't ever get a request bigger than that?
It looks like its because it's trying to read the entire body to get oauth parameters. Perhaps it would be better to only do that if the request content type was one of the form data types?

Going to close this, with 4c907bcd01531ee607eef545016ffeb931c68ab3 request body handling is now more easily configurable, allowing users to avoid buffering request bodies to disk. Thanks for the report!


Tutor and Instructor submissions are assigned to Tutors for correction

Describe the bug
My (test) submission for a file upload exercise and another submission of an instructor got graded by a tutor. I think it's a waste of time for our tutors to grade submissions from tutors and instructors as our submissions don't count anyways. Saw this only for a file upload exercise, but could imagine that this is also the case for programming exercises with the new dashboard.
I think it would benefit us if the submissions of tutors and instructors would be omitted from the assignment process

This is out of scope for now, because in some exercises it might be intended that tutors should grade instructor. If you don't want this, ask your tutors and instructors to not submit here, but use one of the test courses.


Adding the ability to resolve hostnames locally instead of passing them to server.

By setting a bool "ResolveHostnamesLocally" to true, hostnames are evaluated on the localmachine before they are passed to the remote socks5 server.

You can resolve the hostnames before Socklient.Connect(...), and pass the IPAddress to Connect(IPAddress ...) instead of Connect(string ...). Resolving hostnames internally is not necessary.

Dns.GetHostAddresses will block current thread, you should use Dns.GetHostAddressesAsync instead if you're in async context.

var address = (await Dns.GetHostAddressesAsync(destHost))[0];
var socklient = new Socklient(...);
await socklient.ConnectAsync(address, ...);

Yes you can resolve the hostnames before Socklient.Connect(...), but it's easier to just have the functionality internally. I will fix the thread blocking call now and add it.

It's not necessary to call IPAddress.TryParse, Dns.GetHostAddresses do this inside itself.
Dns.GetHostAddresses Source Code

The same to Dns.GetHostAddressesAsync.
Dns.GetHostAddressesAsync Source Code

Another, you can assign to destAddress instead of destHost, not necessary to convert it to string because it is already an address.

Add another point, do you have read RFC 1928 ?  I think this way to resolve the hostname locally, contrary to the original intention of RFC 1928

Should be fixed now.


Implement cluster context awareness

Depends on https://github.com/chimera-kube/policy-server/pull/39
Add functionality to the SDK so it is able to read Namespace,
Ingress and Service resources in order for a policy to take
contextual decisions.
This is a first approach, and there are plans to generalize this and
avoid hardcoded types.

@flavio this should be good to go.


Issue with Data Keys.INVISIBILITY

I'm encountering an issue when offering the following data to an ArmorStand Entity that I created within my plugin:

Keys.INVISIBLE: true
Keys.CUSTOM_NAME_VISIBLE: true
Keys.DISPLAY_NAME: ████████████████

The issue is that the name is not visible. In fact, I can't even change the armor stand to not be invisible using the Minecraft /entitydata command, nor does manually changing CustomNameVisible with the /entitydata command resolve my issue. I would like to note though, after a server restart, the names do appear finally.
I'm not certain if this issue is due to Sponge or Forge, but it is certainly not Minecraft. I know this because I have placed armor stands by hand and set all of these values and it worked fine.

I've created a gist highlighting my code, for relevance. Note: this is not a complete class file, so there may be some methods/fields missing, but I attempted to include all relevant ones.
https://gist.github.com/clucky/51e5c946844452051d2d

It is appearing that Keys.INVISIBLE is creating complete invisibility. Upon spawning of the invisible entity, there is no increase on the Entity counter in f3, even though the entity does exist on the server (/kill @e displays death message for ArmorStand).

This is rather strange, I will look into this and see what I can dig up.

Ok I've found the issue, I need some comments about how to handle this though. Basically the problem is that invisibility has two components. There's "invisibility" which is a property of an entity, and "vanished" which is a component of Sponge.
Minecraft uses invisibility to handle entities that are marked invisibile, which are still sent to the client, just marked with a flag so the game doesn't render them. Sponge uses vanished to prevent the clients from being sent packets pertaining to vanished entities so that players/entities are hid completely from the connected players.
This in most cases works out fine, since players can go invisible and be hidden from even hacked clients, which a NBT flag wouldn't accomplish. However when using this property with ArmorStands, the matter is confused, because the plugin wants only to hide the entity from rendering, not completely "delete" it from the client.
I see three solutions, the first is simply to modify the code that handles the invisibility flag to only set the invisibility of the ArmorStand, not changing it to vanished, causing the intended result. However this method will prevent the possibility of a valid use of wholly vanished ArmorStands. Option 2 is to leave the functionality of Keys.INVISIBLE as is, but modify the ArmorStand entity to support a setInvisible and isInvisible pair of methods that specifically handle the NBT property on ArmorStands. The third option is to do both, although I don't really see why this would be desired it is an option.
@SpongePowered/developers thoughts? The implementation of InvisibilityData is really strange as is and should probably be cleaned up regardless.

My thought would be to have the functionality of Keys.INVISIBLE to serve the purpose of the Minecraft NBT Invisible data, and then have methods setVanished() and isVanished() for entities, which would provide the Sponge packet filtering. When I think of the DataApi, I think of actually accessing the Minecraft NBT, not Sponge methods.

DataAPI is available for custom features by plugins and mods as well, I don't see why sponge should be singled out as not being allowed to have data.
I agree however that the naming for vanishing is confusing, and should be a separate key/value to invisibility.

I can implement another key for this. Another thing to consider is the fact that setting invisibility currently automatically seems to activate unbreakable and disable hitbox, unless they are previously set. However, that functionality seems unexpected especially as I can't see any documentation on the API or docs informing the difference.

What's about adding a Keys.VANISHED and modify the current Keys.INVISIBLE

That was exactly my plan. Working on it now.
On Mar 18, 2016 10:08 AM, "Felix K."<EMAIL_ADDRESS>wrote:

What's about adding a Keys.VANISHED and modify the current Keys.INVISIBLE
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/SpongePowered/SpongeCommon/issues/588#issuecomment-198401828

I haven't had a chance to carefully reply to this issue until now.
A few things to state:

Keys.INVISIBLE is meant to render the entity completely invisible. Completely invisible such that packets are not sent to players for the invisible entity, sounds are not played, particles aren't spawned, etc. The reasoning why it calls the internal setInvisible(boolean) is to maintain compatibility with not only vanilla functionality, but also mod compatibility.
Mojang's invisibility is a boolean toggle, but it should be treated separately in my opinion, not where it's called INVISIBLE but some other functional word that will relate that the entity is not completely invisible, but only rendered invisible.
Changing the functionality where Keys.INVISIBILITY doesn't completely render the entity invisible with packet/particle/sound handling is a breaking change, even though the API doesn't actually break, the intended behavior does break with various plugins, such as @mbax's Vanish plugin. So, if anything, the choice of changing the implementation of Keys.INVISIBILTY to only call the internal method, and Keys.VANISHED performs the current functionality would have to go into the bleeding branch of the API and implementation.
@modwizcode There's no real issue, it's intended functionality as the javadoc states, and as Bukkit's previous implementation used.

I'm open to suggestions on whether a change of the key's name is decided or whether an addition of an alternative "simple invisibility" key is added.

API issue: https://github.com/SpongePowered/SpongeAPI/issues/1151

I would just like to point out that complete invisibility was never the intention of InvisibilityData. I can only assume that at some point the definition was changed (not in writing? I don't remember this)
Before the data API it was simply a boolean render toggle
https://github.com/SpongePowered/SpongeAPI/blob/2046c95cb1fb689133f9bd7f2d110cce112d5546/src/main/java/org/spongepowered/api/entity/living/Living.java#L285-L316
Which I believe would toggle a particular bit in the entity metadata (http://wiki.vg/Entities#Entity_Metadata_Format)
Then when DataAPI 1.0 came out InvisibilityData still seemed to reference 'rendering' invisible only https://github.com/SpongePowered/SpongeAPI/blob/c2da2f690f590f7c1c428d8bfc3fc22279fdb9a0/src/main/java/org/spongepowered/api/data/manipulators/InvisibilityData.java
Even today in dataapi 2.0 it still mentions rendering
https://github.com/SpongePowered/SpongeAPI/blob/6a975e7d97d8f523905a880ef85cdb53f4d25761/src/main/java/org/spongepowered/api/data/manipulator/mutable/entity/InvisibilityData.java#L34
I assume that one day it was changed and no proper replacement for the existing functionality was added

@simon816 refer to the API issue.


[WIP] Japanese development branch

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


pkg/controller: Deflate redundant conditionals

Update the Catalog Operator and remove unnecessary if/else conditionals.

Description of the change:
Light refactoring of the Catalog Operator:

Remove unnecessary conditionals.
Deflate unnecessary if/else conditionals into if statements that can return early.

Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

/retest

/retest


WTF

So it appears that if the eth_call's value argument is greater than the from argument's current balance, it behaves as if the from's balance was origBalance + (value - origBalance) * 2.  Bizarre... logs are:
initialSenderBalance
BigNumber { _hex: '0x021e19de4c7e5f18f000', _isBigNumber: true }
moreValue:
BigNumber { _hex: '0x021e19de4c7e5f18f064', _isBigNumber: true }
lessValue:
BigNumber { _hex: '0x021e19de4c7e5f18ef9c', _isBigNumber: true }
msg.value, msg.sender.balance (eth_call with EQUAL value than the account has:
[
  BigNumber { _hex: '0x021e19de4c7e5f18f000', _isBigNumber: true },
  BigNumber { _hex: '0x00', _isBigNumber: true }
]
msg.value, msg.sender.balance (eth_call with 0x64 LESS value than the account has:
[
  BigNumber { _hex: '0x021e19de4c7e5f18ef9c', _isBigNumber: true },
  BigNumber { _hex: '0x64', _isBigNumber: true }
]
msg.value, msg.sender.balance (eth_call with 0x64 MORE value than the account has:
[
  BigNumber { _hex: '0x021e19de4c7e5f18f064', _isBigNumber: true },
  BigNumber { _hex: '0x64', _isBigNumber: true }
]

Whoops, this was meant to be a personal PR.  My bad folks 😅

Wait, but does hardhat network behave like that?

It does appear to be working in this weird way in JS tests, yes.  I am not sure what the correct behavior for eth_call is supposed to be if the value param exceeds the from's balance. I am trying to get it right for the OVM geth node and I quickly went here to check what the behavior--did I just find a bug/is this the wrong behavior?

How is eth_call supposed to behave if the value > the account's balance?

A brief look at Geth makes me think an eth_call should revert if value > account balance.

I looked into this a bit; both infura and remix throw errors.

I can confirm that geth throws a "insufficient funds for intrinsic transaction cost" error and that hardhat doesn't. I opened https://github.com/nomiclabs/hardhat/issues/1529 to track this.

I had no idea that was the expected behavior. Makes sense. It's simpler to implement with that restriction.
BTW, @ben-chain @smartcontracts you may find this interesting: https://github.com/ethereum/eth1.0-specs/pull/35 -- There's an ongoing effort to standardized the JSON-RPC interface, including this kind of edge cases. It's just starting, but I guess it can be useful for you.


Installation of older versions of packages

Hi,
I am trying to use vcpkg to install libraries. Everything is going well, but on some cases I need older version of the library.
For example, the actual version of boost is 1.75. For my project I need 1.72. Is there a way how can I install it using vcpkg?
I found something like: vcpkg install boost:boost-$(Arch)-$(Toolchain)-$(Hash)
vcpkg install boost:boost-x64-windows-1.72.0 is not working.
Can you help me what I am doing wrong? Or there is another way how to install older version of the package?
Thanks for you advices.

See #1681

Yes, you can use manifests with the newly added versioning features.
Read our Getting Started with Versioning guide.
Boost is a unique one since you need to override each individual port. It becomes easier if you limit yourself to depend on the ports you actually need. For example:
{
  "name": "boost-demo",
  "version": "1.0.0",
  "builtin-baseline": "60d979c5884f9564f397fdf7bca50eb5dd8d5a20",
  "dependencies": ["boost-core"],
  "overrides": [
    {
      "name": "boost-core",
      "version-string": "1.72.0"
    },
    {
      "name": "boost-compatibility",
      "version-string": "1.72.0"
    },
    {
      "name": "boost-config",
      "version-string": "1.72.0"
    }
  ]
}

Thanks.
So if I understand, there is no possibility how to install older version of packages via one line vcpkg install......
If I use manifest, there are some things like "builtin-baseline": "b60f003ccf5fe8613d029f49f835c8929a66eb61".
How can I know this number for boost 1.72?
Sorry, I am totally new to this.

Sorry, I am totally new to this.

No problem, we're here to help. You may also want to reach out to us on the #includecpp Discord (the vcpkg channel) for more synchronous communication.

So if I understand, there is no possibility how to install older version of packages via one line vcpkg install......

Right now there is no way to use versions with classic vcpkg (command-line interface).

If I use manifest, there are some things like "builtin-baseline": "b60f003ccf5fe8613d029f49f835c8929a66eb61".
How can I know this number for boost 1.72?

Since versioning was implemented fairly recently, the baseline does not go all the way back to Boost 1.72.  Because of that I suggested using "overrides".
There is a way to make a local retroactive baseline so that all the Boost packages are set to 1.72.

Create a new branch

git checkout -b boost-1.72-baseline

Modify versions/baseline.json to set the baseline version of all Boost packages to 1.72.0 (remember to set port-version to 0 too)

...
    "boost": {
      "baseline": "1.72.0",
      "port-version": 0
    },
    "boost-accumulators": {
      "baseline": "1.72.0",
      "port-version": 0
    },
    "boost-algorithm": {
      "baseline": "1.72.0",
      "port-version": 0
    },
...

 The proper way to do this without having to modify vcpkg locally is to use Git registries.

Thank you, I changed the version in versions/baseline.json, but when I want to install that package, it still install the newest one.

Can you copy and paste what your vcpkg.json looks like?

my vcpkg is some I just rewrote everywhere in boost 1.75.0 to 1.66.0.
Should I change also something else?

@petulka8s, could you attach the vcpkg.json file?

Hi @petulka8s
I opened a PR that adds documentation of how to pin specific Boost versions.
Please take a look at it, and let me know if it helps.

@petulka8s, please reopen this issue if it still be a problem for you.


Don't show the icon fitness

I'm testing with the icon fitness but don't show, I tested with other icons like Ion::icon('social-twitter'); and I can see it.

Verify that the ionicons.min.css file is present in the page code and that the fonts from the assets directory are available in the browser.


publishing changes to placement of Docker Enterprise content

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit c76c377d8b98c7f4509ccebfcd44fc366d1aa16c
https://deploy-preview-10068--docsdocker.netlify.com


Tester continues (and even passes) after Simulator is down

Moving Arms - Restricted Axis Purpose Test
Due to a mistake Simulator is set to run for 10 steps, Tester is set to 20 steps. I expect this setup to fail all the time, but it only occasionally fails:
https://semaphoreci.com/capitanbatata/torxakis/branches/develop/builds/93
And the failure is due to timing out; it doesn't stop testing after Simulator goes offline:
> TXSSERVER CMD >>  PARAM param_Sut_deltaTime 5500
> TXSSERVER RSP <<  MACK param_Sut_deltaTime = 5500
> TXSSERVER RSP <<  PACK PARAM
> TXSSERVER CMD >>  TESTER Model RestrictedAxisTestPurpose Sut
> TXSSERVER RSP <<  MACK Tester started
> TXSSERVER RSP <<  PACK TESTER
> TXSSERVER CMD >>  TEST 20
> TXSSERVER RSP <<  MACK .....1:  IN:  Act    { { ( UpZ, [] ) } }
> TXSSERVER RSP <<  MACK .....2:  IN:  Act    { { ( StopZ, [] ) } }
> TXSSERVER RSP <<  MACK .....3:  IN:  Act    { { ( DownZ, [] ) } }
> TXSSERVER RSP <<  MACK .....4:  IN:  Act    { { ( StopZ, [] ) } }
> TXSSERVER RSP <<  MACK .....5:  IN:  Act    { { ( UpY, [] ) } }
> TXSSERVER RSP <<  MACK .....6:  IN:  Act    { { ( StopY, [] ) } }
> TXSSERVER RSP <<  MACK .....7:  IN:  Act    { { ( DownZ, [] ) } }
> TXSSERVER RSP <<  MACK .....8:  IN:  Act    { { ( StopZ, [] ) } }
> TXSSERVER RSP <<  MACK .....9:  IN:  Act    { { ( DownX, [] ) } }
> TXSSERVER RSP <<  MACK ....10:  IN:  Act    { { ( StopX, [] ) } }
> TXSSERVER RSP <<  MACK ....11:  IN:  Act    { { ( DownY, [] ) } }
> TXSSERVER RSP <<  MACK ....12:  IN:  Act    { { ( StopY, [] ) } }
> TXSSERVER RSP <<  MACK ....13:  IN:  Act    { { ( UpX, [] ) } }
> txsserver: txsserver: <socket: 60>: hGetLine: end of file
> <socket: 59>: hGetLine: end of file
> txsserver: <socket: 58>: hGetLine: end of file
> txsserver: <socket: 62>: hGetLine: end of file
> txsserver: <socket: 57>: hGetLine: end of file
> txsserver: <socket: 61>: hGetLine: end of file
> TXSSERVER RSP <<  MACK ....14:  IN:  Act    { { ( txsserver: S<socket: 49>: hPutChar: resource vanished (Broken pipe)t
> opX, [] ) } }
> TXSSERVER RSP <<  MACK ....15:  IN:  Act    { { ( DownZ, [] ) } }
> TXSSERVER RSP <<  MACK ....16:  IN:  Act    { { ( StopZ, [] ) } }
> TXSSERVER RSP <<  MACK ....17:  IN:  Act    { { ( UpX, [] ) } }
> TXSSERVER RSP <<  MACK ....18:  IN:  Act    { { ( StopX, [] ) } }
> TXSSERVER RSP <<  MACK ....19:  IN:  Act    { { ( DownY, [] ) } }
> TXSSERVER RSP <<  MACK ....20:  IN:  Act    { { ( StopY, [] ) } }
--- EOF ---

While Simulator happily exits after 10 steps:
> TXS >>  input files parsed:
> TXS >>  examps/MovingArms/MovingArms.txs examps/MovingArms/RestrictedAxisPurpose.txs
> TXS >>  Simulator started
> TXS >>  .....1: OUT: No Output (Quiescence)
> TXS >>  .....2: IN: Act { { ( UpZ, [] ) } }
> TXS >>  .....3: IN: Act { { ( StopZ, [] ) } }
> TXS >>  .....4: IN: Act { { ( DownZ, [] ) } }
> TXS >>  .....5: IN: Act { { ( StopZ, [] ) } }
> TXS >>  .....6: IN: Act { { ( UpY, [] ) } }
> TXS >>  .....7: IN: Act { { ( StopY, [] ) } }
> TXS >>  .....8: IN: Act { { ( DownZ, [] ) } }
> TXS >>  .....9: IN: Act { { ( StopZ, [] ) } }
> TXS >>  ....10: IN: Act { { ( DownX, [] ) } }
> TXS >>  PASS
> TXS >>  txsserver closing "localhost" : 57530
> TXS <<  TXS <<  TXS <<
> TXS >>  TorXakis :: Model-Based Testing  << End
>
--- EOF ---

All events are on IN channels....
So indeed tester can continue with simulator down.
First guess: the model must be changed - StopX and StopY and StopZ must be output!

I'll take a look


Refactor upgrade test

Description

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

When merging, use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

/run pipeline

Working locally, I'm just not 100% sure how it will act in the pipelines. I hope it will "just work", but may need to set some extra variables for the git clone

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Scenario: Keyboard Text Selection

[Original issue: #715] [Original Spec: #2840] [Mark mode spec: #5804] [initial PR: #10824] [markers PR: #10865]
Features

[x] #715
[x] Quick Edit (modify existing selection w/ keyboard)
[x] #1469
implicit mark mode

[ ] #11985

see also: #13369

[x] [follow-up] #3663
[x] [follow-up] #6649
[x] [follow-up] #4985

Bugs

#13413
#13447
#13485

Misc.

[ ] Remove optional param for copy func, manually clear selection instead
feedback from #13533:

[ ] Prioritize mark mode key bindings over custom key bindings when in mark mode
Scrolling...

[ ] [PROTOTYPE] scrolling should move the "mark"
[ ] If we've scrolled, then we enter mark mode, start position should be somewhere in the visible area (NOT back at the input buffer aka the cursor position).

PRs

Spec...

#2840
#5804

Impl...

#3758
#10824
#13045
#10865
#13053
#13358
#13370
#13405
#13435

I would like to be able to edit text in Windows Terminal the same way it happens e.g. in Notepad, Microsoft Word or all other applications, i.e.:

Selection with SHIFT+arrows, SHIFT+CTRL+arrows, SHIFT+Home, End.
Cut, Copy, Paste using familiar keys.
The entire selected text is overwritten when I press a "normal" key, e.g. a letter, a symbol or a digit, or when I paste something.
The selection is cleared when I press navigation key (arrow, CTRL+arrow, Home, End, PgUp, PgDn).

The Mark Mode is interesting, but not really what Microsoft made us familiar with since '90s. It maybe has its users, but the majority learned to work the way I described above. Mark mode reminds me of the WordStar editor from '80s where CTRL+K, B marked the beginning of a block, and CTRL+K, K marked the end, and then it was persisting until you did some operation on it. It was interesting (seemed quite standard and useful at that time), but Microsoft got us used to a volatile selection and its way of working with it.
Please then bring the Microsoft way of working with selections to Microsoft Windows Terminal.
Thank you.


Iteration Plan for March 2020

This plan captures our work in March. We will ship in early April. This is a 5-week iteration.
Endgame

March 30th, 2020: Endgame begins
April 3rd, 2020: Endgame done

The endgame details for this iteration are tracked in https://github.com/microsoft/vscode/issues/93717.
Plan Items
Below is a summary of the top level plan items.
Legend of annotations:

Mark
Description

:runner:
work in progress

:hand:
blocked task

:muscle:
stretch goal for this iteration

:red_circle:
missing issue reference

:large_blue_circle:
more investigation required to remove uncertainty

:black_circle:
under discussion within the team

UX

[x] Identify which icons we use for dynamic sidebar views (caused by moving views) https://github.com/microsoft/vscode/issues/92590 @misolori

Accessibility

[x] Improve the accessibility of the Differences view (F7) https://github.com/microsoft/vscode/issues/88695 @isidorn
[x] Accessibility issues, see query @isidorn

Workbench

[x] Settings sync: support global state, snippets https://github.com/microsoft/vscode/issues/86678 https://github.com/microsoft/vscode/issues/86679 @sandy081
[x] Settings sync: improvements to the settings editor (visual indicators, filters) https://github.com/microsoft/vscode/issues/92517 @roblourens
[x] Enable views to move between containers using drag'n drop and commands https://github.com/microsoft/vscode/issues/92786 @sbatten @sandy081 @isidorn
[x] Allow contribution of views into the panel https://github.com/microsoft/vscode/issues/41686 @sbatten
[ ] :runner: Provide in core implementation for notebooks https://github.com/microsoft/vscode/issues/91987 @rebornix @jrieken @roblourens
[ ] :runner: Stabilize and document Custom Editor support https://github.com/microsoft/vscode/issues/77131 @mjbvz @bpasero @jrieken
[ ] :runner: Provide account management UI https://github.com/microsoft/vscode/issues/90385 @rmacfarlane @misolori
[x] Explore using GH Applications in GH authentication provider https://github.com/microsoft/vscode/issues/92675 @rmacfarlane
[ ] :runner: Supporting to customize the product icons https://github.com/microsoft/vscode/issues/79130 @aeschli @misolori
[x] Global undo/redo: close and reopen a file preserves the undo stack https://github.com/microsoft/vscode/issues/7169 @alexdima
[ ] Global undo/redo: support to undo an operation for a file that is not in memory https://github.com/microsoft/vscode/issues/92272 @alexdima
[x] Investigate support for Local Workspace settings https://github.com/microsoft/vscode/issues/40233 @sandy081
[x] Make extension packs more visible in the Extensions view https://github.com/microsoft/vscode/issues/89962 @sandy081
[x] Support Welcome Views for Custom Views https://github.com/microsoft/vscode/issues/92143 @alexr00
[x] Explorer: Show hidden files and their path when they are opened https://github.com/microsoft/vscode/issues/92090 @isidorn
[ ] :muscle: Explorer: Add support for inclusion filters https://github.com/microsoft/vscode/issues/869 @isidorn
[x] Finish timeline support and enable it in Stable https://github.com/microsoft/vscode/issues/84297 @eamodio
[x] Allow for view-local progress indication https://github.com/microsoft/vscode/issues/92421 @eamodio

Editor

[x] Semantic coloring: finalize API https://github.com/microsoft/vscode/issues/77140 @alexdima @aeschli
[ ] :runner: Semantic coloring: implement API to color a range of a document https://github.com/microsoft/vscode/issues/92273 @alexdima
[x] Semantic coloring: Add support for coloring library symbols https://github.com/microsoft/vscode/issues/91090 @aeschli

Terminal

[ ] :runner: :muscle: Allow extensions to customize the environment of terminal processes https://github.com/microsoft/vscode/issues/46696 @tyriar
[x] Support for terminal link handlers https://github.com/microsoft/vscode/issues/91606 @tyriar

Languages

[ ] :runner: Support richer labels in completion items https://github.com/microsoft/vscode/issues/39441 @octref @jrieken
[x] Provide guidance for language servers for embedded languages https://github.com/microsoft/vscode/issues/47288 @octref @aeschli

LSP / LSIF

[x] Update the TypeScript LSIF indexer to TypeScript 3.8 https://github.com/microsoft/lsif-node/issues/94 @dbaeumer
[x] LSIF: Support reference delegates over projects https://github.com/microsoft/lsif-node/issues/95 @dbaeumer
[ ] :muscle: Specify accept and content encoding in LSP https://github.com/microsoft/vscode-languageserver-node/issues/553 @dbaeumer

HTML/CSS

[x] Improve auto-rename tag implementation by not relying on multiple cursors https://github.com/microsoft/vscode/issues/88424 @octref

TypeScript/JavaScript

[ ] :hand: Adopt TS recovery release 3.8.x https://github.com/microsoft/vscode/issues/92819 @mjbvz
[ ] :runner: Help TS team to assume ownership of semantic highlighting in TS tooling https://github.com/microsoft/vscode/issues/92789 @aeschli @mjbvz
[ ] Collaborate with TS team on documentation of how to work with large TS projects https://github.com/microsoft/vscode/issues/92820 @mjbvz

Debug

[x] Allow debug extensions to provide configurations to display in Select and Start Debugging https://github.com/microsoft/vscode/issues/88230 @weinand @isidorn @connor4312
[ ] :runner: Adapt "auto attach" feature in js-debug https://github.com/microsoft/vscode/issues/88599 @connor4312 @weinand
[x] Adopt terminal link handlers in js-debug https://github.com/microsoft/vscode-js-debug/issues/387 @connor4312
[x] Improve Call Stack presentation in the UI https://github.com/microsoft/vscode/issues/83986 @isidorn @misolori
[x] Debug Welcome View: work with Debug Adapter providers to contribute content https://github.com/microsoft/vscode/issues/85548 @isidorn
[ ] :runner: Explore using language service support for scope resolution https://github.com/microsoft/vscode/issues/84044 @weinand
[ ] :muscle: Explore using language service support for REPL evaluation https://github.com/microsoft/vscode/issues/87448 @weinand
[x] Explore progress UI for debugging https://github.com/microsoft/vscode/issues/92253 @isidorn @weinand
[x] Explore improving the debug experience when a single file is open without a launch config https://github.com/microsoft/vscode/issues/92269 @weinand
[x] Implement new DAP protocol features for caret/selection positioning in completions https://github.com/microsoft/vscode/issues/90974 @isidorn
[ ] :runner: Explore initial support for capturing and viewing performance profiles in js-debug https://github.com/microsoft/vscode-js-debug/issues/388 @connor4312

DAP

[x] Finalize cancellable progress events https://github.com/microsoft/debug-adapter-protocol/issues/92 @weinand

Tasks

[x] Improve task detection and selection https://github.com/microsoft/vscode/issues/90087 @alexr00

API

[ ] :runner: March extension authors call https://github.com/microsoft/vscode/issues/93604 @eamodio @fiveisprime
API finalization: query
API proposals: query

Extension Contributions

[ ] Improvements to the Remote extensions (see plan here) team

ES Lint

[x] Embbed links to documentation in eslint diagnostic messages https://github.com/microsoft/vscode-eslint/issues/911 @dbaeumer

Engineering

[ ] :runner: Explore node-free renderer processes https://github.com/microsoft/vscode/issues/92164 @bpasero @deepak1556
[x] Rewrite quick open with quick pick widget https://github.com/microsoft/vscode/issues/69955 @bpasero @chrmarti
[x] Run Smoke Tests as part of the nightly build (without failing the build if unsuccessful) https://github.com/microsoft/vscode/issues/92271 @bpasero @chrmarti
[x] Support to validate Test Plan items when generate endgame testing assignments https://github.com/microsoft/vscode-tools/issues/34 @sandy081 @JacksonKearl

Documentation

None.

Deferred Items

Support for custom views with WebView contents https://github.com/microsoft/vscode/issues/83911 @mjbvz
:runner: Support to preview refactoring changes for other refactorings than Rename https://github.com/microsoft/vscode/issues/77728 @jrieken @mjbvz
Terminal link provider API https://github.com/microsoft/vscode/issues/91290 @Tyriar
:runner: Improve presentation of TS hovers https://github.com/microsoft/vscode/issues/92787 @octref @mjbvz

vscode 1.44 update seems to have broken the remote connection.
#92423

Hey, how come I don't see anything about the pinning tabs feature (like, actually pinning tabs) here? It's one of the most desired, asked for, and needed features in VSCode, it's been 3.5 years, and we haven't heard anything back about it.
https://github.com/Microsoft/vscode/issues/12622

And I thought I had mentioned in the past somewhere but when I think of pinning tabs I'm thinking of the exact same functionality that Firefox provides for pinning tabs: Right click -> Pin Tab, tab becomes a small square that you can't move or easily close. Right click -> Unpin Tab, now it's like a regular tab again.
I pin tabs all the time, when they're meant to be there for the long-term. The rest of the tabs I may close at any time. I'm certain this must be a very common workflow, and VSCode should support it.

Also, multi-row tabs would be great

@gkkirilov I asked for it in early December
This feature was requested in March 2019.
IMHO, multi-line tabs and pinned tabs is a must have.

Released yesterday


Java8 ZoneDateTime

Hello,
I have entities that include the Java8 ZoneDatetime and when I use your JEST libarary. It throws jackson serialization errors. I was wondering have you had any luck with Java 8 DateTime methods?

om.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class java.time.ZonedDateTime]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?)

I think the solution can be found here: http://palashray.com/jackson-handle-localdate-for-json/
I will tinker with this over the weekend, and if I can get it working, will submit a pull request.

Just pass in the custom object mapper into your configuration. For example:
@Autowired
private ObjectMapper myCustomObjectMapper;

 @Bean
    public EntityMapper entityMapper() {
        return new EntityMapper() {
            @Override
            public String mapToString(Object object) throws IOException {
                return myCustomObjectMapper.writeValueAsString(object);
            }

            @Override
            public <T> T mapToObject(String source, Class<T> clazz) throws IOException {
                return myCustomObjectMapper.readValue(source, clazz);
            }
        };
    }

  @Bean
        @Primary
        public ElasticsearchOperations elasticsearchTemplate(JestClient jestClient) {
            return new JestElasticsearchTemplate(jestClient, new DefaultJestResultsMapper(entityMapper));
        }

I have entities that use java 8 localdatetime

Hi @mluckenbill , can you tell me if the @aminmc solution fixed your problem and if we can close this issue ?
Thanks.

Hello @VanRoy and @aminmc I'll take a look shortly.


Add Session API method to remove user TOTP 2FA

Preflight Checklist

[X] I could not find a solution in the existing issues, docs, nor discussions
[X] I have joined the ZITADEL chat

Describe your problem
Current Session API contains methods to remove SMS OTP and Email OTP, but no method to remove TOTP. There is now way to change user's TOTP but to use admin console interface (i.e. in a case of the user lost TOTP device).
Describe your ideal solution
Session API contains method to remove user TOTP, like other OTP removal methods. This method can be called by other user (service user with user management permissions).
Version
2.37.1
Environment
Self-hosted
Additional Context

Hei @dimyle
The email and sms otp were implemented after the the release of our new resource apis, thats why they are already complete in there.
For older methods we have only migrated what we need to build the login at the moment. Other requests will be migrated later on.
You can find the totp in the auth or management API. (depending on your use case)
Auth (my own authenticated user) https://zitadel.com/docs/apis/resources/auth/auth-service-remove-my-auth-factor-otp
Management (as an admin for another user) https://zitadel.com/docs/apis/resources/mgmt/management-service-remove-human-auth-factor-otp

I will therefore move this issue to the backlog, it will be addressed for sure as we want to migrate all endpoints to the new apis, but can't give you an eta yet

Hello @hifabienne
Thanks a lot, management API method works like a charm.


Modify ModelManager to have own VmsParser

Did first step of avoiding creating a new parser everytime

Current Idea:
Represent these shortcut words as Key and in 3 classes PatientKey, VaccinationKey, AppointmentKey.
In each of these classes there will be a String keyword and a static String MAIN_KEY_NAME

Left with implementing logic for the VMS parser, and also handle some bugs (same keyword mapping should not be allowed)
Need to also set a limit for the number of maximum keywords to be set by user.

Closes #231, #232, #233, #234.


ControlNet does not work

I remove the '--default_only' function as specified, but ControlNet does not work
Maybe I'm missing something, but I can't find the ControlNet models in the file directory, do they have to be installed separately?
Please help me to understand

Hi @Obnyamshi 👋 Please try again


Feature charts have inconsistent Linux Only and Deploys on Windows Labels

Rancher Server Setup

Rancher version: on 2.6.4 and 2.6.5-rc2
Installation option (Docker install/Helm Chart): HA

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE1

Information about the Cluster

Kubernetes version: Any - default - 1.22
Cluster Type (Local/Downstream): - RKE1/RKE2 (any)

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom) Admin

Describe the bug
Feature charts have inconsistent Linux Only and Deploys on Windows Labels
To Reproduce

Deploy a downstream cluster or on the local cluster
Navigate to Apps and Marketplace --> Charts
The following charts do not have Linux Only OR Deploys on Windows Labels

CIS
Alerting drivers
rancher-wins-upgrader
rancher-backup
vSphere - CPI and CSI
WWebhook
Harvester cloud provider
Harvester CSI
Windows GMSA
Vsphere - Partner chart

Result
Expected Result
All charts must show consistent labels

@sowmyav27 The labels come from the new os annotations we introduced in 2.6.4 and set on all charts. AFAIK, what you are seeing is the expected behavior, and the “linux only” labels are from specific cases that should eventually go away. If you think this needs improvement, then we should have UI improve it since the UI is consuming the annotations from the charts to display the labels.
This is the behavior you are seeing:

Charts with the permit-os=linux,windows annotation do not have a label, because you can deploy them in a hybrid cluster now (With linux and windows nodes)

Charts with the deploys-on-os=windows annotation have a “Deploys on Windows” label, because they have windows components that will get deployed if you have a Windows node (monitoring and logging only)

Charts with “Linux only” are missing the permit-os annotation and are falling back to the old logic where “Linux only” means they can’t be deployed in a hybrid cluster. The reason for gatekeeper and longhorn having this label is temporary, we removed the annotation due to this and this, and once fixed we will add it back and the label will not show up since they will then support hybrid clusters. Neuvector is because they chose to leave it out (see this comment). External IP Webhook is most likely missing it because it is deprecated for k8s 1.21+ and I think it was not included in the dev/test plan when we introduced the annotations. However, the latest versions of this chart are hidden for clusters with k8s 1.21+ with the exception of 100.0.0+up1.0.0 because we probably missed it which is why it shows up. We should hide it like the other versions and maybe consider adding the annotation for the sake of consistency with the labels.

The messaging inside the application needs a better design, but it will require some time to figure that design out. So this has to go into 2.6.6

@MKlimuszka I know there's been some churn regarding labels for OS-specific charts that the UI was so I'll check if we have a ticket tied to this already, though we may need a new one if this is a bug stemming from prior work done here.

@gaktive On a side note, this issue will be affected by the design changes we make here (there might be other issues, but this is the one I know of at the moment).

@PennyScissors does that mean what QA is testing for 2.6.5 is OK and this is revisited for 2.6.6? or does this impact them now?

@gaktive AFAIK yes, because this was introduced in 2.6.4 and the behavior stated in this issue is expected, but the current labels make it confusing for the user so this issue is to track how we can improve them. @sowmyav27 please correct me if I'm wrong.

@gaktive AFAIK yes, because this was introduced in 2.6.4 and the behavior stated in this issue is expected, but the current labels make it confusing for the user so this issue is to track how we can improve them. @sowmyav27 please correct me if I'm wrong.

It pretty much breaks the entire helm/app management system in rancher if you have a single Windows node...


fix(apple): Ignore expired login status

Fix incorrect login status ("Signed Out" / "Signed In as" as shown in the UI) at launch.
Possibly fixes #3174.

@jamilbk This PR tries to fix the issue described in https://github.com/firezone/firezone/issues/3174#issuecomment-1965823403.
When the app starts in step 5 (after force-quitting the app and disconnecting the tunnel in Settings), the token is in the keychain, so we consider that as logged in, and ask the keychain for the username. Meanwhile, we notice that the tunnel is disconnected, so we check the reason, and decide to sign out the user. On signing out, we set the login status as signed out. So far, so good, but after this, the keychain call returns the username, and we then proceed to set "Signed In as " in the UI.
This bug was introduced by me in #3098, and I think I made a mistake there -- I seem to have introduced a race rather than fixing a race.
I don't know if this PR would fix the other problems about launching the app quickly. Please test it and let me know.


__typename requirement added to generated response class where codegen hasn't added it to query

(possibly an issue of apollo-codegen and not the android class compiler)
The __typename requirement Field.forString("__typename", "__typename", null, false) is added to generated classes where the generated query string has not had __typename inserted - this means responses aren't parsed properly as its stated as non-optional so throws an exception during parsing
Recreation steps:
in the sample app, add  apollo {generateClasses = true} to the build.gradle, and add the following query to the project
https://github.com/apollographql/apollo-android/pull/141/files#diff-227b6003770dee5470c3375525cbdc2b
you'll see that the while you can find no generated QUERY_DEFINITION or FRAGMENT_DEFINITION with __typename, you still have the requirement added to the Node inner class of AllStarships
Seemingly in this instance, the type name would not be required as there aren't multiple fragments placed together in the query (thus the client should know what to expect), so one solution would be to check whether there are multiple fragments before placing the type name requirement code

Yeah, apollo-codegen only added __typename to a selection set when it couldn't statically determine the object type. This is a nice optimization, but it isn't worth the extra complexity I think, so I changed it to always add __typename (as the Apollo JS client also does).
Updating to apollo-codegen 0.10.5 should fix your problem.

thanks!


Update filters-dynamic-manifest-overview.md

Minimum DVR is now 1 minute, not 5 minutes

@xpouyat : Thanks for your contribution! The author, @Juliako, has been notified to review your proposed change.

applied changes in https://github.com/MicrosoftDocs/azure-docs-pr/pull/86341

#please-close