Change docker working dir?

Hi!
I am trying looking to change the working directory of the docker image. I am wanting to do this so i can create a home assistant addon that just runs interactor.
I have gotten the base working and it works very well, but i cannot seem to figure out how to change the working directory to /data instead of /project (I think thats what i want). This is so i can save stuff to the database without it clearing on a reboot.
Heres the docs for creating an addon if your interested .https://developers.home-assistant.io/docs/add-ons
A benefit of installing it though home assistant is well is if i can get the database working, i can easily create backups of it.
Thanks for the program!

Interesting idea. I think that would work really well
Currently it uses /project/config
https://github.com/delfick/photons/blob/main/apps/interactor/docker/harpoon.yml#L2
Is /data something you have control over? Also why does the working
directory matter?
Once you have something working it should be easy to put it in Photons
itself
On Mon, 21 Jun 2021, 9:01 pm Joshua, @.***> wrote:

Hi!
I am trying looking to change the working directory of the docker image. I
am wanting to do this so i can create a home assistant addon that just runs
interactor.
I have gotten the base working and it works very well, but i cannot seem
to figure out how to change the working directory to /data instead of
/project (I think thats what i want). This is so i can save stuff to the
database without it clearing on a reboot.
Heres the docs for creating an addon if your interested .https://developers.home-assistant.io/docs/add-ons
A benefit of installing it though home assistant is well is if i can get
the database working, i can easily create backups of it.
Thanks for the program!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/delfick/photons/issues/62, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2V5OV7PP5NO37V3JAZELTT4LYRANCNFSM47BK7EVA
.

that's meant to be line 20 and I'm not at a computer to edit
On Mon, 21 Jun 2021, 10:07 pm Stephen Moore, @.***> wrote:

Interesting idea. I think that would work really well
Currently it uses /project/config
https://github.com/delfick/photons/blob/main/apps/interactor/docker/harpoon.yml#L2
Is /data something you have control over? Also why does the working
directory matter?
Once you have something working it should be easy to put it in Photons
itself
On Mon, 21 Jun 2021, 9:01 pm Joshua, @.***> wrote:

Hi!
I am trying looking to change the working directory of the docker image.
I am wanting to do this so i can create a home assistant addon that just
runs interactor.
I have gotten the base working and it works very well, but i cannot seem
to figure out how to change the working directory to /data instead of
/project (I think thats what i want). This is so i can save stuff to the
database without it clearing on a reboot.
Heres the docs for creating an addon if your interested .https://developers.home-assistant.io/docs/add-ons
A benefit of installing it though home assistant is well is if i can get
the database working, i can easily create backups of it.
Thanks for the program!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/delfick/photons/issues/62, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2V5OV7PP5NO37V3JAZELTT4LYRANCNFSM47BK7EVA
.

Cool. The reason my I thought /data would work is since it's labeled as

/data is a volume for persistent storage

I got that from here.
There is also a map function that also might work for this.

List of maps for additional Home Assistant folders. Possible values: config, ssl, addons, backup, share or media. Defaults to ro, which you can change by adding :rw to the end of the name.

This is my first try with homeassistnt addons so I would guess /data would work as it says, but I am not totally certain.

so what do you have so far?

you can just make another WORKDIR entry in your docker file

Also, ENV LIFX_CONFIG=/data/interactor.yml will make it so that it gets configuration from /data/interactor.yml

This is what i have at the moment. https://github.com/Final-Hawk/homeassistant-photons-addon
As you suggested i tried the lifx config environment variable. I have also tried the work directory ones previously but annoyingly they didn't work either.

Your bigger problem is your docker file doesn't do anything :)

Yup. Thats what i am trying to figure out whats going on as well

hint: every docker file has a FROM line
Anyway, sleep time for me. goodnight!
On Mon, 21 Jun 2021, 10:56 pm Joshua, @.***> wrote:

Yup. Thats what i am trying to figure out whats going on as well
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/delfick/photons/issues/62#issuecomment-865009996, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2V5OEPRYSGGWCUVUZKBDTT4ZIPANCNFSM47BK7EVA
.

I have managed to get the dockerfile partly working. It runs. However i need to either merge it into here, or somehow change the docker build context. This is because its trying to copy /modules and /apps which dont exist in my repo. Maybe git clone may work.

You can use the existing image as a FROM in your image for now and then
everything will be available to you.
when you get something working then we can make the real image usable as a
home assistant addon by itself.
On Tue, 22 Jun 2021, 7:37 am Joshua, @.***> wrote:

I have managed to get the dockerfile partly working. It runs. However i
need to either merge it into here, or somehow change the docker build
context. This is because its trying to copy /modules and /apps which dont
exist in my repo. Maybe git clone may work.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/delfick/photons/issues/62#issuecomment-865362092, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2V5OPMHWP2D5A3Y7AJWLTT6WLHANCNFSM47BK7EVA
.

I think your docker file just needs to be
FROM delfick/lifx-photons-interactor:0.8.5
WORKDIR /data

And it should just work. You don't want all of photons interactor to be in /data

Thanks! Just tried that and it works a charm!

Heres the repo https://github.com/Final-Hawk/homeassistant-photons-addon

@Djelibeybi do you have strong opinions on me making a new version of interactor that just changes the working dir in the container to /data?

@delfick I would consider that a breaking change. I currently mount a host directory to /project/config inside the container. If the WORKDIR changes, so do my containers.
IMO, it would be better to build the Photons add-on for Hass.io using the Hass.io base image.

@Final-Hawk your Dockerfile is missing the required LABEL definitions: https://developers.home-assistant.io/docs/add-ons/configuration/#add-on-dockerfile

Yeah, I agree it's a breaking change (the assessment is over likelihood of many people using current image :p) Should be easy though to have a separate docker image based on hass.io image that does the same thing and publish both when I make photons images. Would it need to be built for the same number of platforms?

I don't think changing the work directory is necessary. It might break more
things than it adds for people, and changing it via the dockerfile isn't
too difficult. I don't have too much experience with docker so take that
with a grain of salt though.  So far my running instance of photons through
the addon is working great, and the database is saving correctly.
Thanks for letting me know about the labels as well Djelibeybi, I'll fix
that up later.

Would it need to be built for the same number of platforms?

From my (very brief) review of the Hass.io add-ons, it looks like their build system does this, using the layout and structure documented for an add-on. I think it's a good idea, but it's not a case of "docker image and done".

I don't think changing the work directory is necessary

changing it means the default place the database goes is /data

changing it means the default place the database goes is /data

I know i opened the issue to do this, but now that we have managed to change the work directory i don't think it is necessary anymore. This is more just so it doesn't break peoples existing databases. I don't care either way though.

my limited understanding is that's the directory homeassistant mounts.
so unless you can get homeassistant to use /project/config, then you'd have
to use /data to get persistence for config and database
On Tue, 22 Jun 2021, 1:28 pm Joshua, @.***> wrote:

changing it means the default place the database goes is /data
I know i opened the issue to do this, but now that we have managed to
change the work directory i don't think it is necessary anymore. This is
more just so it doesn't break peoples existing databases. I don't care
either way though.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/delfick/photons/issues/62#issuecomment-865499917, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA2V5LYUWHPACF5UHA4KVTTT77NLANCNFSM47BK7EVA
.

Is there an icon i should use for the interactor @delfick? With no icon set it defaults to a puzzle piece.

I have zero icon making skillz, so nope

All good, it was more just in case you had one that i didn't see.

Found this basic icon on google. I think it looks pretty good.

and when its stopped

Seems good enough :)
Note that once you have something that works, I'll want to put it in here before we distribute it to people.

Double-check that the image you found is not covered by copyright or a limited-use license. :)

That's why a real version would use the hass images.
On Tue, Jun 22, 2021 at 5:02 PM Avi Miller @.***> wrote:

Double-check that the image you found is not covered by copyright or a limited-use license. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Double-check that the image you found is not covered by copyright or a limited-use license. :)

I actually found an awesome icon but couldn't use it due to copyright, this one is free as long as you reference it, so i just put it at the bottom of the readme.

Note that once you have something that works, I'll want to put it in here before we distribute it to people.

Its seems to all working, database saves successfully and i have transferred over to using it personally for testing and so Home assistant can keep backups of its database. Have a look https://github.com/Final-Hawk/homeassistant-photons-addon
I did remember to add labels to the dockerfile like Djelibeybi pointed out. Just hope i did it correctly.

So how do you make home assistant aware of an addon? can you specify a folder in a github repo or does it have to be the root of the repo?

To add the addon just add the repo to the repo list in homeassistant. See pic below

After the repo is added, it shoes up in the list of addons so you can install it. You can keep all the config files in a folder, like i have, but a file called repositry.json needs to be in the root. See here

I made https://hub.docker.com/r/delfick/lifx-photons-interactor-homeassistant using https://github.com/delfick/photons/commit/a042673253422cbe09b55e5351dd3c1d8b683c6d
and made https://github.com/delfick/photons-homeassistant
If that works I'll merge that branch into main and add a page to docs with suggestions on how to use as per what I didn't copy from your repo.

Awesome. Thanks for doing this!


Unexpected Version Comparison Result

We have an electron app which follows a semantic versioning scheme with a prerelease suffix to indicate release channel. Our normal release process might include publishing more than one alpha or beta before being published to GA and might look something like this: alpha1 → beta1 → beta2 → GA
specifically:
4.1.0-alpha1 → 4.1.0-beta1 → 4.1.0-beta2 → 4.1.0
We noticed some strange behavior where under certain conditions the updater would indicate that an update is available and would download the update, but would not restart the application running the updated version. I've tracked it down to this line as the root cause. Essentially, when comparing a version number which has a prerelease suffix with one which does not, the version with the suffix is always considered higher. For example, 4.1.0 will always evaluate as lower than 4.1.0-beta2.
I assumed the logic here to follow the semantic versioning spec but it does not.

I believe you are correct, but also I want to point out that your versioning scheme is flawed - you cannot use beta1, beta2 etc, the number at the end is not parsed, it's sorted in simple alphabetical order, so e.g. beta2 > beta10, which is probably not what you want

Thanks, Ani, you're totally right. We're in the middle of a large refactor of our versioning/updating pipeline to address this and other issues while following a proper semantic versioning scheme, however this bug will still be an issue for us.

@anaisbetts will fix the problem

@CliftonH how do you resolve the problem?


Missing the first character while using the WriteLine method in the loop

Hello to everyone!
I am trying to create a simple script to update something on a Cisdo device.
Below, you can see the part of the code that has a strange error:
$Stream = New-SSHShellStream -SessionId $Session.SessionId
$Stream.WriteLine("sh object-group name $ObjGroup")
Start-Sleep -Seconds 1
$Result = $Stream.Read()
Write-Warning "$Result"
if ($Result.Contains('Network object group')) {
  foreach ($Item in $IPs) {
    $Stream.WriteLine("sh object-group name $ObjGroup | i $Item")
}
Start-Sleep -Seconds 1
$Result = $Stream.Read()
Write-Warning "$Result"

The output of the warning message looks like this:
WARNING:
Session established with AUTHENTICATION Servers

Connected to hostname01 line 2
Use of this system constitutes your consent to monitoring

hostname01#sh object-group name OBJECT_GROUP
Network object group OBJECT_GROUP
 Description -- ACL: Host and Subnets Drop Xway Service --
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 host <IP_ADDRESS>
 --More--

hostname01#h object-group name OBJECT_GROUP | i <IP_ADDRESS>
help object-group name OBJECT_GROUP | i <IP_ADDRESS>
^
% Invalid input detected at '^' marker.

hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#sh object-group name OBJECT_GROUP | i <IP_ADDRESS>
 host <IP_ADDRESS>
hostname01#

As you can see, the first command in the loop unexpectedly lost the first character.
But the other iterations looks as I expected.
So, what can I do with this behavior? Is it a bug, or am I doing something wrong?

could be a timing issue, I would add a sleep for a half and test raising it slowly to see if it addresses the issue., it is the only thing that comes to mind.

could be a timing issue, I would add a sleep for a half and test raising it slowly to see if it addresses the issue., it is the only thing that comes to mind.

In which place? After "$Stream.WriteLine("sh object-group name $ObjGroup")" or for each itteration of the loop?

After each write or I would also check there is a prompt before writing the next command

I resolved this issue
Added new line after before loop
if ($Result.Contains('Network object group')) {
  $Stream.WriteLine("`n")
  foreach ($Item in $IPs) {
    $Stream.WriteLine("sh object-group name $ObjGroup | i $Item")
}


Python tiledbsoma SOMASparseNdMatrix - scipy.sparse to/from operators would be useful

It would be very useful to have built-in methods supporting to/from scipy.sparse, similar to the to/from Pandas methods.  Pyarrow already has experimental to_/from_scipy, so this should be fairly easy to add once Arrow tensor read/write is implemented.

This is resolved by #347.  With ability to read/write PyArrow SparseCSCMatrix, SparseCSRMatrix and SparseCOOArray, the to_scipy and from_scipy methods on those classes can be used to easily move to/from scipy.sparse.


Golang wrapper for terraform process

How to categorize this issue?
/area quality
/area robustness
/kind bug
/priority normal
What would you like to be added:
To mitigate issues like https://github.com/gardener/gardener-extension-provider-aws/issues/120 and to improve robustness of the terraformer, let's replace the shell scripts starting terraform (terraformer.sh and terraform.sh) by a golang program.
This golang program should:

retrieve tf configuration resources (configmaps, secrets)
start terraform just like terraform.sh
watch the terraform.tfstate file for changes and continuously write back those changes to the corresponding configmap
delegate signals to the running terraformer process

Why is this needed:
The terraformer is a crucial part of the gardener project and we should improve robustness and quality of it.
/assign

/touch

Release candidate is available now: https://github.com/gardener/terraformer/releases/tag/v2.0.0-rc.0

Update:
What's currently missing for a release is:

🚧 observing the release candidate on a real gardener installation (looks quite good already)
🚧 include pod e2e test in release job (ref https://github.com/gardener/terraformer/pull/51)


gap_products not matching gapindex for agecomp

Issue

Hey there,
I'll do my best here to make this long story short... I've been playing around in gapindex to make sure what we're doing in https://github.com/BenWilliams-NOAA/surveyISS to come up with age&length comp input sample size matches with what you guys are producing (in a nutshell what this means is making sure that the underlying comps without resampling match exactly with what you give us). First off - well done my friends, well done with where you've taken that old stuff to gapindex.
K, so here's the issue I've stumbled across. In the process of all this I've been doing a bunch of error checking to ensure surveyISS is matching what gapindex produces and what is up on gap_products. Basically, what I've stumbled across is that it looks like what gapindex produces and what's up in gap_products.akfin_agecomp doesn't match (but, gapindex and gap_products match exactly for gap_products.akfin_sizecomp). I'm at a loss as to why that would be...
I've copied in below the script I put together to do this checking that you should be able to run as well - it's silly that github won't let you attach R files. To make it a reasonable run length I've subsetted to GOA and to arrowtooth, pcod, pollock, and POP - from these tho the issue should reveal itself.
Pete
# script to test match between gapindex and gap_products

# load/source libraries/functions
library(tidyverse)
library(tidytable)
library(gapindex)
library(afscdata)
library(DBI)

# species/region/year to test
species_test = c(10110, 21720, 21740, 30060)
region = 'goa'
yrs = 1990
survey = 47
stratum = 99903

# compute using gapindex ----

# get data
gapdata <- gapindex::get_data(year_set = seq(yrs, 2025),
                              survey_set = toupper(region),
                              spp_codes = species_test,
                              pull_lengths = TRUE)

# get cpue
cpue <- gapindex::calc_cpue(gapdata)

# get stratum pop'n
racebase_stratum_popn <- gapindex::calc_biomass_stratum(gapdata,
                                                        cpue)

# get stratum pop'n at length
gap_lc <- gapindex::calc_sizecomp_stratum(gapdata,
                                          cpue,
                                          racebase_stratum_popn)

# get age-length key
alk <- gapindex::calc_alk(gapdata,
                          unsex = "all")

# get stratum-level age pop'n
gap_age_comp_st <- gapindex::calc_agecomp_stratum(gapdata,
                                                  alk,
                                                  gap_lc)

# get regional level age pop'n
gap_ac <- gapindex::calc_agecomp_region(gapdata,
                                        gap_age_comp_st)

# rename and sum over strata
gap_lc %>%
  dplyr::rename_all(tolower) %>%
  tidytable::summarise(abund_gapindex = sum(population_count), .by = c(year, species_code, sex, length_mm)) %>%
  tidytable::rename(length = 'length_mm') -> gapindx_sizecomp

gap_ac %>%
  dplyr::rename_all(tolower) %>%
  tidytable::summarise(agepop_gapindex = sum(population_count), .by = c(year, species_code, sex, age)) -> gapindx_agecomp

# get data from gap_products on akfin ----

# get connected to akfin
db = 'akfin'
conn = afscdata::connect(db)

# pull akfin_sizecomp table
dplyr::tbl(conn, dplyr::sql('gap_products.akfin_sizecomp')) %>%
  dplyr::rename_all(tolower) %>%
  dplyr::filter(survey_definition_id %in% survey,
                species_code %in% species_test,
                year >= yrs,
                area_id == stratum) %>%
  dplyr::select(year, species_code, sex, length = length_mm, abund_gapprod = population_count) %>%
  collect() -> gapprod_sizecomp

# pull akfin_agecomp table
dplyr::tbl(conn, dplyr::sql('gap_products.akfin_agecomp')) %>%
  dplyr::rename_all(tolower) %>%
  dplyr::filter(survey_definition_id %in% survey,
                species_code %in% species_test,
                year >= yrs,
                area_id == stratum) %>%
  dplyr::select(year, species_code, sex, age, agepop_gapprod = population_count) %>%
  collect() -> gapprod_agecomp

# make comparisons ----

# sizecomp test

# gapindex to gap_products on akfin
gapindx_sizecomp %>%
  tidytable::left_join(gapprod_sizecomp) %>%
  tidytable::mutate(diff = abund_gapindex - abund_gapprod) %>%
  # print(n = 250)
  tidytable::summarise(test = sum(diff, na.rm = TRUE), .by = species_code)
# note: length exactly matches,
#   but, some years in gapindex but not in gap_products, like 1990 for arrowtooth

# agecomp test

# gapindex to gap_products on akfin
gapindx_agecomp %>%
  tidytable::left_join(gapprod_agecomp) %>%
  tidytable::mutate(diff = agepop_gapindex - agepop_gapprod) %>%
  # print(n = 250)
  tidytable::summarise(test = sum(diff, na.rm = TRUE), .by = species_code)
# note: does not match - some years in gapindex but not gap_products, some ages in gapindex but not gap_products

Hi Pete,
Thanks for posting this. The difference is in how the age-length key is calculated. The default in the function is to globally-fill missing values in the alk but the way the legacy agecomps were calculated, missing values are not filled in. Try adding a  global = F argument to the gapindex::calc_alk function call. You will also see that since the last time the akfin tables were updated, new POP 2023 otolith data were added to RACEBASE (yay). Let me know how that goes.
Z

In addition, ATF in 1990 was omitted from GAP_PRODUCTS because it was before we in GAP had confidence that ATF (and Kamchatka flounder) was being confidently identified (I think the cutoff was 1991 or 1992). This is a new component for GAP and we were unsure about how it would affect folks' stock assessment data pulls because we were not clear on how assessors were treating ATF data in the early 90s. However, I imagine since we don't get too many Kamchatka flounder in the GOA, it would be safe to assume that the ATF reported in the GOA in 1990 were all ATF?

Hey Zack,
Quick point of clarification, I'm not comparing with legacy values here. What this comparison is doing is comparing between what is computed using gapindex, and what is posted up on AKFIN in the gap_products.akfin_agecomp table. Basically, the issue is that I can't reproduce what's in gap_products using gapindex - and I just tried the global = F argument with the same result (I've also tried unsex = "unsex" rather than "all" in gapindex::calc_alk and it still doesn't match gap_products). Pasting the script into the issue got all funky, so the script is here: https://github.com/BenWilliams-NOAA/surveyISS/blob/main/dev/gap_check/dev/gap_prod_indx_test.R please run and let me know if you get the same result.
I'm not as concerned with matching legacy values precisely - I'm on board with the changes you guys have made and I'm in support. That said, I think there's potentially some more conversation to be had about using a global ALK. I can see the arguements for, but if growth is changing over time I'm unsure how that would play into that, you could potentially be putting lengths from the length pop'n into the wrong age classes...
As far as the ATF issue - maybe talk with Kalei 'bout that? It was just the only mismatch between gapindex and gap_products that I saw for the akfin_sizecomp table.
Thanks man,
Pete

Yeah, I still get good matches when I use global = F and unsex = 'all' into the calc_alk function. I am using gapindex version 2.2.0. Is that you're using?
The standard for agecomp production is to use global = F in the alk calculation, and the alk is year/sex specific for a given species, which address any changes in growth rates over time. The global = T option is currently only used when preparing data for ModSquad VAST age comp runs, and when the option is turned on, missing alks values are filled in only using the year that the value comes from, which also address year- and sex-specific growth.

I'm also using 2.2.0. Couple of questions:

Just to be clear - you're comparing between gapindex and what's currently on AKFIN in gap_products?
Have you run the script that I shared with you? And, if so, are you getting matches?
If not on (2), could you share the script you're running?

Trying a different approach, attached are (1) what is being produced by gapindex with global = F and unsex = "all" in gapindex_agecomp.csv, and (2) what I'm pulling from AKFIN that's in gap_products.akfin_agecomp in gapprod_agecomp.csv. The column names a different than what you guys are using, but I think it should be pretty self-explanatory.
Good to know on how the global ALK is being used. On that note, if you have missing alk values, doesn't it mean that you don't have obs for that year and you then fill it with the global alk across all years? That's at least what it look like the code is doing.
Gotta love the mutliple conversation threads in a single issue... But, thanks for working with me on this Zack
gapindx_agecomp.csv
gapprod_agecomp.csv

Hi Pete,
Yes, I am comparing what comes out of gapindex to what is on AKFIN_AGECOMP. I ran the script you linked, but I forgot that I had changed the end date of the data pull to 2023 instead of 2025 when I first responded. When I changed it back to 2025 I was able to recreate the mismatches you attached but when I set to 2023, they were able to match well. Now I don’t know why this happens and will investigate that further.
I would suggest having that end date be 2023 instead of 2025 for your comparisons and check whether that resolves many of the mismatches. The mock 2025 were arbitrarily created from 2019 data and not using gapindex::get_data() with 2025 in the year_set argument.
Global = F and unsex = “all” should still be the arguments in the calc_alk function.

Thanks Zack,
I don't think 2025 has anything to do with it, you guys were definitely ahead of the game to have all the strata ids change with the 2025 restratification. The mismatches I was finding were occuring throughout the time series (you can see that if summarizing across species_code and years, rather than just species_code in the script I sent) - I was ignoring the most recent years when looking at that (cause some, like POP, don't have 2023 survey ages in the database yet).
All in all, I get good matches now too. It looks like you updated the gap_prodcuts.akfin_sizecomp and akfin_agecomp on friday - were there some issues with the old tables not matching with gapindex?
Also looks like the rounding when summing population_count in the agecomp calcs was done at regional level in the akfin tables you updated rather than the strata level (when summed across lengths), which makes more sense to me, and makes the code much more efficient (if you're calculating the population_count for agecomps with the ALK at the regional level rather than strata).

Oh god, okay so it's good now? The mismatches I was seeing was also throughout the time series.
I see now the AKFIN_LOAD_DATE on AKFIN's version of GAP_PRODUCTS.AGECOMP is dated May 10th. The previous version must have been a really old version in which I mistakenly specified the wrong arguments when calculating the GOA size and age comps.
There's often a lag that I'm still figuring out between when I create all the indices in gapindex -> uploading to AFSC's version of GAP_PRODUCTS --> those tables being transferred to AKFIN --> those products being hosted on AKFIN's version of GAP_PRODUCTS. So I apologize if the actual issue was comparing gapindex to an old version of GAP_PRODUCTS.

Sounds good man - I think that was the issue (comparing to an old version in which something was amis), but really glad that we're matching up with what's going on here. Thanks again for all the help Zack, and really apreciate you being so responsive.


Step Resource "Request" Distribution Regression

This was originally work done in #723 but it looks like part of the functionality was omitted during a refactor in #4176
The now missing functionality is...
"Since steps run sequentially we rewrite their resource "requests" to only have the max request for that resource name in one step container and zero out the requests for that resource name in the other step containers."
The result is that Tekton "requests" more resources than it needs which really reduces bin packing when running a Tekton service.
For example...
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: resourcerequest-taskrun
spec:
  taskSpec:
    steps:
    - name: s1
      image: alpine
      script: sleep 1
      resources:
        requests:
          memory: "32Mi"
          cpu: "250m"
    - name: s2
      image: alpine
      script: sleep 1
      resources:
        requests:
          memory: "64Mi"
          cpu: "125m"
    sidecars:
    - name: sc1
      image: alpine
      script: sleep 30
      resources:
        requests:
          memory: "32Mi"
          cpu: "250m"
    - name: sc2
      image: alpine
      script: sleep 30
      resources:
        requests:
          memory: "64Mi"
          cpu: "125m"

Expected Behavior
Containers:
  step-s1:
    Requests:
      cpu:                250m
      memory:             0
  step-s2:
    Requests:
      cpu:                0
      memory:             64Gi
  sidecar-sc1:
    Requests:
      cpu:                250m
      memory:             32Mi
  sidecar-sc2:
    Requests:
      cpu:                125m
      memory:             64Gi

Actual Behavior
Containers:
  step-s1:
    Requests:
      cpu:                250m
      memory:             32Mi
  step-s2:
    Requests:
      cpu:                125m
      memory:             64Gi
  sidecar-sc1:
    Requests:
      cpu:                250m
      memory:             32Mi
  sidecar-sc2:
    Requests:
      cpu:                125m
      memory:             64Gi

cc @lbernick
This changed again as.. sometimes, settings things to 0 is a problem.

It seems like we could have been clearer about the fact that this was a breaking change, but I'm hesitant to revert this. This behavior has been in place since 0.28 (about a year and a half) and reverting it may be confusing. Also, another user filed an issue saying that the original behavior was confusing: https://github.com/tektoncd/pipeline/issues/2986#issue-663855429
I think you can achieve the behavior you're interested in with task-level compute resources. Would you consider trying this feature?
Also, to what Vincent said, setting compute resources to 0 doesn't interact correctly with limitranges, and I think some flavors of k8s don't allow it. That's why for task-level compute resources, we chose to divide the requests between containers (https://github.com/tektoncd/community/commit/2a6657602334cad3c83b2998c066d3515c2e3549).

Link to previous code that had this logic - https://github.com/tektoncd/pipeline/blob/release-v0.27.x/pkg/pod/resource_request.go
re: 0 -- instead we might then omit the value
Containers:
  step-s1:
    Requests:
      cpu:                250m
  step-s2:
    Requests:
      memory:             64Gi
  sidecar-sc1:
    Requests:
      cpu:                250m
      memory:             32Mi
  sidecar-sc2:
    Requests:
      cpu:                125m
      memory:             64Gi

I think we really do want to fix this. The new syntax is well... new and we have 1000s of pre-existing pipelines that are currently requesting resources and reducing our bin packing.

@lbernick just educated me a bit more and it's tricky -- it looks like spread is the way, but we would also have to the same sort of limit spreading as is done in TEP 0104. We might just re-use that logic and compute the TaskLevelComputeResource by examining the steps.

related: https://github.com/tektoncd/pipeline/issues/4347

@skaegi did you have the chance to investigate whether task-level compute resources would work well for you? Is there any action remaining for this issue?

what is the best approach for this ?


Jewel Highlighting

What do you guys think of something like this:
![Image of Highlight] (http://i.imgur.com/VFJsbRr.png)
@SpaceOgre @l0g0sys @MLanghof @Ttxman @brather1ng

Looks good, I guess?

Well should they be different colors or the same? Etc.
On Jul 11, 2015 12:22 PM, "Max Langhof"<EMAIL_ADDRESS>wrote:

Looks good, I guess?
—
Reply to this email directly or view it on GitHub
https://github.com/EmmittJ/PoESkillTree/issues/151#issuecomment-120653437
.

Looks good imo.
I don't think different colors would be of much use. When showing all three circles it is obvious which is which range.
If it will be possible to socket jewels at some point, the one circle that is shown is obvious from the jewel description.
Maybe a bit wider like the highlighting ring width if that is not too much.

I can show you what is looks like, but I am not much of a fan. Also, we have to be careful how thick we make it because the rings do matter if they are within nodes. I just did it with half the width of highlighting which is double the current.
![Image] (http://i.imgur.com/rqIWKDQ.png)

Hm, I guess the first one is alright then if it doesn't break by zooming out.

I like it a bit thicker, but you do have to hover over the node in order to keep it highlighted. Should that be changed?

Looks good. I think the current thickness is good, and if it is a bit to wide for show the edge correct I think it could be offset by using a smaller radius/diameter. So instead of 800 for small then 798 or something, but I'm not completely sure how the line thickness is drawn but I would guess half on each side.
Took a look at the code on the branch and it looks very good to.

An with current I meant the second screenshoots :)

I think it is ok to only highlight if you keep hovering the node.
Else one would need to think of a proper way to cancel the highlight and the way http://poedb.tw/us/passive-skill-tree/ does it for example is annoying in my opinion.

Alright sweet. I will go ahead and merge with master.

Did a small fix to account for pen thickness when drawing the circles.

Sweet

Sweet! Just made a new bug report for jewels btw


Add ISkinService for Abstractions Project

Fixes #5837
Summary
This PR adds ISkinService which is an abstraction layer for SkinController.
Things to validate

I've renamed properties with ID to Id.
Only DotNetNuke.Abstractions.Users.IUserInfo uses ID (AffiliateID, PortalID, UserID), the rest uses Id.
I've moved 2 enums to the abstractions; I've added [TypeForwardTo] so extensions don't have to recompile.
I didn't mark the static methods as [Obsolete] and I haven't modified the calls to SkinController.
I've added the service as a scoped service; just in case the service will use scoped services in the future.

I've changed the abstraction a little bit, in my eyes it makes more sense this way.
SkinPackageType
I've created a new enum named "SkinPackageType", this can be either Skin or Container.
You can use this enum to get or update everything in the interface. For example:
Instead of having a property "RootSkin" or "RootContainer", you call: GetFolderName(SkinPackageType.Skin).

Skin in SkinPackageInfo
I also did see that there is a SkinInfo, but it's never used. I changed SkinPackageInfo.Skins to a list of SkinInfo. If we ever add more details in the table dbo.Skins, we can add these to this class. Before the Skins was a Dictionary with ID as key and SkinSrc as value. This means it's a breaking change, but it's already targeting v10. Is this OK?
Because of the abstractions, I cannot implement IList<ISkinInfo> because in the implementation this is a List<SkinInfo>. I've created a new wrapper class called AbstractionList<TInterface, TImplementation> which casts all the interfaces to the implementation.
In the abstractions I've added IObjectList<T>, which is used in SkinPackageInfo.Skins. This interface has an extra method called T AddNew() which creates a new instance of the implementation, adds it to the list and returns the instance. Because you don't have SkinInfo in the abstractions; you can never create it. Now you can do the following:
ISkinPackageInfo skinPackageInfo; // Instance of the Skin Package

ISkinInfo newSkin = skinPackageInfo.Skins.AddNew(); // New skin

Naming
I've also changed the naming a little bit, for example GetSkins returns an enumerable with the skins in a folder; not from the database. I've changed the name to GetSkinsInFolder.

This means the abstraction is quite different than the implementation now, but it's way clearer what every method does, just by the name and arguments. If there is any feedback I like to hear it.

@dnnsoftware/approvers I've rebased on develop, should be good to merge.

Just thinking about this PR, should we call the new abstraction IThemeService?

Just thinking about this PR, should we call the new abstraction IThemeService?

I don't have a strong preference. I would love it but then a lot of other code uses Skin terminology so not sure if it would add or remove confusion :)

I think we can merge this PR as-is. I opened a new PR to discuss the potential naming change.

I propose we move this PR to a 9.14.0 milestone.  @dnnsoftware/approvers ?

Per Technology meeting today, we agreed on a 9.14.0 milestone for this PR.  Thanks!


Update redemption-experience.md

Updating doc to let people know that we've tweaked the logic in step #1. If Email OTP is enabled, we will ignore viral accounts that may have been previously created in step 9.

@JeffBley : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@msmimart
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
#assign:@MicrosoftDocs/public-repo-pr-review-team

#sign-off


(chore) Update npm dependencies and remove deprecared packages

(chore) Update npm dependencies and remove deprecared packages

Upgrade karma, qunit
Migrate qunit tests from v1 to v2 using codemod
Replace esperanto with rollup

This fixes https://github.com/pretenderjs/FakeXMLHttpRequest/issues/57
Note: Not a major version bump as all are build time dependencies.

@abadri Thank you!


Address issue #43 (no album cover causes crash)

Issue:

some songs don't have an album cover. So when you try and download them they crash the entire program with an unsuccessful download

Solution:

modified the code so that in the event the album image doesn't exist we return an empty string.

Test case:

tested (https://open.spotify.com/track/3iINfVB6kucFrmMRWdLMWS?si=93a9f68c06ea40bd) which is known to cause the crash. Song downloaded with no problems

Cool thanks. Can you look at line 63? Could you add a check there and i will merge it immediately. From there i will work on adding more checks and reducing duplicates in code.

went ahead and made that change as well @L0um15

Thanks!

Merged into dev branch


NativePromise.resolve is not a function

I get this error when running npm start or ng build
Uncaught TypeError: NativePromise.resolve is not a function
at Object.setNativePromise (zone.js:634)
at desc.set (zone.js:1028)
at t.exports (okta-sign-in.min.js:13)
at u (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:14)
at e (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)
at e (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)

Can you please provide more details? For example, your version of Node/npm, operating system, version of Angular CLI, etc. I need to be able to reproduce the problem to fix it. ;)

On Oct 13, 2017, at 02:24, Amine BIZID<EMAIL_ADDRESS>wrote:
I get this error when running npm start or ng build
Uncaught TypeError: NativePromise.resolve is not a function
at Object.setNativePromise (zone.js:634)
at desc.set (zone.js:1028)
at t.exports (okta-sign-in.min.js:13)
at u (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:14)
at e (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)
at e (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)
at Object. (okta-sign-in.min.js:13)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Happening to me as well:
@angular/cli: 1.4.4
node: 6.11.2
os: darwin x64
@angular/animations: 4.4.5
@angular/common: 4.4.5
@angular/compiler: 4.4.5
@angular/core: 4.4.5
@angular/forms: 4.4.5
@angular/http: 4.4.5
@angular/platform-browser: 4.4.5
@angular/platform-browser-dynamic: 4.4.5
@angular/router: 4.4.5
@angular/cli: 1.4.4
@angular/compiler-cli: 4.4.5
@angular/language-service: 4.4.5
typescript: 2.3.4

Seems like a known issue: https://github.com/angular/zone.js/issues/891

(sigh) Looks like someone broke semantic versioning again. This is why version ranges don't work that great in package.json. Please try removing ranges like I did in #10 and see if that helps.

Yes, that fixes the issue.

I think we must keep this issue open since we still use NativePromise. This wont work with angular 5.

Feel free to open a new issue for your particular problem. The fix I committed works for this example application. Thanks!

Not working for me.

It'd be better to open the issue in https://github.com/okta/okta-signin-widget since this project is just an example that uses the Sign-In Widget.

Hey everyone: v2.5.0 of the Sign-In Widget solves this issue. I've upgraded this example. You can see the changes in https://github.com/oktadeveloper/okta-angular-sign-in-widget-example/pull/11.


Change localization parameters

Hi,
Great job with the Angular Integration of PivotTable.js library...
I have a dute, how I can to change the "locale" parameter of PivotUI() method, to change the entire localization of rendered UI?
Thank you!

Hi,
Let me add options support, it should be quick.

Hi,
Let me add options support, it should be quick.

Thank you for your answer...
El El jue, 10 nov 2016 a las 14:38, Erick Ruano<EMAIL_ADDRESS>escribió:

Hi,
Let me add options support, it should be quick.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ErickRuano/angular-pivot/issues/1#issuecomment-259691760,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKZRJEAD9RIAAbk6Fu2FraY7jK5Er5vmks5q8x5QgaJpZM4KufoL
.

--
Pavel del Pozo

Hey Pavel, please update your version to v1.2.1.  I already had some minor improvements and now added support for an options object through the ng-pivot-options attribute.  Here you whould be able to pass your locales.

$scope.data = [
    {color: "blue", shape: "circle"},
    {color: "red", shape: "triangle"}
];

$scope.options = {
    rows: ["color"],
    cols: ["shape"]
   // Here you would add a locale : "es" or whatever you pass here.
};

Please let me know if issue is resolved.
Bests!

Hey Pavel, please update your version to v1.2.1.  I already had some minor improvements and now added support for an options object through the ng-pivot-options attribute.  Here you whould be able to pass your locales.

$scope.data = [
    {color: "blue", shape: "circle"},
    {color: "red", shape: "triangle"}
];

$scope.options = {
    rows: ["color"],
    cols: ["shape"]
   // Here you would add a locale : "es" or whatever you pass here.
};

Please let me know if issue is resolved.
Bests!

Hi again,
Something don't works properly... After update like you tell me, I change my pivottable/bower.json to load sortly the correct libraries:
{   "name": "pivottable",   "description": "Javascript Pivot Table (aka Pivot Grid, Pivot Chart, Cross-Tab) implementation with drag'n'drop",   "version": "2.3.0",   "main": [     "dist/pivot.js",     "dist/pivot.es.js",     "dist/pivot.css"   ],   "license": "MIT",   "ignore": [     "examples"   ],   "keywords": [     "pivot",     "crosstab",     "grid",     "table",     "pivottable",     "pivotgrid",     "pivotchart",     "jquery"   ],   "homepage": "http://nicolas.kruchten.com/pivottable",   "repository": {     "type": "git",     "url": "git://github.com/nicolaskruchten/pivottable.git"   },   "dependencies": {     "jquery": ">=1.9.0"   } }
In the browser console network, appears correct loading both pivot.js & pivot.es.es
In my angular controller:
`/* global angular */
(function () {
'use strict';
angular
        .module('app.config.pivottable')
        .controller('ConfigPivotTableController', ConfigPivotTableController);

function ConfigPivotTableController($scope, $compile) {
    var vm = this;

    vm.data = [{ name : "Erick", age : "23" }, { name : "Diego", age : "28" }];

    vm.options = {
        locale: "es"
    };

    $scope.$on('$viewContentLoaded', function () {

    });

}

})();`
And in my html page:

But when i try to run the project, the pivot-table still showing in english language...
Any error or warning is showed in console browser debug window...
Do you have any suggestion?


GH706 -- Allow validation with NV_GLSL_SHADER extension

Fixes #706.  Apps can enable this extension and use straight GLSL, which needs to be ignored by the validation layers which assume SPIR-V.  Added a disable for shader validation, set an enable flag in the CV layer for the extension, and added conditional validation based on whether a shader-module is SPIR-V or otherwise.
The test commit is only for context and will not be pushed.  It uses GLSL for one of the two shadermodules in cube.  This change should allow a mix of validated SPIR-V shaders and ignored GLSL modules.

Looks like it does what it says on the tin.
This is going to have odd effects downstream when we try to track and validate resources affected by a draw-- we'll be assuming that GLSL shaders use no resources. I suppose that's slightly better than assuming everything bound is used.
Another potential direction would be to have the layer compile the GLSL to spirv itself in this case, and validate on the basis of that. That would require having the compiler available, which isn't ideal, and we may have slight mismatches between what glslang does with the shader, and what nvidia's GLSL frontend does...

@chrisforbes Yes, we talked about the option to compile the GLSL into SPIR-V and had the same concerns about mismatches and compiler availability.

Renamed variable as Karl suggested, pushed to Master.

@mark-lunarg How long do you think it would take to appear in new build of LunarG SDK?

The next one is roughly scheduled for two-to-three weeks.

@mark-lunarg is it included in <IP_ADDRESS>?


Encourage users to take part in the community

What
Create a landing page to tell users about our community activities, which could include:

co-design workshops for Maps and Task list
Friday catch-up call
cross-gov Slack channels

Why
We do not have a place to direct people who are interested in taking part. At the moment we rely on 'push' messaging over emails and Slack.
Who needs to work on this
Community Manager, Content Designer
Who needs to review this
Contribution squad
Done when

[ ] Outline drafted
[ ] Page content drafted
[ ] Reviewed by team
[ ] Published

Hey @calvin-lau-sig7 and @ImranH-GDS. I know you're having conversations about this work. When you've agreed scope, could you update this epic card and write stories for the subsequent work. Can you also check this epic against this #1935 as they look quite similar. Thanks!

Some relevant decisions from 16 August workshop (Mural board:

new page should be new top-level page in /community/
will involve sorting subpages into new 'themes', which will be part of https://github.com/alphagov/govuk-design-system/issues/1935
there will be some relatively 'orphaned' pages in the section, particularly around resource-related pages, which we can look at separately

Picking up again for this sprint.
I'll work on new content outline/draft based on the Mural, updating the existing content doc.
Will then loop in designers to find best way to present this information.

Hi @Musashi6246, not entirely clear on your question but I'll do my best to give an answer.
This page is for anyone that's interested in working with us to improve the GOV.UK Design System. This could mean things like sharing their user research, helping design a component/pattern or contributing code.
The Design System is a resource to help teams follow the Service Manual to meet the Service Standard. I would not expect any of these pages to be linked on any public-facing services, as it's not usually relevant to their user need.
Hope this helps fill you in on things.


Please provide a plug-in replacement for InterpolatedCamera, with Godot 4.0

Godot version:

3.2.3
OS/device including version:

Linux.
Issue description:

InterpolatedCamera is now deprecated and will be removed in Godot 4.0.
Steps to reproduce:
n/a
Minimal reproduction project:

n/a
With Godot 3.2.3, I'm getting a deprecation warning re: InterpolatedCamera. Frankly, I don't know/care HOW InterpolatedCamera works. It does what I need it to.
Now, with Godot 4.0, it looks like you're removing support for InterpolatedCamera. When you guys come out with Godot 4.0, please provide a gdscript equivalent, for InterpolatedCamera, that we users can largely plug in, to replace the previous built-in InterpolatedCamera functionality.
Again, I was happy with using InterpolatedCamera and I don't quite understand your logic/reasoning behind removing it, but that is really your prerogative.
But I would greatly prefer NOT having to spend a couple days of my time reverse engineering this class if at all possible, and I think it will save a significant of users this same headache/aggravation, when Godot 4.0 comes around.

That's done already :)
http://godotengine.org/asset-library/asset/739
http://godotengine.org/asset-library/asset/740

For anyone stumbling upon this, the exact implementation can be provided by the Goost project in Godot 4.0 via C++ module capabilities as well once the engine becomes stable enough, but do note that the GDScript plugin linked above provides more functionality for interpolated camera.

Again, I was happy with using InterpolatedCamera and I don't quite understand your logic/reasoning behind removing it, but that is really your prerogative.

Yes, the downside is the same as using addons: it won't be built-in anymore... 😕
One of the reasonings I see is that the engine aims to become minimalistic at core (so it runs well on mobile and web platforms, removing features means less binary size), but I'm not quite sure if that's the case either. Also likely because there might be too many ways to implement this feature, like #19276. But yeah I agree that the class was simple enough and worked well for simple use cases.
Also, why the plugin is transferred to Godot Extended Libraries organization instead of officially maintaining it as part of Godot Engine organization? 😮
See also #42113.

Also likely because there might be too many ways to implement this feature,

This was the main motivation for moving InterpolatedCamera out of core. It doesn't really impact binary size significantly at all.

A couple notes. The new InterpolatedCamera3D is NOT compatible with the current Godot release, 3.2.3. According to their docs, it only works with the master branch. So we developers can't simply plug it in and use.
Additionally, from looking at the code, it removes settings: 'Speed', 'Enabled', and adds new settings: 'translate_speed', 'rotate_speed', 'fov_speed', 'near_far_speed'.
So, it's far from a plugin replacement. And, from looking at the code, it looks it's doing some funky things with changing the fov dynamically.
I'm not sure this is a good idea. In my app, I'm actually calculating the fov and setting it myself, because I need it to be THOSE EXACT VALUES. I can't have a third party plugin decide those fov's for me.
And, I don't see how 'Speed' translates to the new 'translate_speed', 'rotate_speed', 'fov_speed', 'near_far_speed'.
I actually prefer the simplicity of the original speed, and again, it's not apparent to me how one would translate from one to the other.
Again, I was hoping for a simple plugin replacement.
Can you guys provide the original code/logic, or even pseudocode for the current InterpolatedCamera? That would make it trivial for us developers to code our own plugin replacement.
As it is, it looks like this new InterpolatedCamera3D has a different set of features, different enough that we can't simply or easily, replace the one with the other.

So, it's far from a plugin replacement. And, from looking at the code, it looks it's doing some funky things with changing the fov dynamically.

It's not doing anything funky with changing the FOV dynamically. It just provides a built-in way to interpolate FOV, as this is relatively common need in a polished game.

Can you guys provide the original code/logic

It's here: https://github.com/godotengine/godot/blob/3.2/scene/3d/interpolated_camera.cpp

Thanks! :).

Folks, I've just written a plugin replacement, called MyInterpolatedCamera, and placed it in the public domain.
It seems to work fine with Godot 3.2.3-stable.
You can get it here: https://github.com/ginobean/godot-interpolated-camera-replacement


Update dependency mkdocs-material to v9.1.15

This PR contains the following updates:

Package
Update
Change

mkdocs-material
patch
==9.1.14 -> ==9.1.15

Release Notes

squidfunk/mkdocs-material
v9.1.15: mkdocs-material-9.1.15
Compare Source

Fixed #5566: Indicate color scheme to operating system
Fixed #5565: Update Dockerfile to latest version of base image
Fixed #5554: Add additional version tags (9, 9.1) to Docker image
Fixed #5536: Strip tags of ARIA labels in table of contents

Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Self-Hosted Renovate Bot. Find all logs here.

 You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.


feat: fs pinstore

Adds filesystem based pin store. See adec0a8a75a6512e9ace4a953240a399962da25e for TL;DR.
Builds upon #357. Only last N commits are new after including 159a1c5ca7fcb478b029eb031c6f2012c7506822. Even windows seems ok. base32lower is used to encode the cid names.
TODO:

[x] at least the tests written for ipfs::repo::mem but will post another PR

The differences to other impls are not explained as I am not sure if I am up to date with the other implementations.

Rebased on top of master now that #357 got merged.

In hindsight the https://github.com/rs-ipfs/rust-ipfs/pull/358/commits/e2c098c4c22e7387c1ba720bb2cca01e7cdec125 seems quite extra, lets see if I can drop it easily.

Yeah sadly it's really non-trivial.

I can move the http stuff and the blockstore splitting out if needed. Not really sure if it is needed.


iOS media center & Android Sticky notification

Hello,
Does this library supports media center on iOS and sticky notification on android ?
If not, is there any fork that enable this feature ?
Regards,

Along with RN Audio Toolkit you may use react-native-music-control module.

https://github.com/tanguyantoine/react-native-music-control is now dead and it has a lot of issue on Android.
Does anyone know any other similar library to remotely/externally control media?

@pabloluz did you find any alternative library for this?

@DevMMI it seems https://github.com/tanguyantoine/react-native-music-control is being maintained again. I think it's worth checking it out.
Alternatively, I created a fork of it, where we fixed all issues we're having. We're currently running a production app without any crash reports for both iOS and Android. Check it out, if you're interested: https://github.com/pabloluz/react-native-music-control

@pabloluz Okay, much appreciated!


SwiTAS crashes on startup in emuMMC

i got a 0x4a8 error before i could see the home screen, and no other sysmods running. works fine on sysMMC.
SwiTAS.log:
1970-01-01 00:00:12.717 DEBUG [69] [main@157] Started logging
1970-01-01 00:00:12.739 DEBUG [69] [MainLoop::MainLoop@5] Start networking
1970-01-01 00:00:12.744 DEBUG [69] [MainLoop::MainLoop@28] Open display
1970-01-01 00:00:12.748 DEBUG [69] [MainLoop::MainLoop@34] Get vsync event
1970-01-01 00:00:12.752 DEBUG [69] [MainLoop::MainLoop@39] Attach work buffers

Could you (in order of preference) either:

Find the latest log in /atmosphere/fatal_reports (might be crash_reports alternatively) and upload it
Take a picture of the fatal screen

This is probably pretty important to fix. I'll look into it when I have time.


google home extended color light not showing colors

When connecting a matter extended color light example program, on esp32 C3 or esp32 C6, to Google Home it only gives me temperature and brightness control. I used to be able to control color as well.
The esp-matter light example uses color mode 0 for Hue and Saturation but I've also tried using color mode 1 for X and Y. Both give the same outcome.
I've had this issue for a few weeks now.
Has google changed anything when it comes to the extended color light implementation?

Could you please dump the state of the entire endpoint that has this issue when you run it, using chip-tool, and share here, as well as the descriptor cluster in EP0.
There are insufficient logs to diagnose.

hello, thanks for your reply. I dont have a lot of experience using chip tool. What are the steps to dump an endpoints state?

My problem seems to be related to google, using chip tool I'm able to change the color of the device.

Hello.
I have been having the same issue with Apple HomeKit. I can only change brightness and color temperature. So the colors is now shown correctly.
Any suggestions?


Quoting directory issues

Hi and first of all thank you for your work.
I have a project which is in a directory that contains spaces, and unfortunately, it causes multiple issues with this plugin, ie: following location, completion, and others.
As far as I know, the problem arises from the lack of quoting in the getCurrentLocation function and the parsing of rc's output (like here), but it could be from other places.
I don't know how to parse rc's output reliably so I'm not making a pull request, but I'd be glad to be of help.

A nice way would be to parse rc's builtin json output using the --json flag, but I don't know about doing that in ViML, and some commands doesn't seem to support json (like -f), which could be a bug.


Install new version issue

Currently have my app set to hidden (Spoofing as a calculator app thing), if that makes a difference.
Clicking install on the New Version dialog just kicks you out of the app, and doesn't bring up the package installer.
On 2.8.0-stable-release

That happens to me too, I just download it from github and install it that way :/
But I have that spoofing setting off

Reverted to pre 2.8.0 app installing method


ghost raffles should be instant on debug build

i dont want waiting for testing some stuff

It would also be nice for this to be controllable with a cvar.


GH actions: add CIFuzz integration

Add CIFuzz workflow action to have fuzzers build and run on each PR.
This is a service offered by OSS-Fuzz where libpg_query already runs. CIFuzz can help detect catch regressions and fuzzing build issues early, and has a variety of features (see the URL above). In the current PR the fuzzers gets build on a pull request and will run for 300 seconds.
Signed-off-by: David Korczynski<EMAIL_ADDRESS>

Awesome, thanks @lfittl -- naturally feel free to modify the action to whichever works the best for you. I'd be interested in knowing your preferences so will aim to check back again in some time!


error at MediaService when a media response doesn't have a URL

The MediaService throws an error in case the given media doesn't have a URL property.

QA

very hard to QA, and kind of unexpected. We noticed this with the work on CDS integration, where the carousel data had items with empty media.


On OS X (I suppose on linux too) returns wrong mount point if space used in drive's name

If, for example, my drive name would be some data, then nodejs-disks interprets mount point as /Volumes/some. This happens because mount point searching algorithm prints with awk 6th parameter.
I suggest (it is my quick and dirty hack because I do not know awk) replacing this line
'df | grep ' + drive + ' | awk \'{print $6}\''
with this
'df | grep ' + drive + ' | grep -oh \' /.*\' | grep -oh \'/.*\''

Ok, I looked closer to code and se, that trimming is performed afterwords with javascript, so, line could be just:
'df | grep ' + drive + ' | grep -oh \' /.*\''

Yeah. I've run into this as well. (Check out my fork.)
I switched it with this:
'df -kl | grep ' + drive + ' | awk '{ for (i = 9; i <= NF; i++) print $i}' ORS=' ''
Not the best because it assumes that the 9th is the beginning of the mount point. What if the first parameter has a space in it?
What does yours do?

Mine just finds row with drive and asumes that / will be last param with "/" (slash), which will be the mount point. So - it returns everything from this /. Extra space will be trimmed by javascript.

Does that get "/Volumes/some drive"?

In my case it did :D

A case where that would fail is if the mount point folder has a trailing space ('/Volumes /some drive'). I think that's less possible than the first field having a space in it. So, it's a better solution than mine. Do you know if it's possible?

Newer sow such mountpoint naming, but users are geniuses and, if someone allows to do this, they will :D
I just tested on my mac (el capitan) and my solution worked on flahsdrive called " My flash " (space before "My" and after "flash"). So - need to be tested on other platforms :)


spelling errors

Minor spelling errors
inner instead of 'inter'
we'd expect it to instead of we'd it expect

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!


extracopy.sh: Better config and error handling

Configuration should be a bit more consistent and more user friendly.
Should make debugging via log file a bit easier as things are explained with a bit more detail.

Going in by the 1 working day rule...


possible bogus dependency: scrollin

Hi,
The javascript library scrollin is listed in cor/bower.json and included in core/src/main/web/vendor/bower_components - but seems unused anywhere.

Hi!
I see it's used here:
https://github.com/twosigma/beaker-notebook/blob/master/core/src/main/web/app/mainapp/components/notebook/notebook-directive.js#L276
and here:
https://github.com/twosigma/beaker-notebook/blob/master/core/src/main/web/app/mainapp/components/notebook/codecell-directive.js#L406
https://github.com/twosigma/beaker-notebook/blob/master/core/src/main/web/app/mainapp/components/notebook/codecell-directive.js#L515

Oh, indeed.
Silly me, I forgot to grep case-insensitively :-P


Artisan Command  'make:module:model'   Undocumented

Just a note that the Wiki Documentation does not  indicate the availability of the generator make:module:model [slug] [modelName]
https://github.com/caffeinated/modules/wiki/Artisan-Commands

I've added that to thw wiki.
https://github.com/caffeinated/modules/wiki/Artisan-Commands#makemodulemodel-slug-name


[📚] Can we make the documentation simple, and easier for login,signup and CRUD operations

Issue Title: Simplifying Firebase Documentation for Login, Signup, and CRUD Operations
Description:
Problem Statement:
The current Firebase documentation for login, signup, and CRUD operations is extensive and, at times, challenging for developers, especially newcomers, to navigate. This complexity can hinder the onboarding process and delay the development of applications.
Proposed Solution:
We propose simplifying the documentation and creating user-friendly guides for login, signup, and CRUD operations. By providing clear, step-by-step instructions and practical examples, we can enhance the developer experience and make it easier for them to implement these fundamental functionalities.
Expected Benefits:

Improved Onboarding: New developers will find it easier to understand and implement Firebase authentication and database operations, leading to a smoother onboarding experience.

Increased Efficiency: Clear documentation will reduce the time developers spend troubleshooting and increase their efficiency in building applications with Firebase.

Broader Adoption: A more accessible Firebase platform will likely attract a wider audience, fostering community growth and engagement.

Proposed Actions:

Review and Rewrite: Review the existing documentation for login, signup, and CRUD operations. Rewrite the content to simplify complex concepts, break down steps, and provide concise examples.

Interactive Learning Resources: Consider incorporating interactive elements, such as live demos and coding exercises, within the documentation. These resources can enhance understanding through hands-on experience.

Community Feedback: Gather feedback from the developer community during and after the documentation update. This feedback will be invaluable for continuous improvement.

Additional Notes:
This issue is opened to initiate a discussion about simplifying the Firebase documentation for login, signup, and CRUD operations. Your insights and contributions to this effort are highly appreciated. Let's make Firebase documentation a seamless learning experience for developers.

Thanks for the report @fisforfaheem
Can you provide us an example which indicates the examples provided could be challenging to navigate ?
This is the current documentation: https://firebase.google.com/docs/auth/flutter/start
Also, have you checked the firebase codelab which also gives a good exposure on all flutterfire plugins which probably could also be useful for experienced or newcomers ? https://firebase.google.com/codelabs/firebase-get-to-know-flutter#2


Incompatible with Tweakeroo

Not sure where to post this, since it could be an issue with either mod, or both mods, but it seems like MoreCommands and Tweakeroo use the same Mixin and crash when put together:
[15:01:03] [main/WARN]: @Redirect conflict. Skipping mixins.tweakeroo.json:MixinClientPlayerEntity->@Redirect::onDoesGuiPauseGame(Lnet/minecraft/class_437;)Z with priority 1000, already redirected by morecommands.client_mixins.json:MixinClientPlayerEntity->@Redirect::updateNausea_isPauseScreen(Lnet/minecraft/class_437;)Z with priority 1000
After that happened, everything in the log (multimc) went red:

Failed to start Minecraft:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:228)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
... 8 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
... 10 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at net.optifine.reflect.FieldLocatorTypes.(FieldLocatorTypes.java:25)
at net.optifine.reflect.Reflector.(Reflector.java:501)
at net.minecraft.class_128.method_559(class_128.java:101)
at net.minecraft.class_128.(class_128.java:54)
at net.minecraft.class_128.method_24305(class_128.java:425)
at net.minecraft.client.main.Main.main(Main.java:135)
... 15 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onDoesGuiPauseGame(Lnet/minecraft/class_437;)Z in mixins.tweakeroo.json:MixinClientPlayerEntity failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap tweakeroo-fabric-1.16.4-refmap.json
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:408)
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject$failsoft(gist.github.com/517e2d6d4c6a75303721b7e2e995a9f8)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1291)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1042)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:395)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351)
... 30 more
Exiting with -1
Process exited with code -1.

Yeah, I just had this same issue yesterday. This is terrible as Tweakeroo is a very broadly used mod.

Yeah, I just had this same issue yesterday. This is terrible as Tweakeroo is a very broadly used mod.

I doubt that as it only has a little less than twice as many downloads as my mod does, but nevertheless this issue has been fixed in the latest release and the two mods can now be used together.


Added use of cache

Using cache avoids DB queries when nothing has changed.
We flush the cache inside save method whenever a value has changed

A comment should be added to the README.md stating that to be able to use cache you'd have to set the driver in the .env file.
CACHE_DRIVER=file

If using the database driver, then change the .env CACHE_DRIVER var to
CACHE_DRIVER=database

and migrate the DB
php artisan cache:table
php artisan migrate

Can I suggest to  create 2 config's variables (prefix and suffix) instead of use this: 'user-'.Auth::id().'-preferences', so we can customize the key used by the cache.
What do you think about it?

This has been updated and merged with the customisable config for cache key prefix/suffix as suggested by @theVannu
Release 2.1.0


Implement the auto-fix engine

This needs more thought to properly enable several fixes to a single file

I expect this project to come in handy
https://github.com/Rich-Harris/magic-string


ValueError: invalid token in plural form: EXPRESSION

Trying to add a translation of a page in django cms, which is Uzbek, not supported by django CMS. I added this inside settings.py
# CMS_LANGUAGES = {
...
, {
            'code': 'uz',
            'name': gettext('Uzbek'),
            'redirect_on_fallback': False,
            'public': True,
            'hide_untranslated': True,
        }
}

LANGUAGES = (
    ## Customize this
    ('en', gettext('en')),
    ('ru', gettext('ru')),
    ('uz', gettext('uz')), # <- this one
)

but when I access http://<IP_ADDRESS>:8000/uz/, the output is:

The current path, /ru/uz/, didn't match any of these.

So, in accordance to some googling, I decided to add my own language .po files. Then added in settigs.py:
PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__))
LOCALE_PATHS = (
    os.path.join(PACKAGE_ROOT, 'locale'),
)

EXTRA_LANG_INFO = {
    'uz': {
        'bidi': False,  # right-to-left
        'code': 'uz',
        'name': 'Uzbek',
        'name_local': 'Ozbek',  # unicode codepoints here
    },
}

# Add custom languages not provided by Django
import django.conf.locale

LANG_INFO = dict(django.conf.locale.LANG_INFO, **EXTRA_LANG_INFO)
django.conf.locale.LANG_INFO = LANG_INFO

# Languages using BiDi (right-to-left) layout
LANGUAGES_BIDI = global_settings.LANGUAGES_BIDI + ["uz"]

then in terminal:
./manage.py makemessages -l uz
./manage.py compilemessages

restarted and reload browser outputs following error:

raise ValueError('invalid token in plural form: %s' % value)
ValueError: invalid token in plural form: EXPRESSION

Could you please help to resolve my issue, any recomendation please to add Uzbek translation to my page?

@vThaian @DmytroLitvinov @FSE-DEV could you please help

@DmytroLitvinov Thank you! it worked. I should confess I that with this answer you not only resolved my headache, but also taught me the most important lesson; To be honest I overwatched all sources, but because of my unprofessionalism and un-attentiveness, I missed a key point. This does not feels so painful, as feeling that sometimes just googling is not enough!

btw, how to close this issue?

@abduakhatov you are welcome ;)
Seek and you will find; knock and the door will be opened to you.
Have a nice working week.


Update blocks.ts

Fixes getBlocks to return an array of Block(s) rather than Block

Agree
On Sat, Aug 27, 2022 at 8:34 PM cla-bot[bot] @.***>
wrote:

Thanks for your contribution to The Mempool Open Source Project. We
require all contributors to agree to our Contributor License Agreement and
don't seem to have one for you on file. Please see the instructions in
CONTRIBUTING.md to proceed with this pull request.
—
Reply to this email directly, view it on GitHub
https://github.com/mempool/mempool.js/pull/65#issuecomment-1229346792,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUSOZ475ZZEXZVEDO6D67GTV3KXYNANCNFSM572E5CAA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks for your contribution to The Mempool Open Source Project. We require all contributors to agree to our Contributor License Agreement and don't seem to have one for you on file. Please see the instructions in CONTRIBUTING.md to proceed with this pull request.

agree


Added all supported charging limit

Added all supported values for min charge limit (VW maps&more and Move&Fun apps support all the values)
Tested on Skoda citgo e-iv (aka e-UP)

I am a bit reluctant to add this without further checks and limits. 0-50 is supported, afaik, on all cars. But 50+ is not which is why it's not in code yet. I also don'w know any way to tell which limit is supported or what will happen if an unsupported value is chosen. I will need to test this further.

I have no good way to determine wether 50+ is supported or not and no error handling for this yet. It will be incorporated in the future.


Libraries missing, according to console

Ok so I've got this issue where when I run my program I get a few different errors. I believe this likely has been brought up before but the issue that I did find, was all over the place with a ton of different edits and things which were frankly too difficult to follow, at least for me. I'm using tensorflow 2.10.0, cuda 11.7 and the corresponding cudnn, and I'm not sure if it's a version issue, or perhaps just a non-issue in general but I'll provide the error that I'm receiving:
  2023-05-17 12:32:37.272738: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
  2023-05-17 12:32:38.702176: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory
  2023-05-17 12:32:38.702271: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory
  2023-05-17 12:32:38.702297: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
  2023-05-17 12:32:41.132568: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:966] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node
  Your kernel may have been built without NUMA support.
  2023-05-17 12:32:41.141491: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:966] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node
  Your kernel may have been built without NUMA support.
  2023-05-17 12:32:41.141557: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:966] could not open file to read NUMA node: /sys/bus/pci/devices/0000:01:00.0/numa_node
  Your kernel may have been built without NUMA support.

It's just that in order to get my program to work, as far as I can tell, I need tensorflow that has GPU support which was removed in the latest versions. Anyway, would really appreciate it if anyone knows how I can solve this please and thank you.

@Shikamaru5,
Tensorflow v2.10 is compatible  with GCC 9.3.1, Bazel 5.1.1, cuDNN 8.1 and CUDA 11.2. Also please have a look at this officially tested build configurations for the reference.
https://www.tensorflow.org/install/source#gpu
And please take a glance at this issues for reference.
https://github.com/tensorflow/tensorflow/issues/60334#issuecomment-1511468692
https://github.com/tensorflow/tensorflow/issues/59013

@tilakrayal Well the reason that I grabbed cuda 11.7 was because when I looked at the chart it didn't specifically say that it wouldn't work with that version just that it changed to 11.8 after TF 2.11. I'm pretty sure that I need the higher versions to get PyTorch to work effectively for my needs or all the other libraries I'm using in my current program might not be compatible. Is the reason that these libraries are missing is because they've been depreciated? I mean technically when I run the test commands that it tells me it still shows the tensor for the cpu test and the physical devices and stuff for the gpu version. The issue is that I keep getting these other errors about no numa support and not being able to load the dynamic libraries. Idk if that's actually a problem or not though, I mean perhaps it isn't and I can just safely ignore it. Also the links you sent me weren't helpful sorry.

@Shikamaru5,
For some of the cases it might work as you mentioned. But it will be suggestible to follow the tested build configurations to avoid the unnecessary erros and for the smooth executions. Thank you!


Initial support for OpenBSD 7.5

This PR is a WIP as tests are failing but it makes at least the build succeed on OpenBSD 7.5.
Credits to @dustanddreams for identifying the breaking changes.
All the tests errors I see now are:
ld.lld: error: relocation refers to a symbol in a discarded section: __retguard_546
>>> defined in /home/build/solo5/toolchain/bin/../lib/x86_64-solo5-none-static/solo5_hvt.o

or similar with solo5_stub.o.
I think I’ve read somewhere similar errors being tackled previously. Any idea for a fix?

I did the initial port, I expect the ‘ret_guard’ protections need to be turned off in the linker or compiler, I don’t have the time to look too deeply atm, but will have a read over the next week to see what I find

Just read clang-local
clang includes the retguard security feature on amd64, arm64, mips64, powerpc and powerpc64. This feature can be disabled with the -fno-ret-protector or -fno-stack-protector options.
Should be enough to add -fno-ret-protector to ‘configure.sh’, oops look like we already do https://github.com/Solo5/solo5/blob/master/configure.sh#L438
sorry not sure, seems like something in the chain does not have -fno-ret-protector, that’s where I would look

What is the status of this PR? Also, is there any update with OpenBSD 7.6 now released?

I had no time to make any progress on that work.
(I imagine the changes in that PR will be required anyway even if they are not enough.)


[null-safety] enable null safety

Description
Roll to null-safe by default Dart

mac_build_tests has passed but not phoned home yet, landing

This broke the CI for flutter/plugins (as not all plugins are migrated to null safety yet), how should we go about it?
(example of broken CI task: https://github.com/flutter/plugins/pull/3238/checks?check_run_id=1334613813 )

I don't understand that log at the moment.  It looks to me as if the plugins are correctly opted out, and should see no new errors. What is the exact command that is running (including the exact paths)?

I can reproduce the errors locally by running flutter analyze from the packages/video_player/video_player folder in the flutter/plugins repository (with flutter synced to this commit or later). This is what I get:
Analyzing video_player...

  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:15:24 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:23:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:25:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:26:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:27:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:28:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:33:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:35:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:38:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:39:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:44:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:46:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:48:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:52:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:55:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:57:13 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:58:39 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:62:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The non-nullable local variable '_controller' must be assigned before it can be used • example/integration_test/video_player_test.dart:63:14 •
         not_assigned_potentially_non_nullable_local_variable
  error • The parameter 'key' can't have a value of 'null' because of its type, and no non-null default value is provided • example/lib/main.dart:111:27 •
         missing_default_value_for_parameter
  error • The parameter 'title' can't have a value of 'null' because of its type, and no non-null default value is provided • example/lib/main.dart:111:37 •
         missing_default_value_for_parameter
  error • Non-nullable instance field '_controller' must be initialized • example/lib/main.dart:153:25 • not_initialized_non_nullable_instance_field
  error • Non-nullable instance field '_controller' must be initialized • example/lib/main.dart:209:25 • not_initialized_non_nullable_instance_field
  error • The parameter 'key' can't have a value of 'null' because of its type, and no non-null default value is provided • example/lib/main.dart:268:31 •
         missing_default_value_for_parameter
  error • The parameter 'controller' can't have a value of 'null' because of its type, and no non-null default value is provided • example/lib/main.dart:268:41 •
         missing_default_value_for_parameter
  error • Non-nullable instance field '_videoPlayerController' must be initialized • example/lib/main.dart:348:25 • not_initialized_non_nullable_instance_field

26 issues found. (ran in 1.7s)

@amirh does a .dart_tool/package_config.json file exist in that directory?  If so, what are the contents?  If not, did you/can you run pub get (or flutter packages get, I think it may be for flutter)?

@zanderso found the issue - the example directory has its own pubspec.yaml, which has no missing sdk constraint.

Thanks!
Should we be worried about the ecosystem taking a similar hit with the next flutter release?
One thing we can do is send out a dart_lsc to make sure example apps have the same sdk constrains as the plugin for all plugins.

I ran some stats and filed https://github.com/dart-lang/sdk/issues/44013 for a follow-up discussion.


Change proto file commit for subscribe callback response

Description
Change commit to get the latest proto file changes
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #310
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

Subscribe API implemented in the Java SDK does not use this proto. Update DAPR_REF to use the latest dapr runtime commit id and update the sdk-springboot  project where the Subscribe API is implemented.


windows explorer tab support

Description of the new feature / enhancement
We need for tab suppor for Windows Explorer. I use QTabBar but it is very unstable. Alternative is Clover. I don't trust it. Please save us. :
Scenario when this would be used?
I use a lot of files and generally those are different paths. I need a simple use.
Supporting information
Hi guys, thank you for all "super duper" toys. You're life saver.

Duplicate of #10

Issue is a duplicate
Thank you for your issue! We've linked your report against another issue to centralize the thread.
Thanks for helping us to make PowerToys a better piece of software.


ioutil: ReadFile shouldn't ignore large sizes from Stat

In Go 1.9, io.ReadFile checks the size of the underlying file and preallocates a buffer of that size. However, it intentionally ignores sizes of 1GiB or larger:
	if fi, err := f.Stat(); err == nil {
		// Don't preallocate a huge buffer, just in case.
		if size := fi.Size(); size < 1e9 {
			n = size
		}
	}

ReadFile then proceeds by reading into a bytes.Buffer, which expands the buffer by powers of 2+𝜀:
		// Not enough space anywhere, we need to allocate.
		buf := makeSlice(2*cap(b.buf) + n)
		copy(buf, b.buf[b.off:])
		b.buf = buf

The combination of these two factors implies that calling ioutil.ReadFile on a file larger than 1GiB can sometimes waste an amount of memory equal to the size of the file: ReadFile is least efficient on the very files where efficiency has the biggest impact!
It seems very odd to me to pessimize the behavior of ReadFile "just in case". If there are specific platforms and/or filesystems for which Stat dramatically over-reports file sizes, we should work around those specific platforms, but in the general case we should not ignore large sizes.

The "just in case" seems to originate in https://golang.org/cl/163069.


Reset the walker

Add a feature that resets the walker to the center of the screen upon clicking the 'R' key on the keyboard.

assign this to me please.

!assign @Websurfingg21

!deassign

!assign @Websurfingg21 60

hey can i get assigned this??

give me few more mins please

@atharvakinage can you visit sem hall 1? or wya

hey can i get this assigned??

@Websurfingg21

@Websurfingg21 you are willing to work on it?

ok wait i will have to deassign and assign it to you again

!deassign

!assign @Websurfingg21

!deassign

hey can i be assigned this??

ok @sherlockhome12 ill assign it to you?

!assign @sherlockhome12

hey I sent a pr, can you pls check once?

@atharvakinage

you arent assigned to this issue though, i believe you are already assigned to another issue u must be deassigned from that first

wait my bad i think @Websurfingg21 had submitted a pr a while back i will review that now

i told the other repo owner to deassign me and she did

ohh allright i will assign you and review your pr then

!assign @sherlockhome12

i think its still not deassigned

i am not working for any repo currently

is it showing which repo is assignned to me currently?

that i would have to go through all repos i cannot see it directly, even if you have finished a pr and got points also the maintainer will have to deassign you check that once

i got assigned one only now

ohh so you are already assigned another repo is it?

@atharvakinage Can you check for any corrections in my PR?

nope i wasn't when i was working on  the Random walker

!deassign

ok since @Websurfingg21 had sent an pr earlier i will review it first then get back later to you @sherlockhome12

!assign @Websurfingg21

hey @atharvakinage can you cross check my pr once??


Lambda size limit

What can we do to handle libraries that are too big for lambda?
For example 'scipy' (164mb) and numpy (77mb) are almost at the limit of 250mb for a lambda zip

We (@UnitedIncome) are using both of those on a project with serverless but aren't using this plugin with it yet. We're using a custom solution and shipping it packaged with tar -cvJ (Xz compression). Getting scipy and numpy to work well with this plugin is on my list of things todo when I get time :smile:

Hi great job!
Well I think we should wrap the custom variables like so:
custom:
  python-requirements:
    dockerizePip: true
    zipImport: true

Also i see some issues:
Files:
requirements.txt
requirements.zip
test.py.txt
So requirements.txt contains numpy, but it doesn't appear in the .requirements.zip
I attached my test.py file, which doesn't work because it can't load numpy
Also I noticed that the sizes for the libs are much smaller then i thought,
even in my virtualenv site-packages the sizes are much smaller than I previously had,
so Im not sure why scipy previously  appeared as (164mb) it is now (70mb) in the site-packages.
scipy also doesn't appear in the .requirements.zip

@amitaymolko, what platform are you running on? and are you using the dockerizePip option?

Running on OSX El Capitan
I ran without the dockerizePip option.
I will test this some more when I get the chance.
I will also pull the last few changes

Reopening because I realized you can't zipimport shared objects, so my solution doesn't work with numpy or scipy :cry:

ZIP import of dynamic modules (.pyd, .so) is disallowed.

https://docs.python.org/2/library/zipimport.html

Really like this plugin!
Is there some plan to improve on package size? I tried to package a function depending on numpy and tensorflow (with the dockerizePip option) but I get a .zip artifact of more than 60MB.

Did you use the zip option? https://github.com/UnitedIncome/serverless-python-requirements#dealing-with-lambdas-size-limitations

Actually you are right @dschep! Using the zip option the deploy works. The size of the artifact is still bigger than the 50MB limit, but for some reason AWS doesn't complain.
I still have a subtle problem related to this issue https://github.com/tensorflow/tensorflow/issues/3086 which prevents the import of the Google Protobuf library.
The solution seems to be to create an empty __init__.py file in the google folder in the requirements but maybe there is a way to fix this in a more elegant way.

Ah, yes.. I've actually run into problems with namespace packages and pip install --target before on another project. I'm not sure what the best way to address that is. I'll create a separate ticket for that.