Geolocator.checkPermission() not return LocationPermission.deniedForever

🐛 Bug Report
After deny location request.
final checkPermission =  await Geolocator.checkPermission();
// checkPermission == LocationPermission.denied

final requestPermission = await Geolocator.requestPermission();
// requestPermission == LocationPermission.deniedForever

checkPermission != requestPermission

Expected behavior
Method checkPermission must return LocationPermission.deniedForever.
The order and numbers of method calls does not affect the result.
Steps To Reproduce

Request permissions
Deny (once or twice on android)
Run this methods
See different PermissionStatus from methods

Tested on:

iOS, Version 15.5 real device
Android, Pixel 4a (last Android version)

Hi @KirillArtemenko,
Thank you for taking the time and submitting this report. Unfortunately the Android API doesn't allow us to differentiate between denied and deniedForever when checking for permissions. The ContextCompat.checkSelfPermission() method only returns the PERMISSION_GRANTED or PERMISSION_DENIED states (even when the user selected the "Don't ask me again" option). This is documented clearly on the Android documentation. Therefore we cannot make the distinction and always return LocationPermission.denied.
Due to a small work around we are however able to determine this as a direct result of the requestPermission method and will report this accordingly. More information about this behavior can be found on our Wiki.
On iOS however we report the permissions correctly. Denying permissions will directly result in a LocationPermission.deniedForever and the checkPermission method will report this accordingly. I have verified this today (just to be sure) using the following code:
  Future<void> handlePermission() async {
    final requestPermission = await Geolocator.requestPermission();
    print('Requested permission: $requestPermission');

    final checkPermission = await Geolocator.checkPermission();
    print('Checked permission: $checkPermission');
  }

Which resulted in the following output after denying permissions:
flutter: Requested permission: LocationPermission.deniedForever
flutter: Checked permission: LocationPermission.deniedForever

As the geolocator seems to function properly, I will close this issue now. If you have further inquiries please feel free to leave a comment.


Speed of generating fingereprints from custom source

Hi, it might be related to this, but I'm trying to generate fingerprints from custom source using the pretranied model you shared here: https://github.com/mimbres/neural-audio-fp/issues/10#issuecomment-878335408 and I was wondering if you could tell me what's the expectated time for generating a fingerprint from a single query? Since it took 1629seconds to generate fingerprints corresponding to 2 queries (1-min length) [even though in the source directory there are 3 wav files, I'm studying why this as well ]
From the CLI Output: 2/2 [==============================] - 1629s 47ms/step
I'm using a 40-cpu server with a RTX3090.
Also, can you help me understanding the shape of the resulting db? I understand that the shape is n_items x d, and n_items is #num audios x batchsize. I don't see what this batchsize mean and therefore, the resulting db shape.
Thanks in advance!
Originally posted by @guillemcortes in https://github.com/mimbres/neural-audio-fp/issues/8#issuecomment-1015670628

@guillemcortes

Speed:
NO, it's weird to see 1629s (~= 27 min) for the 2 x 1 min queries. I can't remember the exact elapse time but it should be processed in a few seconds.

Did you use '--skip_dummy' tag?
python run.py generate --source SOURCE_ROOT_DIR --output FP_OUTPUT_DIR --skip_dummy # for custom audio source
'--skip_dummy' means that we will skip the generating of fingerprints for the 100K dummy songs.
BTW, only once for the first experiment, we need to extract fingerprints for the 100K dummy songs along with the custom source. In this case, it may take as long as 27 minutes, as in your case.
python run.py generate --source SOURCE_ROOT_DIR --output FP_OUTPUT_DIR

shape of resulting DB:

As for `n_items x d', 'n_items' means the number of fingerprints. By default, we extract it for each 1s segments with 0.5s hop. Given 1 min x 2 songs (total 120s) for the custom queries, 'n_items' should be 239 (120 * 2 - 1). The shape is stored in your 'logs/emb/xxxx/xxx/query_shape.npy'.
By default, we use 'TS_BATCH_SZ : 125'. This can be a problem in your case with 239 segments. As '239 // 125 = 1', the last 114 segments will be dropped (#21).

I reproduced @guillemcortes experiment using 2 x 1 min custom source. The resulting shape was 125 x 128 (114 segments were dropped with TS_BATCH_SZ=125) as expected. But I encountered a buggy error message, which is ignorable though.
python run.py generate CHECKPOINT_NAME --source ../neural-audio-fp-dataset/music/others/custom_source --skip_dummy

Arugment 'checkpoint_index' was not specified.
Searching for the latest checkpoint...
---Restored from ./logs/checkpoint/exp_mini640_tau005/ckpt-101---
Data source: dict_keys(['custom_db']) unseen_icassp
=== Generating fingerprint from 'custom_db' bsz=125, 125 items, d=128 ===
1/1 [==============================] - 6s 6s/step
=== Succesfully stored fingerprint to ./logs/emb//exp_mini640_tau005/101/ ===

[ERROR MESSAGE AFTER THIS]
File "run.py", line 111, in generate
    generate_fingerprint(cfg, checkpoint_name, checkpoint_index, source, output, skip_dummy)
  File "neural-audio-fp-dev/model/generate.py", line 190, in generate_fingerprint
    if sz_check['db'] != sz_check['query']:
KeyError: 'db'

Check resulting fingerprint shape.
import numpy as np
>>> np.load('custom_db_shape.npy')
array([125, 128])

ToDo:

[ ] Fix ignorable error for custom source, and rename output as custom_source.npy
[ ] Fix Typo (Arugment)

db28b6b resolves #21.
>>> np.load('custom_db_shape.npy')
array([238, 128])

Hi, I know you closed this issue, just wanted to update on this.
Yes, the results I showed you were using the skip_dummy flag. I tried to generate the fingerprints using CPU only and it's fast, now. Around 12s for 3 queries of 1 minute using TS_BATCH_SIZE of 119. I still have to investigate why it's so slow with GPU (and also only computes the fingerprint of 2/3 available audios) but for the moment I will stick to CPU. Thanks!

@guillemcortes I don't quite understand how slow it is on the GPU. Have you ever tried training with the default config? 1 epoch (10K songs) usually takes around 20 min. If it takes too long, I think it should relate to installation of environment problems.

Ok! will try training with the default config and let you know!

Hi, I tried reinstalling your docker version and now training from scratch with the default config python run.py train test2 --max_epoch=10 -c default takes around 16min per epoch.
Sorry for the noise, I must have had my docker image corrupted somehow. Thanks!


Remove try-except clause for importing numpy in test_gpu.py

The test silently exits if numpy is not available. This PR removes the try/except
clause in order to have the test case fail if the numpy requirement is not satisfied.

Removed sys as pyflakes test was complaining of it being unused.


CB-15847. Support freeipa diagnostics usage.

details:

add usagecollection module to freeipa
add usages around diagnostics steps (where it cannot be added - use UNSET types)
update usage proto with case number (to be up to date, see: CB-15839)

See detailed description in the commit message.

note: for UTs, because the DiagnosticsFlowService is 60% the same as core, there will be a follow up to create a common module for telemetry stuff


add ISSUE_TEMPLATE

issue templates are very helpful for a collaboration repo. When users identify a bug or want to add a new feature, you can provide templates so you can collect all the pertinent information you need to fix a bug or add a new feature.
We recommend creating a “Report Bug” and “Feature Request” issue template.

kindly assign this issue to me under GSSOC'24

Please go through the contributing guide and raise a valid issue.


dateNF seems to be ignored

Hey there,
First of all, I've prepared a minimal demo of the issue I'm running into. You can find it here: https://github.com/pkaske/xlsx-date-issue
You should just need to clone, npm install and node ./index.js it to reproduce.
Input data
input.xlsx contains the following data:

The date format you see here is German (DD.MM.YYYY).
The cells are formated as dates in excel (2010).
What I want to accomplish
I want to convert that table to CSV and keep the date format as it is displayed in the screenshot (DD.MM.YYY).
This is what I tried
const stream = XLSX.stream.to_csv(worksheet, {
  FS: ';',
  RS: '\n',
  dateNF: 'dd.mm.yyyy',   // <--- Seems to be ignored.
  strip: false,
  blankrows: true
});

stream.pipe(Fs.createWriteStream(output))
  .on('finish', () => {
    console.log(output, 'written');
  });

The actual output is
Name;Date
Person 1;12/31/18
Person 2;2/13/18
Person 3;4/5/18

Expected output
The dates should read 31.12.2018, 13.02.2018 and 05.04.2018.
Hopefully I just did something silly and that's all :)

Both of us did something silly :)
tl;dr:
const workbook = XLSX.readFile(input, {cellText:false, cellDates:true});
// ...
const stream = XLSX.stream.to_csv(worksheet, {
  FS: ';',
  RS: '\n',
  dateNF: 'dd"."mm"."yyyy', // <-- notice the double quotes
  strip: false,
  blankrows: true
});

How does Excel handle international dates?
Excel dates are somewhat hokey.  In the file, if you unzip and take a peek at xl/worksheets/sheet1.xml you'll see entries like
      <c r="B2" s="1">
        <v>43465</v>
      </c>

The reader has to figure out that the number corresponds to a date and convert it back.  To do that it looks at the cell format from xl/styles.xml:
    <xf numFmtId="14" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1" applyFill="1"/>

All it stores is the number 14.  Based in new york, your file looks like:

By fiddling with the regional settings, the same exact file will be displayed differently.  https://github.com/SheetJS/js-xlsx/issues/326#issuecomment-286014758 is one comment showing a few different regional setting screenshots against Excel 95
What you should do
To override the date format, you must force the reader to ignore the original number format and force the writer to use a valid cell format.
On the read side, the line should be:
const workbook = XLSX.readFile(input, {cellText:false, cellDates:true});

the cellText:false option skips generation of the original strings (the w field is omitted) and cellDates:true forces generation of date objects for cells that are possibly dates (instead of the file's number values).  After doing this, the worksheet date cells look like:
{
// ...
  B2: { t: 'd', v: 2018-12-31T00:00:00.000Z },
//...
}

On the write side, you need to quote the periods:
const stream = XLSX.stream.to_csv(worksheet, {
  FS: ';',
  RS: '\n',
  dateNF: 'dd"."mm"."yyyy',
  strip: false,
  blankrows: true
});

Why are quotes required in the date format?
The format displayed in the UI is not necessarily the same as the format displayed in the file.  I took your file and changed one of the cells to follow the dd.mm.yyyy format in the UI.  When saving the file, the actual format entry looks like:
    <numFmt numFmtId="165" formatCode="dd\.mm\.yyyy"/>

Excel is automagically fixing the decimal points as literal.  The double quotes achieve the same effect.
What we should be doing

The library should really take a locale option that sets everything up automatically.  The ideal resolution is:

const workbook = XLSX.readFile(input, {locale:"en-US"});

Common format errors should be autocorrected in the same way that Excel corrects them.

Works like a charm 🎉🎉🎉
Thank you!

@pkaske good to hear that worked! Let's keep this issue open until the locale stuff is resolved

I'm using the exact same code, however, still the default format is applied..
var data = XLSX.utils.sheet_to_json(worksheet, {dateNF: 'dd"."mm"."yy', raw: false});
what's wrong with my code?

Thank you, did work for me!
const workbook = XLSX.readFile(input, {cellText:false, cellDates:true});
var excelCSV = XLSX.utils.sheet_to_csv(worksheet, { FS: ";", RS: "\n" , strip: true, blankrows: false, skipHidden: true, dateNF: 'DD"/"MM"/"YYYY HH":"mm":"ss' });

@sonjadeissenboeck regarding https://github.com/SheetJS/js-xlsx/issues/718#issuecomment-430628199, having same situation. I guess it's something related to raw: false. I still haven't found a solution.

@sonjadeissenboeck regarding #718 (comment), having same situation.
For me, it helped to work with the formatting in the data reading:
const workbook = XLSX.read(data, {
  cellDates: true,
  dateNF: 'dd/mm/yyyy',
});

And you leave the XLSX.utils.sheet_to_json({ raw: false })

Thanks, XLSX.utils.sheet_to_json({ raw: false }) worked for me.

@SheetJSDev what format should I pass in for dates with deliberate whitespaces, eg. Czech dates 5. 1. 2021 (d. m. yyyy)?
I tried

raw: false

dateNF: 'd"." m"." yyyy', but it returned "30. 4. 2021".

dateNF: 'd". "m". "yyyy', but it returned "30. 4. 2021".

dateNF: 'd. m. yyyy', but it threw an error: bad second format

raw: true

dateNF: 'd"." m"." yyyy', but it returned date object May 01 2021 instead of Jan 05 2021

dateNF: 'd". "m". "yyyy', but it returned date object May 01 2021 instead of Jan 05 2021

dateNF: 'd. m. yyyy', but it threw an error: bad second format

Also, I'd like to ask, is there a option to completely disable date localisation and just get the date string as it is?

@serena97 just to be clear, the "date string as it is" does not exist in XLSX or XLS or XLSB formats.  They just store a number and a number format.  That's why we need the formatting library (https://github.com/sheetjs/ssf).
As for delimiters, Excel generally stores the generic "/", which in certain contexts is to be interpreted as the date delimiter character in your current locale.
As for the actual date values (raw: false) what is your current locale? (Intl.DateTimeFormat().resolvedOptions().locale)

@SheetJSDev Thanks for your prompt response!  My current locale is 'en-US'.
Also, thanks for letting me know that "date string as it is" doesn't exist in XLSX/XLS/XLSB. I understand now that the dates must be interpreted based on the date formats of the system settings for these formats, but is there a option to disable date localisation for other formats such as csv at least?

@SheetJSDev I am trying for an XLS file and 'dateNF' in readFile didn't work for me. For the XLSX file, the dateNF worked fine.
For XLS file:

For XLSX file:

Could anyone help me with this.

@serena97 to disable date parsing for CSV, pass the option raw: true to XLSX.read or XLSX.readFile
@0416vidya #2305

While exporting keep it as 'raw` format helped me to export values exact values as strings.
This worked for me because i wanted exact values to be parsed added in JSON which further can be used to make PAYLOAD for backend.
XLSX.utils.sheet_to_json(sheet, {raw: false})

Hello friends,
I am using it in nodejs 16.15.1 version and locale is en-IN Sheetjs version: xlsx-0.19.3
Issue Input dates are in the format dd/mm/yyyy, but are being read as mm/dd/yyyy
Code: XLSX.readFile(bufferData, { type: "binary", cellText: false, cellDates: true }); XLSX.utils.sheet_to_json(worksheet, { header: 1, raw: false, defval: "", dateNF: 'dd/mm/yyyy' })
Example: Input: 08/05/2023 output: 05/08/2023 Input: 12/05/2023 output: 05/12/2023
It would be helpful if someone could help with a solution.

I don't think SheetJS works with locale at this moment. Just use 'mm' as days and try 'mm/dd/yyyy' instead of 'dd/mm/yyyy'.

    let ws = XLSX.read(fields.data, {cellText:false, cellDates:true});
    let firstSheet = ws.SheetNames[0];
    let data = XLSX.utils.sheet_to_json(ws.Sheets[firstSheet], {raw: false, dateNF: "dd/mm/yyyy"});

None of the solutions worked raw true or false dateNF formatting vs vs I tried chrome or firefox didn't work. Please tell me solution


*install: Fix .zinit-get-url-mtime function

Removes trailing whitespace in zinit-install.zsh
Use ignore-case in grep call to match "Last-Modified" HTTP header for compatibility with new spec
Remove return carriage from the matched text which was causing strftime to fail
Make sure strftime is using UTC timezone to output correct reply

Looking into the problem with GitHub and its lack of Last-Modified headers, an option that could be used for snippets is the commit history of a file. For example, using the following information https://stackoverflow.com/questions/50194241/get-when-the-file-was-last-updated-from-a-github-repository/50204589#50204589
I could check the Last-Modified header of a GitHub snippets commit history:
# zinit snippet https://github.com/zdharma/zinit/blob/master/README.md
# curl -sIL "https://api.github.com/repos/${USER}/${REPO}/commits?path=${FILEPATH}&page=1&per_page=1"
$ curl -sIL "https://api.github.com/repos/zdharma/zinit/commits?path=README.md&page=1&per_page=1" |& command grep -i Last-Modified: | while read -r line; do
	echo "\n${${line#*, }//$'\r'}"
done

22 Jul 2020 04:01:14 GMT

It may even be possible to include a commit log like a normal plugin using this information.
Similar may be possible for Github gists but I haven't figured that out yet.

It seems the gists Last-Modified header constantly updates making it unreliable. But instead of using the header you could just parse the json like so:
$ curl -s "https://api.github.com/gists/c68e5f47d5b6bf1f6b061d30f705ebc2/commits?path=history&page=1&per_page=1" | jq -r '.[0].committed_at'
2021-02-06T00:59:57Z

Similar can be done for GitHub snippets if for some reason the Last-Modified header check mentioned before isn't as universal as I thought.
$ curl -s "https://api.github.com/repos/zdharma/zinit/commits?path=README.md&page=1&per_page=1" | jq -r '.[0].commit.committer.date'
2020-07-22T04:01:14Z

I am aware that Zinit has a JSON parser that could be used instead of jq as I've used it.

Here is a working proof of concept diff for nongist GitHub snippets using the json data, commit dates, and zinits json parser
diff --git a/zinit-install.zsh b/zinit-install.zsh
index 730e6ac8..5240a382 100644
@@ -1063,7 +1063,21 @@ builtin source "${ZINIT[BIN_DIR]}/zinit-side.zsh" || { builtin print -P "${ZINIT
                     command mkdir -p "$local_dir/$dirname"

                     if (( !OPTS[opt_-f,--force] )) {
-                        .zinit-get-url-mtime "$url"
+                        if [[ $url =~ github ]] && ! [[ $url =~ gist ]]; then
+                            local -a url2
+                            url2=( ${(s:/:)url} )
+                            url2="https://api.github.com/repos/$url2[3]/$url2[4]/commits?path=${(j:/:)url2[@]:5}&page=1&per_page=1"
+
+                            local -A Data
+                            .zinit-parse-json "$(curl -s $url2)" "author" Data
+
+                            local -A jsondata1
+                            jsondata1=( ${(@Q)${(@z)Data[2/1]}} )
+
+                            LANG=C TZ=UTC strftime -r -s REPLY "%Y-%m-%dT%TZ" "${jsondata1[date]}"
+                        else
+                            .zinit-get-url-mtime "$url"
+                        fi
                     } else {
                         REPLY=$EPOCHSECONDS
                     }

It of course doesn't work for all snippets depending on the format of the URL used but does show it's possible.

Thanks.


State in auth_code.authorize_url

Hi,
is there a way to pass state in auth_code.authorize_url ?
best regards Ivan

For sure !
Very simple :
client.auth_code.authorize_url({ redirect_uri : 'http://localhost:3000', state: 'foo' })

If the Oauth2 server implement the feature too,
you will be redirected to http://localhost:3000?code=xx..xx&state=foo
It works perfectly in my case.

Hi @ivanstojkovicapps, can you please close the issue if solved for you ?


⚠ Bofrost.at has degraded performance

In c4c6d02, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1033 ms

Resolved: Bofrost.at performance has improved in 035e68e.


Documentation

I want to write some useful documentation.

Hey @vslinko I really like the look of this stack. Are you available at all this week to discuss what you've done here with me? I'm looking to implement something similar with a Neo4j DB hooked up to a react-redux frontend, and I'd love to hear your perspective as to how you arrived with this stack.

Thank you, @evanwchurchill
You could create a new issue with your questions and I'll try to answer them.


desktop mode bug

When I open desktop mode by default and click Developer tools again, it will automatically change back to mobile mode.Then I have to refresh again.

Fixed (upcoming build)

Fixed (upcoming build)

This problem has been fixed, but there is another bug, still open the desktop mode, exit the browser, close the background, reopen the browser, then search, pull down to refresh, it will return to the phone mode, and then refresh, back to the desktop mode. ...

Fixed (upcoming build)

This problem has been fixed, but there is another bug, still open the desktop mode, exit the browser, close the background, reopen the browser, then search, pull down to refresh, it will return to the phone mode, and then refresh, back to the desktop mode. ...

#62


CAMEL-19764: fix generation for basic and bearer security schemes

Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

Thanks to pdumontel for the bug report and suggested fix.


Get-SPOProvisioningTemplate Not Working

Hi, im trying to use Get-SPOProvisioningTemplate but im keep getting an error
Get-SPOProvisioningTemplate : File Not Found.

Get-SPOProvisioningTemplate -Web https://xxxtenant.sharepoint.com  ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : WriteError: (:) [Get-SPOProvisioningTemplate], ServerException
FullyQualifiedErrorId : EXCEPTION,OfficeDevPnP.PowerShell.Commands.Branding.GetProvisioningTemplate

Hi!
This message could have several causes. But SharePoint has a tendency reporting 'file not found' at the weirdest spots, also when it can't find the web you're trying to connect to, or when you don't have access to it.
You have access to the site? Do you use the -Out parameter? If so, do you have write access in the folder you're currently in?

Hi Erwin, yes im full admin in the site and have full access to the current folder.

Given the URL you wrote in your initial post, I assume you're working against SP online?
When you execute the cmdlet, do you get the message instantly? Or is there some progress going on first too? E.g. does it crash on a certain part in the process.
Is it an option for you to download the source and debug the code with Visual Studio?


📋 Formatter black compatibility tracking issue

We will continuously update this issue with compatibility measure between our formatter and black and the general status of the formatter.
Not Implemented
not_yet_implemented usages: 18
not_yet_implemented_custom_text usages: 2
Select Projects / Small ecosystem check
To condense the compatibility over an entire repository, we use the similarity index. It is defined as the percentage of lines that remains unchanged between black's formatting and our formatting. You could compute it as the number of neutral lines in a diff divided by the neutral plus the removed lines.
I chose 6 different projects to check for now, we may update this list in the future.
To reproduce these numbers or to check your own changes, you can run scripts/formatter_progress.sh:
build (small util library): 40 files, similarity index 0.743

We don’t have an equivalent to skip-string-normalization = true yet

django (web framework): 2752 files, similarity index 0.985

percent formatting of multiline strings breaks differently
missing byte strings, f-strings and yield

transformers (ML framework): 2527 files, similarity index 0.979

https://github.com/astral-sh/ruff/issues/5824 (The project doesn’t use black . but black examples tests src utils , same thing for ruff)

typeshed (stub files): 3627 files, similarity index 0.723

https://github.com/astral-sh/ruff/issues/5821
https://github.com/astral-sh/ruff/issues/5822

zulip (a django user): 1424 files, similarity index 0.975

Main difference is the lack of f-strings

Large ecosystem check
There is a number of formatter bugs showing up in the ecosystem checks, a list from 2023-07-19 is in https://gist.github.com/konstin/edd2a914fdf4196020d9efa3f2c7e6ff. I filed issues for recurring themes. gist created by:
target/release/ruff_dev format-dev --stability-check --error-file target/errors-$(date --iso-8601).txt --multi-project target/checkouts > target/stability-check-release-$(date --iso-8601).txt

and manually removing e.g. slow formatting. Minimizations the entire run can be found in https://gist.github.com/konstin/61adab19d5615160750171944653673d . This gives us a single file that checks for all known cases of unstable formatting

I know it's comment placement, but how would #5630 relate to compatibility?

Old numbers:
build: similarity index 0.738
django: similarity index 0.978
transformers: similarity index 0.972
typeshed: similarity index 0.827
zulip: similarity index 0.970
New numbers:
build: 40 files, similarity index 0.740
django: 2752 files, similarity index 0.983
transformers: 2527 files, similarity index 0.976
typeshed: 3627 files, similarity index 0.766
zulip: 1424 files, similarity index 0.975

https://github.com/astral-sh/ruff/pull/5882 fixes the transformers bugs, after that all test projects pass without errors (except for those files that already have syntax errors in the input)

Updated the gist to today (https://gist.github.com/konstin/edd2a914fdf4196020d9efa3f2c7e6ff) and filed issues for recurring themes.

I minimized all cases of unstable formatting from the ecosystem checks: https://gist.github.com/konstin/61adab19d5615160750171944653673d . This gives us a single file that checks for all known cases of unstable formatting

#6035 documents how to run the formatter progress tracking script yourself

Updated the original post

project
similarity index
total files
changed files

django
0.99957
2760
67

transformers
0.99928
2587
456

twine
0.99982
33
1

typeshed
0.99978
3496
2173

warehouse
0.99818
648
24

zulip
0.99942
1437
32

We've reached >99.9% in 5 out of 6 projects. There's still some differences remaining, but all nodes are implemented and all the big recurring themes are fixed, so i'm closing this issue.


App crashes when using bluetooth on ios

App crashes after clicking on searching  bluetooth devices by the way the app working fine with android
xcode output :
2020-03-04 17:44:40.310095+0100 Runner[94466:2281835] call method -> startScan
2020-03-04 17:44:40.310386+0100 Runner[94466:2281835] getDevices method -> startScan
2020-03-04 17:44:40.312031+0100 Runner[94466:2281835] *** Assertion failure in -[CBCentralManager initWithDelegate:queue:options:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/MobileBluetoothFramework_Sim/MobileBluetooth-132.8/CoreBluetooth/CoreBluetooth/CBCentralManager.m:230
2020-03-04 17:44:40.326653+0100 Runner[94466:2281835] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'State restoration of CBCentralManager is only allowed for applications that have specified the "bluetooth-central" background mode'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000011345d27e __exceptionPreprocess + 350
	1   libobjc.A.dylib                     0x0000000113251b20 objc_exception_throw + 48
	2   CoreFoundation                      0x000000011345cff8 +[NSException raise:format:arguments:] + 88
	3   Foundation                          0x0000000112c79b51 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
	4   CoreBluetooth                       0x00000001132ae101 -[CBCentralManager initWithDelegate:queue:options:] + 910
	5   Runner                              0x000000010f47ef0a -[BLEConnecter initParament] + 292
	6   Runner                              0x000000010f47eddc -[BLEConnecter init] + 66
	7   Runner                              0x000000010f48a85d -[ConnecterManager initConnecter:] + 61
	8   Runner                              0x000000010f48a7ee -[ConnecterManager didUpdateState:] + 94
	9   Runner                              0x000000010f486aae -[BluetoothPrintPlugin handleMethodCall:result:] + 1486
	10  Flutter                             0x00000001101ecdb5 Flutter + 581045
	11  Flutter                             0x0000000110180ba0 Flutter + 138144
	12  Flutter                             0x000000011018464e Flutter + 153166
	13  Flutter                             0x00000001101e6969 Flutter + 555369
	14  Flutter                             0x0000000110193b73 Flutter + 215923
	15  Flutter                             0x00000001101988b8 Flutter + 235704
	16  CoreFoundation                      0x00000001133c0b94 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
	17  CoreFoundation                      0x00000001133c0882 __CFRunLoopDoTimer + 1026
	18  CoreFoundation                      0x00000001133bfeda __CFRunLoopDoTimers + 266
	19  CoreFoundation                      0x00000001133bac4e __CFRunLoopRun + 2238
	20  CoreFoundation                      0x00000001133ba066 CFRunLoopRunSpecific + 438
	21  GraphicsServices                    0x0000000116a22bb0 GSEventRunModal + 65
	22  UIKitCore                           0x000000011d667d4d UIApplicationMain + 1621
	23  Runner                              0x000000010f47df50 main + 112
	24  libdyld.dylib                       0x00000001141bcc25 start + 1
	25  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Hi,
The Bluetooth printing library has been updated and moved to esc_pos_bluetooth package.
Feel free to create a new ticket in that repo if the issue persists.

I am still seeing BT crash on iOS.
cause:  mDNS lookup failed
it seems there is some recent/ongoing bug work in Flutter that could be related to this.
https://github.com/flutter/flutter/issues/46705

@andrey-ushakov  do you think this issue should probably be re-opened?

Here is the reason:
	<key>UIBackgroundModes</key>
	<array>
		<string>bluetooth-central</string>
	</array>
	<key>NSBluetoothPeripheralUsageDescription</key>
	<string>Some Reason that your app needs access</string>
	<key>NSBluetoothAlwaysUsageDescription</key>
	<string>Some reason that your app needs access</string>

by adding this to the info.plist my app was no longer crashing.
This should be placed somewhere in documentation.
also a note, i. think iOS 13 made some changes related to bluetooth permissions, so maybe this is not an issue on older versions of iOS?


get_epi_forecasts

In the grab_epi_forecasts.R file and line 106 of the Rmd file, the get_epi_forecasts function was throwing an error, saying the URL was bad. I updated to https://raw.githubusercontent.com/epiforecasts/covid-regional/master/united-states/regional-summary/rt.csv and it seems to have resolved the issue

thanks for getting us the updated link!


Downloads link for Val Des Bois is broken

Case sensitive, points to:
https://github.com/OpenDRR/earthquake-scenarios/blob/master/FINISHED/SCM7p5_valdesbois.md
should point to:
https://github.com/OpenDRR/earthquake-scenarios/blob/master/FINISHED/SCM7p5_ValDesBois.md

Complete.


Pass the QueryMetadataTable out of frontend and into IR lowering.

Baby steps toward making lowering make full use of the QueryMetadataTable, continuing in the spirit of the smallest possible PR that makes a positive change without breaking tests.
This PR simply passes the QueryMetadataTable out of the compiler frontend and into the IR lowering, updates the API contracts and documentation around that change, and updates tests so they continue to pass.
Subsequent PRs will rewrite lowering steps to make them rely on the QueryMetadataTable more directly and in more depth, and work toward keeping the QueryMetadataTable in sync with IR transformations.

Coverage remained the same at 94.836% when pulling 25077b013d288d1ccdb19b942f3a43aadb511307 on query_metadata_in_lowering into 5d5e033de3e19337aabc3f8fd860ec0f4f24fc5b on master.


recorder: restore state unreliable/saving unexpected/wrong state

Home Assistant release with the issue:
0.78.3 (and prior)
Last working Home Assistant release (if known):
never
Operating environment (Hass.io/Docker/Windows/etc.):
Rasberry PI
Component/platform:
recorder
Description of problem:
I've never had state restoration work reliably.  Every time HASS is restarted (power loss, manual restart, ...) it's a gamble what state my home is in.  This is a major PITA, because e.g. my vacation mode may randomly be turned on or off, causing lights to go on/off unexpectedly.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
recorder:

Additional information:
I spent some time trying to figure out what might be going on.  At first I suspected that the recorder timeout may be too short (similar to #11584).  So I reduced it to 1 to see if it made the issue happen more consistently.  But it didn't.  Because there is no log statement when the timeout happens, I added one here, just to be sure, and it didn't seem to get hit, either.
So then I reproduced it again and this time I dumped the last saved states from the recorder's database using this query:
select entity_id, state, last_changed from states where entity_id='input_boolean.afternoon_turn_tv_off' order by last_changed;

What I saw baffled me:
input_boolean.afternoon_turn_tv_off|on|2018-09-25 05:51:04.338035
input_boolean.afternoon_turn_tv_off|on|2018-09-25 05:52:04.026485
input_boolean.afternoon_turn_tv_off|on|2018-09-25 05:54:14.594796
input_boolean.afternoon_turn_tv_off|on|2018-09-25 05:56:10.126203
input_boolean.afternoon_turn_tv_off|on|2018-09-25 05:57:09.455187
input_boolean.afternoon_turn_tv_off|off|2018-09-25 05:59:19.805373

I never turned that input_boolean off.  All I did is restart HASS.  As soon as I turned it back on, as expected, a new record appeared:
input_boolean.afternoon_turn_tv_off|on|2018-09-25 06:00:39.169271

Based on when the state got set to "off", I suspect that what happened is that HASS was in the process of starting up and the recorder blindly saved the entity's default(?) state ('off') before its state had been restored (which would have been 'on').  Because it saved it to 'off', any subsequent restore would then also set it to 'off'.  It's almost like there's a stage missing where all states are restored first before the recorder can/should save any states.  I tried to follow the code, but I'm not too familiar with Python, unfortunately.
I run into this issue so frequently, it's just frustrating.  It's keeping me from taking my manual alarm system live because I don't want it to go off when it shouldn't.
There's been a number of bugs that were created but never really resolved. Some have resorted to working around it e.g. with HASS-Persistence, but I'd rather not go down that route.  I'm willing to spend more time trying to resolve this issue for good, but I may need some guidance/help.

Just to confirm, you're using 100% default recorder: settings? How large is your database? Do any of the input_booleans have an initial: property set?

Yes, just plain recorder: with no configuration has this issue. Database is about 700 MB. None of these input_boolean have initial: set.
I also have this problem with automations. I have them exposed in the UI (my vacation mode automations) and they are usually turned off on purpose because I'm home. But a restart of Hass randomly turns them on sometimes. I think it's the same underlying problem.

Ok, so I figured out how to reproduce it on demand.  So it's in part user error on my part, but at the same time not exactly what I would expect to happen.
Basically, whenever I made a mistake in the yaml configuration, the recorder goes and records the default state (which for input_booleans appears to be "off", and for automations appears to be "on").  Then, after fixing my mistake and restarting hass, it comes back up with all those entities defaulting to their default state.  It appears as if there is a yaml error in a component, all entities in that particular component revert back to the default state.  Since I have those input_booleans and automations exposed on a separate page on the front end, I never immediately checked whether they still were at the expected value right away.  These input_booleans and automations are in groups (not sure if that matters or not).
Turns out it is quite easy to reproduce:

Have an input_boolean and make sure it is set to "on".  Restart HASS once or twice, and double check that it is still "on".  Notice that you will see one statement while it starts up, with the correct state:

hass[1233]: 2018-09-25 20:31:54 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state input_boolean.afternoon_turn_tv_off=on; friendly_name=Turn off TVs before school ends @ 2018-09-25T20:31:54.993677-06:00>, old_state=None, entity_id=input_boolean.afternoon_turn_tv_off>

The recorder also recorded the "on" state to the database at that time:
input_boolean.afternoon_turn_tv_off|on|2018-09-26 02:31:54.993677

Go and make a yaml mistake, e.g:

input_boolean:
  ...
  some_invalid_stuff:
    that results in a yaml error

Restart HASS.  Notice that you won't see a log statement.  I'm guessing because none of the input_booleans could be created:

Go fix the yaml mistake (e.g. undo it) and Restart HASS once more.  Notice the log statement showing that it came back with the default state:

hass[1633]: 2018-09-25 20:34:18 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, entity_id=input_boolean.afternoon_turn_tv_off, new_state=<state input_boolean.afternoon_turn_tv_off=off; friendly_name=Turn off TVs before school ends @ 2018-09-25T20:34:18.178151-06:00>>

And the recorder also just recorded the default state "off" now, totally wiping the actual intended value (should have been "on"):
input_boolean.afternoon_turn_tv_off|off|2018-09-26 02:34:18.178151

I suppose one could argue this is "working as designed".  But I don't think a temporary configuration mistake should "wipe" those settings.

Based on this excellent analysis I was able to quickly point out the culprit.
Let me start by linking the current restore state logic: https://github.com/home-assistant/home-assistant/blob/a8f5e8699a8d223f5a514efb0c694fd02a73349e/homeassistant/helpers/restore_state.py#L31-L44
In laymen terms, this is what is happening:

We query the last run of Home Assistant. A run is when Home Assistant started until it shut down.
We query the last state of all entities in the found run and make that available for state restoration.

So if you make a YAML error, the last run did not contain a state for those entities (they never existed) and so they will not be restored.
The same behavior can be experienced if a user shuts down Home Assistant during the startup phase before the states have been written to the state machine.
Automations are even more vulnerable as they don't write their restored state to the state machine until the HOMEASSISTANT_START event has been fired, to avoid firing automations during startup, meaning they are initially written as being "OFF" until startup is finished.
I think that we can solve this problem with two steps:

For automations: write "ON" to the state machine during startup if we know that we're going to enable ourselves when startup is done. This requires the is_on property to include a check if an "enable" is scheduled besides checking if the automation is active. The only downside to this solution is that the state of an automation during startup phase doesn't actually represent the state of the automation.

For state restoration: we should consider querying across runs. This requires some performance analysis as we now query a lot more states.

This makes sense.  Any chance this bug can also be triggered by HA being stopped by systemd (I'm guessing it would use SIGTERM in that case)?  I just noticed that a few of my vacation automations changed their state unexpectedly when I upgraded to 0.80.0 a few days ago even though I didn't touch any yaml.
To see if it would happen again, I just upgraded to 0.80.2 (stopping HA through systemctl before the update), but this time everything came back up as expected.

Though it might be a un-necessary, un-productive comment, I nevertheless want to chime in with the  hopes of this getting fixed! I'd very much like to use input_numbers and _text etcetera more, for configuration purposes, but at the moment restore_state is too unreliable for that to work.
By the by; I have also, like @tomuta mentioned above, experienced a greater risk for states not being accurately restored when HA has been stopped by systemd.  (Could it perhaps have something to do with a SQL database being used, it perhaps being shut down before HA? Just guessing here.)

Another approach to this problem might be this:
If the last run did not record a state for an entity, then restore the last recorded state of any previous run. And only default to the default value if there are no runs in the history that recorded a state for the entity (which would be the case for a newly added entity). There would be some performance impact, but probably not a huge one.

This has happened to me on a couple of occasions, most recently tonight after completing a Hassio update to 0.84.1.
I noticed all historical data was wiped out and then after a few minutes noticed all my automations were switched off.
Though not a particularly elegant idea, I wonder if storing the automation state as files on the filesystem outside the state db makes sense.  Like if the file state.automation1.on exists turn it on, rename to '.off' if user switches it off...
I'm going to configure initial_state for all my permanent automations

There seems to be a new file, core.restore_state, under .storage after having updated to 0.84.1. The filename gives me hopes this is being resolved.

See this file; pull request 17270, "Restore states through a JSON store instead of recorder"!

JSON state restore was included in 0.83 or 0.84 (I've been running dev and lost track of versions) - that should resolve this issue. You may see strange states (or no states) restored the first time you restart after upgrading from pre 0.83 (or 0.84), since the file hasn't been created yet, but after that it should take care of everything.

I don't think this is fixed in 0.91.1. I re-did my entire setup on 0.90.0 and recently upgraded to 0.91.1, and last night I noticed that my porch light wasn't on when it should have. Turns out, somehow most of my automations were turned off, even though I have nothing that can turn it off and I hide them all on the UI, so nobody could accidentally turn them off.
select entity_id, state, last_changed from states where entity_id='automation.evening_turn_on_porch_light' order by last_changed;

automation.evening_turn_on_porch_light|off|2019-04-06 02:14:28.460066
automation.evening_turn_on_porch_light|on|2019-04-06 02:14:29.245661
automation.evening_turn_on_porch_light|off|2019-04-06 16:46:53.888755
automation.evening_turn_on_porch_light|on|2019-04-06 16:46:54.381256
automation.evening_turn_on_porch_light|off|2019-04-06 17:11:40.638995
automation.evening_turn_on_porch_light|on|2019-04-06 17:11:41.390323
automation.evening_turn_on_porch_light|off|2019-04-06 18:04:40.913983
automation.evening_turn_on_porch_light|on|2019-04-06 18:04:41.652542
automation.evening_turn_on_porch_light|off|2019-04-06 18:55:50.218914
automation.evening_turn_on_porch_light|on|2019-04-06 18:55:50.861205
automation.evening_turn_on_porch_light|off|2019-04-06 18:59:36.526432
automation.evening_turn_on_porch_light|off|2019-04-06 19:05:53.101206
automation.evening_turn_on_porch_light|off|2019-04-06 19:10:43.681095
automation.evening_turn_on_porch_light|off|2019-04-06 19:15:37.829452
automation.evening_turn_on_porch_light|off|2019-04-06 19:51:51.374552
automation.evening_turn_on_porch_light|off|2019-04-06 20:22:02.284970
automation.evening_turn_on_porch_light|off|2019-04-06 20:40:52.650982

Notice how it often flips between on and off? I didn't touch any of my HASS configuration on that day, but I did turn on/off/reboot the system a number of times that day (and accidentally shut off power to it at least once). So it seems like something related to restarting can still mess up the states.


Integration with Home Assistant

Hi, your api for airmusic is great, I have it tested with my two internet radios:
Device Name: Radio Å�azienka
{
“SW_Ver”: “AT9THFCR-i724h-i713**ad-i725a-(DB:20211111)”,
“wifi_info”: {
“status”: “connected”,
“MAC”: “0C8C243E5CE0”,
“SSID”: “DOM3”,
“Signal”: “76”,
“Encryption”: “WPA2/AES”,
“IP”: “<IP_ADDRESS>”,
“Subnet”: “<IP_ADDRESS>”,
“Gateway”: “<IP_ADDRESS>”,
“DNS1”: “<IP_ADDRESS>”,
“DNS2”: null
}
}
Current volume = 3
Current mute = False
Hotkeylist: 5 out of 5:
75_256, Muzo.fm, file
75_770, Antyradio 94 FM Warszawa, file
75_4, Rock Radio, file
75_0, Double Q 101 WWQQ FM 101.3, file
75_0, Radio TOK FM, file
Verify navigation through menus to reach a station to play.
List: 10 out of 10:
87 Local Radio → content
51 my mediaU → content
52 Internet Radio → content
2 Media Center → content
5 FM → content
91 DAB/DAB+ → content
3 Information Center → content
47 AUX → content
104 Bluetooth → content
6 Configuration → content
List: 6 out of 6:
75 My Favorite → content
71 Radio Station/Music → content
87 Local Radio → content
154 Sleep Radio → content
59 History → content
4 Service → content
List: 8 out of 8:
75_0 Muzo.fm → file
75_1 Antyradio 94 FM Warszawa → file
75_2 Rock Radio → file
75_3 Double Q 101 WWQQ FM 101.3 → file
75_4 Radio TOK FM → file
75_5 Radio Nowy Å�wiat → file
75_6 RÃ¡dio AntÃ©na Rock → file
75_7 Empty → emptyfile
Press CTRL-C to interrupt.
Vol sid Status
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
^CGoing to play the radio station at hotkey 1.
Press CTRL-C to interrupt.
Vol sid Status
3 1 Connecting …
3 1 Connecting …
3 1 Connecting …
3 2 Buffering 25%
3 6 Playing
3 6 Playing
3 6 Playing
Second one:
created
8d
last reply
4d
1
reply
53
views
1
user
2
links
DominikW
Dominik Wrobel
4d
I’ve installed on my raspberry pi 4 (not running HA - I run HA on a Lenovo M72e) the tests.py from https://github.com/edberoi/python-airmusicapi
And after running it on my two internet radios I get this info:
Device Name: Radio Å�azienka
{
“SW_Ver”: “AT9THFCR-i724h-i713**ad-i725a-(DB:20211111)”,
“wifi_info”: {
“status”: “connected”,
“MAC”: “0C8C243E5CE0”,
“SSID”: “DOM3”,
“Signal”: “76”,
“Encryption”: “WPA2/AES”,
“IP”: “<IP_ADDRESS>”,
“Subnet”: “<IP_ADDRESS>”,
“Gateway”: “<IP_ADDRESS>”,
“DNS1”: “<IP_ADDRESS>”,
“DNS2”: null
}
}
Current volume = 3
Current mute = False
Hotkeylist: 5 out of 5:
75_256, Muzo.fm, file
75_770, Antyradio 94 FM Warszawa, file
75_4, Rock Radio, file
75_0, Double Q 101 WWQQ FM 101.3, file
75_0, Radio TOK FM, file
Verify navigation through menus to reach a station to play.
List: 10 out of 10:
87 Local Radio → content
51 my mediaU → content
52 Internet Radio → content
2 Media Center → content
5 FM → content
91 DAB/DAB+ → content
3 Information Center → content
47 AUX → content
104 Bluetooth → content
6 Configuration → content
List: 6 out of 6:
75

Device Name: Oakcastle IR100
{
“SW_Ver”: “5SADNB33-jb21h-jb21**a*-jb21a-(DB:20220114)”,
“wifi_info”: {
“status”: “connected”,
“MAC”: “74EE2A365265”,
“SSID”: “DOM3”,
“Signal”: “82”,
“Encryption”: “WPA2/AES”,
“IP”: “<IP_ADDRESS>”,
“Subnet”: “<IP_ADDRESS>”,
“Gateway”: “<IP_ADDRESS>”,
“DNS1”: “<IP_ADDRESS>”,
“DNS2”: null
}
}
Current volume = 10
Current mute = False
Hotkeylist: 5 out of 5:
75_0, Muzo.fm, file
75_1, Antyradio FM, file
75_2, Rock Radio, file
75_3, EskaROCK, file
75_4, Radio Nowy Swiat, file
Verify navigation through menus to reach a station to play.
List: 7 out of 7:
87 Local Radio → content
52 Internet Radio → content
2 Media Center → content
136 Spotify Connect → content
3 Information Center → content
104 Bluetooth → content
6 Configuration → content
List: 5 out of 5:
75 My Favorite → content
71 Radio Station/Music → content
154 Sleep Radio → content
59 History → content
4 Service → content
List: 10 out of 10:
75_0 Muzo.fm → file
75_1 Antyradio FM → file
75_2 Rock Radio → file
75_3 EskaROCK → file
75_4 Radio Nowy Swiat → file
75_5 ANTENA ROCK → file
75_6 Zlote → file
75_7 MELO- → file
75_8 TOK FM → file
75_9 Empty → emptyfile
Press CTRL-C to interrupt.
Vol sid Status
10 1 Connecting …
10 2 Buffering 25%
10 6 Playing
10 6 Playing
10 6 Playing
10 6 Playing
10 6 Playing
^CGoing to play the radio station at hotkey 1.
Press CTRL-C to interrupt.
Vol sid Status
10 6 Playing
10 1 Connecting …
10 3 Buffering 50%
10 6 Playing
10 6 Playing
Everything works fine, my issue is that I would like to integrate this api with home assistant so I can use the media player to control these radios - but I have no idea how to do that.

Hi Dominik,
it is nice to read the API is helpful for you.
The API was written to enable others to kick-start development of higher applications, or for those like you owning different devices and potentially able to extend the API even with features not available in the device I own.
Home Assistant was not the first thing I had in mind, but I am sure it should be possible to integrate this API in HA.
I am not a user of HA, but I think you can integrate with HA in two ways:

For specific tasks / services a Python script is created, where the script imports the airmusic API. (See: https://www.home-assistant.io/integrations/python_script/)
Add the API to HA, but that might need some tailoring and probably you will need to publish on PyPi as well. (See: https://developers.home-assistant.io/docs/api_lib_index)

Not sure what is easier / faster / better in your case.
If you have suggestions to improve the API code to enable integration with HA, just let me know.
Cheers,
Eric.

Thank you for your answer. I just started with Home Assistant and I have no programming knowlage, I just want to kontrol my kitchen radio via HA, because the airmusic app is crappy and I have everything alse controlled via HA (like lights, vacuum, cameras etc.)
I probablly could set up scripts with commands to the airmusic api - but 1. I have no idea how to install it on my Home Assistant machine (running bare metal install) - I have the API set up for testing on my raspberry pi but I have no idea how to send commands from HA to Pi4. Any help would be great.


[stable/rethinkdb] Fix proxy service annotations

What this PR does / why we need it:
Update proxy service annotations to follow the format specified in the README and values.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/ok-to-test

/assign

Sure, but it will break if people have implemented according to the
implementation rather than the docs. So I just wanted to be sure.
On Fri, Apr 27, 2018, 21:13 Tim Stoop<EMAIL_ADDRESS>wrote:

@timstoop requested changes on this pull request.
In stable/rethinkdb/Chart.yaml
https://github.com/kubernetes/charts/pull/5287#discussion_r184781976:

@@ -1,6 +1,6 @@
name: rethinkdb
description: The open-source database for the realtime web
-version: 0.1.3
+version: 0.2.0

From the looks of this patch, this is a bug fix, right? So it should just
bump the patch version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/charts/pull/5287#pullrequestreview-116052656,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADVCy5m_kjS1Jr1uSYTb6gKCjhVJjSiyks5ts23BgaJpZM4TqZXA
.

/cat

/meow

@timstoop Please let me know if you disagree

I'm not against the minor increase, but I'm not sure if a bug is "doesn't work like documented" or "document is not correct"... I'm kinda thinking both, as in, one would expect the documentation to be leading. That said, it's a philosophical debate and not even an important one :) So this is fine.

@meenie As maintainer, what do you think?

/ok-to-test

@timstoop LGTM! Minor bump is fine.

@timstoop @meenie It is done! :)

/retest

/retest

It seems the pods aren't being scheduled, I suspect because of the PVC not being created. I'm experiencing the same her https://github.com/kubernetes/charts/pull/5347. Any pointers on what to do is highly appreciated.

/retest

/lgtm


The exemple doesn't work

Hello,
there is an issue with the exemple code.
Where come beta0 from?
Thank you very much for this tool.

Hi Roger,
Thank you for your question. ``beta0"  refers to the true beta values supplied by user. I have fixed the code. Please let me know if it still does not work.


Unable to save fif file

Dear Sir or Madame,
I am using mne-python and try to load and save raw fif-files. I successfully loaded the data, but somehow saving the file is NOT working. The same code sample runs on my college's machine just fine. the only difference is the version of mne-python he is using.
Here is some code snippet that illustrates the error:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-

import mne
mne.__version__

fname = '/home/asbaih/mne_data/MNE-sample-data/MEG/sample/sample_audvis_raw.fif'
raw = mne.io.read_raw_fif(fname, preload=True)

raw.plot(n_channels=40, duration=50)

raw.save(fname, overwrite=True)

Here is the error:
Traceback (most recent call last):

  File "<ipython-input-209-365f46b743cc>", line 12, in <module>
    raw.save(fname, overwrite=True)

  File "<string>", line 2, in save

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/utils.py", line 729, in verbose
    return function(*args, **kwargs)

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/io/base.py", line 1749, in save
    split_size, 0, None)

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/io/base.py", line 2179, in _write_raw
    reset_range, raw.annotations)

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/io/base.py", line 2331, in _start_writing_raw
    fid = start_file(name)

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/io/write.py", line 277, in start_file
    write_id(fid, FIFF.FIFF_FILE_ID, id_)

  File "/home/asbaih/anaconda2/lib/python2.7/site-packages/mne/io/write.py", line 229, in write_id
    fid.write(np.array(kind, dtype='>i4').tostring())

IOError: File not open for writing

I am grateful for any help.
Yours sincerely,
A. Sbaih

I solved the problem.
thank you


Cleanup Workflow.dag checks

https://github.com/argoproj-labs/hera-workflows/pull/309 added some extra assert self.dag is not None to Workflow, even though self.dag is now always set/required. The added test_workflow_catches_none_dag_upon_task_insert test checks for this, but this is a degenerate case anyway, as mypy shows:
$ mypy -p hera -p tests
... # lots of other errors in tests, these aren't normally checked
tests/test_workflow.py:373: error: Incompatible types in assignment (expression has type "None", variable has type "DAG")
...

With https://github.com/argoproj-labs/hera-workflows/pull/311, we don't have to worry as much about codecov/coverage jitter, so the extra checks+test can be removed without making codecov mad. I figured making the code a bit more clear (ie: not make you second guess your mental model of self.dag) might be good, but feel free to close this if you still prefer the checks!

I couldn't set the base branch to be https://github.com/argoproj-labs/hera-workflows/pull/311/files (since that branch is from a fork), but can rebase or something after/if that is merged.

If the dag member should never be directly altered after construction, should we then make it private? As in, _dag.

I tend to prefer public members, particularly for things (like DAG) that are objects a user may construct and pass in, but would happily defer. 😄
I guess self._service does follow a private precedent, but also provides a @property getter and setter (so, could still be modified). Does WorkflowService() make network connections or why do we defer that to the @property rather than doing self.service = WorkflowService() if service is None else service in Workflow.__init__?

I guess self._service does follow a private precedent, but also provides a @property getter and setter (so, could still be modified). Does WorkflowService() make network connections or why do we defer that to the @property access rather than doing self.service = WorkflowService() if service is None else service in Workflow.__init__?

It's related to https://github.com/argoproj-labs/hera-workflows/pull/285

Thanks for the fix in https://github.com/argoproj-labs/hera-workflows/pull/317 @flaviuvadan (and 'doh haha), I rebased this so coverage should pass now!

Haha, and now the good old codecov upload flake:

There was an error running the uploader: Error uploading to https://codecov.io: Error: There was an error fetching the storage URL during POST: 404 - {'detail': ErrorDetail(string='Unable to locate build via Github Actions API. Please upload with the Codecov repository upload token to resolve issue.', code='not_found')}

Maybe retry that step?


"Văleni" is listed in the drop-down menu

Description:
"Văleni" is listed in the drop-down menu alongside its corresponding county according to the law
Precondition:
The website is up an running.

Step 1
Type "Văleni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Văleni, OLT".


Code is always predicting wrong output

I am learning python and started working with existing codes in google, but this code is not providing proper output , always giving wrong value.
import nltk
nltk.download('punkt')
nltk.download('wordnet')
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
import json
import pickle
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Activation, Dropout
from keras.optimizers import SGD
import random
import tensorflow as tf
import tensorflow_hub as hub
import tensorflow_datasets as tfds
intents_file = open('intents.json').read()
intents = json.loads(intents_file)
words=[]
classes = []
documents = []
ignore_letters = []
for intent in intents['intents']:
for pattern in intent['patterns']:
#tokenize each word
w = nltk.word_tokenize(pattern)
words.extend(w)
#add documents in the corpus
documents.append((w, intent['tag']))
# add to our classes list
if intent['tag'] not in classes:
classes.append(intent['tag'])
print(documents)
        # lemmatize, lower each word and remove duplicates
        words = [lemmatizer.lemmatize(w.lower()) for w in words if w not in ignore_letters]
        words = sorted(list(set(words)))
        # sort classes
        classes = sorted(list(set(classes)))
        # documents = combination between patterns and intents
        print(len(documents), "documents")
        # classes = intents
        print(len(classes), "classes", classes)
        # words = all words, vocabulary
        print(len(words), "unique lemmatized words", words)
        pickle.dump(words, open('words.pkl', 'wb'))
        pickle.dump(classes, open('classes.pkl', 'wb'))
        # create our training data
        training = []
        # create an empty array for our output
        output_empty = [0] * len(classes)
        # training set, bag of words for each sentence
        for doc in documents:
            # initialize our bag of words
            bag = []
            # list of tokenized words for the pattern
            pattern_words = doc[0]
            # lemmatize each word - create base word, in attempt to represent related words
            pattern_words = [lemmatizer.lemmatize(word.lower()) for word in pattern_words]
            # create our bag of words array with 1, if word match found in current pattern
        for w in words:
            bag.append(1) if w in pattern_words else bag.append(0)
        # output is a '0' for each tag and '1' for current tag (for each pattern)
        output_row = list(output_empty)
        output_row[classes.index(doc[1])]  = 1
        training.append([bag, output_row])
    # shuffle our features and turn into np.array
    random.shuffle(training)
    training = np.array(training)
    # create train and test lists. X - patterns, Y - intents
    train_x = list(training[:, 0])
    train_y = list(training[:, 1])
    print("Training data created")

    # Create model - 3 layers. First layer 128 neurons, second layer 64 neurons and 3rd output layer contains number of neurons
    # equal to number of intents to predict output intent with softmax
    model = Sequential()
    model.add(Dense(128, input_shape=(len(train_x[0]),), activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(64, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(len(train_y[0]), activation='softmax'))
    # Compile model. Stochastic gradient descent with Nesterov accelerated gradient gives good results for this model
    sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
    # fitting and saving the model
    hist = model.fit(np.array(train_x), np.array(train_y), epochs=8, batch_size=8, verbose=8)
    model.save('chatbot_model.h5', hist)
    print("model created")

            # fitting and saving the model

hist = model.fit(np.array(train_x), np.array(train_y), epochs=1, batch_size=1, verbose=8,shuffle=True)
model.save('chatbot_model.h5', hist)
print("model created")
model.summary()
cvscores = []
scores = model.evaluate(train_x, train_y, verbose=0)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
cvscores.append(scores[1] * 100)
print("%.2f%% (+/- %.2f%%)" % (numpy.mean(cvscores), numpy.std(cvscores)))

@rajeeshmk Sorry for late response. Is this still an issue for you?
Can you please format and share a simple standalone code to reproduce the issue? Please use some toy data and share all the files required to reproduce the issue. Thanks!


[#2524] Plugin loading layer refactoring

Reduce cycle dependency

Codecov Report

Merging #2625 into master will decrease coverage by -0.04%.
The diff coverage is 61.02%.

@@            Coverage Diff             @@
##           master    #2625      +/-   ##
==========================================
- Coverage   40.09%   40.05%   -0.04%
==========================================
  Files        1761     1764       +3
  Lines       60732    60895     +163
  Branches     8456     8486      +30
==========================================
+ Hits        24348    24390      +42
- Misses      36384    36505     +121

Impacted Files
Coverage Δ

...navercorp/pinpoint/bootstrap/ProfilerLibClass.java
100% <ø> (ø)
:white_check_mark:

...int/profiler/context/ApplicationContextModule.java
98.14% <ø> (-0.04%)
:x:

...rp/pinpoint/test/MockApplicationContextModule.java
100% <ø> (ø)
:white_check_mark:

.../xml/interceptor/AnnotatedInterceptorInjector.java
0% <ø> (ø)
:white_check_mark:

...ransformer/DefaultClassFileTransformerBuilder.java
0% <ø> (ø)
:white_check_mark:

...nterceptor/TargetAnnotatedInterceptorInjector.java
0% <ø> (ø)
:white_check_mark:

...text/provider/PluginContextLoadResultProvider.java
73.68% <100%> (+2.25%)
:white_check_mark:

...ontext/provider/ApplicationServerTypeProvider.java
90% <100%> (+0.52%)
:white_check_mark:

...a/com/navercorp/pinpoint/test/MockPluginSetup.java
100% <100%> (ø)
:white_check_mark:

...orp/pinpoint/test/classloader/TestClassLoader.java
75% <100%> (+1%)
:white_check_mark:

... and 24 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 78c43ee...3174428. Read the comment docs.


Extended the SomeWhen and NoneWhen functionality.

Added a
SomeWhen<T, TException>(this T value, Func<T, bool> predicate, Func<T, TException> exceptionFactory)

and a
NoneWhen<T, TException>(this T value, Func<T, bool> predicate, Func<TException> exceptionFactory)

extension methods and their corresponding tests.
These come really handy when you deal with results such as ASP.NET Identity's IdentityResult.
Example:
var creationResult = (await UserManager.CreateAsync(user, model.Password))
                .SomeWhen(
                    x => x.Succeeded,
                    x => x.Errors.Select(e => e.Description).ToArray());

Hi!
Thank your for the PR and sorry for the (very) late response.
I think it is a useful addition. Could I ask you to move the changes to the develop branch, and if you have time add relevant XML comments to the new Some/NoneWhen methods (copy paste from the other, and adjust)?
Thanks in advance!
/ Nils


Feature/2935 replace stanc2 tests with stanc3

Submission Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
This PR replaces stanc2 with stanc3 for tests in this repo. The only exception is the standalone functions tests, those still require stanc2. A PR to add that functionality to stanc3 is open so those should move to stanc3 shortly as well.
This PR also moves all src/test/unit/lang tests to src/test/lang so that they are not run on Jenkins/Travis but are still left in the repo. The alternative would be to delete them and that is also an option, given that there is no need to unit test the old compiler as long as it compiles the test models.
In order to run with stanc3, I had to fix a few tests (I am also adding the comments in the changes):

some models were missing semicolons, it seems that stanc2 allowed omitting ";" sometimes
one model used max as an identifier in the function signature. stanc2 allowed reserved words for those cases, but not for a regular identifier (a variable name for example)
one model used target as the function name, which is a reserved word. I guess this was allowed by stanc2?
fixed calls of the model constructor as stanc3 only supports

bernoulli_model(stan::io::var_context& context__,
                   unsigned int random_seed__ = 0,
                   std::ostream* pstream__ = nullptr)

while stanc2 also supports
bernoulli_model(stan::io::var_context& context__,
                   std::ostream* pstream__ = nullptr)

which just calls the 3 arg constructor with seed = 0. This only makes a difference in tests, so I don't think it makes sense to add this to stanc3 C++ generation, but if there are some other reasons I would not oppose. This was both stanc2 and stanc3 work.

one test used a model that inherited from a compiled test model. We added final to the classes in stanc3 very recently, so this inheritance is not possible anymore. What I did was I placed the generated code in the test, not inheriting. As the test is just testing behavior of write_array for exceptions this should be fine.

Working on this uncovered a few minor stanc3 bugs that were fixed in the process.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Rok Češnovar, Univ. of Ljubljana
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

fyi I ran the tests on my machine and they look fine

Name
Old Result
New Result
Ratio
Performance change( 1 - new / old )

stat_comp_benchmarks/benchmarks/gp_pois_regr/gp_pois_regr.stan
2.36
2.35
1.0
0.37% faster

stat_comp_benchmarks/benchmarks/low_dim_corr_gauss/low_dim_corr_gauss.stan
0.01
0.01
0.97
-2.76% slower

stat_comp_benchmarks/benchmarks/eight_schools/eight_schools.stan
0.04
0.04
0.99
-0.72% slower

stat_comp_benchmarks/benchmarks/arK/arK.stan
1.28
1.29
0.99
-1.22% slower

stat_comp_benchmarks/benchmarks/irt_2pl/irt_2pl.stan
4.12
4.13
1.0
-0.2% slower

performance.compilation
58.29
58.17
1.0
0.2% faster

stat_comp_benchmarks/benchmarks/low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan
5.47
5.5
0.99
-0.54% slower

stat_comp_benchmarks/benchmarks/pkpd/one_comp_mm_elim_abs.stan
13.37
13.36
1.0
0.06% faster

stat_comp_benchmarks/benchmarks/sir/sir.stan
70.45
70.54
1.0
-0.13% slower

stat_comp_benchmarks/benchmarks/pkpd/sim_one_comp_mm_elim_abs.stan
0.21
0.21
0.99
-0.53% slower

stat_comp_benchmarks/benchmarks/low_dim_gauss_mix/low_dim_gauss_mix.stan
1.97
1.98
1.0
-0.22% slower

stat_comp_benchmarks/benchmarks/gp_regr/gp_regr.stan
0.09
0.09
1.0
0.42% faster

stat_comp_benchmarks/benchmarks/arma/arma.stan
0.33
0.33
1.0
0.1% faster

stat_comp_benchmarks/benchmarks/gp_regr/gen_gp_data.stan
0.02
0.02
1.0
-0.02% slower

stat_comp_benchmarks/benchmarks/garch/garch.stan
0.33
0.33
1.0
-0.13% slower

Thanks @SteveBronder !

Yeah that would be a major bump probably for the math lib, good call. If ifs easy to change back lets do that and I can do the necessary stanc3 changes.

If ifs easy to change back lets do that and I can do the necessary stanc3 changes.

Let me have a go at it. Should be able to say if it was easy or not in a couple hours.

That would also vastly simplify merging variadic odes as stanc3 PR can go green then, we merge it and then just restart the math tests. So, no pressure :)

@rok-cesnovar I switched the integrate_ode_X interfaces to use functors like:
operator()(const T0& t_in, const std::vector<T1>& y,
             const std::vector<T2>& parms, const std::vector<double>& sx,
             const std::vector<int>& sx_int, std::ostream* msgs) const {

The math tests pass and I was able to compile a model using a regular stanc3, so hopefully the upstream math tests will go farther now.

Oh another thing on this pull -- all the lang tests got renamed. I guess is it still possible to run them? And is there a plan for ditching stanc2 alltogether?

Yes, you can run them, but they will no longer run on Jenkins after this PR. I dont think we need the stanc2 lang unit tests anyone. We should only check that the example models still compile for as long as stanc2 is the debug/backup cmdstan option.
Latest rstan is still using stanc2, but is now simultaneously checking whether the model compiles with stanc3. So we found some additional differences with stanc2 that will get caught. So I think we could remove it for 2.25.

All makes sense.

Thanks Ben!


App auto close with mmedia mediation and cordova 5

Hello,
The AdMob plugin and the mmdia Adaptater were working great for me ! But now with the cordova 5  my app auto close few seconds after loading.
I update all plugins but still doesn't work.
I tried to use the AdMob plugin without mmdia Adaptater, it works ! The problem comes when I add the cordova-plugin-admob-mmedia. I have no message, no log.
What can I do please ?

mMedia is no longer updated, and no plan for it, as I sent support request to mMedia team but never receive any response.


Add zh_cn dosc for client_auth example. Resolve #125.

Codecov Report

Merging #167 into develop will increase coverage by 0.02%.
The diff coverage is 44.44%.

@@             Coverage Diff             @@
##           develop     #167      +/-   ##
===========================================
+ Coverage    52.82%   52.85%   +0.02%
===========================================
  Files          217      217
  Lines        21579    21588       +9
===========================================
+ Hits         11400    11410      +10
+ Misses        8886     8885       -1
  Partials      1293     1293

Impacted Files
Coverage Δ

bfe_config/bfe_conf/conf_https_basic.go
47.22% <44.44%> (-2.28%)
:arrow_down:

bfe_util/fixed_pool.go
83.33% <0%> (-16.67%)
:arrow_down:

bfe_http2/server.go
71.83% <0%> (+0.32%)
:arrow_up:

bfe_spdy/server_write_sched.go
80% <0%> (+1.53%)
:arrow_up:

bfe_websocket/server_conn.go
75.75% <0%> (+3.03%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b0423f8...f2d67cf. Read the comment docs.


Close ThreadLocal under Tomcat

Stopping a webapp that uses jsoup, running under Tomcat:
May 09, 2018 4:11:16 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/vocabs-registry] created a ThreadLocal with key of type [org.jsoup.helper.StringUtil$1] (value [org.jsoup.helper.StringUtil$1@498746d9]) and a value of type [java.lang.StringBuilder] (value [
Test of registry events]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
May 09, 2018 4:11:16 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/vocabs-registry] created a ThreadLocal with key of type [org.jsoup.helper.StringUtil$1] (value [org.jsoup.helper.StringUtil$1@498746d9]) and a value of type [java.lang.StringBuilder] (value [
Test of registry events]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

(Since there are two instances of the error, I guess there were two threads using jsoup in the webapp.)
My webapp has a ServletContextListener with a contextDestroyed method that shuts down everything (i.e., including database connection pools, drivers, and other ThreadLocals), and it would be nice if, within that method, I had a convenient way of closing down any ThreadLocals associated with jsoup.

I've been thinking of remodelling these StringBuilder cache's as a thread-shared flyweight, vs one per thread. The current impl doesn't allow more than one per stack which reduces its utility (which is to minimize the garbage generated by lots of short-lived StringBuilders). A reimplementation like that would fix this issue.
Although in reality, I think Tomcat is being a bit paranoid in this instance. The ThreadLocals aren't holding onto anything long-lived, and will be garbage collected along with the Thread when it terminates.


Blade not running when choosing No Starter Kit on fresh install

Laravel Version
11.25.0
PHP Version
8.3.12
Database Driver & Version
n/a
Description
Installing fresh instance (using laravel new appname) where I do not need a login (or even a database), if I select No Starter Kit on fresh install, the default welcome blade template is not rendering properly. As I needed no database, but there is no option for that, I selected sqlite. Where the failure differs is whether I choose to run migrations or not.
A. If I select sqlite and choose NOT to do initial migration, upon opening in browser to the default / route welcome.blade.php view, I get an Undefined variable $component (View: ../Code/project/vendor/laravel/frameworks/src/Illuminate/Foundation/resouces/exceptions/renderer/show.blade.php message.
B. If I instead do a fresh install only this time selecting sqlite and choose TO do the initial migration; upon opening browser to the default / route welcome.blade.php view, I get a page load without errors however, the blade engine never runs so things like @if or {{ PHP_VERSION }} are not rendered but shown as is.
Steps To Reproduce
create a new project using laravel new projectname -> select No Starter Kit -> choose Sqlite -> choose NO to running default db migration >  creates an Undefined variable $component error when loading the default page (welcome.blade.php)
create a new project using laravel new projectname -> select No Starter Kit -> choose Sqlite -> choose YES to running default db migration >  displays page where no blade tags are rendered as if blade doesn't run.

I found an older issue where it was a PHP version issue. If I drop back to PHP 8.2.24 this works, which was unexpected because if I use a starter kit like Breeze or Jetstream, the install finishes fine with PHP 8.3.12
I get this is an odd install (no starter kit or even database needed). I created a game utility using a single page app using only Livewire a while ago - there are no sessions, logins or database. I wanted to update this app but figured as I didn't need those I'd create a fresh install with the most bare-bone options and then manually install Livewire (or perhaps Volt) and just write a cleaner version of that app.

How do you create the Application?

composer create-project ...
laravel new ...
Some other way?

If yes, was version of composer / laravel do you use?

composer --version
`laravel --version´

So I did exactly what you described and had no issues.
(Except that without a migrated database, the session can not be generated and an error is thrown, which results in a rendered error page. But you described the problem that even the error page doesn't render correctly).
What Operating System are you using? If Windows: with, or without WSL2?
How do you serve the application? Herd, php artisan serve, etc.?

I had already updated those when I noticed it failing before I submitted the issue. I was using:

Laravel Installer 5.8.5
Composer version 2.7.9

I'm running on Linux Mint (21.3) and have Apache2 installed. I have dns alias set up to run identical to Valet but on linux obviously, so I just browse to projectname.test and apache serves it. I use a little script to switch php versions (basically it runs update-alternatives to chane php-cli version and then runs a2dismod on every installed version and then a2enmod on the version I'm switching too and restarts apache).
I tried it again (again using php 8.3.12) and this time it installed. I notice this time it installed Laravel 11.26.0 instead of 11.25.0 so that seems to be the only thing that changed. Perhaps just an issue with 11.25.0. I noticed 11.26 rolled back to a older version of laravel/prompts so maybe it was related to whatever reason they rolled back for.

Quite a custom setup. 🫣
If the problem does no longer occur, than that is good and this issue can be closed.


Use Distroless instead of Alpine

Ref: https://github.com/GoogleContainerTools/distroless

Ready to go!

When is this going to be released?

Now :)

Fantastic! Thank you! 🙂


S1: As an unregistered user, I want to be able to register as a user with my chosen credentials (i.e., username and password that are both not empty words) to leverage/use services and information that are exclusively available to registered users.

Acceptance Criteria:

[ ] Upon successful user registration, the home screen (see below) is shown, and the user is automatically logged in.

[ ] Upon failure, an error is displayed, and the user is redirected (back) to the register screen. A register error can be that a user name is already taken.

[ ] Logged-in users can log out and log back into the home screen.

[ ] Users who are not logged in or not registered will not be able to access any other pages.

git status
git add
git commit

git status

git add

development tasks


OpenAPI generated DTO formatting

Environment Details

Helidon Version: 4.0.6
OpenAPI generator version: 6.2.1
Helidon MP
JDK version: 21
OS: Windows

Source code formatting of data transfer objects generated by the OpenAPI generator can be improved.
Spacing and line breaks:
 /**
   * The first name of the pet owner.
   * @return firstName
  **/
  @NotNull
 @Pattern(regexp="^[a-zA-Z]*$") @Size(min=1,max=30)  public String getFirstName() {
    return firstName;
  }

Extra lines:
public OwnerDto(
    @JsonbProperty("id") Integer id,

    @JsonbProperty("pets") List<PetDto> pets

  ) {
    this.id = id;
    this.pets = pets;
  }

We do have a Helidon-specific templates in the artifact openapi-generator named pojo.mustache in the following directories. We can adjust the formatting of these however we want without affecting non-Helidon generators.
main/resources/java-helidon/
  client/
    libraries/
      mp/
      se/
  server/
    libraries/
      mp/
      se/


deposit form: publish button is not enabled when reloading the page

Package version (if known):
Describe the bug
Publish button: It is not enabled when reloading a page with a valid record - you first have to save the record for the publish button to be enabled.
Steps to Reproduce

Create a new valid upload (i.e. publish button becomes enabled).
Now reload the page.
Observe that the published button is disabled.
Press save, and observe that the publish button is now enabled.

Expected behavior
As a user, I expect the publish button to be enabled if I'm able to submit the record.

Context: We don't store any state information about if a draft is valid or not, and thus the form doesn't know that the record is valid until you save it.


[OETHb] Deploy 013 - Fixed Rate Dripper

Deployment

FixedRateDripper: 0xA3A4759DF6687Cd2573B1399b68118BB86EccDaE

Governance

Upgrade OETHb Dripper proxy to use the new FixedRateDripper implementation

Deploy checklist
Two reviewers complete the following checklist:
- [ ] All deployed contracts are listed in the deploy PR's description
- [ ] Deployed contract's verified code (and all dependencies) match the code in master
- [ ] The transactions that interacted with the newly deployed contract match the deploy script.
- [ ] Governance proposal matches the deploy script
- [ ] Smoke tests pass after fork test execution of the governance proposal

[x] All deployed contracts are listed in the deploy PR's description
[x] Deployed contract's verified code (and all dependencies) match the code in master

[x] FixedRateDripper

[x] The transactions that interacted with the newly deployed contract match the deploy script.
[x] Governance proposal matches the deploy script
[ ] Smoke tests pass after fork test execution of the governance proposal

there are currently five FixedRateDripper tests failing in the Base fork tests

sol2uml diff 0xA3A4759DF6687Cd2573B1399b68118BB86EccDaE .,node_modules -n base
Compared the "FixedRateDripper" contract with address 0xA3A4759DF6687Cd2573B1399b68118BB86EccDaE on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/harvest/Dripper.sol
match   contracts/harvest/FixedRateDripper.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/VaultStorage.sol

  1) ForkTest: OETHb FixedRateDripper
       Should collect reward at fixed rate:

      AssertionError: Expected "2914627961147493496" to be less than or equal<PHONE_NUMBER>816018888
      + expected - actual

       {
      -  "_hex": "0x2872b666a3f86dc8"
      +  "_hex": "0x2872d6b0349e0c78"
         "_isBigNumber": true
       }

      at Proxy.<anonymous> (test/helpers.js:16:32)
      at Proxy.methodWrapper (node_modules/chai/lib/chai/utils/addMethod.js:57:25)
      at Context.<anonymous> (test/dripper/fixed-rate-dripper.base.fork-test.js:49:34)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)
      at runNextTicks (node:internal/process/task_queues:64:3)
      at listOnTimeout (node:internal/timers:545:9)
      at processTimers (node:internal/timers:519:7)

  2) ForkTest: OETHb FixedRateDripper
       Should allow strategist/governor to change rate:
     Error: Transaction reverted without a reason string
    at <UnrecognizedContract>.<unknown> (0x02f2c609950e90934ce99e58b4d7326ad0d7f8d6)
    at <UnrecognizedContract>.<unknown> (0x02f2c609950e90934ce99e58b4d7326ad0d7f8d6)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at HardhatNode._mineBlockWithPendingTxs (node_modules/hardhat/src/internal/hardhat-network/provider/node.ts:1840:23)
    at HardhatNode.mineBlock (node_modules/hardhat/src/internal/hardhat-network/provider/node.ts:517:16)
    at EthModule._sendTransactionAndReturnHash (node_modules/hardhat/src/internal/hardhat-network/provider/modules/eth.ts:1532:18)
    at HardhatNetworkProvider.request (node_modules/hardhat/src/internal/hardhat-network/provider/provider.ts:123:18)
    at TracerWrapper.request (node_modules/hardhat-tracer/src/wrapper.ts:30:16)
    at EthersProviderWrapper.send (node_modules/hardhat-deploy-ethers/src/internal/ethers-provider-wrapper.ts:13:20)

  3) ForkTest: OETHb FixedRateDripper
       Should not allow anyone else to change rate:
     AssertionError: Expected transaction to be reverted with "Caller is not the Strategist or Governor", but other reason was found: ""

  4) ForkTest: OETHb FixedRateDripper
       Should allow to disable rate:
     Error: Transaction reverted without a reason string
    at <UnrecognizedContract>.<unknown> (0x02f2c609950e90934ce99e58b4d7326ad0d7f8d6)
    at <UnrecognizedContract>.<unknown> (0x02f2c609950e90934ce99e58b4d7326ad0d7f8d6)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at HardhatNode._mineBlockWithPendingTxs (node_modules/hardhat/src/internal/hardhat-network/provider/node.ts:1840:23)
    at HardhatNode.mineBlock (node_modules/hardhat/src/internal/hardhat-network/provider/node.ts:517:16)
    at EthModule._sendTransactionAndReturnHash (node_modules/hardhat/src/internal/hardhat-network/provider/modules/eth.ts:1532:18)
    at HardhatNetworkProvider.request (node_modules/hardhat/src/internal/hardhat-network/provider/provider.ts:123:18)
    at TracerWrapper.request (node_modules/hardhat-tracer/src/wrapper.ts:30:16)
    at EthersProviderWrapper.send (node_modules/hardhat-deploy-ethers/src/internal/ethers-provider-wrapper.ts:13:20)

I've verified that:

[x] All deployed contracts are listed in the deploy PR's description
[x] Deployed contract's verified code (and all dependencies) match the code in master
[x] The transactions that interacted with the newly deployed contract match the deploy script.
[x] Governance proposal matches the deploy script
[ ] Smoke tests pass after fork test execution of the governance proposal

npx sol2uml diff 0xA3A4759DF6687Cd2573B1399b68118BB86EccDaE .,node_modules --network base
Compared the "FixedRateDripper" contract with address 0xA3A4759DF6687Cd2573B1399b68118BB86EccDaE on base
to local files under folders ".,node_modules"

match   @openzeppelin/contracts/token/ERC20/IERC20.sol
match   @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match   @openzeppelin/contracts/utils/Address.sol
match   @openzeppelin/contracts/utils/math/SafeMath.sol
match   contracts/governance/Governable.sol
match   contracts/harvest/Dripper.sol
match   contracts/harvest/FixedRateDripper.sol
match   contracts/interfaces/IBasicToken.sol
match   contracts/interfaces/IStrategy.sol
match   contracts/interfaces/IVault.sol
match   contracts/token/OUSD.sol
match   contracts/utils/Helpers.sol
match   contracts/utils/Initializable.sol
match   contracts/utils/InitializableERC20Detailed.sol
match   contracts/utils/StableMath.sol
match   contracts/vault/VaultStorage.sol


ADVANCED compilation mode produces code in wrong execution order

I found this bug when compiling a third-party library, below is a simplified version to reproduce the bug:
input.js
function substr(value, begin, end) { return value.slice(begin, end) }
window.testFunc = function (a, b, c) {
  return substr(a, b+1, b=c);
}

command
google-closure-compiler -O ADVANCED input.js --js_output_file output.js

output.js
window.testFunc=function(c,b,a){a=b=a;return c.slice(b+1,a)};

The compiler somehow decided to evaluate the third argument b=c before the second argument b+1, causing the generated code to output incorrect value
testFunc('abc',-1,3) // output: '', expected: 'abc'

We choose option 2 from the above comment as we don't do good enough side effect tracking to figure out if side-effectable state is actually updated by good side effects, so special casing specific code patterns seems complicated.

Option 2 requires adding / updating unit tests in the following files. I'm currently updating the expected code sections of unit tests to match the results with this change.
//third_party/java_src/jscomp/javatests/com/google/javascript/jscomp:FunctionArgumentInjectorTest
//third_party/java_src/jscomp/javatests/com/google/javascript/jscomp:FunctionInjectorTest
//third_party/java_src/jscomp/javatests/com/google/javascript/jscomp:InlineFunctionsTest
//third_party/java_src/jscomp/javatests/com/google/javascript/jscomp:ProcessCommonJSModulesTest
Once the tests are updated, I will send out the change for internal code review and update again.

Updated the 4 JSCompiler tests. JSCompiler tests are all passing with the option 2 fix now.
Started google3-wide presubmit testing for the fix to see what breaks.

Subset of tests (Sample tests) passed. Sent the fix (option 2) for internal code review. google3 presubmit tests still running.

I've submitted the fix internally and it should get auto-pushed to GitHub by copybara in a few ~hours.

This is fixed with bebf834e32d61a14baa608bc49b4081ce0b1ecbc.


UML CODE

Dear @krisztianb
UML CODE
Could you generate into a seperate file the uml code compatible plantuml ;-) and better if it is in a markdown file.
Best Regards,
Youssef

What do you exactly mean by markdown file?
My idea is to generate one file per reflection in the images folder just where the diagram images are saved. The file would be named like the image file but with a different extension (eg. CommandBase-umlClassDiagram-415.puml). The file would contain the PlantUML lines of code that were used to generate the diagram.

Better if you could generate a markdown ans add the plantuml script inside then we could render the class diagram easily.

Can you give an example please? How would such a markdown file look like? What would be in it besides the PlantUML code?

Dear @krisztianb
Two ways possibles (add settings)
Link

Add in the asset folder the picture in PNG or SVG
Add the title of the Class in H1
Add the link of the picture to display it

plantuml script

Add the title of the Class in H1
Add the script of the plantuml

.. uml::

      @startuml

      'style options
      skinparam monochrome true
      skinparam circledCharacterRadius 0
      skinparam circledCharacterFontSize 0
      skinparam classAttributeIconSize 0
      hide empty members

      Class01 <|-- Class02
      Class03 *-- Class04
      Class05 o-- Class06
      Class07 .. Class08
      Class09 -- Class10

      @enduml

Best Regards,
Youssef

Added in 0.1.6 🎉

Dear @krisztianb
I confirm it is done and available on the assets folder with puml extension and could be opened from :
http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

Best Regards,
Youssef

Dear @yboujraf thanks for the confirmation.


Revert default image name back to "latest" for snapshots

Using timestamps as tags breaks so often, especially when running fabric8:resource and fabric8:build in different invocations of Maven (where different timestamps are calculated). Also it turned out that in the recent versions even when using mvn fabric8:resource fabric8:build it does work, but for mvn fabric8:build fabric8:resource the timestamp of the image is different then created in the resource files.
This is so fragile that at least for the default I would revert back to %g/%a:%l in
https://github.com/fabric8io/fabric8-maven-plugin/blob/76ee023bd976b246d64715d6f063fad1a0208718/generator/api/src/main/java/io/fabric8/maven/generator/api/support/BaseGenerator.java#L194
Other issues are the excessive creation of Docker images (which needs to be cleaned up manually). For me updating existing images also works without using timestamps, so I really would reconsider the original use case for using a timestamp as tag. And maybe consider to implement a different solution.

We're currently facing the same issue. We don't specify a tag in the image <name>, as the default behaviour of using latest for snapshot builds is fine, and we specify a proper tag, as [timestamp]-[commit hash] in the <tags> section.
the fmp-controller enricher generates a deployment with latest as image tag, but specifying a different tag in the image configuration works only when running the full deploy lifecycle, as some specific properties are otherwise not set. Also, as addressed by this issue, the timestamp changes, so multiple use-cases like fabric8:start/fabric8:watch and their d-m-p companions are broken.
A workaround would be to store those properties in a file and load them on subsequent maven invocations, but I would really like to avoid having stateful maven builds. I'm planning to implement a quick fix to fmp-enricher to add an option to override the image tag regardless of the  settings.

Hey @rhuss @giannello
I tried all the goals(separate and in a single hit) in minikube after doing the changes as suggested by you (Changing the timestamp to latest)
All the goals work fine after doing the change. The application gets properly deployed after doing the change. Also the excessive generation of the images which gets generated after every hit of fabric8: build also get resolved because it just removes the previous image and stores the new image with latest tag. The resource also gets generated with latest tag and application get deployed every time.
I think this resolves the problem of invocations broken. Should we consider this workaround of changing timestamp to the latest or any other solution is in your mind regarding this like generating images always with the name of tag mentioned in the resource file. This will break fabric8: build fabric8: resource order. If we always create a resource with the tag last created then fabric8: resource fabric8: build fabric8: deploy will deploy the old image. Right now, only this changing to latest looking fine to me. It solving both invocations and excessive generation.
Please suggest if other workarounds can be done for this.
cc @hrishin @rohanKanojia
Thanks

I think the simplest workaround is really to change the default only, as you correctly mentioned that timestamp based correlation between images and resource descriptors is not guaranteed and depends on the order of goals called.
But people could still try to reuse the timestamp based approach if the want to.
The only drawback is that after a redeployment some old images can't be removed when building because the might be still in use (there will be a warning in the output).
I proposed a solution some times ago for this which was a bit involved (and which I would have to look up in the history), but I think even with the warning this is the better solution.

Found the issue about the original motivation and the proposed solution --> https://github.com/fabric8io/fabric8-maven-plugin/issues/77#issuecomment-223509254

Please dont add yet another flag. I think the patterns which can be used as image names should be completely enough.
Actually I tried hard early 2017 to get rid of all the random properties to come to a more concise configuration model. Its so easy to add random properties, which are, btw, not all typesafe and completely ignored when mistyped. I was not 100% successful before I had to stop, though. Adding back properties to support very specific use cases however feels for me to be the wrong direction.


Video play bug

Hi,
When I want to watch a video, it takes 20 or 30 seconds for the video to be loaded. (url : *.googlevideo.com long to be loaded).
Or i have to refresh the page, and it's done, when i desactivate youtubecenter, it works without waiting.
What's wrong?
Please help.
(sorry for my bad english :/)
Edit: the problem is back this morning...

The whole thing is a disaster at the moment.

Yeah, not a lot working right now. Everything seems pretty buggy, and it's been forever since an update.

I am using the latest version of Firefox with the latest developer version through greasemonkey. I have been experiencing the same issue for awhile now through many versions of the script and many firefox updates. As soon as a video starts to load things hang for about 30 seconds and it says waiting for *googlevideo.com etc.... Recently what happens is the html5 player loads (but I can't play anything) and then after the hang it switches to the flash player and plays normally. If I reload the page the flash player loads and plays immediately. I have tried force flash and aggressive flash in options with the same result. The issue is directly related to this option. When I set the option to default, there is no hang and I can immediately start playing with the loaded html5 player.


Timeout error when using eotile to get S2 tile extent

Using eotile to convert S2 tile id to wkt extent will call an external geocoder API even when it's not needed.
These calls will cause timeouts in case of intensive use.
The geolocation function here https://github.com/CS-SI/eotile/blob/af395a0804af79ed1e7f25eb2cf3d875fcd85108/eotile/eotiles/utils.py#L82 should be used only when the user request is a location name like Toulouse. In case of a geometry input or a tile id input, this step should be skipped.

I add a new function to handle this case: d431f6a71c306a597a2b60f2b48d824bab0beadf