Fix Redshift compatibility

The expect_table_columns_to_match_ordered_list macro is using column
names as direct strings, which doesn't work on Redshift without an
explicit cast to string.
This cast was added previously and removed again in
https://github.com/calogica/dbt-expectations/commit/c698a1a1108435c18cc7680885795aeb47b8fe74#diff-14b201719d47d2b58e18a4896f8cb1d1f0bc3b414694499ef5eb738b683fb955L11-L12
Fixes #122
I have not tested this, just applied the previous fix.

I'll cut a new release this weekend, possible pending another PR. Thanks for this quick fix!


Update i18n resources

I sorted the language files and Github is able to show a diff
Just for reference, this is something I threw together quickly to sort the languages.

Closing, this PR introduces too many issues.


Warnings on fresh install

Let me start this issue with a bunch of hearts :heart: :heart: :heart: this package will really help with my current research.
I just want to point out that there are many warnings with the simple example:
WARNING: both GeoInterface and GeometryBasics export "LineString"; uses of it in module GeoMakie must be qualified
WARNING: both GeoInterface and GeometryBasics export "Polygon"; uses of it in module GeoMakie must be qualified
WARNING: both AbstractPlotting and GeometryBasics export "Vecf0"; uses of it in module GeoMakie must be qualified
WARNING: both AbstractPlotting and GeometryBasics export "Pointf0"; uses of it in module GeoMakie must be qualified
WARNING: both AbstractPlotting and Base export "Text"; uses of it in module GeoMakie must be qualified

Many names from GeoInterface, GeometryBasics, and other packages are conflicting. It would be nice to clean that up and release a new patch. I want to show off the package to my colleagues at work :)

Hey!  Unfortunately, all of these are outside of GeoMakie's control.  I've fixed the AbstractPlotting ones, and eventually GeoInterface will be a dependency of GeometryBasics, I think.  As for the last one - that's been a pretty consistent problem.  Not sure what we can do about it, given that Text is a pretty fundamental plot type...
By the way, there are some changes coming to the API as soon as JuliaGeo/Proj4.jl#44 is merged, so be sure to keep an eye out for that.

GeoInterface will be a dependency of GeometryBasics

Yeah although that would be the new one at that point: https://github.com/JuliaGeo/GeoInterfaceRFC.jl
But perhaps it would help to not reexport GeoInterface from this package?
@asinghvi17 what do you think about gradually adding support for plotting the GeometryBasics types in this package? Since GeometryBasics is a dependency of Makie, I guess it could also be done in Makie itself. Or we develop it here, and consider moving it to Makie later? For anything that needs PROJ, I think GeoMakie would still be the right place.

AFAIK, most GeometryBasics stuff is already plottable as a mesh, GeoMakie just makes it faster by using earcut.  In a couple of weeks, I think the only thing we'll end up needing in GeoMakie are the axis and coastline recipes, and some GeoInterface -> GeometryBasics conversions.
I could definitely not reexport GeoInterface, but switching to use import might require a heavier refactor.  I'll see if I can find the time for it this weekend.

This particular issue should be fixed now, although if you're on Mac M1 you will have issues.  See #103 for that.


Feature Add admin set table status statement

Proposed changes
For some certain bugs, jobs is stuck in FE by the table state. For example, There is a bug which causes table remains ROLLUP state after adding rollup job, then other alter jobs later will not succeed because the table state is always ROLLUP but not NORMAL.
This commit adds a statement which is used to set the state of the specified table.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.55 seconds
stream load tsv:          537 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>5 Bytes

run p0

run buildall

regression test has been added, please cc @morningman

run compile

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.95 seconds
stream load tsv:          543 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>8 Bytes

revert this PR in branch-2.0 since it modify fe metadata OperationType and cause rollback from 2.0.2 to 2.0.1/2.0.0


API Gateway gotcha Multi-Region

API Gateway doesn't support Multi-Region.

@ThanosBaskous thx for the feedback. I did some changes, pls review.

👍 Thanks @muhqu !


ErrorException htmlspecialchars() expects parameter 1 to be string

From the project root folder I run php artisan serve, so I go to the Chrome browser and open the default URL (http://<IP_ADDRESS>:8000/) and got the following exception:

Seems like an environmental issue or something was missed in the installation instructions.


add simple starter

Simple
a minimal kedro starter
Based on a project currently running in "production" using GitHub actions pypi-list.  It creates some json output for users to find English words that are available as a pypi package.
Simple is set up to use the following tools out of the box.

pre-commit
mypy
sort
flake8
black
interrogate

The goal of this starter is to create the most feature-complete, yet simple interface to get started with kedro.  It includes all the package analysis tools I would normally use.  The entire project resides essentially in one file with all the needed kedro components; the pipeline, nodes, catalog, and cli.  There are some features of kedro such as its cli that will not work, but the core components that make the Pipeline and Catalog will work fine.
Users can use this starter to create simple toy projects, learning, get started quickly on a project that may morph to a full project later, or anything that they would like to move quickly without sacrificing quality and features.

Hi @WaylonWalker thank you for the contribution! I'm not sure I'd necessarily call this 'simple', I would maybe call it standalone-code-api what do you think?

Hi @WaylonWalker thank you for the contribution! I'm not sure I'd necessarily call this 'simple', I would maybe call it standalone-code-api what do you think?

The essence of what I am trying to get here is a working minimal example to work from.  I have seen the default template trip up newcomers with the complexity that it brings to someone early in their python data science journey.  I do see that the word simple is a bit loaded.
Here is a brainstorm list of ideas, if you still would prefer standalone-code-api I would be ok with that as well.

miniml
small
single-file
single-module
single-code-api
standalone
standalone-code-api

Totally makes sense.


Document disabling telemetry with an environment variable

What kind of changes does this PR include?

New or updated content

Description

Came up in https://github.com/withastro/rfcs/discussions/405#discussioncomment-4323822 that you can disable telemetry by setting an environment variable as well as running astro telemetry disable. This notes that in the CLI reference. Didn’t go into any detail as it’s already kind of out of place in the CLI reference, but we don’t have anywhere better for this. Let me know if you think this deserves more.

Agreed that it feels a little out of place (maybe eventually in Installation or some other kind of "setup-y" page would make sense?) but NWTWWHB! I'll approve it!


operator: fix OUTDIR path generation

If operator/out doesn't exist, then the call to realpath to determine the location of the manifest tarball will fail, since realpath doesn't chain together paths if any higher-level directory doesn't exist.  To work around this, we reuse ROOT_DIR detection from server.

See https://github.com/sadlerap/konflux-workspaces/actions/runs/9571445144 for context of it working.


Ignore SenderId<PHONE_NUMBER> by default

Since the server is a user... it may be best to block it outright so extra calls aren't needed in hooks like OnPlayerChat.
if event.SenderId == "9999999999" then return end

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/16874695-ignore-senderid-9999999999-by-default?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github).

Completed!


relax license

just a reminder -- as discussed on IRC, I think relaxing the license of libvmod-example (for instance to stating that it is in the public domain) would help VMOD authors with doubts of their legal departments
irc
(12:56:23) scn: i don't think we have anything to gain by mandating a license on it
(12:57:32) slink: scn: yeah. How about "libvmod-example is in the public domain"?
(12:57:35) scn: and copyright .. they get their own when they make a derivative work, don't they?
(12:58:05) slink: scn: yes, but in the strict sense one had to keep the copyright for any code stemming from libvmod-example
(12:58:45) scn: i don't know why we have all of that stuff in there in the first place. before my time. i'm ok with simplifying it.

I don't mind it being PD.

It would however be nice if they pointed to the example vmod on Github without it being a strict requirement. Just so people know.

What about http://unlicense.org/ ?

Sure. Looks fine.
On Mon, Mar 2, 2015 at 2:56 PM, Federico G. Schwindt <
<EMAIL_ADDRESS>wrote:

What about http://unlicense.org/ ?
—
Reply to this email directly or view it on GitHub
https://github.com/varnish/libvmod-example/issues/12#issuecomment-76715028
.

--
Per Buer
CTO | Varnish Software AS
Cell: +47 95839117
We Make Websites Fly!
www.varnish-software.com
[image: Register now]
http://info.varnish-software.com/varnish-summits-autumn-2014-registration

Implemented in 3.0, 4.0 and master. Closing issue.

Federico insisted that we should remove the copyright notice as well.
IMHO (IANAL and so on) that does not make any difference, since the authors implicitly have copyright these days, but perhaps it is less confusing to someone using this for the first time.

We won't claim any copyright over this. We should of course list authors
but to be perfectly clear we don't have to have a copyright claim.
On Tue, Mar 3, 2015 at 4:44 PM, Lasse Karstensen<EMAIL_ADDRESS>wrote:

Federico insisted that we should remove the copyright notice as well.
IMHO (IANAL and so on) that does not make any difference, since the
authors implicitly have copyright these days, but perhaps it is less
confusing to someone using this for the first time.
—
Reply to this email directly or view it on GitHub
https://github.com/varnish/libvmod-example/issues/12#issuecomment-76970059
.

--
Per Buer
CTO | Varnish Software AS
Cell: +47 95839117
We Make Websites Fly!
www.varnish-software.com
[image: Register now]
http://info.varnish-software.com/varnish-summits-autumn-2014-registration

I'm not a lawyer but putting this in the public domain and having a copyright in there makes no sense to me. Listing authors OTOH is perfectly fine.
I looked at sqlite and youtube-dl, the latter using unlicense, and i cannot find any copyright.


GLIBC Compatibility Issue & Frame Selection for Thermodynamic Time Averaging

Hello,
I recently experimented with mdapy and have thoroughly enjoyed the experience. I was able to install it successfully via pip. However, I encountered an issue related to the glibc version dependency when trying to run some computations. It seems that both taichi and mdapy require a newer version of glibc, whereas my OS offers an older version that I can't upgrade immediately. Could you advise on any potential solutions or workarounds?
In addition, I have a multi-frame trajectory and am interested in performing thermodynamic time averaging over a specific frame range. While I am aware ovito provides such a functionality, I couldn't find a similar feature in the mdapy documentation (perhaps I might have overlooked it).
Below, I've included my installation details, the test script I used, and the associated error message for reference:
Installation:
Installing collected packages: pygments, pyarrow, mdurl, dill, markdown-it-py, rich, taichi, mdapy
Successfully installed dill-0.3.7 markdown-it-py-3.0.0 mdapy-0.8.9 mdurl-0.1.2 pyarrow-13.0.0 pygments-2.16.1 rich-13.5.2 taichi-1.6.0
Test Script:
import mdapy as mp
import numpy as np
import taichi as ti
import time
ti.init(arch=ti.cpu)
print(mp.version)

start_time = time.time()
system = mp.System('./mydump-nve.lammpstrj')
print("Time taken:", time.time() - start_time, "seconds.")
print(system.data)
start_time = time.time()
system.build_neighbor(rc=5., max_neigh=60)
print("Time taken:", time.time() - start_time, "seconds.")
start_time = time.time()
system.cal_centro_symmetry_parameter(N=12)
print("Time taken:", time.time() - start_time, "seconds.")
start_time = time.time()
system.cal_atomic_entropy()
print("Time taken:", time.time() - start_time, "seconds.")
#start_time = time.time()
#system.cal_atomic_temperature(amass=np.array([58.933, 58.693, 55.847, 26.982, 63.546]))
#print("Time taken:", time.time() - start_time, "seconds.")
print(system.data['atomic_temp'].mean())  # K
csp
error = abs(system.data['c_1'] - system.data['csp'])
print(error[error > 0.1], error.max())
error = abs(system.data['c_2'] - system.data['atomic_entropy'])
print(error[error > 0.1], error.max())
start_time = time.time()
system.write_dump()
print("Time taken:", time.time() - start_time, "seconds.")
Error:   python test.py
[Taichi] version 1.6.0, llvm 16.0.0git, commit f1c6fbbd, linux, python 3.10.8
Traceback (most recent call last):
File "/data1/xitan/works/Interface_temp/EmimBF4/lmp/CPM_nemd_right/1.0V/case1/test.py", line 1, in
import mdapy as mp
File "/home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/mdapy/init.py", line 14, in
from .create_polycrystalline import CreatePolycrystalline
File "/home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/mdapy/create_polycrystalline.py", line 17, in
import _voronoi_analysis
ImportError: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/_voronoi_analysis.cpython-310-x86_64-linux-gnu.so)

Furthermore, does mdapy offer a feature that allows for targeted selection within specific regions? For instance, I'm interested in computing thermodynamic properties for particles of type 1 specifically within the region where 0 < z < 5. Is there a mechanism to narrow down such calculations without considering the entire dataset?

Hello,
I recently experimented with mdapy and have thoroughly enjoyed the experience. I was able to install it successfully via pip. However, I encountered an issue related to the glibc version dependency when trying to run some computations. It seems that both taichi and mdapy require a newer version of glibc, whereas my OS offers an older version that I can't upgrade immediately. Could you advise on any potential solutions or workarounds?
In addition, I have a multi-frame trajectory and am interested in performing thermodynamic time averaging over a specific frame range. While I am aware ovito provides such a functionality, I couldn't find a similar feature in the mdapy documentation (perhaps I might have overlooked it).
Below, I've included my installation details, the test script I used, and the associated error message for reference:
Installation: Installing collected packages: pygments, pyarrow, mdurl, dill, markdown-it-py, rich, taichi, mdapy Successfully installed dill-0.3.7 markdown-it-py-3.0.0 mdapy-0.8.9 mdurl-0.1.2 pyarrow-13.0.0 pygments-2.16.1 rich-13.5.2 taichi-1.6.0
Test Script: import mdapy as mp import numpy as np import taichi as ti import time
ti.init(arch=ti.cpu)
print(mp.version)
start_time = time.time() system = mp.System('./mydump-nve.lammpstrj') print("Time taken:", time.time() - start_time, "seconds.") print(system.data)
start_time = time.time() system.build_neighbor(rc=5., max_neigh=60) print("Time taken:", time.time() - start_time, "seconds.")
start_time = time.time() system.cal_centro_symmetry_parameter(N=12) print("Time taken:", time.time() - start_time, "seconds.")
start_time = time.time() system.cal_atomic_entropy() print("Time taken:", time.time() - start_time, "seconds.")
#start_time = time.time() #system.cal_atomic_temperature(amass=np.array([58.933, 58.693, 55.847, 26.982, 63.546])) #print("Time taken:", time.time() - start_time, "seconds.")
print(system.data['atomic_temp'].mean()) # K
csp
error = abs(system.data['c_1'] - system.data['csp']) print(error[error > 0.1], error.max())
error = abs(system.data['c_2'] - system.data['atomic_entropy']) print(error[error > 0.1], error.max())
start_time = time.time() system.write_dump() print("Time taken:", time.time() - start_time, "seconds.")
Error: python test.py [Taichi] version 1.6.0, llvm 16.0.0git, commit f1c6fbbd, linux, python 3.10.8 Traceback (most recent call last): File "/data1/xitan/works/Interface_temp/EmimBF4/lmp/CPM_nemd_right/1.0V/case1/test.py", line 1, in import mdapy as mp File "/home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/mdapy/init.py", line 14, in from .create_polycrystalline import CreatePolycrystalline File "/home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/mdapy/create_polycrystalline.py", line 17, in import _voronoi_analysis ImportError: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /home/xitan/anaconda3/envs/xitan_conda/lib/python3.10/site-packages/_voronoi_analysis.cpython-310-x86_64-linux-gnu.so)

Hi XiTanna @XiTanna ,
Thank you for your feedback on mdapy.
Regarding the installation problem, there are two potential solutions. I suggest testing it on a Conda virtual environment. The first solution is to update the glibc version by running "conda install -c conda-forge gxx_linux-64", as suggested on the main page of mdapy's GitHub repository. This should resolve the issue. Alternatively, you can install mdapy from source, which will compile mdapy with your operating system. In Linux, it should be as simple as running "pip install pybind11" and "pip install .".
As for the second question, currently mdapy cannot directly handle the trajectory. You will need to manually split it into individual dump files, such as melt.0.dump, melt.100.dump, etc. The System class only accepts a single frame, while the MultiSystem can handle multiple-frame dumps. Time averaging can be achieved through a simple for-loop. mdapy primarily focuses on post-processing for a single frame.
By the way, there are some errors in your test script. For example, the correct syntax is mdapy.version. Additionally, if you are reading a file with a postfix other than .dump or .data, you should explicitly specify its format by passing "format='dump'" or "format='data'".
If you have any other questions, please let me know.

Furthermore, does mdapy offer a feature that allows for targeted selection within specific regions? For instance, I'm interested in computing thermodynamic properties for particles of type 1 specifically within the region where 0 < z < 5. Is there a mechanism to narrow down such calculations without considering the entire dataset?

mdapy currently can not provide the selection feature like in ovito. For a small system, you can directly calculate the entire system, and the speed is similar to calculate a specific region. If your system is very large, you can manually select the region you are interested in, and then generate a new system to compute it.
For example:
data = system.data
select = data[(data['type']==1) & (data['z']<5) & (data['z']>0)] # do what you want to do

new_system = mp.System(pos = select[['x', 'y', 'z']].values, box=system.box, boundary=system.boundary)
# now you can calculate the new_system.

Thanks for the detailed guidance. Now I have successfully run it through source code installation. It is hoped that in the future, direct processing of trajectories and time averaging can be supported.


[AMBARI-25324] : Upgrade commons-lang/lang3 to latest versions

What changes were proposed in this pull request?
For better improvements of dependent libraries commons-lang and commons-lang3, upgrading the versions to 2.6 and 3.9 respectively
How was this patch tested?
The patch was manually tested
PR for branch-2.7: https://github.com/apache/ambari/pull/3031

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5357/
Test PASSed.

Thanks @dlysnichenko
Could you please review this one for trunk?

LGTM
you are welcome


browser compatiblity

Hello,
I think it would be interesting to add in the documentation a note about browser compatibility.
Can you confirm that using this module it is possible to render full mapbox styles without depending on webgl and therefore support much older browsers than mapbox-gl-js ?
If so I think it is the great strength of this module as it provides an alternative to webgl and server side rendering.

Yes, ol-mapbox-style uses OpenLayers with the canvas rendering. So no WebGL required. Feel free to submit a pull request that adds a note about this to the readme.


Azure CDN Premium From Verizon was changed to Edgio

This document states that the feature is only available in Azure CDN Premium from Verizon.
This is no longer an option when creating a new CDN, the replacement offering is Azure CDN Premium from Edgio.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 3a415ee3-98c0-248e-4904-45e04cc9b933
Version Independent ID: 2fbd4504-5c83-23da-8b21-935782f23ca7
Content: Securing Azure CDN assets with token authentication
Content Source: articles/cdn/cdn-token-auth.md
Service: azure-cdn
GitHub Login: @duongau
Microsoft Alias: duau

@airmnichols
Thank you for the feedback. Looks like update was missed on this document. The other documents have been updated https://learn.microsoft.com/en-us/azure/cdn/cdn-features?toc=%2Fazure%2Ffrontdoor%2FTOC.json

#reassign: duongau
Hello @airmnichols, thank you for catching this. I missed updating this one when we changed over the name. I've raised a PR to have this fixed. Thank you for you help. #please-close


[feat] - v4 Code Editor

This PR updates Sprig to use Code Editor rather than Twigfield (which has been deprecated). Code Editor is a general-purpose code editor that also does Twig & autocomplete.
Code Editor also has been refactored to TypeScript, supports light/dark themes, and has a tweaked/improved API.

Amazing work, thanks!!


Navigation problem after recent Flutter upgrade

Steps to Reproduce

...  App with two screens.  If I enable the code to push the second screen onto the Navigator the first screen does not render
...  Here is offending code:  Line 193 in main.dart

Navigator.pushNamed(
context,
'/login'
);

...  Here are the two files - main.dart and login.dart

CODE
//// main.dart ///////////////////////////////////////////////////////////////////////////
import 'package:flutter/material.dart';
//import 'package:microbiometer/cloud_sync.dart';
import 'package:microbiometer/login.dart';
import 'package:pubspec_parse/pubspec_parse.dart';
import 'package:flutter/services.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'microBIOMETER®',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.green,
      ),
//      home: MyHomePage(title: 'microBIOMETER® by PES'),
      initialRoute: '/',
      routes: {
        // When navigating to the "/" route, build the FirstScreen widget.
        '/': (context) => MyHomePage(title: 'microBIOMETER® by PES'),
        // When navigating to the "/second" route, build the SecondScreen widget.
        '/login': (context) => LoginRoute(),
      },
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String _projectVersion = 'Unknown';
  String _loginStatus = 'Trying to Connect.';

  @override
  initState() {
    super.initState();
    initPackageInfo();
  }

  // Platform messages are asynchronous, so we initialize in an async method.
  initPackageInfo() async {

    String version = 'Unknown';

    String content = await rootBundle.loadString('pubspec.yaml');

    final pubspec = Pubspec.parse(content);

    if (pubspec.version == null) {
      throw StateError('pubspec.yaml does not have a version defined.');
    }

    version = pubspec.version.toString();

//    var status = await CloudSync().checkSessionValid();

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;

    setState(() {
      _projectVersion = version;
//      _loginStatus = status;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Image(
              image: AssetImage('assets/graphics/microbiometer_logo.png'),
              fit: BoxFit.scaleDown,
            ),
            Text(
              'Version $_projectVersion',
              style: Theme.of(context).textTheme.headline,
            ),
            Text(
              '$_loginStatus'
            ),
            ButtonBar(
              alignment: MainAxisAlignment.spaceAround,
              children: <Widget>[
                Column(
                  children: <Widget>[
                    FlatButton(
                      onPressed: _login(),
                      padding: EdgeInsets.all(5.0),
                      child: Image.asset('assets/graphics/login-icon-3047.png',
                        fit: BoxFit.scaleDown,
                      ),
                    ),
                    Text('Login')
                  ],
                ),
                Column(
                  children: <Widget>[
                    FlatButton(
                      onPressed: null,
                      padding: EdgeInsets.all(5.0),
                      child: Image.asset('assets/graphics/iris-1.png',
                        fit: BoxFit.scaleDown,
                      ),
                    ),
                    Text('Analyze')
                  ],
                ),
                Column(
                  children: <Widget>[
                    FlatButton(
                      onPressed: null,
                      padding: EdgeInsets.all(5.0),
                      child: Image.asset('assets/graphics/list.png',
                        fit: BoxFit.scaleDown,
                      ),
                    ),
                    Text('Samples')
                  ],
                ),
              ],
            ),
          ],
        ),
      ),
//      floatingActionButton: FloatingActionButton(
//        onPressed: _incrementCounter,
//        tooltip: 'Increment',
//        child: Icon(Icons.add),
//      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }

  _login() {
    Navigator.pushNamed(
      context,
      '/login'
    );
  }
}

//// login.dart ///////////////////////////////////////////////////////////////////////////
import 'package:flutter/material.dart';
import 'package:microbiometer/cloud_sync.dart';

class LoginRoute extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Login or Create Account"),
      ),
      body: LoginForm(),
    );
  }
}

class LoginForm extends StatefulWidget {
  @override
  _LoginFormState createState() => _LoginFormState();
}

class _LoginFormState extends State<LoginForm> {

  final _formKey = GlobalKey<FormState>();
  final _passKey = GlobalKey<FormFieldState>();
  bool _autoValidate = false;
  String _email = '';
  String _password = '';
  String _confirmPassword = '';
  bool _creatingNewAccount = false;
  String _loginStatus = 'Enter credentials and tap Sign In.';

  @override
  Widget build(BuildContext context) {
    return
      Form(
      key: _formKey,
      autovalidate: _autoValidate,
//      onWillPop: _onWillPop(),
      child: Center(
        child: Column(
          children: <Widget>[
            Text(
              '$_loginStatus',
            ),
            TextFormField(
              decoration: InputDecoration(
                  border: InputBorder.none,
                  labelText: 'Email',
              ),
              keyboardType: TextInputType.emailAddress,
              validator: validateEmail,
              onSaved: (String val){
                _email = val;
              },
            ),
            TextFormField(
              key: _passKey,
              obscureText: true,
              decoration: const InputDecoration(
                labelText: 'Password',
              ),
              validator: (String value) {
                if (value.trim().isEmpty) {
                  return 'Password is required';
                }
                return null;
              },
              onSaved: (String val){
                _password = val;
              },
            ),
            Visibility(
              visible: _creatingNewAccount,
              child: TextFormField(
                  obscureText: true,
                  decoration: const InputDecoration(
                    labelText: 'Confirm Password',
                  ),

                  validator: (String value) {
                    if (value.trim().isEmpty) {
                      return 'Confirm password is required';
                    }
                    else if (value.compareTo(_passKey.currentState.value) != 0){
                      return "Passwords don't match";
                    }
                    return null;
                  },
                  onSaved: (String val){
                    _password = val;
                  },
                ),
            ),
            RaisedButton(
              onPressed: () async {
                // Validate returns true if the form is valid, or false
                // otherwise.
                if (_formKey.currentState.validate()) {

                  _formKey.currentState.save();

                  // If the form is valid, display a Snackbar.
                  Scaffold.of(context)
                      .showSnackBar(SnackBar(content: Text('Attempting Login')));

                  String status = await CloudSync().login(_email, _password);

                  // If the widget was removed from the tree while the asynchronous platform
                  // message was in flight, we want to discard the reply rather than calling
                  // setState to update our non-existent appearance.
                  if (!mounted) return;

                  setState(() {
                    _loginStatus = status;
                  });
                }
                else {
                  _autoValidate = true;
                }
              },
              child: Text(_creatingNewAccount ? 'Create new account and sign in.' : 'Sign in'),
            ),
            RaisedButton(
              onPressed: () {
                // If the widget was removed from the tree while the asynchronous platform
                // message was in flight, we want to discard the reply rather than calling
                // setState to update our non-existent appearance.
                if (!mounted) return;
                setState(() {
                  _creatingNewAccount = !_creatingNewAccount;
                });
              },
              child: Text(_creatingNewAccount ? 'Go back to regular login' : 'Create new account'),
            ),
          ],
        ),
      ),
    );
  }

  _onWillPop() {
    Navigator.of(context).pop({'login_status': _loginStatus});
  }

  String validateEmail(String value) {
    Pattern pattern =
        r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$';
    RegExp regex = new RegExp(pattern);
    if (!regex.hasMatch(value))
      return 'Enter Valid Email';
    else
      return null;
  }
}

Target Platform: Android and iOS
Target OS version/browser:
Devices: . simulator/emulator
Logs

LOGS

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building Navigator-[GlobalObjectKey<NavigatorState> _WidgetsAppState#8a91f](dirty, state: NavigatorState#32593(tickers: tracking 2 tickers)):
'package:flutter/src/widgets/navigator.dart': Failed assertion: line 2328 pos 12: '!_debugLocked': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=BUG.md

User-created ancestor of the error-causing widget was:
  MaterialApp file:///Users/bradytrexler/FlutterProjects/microbiometer/lib/main.dart:13:12
When the exception was thrown, this was the stack:
#2      NavigatorState.build (package:flutter/src/widgets/navigator.dart:2328:12)
#3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4064:27)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3958:15)
#5      Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
#6      StatefulElement.update (package:flutter/src/widgets/framework.dart:4143:5)
...
════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: #133    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #134    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #135    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #136    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #137    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #138    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #139    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #140    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #141    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5271:32)
flutter: #142    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #143    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #144    _TheatreElement.mount (package:flutter/src/widgets/overlay.dart:593:16)
flutter: #145    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #146    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #147    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #148    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #149    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #150    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #151    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #152    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #153    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #154    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #155    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #156    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #157    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #158    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #159    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #160    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
flutter: #161    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #162    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #163    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #164    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #165    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #166    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #167    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #168    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #169    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #170    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
flutter: #171    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #172    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #173    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
flutter: #174    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #175    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #176    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #177    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #178    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #179    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #180    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #181    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #182    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #183    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #184    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #185    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #186    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #187    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #188    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #189    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #190    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #191    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #192    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #193    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #194    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #195    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #196    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #197    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #198    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #199    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #200    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #201    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #202    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #203    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #204    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #205    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #206    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #207    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #208    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #209    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #210    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #211    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #212    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #213    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #214    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #215    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #216    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #217    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #218    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #219    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #220    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #221    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #222    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #223    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #224    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #225    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #226    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #227    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #228    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #229    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #230    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #231    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #232    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #233    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #234    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #235    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #236    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #237    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #238    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #239    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #240    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #241    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #242    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #243    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #244    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
flutter: #245    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #246    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #247    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #248    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #249    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #250    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #251    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #252    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #253    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #254    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #255    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #256    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #257    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #258    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #259    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #260    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #261    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #262    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #263    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #264    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #265    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #266    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #267    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #268    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #269    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #270    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #271    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #272    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #273    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #274    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #275    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #276    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #277    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5165:14)
flutter: #278    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #279    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #280    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #281    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #282    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #283    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #284    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #285    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #286    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #287    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #288    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #289    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #290    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #291    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #292    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #293    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #294    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #295    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #296    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #297    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #298    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #299    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #300    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #301    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #302    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #303    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #304    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #305    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #306    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #307    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #308    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #309    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #310    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #311    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #312    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #313    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #314    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #315    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #316    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #317    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #318    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #319    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #320    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #321    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4111:11)
flutter: #322    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #323    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #324    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #325    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3978:16)
flutter: #326    Element.rebuild (package:flutter/src/widgets/framework.dart:3755:5)
flutter: #327    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3941:5)
flutter: #328    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3936:5)
flutter: #329    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3109:14)
flutter: #330    Element.updateChild (package:flutter/src/widgets/framework.dart:2903:12)
flutter: #331    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1031:16)
flutter: #332    RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1002:5)
flutter: #333    RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:945:17)
flutter: #334    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2327:19)
flutter: #335    RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:944:13)
flutter: #336    WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:822:7)
flutter: #337    WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:807:7)
flutter: #346    _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19)
flutter: #347    _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
flutter: #348    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
flutter: (elided 8 frames from package dart:async and package dart:async-patch)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506da0eb nw_dictionary_copy + 635
    2   libnetwork.dylib                    0x00007fff50738f14 __nw_path_watch_simulator_network_changes_block_invoke + 52
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthread <…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506d9809 nw_dictionary_apply + 249
    2   libnetwork.dylib                    0x00007fff50738f2e __nw_path_watch_simulator_network_changes_block_invoke + 78
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthrea<…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506da0eb nw_dictionary_copy + 635
    2   libnetwork.dylib                    0x00007fff50738f14 __nw_path_watch_simulator_network_changes_block_invoke + 52
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthread <…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506d9809 nw_dictionary_apply + 249
    2   libnetwork.dylib                    0x00007fff50738f2e __nw_path_watch_simulator_network_changes_block_invoke + 78
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthrea<…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506da0eb nw_dictionary_copy + 635
    2   libnetwork.dylib                    0x00007fff50738f14 __nw_path_watch_simulator_network_changes_block_invoke + 52
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthread <…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506d9809 nw_dictionary_apply + 249
    2   libnetwork.dylib                    0x00007fff50738f2e __nw_path_watch_simulator_network_changes_block_invoke + 78
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthrea<…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506da0eb nw_dictionary_copy + 635
    2   libnetwork.dylib                    0x00007fff50738f14 __nw_path_watch_simulator_network_changes_block_invoke + 52
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthread <…>
        [x86_64] libnetcore-1880.0.18
    0   libnetwork.dylib                    0x00007fff507a22d8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff506d9809 nw_dictionary_apply + 249
    2   libnetwork.dylib                    0x00007fff50738f2e __nw_path_watch_simulator_network_changes_block_invoke + 78
    3   libsystem_notify.dylib              0x00007fff518be040 notify_set_options + 2203
    4   libdispatch.dylib                   0x00007fff516ba274 _dispatch_block_async_invoke2 + 83
    5   libdispatch.dylib                   0x00007fff516ad781 _dispatch_client_callout + 8
    6   libdispatch.dylib                   0x00007fff516b5452 _dispatch_workloop_invoke + 2522
    7   libdispatch.dylib                   0x00007fff516bdffc _dispatch_workloop_worker_thread + 626
    8   libsystem_pthread.dylib             0x00007fff518d1763 _pthread_wqthread + 290
    9   libsystem_pthread.dylib             0x00007fff518d15c3 start_wqthrea<…>

Analyzing microbiometer...

warning • The asset directory assets/graphics/ does not exist •
       build/app/intermediates/flutter/debug/android-x86/flutter_assets/ios/Flutter/App.framework/flutter_assets/pubspec.yaml:55:7 •
       asset_directory_does_not_exist
warning • The asset directory assets/graphics/ does not exist •
       build/app/intermediates/merged_assets/debug/out/flutter_assets/ios/Flutter/App.framework/flutter_assets/pubspec.yaml:55:7 •
       asset_directory_does_not_exist
warning • The asset directory assets/graphics/ does not exist • build/flutter_assets/ios/Flutter/App.framework/flutter_assets/pubspec.yaml:55:7 •
       asset_directory_does_not_exist
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:8:14 • non_constant_identifier_names
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:9:14 • non_constant_identifier_names
   info • The declaration '_url_cookies' isn't referenced • lib/cloud_sync.dart:9:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:10:14 • non_constant_identifier_names
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:11:14 • non_constant_identifier_names
   info • The declaration '_url_to_logout' isn't referenced • lib/cloud_sync.dart:11:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:12:14 • non_constant_identifier_names
   info • The declaration '_url_to_register' isn't referenced • lib/cloud_sync.dart:12:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:13:14 • non_constant_identifier_names
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:14:14 • non_constant_identifier_names
   info • The declaration '_url_to_add' isn't referenced • lib/cloud_sync.dart:14:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:15:14 • non_constant_identifier_names
   info • The declaration '_url_to_upload_new' isn't referenced • lib/cloud_sync.dart:15:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:16:14 • non_constant_identifier_names
   info • The declaration '_url_to_update' isn't referenced • lib/cloud_sync.dart:16:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:17:14 • non_constant_identifier_names
   info • The declaration '_url_to_update_many' isn't referenced • lib/cloud_sync.dart:17:14 • unused_element
   info • Name non-constant identifiers using lowerCamelCase • lib/cloud_sync.dart:18:14 • non_constant_identifier_names
   info • The declaration '_url_to_syncDownloadSamples' isn't referenced • lib/cloud_sync.dart:18:14 • unused_element
   info • The value of the field '_isSessionValid' isn't used • lib/cloud_sync.dart:40:8 • unused_field
   info • The value of the field '_connectionReset' isn't used • lib/cloud_sync.dart:41:8 • unused_field
   info • The declaration '_updateLastDownloadedDate' isn't referenced • lib/cloud_sync.dart:89:3 • unused_element
   info • The value of the field '_confirmPassword' isn't used • lib/login.dart:29:10 • unused_field
   info • The declaration '_onWillPop' isn't referenced • lib/login.dart:144:3 • unused_element
   info • Unused import: 'dart:io' • lib/sample.dart:6:8 • unused_import
   info • Unused import: 'package:path/path.dart' • lib/sample.dart:7:8 • unused_import
   info • Unused import: 'package:sqflite/sqflite.dart' • lib/sample.dart:8:8 • unused_import
   info • Unused import: 'package:path_provider/path_provider.dart' • lib/sample.dart:9:8 • unused_import

31 issues found. (ran in 3.6s)

flutter doctor -v
[✓] Flutter (Channel beta, v1.10.7, on Mac OS X 10.15 19A602, locale en-US)
    • Flutter version 1.10.7 at /Users/bradytrexler/flutter
    • Framework revision e70236e36c (3 weeks ago), 2019-10-02 09:32:30 -0700
    • Engine revision 9e6314d348
    • Dart version 2.6.0 (build 2.6.0-dev.0.0<PHONE_NUMBER>)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/bradytrexler/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/bradytrexler/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.1, Build version 11A1027
    • CocoaPods version 1.8.3

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 40.2.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.39.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.5.1

[✓] Connected device (1 available)
    • iPhone 8 Plus • 210B32CD-47E3-4379-B3AB-AD0C781936A3 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-1 (simulator)

• No issues found!

Hi @ebtrexler
given your last message I feel safe to close this issue,
if you disagree please write in the comments
and I will reopen it.
Thank you


Fix text rendering

This fixes pText being cut off on the bottom and right side

Closing because of big issues i need to fix that i only found now


Gracefully handle missing permissions / methods

Currently we do not allow a user to create a wallet if it has missing permissions.
e.g. if list_transactions is not supported, only show an error on the transactions list that "List Transactions is not supported by your wallet.".
e.g. if pay_invoice is not supported, only fail when attempting to make a payment. This allows for receive-only wallets.

But what should be the hard requirements? get_balance and one of make_invoice / pay_invoice?
And what is better:

Greying out the Send button (or)
Showing error toast when trying to attempt a payment (Showing This app does not have the pay_invoice scope error)

And similarly hardcoding a "This wallet doesn't support listing transactions" over showing error
I personally feel showing less errors is better, but that would mean writing if/else code for these cases

I think just error toasts for a first iteration is ok! it is low effort and fixes the main issue.


Get rid of TypeReferencePrefix marker from J.VariableDeclarations

This part of https://github.com/openrewrite/rewrite-kotlin/issues/477
To get rid of  TypeReferencePrefix marker from J.VariableDeclarations.
Here are 3 TypeReferencePrefix use cases
1. Variable declaration statement in a block
class Test {
    var t /*C0*/ : /*C1*/ Int = 1 /*C2*/  ; /*C3*/
    fun method() {}
}

For this, this PR changes the spaces locations from
// "C0" -> Marker of `TypeReferencePrefix`
// "C1" -> prefix of typeExpression
// "C2" -> right padding of variable

to
// "C0" -> right padding of variable
// "C2" -> right padding of variable of the statement

2. Variable declaration as Parameters
fun method ( input /*C0*/ : Any = 1 /*C2*/ , x : Int ) {
    return "42"
}

Change from
// "C0" : marker of `TypeReferencePrefix`
// "C2" : right padding of the statement

to
// "C0" : right padding of variable
// "C2" : right padding of the statement

3. Method return type
fun method () /*C3*/ :  Int {
    return 42
}

This is not covered by this PR.

Here are 3 TypeReferencePrefix use cases

I think there's been a misunderstanding, the reason I mentioned return types on method declarations and that we'll need someone to check the LST for other cases is that there are other positions for TypeTree where a : may exist. There is at least one additional case, and I haven't checked on any others.


sbt plugin repo returns 404 Not Found

https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/

anyone working on this?

I'm working on it.
resolvers += Resolver.url("fix-sbt-plugin-releases", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

should work as a temporary workaround. (We can't promise the URL will always be dl.bintray.com)

Also creating a ~/.sbt/repositories file with
[repositories]
  bintray-sbt-plugin-releases: http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

will fix it without having to change project/plugins.sbt. Especially helpful if you have a lot of different projects.

Is this issue related? (Maybe it is just not yet synced on bintray, though the release was more than 24 hours ago.)

@aborg0 no.   This is actually an issue with the linked scoverage package moving around in bintray.  I have some legwork to do to correct that.

This issue is now resolved.

@eed3si9n What's the solution? I'm still getting these errors on Travis CI. Do I need a newer sbt or some extra configuration?

No workaround should be required at this point. Could you try undoing any workarounds, and clearing the Travis cache?
It's downloading from wrong URL (note "simple"): http://repo.scala-sbt.org/scalasbt/simple/sbt-plugin-releases/de.johoop/sbt-testng-interface_2.11/3.0.2/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /home/travis/.ivy2/local/de.johoop/sbt-testng-interface_2.11/3.0.2/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/de/johoop/sbt-testng-interface_2.11/3.0.2/sbt-testng-interface_2.11-3.0.2.pom
[warn] ==== sonatype-snapshots: tried
[warn]   https://oss.sonatype.org/content/repositories/snapshots/de/johoop/sbt-testng-interface_2.11/3.0.2/sbt-testng-interface_2.11-3.0.2.pom
[warn] ==== scala-sbt simple releases: tried
[warn]   http://repo.scala-sbt.org/scalasbt/simple/sbt-plugin-releases/de.johoop/sbt-testng-interface_2.11/3.0.2/ivys/ivy.xml

@eed3si9n My other branches are running on the old Travis infrastructure (which doesn't support caching) and do not have the workaround. They fail the same way (e.g. https://travis-ci.org/slick/slick/builds/72990052)

hmm. what's adding that simple to the URL?

Maybe the most interesting thing about the problem with sbt-testng-interface: This is happening in a cross-build for Scala 2.10 and 2.11. sbt resolves the plugin without issues when building for 2.10 and then fails to resolve the same plugin when switching to 2.11.

@eed3si9n How can we move this ahead? This problem breaks all Slick CI builds at the moment.

@szeiger It's just a bug on the test-ng plugin, see this line: https://github.com/sbt/sbt-testng-interface/blob/master/plugin/src/main/scala/de/johoop/testngplugin/TestNGPlugin.scala#L33-L34
Just add the correct scala-sbt repo to your resolvers and your build should pass.

Thanks, I'll give it a try. Why did it work before the migration and why does it only fail on the 2nd resolver run of the cross build? Is there a redirect missing in the new repo setup?

No, it was using an unsupported URL (i.e. a domain name we do not have any control over and a URL we did not support or redirect).
It probably fails on 2nd resolution because the first time it hits the cache.
artifactoryonline.com is owned by JFrog and we can't run a redirection server in front of their servers.

Hm, no luck, it doesn't even try the resolver. Am I doing something wrong here? https://travis-ci.org/slick/slick/builds/73405601 https://github.com/slick/slick/commit/29d11c1f20edae06564fff1824655282d4ff1060

Never mind, it works. The resolver is needed at the project level, not the plugin level: https://travis-ci.org/slick/slick/builds/73421612

Created https://github.com/sbt/sbt-testng-interface/pull/8 to fix this at the source

I am trying to build chisel3
I see in projects/plugins.sbt
resolvers += Resolver.url("scalasbt", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases")) (Resolver.ivyStylePatterns)
The URL is broken. I replaced it with https://dl.bintray.com/sbt/sbt-plugin-releases
Yet I see that I get this
[info] Loading settings from plugins.sbt ... [info] Loading project definition from /home/sathya/riscv/rocket-chip/chisel3/project [info] Updating ProjectRef(uri("file:/home/sathya/riscv/rocket-chip/chisel3/project/"), "chisel3-build")... [warn] 	:::::::::::::::::::::::::::::::::::::::::::::: [warn] 	::          UNRESOLVED DEPENDENCIES         :: [warn] 	:::::::::::::::::::::::::::::::::::::::::::::: [warn] 	:: org.scalastyle#scalastyle-sbt-plugin;1.0.0: Resolution failed several times for dependency: org.scalastyle#scalastyle-sbt-plugin;1.0.0 {compile=[default(compile)]}::  [warn] 	typesafe-ivy-releases: unable to get resource for org.scalastyle#scalastyle-sbt-plugin;1.0.0: res=https://repo.typesafe.com/typesafe/ivy-releases/org.scalastyle/scalastyle-sbt-plugin/scala_2.12/sbt_1.0/1.0.0/ivys/ivy.xml: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [warn] 	sbt-plugin-releases: unable to get resource for org.scalastyle#scalastyle-sbt-plugin;1.0.0: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scalastyle/scalastyle-sbt-plugin/scala_2.12/sbt_1.0/1.0.0/ivys/ivy.xml: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [warn] 	public: unable to get resource for org/scalastyle#scalastyle-sbt-plugin;1.0.0: res=https://repo1.maven.org/maven2/org/scalastyle/scalastyle-sbt-plugin_2.12_1.0/1.0.0/scalastyle-sbt-plugin-1.0.0.pom: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [warn] 	sbt-plugin-releases: unable to get resource for org.scalastyle#scalastyle-sbt-plugin;1.0.0: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scalastyle/scalastyle-sbt-plugin/scala_2.12/sbt_1.0/1.0.0/ivys/ivy.xml: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty [warn] 	:: org.scoverage#sbt-scoverage;1.5.1: Resolution failed several times for dependency: org.scoverage#sbt-scoverage;1.5.1 {compile=[default(compile)]}::
I am new to scala and want to get going with building my application. Can you please let me know what I am missing?

@sathyajitb Your error says "javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty", which is a known issue on Linux. See https://stackoverflow.com/questions/6784463/error-trustanchors-parameter-must-be-non-empty for various workarounds posted.
If you're still stuck, please open a new question on Stackoverflow with exact reproduction steps instead.


Remove unused '--project' arg from mocha command line

By unfortunate coincidence, I used 'test-utils' as the template for my tooling and began replicating this unused argument.

Were there any other pickups? Like the -r node_modules/@fluid-internal/mocha-test-setup?

@jason-ha - Good thought.
I reviewed for stray tests not using a '.spec.ts'.  There are none in this set of packages.  In the wider repo, I found some mocha-driven benchmarks using '.bench.ts'.  I'll try adding some non-robust scanning to my tool to warn about these so we can fix them as we go.  I also filed a work item to integrate this into policy-check.
AFAIK 'mocha-test-setup' should be universal.  It does nice things to improve diagnostics and I only see a couple packages in the client repo not currently using.  Most I recognize as ancient/unloved packages that haven't been maintained in quite a while.  I'll follow up on the one or two I don't recognize.


Update Gradle syntax in docs

Replace the legacy "compile" scope with "implementation". This matches Maven Central's recommended syntax:
https://central.sonatype.com/artifact/org.pkl-lang/pkl-core

Thanks!


Organize the failing message of GAE

The GAE reports many code backtrace, compilation error directed to user, which is hard to identify where the true error resides.
Maybe we could first grab the message and do some processing, extracting and refining to be more user-friendly,
even better, we guide user how to fix them.

Logs from many workers are aggregated and streamed to the client for debugging. Won't fix if there is no appropriate proposal.


self-hosted app does not working.

Describe the bug
self-hosted app does not working.
To Reproduce
Steps to reproduce the behavior:

git clone git@github.com:flagsmith/self-hosted.git
docker-compose -f self-hosted/docker-compose.yml up
Go to the port app is running (8000)
no content show

docker logs is below.
flagsmith-self-hosted-flagsmith-1            | WARNINGS:
flagsmith-self-hosted-flagsmith-1            | ?: (axes.W002) You do not have 'axes.middleware.AxesMiddleware' in your settings.MIDDLEWARE.
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [1] [INFO] Starting gunicorn 20.1.0
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [1] [INFO] Listening at: http://<IP_ADDRESS>:8000 (1)
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [1] [INFO] Using worker: gthread
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [12] [INFO] Booting worker with pid: 12
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [13] [INFO] Booting worker with pid: 13
flagsmith-self-hosted-flagsmith-1            | [2023-11-28 06:07:21 +0000] [14] [INFO] Booting worker with pid: 14
Expected behavior
Display home page
Screenshots

How are you running Flagsmith?

[ v ] Self Hosted with Docker
[ ] Self Hosted with Kubernetes
[ ] SaaS at flagsmith.com
[ ] Some other way

Additional context
Add any other context about the problem here.

I have the same issue

We're looking into it - looks related to the index.html consolidation

This has been resolved.

Not yet, which branch should I checkout to ?

You shouldn't need to checkout any other branches. It should just work (it is working here for me). Can you share the network tab and look for a call to https://edge.api.flagsmith.com/api/v1/flags please?

In the response, you should see the following:
    {
        "feature": {
            "type": "STANDARD",
            "name": "announcement",
            "id": 54542
        },
        "enabled": false,
        "feature_state_value": "{}"
    }

oh, it works, thanks

I also checked it.
This has been solved.
Thank you. :)

@mfv-brian Please raise a separate issue or send a message in our discord channel