Hello i have issue with google sigin

I have used google singing package ,but i have issue with sh1,
when i create sh1 like this gradlew signingReport    then sign in   work but only on debug mode not in production,
but when i create sh1 for production like this,
C:\Users\Hello>keytool -list -v -keystore C:\Users\Hello\key.jks -alias key
and place the sh1 on firebase in google oath,, then i m getting error 10, null and the sigin not working,,,,please suggest what should i do for production to make run the google sign in

Hi @atta1234
Can you please provide your flutter doctor -v,
your flutter run --release -v,
your pubspec.yaml
and a minimal reproducible code sample.
Thank you

Hello instead of error 10 now it showing this
I/flutter ( 7257): PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null)
the email window pop successfully but when i select email then application paused with the above error,
but any how when i create sh1 in android studio in debug like gradlew Signing report and paste on fire base then it's working,
but that will not work in production,
so i have created key using flutter release guide, but when i create sh1 from that key like this
keytool -list -v -keystore C:\Users\Hello\key.jks -alias key   and store that sh1 on Firebase project, then that above error showing, so i think i have configure the project correctly on Firebase and google oath screen, etc, the issue is with release sh1
flutter doctor -v
PS C:\Users\Hello\Desktop\fffapp\fffdesign> flutter doctor -v
[√] Flutter (Channel stable, v1.17.4, on Microsoft Windows [Version 10.0.18362.900], locale en-US)
    • Flutter version 1.17.4 at C:\src\flutter
    • Framework revision 1ad9baa8b9 (13 days ago), 2020-06-17 14:41:16 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\Hello\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: D:\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Android Studio (version 3.6)
    • Android Studio at D:\Android\Android Studio
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] Connected device (2 available)
    • SM A307FN          • RF8M91DA45J   • android-arm64 • Android 10 (API 29)
    • sdk gphone x86 arm • emulator-5554 • android-x86   • Android 10 (API 29) (emulator)

• No issues found!
PS C:\Users\Hello\Desktop\fffapp\fffdesign>

 C:\Users\Hello\Desktop\fffapp\fffdesign> flutter run --release -v
[  +34 ms] executing: [C:\src\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +105 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] 1ad9baa8b99a2897c20f9e6e54d3b9b359ade314
[   +1 ms] executing: [C:\src\flutter/] git tag --contains HEAD
[ +350 ms] Exit code 0 from: git tag --contains HEAD
[   +1 ms] 1.17.4
[  +18 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +57 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[   +1 ms] executing: [C:\src\flutter/] git ls-remote --get-url origin
[  +53 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +153 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref HEAD
[  +62 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +62 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +6 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +80 ms] executing: C:\Users\Hello\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +83 ms] List of devices attached
           RF8M91DA45J            device product:a30sxx model:SM_A307FN device:a30s transport_id:6
           emulator-5554          device product:sdk_gphone_x86_arm model:sdk_gphone_x86_arm device:generic_x86_arm transport_id:1
[  +14 ms] C:\Users\Hello\AppData\Local\Android\sdk\platform-tools\adb.exe -s RF8M91DA45J shell getprop
[ +153 ms] C:\Users\Hello\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell getprop
[  +75 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +6 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[  +18 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[  +23 ms] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +91 ms] More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on all devices.
[   +8 ms] ro.hardware = exynos7904
[  +19 ms] ro.build.characteristics = phone
[   +6 ms] ro.hardware = ranchu
[  +27 ms] SM A307FN          • RF8M91DA45J   • android-arm64 • Android 10 (API 29)
[   +3 ms] sdk gphone x86 arm • emulator-5554 • android-x86   • Android 10 (API 29) (emulator)
[  +68 ms] "flutter run" took 828ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
#1      RunCommand.validateCommand (package:flutter_tools/src/commands/run.dart:336:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:703:11)
<asynchronous suspension>
#3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:620:33)
<asynchronous suspension>
#4      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart)
#5      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#6      _rootRun (dart:async/zone.dart:1184:13)
#7      _CustomZone.run (dart:async/zone.dart:1077:19)
#8      _runZoned (dart:async/zone.dart:1619:10)
#9      runZoned (dart:async/zone.dart:1539:10)
#10     AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#11     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:610:20)
#12     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#13     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:339:21)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart)
#15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#16     _rootRun (dart:async/zone.dart:1184:13)
#17     _CustomZone.run (dart:async/zone.dart:1077:19)
#18     _runZoned (dart:async/zone.dart:1619:10)
#19     runZoned (dart:async/zone.dart:1539:10)
#20     AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#21     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:288:19)
#22     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#23     new Future.sync (dart:async/future.dart:224:31)
#24     CommandRunner.run (package:args/command_runner.dart:112:14)
#25     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:231:18)
#26     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:63:22)
#27     _rootRun (dart:async/zone.dart:1184:13)
#28     _CustomZone.run (dart:async/zone.dart:1077:19)
#29     _runZoned (dart:async/zone.dart:1619:10)
#30     runZonedGuarded (dart:async/zone.dart:1608:12)
#31     runZoned (dart:async/zone.dart:1536:12)
#32     run.<anonymous closure> (package:flutter_tools/runner.dart:61:18)
<asynchronous suspension>
#33     run.<anonymous closure> (package:flutter_tools/runner.dart)
#34     runInContext.runnerWrapper (package:flutter_tools/src/context_runner.dart:64:18)
<asynchronous suspension>
#35     runInContext.runnerWrapper (package:flutter_tools/src/context_runner.dart)
#36     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#37     _rootRun (dart:async/zone.dart:1184:13)
#38     _CustomZone.run (dart:async/zone.dart:1077:19)
#39     _runZoned (dart:async/zone.dart:1619:10)
#40     runZoned (dart:async/zone.dart:1539:10)
#41     AppContext.run (package:flutter_tools/src/base/context.dart:149:18)
#42     runInContext (package:flutter_tools/src/context_runner.dart:67:24)
#43     run (package:flutter_tools/runner.dart:48:10)
#44     main (package:flutter_tools/executable.dart:69:9)
#45     main (file:///C:/src/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#46     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#47     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

pubs.ymal
name: fffdesign
description: A new Flutter project.
The following line prevents the package from being accidentally published to
pub.dev using pub publish. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
The following defines the version and build number for your application.
A version number is three numbers separated by dots, like 1.2.43
followed by an optional build number separated by a +.
Both the version and the builder number may be overridden in flutter
build by specifying --build-name and --build-number, respectively.
In Android, build-name is used as versionName while build-number used as versionCode.
Read more about Android versioning at https://developer.android.com/studio/publish/versioning
In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
Read more about iOS versioning at
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
The following adds the Cupertino Icons font to your application.
Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
dev_dependencies:
flutter_test:
sdk: flutter
http: ^0.12.1
flutter_typeahead: ^1.8.0
transparent_image: ^1.0.0
shared_preferences: ^0.5.7+3
uuid: ^2.0.4
get: ^2.7.1
flutter_country_picker: ^0.1.6
google_sign_in: ^4.5.1
flutter_facebook_login: ^3.0.0
flutter_launcher_icons: ^0.7.5
flutter_braintree: ^0.5.3
flutter_icons:
image_path: "assets/icon/icon.png"
android: true
ios: true
For information on the generic Dart part of this file, see the
following page: https://dart.dev/tools/pub/pubspec
The following section is specific to Flutter.
flutter:
The following line ensures that the Material Icons font is
included with your application, so that you can use the icons in
the material Icons class.
uses-material-design: true
To add assets to your application, add an assets section, like this:
assets:
- assets/images/
- images/a_dot_ham.jpeg
An image asset can refer to one or more resolution-specific "variants", see
https://flutter.dev/assets-and-images/#resolution-aware.
For details regarding adding assets from package dependencies, see
https://flutter.dev/assets-and-images/#from-packages
To add custom fonts to your application, add a fonts section here,
in this "flutter" section. Each entry in this list should have a
"family" key with the font family name, and a "fonts" key with a
list giving the asset and other descriptors for the font. For
example:
fonts:
- family: Schyler
fonts:
- asset: fonts/Schyler-Regular.ttf
- asset: fonts/Schyler-Italic.ttf
style: italic
- family: Trajan Pro
fonts:
- asset: fonts/TrajanPro.ttf
- asset: fonts/TrajanPro_Bold.ttf
weight: 700

For details regarding fonts from package dependencies,
see https://flutter.dev/custom-fonts/#from-packages

Hi @atta1234
does this possible solutions 1 2 work for you?
If doesn't could you please provide the logs actually running the app and attempting to sign in
More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on all devices.
and a reproducible code sample.
It is possible that the issue might not be related to google_sign_in plugin
Thank you
https://github.com/flutter/flutter/issues/33393
https://github.com/FirebaseExtended/flutterfire/issues/1094

sir it works when i create sha1 like this gradlew signingReport,,,not sure wht it's not working with release key

Hi again @atta1234
if you already tried the proposed solutions from this post could you please provide the information listed in the same.
Thank you

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


List rendering in table gets broken when switching back and forth from WYSIWYG to markdown view

Describe the bug
When creating a table with a list inside, then the rendering of the lists gets broken after switching from the Markdown to the WYSISYG views. See the examples below.
The problem occurs with editor version 2.2.0
I'm using the Table Merged Cell plugin
To Reproduce
Steps to reproduce the behavior:

Create a table, for instance:

Then click on the Markdown link at the bottom of the editor.

Then click on the WYSIWYG link at the bottom of the editor.

Then click on the Markdown link at the bottom again.

Expected behavior
In all cases the markdown text should be unchanged when switching between views.

Desktop (please complete the following information):

OS: Ubuntu 20.04
Browser: Firefox
Version: 78.01

@arnoldgreving I think this issue is related to the issue below. This will be fixed and released this week.

https://github.com/nhn/tui.editor/issues/1059

@arnoldgreving I think this issue is related to the issue below. This will be fixed and released this week.

#1059

@seonim-ryu Just back from my holiday. I've upgraded to version 2.3.1 and the problem is gone. Thank you for fixing it!


Download SPEI data for all ForestGeo sites

[x] find SPEI source

[x] see if possible to download for all locations and store here

[x] also download for New Mexico and store in new directory here

[ ] if all of the above done in a timely manner - search for PDSI data and repeat above steps.

found data source: https://spei.csic.es/database.html

[x]  find SPEI source

Hi @teixeirak -- I'd appreciate some input on the time scale value to use for the SPEI calculation.
When calculating SPEI per site -- I can input a value from 1- 12: 12 would consider the past twelve months in the computation. See the below description for a reference. For now, I am using the default value six and have uploaded these results in in the climate_data > SPEI > ForestGEOsites folder (except for NM which is in the location we talked about above). Find the data here.

An important advantage of the SPEI and the SPI is that they can be computed at different time scales. This way it is possible to incorporate the influence of the past values of the variable in the computation enabling the index to adapt to the memory of the system under study. The magnitude of this memory is controlled by parameter scale. For example, a value of six would imply that data from the current month and of the past five months will be used for computing the SPEI or SPI value for a given month. By default all past data will have the same weight in computing the index, as it was originally proposed in the references below.

Here is an example of using the 12 months to calculate SPEI on the left and on the right is six months.

For additional references when deciding:
http://spei.csic.es/
I would think we should use the 12 value so the data per month considers what the previous year looked like during drought... That or a value like 3 so the previous three months are considered (I would think seasonality would be incorporated in this case)
I will keep reading up on this, but thought I'd put it on your radar for now.

some more information from the documentation to decide which time -scale we'd like to choose
At the shortest time scales the drought series show a high frequency of drought, and moist periods of short duration. In contrast, at the longest time scales the drought periods are of longer duration and lower frequency. Thus, short time scales are mainly related to soil water content and river discharge in headwater areas, medium time scales are related to reservoir storages and discharge in the medium course of the rivers, and long time-scales are related to variations in groundwater storage. Therefore, different time scales are useful for monitoring drought conditions in different hydrological sub-systems.

From the climate sensitivity analysis paper (I'm trying to figure out how this would fit within the whole method)

https://spei.csic.es/img/fig1.png

Figure 1. Time series of the sc-PDSI and 3-, 6-, 12-, 18- and 24-month SPIs in Indore (India) (1910−2007). (clic for a larger version )
What I've found above is the extent of the documentation...

and once again here is the current SPEI data for sites (excluding NM which is here) --- six is the default in the SPEI documentation (but up to us to decide)
These data were calculated with the time-scale 6 -- using the previous 6 months to calculate the SPEI for every month..... e.g, you will see the first 5 months in 1901 don't have values because they would need the previous 6 months to be computed...

Thanks for working on this, and sorry for the slow reply!
First, a question-- you downloaded these from the SPEI database, as opposed to calculating them yourself, right? (When I've downloaded from that database, I got all the time-scales together in one spreadsheet, but that was just for one site.)
If it's easy, I'd just go ahead and save all the timescales for all the sites, then pick up the best timescale later using climwin or such.
The analysis for the methods paper is giving us the most relevant time scale for each site, and it varies from just 1-2 months up to >8 months. See this figure.

Hi @teixeirak -- no I calculated SPEI from our CRU data following the SPEI methodology from their R package.
See the relevent lines from our script here and their documentation explaining how to calculate SPEI for multiple sites here.
and I can save the data for all timescales -- but what is the input value we want to use to calculate this? Maybe we aren't on the same page.--- I guess I can leave the data I already have and later on change the value within the function to generate SPEI easily.

I see what you mean saving for all timescales after looking at SCBI data. Sure I can go ahead and do that. So later on we can pick the best time scale using climwin -- so we'd need the file for later analysis... Okay makes sense.

@biancaglez, before you finish this, please be sure to document thoroughly (or enough so that @forestgeoadm knows what you did and can fix it up).  Let's organize with folders labeled "scripts", "figures", "data_calculated", and "data_downloaded". The existing SCBI data will go in that folder.
Also, it would be great if you could go ahead and run the script for all ForestGEO sites this file.

Sounds good. I will document and organize thoroughly for Caly.

Hi @forestgeoadm
I am dropping what I think would help in creating a README.
The script spei_forestGEO.R is in the Climate > Climate_data > SPEI > Forestgeo_sites location.
This script calculates the Standardised Precipitation-Evapotranspiration Index (SPEI) for all Forestgeo sites and New Mexico (not included in the final CSV and stored in a different location because it is not a forestgeo site -- find NM data here)
The general methodology to calculate SPEI (explained step by step in script if you need additional reference) is as follows:

Calculate climatic water balance (BAL) or Precipitation - potential evapotranspiration

note that PET and PRE are computed from our CRU data process -- you could reference that readme.

Use SPEI function and calculate using 1-48 months as time scales generating multiple SPEI outputs --
The value_months_# columns are time scales at which the SPEI is calculated. See below explanation directly from this website: https://spei.csic.es/home.html

there was a hack I had to do for calculating BCI SPEI because it had different date ranges from all other sites -- but I don't think you have to mention this...

To cite this function we have to use the following (found on this website-- https://github.com/sbegueria/SPEI)

You can cite these references if you use the SPEI library on your work:
S.M. Vicente-Serrano, S. Beguería, J.I. López-Moreno. 2010. A Multi-scalar drought index sensitive to global warming: The Standardized Precipitation Evapotranspiration Index – SPEI. Journal of Climate 23: 1696, DOI: 10.1175/2009JCLI2909.1.
Beguería S, Vicente-Serrano SM, Reig F, Latorre B. 2014. Standardized precipitation evapotranspiration index (SPEI) revisited: parameter fitting, evapotranspiration models, tools, datasets and drought monitoring. International Journal of Climatology 34(10): 3001-3023.

Value_months_# explanation:
_

Time scales
An important advantage of the SPEI and the SPI is that they can be computed at different time scales. This way it is possible to incorporate the influence of the past values of the variable in the computation enabling the index to adapt to the memory of the system under study. The magnitude of this memory is controlled by parameter scale. For example, a value of six would imply that data from the current month and of the past five months will be used for computing the SPEI or SPI value for a given month. By default all past data will have the same weight in computing the index, as it was originally proposed in the references below. Other kernels, however, are available through parameter kernel. The parameter kernel is a list defining the shape of the kernel and a time shift. These parameters are then passed to the function kern.

_

@teixeirak  all months calculated

here is the current SPEI data for sites (excluding NM which is here) ---

@forestgeoadm  let me know if you have any questions!

Hi @biancaglez, thank you for all of this information!  I'm working to wrap my head around it and have a few basic questions before I get into it:

This README that I'll be putting together based off the above notes that you shared, it should apply to the entire SPEI folder, right?  As in, I can take the README currently nestled within the SBCI folder and expand it to the larger network?

The link to the NM data is yielding a 404 error.

Take care,
Caly

Thanks, @biancaglez ! Looks good on the surface, except that I only see 3 sites in the .csv file.

2\. The link to the NM data is yielding a 404 error.

@forestgeoadm , this is because its in a private repo to which you don't have access, so no worries there. It works for me.

Hi @teixeirak are you sure you are only getting three sites? I control f'ed and found Scotty Creek, Harvard, Zofin, SCBI, Utah, BCI.... This file correct? https://raw.githubusercontent.com/forestgeo/Climate/master/Climate_Data/SPEI/ForestGEOSites/spei_all_months.csv

You're right. There was a gap in the file, now deleted.

This README that I'll be putting together based off the above notes that you shared, it should apply to the entire SPEI folder, right?  As in, I can take the README currently nestled within the SBCI folder and expand it to the larger network?

Yes, it can be added to that. All of our site data begins in 1901 as noted -- except for Barro Colorado Island which begins in 1929.
Another difference is we computed these SPEI values -- whereas before they were coming directly from the DB - so we will now want to cite the above references instead of what you currently have (unless they are the same but the above citation is for the use of the R library so I don't think they are).
In computing our own SPEI we still generate standard Z scores, but to do this we compute the water balance before putting these values into the function. So pasted here below is all still relevant. I'm not sure how detailed we want to be about the function parameters (e.g., which equations are being used in the SPEI function)... but happy to also provide that info @teixeirak  -- otherwise pointing people to the R function page should be enough (I think?) since we accepted all of the defaults but the time-scale parameter. https://github.com/sbegueria/SPEI

Calculate climatic water balance (BAL) or Precipitation - potential evapotranspiration
note that PET and PRE are computed from our CRU data process -- you could reference that readme.

I did a quick comparison of SCBI results from the script and those downloaded directly from the website:
1mo:

6mo:

So,
1- the script is working as expected
2- the values calculated with CRU data are correlated--but not super closely--with what's available for download on their website. I'm not sure what they use for PRE and PET; that would be what's driving the difference.

oh wait @forestgeoadm  you may want to just make a second readme (copying the one you referenced) because Krista reorganized the data into data_downloaded and data_from_script ---> So we will want people to know these data are generated from the script via above process.

otherwise pointing people to the R function page should be enough (I think?) since we accepted all of the defaults but the time-scale parameter. https://github.com/sbegueria/SPEI

I think pointing people to the webpage is sufficient.

@teixeirak  it looks like they are using the most recent CRU so not sure why it would be different https://spei.csic.es/database.html

Hi, @biancaglez, got it, that sounds like a good idea.  I'll plan to leave the SCBI SPEI readme alone and create a new one that recognizes the methods you followed.

@teixeirak it looks like they are using the most recent CRU so not sure why it would be different https://spei.csic.es/database.html

Maybe the version I downloaded is already dated?

Great, I pretty typed everything up pretty quickly, so let me know if you have any questions!
And yes, likely. Not sure when you downloaded.

Hello, I try to download CRU TS4.05 PRE and PET data to calculate SPEI, but I find the units is different (PRE is mm/month and PET is mm/day), How did I transfer these to calculate SPEI?

Hi @Yinshao-lzu ,
To do this, you need to multiply the daily PET by n days in each month. The code we have to do this here in this repo (probably this: https://github.com/forestgeo/Climate/blob/master/Climate_Data/SPEI/data_calculated_with_script/spei_forestGEO.R) should do that, although I don't have time at the moment to dig up the specific location.
Let me know if you have any further questions.

Hi @Yinshao-lzu ,
To do this, you need to multiply the daily PET by n days in each month. The code we have to do this here in this repo (probably this: https://github.com/forestgeo/Climate/blob/master/Climate_Data/SPEI/data_calculated_with_script/spei_forestGEO.R) should do that, although I don't have time at the moment to dig up the specific location.
Let me know if you have any further questions.

Thank you very much!


addition of French water companies owned by Nestlé

(source : https://www.reddit.com/r/coolguides/comments/l9xl6h/a_list_of_nestle_water_brands_by_country_to_help/)
special notes :

Carola, Plancoët, Quézac, Saint-Lambert and Sainte-Alix were all sold by Nestle.
i could only add the French companies due to lack of time (please excuse me)

Thanks for the contribution. I highly appreciate it. Do you happen to know the source for the image? The intention of the source attribute is more of a reputable redirection. It's not this repository that is making the claim that the company is owned by Nestle, but e.g. Nestle themselves, the company itself, or a publication of some sort.

I was able to Vittel's claim to Nestle ownership on their website here: https://www.vittel.com/history-vittel, but I would not be comfortable adding the other two without sources. I haven't looked for them like I did Vittel, but maybe you would be up for it.

Sorry, it is true that the source is not official (so not reliable). I found several documents on the sites of both companies claiming to be owned by Nestle Waters. (most of them are in French, sorry).

Nestle :
Nestle's French site lists their waters companies (here)

Contrex :
In the legal notice of the site, Contrex announces that it is owned by Nestle Waters :
Le site www.contrex.fr est la propriété de :    Nestlé Waters Marketing & Distribution, 12 boulevard Garibaldi 92130 Issy-les-Moulineaux [...]
(translation in english :
The site www.contrex.fr is the property of :    Nestlé Waters Marketing & Distribution, 12 boulevard Garibaldi 92130 Issy-les-Moulineaux [...])
(here)

Nestle and Nestle Waters is mentioned in the footer of the official website of Contrex (here)
Contrex's Wikipedia page mentions ownership by Nestlé Waters (here)

Hépar :
Like Contrex, In the legal notice of the site, Hépar announces that it is owned by Nestle Waters :
Le site www.hepar.fr est la propriété de :   Nestlé Waters Marketing & Distribution, adresse 34-40 rue Guynemer 92130 Issy les Moulineaux [...]
(translation in english :
The site www.hepar.fr is the property of :   Nestlé Waters Marketing & Distribution, adress 34-40 rue Guynemer 92130 Issy les Moulineaux [...])
(here)

Nestléwaters.fr is mentioned in the footer of the official website of Contrex (here)
Hépar's Wikipedia page mentions ownership by Nestlé Waters (here)

Let me know if the new sources are enough for you. I have already changed the children.ts file by adding the new sources.

Thank you, merged. 😁


[Event Request] Codeunit 5056 - "CustCont-Update" - OnInsertNewContactPersonOnAfterContactModify

Dear ALAppExtensions team,
with this issue we would like to request a new event publisher OnInsertNewContactPersonOnAfterContactModify in the codeunit 5056 "CustCont-Update" with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnInsertNewContactPersonOnAfterContactModify(var Contact: Record Contact; var Customer: Record Customer)
    begin
    end;

and it would be called as follows in InsertNewContactPerson
[snip]
                with Cont do begin
                    Init;
                    "No." := '';
                    OnInsertNewContactPersonOnBeforeValidateType(Cont, Cust, ContComp);
                    Validate(Type, Type::Person);
                    Insert(true);
                    "Company No." := ContComp."No.";
                    Validate(Name, Cust.Contact);
                    InheritCompanyToPersonData(ContComp);
                    UpdateBusinessRelation();
                    OnInsertNewContactPersonOnBeforeContactModify(Cont, Cust);
                    Modify(true);
                    Cust."Primary Contact No." := "No.";
                    >>> start new event
                    OnInsertNewContactPersonOnAfterContactModify(Cont, Cust);
                    <<< end new event
                end

[/snip]
Thank you in advance

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 53539.


publish npm package

@jolestar Can you configure the secret of npm access tokens in the repository so I can publish via https://github.com/marketplace/actions/npm-publish? You should be able to find npm access tokens in the secret at https://github.com/starcoinorg/starcoin.js.

@jolestar Can you configure the secret of npm access tokens in the repository so I can publish via https://github.com/marketplace/actions/npm-publish? You should be able to find npm access tokens in the secret at https://github.com/starcoinorg/starcoin.js.

@wk3368 please help config, I can not find the secret at starcoin.js.

@yubing744  give me your npm account email, then I can invite you into the npm organization: starcoin
then you can npm login and publish by yourself.

@yubing744 give me your npm account email, then I can invite you into the npm organization: starcoin then you can npm login and publish by yourself. PS： you need to change the name in the package.json:
"name": "@yubing744/move-js",
to
"name": "@starcoin/move-js",

my npm account email is<EMAIL_ADDRESS>

<EMAIL_ADDRESS>
invited.
you can use this command npm publish --access public --tag latest to publish it  after npm login.

<EMAIL_ADDRESS>
invited. you can use this command npm publish --access public --tag latest to publish it after npm login.

OK

@wk3368 I don't seem to have permission to publish npm packages to the starcoin org.

@jolestar @wk3368 I think it is better to configure npm's access token in the secret of this repository.

你的命令写错了 我给的是 --access public 不是--access=public

@wk3368 give me a npm org invite, email<EMAIL_ADDRESS>

@jolestar @wk3368 I think it is better to configure npm's access token in the secret of this repository.

I try it.

@jolestar @wk3368 It's ok.   https://www.npmjs.com/package/@starcoin/move-js


Add a license to the repo

I noticed that the blog's repo has a license but this one does not.  As a community that encourages open source contributions, I would recommend adding a license to this project as well.

I dig. MIT? https://opensource.org/licenses/MIT

Whatever you feel best complements the goals of the community.  It may be a good thing to discuss at Monday's meetup.

Added MIT license. Can discuss revision to a different open source license based on our needs in the future


Runtime Error: Potential Memory Leak/Invariant Violation in Updates Page

Describe the bug
I noticed this when working on another issue on updates. It seems that after publishing an update and then the user logs out, there's a run-time error occurring. 🐨

To Reproduce
Steps to reproduce the behavior:

Go to any collective where you can post updates.
Create and publish a new update.
Log out.

Seems like this is related to a cache invalidation on apollo; https://github.com/apollographql/apollo-feature-requests/issues/4. 🤔


Add Supported Plattform Table To Client Documentation

added table with supported platforms
see #397

Review has been done, PR will be merged

Albert Tregnaghi<EMAIL_ADDRESS>Daimler TSS GmbH, imprint


User Profile: Implement edit and password change as per V1

V1 Parity - allow user details and password to be changed

Is this expected to work also when UAA uses LDAP for authentication? Can the administrator disable this?

@CAFxX We haven't played around much with LDAP integration with UAA. We make these requests via the standard UAA api. Does basic information and password editing not work via this method? Also, do LDAP user still have user groups such as password.write? We'll be applying these permissions later in for v2, which could aid for this case? Either way, i've added the request to enable/disable this to the main enable/disable issue #2069.


Support for Lumen framework

Is there any way to use the package with lumen framework...
Currently its throwing the following error  while using with lumen...
FatalThrowableError
Call to undefined function ScoutElastic\config_path()

Currently am using the following method to bypass this issue... but would love to see it natively supported... Btw, awesome work man !
https://gist.github.com/mabasic/21d13eab12462e596120

Found a way to make it work... by creating or extending the ScoutElasticServiceProvider
Pasting the code just incase if anyone else comes looking...
<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Elasticsearch\ClientBuilder;
use InvalidArgumentException;
use ScoutElastic\Console\ElasticIndexCreateCommand;
use ScoutElastic\Console\ElasticIndexDropCommand;
use ScoutElastic\Console\ElasticIndexUpdateCommand;
use ScoutElastic\Console\ElasticMigrateCommand;
use ScoutElastic\Console\ElasticUpdateMappingCommand;
use ScoutElastic\Console\IndexConfiguratorMakeCommand;
use ScoutElastic\Console\SearchableModelMakeCommand;
use Laravel\Scout\EngineManager;
use ScoutElastic\Console\SearchRuleMakeCommand;
use ScoutElastic\ElasticEngine;

class ScoutElasticServiceProvider extends ServiceProvider
{
    public function boot()
    {
        $this->publishes([
            __DIR__ . '/../config/scout_elastic.php' => $this->config_path('scout_elastic.php'),
        ]);

        $this->commands([
            // make commands
            IndexConfiguratorMakeCommand::class,
            SearchableModelMakeCommand::class,
            SearchRuleMakeCommand::class,

            // elastic commands
            ElasticIndexCreateCommand::class,
            ElasticIndexUpdateCommand::class,
            ElasticIndexDropCommand::class,
            ElasticUpdateMappingCommand::class,
            ElasticMigrateCommand::class
        ]);

        $this->app->make(EngineManager::class)
            ->extend('elastic', function () {
                $indexerType = config('scout_elastic.indexer', 'single');
                $updateMapping = config('scout_elastic.update_mapping', true);

                $indexerClass = '\\ScoutElastic\\Indexers\\'.ucfirst($indexerType).'Indexer';

                if (!class_exists($indexerClass)) {
                    throw new InvalidArgumentException(sprintf(
                        'The %s indexer doesn\'t exist.',
                        $indexerType
                    ));
                }

                return new ElasticEngine(new $indexerClass(), $updateMapping);
            });
    }

    public function register()
    {
        $this->app->singleton('scout_elastic.client', function() {
            $config = app('config')->get('scout_elastic.client');
            return ClientBuilder::fromConfig($config);
        });
    }

    /**
     * Get the configuration path.
     *
     * @param  string $path
     * @return string
     */
    function config_path($path = '')
    {
        return app()->basePath() . '/config' . ($path ? DIRECTORY_SEPARATOR.$path : $path);
    }
}

Inside lumens bootstrap/app.php add the following
$app->register(Laravel\Scout\ScoutServiceProvider::class);
$app->register(App\Providers\ScoutElasticServiceProvider::class);

$app->configure('scout');
$app->configure('scout_elastic');

PHP Fatal error:  Class 'Illuminate\Foundation\Console\ModelMakeCommand' not found in /home/jahangir/Workspace/aci/idss_api/vendor/babenkoivan/scout-elasticsearch-driver/src/Console/SearchableModelMakeCommand.php on line 8
There is no ModelMakeCommand class in Lumen! How did you solve this problem?

PHP Fatal error: Class 'Illuminate\Foundation\Console\ModelMakeCommand' not found in ../../vendor/babenkoivan/scout-elasticsearch-driver/src/Console/SearchableModelMakeCommand.php on line 8
There is no ModelMakeCommand class in Lumen! How did you solve this problem?

Facing the same problem. Any solution?
PHP 7.2.12
Lumen 5.7.3
Scout 6.1.1
ScoutElasticsearchDriver 3.9.0

PHP Fatal error: Class 'Illuminate\Foundation\Console\ModelMakeCommand' not found in ../../vendor/babenkoivan/scout-elasticsearch-driver/src/Console/SearchableModelMakeCommand.php on line 8
There is no ModelMakeCommand class in Lumen! How did you solve this problem?

Facing the same problem. Any solution?
PHP 7.2.12
Lumen 5.7.3
Scout 6.1.1
ScoutElasticsearchDriver 3.9.0

PHP Fatal error: Class 'Illuminate\Foundation\Console\ModelMakeCommand' not found in ../../vendor/babenkoivan/scout-elasticsearch-driver/src/Console/SearchableModelMakeCommand.php on line 8
There is no ModelMakeCommand class in Lumen! How did you solve this problem?

PHP Fatal error: Class 'Illuminate\Foundation\Console\ModelMakeCommand' not found in ../../vendor/babenkoivan/scout-elasticsearch-driver/src/Console/SearchableModelMakeCommand.php on line 8
There is no ModelMakeCommand class in Lumen! How did you solve this problem?

Facing the same problem. Any solution?
PHP 7.2.12
Lumen 5.7.3
Scout 6.1.1
ScoutElasticsearchDriver 3.9.0

If you want to access ModelMakeCommand, make a directory in your project root named Illuminate.
Then under Illuminate make a directory named Faoundation and after that Console directory.
copy and paste ModelMakeCommand from laravel project to console directory. its in

vendor\laravel\faramwork\src\Illuminate\foundation\console directory

after that you must introduce your new illuminate directory to composer :
        "psr-4": {
            "Illuminate\\": "Illuminate/"
        },

In console enter composer dump-autoload command and you are good to go.


add ReactNativeSafeAreaManager to missing Packages

Summary:
Unblock RN apps with RedBox error:
Android implementation of SafeAreaView was introduced here: D62318141
Usage in Dev Tools was introduced here: D62224584
Since not all RN apps are adding the native component, RN apps show RedBox error and are unusable.
Related: D62318141 also addresses the same issue in VR panel apps
Changelog: [Internal]
Differential Revision: D62327020

Closed internally


feat(tokens): Add a modify_meta script.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#117  👈
#86
#103 : 2 other dependent PRs (#83 , #104 )
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Blckbrry-Pi and the rest of your teammates on  Graphite

@Blckbrry-Pi is the title wrong here? looks like it's just a new test and some formatting

Title is wrong here, yeah.

Merge activity

Aug 23, 10:59 PM EDT: @NathanFlurry started a stack merge that includes this pull request via Graphite.


custom_fields is not a list by default

while trying to add custom fields as mentioned in the docs, I noticed that the custom_fields are not by default a list. So I had to do this:
post.custom_fields = []
post.custom_fields.append({"key": "key", "value":"value"})

It works!
Is it possible that we manually don't have to force it as a list?

if code like this:
post.custom_fields.append({"key": "_key", "value":"value"})
it's not work!
what can I do for this?


init: security md

Goal
The goal of this PR is to create a document to guide the public about how and what to report as a security vulnerability.
Closes #559
Descussions

Should we put anything about bounty program even though it's not ready?
How about any legal stuff?

Checklist

[x] Doc(s) updated
[ ] PGP key generated

Looks good to me will wait for Wil to chime in
Just not sure if we should mention Amplica Labs to be responsible about any security issues for time immemorial, but if this doc will update based on who all are supporting Frequency operations then all 👍

I attempted to send a secure email but was unable to under macOS Sonoma. I downloaded GPGTools from gpgtools.org but the mail extension for macOS Sonoma is not yet available. I also tried following the instructions at https://support.apple.com/guide/mail/sign-or-encrypt-emails-mlhlp1180/mac.

That is not an issue with the PR but the platform or tools you are using to send an encrypted email. Not sure what change is being requested here to address that?

FWIW - I am trying to test the included PGP key in the document. It should work but it's good to test it.

@rlaferla I suggest https://gpgtools.org


Optional JAX dependency

@SimonBoothroyd on the conda-forge feedstock has requested a pymbar where JAX is optional for a leaner install where the full MBAR solver is not needed (for their use case). This can be done with no modifications to the code, only the build, since all the JAX calls are optional and checked at runtime; i think.
This would require a Conda and Pip solution at the same time.
The Conda-forge/build solution is fairly easy with the outputs directive allowing multiple builds. I've worked on the QCFractal package which does that and have the example here; it matches this use case pretty precisely.
The Pip solution could be solved by making JAX a feature instead of default installed through an Optional Dependency. The naive solution would have jax be an extra_requires keyword, resulting in two commands like:

pip install pymbar
pip install pymbar[jax] both being valid, the later one get JAX.

I personally am against this approach because I think the idea is we want JAX installed by default but would like other opinions as well. I don't know of an extra_requires (setup.py variant) or a project.optional-dependencies (pyproject.toml variant) which blocks/omits primary dependencies. There are other options like having multiple build projects, but I don't want to explore those options if the above is acceptable to everyone else due to increased build/maintenance complexity.

+1 on a pymbar-core or something that doesn't have jax on conda forge, and yes I don't think there is a way to do it with pip without doing a hack like setting PYMBAR_NO_JAX=TRUE as an envar and then picking that up in setup.py, but I don't think you can hack that in with a pyproject.toml
I think I could live with the docs saying "we recomend using conda-forge, if you need to use pip, install it like this pip install pymbar[jax]. We could also print a warning when a user installs it like pip install pymbar and say something like "Warning, installed without jax support, [setps on how to reinstall with jax support]"

We could also print a warning

I dont know how to issue a message at all with a pip install, but it would be an easy thing to add a warning/info on Pymbar invocation. I'd be in favor of this.

a hack like setting PYMBAR_NO_JAX=TRUE as an envar

I'd like to avoid hacky solutions when there are solutions, just not for the particular paradigm I suggested (optional thing removes dependencies). And I very much would like to avoid envar anything.

I know that alchemlyb is a little leery of jax; @xiki-tempula could you maybe speak up on this (not sure if that linked) . . .

I wonder for pymbar 4. Is it like without JAX, one cannot run mbar at all or it is just slower?
I think JAX is more of a problem for pip as it is installed every time when one setup a new env.
For conda, this is much less of an issue as conda would only need to install JAX once and mamba is much faster than pip.
I guess pymbar-core could be one solution and one could also have it as pymbar=*=*JAX where a build varient installs Jax as conda dependency and pymbar=*=*core which would be another build that don't install JAX. But I feel for conda the JAX is much less of an issue.

If pip is a sticking point (it seems like there are a few several year old feature requests to support this kind of thing!) could we maybe just punt on that for now, and just split on conda?
That way both ecosystems would still have an identical pymbar package available, and then if people don't want jax for now they'll need to either install themselves or get from conda?

I wonder for pymbar 4. Is it like without JAX, one cannot run mbar at all or it is just slower?

It just runs slower. We use JAX's JIT for all the acceleration and just provide a passthrough in code the user never sees if JAX is unavailable.

could we maybe just punt on that for now, and just split on conda?

Possibly yes-ish. The main problem is we have dependencies specified in the setup.py file and if we dont very carefully tell conda how to build it, conda-build will yell at us for installing dependencies through pip that were not resolved through conda-build. I think its doable though without too much issue.
I also think that there seems to be several people leaning towards optional or opt-in style JAX based on the comments here, so it may be worth doing both anyways.

It just runs slower. We use JAX's JIT for all the acceleration and just provide a passthrough in code the user never sees if JAX is unavailable.

If this is the case, I don't think there is need for a different version? Just print a warning when using it without JAX. When deploying the package, have both pip and conda without JAX and just document it shall be fine?

Hmmm, I do think that maybe at run time we do just issue a warning if JAX isn't installed and say things could be faster, but then have a pymbar-jax conda-forge package and a pip install pymbar[jax] setup.
I do like it when we make it easy for users to do the right thing, but perhaps in this case since no functionality is lost, a warning is enough?

I would say that mbar w/o jax is fully functional, so issuing a warning saying "Jax not installed, could be faster" or something like that is a reasonable compromise.  It should be a warning that is issued every time - I don't want people publishing papers about how pymbar is bad because it's not accelerated (it happens).
I don't ever see a continual forking of packages - I think that there might be a "takes more to install is faster" package and a default, but never more than that.

I would say that mbar w/o jax is fully functional, so issuing a warning saying "Jax not installed, could be faster" or something like that is a reasonable compromise. It should be a warning that is issued every time - I don't want people publishing papers about how pymbar is bad because it's not accelerated (it happens).

I would envision the warning being printed anytime we hit a code path in the lib that could be accelerated.

The warning looks like this: https://github.com/choderalab/pymbar/actions/runs/5245393269/jobs/9472772645?pr=503#step:6:199
I am going to add a new line at the start so it aligns a bit better.

For conda-forge, can we do
pymbar=*=*core to get the no jax build?
pymbar=*=*jax will be the default and gets you the JAX build?

For conda-forge, can we do...

Yes we could, and we would have to specify a build string more exactly like they do in the gromacs feedstock. I would argue using the package specifier of: {package name}={version}={build selector} like you have for pymbar=*=*core is far less common for most users than just {package name}. I also don't know how to specify an actual default when you have multiple build versions unless the user really knows what they want/have like they might for GROMAS where they'll know if they have gpu/cpu options. The advantage to this is everything is all under one package, e.g. "conda-forge/gromacs", on the cloud website and search.
Since we only have standard MBAR and accelerated MBAR, I think adding the burden of users to know {package name}={version}={build selector} and then what selector they want might be more than we're looking for, especially if we want users to just default to conda install pymbar and get the accelerated version.
The way I am proposing is to have multiple outputs like the feedstock here where we (maintainers) don't have to think about build strings or getting conda-forge to build all the versions through specification, and then the users dont have to think at all unless they specifically don't want JAX. We can even make it so that pymbar requires pymbar-core so the users who don't know there is a lighter weight install will see that and at least have a breadcrumb. The downside to this is it does create two separate packages in the cloud and search rather than one.
If people have strong opinions on either choice, I'm happy to implement either.

I don't have a strong preference. I'm happy with pymbar-core/pymbar. I kind of like build variant approach but if pymbar-core/pymbar is easy for the user and developers, I don't have objection to that.

I think the warning looks good as well.

@xiki-tempula I thought more about it and there's nothing saying we won't wind up with both in the long run. If we get more/different accelerators as options in the future, having a pymbar-core which has no accelerators and then pymbar=*=*{accelerator}-like syntax might be something that comes up.

I think this is a really good idea.

@Lnaden is there anything I can do to help unblock this?

I was hoping to get #509 in before this, but that's blocked as I want other people's reviews for it. I think I'll just cut a 4.0.2 for optional JAX and move forward with the other parts later. Let me work on that, I should be able to get something up today at least to PyPI

Actually, there is one fragment I want to get in to fix a SciPy >=1.9 bug from #509, then'll release, should be pretty quick.

Okay. Pymbar 4.0.2 is on PyPI.
Without JAX: pip install pymbar
With JAX: pip install pymbar[jax]
Working through Conda-Forge version now.

@SimonBoothroyd The Conda-Forge version has been merged and is propagating out, I'll keep an eye on it and this issue open til I'm sure its fully out there.
That said, I think this issue is resolved for all intent and purpose. If you're using the PyPI version, its out there now and ready to go if you want a lighter version of PyMBAR now.

And with that Conda-forge has:
Without JAX: conda install pymbar-core
With JAX: conda install pymbar
I think that fully resolves this issue! I;m going to close it but can always reopen if there is a need.
Thank you everyone for your contributions to this!

Amazing - thanks so much @Lnaden !


Incorrect test/run button switch

Currently button switches from 'Test' to 'Run' if main function is present, but for some reason playground searches it in the whole code... Including comments.
So this snippet compiles and works fine:
#[test]
fn do_tests() {
    println!("Pretending to do some tests...");
}

...while this one doesn't:
/* fn main() {} */
#[test]
fn do_tests() {
    println!("Pretending to do some tests...");
}

producing the following mistake: error[E0601]: main function not found
since playground finds main function while the compiler doesn't.

This is true. Unless someone wants to write a Rust parser in JS (which might already exist in some form for the syntax highlighting....), the regex that we have now is going to to have false positives.


CLIENT_ID not getting picked up from /nbconfig/common.json?

The advanced config section of the README.md says that the file nbconfig/common.json will get picked up ... it's not getting picked up. Could be user error.
For now, I'm manually overriding in the code which isn't ideal.
$ pwd
/home/virtualirfan/.ipython
$ ls -l
total 16
drwxr-xr-x 2 virtualirfan virtualirfan 4096 Mar  1 23:50 extensions
drwxr-xr-x 2 virtualirfan virtualirfan 4096 Mar  1 23:50 nbextensions
drwxr-xr-x 9 virtualirfan virtualirfan 4096 Mar  3 03:49 profile_default
-rw-r--r-- 1 virtualirfan virtualirfan  195 Mar  1 23:50 README
$ cd profile_default/
$ ls
db  history.sqlite  ipython_notebook_config.json  log  nbconfig  pid  security  startup  static
$ cat ipython_notebook_config.json

{
  "MixedContentsManager": {
    "filesystem_scheme": [
      {
        "contents": "IPython.html.services.contents.filemanager.FileContentsManager",
        "root": "local"
      },
      {
        "contents": "jupyterdrive.clientsidenbmanager.ClientSideContentsManager",
        "root": "gdrive"
      }
    ]
  },
  "NotebookApp": {
    "tornado_settings": {
      "contents_js_source": "nbextensions/gdrive/mixed-contents"
    },
    "contents_manager_class": "jupyterdrive.mixednbmanager.MixedContentsManager"
  },
  "nbformat": 1
}

$ cat nbconfig/common.json

{
"gdrive":
    {
    "METADATA_SCOPE": true,
    "FILE_SCOPE": true,
    "CLIENT_ID": "<ELIDED>"
    },
"mixed_contents":
    {
    "schema": [
      {
        "stripjs": false,
        "contents": "services/contents",
        "root": "local"
      },
      {
        "stripjs": true,
        "contents": "./drive-contents",
        "root": "gdrive"
      }
    ]
  }
}

What version of IPython are you using?  This configuration requires some pretty recent changes, which are now part of IPython 3.0 (right @Carreau?) but might not have been part of earlier releases of 3.0.

iPython 3

Sorry, this fell under my radar, and went marked as read.
Will take a look try to reproduce.

Ok, so I doubt jupyterhub will even work with a version of IPtython too old.
As you seem to mess with the code, can you try to change gapi_utils.js around line 176 to add console.log  ?
     var authorize = function(opt_withPopup, conf) {
        var config = $.extend({}, default_config, (conf.data||{})['gdrive']);
        console.log(config, conf);
       ...

to see what config is actually received ?
Everything you do seem correct, and if I do the same, I actually get it to work (well actually not work if I put a random CLIENT_ID, but it does get propagated)

I'm also unable to reproduce this bug.  Suspect that the IPython version is too old.

Actually this is a bug, will be fixed by #89.  The problem was the config was getting passed successfully to the client, so it was hard to notice that the client code could still fail to use this config properly.

Fixed in #89.  Thanks @virtualirfan for finding this bug.

Most welcome.

It's possible this bug has resurfaced in IPython4/Jupyter. I've attempted placing editing the config in the following file locations:
/etc/jupyter/nbconfig/common.json
~/.jupyter/nbconfig/common.json
/etc/jupyter/jupyter_notebook_config.json
For kicks, though I didn't much expect it to work, I also tried:
~/.ipython/profile_default/nbconfig/common.json
None have worked. I've worked around by manually editing gapiutils.js to hard-code my own client_id.
Of course could be user error.


image preprocessing

Hi,
I would like to ask, how the images are taken and preprocessed.
I'm still getting wierd, bowl like effect - instead of a flat surface I get bowl.
Could you please advise?
Thank you

Hey Michal,
I was taking example datasets from here (https://courses.cs.washington.edu/courses/cse455/10wi/projects/project4/). Hence, I do not know how these images were taken and/or rectified.
In any case, if you do experience fish-eye effects in your reconstruction (radial or tangential contortions) then you either have to calibrate your camera correctly first or use a different camera/model such as telemetric cameras.


Create Skeleton HTML, CSS, and JS files and file structure

We need to create skeleton files and structure that we'll use over the course of the project.

pushed to develop and main


Planned Features

Hey there,
i just wanted to know if its planned to integrate the PublisherStatistics or Account endpoint?
Thanks,
Thomas

Dear Thomas,
not at the moment. The PHP SDK is only available for our Product Data Webservice endpoint.

Hey @avaffilinet
ok - because i was wondering about the Shop-Endpoint integration.
Then i will fork & extend, otherwise it would be useless :(
Thanks!


[JS] Refactor "generate" into a pseudo-flow

Right now generate lives in a liminal space between being some code wrapped around a model action and being a heavier "built-in flow" that handles things like tool loops and eventually retries etc.
I think the latter is more the direction we should take. Ideally generate would be a built-in flow/action such that in a trace you can see:

Each iteration of a tool/reasoning loop as a separate LLM call in the trace
Things like retries and output healing as separate steps as well

The generate methods then become syntactical wrappers around the generate action, transforming the inputs into a serializable form.

@mbleigh I assigned it to yourself to bring it up in a discussion in Discord, and later if turned into an action item we can assign it to someone else

Done

Is this actually done? Where? @chrisraygill


Locate tiles on slide's thumbnail

This PR contains:

Annotate slide thumbnail with tiles location. This is a diagnosis method to check where the tiles are (or will be) extracted from the slide.

Remove UserWarning from pytest console and wrap it with pytest context managers

Various fix

Coverage increased (+1.8%) to 99.29% when pulling fe05ee5f89c87ec65cafd42f1ed8be14f7f6805b on locate-tiles-on-slides into 9a3910a02106f6963729950f6da1056145e48822 on master.

@nicolebussola @alessiamarcolini maybe you both can find a better name than locate_tiles ... I don't know maybe ... tile_outlines or something else sounds more better in your mind and in this specific topic.

Looks good!
One thing that I would like to have is the possibility to customize the size of the image returned by locate_tiles, let's say we want to include the figure in a scientific paper or in a slide deck, the thumbnail may be too small. So the easiest option would be to accept the scale factor as a parameter and then use the scaled image instead of the thumbnail

this will be done in here : #181


 Double check your code, your preview URL should match the preview in the tutorial.

I check the preview is the same as given in tutorial. Not sure what it fails in ci/circleci: step-one — Your tests failed on CircleCI


Fixes for ROX&RWO mount

Describe what this PR does
Allow mounting RBD volume RWO or ROX

add controllerPublishVolume & controller UnpubliishVolume to tell following steps if the volume is expected mounted read only
do not check if rbd is in use if it's readonly in NodeStageVolume
patch based on commit c65c29880be840198875307d0af0429b9ec3f13f

Is there anything that requires special attention
Is the change backward compatible?
Are there concerns around backward compatibility?
No
Provide any external context for the change, if any.
Related issues
Mention any github issues relevant to this PR. Adding below line
will help to auto close the issue once the PR is merged.
https://github.com/supremind/external-attacher/pull/2
Future concerns
List items that are not part of the PR and do not impact it's
functionality, but are work items that can be taken up subsequently.

@houz42


Test quality-of-life updates

Add the following flags to the test script:

--bail: quits after the first test suite failure
--debug: preserves all console statements

Make order of expect().toEqual() in Perspective.js tests consistent.

Thanks for the PR!
The mixed-up expect() order was especially annoying - very nice to see this finally fixed!


Implement some kind of integration testing

There needs to be a way of adding integration tests; tests which call the jira command multiple times in a row to validate complex behaviours.
Implement something lightweight in bash or python to achieve this.

Closed in #18


[dx11] add partial attachment clears & misc fixes

Implemented partial attachment clears with some internal shaders & depth stencil state.
Also some other small(er) fixes:

Add Geometry & Tessellation shaders to pipeline
Add D1/D1Array creation
Image & buffer binding resources are now initialized to the memory contents
Copy shaders now work in 8x8 thread groups and have bounds checking
The memory type order has been switched (coherent comes before non-coherent)

r? @kvark
Fixes #issue
PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[ ] tested examples with the following backends:
[ ] rustfmt run on changed code

@fkaa ping

bors r+


NTR: gene silencing by piRNA-directed DNA methylation/retrotransposon silencing by piRNA-directed DNA methylation; update silencing by RNA-directed DNA methylation

The current definition for silencing by RNA-directed DNA methylation  GO:0080188 is for an siRNA-guided process:
"A small RNA-based gene silencing process in which small interfering RNAs (siRNAs) guide DNA methylation to the siRNA-generating genomic loci and other loci that are homologous to the siRNAs for de novo DNA methylation....."
piRNAs can also mediate DNA methylation https://pubmed.ncbi.nlm.nih.gov/33419460/  but with different factors.
So, think we need separate terms for piRNA-mediated process and update the existing terms to make them explict for siRNA-guided processes

Update term labels:
change silencing by RNA-directed DNA methylation GO:0080188 -> gene silencing by siRNA-directed DNA methylation
change retrotransposon silencing by RNA-directed DNA methylation GO:0141010 -> retrotransposon silencing by siRNA-directed DNA methylation

Suggested  new term label:
gene silencing by piRNA-directed DNA methylation

Definition (free text)
A small RNA-based gene silencing process in which Piwi-associated RNAs (piRNAs) guide de novo DNA methylation. This results in a heterochromatin assembly, a chromatin conformation that is refractory to transcription.

Reference, in format PMID:#######
PMID:32674113, PMID:38359823

Parent term(s)

is_a GO:0140966 piRNA-mediated heterochromatin formation

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)
EXACT piRNA-directed de novo DNA methylation

Suggested  new term label:
retrotransposon silencing by piRNA-directed DNA methylation

Definition (free text)
A retrotransposon silencing process in which Piwi-associated RNAs (piRNAs) guide de novo DNA methylation. This results in a heterochromatin assembly, a chromatin conformation that is refractory to transcription.

Reference, in format PMID:#######
PMID:32674113, PMID:38359823

Parent term(s)

is_a GO:0141006 piRNA-mediated retrotransposon silencing by heterochromatin formation

is_a gene silencing by piRNA-directed DNA methylation  (new)

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)
EXACT piRNA-directed de novo retrotransposon DNA methylation

examples for proteins to annotate:
Spocd1(Mus musculus)SPOC domain-containing protein 1 (UniProtKB:B1ASB6)
Dnmt3a(Mus musculus)DNA (cytosine-5)-methyltransferase 3A (UniProtKB:P0DOY1)

+[Term]
+id: GO:0141176
+name: gene silencing by piRNA-directed DNA methylation
+namespace: biological_process
+def: "A small RNA-based gene silencing process in which Piwi-associated RNAs (piRNAs) guide de novo DNA methylation. This results in a heterochromatin assembly, a chromatin conformation that is refractory to transcription." [PMID:32674113, PMID:38359823]
+is_a: GO:0140966 ! piRNA-mediated heterochromatin formation
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27238" xsd:anyURI
+created_by: pg
+creation_date: 2024-03-11T13:47:09Z
+


Getting error after trying to open an imported db from postgres.new to database.build

Bug report
Getting an error trying to import a DB tar file from an export on postgres.new
Describe the bug

Getting that error after just clicking the newly imported Database Tar file from postgres.new
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Go to 'postgres.new/export'
Click on 'export database'
go to 'database.build/import'
Click on 'import'
Click on the only DB i have
Check the following error

Expected behavior

Being Able to see the database diagram that I created with postgres.new before

Screenshots
If applicable, add screenshots to help explain your problem.
System information

OS: Windows
Browser (if applies) Chrome
Version of supabase-js: [e.g. 6.0.2]
Version of Node.js: [e.g. 10.10.0]

Additional context
Add any other context about the problem here.

Thanks for reporting @LeopoldoLira. Could you share the contents of your Migrations tab on postgres.new? Hopefully we can use this to try to reproduce your issue.

Hey @LeopoldoLira we recently fixed a separate crash issue which may be indirectly related to your error: https://github.com/supabase-community/postgres-new/pull/120
Could you please try opening your DB again and confirm if you still experience crashes?

There was another error we just identified with the import logic that has now been fixed in #127, which is most likely what was causing your page crash. This is now merged into prod - would you mind giving the import another go?
Closing this now, but do please comment if you continue to experience issues.

Hi gregnr, sorry for not providing you anymore feedback, couldn't work until now. Everything works perfect after doing the export from postgres.new to database.build. Thank you so much.


Cookie Container

I'm looking for a way to handle cookies in AL. In C/AL you can use the .NET CookieContainer
https://msdn.microsoft.com/en-us/library/system.net.cookiecontainer(v=vs.110).aspx
DotNet "'System, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.CookieContainer
Is anything planned in that direction?

It is on our backlog but not the highest priority at the moment.

Any news on this issue - is it resolved?

It is not resolved, and currently not in scope for the upcoming spring release. Scope for fall release is not settled yet.

Hi,
Long time ago since this article has been updated.
Anything new?

Plans to add more HttpClient capabilites in fall release, but not groomed/settled yet. Proxy and better cookie support high on the list, but latter might not include container initially,
See also related asks
https://github.com/Microsoft/AL/issues?utf8=✓&q=is:open+is:issue+label:http-client
Cookies - https://experience.dynamics.com/ideas/idea/?ideaid=6e80f42d-8b43-ea11-b698-0003ff68dcf8
Proxy - https://experience.dynamics.com/ideas/idea/?ideaid=9545da70-666f-eb11-8fed-0003ff459a70 and https://experience.dynamics.com/ideas/idea/?ideaid=a40b6cb7-d546-ea11-b698-0003ff68992e
MultiPartFormDataContent - https://experience.dynamics.com/ideas/idea/?ideaid=adec2f78-3297-e911-80e7-0003ff68f3db

A cookie type was added for version 14. I will close this


Filter and info box or unavailable challenges [🚀]

:rocket: Feature request
Description
When challenges are not available (on Heroku or Docker) there should be

[ ] a filter option to hide these challenges on the Score Board (hidden by default)
[ ] an info box on the Score Board that states that challenges are missing for security reasons with a link to https://pwning.owasp-juice.shop/part1/challenges.html#potentially-dangerous-challenges for more information

Does juice-box have inbuilt functionality to check challenge availability or should the option be kept manual?

I would like to work on this.
Made an initial design for the infobox, wanted to confirm if this is what you had in mind

I'd probably prefer it either in the empty space near the "Show solved" button or at the very bottom between those other two info boxes. Maybe the top location is better...? Especially when we add a "Show disabled" button as well there it makes more sense to have the text next to it.


Consistency of Health/Mana Information

This is more of a necessity to understand the information contained in the JSON file:
HP per level is displayer as a flat number for a Percentage Value.
Mana per Level is flat value per level.
HP and Mana Regen are flat values per second.
HP is a percentage value per level.
That being said I cant really distinguish when Percentage and flat numbers are being used. These info I could figure out, except Mana Regen per level.
Looking at Anubarak, mana regen per level says 0.0976. Is it a flat number per level or a flat number for percentage value or is it 9.76% per level?
Thanks in advance

As a sidenote, skills have their damage in multiplier format while percentade values for stats are flat values for percentage.
It's all your call after all, just letting you know there's a problem of consistency here. :)
Cheers!

@LeoLeal I also opened an Issue, that all those numbers / HP , attack dmg etc. Are pretty old from older versions, it's not up-to-date.

I'm feeding a database with them... and thru seem actual. Check the
information ingame.
Em 14 de jun de 2016 2:25 AM, "heymATIN"<EMAIL_ADDRESS>escreveu:
@LeoLeal https://github.com/LeoLeal I also opened an Issue, that all
those numbers / HP , attack dmg etc. Are pretty old from older versions,
it's not up-to-date.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nydus/heroesjson/issues/40#issuecomment-225783014, or mute
the thread
https://github.com/notifications/unsubscribe/ABy8rZMNeEvB1rPuHgXvtpPnJYJOLRfKks5qLjszgaJpZM4IzcYl
.

I did,  it is not correct. Ingame information is different than what the heroes.json gives us.

The formulas are pulled verbatim.  There are a number of formula replacements (shared/C.js) because the formulas do not calculate as-is.  There is little to no consistency and a lot of "fall-backs"/defaults for formulas that I would have to find or reverse-engineer to calculate.
That's why it's a cluster fuck.  Garbage formulas mean garbage translations.

Oh Thats clarified!
I'm treating the values on my side of the App anyways.
Thanks for the info.
Cheers.

I just realised something about the stats - HP and stuff. They are correct.
They only start at Level 0.
So the ingame strings start at Level 1.
So it adds up +4% to everything.
I dont understand why. That actually makes no sense. But It is correct. Just EVERYTHING even spells damage and stuff. Starts at Level 0 so those 4% gets add up ingame.

Told they were correct
Em 22 de jun de 2016 3:25 AM, "heymATIN"<EMAIL_ADDRESS>escreveu:

I just realised something about the stats - HP and stuff. They are correct.
They only start at Level 0.
So the ingame strings start at Level 1.
So it adds up +4% to everything.
I dont understand why. That actually makes no sense. But It is correct.
Just EVERYTHING even spells damage and stuff. Starts at Level 0 so those 4%
gets add up ingame.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/nydus/heroesjson/issues/40#issuecomment-227654574,
or mute the thread
https://github.com/notifications/unsubscribe/ABy8rVfXYRJDuxzlXBmBCVKTHLtUhUR-ks5qONVTgaJpZM4IzcYl
.


ocamlPackages.jingoo: 1.4.2 -> 1.4.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://opam.ocaml.org/packages/jingoo/jingoo.1.4.4.
meta.description for ocamlPackages.jingoo is: "OCaml template engine almost compatible with jinja2"
meta.homepage for ocamlPackages.jingoo is: "https://github.com/tategakibunko/jingoo"
meta.changelog for ocamlPackages.jingoo is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
Warning: no invocation of /nix/store/nx4w9bngpc5ihrpr63lwgq9gc62rxdza-ocaml4.13.1-jingoo-1.4.4/bin/jingoo had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.4.4 with grep in /nix/store/nx4w9bngpc5ihrpr63lwgq9gc62rxdza-ocaml4.13.1-jingoo-1.4.4
found 1.4.4 in filename of file in /nix/store/nx4w9bngpc5ihrpr63lwgq9gc62rxdza-ocaml4.13.1-jingoo-1.4.4

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

0 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
ocamlPackages.jingoo

Instructions to test this update (click to expand)

Build yourself:
nix-build -A ocamlPackages.jingoo https://github.com/StridBot/nixpkgs/archive/a537e6f7ed9d7eddb259e8a64fc9292a0d3db22d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nx4w9bngpc5ihrpr63lwgq9gc62rxdza-ocaml4.13.1-jingoo-1.4.4
ls -la /nix/store/nx4w9bngpc5ihrpr63lwgq9gc62rxdza-ocaml4.13.1-jingoo-1.4.4/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @ericbmerritt for testing.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 165625 run on x86_64-linux 1

1 package built:

soupault


Links (and maybe other annotations) attached to wrong page after page deletion

I'm generating a PDF that has a link on each page, but I noticed that the annotation on the first page was missing. I found out that the cause of this is related to me deleting the first (empty) page that jsPDF generates.
In other words, deleting a page somehow messes up the associations between links (and possibly other annotations?)
I've created a reproducible case here: https://jsbin.com/bixepuyisi/edit?js,output
Is there an easy way around this?

This is already fixed but not released. You can try the jsPDF that is in the dist folder of this repo.


Create validate() and helper functions to validate integrity of a Camtrap DP

Suggested in camtraptor July 2023 coding sprint
An important aspect before analysing or publishing data is to check whether the dataset does not contain any major integrity errors, such as missing dates, coordinates, values not meeting controlled vocabularies or relationships between tables not being correct. Although validation is possible with the Python software Frictionless Framework, for most users the returned error messages are hard to parse.

camtraptor (or the frictionless R package) could offer some basic data validation (easier to implement than the entire metadata and data validation Frictionless Framework offers).
Users can correct issues by retrieving data (#232), correct errors and updating the package (#248).
A user facing validate() function could make use of a number of check_ helper functions. Those helper functions could also be run by other functions, e.g. when updating data (#248).

Suggestions for functions:

[ ] validate(package)
[ ] check_relations(package): relationships are valid
[ ] check_identifiers(package, "table name"): IDs are unique
[ ] check_required(package, "table name"): required fields are populated
[ ] check_vocabularies(package, "table name"): values meet factor levels. Note that read_resource()/readr() converts these to factors and might throw problems()
[ ] check_data_types(package, "table name"): note that read_resource()/readr() will throw problems() but otherwise will do a best attempt at converting
[ ] check_timestamps(package, table name"): has timezone, start <= end (specific to camtraptor, not a frictionless thing)
[ ] check_durations(package): obs & media timestamps within deployment (specific to camtraptor not a frictionless thing)

While it would be useful if these were functions of the frictionless R package, it might not be what we expect for camtraptor. Frictionless would have its validation run on resources (i.e. csv files + schemas), since returned data frames lose the connection with their schema, so it is not possible to validate for relationships or unique, as that information is lost. Camtraptor on the other hand, wants to validate the (already read) data frames.

@peterdesmet: wondering if we should move this issue to camtrapdp repo.

Ah yes, will do.


Pretrained model?

Hello! First of all thank you for your work, is incredible! 🥇
Is there any final pre-trained model available for download? or do you plan to add it in the close future? Thanks a lot! :)

Hi, Thank you for the compliments.
For now, we don't have a plan to release the final pre-trained model.
By the way, we will make API service in close future that you can get same results as the README.md.
I hope this can be the answer for your question.

hi, great job! And when are you plan API service?

hi, great job! And when are you plan API service?

Can someone else who does the training share a pre-trained model so we don't have to? Why tell us how to make the trained model but then not share it?


Feature/qt_plot_2

New PR from my fork so that we can continue to work on PR #290.
@peendebak @giulioungaretti
#######
Fixes the Qt part of #266
Fixes #259 I think
Fixes the Qt part of #217
Fixes #34 since setGeometry is now directly available and _repr_png_ exists
Fixes #289 I implemented it here too...
Changes proposed in this pull request:

Use pyqtgraph Docks for subplots
Expose some of the Dock-functionality to QtPlot.add()
Add transpose argument to QtPlot.add() (flip x, y axes, and transpose z)
Fix plotting when x, y, z datasets are defined
Remove Javascript update widget which is only used for update timing, replaced with native Qt timer
Add PNG representation of the plot windows
Add plotting tutorial
Add get default array title currently the location and array_id, maybe it should be reduced to the name and array_id, in the case where name exists. however, location is nice to later relate screenshots to the right dataset.
Add get_units
renamped update to update_data in base.py so it wont interfere with update() from the Qwidget
removed pyqtgraph remote plotting stuff

I'm leaving for a holiday now, but it would be great if someone could check this over, and give some input
This PR is mostly meant to fix some of the urgent issues I came across, there is still a lot to do but for that we need to refactor the whole plotting system, which seems somewhat complicated right now. Make it more modular and allow for easy additions...

@MerlinSmiles , I recently updated our code to use the qcodes plotting for everything. However we do not use datasets but rather add x and y arrays manually (and providing the right labels as well).
I was wondering if you preserve this backwards capability, additionally, I think it is a good idea if the qcodes plot monitor supports simple x-y plotting for modularity and simplicity reasons.
My guess is that you do and I only need minor updates to my code to check this out but but I thought I'd check before I miss some detail.

@AdriaanRol I dont think I have touched any of that...

Cool, I'll try to check this out this weekend. Seems this PR is in need of some  merge  support :)

Hi Merlin,
I couldn't resist trying it out but I ran into a little problem trying the most trivial example.
The following code snippet works on perfectly on master
from qcodes.plots.pyqtgraph import QtPlot
p1 = QtPlot()
x = np.linspace(0,10,100)
y = np.sin(x)
p1.add(x=x, y=y)

However when I check out your PR, I get the error I pasted  below. I think this should be pretty easy to solve (adding a default empty string as title should do).
Edit: I tried running your example notebook and I ran into the exact same problem, which I find kind of strange (exact same error message). I am a bit puzzled because if I check out the master branch everything works fine for me and seeing that the notebook I pull in has logged output I can only conclude that it works for you. However, the type of bug I get suggest a simple coding bug due to a changed API and not a weird graphics install type bug.
In any case I'd be interested to figure out if you can run this version (exactly as it is in the PR).
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-15-6f8091d6c7e8> in <module>()
      3 x = np.linspace(0,10,100)
      4 y = np.sin(x)
----> 5 p1.add(x=x, y=y)

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/base.py in add(self, updater, *args, **kwargs)
     88         self.expand_trace(args, kwargs)
     89         self.add_updater(updater, kwargs)
---> 90         return self.add_to_plot(**kwargs)
     91
     92     def add_to_plot(self, **kwargs):

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/pyqtgraph.py in add_to_plot(self, subplot, **kwargs)
    294                 title = self.get_default_array_title(kwargs['x'])
    295
--> 296         subplot_object.setTitle('#{} - {}'.format(subplot, title or 'Plot'))
    297
    298         if kwargs.get('clear', False):

AttributeError: 'Dock' object has no attribute 'setTitle'

@adriaanrol Which version of pyqtgraph are you using? You need the latest one for this pr.

@AdriaanRol @peendebak not only for this PR but if you follow master you need the last version as well!

@giulioungaretti , I made sure my fork of the master was up to date :).
@MerlinSmiles I'll check the pyqtgraph version later.

@peendebak , @MerlinSmiles I'm running pyqtgraph 0.9.10. This is the same as listed in the main qcodes install page and as far as I can tell also the latest (http://www.pyqtgraph.org/).
Let me know if I should be using any other version (or what you use to run this notebook).

@AdriaanRol maybe you want to pip upgrade your pyqtgraph to 0.10 https://pypi.python.org/pypi/pyqtgraph ?

@AdriaanRol Yes, you should:
https://github.com/QCoDeS/Qcodes/blob/master/setup.py#L29

@MerlinSmiles @eendebakpt  @AdriaanRol  ah, but ofc if one checks out this brach/fork the setup.py uses the old versoin still :(  or actually a version that does not exist :(

Ok, I've updated pyqtgraph to 0.10.0. I still run into loads of bugs when I run the example notebook.

In the first cell I try to run qc.show_subprocess_widget(). This raises an error  AttributeError: module 'qcodes' has no attribute 'show_subprocess_widget'. In the past this used to work, I assume this is just deprecated in the current master?

Command cell 5 raises another error  on the last  line:

# The plot-window has a PNG representation, thus the folowing line grabs a "screenshot" of the window:
plotQ

Traceback attached at bottom of post.
Commenting this out I can continue.

I can add the ampltidue to the plot in cell 6 (plots correctly). However trying to use the PNG representation of cell 7 raises the same error as before (see below). In fact whenever I return the object I get this "grab" error. Note that this does not occur when I go back to the latest version of the master.

Separately from the example notebook, if I create an empty window and give it a title  p1 = QtPlot(windowTitle='MyTitle'), I get an error.

Refering to the pyqtgraph version, 0.10.0 is indeed listed in the dependencies, however the main qcodes page (readme.rst) still indicates 0.9.xx.

Summary
I find a lot of bugs in stuff that used to work fine and I cannot easily get new things to work on a configuration that used to run everything (my macbook).
I would really like to use the improved plotting and see all the new features. I suggest the following changes.

Add some tests to the plotting. We may not be able to check if it plots correctly but at least we can check if no errors are raised in functionality that should work.
Make sure the basic functionality remains working (I am quite happy with the current qcodes plotting).

I'd also be interested to see if people can run the current version in the PR, I'd be curious to understand why this is so hard (altough # graphics.... )
Appendix tracebacks
Error when return the plot object in the notebook.
AttributeError                            Traceback (most recent call last)
/usr/local/lib/python3.5/site-packages/IPython/core/formatters.py in __call__(self, obj)
   341             method = _safe_get_formatter_method(obj, self.print_method)
   342             if method is not None:
--> 343                 return method()
   344             return None
   345         else:

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/pyqtgraph.py in _repr_png_(self)
   689         QtWidgets.QApplication.processEvents()
   690
--> 691         image = self.grab(self.area.contentsRect())
   692
   693         byte_array = QByteArray()

AttributeError: 'QtPlot' object has no attribute 'grab'

Error on creating a new window with a title :
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-5-e35396d20705> in <module>()
      1 from qcodes.plots.pyqtgraph import QtPlot
----> 2 p1 = QtPlot(windowTitle='None')
      3 x = np.linspace(0,10,100)
      4 y = np.sin(x)
      5 p1.add(x=x, y=y)

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/pyqtgraph.py in __init__(self, figsize, figposition, interval, window_title, theme, show_window, parent, *args, **kwargs)
    159
    160         if args or kwargs:
--> 161             self.add(*args, **kwargs)
    162
    163         QtWidgets.QApplication.processEvents()

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/base.py in add(self, updater, *args, **kwargs)
     86         """
     87         # TODO(giulioungaretti): replace with an explicit version, see expand trace
---> 88         self.expand_trace(args, kwargs)
     89         self.add_updater(updater, kwargs)
     90         return self.add_to_plot(**kwargs)

/Users/Adriaan/GitHubRepos/DiCarloLab_Repositories/Qcodes/qcodes/plots/base.py in expand_trace(self, args, kwargs)
    266         # reset axletters, we may or may not have found them above
    267         axletters = 'xyz' if 'z' in kwargs else 'xy'
--> 268         main_data = kwargs[axletters[-1]]
    269         if hasattr(main_data, 'set_arrays'):
    270             num_axes = len(axletters) - 1

KeyError: 'y'

@AdriaanRol We use this PR in our day to day work, so this issues you find are probably specific to your setup or to the notebook.

show_subprocess_widget is not loaded, depending on your config settings. Loaded that function causes issues on non-notebook #366
The argument windowTitle was renamed to window_title. The error message you get is a bit cryptic, because the function interprets the windowTitle argument as one of the variables to plot. Maybe we can change the function so that we get an error like windowTitle, unknown argument

@AdriaanRol
adding to @peendebak, for the plotting error
--> 691         image = self.grab(self.area.contentsRect())
   692
   693         byte_array = QByteArray()

AttributeError: 'QtPlot' object has no attribute 'grab'

Do you have PyQt5 installed? since the switch to qtpy (that allows using pyqt4, pyqt5, or pyside(?)) i guess we have a hard time adding pyqt5 or pyside as dependency? No idea how that works (@unga)
However, since pyqtgraph 0.10 supports pyqt5 we can finally use the latest qt, and I think we should.
For the interpretation of a non existing argument as an dataset, that is how the original was desined, you probably get the same error in the old qtplot. Not sure if it is so good to expect all extra arguments to be datasets. Either kwargs include x, y, z or they should simply not be data arrays.
Sorry for the wrong argument name in the notebook. that wasnt properly updated after the renaming of the argument, as I noted in the old PR, but yeah thats a bit confusing with the old place...

@MerlinSmiles, I've updated to PyQt5 and the latest version of PyQtGraph and tried this again today as I'm quite eager to improve the live plotting experience (one might call this procrastination).
I still have problems running the version of this branch. This time I get no errors or warnings but just a screen freeze.
Let me give an overview of the combinations that work.
For all variants I run the following snippet
import numpy as np
from qcodes.plots.pyqtgraph import QtPlot
vw = QtPlot(window_title='Title')
x = np.linspace(-10, 10,101)
y=np.cos(x)
vw.add(x=x,y=y)

QCoDeS master (ca112fe)
- works fine in ipython kernel
- works fine in jupyter notebook
this branch (8846b35)
- freezes in ipython kernel
- A plotting window opens that does not update and is not responsive
- I get the MAC spinning wheel indicating it is loading
- the kernel returns Out[1]: <Dock #1 - Plot (10, 10)>
- the kernel is responsive
- freezes in notebook
- Similar to above but does update the data in the plot
- Displays the figure inline but is not interactive
- Also displays a QtPlot window outside of my browser. This displays the line but is also unresponsive.

I'm running

PyQt5 (5.7.1)
pyqtgraph (0.10.0)
python 3.6.0

On a Mac.
I'm curious to know why this is such a problem for me and if there is anything we can change to make your changes take effect. (or am I just behind and are you guys now doing the small chunks in different PR's?)
Best,

@AdriaanRol sorry for my late answer.
I don't think that this will be merged anytime soon, as it requires multiprocessing to work.
The problem with the freezing Qt window is that the Qt event scheduler cannot work. In your example if you start a Qt app first with app = pyqtgraph.mkQtApp() or something like that (cant recall exactly) it should not freeze, but you would not have a free terminal, both at the same time on one kernel is not possible.
Also:

The Qt plot will not be interactive in the notebook, that is not compatible.
The master works by constantly calling updates, and maybe its still using the pyqtgraph remote something which runs another process by itself but has other disadvantages.
I wonder how you install pyqt5 with python 3.6 afaik it is not compatible at the moment.
It does not work in this branch because your config file disables multiprocessing, I think.

Closing as this will not work with any recent qcodes version, and is by far superseeded by this one:
https://github.com/MerlinSmiles/Qplot
which gives you an external process for plotting


Issue 293: happening now

Okay, it didn't really work in the sidebar. I turned it into a button on the same level as map. Unsure if that was the best idea.
There are 2 parts:

It dynamically pulls from the schedule and tells you what rooms are associated with the event if any
It pulls from manual updates in ServerSettings to form sort of an ad-hoc announcement system, I guess?

You can edit these through a form in the ServerSettings. The whole thing is very Programmer.

With regards to the non-functional link element - I do want it to look and act like a link (be blue, when you mouse over it the cursor changes) - is there a way of styling a paragraph to do that, or something? And would that be...better, or worse, from an accessibility standpoint?

re: links, you can make them buttons with the CSS class link-styled-button

Can we rename the "Live from Here" to "Other Live Activities" or something like that? That phrasing doesn't quite sit right with me.

Rename header & buttons styled as links


Windows 10 theme enhancement

Toolbars looks s little outdated on W10 due it's flat style.
I've changed the backcolor of some of them as in the following screenshot.

I've set the backcolor to nil on help toolbar and in instance or class methods option selector.

Removing Toolbar>>onEraseRequired: is enough to left all toolbars flat.

I finally decided to do something about this. Here is how it looks. The gradient fill is gone from the toolbar and splitters. I also got rid of the background colour in the source pane because the overall look is much paler and it was out of place. I also found the grey look rather easy to confuse with the pane being disabled.

As the splitters now give no visual indication of their presence, but have a subtle "hot" highlight when the mouse moves over them, in addition to the cursor change that has always been there.
The revised look of toolbars is enabled if the hasFlatAppearance property is true. This was true of most toolbars already. Splitters now have a hasFlatAppearance property too, and this is on by default. This means that old view resources will get this look by default. Originally I was going to leave this off by default, but the experience with the existing resources in the standard image was that this led to more compatibility issues than enabling it by default because most existing toolbars did change appearance. It may be necessary to work through views in applications to make the settings correct.
I'll be sending a PR for this shortly.

One other comment. There were some sizing issues in some of the standard toolbars that I've fixed. These were mainly caused by the (Microsoft suggested) bodge of using a separator of a specified non-zero width as a placeholder for nested controls, such as the search box. Frankly the Toolbar control doesn't really supported nested controls properly (other than other Toolbar instances), and it would be better to add a wrapping of the Rebar control, but it does at least look better for now, at least on Windows 10. Where the control geometry is different (or when it changes) it will probably be askew.

Fixed by #583


give the lowest named servers in a configured cluster precedence when…

… choosing which ones to start (fixes OWLS-82374)

LGTM, but what are the changes for pom.xml for? I can't find any file name SampleTestToExclude.java

LGTM, but what are the changes for pom.xml for? I can't find any file name SampleTestToExclude.java

The main reason to change the pom.xml was to add the comment about the danger of 'M4'.
The SampleTestToExclude.java is just a random sample file name - I added the 'excludes' stanza to the unit testing as a convenience for those that want to exclude a particular unit test during development...