Detect and correct relative links on sync

When a (for example, GitHub) repository is used for project data, any relative links (most likely, embedded images) stop working correctly on Dribdat. The process should discreetly correct this, converting relative links to absolute by prepending the project's root URL.
Thanks to @ichessblumen for pointing it out at #twist2018

Although this was partly addressed for images in #138 the issue still remains a problem for some users.

Relative images are working fine, relative links can be fixed with the same approach.


Bar series is bar width is not adjusted when xAxis is time and min/max is defined

Version
4.3.0
Reproduction link
https://codesandbox.io/s/echarts-showhide-labels-in-bars-e6y1x
Steps to reproduce

xAxis must be time and define min/ max that are greater than the series date range

What is expected?
I expect the series bar width to be adjusted based on the min/ max constraints.
What is actually happening?
The bars are not resized and overlap each other.

This issue has been planed to fix in milesstone 4.5.0

Invalid issue. That is not the codesandbox I intended to share.


Bootstrap & Front End Responsive Frameworks Research

Research Front End Responsive Frameworks and Bootstrap.
Understand Current Implementation of Bootstrap in MyWebClass.
Create a Wiki Page on the research which includes the improvements recommendations for MyWebClass.

Based on the  project structure, Bootstrap is already implemented and being used for styling myWebClass website. Here's a brief explanation of the current implementation and some minimal improvements we can make in Sprint1.

Bootstrap CSS: In scss/styles.scss file, we're importing Bootstrap's SCSS files. This means we're using the source files of Bootstrap, which allows us to customize the default styles and utilize Bootstrap's mixins and variables.

Bootstrap JavaScript: In your src/js/main.js file, you're importing Bootstrap's JavaScript components. These components are responsible for adding interactivity to your website, like modals, dropdowns, and more.

To understand the current implementation, you can start by exploring the following:

HTML Structure: Review the index.html file to see how Bootstrap's grid system and utility classes are being used to create a responsive layout.

SCSS Customization: Check the scss/styles.scss file to see how the project imports Bootstrap's SCSS files and how you can customize the default styles.

JavaScript Components: Look into the src/js/main.js file to see how Bootstrap's JavaScript components are being imported and initialized.

Some minimal improvements we can make within first Sprint:

Improve Accessibility: Ensure that your website follows accessibility best practices. Add aria-* attributes, use semantic HTML tags, and ensure proper keyboard navigation.
Optimize Images: Compress images to reduce their file size, which will result in faster page load times. You can use online tools like TinyPNG or ImageOptim for this task.
Customize Bootstrap: Update the scss/styles.scss file to customize Bootstrap's default styles. You can change colors, fonts, and other visual elements by overriding Bootstrap's variables or adding your own CSS rules.
Update Bootstrap Components: If you're using any deprecated or older Bootstrap components, update them to use the latest version of the components.
Mobile-First Approach: Review your website on smaller screens (mobile devices) and ensure the layout and user experience are optimized for those devices. Make any necessary adjustments to improve the mobile experience.

Remember to test our changes on different devices and screen sizes to ensure the improvements work as expected.


Lots of little changes

Fix misspelling of categories (previously it was catagories)
Add Redis caching support to cache results from the API for performance gains
Enable HTTPS
Update to version 3 of the API
Remove unnecessary callbacks
package.json has been expanded and is now valid

Thanks also goes to @ashking for the original version 3 + categories URL fixes!

So glad you guys got to this! I have been intending on going back and adding API3 support for weeks. Bravo! I won't have time to review this and update npm until next week. If nobody else @Coding-House does in the meantime, please ping me.

@Coding-House Might also be a good idea to rename this package to just crunchbase, as API V2 has been shut down for quite some time...

That was something else I had thought to suggest. It may actually better for you to make your fork the official repo for CrunchbaseV3, since I think I am the only one who regularly pays attention to this one.

@RichardCzechowski Okay, that's fine. Will do that momentarily.

@RichardCzechowski Done! About to publish to npm. I added you as a contributor to the Github repo. Going to close this PR now.
New fork can be found here

@robbiet480 thanks! I really appreciate it.

@robbiet480 Thanks for the updates! Much appreciated :+1:


Windows PortableApps.com PAF format portable version

Would there be any chance the portable version could be packaged in the PortableApps.com PAF format and published to their directory so it can be downloaded, installed and updated easily by us PortableApps users?
http://portableapps.com/development/portableapps.com_format
(Their website seems to be having a moment, so I'd look at that page in a few hours or days).

It should be do-able (the paths to use e.g. for configuration are set in SyncTrayzor.exe.config, so they can be tweaked without recompiling), but I can't say I've ever created a PAF format application before. I'll take a closer look when I get some free time (or feel free to get something working, and I can integrate it into the build system :wink:)

Right, there's very little motivation on my end to do this: I'm not a portable apps user.
If you can put together an example of what needs to happen - what needs to be packed where, and what the paths need to be changed to in SyncTrayzor.exe.config, I'm more than happy to automate it and make it part of the build process.

Just registering my interest in this issue.  Unfortunately I have no experience of the creating a PAF format application and it doesn't look like a 5 minute job, if I get some spare time I will see if I can work out an example.

PortableApps is awesome even if you don't need portability on a USB key.
It reduces management overhead of a Windows instance.

All your apps installed and upgraded with a single process
It makes software just as easy to manage as files
** If you re-image your Windows or change machines, you just move your PortableApps directory (or restore from backup), and voilà, you are ready to go.
** Deleting an app is as simple as deleting the directory and there is no residue (ex. phantom dlls)
Looking for an app? The apps are vetted by a community and if one turns nasty, it's excluded.

Please see benefits: http://portableapps.com/about/what_is_a_portable_app
This would bring more users to Syncthing.
In the PortableApps ecosystem, there are 900k downloads per week (yes, nearly 1 million per week!)
http://sourceforge.net/projects/portableapps/
I wonder if Syncthing would do a good job of keeping PortableApps software in sync? I suspect this would depend on each software. In any case, it's easy to let each instance upgrade the apps.
Best regards,
M ;-)

The advantages sound similar to chocolatey then.
As I said above, i'm definitely open to having a PortableApps package, but there's no personal motivation: I don't have enough free time to read up on the format when there's no personal gain. If someone else looks into it and makes the necessary tweaks to the config (and figures out what to do with regards to e.g. the auto-upgrade mechanism) I'll be more than happy to integrate it.

I am interested in funding this development. Please contact me directly if you have the skills and interest but need some funding.
Thanks!
(Potential co-funders are welcome as well to contact me)

I've already made a Syncthing Portable: http://portableapps.com/node/54229
Unfortunately SyncTrayzor depends on .NET which isn't portable. Imho the browser is the best portable gui ;)

Fair logic. I'd say most PCs will have at least 4.5.2 on them, but whether or not that's there's a rule against portable apps that may or may not run successfully depending on the setup of the target machine I don't know.

Nice work @2wayne ! I'm looking forward to test your portable version.
By the way, @2wayne and @canton7 , what could be the difference between the portable and the standalone versions of the application?

This issue is solely about having a version which works with PortableApps: they have their own application format, package managers, etc, as far as I understand.
The standalone version of SyncTrayzor will work just fine from a USB stick if you don't use PortableApps.


Edge-based routing without turn cost supporting encoder

When we specify edge_based=true but the encoder does not have |turn_costs=true we get an edge-based algorithm, but the weighting will not be wrapped by TurnWeighting. U-turns will then not be prevented properly.
Should we throw an error if edge_based=true, but !encoder.supports(TurnWeighting.class) ?

Should we throw an error if edge_based=true

Yes, sounds fine.


Feature/preselect country based on browser language

Adds default country select functionality according to issue: #312 Add default user's country selection based on browser language
Read the last two characters from navigation.language and preselect country selects in checkout and my account accordingly.
Example:
Users with a German browser would have de-DE as a language. This would select Germany by default.
sv-SE => Sweden
en-UK => United kingdom
Before & after:
Checkout Shipping

Checkout Shipping (before) (before)

Checkout Payments (after)

Checkout Payments (before)

My account shipping details (after)

My account shipping details (before)

Thanks! WIll be merged to R1.2 (as we're releasing 1.1 this week)

@pkarw Yes of corse. I'll add the case of a two character language code and resolve the conflicts in the coming days

Handling two letter country code fixed
Conflicts sorted out.

Not sure what is causing the Travis CI errors.

11 07 2018 19:43:13.636:ERROR [launcher]: Cannot start Chrome

Thanks! Will merge it next week after holidays :)

@moezzie is this ready to merge? Please take a look at the conficts; after resolving them I'll merge this in!

@moezzie could You please solve the conflict + check this PR once again - I mean please apply your changes to the current master please


NO-ISSUE: Add missing sample CRs, address scorecard suggestions

This update adds sample CRs for Node and NodePool, and adds status fields to other sample CRs that were missing it.
In addition, API markers have been added to spec and status fields where they were previously missing, to address scorecard warnings and suggestions.

/lgtm

/lgtm

/lgtm

/approve


Cluster the features to see how they relate to each other

This might be a helpful way to move past obvious issues with having too many related or redundant features!
It might also be good to cluster per dataset so that we can see whether features have different relationships across datasets.

Closing as this is about a previous version of the project and no longer related to the toolkit


Geometry shader writes to output after EmitVertex();

Look at the attached geometry shader example.
Also attached is the output of translation.
GeomTest.hlsl.txt
GeomTest.GSMain.geom.txt
Notice that EmitVertex(); calls appear before the output values (eg. gl_Position) are written.
This will not work.

I know, the geometry shaders are (just like the tessellation shaders) still in a very unreliable state.

There were a lot of corner cases in your example, but it should be compilable now with the latest commit 020816b37a3b4916b954bb527ba226eb979c6e4c
Using multiple instances (or arrays) of the output structure is still a tricky case for the compiler (i.e. "GSOutput vertex[6]" in your example).
It's much simpler when only a single instance is used, and the "Append" intrinsics are not called in one large bunch at the end of the entry point.


Implement Content-Security-Policy (CSP)

This solves the following report: https://hackerone.com/reports/90777
This policy allows:

Resources from gratipay.com & all gratipay subdomains.
Fonts from cloud.typography.com.

If you like we could allow GIFs from, for example, giphy.com. That way users can at least embed GIFs.
Concerning report-uri.io, you will need to sign up for that and if you have any issues feel free to contact me.

Thanks, @EdOverflow, will review ...

What will be the effect of this on existing legitimate image embeds in user statements? This will cause them to fail, yes?
Why do we need to allow all subdomains of gratipay.com?

What will be the effect of this on existing legitimate image embeds in user statements? This will cause them to fail, yes?

Yep, this will block all existing external images. One option could be to allow some image hosting sites (imgur, giphy, etc.).

Why do we need to allow all subdomains of gratipay.com?

We don't need to allow all subdomains. I thought this may come in handy for future use, but if you prefer I can specify assets.gratipay.com.

I thought this may come in handy for future use, but if you prefer I can specify assets.gratipay.com.

I think we should keep the set to a minimum and expand as needed. Any caching or other issues to consider if/when adding new subdomains in the future?

Yep, this will block all existing external images. One option could be to allow some image hosting sites (imgur, giphy, etc.).

This is the bigger issue. We should probably start with a survey/census of existing usage: how many users would be affected? Are there a small set of domains that account for 99% of the usage? Can you do that from the outside, @EdOverflow? Or can you suggest a SQL query I can run for you against our database?
If there are enough users affected, then we should probably wait for Camo (H1-140387)—unless we have other options? I don't like the idea of breaking images for a significant number of users for what amounts to a theoretical security risk.

I think we should keep the set to a minimum and expand as needed.

I am in total agreement. The updated CSP is more specific. Scott Helme, the owner of report-uri.io, has told me in the past that it's better to specify each individual resource.
'script-src assets.gratipay.com;'
'style-src assets.gratipay.com;'

For the time being the CSP allows all images: img-src *;. I'll look into a better solution. :)

I like it. Let's add another test_ahtr_ in tests/py/test_security.py and then I think we're good to go. 👍

Voilà! 😃

Sweet!💃
I am merging into a local branch for some final cleanup. You should really make that onboarding ticket so we can get you properly set up here. :-)


Add someone to GitHub

GitHub ID to add:  https://github.com/ckpaliwal
Lab to be added to: https://github.com/hyperledger-labs/fabric-operations-console
Role:

Write

Invite sent to @ckpaliwal


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 1.3.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


drivers:video: Add some video controls ID

Add some commom camera's control: VIDEO_CID_CAMERA_EXPOSURE_AUTO, VIDEO_CID_CAMERA_GAIN_AUTO, VIDEO_CID_CAMERA_WHITE_BAL_AUTO, VIDEO_CID_JPEG_COMPRESSION_QUALITY

@loicpoulain Hello，Does the video control need other modification?

It looks good, but you can keep that into your arducam PR, the point was about having a different commit for generic video control, not a different PR.

We will merge it to arducam PR


Error installing pynitrokey w/ Python 3.11

I just tried to install pynitrokey, but the installation failed with re.error.
$ pipx install pynitrokey
Fatal error from pip prevented installation. Full pip output in file:
    /home/user/.local/pipx/logs/cmd_2023-07-11_16.25.11_pip_errors.log

pip failed to build package:
    cmsis-pack-manager

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    re.error: global flags not at the start of the expression at position 9

Error installing pynitrokey.

The cmd.log:
   140.5ms (setup:799): 2023-07-11 16:25:11
   140.6ms (setup:800): /home/user/tmp/nitropy/bin/pipx install pynitrokey
   140.7ms (setup:801): pipx version is 1.2.0
   140.7ms (setup:802): Default python interpreter is '/home/user/tmp/nitropy/bin/python'
   142.1ms (package_name_from_spec:322): Determined package name: pynitrokey
   142.2ms (package_name_from_spec:323): Package name determined in 0.0s
   142.7ms (run_subprocess:173): running /home/user/tmp/nitropy/bin/python -m venv --without-pip /home/user/.local/pipx/venvs/pynitrokey
   185.6ms (run_subprocess:186): stdout:
   185.7ms (run_subprocess:188): stderr:
   185.7ms (run_subprocess:189): returncode: 0
   186.1ms (run_subprocess:173): running /home/user/.local/pipx/venvs/pynitrokey/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
   207.7ms (run_subprocess:186): stdout: /home/user/.local/pipx/venvs/pynitrokey/lib/python3.11/site-packages
   207.8ms (run_subprocess:189): returncode: 0
   208.2ms (run_subprocess:173): running /home/user/.local/pipx/shared/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
   228.4ms (run_subprocess:186): stdout: /home/user/.local/pipx/shared/lib/python3.11/site-packages
   228.4ms (run_subprocess:189): returncode: 0
   228.8ms (run_subprocess:173): running /home/user/.local/pipx/venvs/pynitrokey/bin/python --version
   231.9ms (run_subprocess:186): stdout: Python 3.11.4
   232.0ms (run_subprocess:188): stderr:
   232.0ms (run_subprocess:189): returncode: 0
   232.3ms (_parsed_package_to_package_or_url:147): cleaned package spec: pynitrokey
   232.7ms (run_subprocess:173): running /home/user/.local/pipx/venvs/pynitrokey/bin/python -m pip install pynitrokey
178040.8ms (run_subprocess:189): returncode: 1
178041.0ms (subprocess_post_check_handle_pip_error:335): '/home/user/.local/pipx/venvs/pynitrokey/bin/python -m pip install pynitrokey' failed
178041.3ms (subprocess_post_check_handle_pip_error:352): Fatal error from pip prevented installation. Full pip output in file:
    /home/user/.local/pipx/logs/cmd_2023-07-11_16.25.11_pip_errors.log
178046.2ms (analyze_pip_output:298): pip failed to build package:
    cmsis-pack-manager
178046.5ms (rmdir:55): removing directory /home/user/.local/pipx/venvs/pynitrokey
178047.3ms (cli:866): PipxError: Error installing pynitrokey.
Traceback (most recent call last):
  File "/home/user/tmp/nitropy/lib/python3.11/site-packages/pipx/main.py", line 863, in cli
    return run_pipx_command(parsed_pipx_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/tmp/nitropy/lib/python3.11/site-packages/pipx/main.py", line 214, in run_pipx_command
    return commands.install(
           ^^^^^^^^^^^^^^^^^
  File "/home/user/tmp/nitropy/lib/python3.11/site-packages/pipx/commands/install.py", line 60, in install
    venv.install_package(
  File "/home/user/tmp/nitropy/lib/python3.11/site-packages/pipx/venv.py", line 253, in install_package
    raise PipxError(
pipx.util.PipxError: Error installing pynitrokey.
178055.1ms (cli:874): pipx finished.

The relevant part in the pip_errors.log seems to be:
[...]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-0_jthvp7/cmsis-pack-manager_6832c02299354638bcced6cbfc7574a6/setup.py", line 55, in <module>
          setup(
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 343, in run
          self.run_command("build")
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/home/user/.local/pipx/shared/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-0_jthvp7/cmsis-pack-manager_6832c02299354638bcced6cbfc7574a6/.eggs/milksnake-0.1.5-py3.11.egg/milksnake/setuptools_ext.py", line 88, in run
          func(base_path=base_path, inplace=False)
        File "/tmp/pip-install-0_jthvp7/cmsis-pack-manager_6832c02299354638bcced6cbfc7574a6/.eggs/milksnake-0.1.5-py3.11.egg/milksnake/setuptools_ext.py", line 276, in build_cffi
          ffi = make_ffi()
                ^^^^^^^^^^
        File "/tmp/pip-install-0_jthvp7/cmsis-pack-manager_6832c02299354638bcced6cbfc7574a6/.eggs/milksnake-0.1.5-py3.11.egg/milksnake/setuptools_ext.py", line 262, in make_ffi
          from milksnake.ffi import make_ffi
        File "/tmp/pip-install-0_jthvp7/cmsis-pack-manager_6832c02299354638bcced6cbfc7574a6/.eggs/milksnake-0.1.5-py3.11.egg/milksnake/ffi.py", line 8, in <module>
          _directive_re = re.compile(r'^\s*#.*?$(?m)')
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/__init__.py", line 227, in compile
          return _compile(pattern, flags)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/__init__.py", line 294, in _compile
          p = _compiler.compile(pattern, flags)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/_compiler.py", line 743, in compile
          p = _parser.parse(p, flags)
              ^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/_parser.py", line 980, in parse
          p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/_parser.py", line 455, in _parse_sub
          itemsappend(_parse(source, state, verbose, nested + 1,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.11/re/_parser.py", line 841, in _parse
          raise source.error('global flags not at the start '
      re.error: global flags not at the start of the expression at position 9

nitropy requires Python 3.9 or 3.10.

https://docs.nitrokey.com/software/nitropy/all-platforms/installation.html
Sorry, I totally missed that for some reason.

Let’s keep this open as we want to support 3.11 at some point (and we actually advertise it in the package metadata).  Currently, it looks like this is the blocker: https://github.com/getsentry/milksnake/issues/33

This should be fixed with 0.4.39.  I was able to install pynitrokey with Python 3.11.4 on Alpine.


flutter test always loading and timeout after minutes.

Just run flutter test and it will reproduce, I don't know how to trigger the problem, but every time after restarting the computer, it is solved, and it reappears in the next day.
Thanks.
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.5, on Mac OS X 10.15.7 19H2026 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[!] Xcode - develop for iOS and macOS (Xcode 12.4)
    ✗ Flutter requires Xcode 13 or higher.
      Download the latest version or update via the Mac App Store.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] Android Studio (version 2021.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.1)
[✓] VS Code (version 1.71.2)
[✓] VS Code (version 1.48.2)
[!] Proxy Configuration
    ! NO_PROXY is not set
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 2 categories.

here is the log:
flutter test --verbose
[  +75 ms] executing: sysctl hw.optional.arm64
[  +12 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[   +5 ms] executing: [/usr/local/Caskroom/flutter/3.0.5/flutter/] git -c
log.showSignature=false log -n 1 --pretty=format:%H
[   +9 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] f1875d570e39de09040c8f79aa13cc56baab8db1
[        ] executing: [/usr/local/Caskroom/flutter/3.0.5/flutter/] git tag --points-at
f1875d570e39de09040c8f79aa13cc56baab8db1
[  +13 ms] Exit code 0 from: git tag --points-at f1875d570e39de09040c8f79aa13cc56baab8db1
[        ] 3.0.5
[   +8 ms] executing: [/usr/local/Caskroom/flutter/3.0.5/flutter/] git rev-parse --abbrev-ref
--symbolic @{u}
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/usr/local/Caskroom/flutter/3.0.5/flutter/] git ls-remote --get-url
origin
[   +6 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +87 ms] executing: [/usr/local/Caskroom/flutter/3.0.5/flutter/] git rev-parse --abbrev-ref
HEAD
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[   +4 ms] executing: sw_vers -productName
[  +14 ms] Exit code 0 from: sw_vers -productName
[        ] Mac OS X
[        ] executing: sw_vers -productVersion
[  +12 ms] Exit code 0 from: sw_vers -productVersion
[        ] 10.15.7
[        ] executing: sw_vers -buildVersion
[  +13 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 19H2026
[        ] executing: uname -m
[   +4 ms] Exit code 0 from: uname -m
[        ] x86_64
[  +51 ms] Found 3 files which will be executed as Widget Tests.
[   +8 ms] 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.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +38 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' 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.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +44 ms] Skipping pub get: version match.
[  +40 ms] Found plugin path_provider at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0
.11/
[   +4 ms] Found plugin path_provider_android at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_and
roid-2.0.20/
[   +3 ms] Found plugin path_provider_ios at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios
-2.0.11/
[   +2 ms] Found plugin path_provider_linux at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_lin
ux-2.1.7/
[   +1 ms] Found plugin path_provider_macos at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_mac
os-2.0.6/
[   +2 ms] Found plugin path_provider_windows at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_win
dows-2.1.3/
[   +5 ms] Found plugin sqflite at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.0.3+1/
[  +31 ms] Found plugin integration_test at
/usr/local/Caskroom/flutter/3.0.5/flutter/packages/integration_test/
[  +49 ms] Found plugin path_provider at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0
.11/
[   +1 ms] Found plugin path_provider_android at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_and
roid-2.0.20/
[   +1 ms] Found plugin path_provider_ios at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios
-2.0.11/
[        ] Found plugin path_provider_linux at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_lin
ux-2.1.7/
[   +1 ms] Found plugin path_provider_macos at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_mac
os-2.0.6/
[   +1 ms] Found plugin path_provider_windows at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_win
dows-2.1.3/
[   +3 ms] Found plugin sqflite at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.0.3+1/
[  +12 ms] Found plugin integration_test at
/usr/local/Caskroom/flutter/3.0.5/flutter/packages/integration_test/
[  +57 ms] Generating
/path/to/project/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegi
strant.java
[  +32 ms] executing: sysctl hw.optional.arm64
[   +2 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[        ] executing: xcrun xcodebuild -version
[ +549 ms] Exit code 0 from: xcrun xcodebuild -version
[   +1 ms] Xcode 12.4
           Build version 12D4e
[ +128 ms] Manifest contained wildcard assets. Inserting missing file into build graph to
force rerun. for more information see #56466.
[   +8 ms] running test package with arguments: [-r, compact, --timeout, 30s,
--concurrency=14, --chain-stack-traces, --,
/path/to/project/test/database/entry_test.dart,
/path/to/project/test/service/crypto_test.dart,
/path/to/project/test/service/password_test.dart]
00:00 +0: loading /path/to/project/test/database/entry_test.dart                [ +174 ms] test 0: starting test /path/to/project/test/database/entry_test.dart
[   +5 ms] Stopping scan for flutter_test_config.dart; found project root at
/Users/chenjunxu/data/www/app
[   +3 ms] Compiler will use the following file as its incremental dill file:
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_compiler.pI
cZ0p/output.dill
[        ] Listening to compiler controller...
[  +11 ms] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.fP89eO/listener.dart
[  +22 ms] Found plugin path_provider at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0
.11/
[   +1 ms] Found plugin path_provider_android at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_and
roid-2.0.20/
[   +2 ms] Found plugin path_provider_ios at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios
-2.0.11/
[   +1 ms] Found plugin path_provider_linux at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_lin
ux-2.1.7/
[   +1 ms] Found plugin path_provider_macos at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_mac
os-2.0.6/
[   +1 ms] Found plugin path_provider_windows at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_win
dows-2.1.3/
[   +2 ms] Found plugin sqflite at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.0.3+1/
[  +13 ms] Found plugin integration_test at
/usr/local/Caskroom/flutter/3.0.5/flutter/packages/integration_test/
[  +13 ms] /usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/dart-sdk/bin/dart
--disable-dart-dev
/usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dar
t.snapshot --sdk-root
/usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/artifacts/engine/common/flutter_patched_sd
k/ --incremental --no-print-incremental-dependencies --target=flutter --debugger-module-names
--experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_compiler.pI
cZ0p/output.dill --packages /path/to/project/.dart_tool/package_config.json
-Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation
--initialize-from-dill
/path/to/project/build/test_cache/build/c075001b96339384a97db4862b8ab8db.cache.di
ll.track.dill --source
/path/to/project/.dart_tool/flutter_build/dart_plugin_registrant.dart --source
package:flutter/src/dart_plugin_registrant.dart
-Dflutter.dart_plugin_registrant=file:///path/to/project/.dart_tool/flutter_build
/dart_plugin_registrant.dart
[   +3 ms] test 1: starting test /path/to/project/test/service/crypto_test.dart
[   +1 ms] Stopping scan for flutter_test_config.dart; found project root at
/Users/chenjunxu/data/www/app
[        ] test 2: starting test /path/to/project/test/service/password_test.dart
[   +1 ms] Stopping scan for flutter_test_config.dart; found project root at
/Users/chenjunxu/data/www/app
[  +35 ms] <- compile
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.fP89eO/listener.dart
00:01 +0: loading /path/to/project/test/database/entry_test.dart                [+1566 ms] <- accept
[        ] <- reset
[        ] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.fP89eO/listener.dart took 1667ms
[        ] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.4VEDCt/listener.dart
[        ] test 0: starting test device
[   +4 ms] test 0: awaiting connection to test device
[  +14 ms] Found plugin path_provider at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0
.11/
[   +1 ms] Found plugin path_provider_android at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_and
roid-2.0.20/
[        ] Found plugin path_provider_ios at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios
-2.0.11/
[        ] Found plugin path_provider_linux at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_lin
ux-2.1.7/
[        ] Found plugin path_provider_macos at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_mac
os-2.0.6/
[   +1 ms] Found plugin path_provider_windows at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_win
dows-2.1.3/
[   +2 ms] Found plugin sqflite at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.0.3+1/
[   +8 ms] Found plugin integration_test at
/usr/local/Caskroom/flutter/3.0.5/flutter/packages/integration_test/
[   +2 ms] test 0: Observatory uri is not available
[   +4 ms] test 0: test harness socket server is running at port:51172
[   +3 ms] executing: sysctl hw.optional.arm64
[   +3 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[   +1 ms] Using this directory for fonts configuration:
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_fonts.egZUN
Y
[        ] test 0: Starting flutter_tester process with
command=[/usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/artifacts/engine/darwin-x64/flutt
er_tester, --disable-observatory, --enable-checked-mode, --verify-entry-points,
--enable-software-rendering, --skia-deterministic-rendering, --enable-dart-profiling,
--non-interactive, --use-test-fonts,
--packages=/path/to/project/.dart_tool/package_config.json,
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_listener.fP
89eO/listener.dart.dill], environment={FLUTTER_TEST: true, FONTCONFIG_FILE:
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_fonts.egZUN
Y/fonts.conf, SERVER_PORT: 51172, APP_NAME: teampassword, UNIT_TEST_ASSETS:
/path/to/project/build/unit_test_assets}
[   +3 ms] <- recompile
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.4VEDCt/listener.dart 049e6e64-fe6f-4713-ae75-7cbc6d18206c
[        ]
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.4VEDCt/listener.dart
[        ]
file:///path/to/project/.dart_tool/flutter_build/dart_plugin_registrant.dart
[        ] <- 049e6e64-fe6f-4713-ae75-7cbc6d18206c
[   +3 ms] test 0: Started flutter_tester process at pid 53102
[ +188 ms] <- accept
[        ] <- reset
[        ] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.4VEDCt/listener.dart took 248ms
[        ] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.6yGKm2/listener.dart
[        ] test 1: starting test device
[        ] test 1: awaiting connection to test device
[   +9 ms] Found plugin path_provider at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0
.11/
[        ] Found plugin path_provider_android at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_and
roid-2.0.20/
[        ] Found plugin path_provider_ios at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_ios
-2.0.11/
[        ] Found plugin path_provider_linux at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_lin
ux-2.1.7/
[        ] Found plugin path_provider_macos at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_mac
os-2.0.6/
[        ] Found plugin path_provider_windows at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_win
dows-2.1.3/
[   +1 ms] Found plugin sqflite at
/usr/local/Caskroom/flutter/3.0.5/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-2.0.3+1/
[   +6 ms] Found plugin integration_test at
/usr/local/Caskroom/flutter/3.0.5/flutter/packages/integration_test/
[   +1 ms] test 1: Observatory uri is not available
[        ] test 1: test harness socket server is running at port:51175
[   +3 ms] executing: sysctl hw.optional.arm64
[   +2 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[        ] test 1: Starting flutter_tester process with
command=[/usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/artifacts/engine/darwin-x64/flutt
er_tester, --disable-observatory, --enable-checked-mode, --verify-entry-points,
--enable-software-rendering, --skia-deterministic-rendering, --enable-dart-profiling,
--non-interactive, --use-test-fonts,
--packages=/path/to/project/.dart_tool/package_config.json,
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_listener.4V
EDCt/listener.dart.dill], environment={FLUTTER_TEST: true, FONTCONFIG_FILE:
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_fonts.egZUN
Y/fonts.conf, SERVER_PORT: 51175, APP_NAME: teampassword, UNIT_TEST_ASSETS:
/path/to/project/build/unit_test_assets}
[   +1 ms] <- recompile
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.6yGKm2/listener.dart 284b450f-f76f-47c2-ac24-14f1974286d8
[        ]
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.6yGKm2/listener.dart
[        ]
file:///path/to/project/.dart_tool/flutter_build/dart_plugin_registrant.dart
[        ] <- 284b450f-f76f-47c2-ac24-14f1974286d8
[   +1 ms] test 1: Started flutter_tester process at pid 53106
00:02 +0: loading /path/to/project/test/database/entry_test.dart                [ +170 ms] <- accept
[        ] <- reset
[        ] Compiling
file:///var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_list
ener.6yGKm2/listener.dart took 203ms
[        ] test 2: starting test device
[        ] test 2: awaiting connection to test device
[        ] test 2: Observatory uri is not available
[        ] test 2: test harness socket server is running at port:51176
[   +3 ms] executing: sysctl hw.optional.arm64
[   +3 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[        ] test 2: Starting flutter_tester process with
command=[/usr/local/Caskroom/flutter/3.0.5/flutter/bin/cache/artifacts/engine/darwin-x64/flutt
er_tester, --disable-observatory, --enable-checked-mode, --verify-entry-points,
--enable-software-rendering, --skia-deterministic-rendering, --enable-dart-profiling,
--non-interactive, --use-test-fonts,
--packages=/path/to/project/.dart_tool/package_config.json,
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_listener.6y
GKm2/listener.dart.dill], environment={FLUTTER_TEST: true, FONTCONFIG_FILE:
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_fonts.egZUN
Y/fonts.conf, SERVER_PORT: 51176, APP_NAME: teampassword, UNIT_TEST_ASSETS:
/path/to/project/build/unit_test_assets}
[   +2 ms] test 2: Started flutter_tester process at pid 53109
[ +191 ms] test 0: connected to test device, now awaiting test result
[        ] test 0: Waiting for test harness or tests to finish
[ +155 ms] test 1: connected to test device, now awaiting test result
[        ] test 1: Waiting for test harness or tests to finish
[ +173 ms] test 2: connected to test device, now awaiting test result
[        ] test 2: Waiting for test harness or tests to finish
12:00 +0 -1: loading /path/to/project/test/database/entry_test.dart [E]
  TimeoutException after 0:12:00.000000: Test timed out after 12 minutes.
  package:test_api/src/backend/invoker.dart 334:28  Invoker._handleError.<fn>
  dart:async/zone.dart 1418:47                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 332:10  Invoker._handleError
  package:test_api/src/backend/invoker.dart 288:9   Invoker.heartbeat.<fn>.<fn>
  dart:async/zone.dart 1426:13                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 287:38  Invoker.heartbeat.<fn>
  dart:async-patch/timer_patch.dart 18:15           Timer._createTimer.<fn>
  dart:isolate-patch/timer_impl.dart 398:19         _Timer._runTimers
  dart:isolate-patch/timer_impl.dart 429:5          _Timer._handleMessage
  dart:isolate-patch/isolate_patch.dart 192:12      _RawReceivePortImpl._handleMessage

12:00 +0 -2: loading /path/to/project/test/service/crypto_test.dart [E]
  TimeoutException after 0:12:00.000000: Test timed out after 12 minutes.
  package:test_api/src/backend/invoker.dart 334:28  Invoker._handleError.<fn>
  dart:async/zone.dart 1418:47                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 332:10  Invoker._handleError
  package:test_api/src/backend/invoker.dart 288:9   Invoker.heartbeat.<fn>.<fn>
  dart:async/zone.dart 1426:13                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 287:38  Invoker.heartbeat.<fn>
  dart:async-patch/timer_patch.dart 18:15           Timer._createTimer.<fn>
  dart:isolate-patch/timer_impl.dart 398:19         _Timer._runTimers
  dart:isolate-patch/timer_impl.dart 429:5          _Timer._handleMessage
  dart:isolate-patch/isolate_patch.dart 192:12      _RawReceivePortImpl._handleMessage

12:00 +0 -3: loading /path/to/project/test/service/password_test.dart [E]
  TimeoutException after 0:12:00.000000: Test timed out after 12 minutes.
  package:test_api/src/backend/invoker.dart 334:28  Invoker._handleError.<fn>
  dart:async/zone.dart 1418:47                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 332:10  Invoker._handleError
  package:test_api/src/backend/invoker.dart 288:9   Invoker.heartbeat.<fn>.<fn>
  dart:async/zone.dart 1426:13                      _rootRun
  dart:async/zone.dart 1328:19                      _CustomZone.run
  package:test_api/src/backend/invoker.dart 287:38  Invoker.heartbeat.<fn>
  dart:async-patch/timer_patch.dart 18:15           Timer._createTimer.<fn>
  dart:isolate-patch/timer_impl.dart 398:19         _Timer._runTimers
  dart:isolate-patch/timer_impl.dart 429:5          _Timer._handleMessage
  dart:isolate-patch/isolate_patch.dart 192:12      _RawReceivePortImpl._handleMessage

12:00 +0 -3: Some tests failed.
[+717426 ms] Deleting
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_compiler.pI
cZ0p...
[   +5 ms] killing pid 53091
[  +40 ms] Deleting
/var/folders/6p/r9djvd5n1_x2k35d_cdjd8l40000gn/T/flutter_tools.QzeiAB/flutter_test_fonts.egZUN
Y...
[   +4 ms] test package returned with exit code 1
[  +11 ms] "flutter test" took 721,454ms.
[   +6 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      TestCommand.runCommand (package:flutter_tools/src/commands/test.dart:471:7)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command.dart:1183:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure>
           (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand
           (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure>
(package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure>
           (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:94:3)
           <asynchronous suspension>

[ +257 ms] ensureAnalyticsSent: 253ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1

Based on the logs,it is similar to https://github.com/flutter/flutter/issues/105913, so please follow-up in it for further updates.
Closing as duplicate.


DOCK-2194: Improve .dockstore.yml validation

Description
This PR improves the validation of .dockstore.yml by adding constraint validation annotations to the YAML classes and properties thereof, which the validator uses to confirm the integrity of the annotated values.
Previously  .dockstore.yml was validated in full, at the beginning of the .dockstore.yml import process.  Thusly, any constraint violations, even those on the values of a constituent entry, would cause the import process to immediately fail.
This PR modifies the validation code so that optionally, only the non-entry portions of the .dockstore.yml can be validated, allowing each entry to be validated separately, later in the inner workflow import loop, so that any entry-specific constraint violations can be handled gracefully and not short-circuit the import process.
To achieve the [optionally] partial validation, the original plan was to place @Valid annotations on the entries, each including a group which we could use to control whether or not the validator descended into the entries to validate them.  However, quite inexplicably and much to my chagrin, the @Valid annotation does not support groups like the other validation annotations, making it unusable for this purpose.
Instead, to perform a partial validation that excludes the entries, we perform a full validation, and filter the entry-related violations from the resulting list.  Yes, it's hacky, but it works.  This was the best method I could come up with, but if we discover something better, it's easy to replace.
In dockstore-common, constraint annotation-specific code now resides in the package io.dockstore.common.yaml.constraints, and I've created a class io.dockstore.common.ValidationConstants which is houses constants used for validation (regular expressions, limits, etc), so that they are visible to the YAML validation code, webservice, CLI, etc...
Conspicuously absent are validations that confirm absolute paths.  They would be easy to add, and IMHO, they should be included.  However, the last time I tried to add them, in another PR, there was major pushback, so...
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-2194
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Conspicuously absent are validations that confirm absolute paths. They would be easy to add, and IMHO, they should be included. However, the last time I tried to add them, in another PR, there was major pushback, so...

Can you link this so if we forget (or are unfamiliar), someone reading through PRs can see how they're related and/or see the background

Conspicuously absent are validations that confirm absolute paths. They would be easy to add, and IMHO, they should be included. However, the last time I tried to add them, in another PR, there was major pushback, so...

Can you link this so if we forget (or are unfamiliar), someone reading through PRs can see how they're related and/or see the background

Please see the edit in the description.

Conspicuously absent are validations that confirm absolute paths. They would be easy to add, and IMHO, they should be included. However, the last time I tried to add them, in another PR, there was major pushback, so...

Can you link this so if we forget (or are unfamiliar), someone reading through PRs can see how they're related and/or see the background

Please see the edit in the description. In the process leading up to the linked PR, I'd actually proposed to convert relative paths to absolute paths (fairly mild from the user's POV, relative to a failed validation), and it did not make it in...

During development of the linked PR, I think there was some support for a solution which would reject entries containing relative paths, if we could notify the owners of offending repos and/or patch the repos.  When we checked, if I remember correctly (which I may not), there were 30-or-so third party repos that contained at least one entry with a relative primary descriptor.  I (and Charles?) thought this was too many to manually address, thus the compromise in the PR.
Since any new restrictions in our import rules may cause some previously-accepted entries to fail to import on the next push, we probably should consider implementing some type of notification system (in the dashboard?) that tells the responsible users about the problem.

FWIW, that all sounds reasonable. My main point here was much more minor, when referring to something that is happening/discussed in a previous PR/issue, do link to it since it may not be obvious over time.
https://xkcd.com/979/


feat: add create and get cluster api test cases

Signed-off-by: cmyscoups<EMAIL_ADDRESS>run command: gabbi-run -v all <IP_ADDRESS> -- test/api/create_get_cluster.yaml

Codecov Report

Merging #488 (10b2eb1) into release-1.3 (dc4100f) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           release-1.3     #488   +/-   ##
============================================
  Coverage        12.23%   12.23%
============================================
  Files              110      110
  Lines            16874    16874
============================================
  Hits              2064     2064
  Misses           14563    14563
  Partials           247      247

/lgtm
/approve


Decouple the jupyterlab npm package and the jupyterlab pypi package version numbers

Since the pypi package depends on external packages that themselves depend on the npm package, we have this really weird dependency problem.
We can also split the repos up. Or not hardcode the widgets extension when we get true third-party extensions.

The ipywidgets lab extension exposed this issue.

Hmm, this sounds nasty, would be a good topic for the next dev meeting. Let's try to use this "Needs Discussion" tag for items to discuss at those meetings (Friday 9am)

The third party extensions work will make this obsolete, so I'm closing this. We've already disabled widgets in the current notebook anyway.


use Time.Now().UTC() in flushReporter

I noticed we are using Time.Now().UTC() in other places, just not here. Alternative to #28.

Unnecessary, Unix() already means UTC.


When defining properties for route objects, I need to understand in which order they are executed

List of route properties:

redirect
action
component
bundle
path

Currently there is no documentation on which order of execution will take place for different properties specified.
Also, the router code treats properties differently: it does not allow to specify both action and component but does allow redirect and action even though they won't be executed both.
We need to straighten this out, add docs and tests.

path property is not really considered in the order, because it is processed separately and always first, in order to determine which route to use.
The other properties' evaluation order might be the following:

bundle
action (if action returns something, ignore the rest and process its result)
redirect
component (i.e. render the page)

Main ideas that lead to this order are:

component should be the last one: it's considered as a fallback if nothing else had worked. Since redirect and component mutually exclude each other, we might additionally either throw an exception when both are specified or reconsider the API and replace both with destination property or similar
action always should be before redirect because otherwise it would be impossible to cover use cases like "gather statistics on redirect links visits"

Considering those assumptions, the only three possible orders left are:

the proposed one

or

action
bundle
redirect
component

or

action
redirect
bundle
component

Both alternatives can have a case where specified bundle won't be loaded.
In my opinion, if a user explicitly specified some property, it's better to evaluate it, that's why the proposed order is more preferable.
Additionally, the proposed order allows users to validate if bundles have loaded without any errors.

To me it looks like the redirect should come before the bundle. As a developer, I don't suppose that I have to wait for loading something in case I will be redirected after all.
It would be nice to have console.warn in case if we have both redirect and component, or redirect and bundle present at the same time.

I've thought about this also and wondered on why would you specify both redirect and bundle for the same route if you don't want to have anything loaded before the redirect? :)
The only situation I can think of is:
{
  path: '/users', bundle: test.js,
  children: [
    {path: '/u/:user', redirect: '/user/:user'},
    {path: '/user/:user', component: 'x-user-profile'}
  ]
},

but even in this case I think it's better to be explicit than implicit and ask users to disable bundle loading with bundle: null for the redirect route.
As for the console.warn, it's a nice idea.

Scenario 1: redirect
router.setRoutes([
  {path: '/u/:user', redirect: '/user/:user'},
  {path: '/user/:user', component: 'x-user-profile'},
]);

Why would someone needs to combine a redirect with something else? I'd suggest to document what happens if one does so, but not to optimize for this case.
Scenario 2: collect stats on redirects
router.setRoutes([
  {path: '/', action: async(context) => {
    var result = await context.next();
    if (result.route.redirectFrom) {
      recordRedirect({
        from: result.route.redirectFrom,
        to: result.route.pathname
      });
    }
  }},
  {path: '/',
    children: [
      {path: '/', component: 'x-home-view'},
      {path: '/u/:user', redirect: '/user/:user'},
      {path: '/user/:user', component: 'x-user-profile'},
    ]
  },
]);

The redirect stats would probably be collected on all routes or on a sub-tree of routes, rarely just on one single route.
Scenario 3: redirect inside a bundle
router.setRoutes([
  {
    path: '/users', bundle: 'users-bundle.js',
    children: [
      {path: '/:user', redirect: '/u/:user'},
    ]
  },
]);

Such cases look like a routes config issue: the router would load the bundle only to discover that it needs to redirect to anther route. The best would be to skip bundle loading in this case (but I do not see how to implement that in practice since at the time when the parent route with the bundle property is resolved, the router does no know yet that the child route would redirect). At least, we should warn the developer (with a console.warn() or throw an Error when this happens, or better when such routes config is defined). If this adds too much to the bundle size, we might consider providing different dev and production bundles where safety checks are excluded from the production bundle.

My suggestion for the order is:

action
redirect
bundle
component

OK combinations:

action, redirect
action, bundle
action, component
action, bundle, component
bundle, component

NOT OK combinations (should trigger a warning):

redirect, bundle
redirect, component
redirect, bundle, component

Ok, 3 different opinions.
Should we discuss it and come to some consensus or wait for DX test and get user opinions?

Discussed in person. Agreed on the following order from the proposition above:

action
redirect
bundle
component


add react router

Adding React Router

npm install react router
add home components
add navbar components
add calculator components
add quote components

Thank you for the review's


Personal identity

Wow! Brilliant work! My dilemma, stolen identity it's on dark web. Recoverable? I don't work on Alice. Can she restore my life?
Originally posted by @Pacje in https://github.com/intel/dffml/discussions/1406#discussioncomment-8250586

Hello! I don't know anything about identity recovery. Alice is an abstract architecture for an AI we haven't finished yet, so maybe one day! But unfortunately not today.
I wish you the best of luck though!


secrets "chaos-mesh-webhook-certs" not found when creating chaos-controller-manager

Bug Report
What version of Kubernetes are you using?

v1.12.10
What did you do?

cd chaos-mesh
kubectl apply -f manifests/
helm install helm/chaos-mesh --name=chaos-mesh --namespace=chaos-testing
kubectl get pods --namespace chaos-testing -l app.kubernetes.io/instance=chaos-mesh
What did you expect to see?
chaos-controller-manager should be running
What did you see instead?
kubectl describe the chaos-contoller manager, I got below error message
Events:
Warning  FailedMount  100s (x8 over 2m44s)  kubelet, 10-196-108-37  MountVolume.SetUp failed for volume "webhook-certs" : secrets "chaos-mesh-webhook-certs" not found

It is possible that the image is still being downloaded due to a network exception.Maybe you can try it again.
I think we can optimize the process. @cwen0

@Gallardot may I ask which image? I tried it several times and got the same warning message.

i am too facing the same issue with chaos-controller-manager , error is "SetUp failed for volume "webhook-certs" : secret "chaos-mesh-webhook-certs" not found"
also
chaos-daemons fails with mesage "Failed to pull image "pingcap/chaos-daemon:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io"

@wwjgit
Sorry for the late response. bitnami/kubectl:latest will be used when installing Chaos Mesh, Chaos mesh use this image to create the certificate for webhook. So the controller-manager must wait for certificates to start before it can run normally. You also can use cert-manager for certificate management, here is the related document: https://github.com/pingcap/chaos-mesh/tree/master/helm/chaos-mesh#using-cert-manager-for-certificate-management
@Gallardot Maybe we can create a certificate in the controller-manager program at the beginning.  Do you have any good ideas about this optimization?

i am too facing the same issue with chaos-controller-manager , error is "SetUp failed for volume "webhook-certs" : secret "chaos-mesh-webhook-certs" not found"
also
chaos-daemons fails with mesage "Failed to pull image "pingcap/chaos-daemon:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io"

Can you make sure that each Kubernetes node has the access to docker.io?

@Gallardot Maybe we can create a certificate in the controller-manager program at the beginning. Do you have any good ideas about this optimization?

@cwen0
Earlier versions of controller-rumtime implemented the logic you mentioned. They abandoned the implementation because of cert-manager. I have a suggestion to use pre-install of helm hook. I'll try that later.

@wwjgit @shiju-tech
Could you give me more information please？
kubectl version
kubectl get csr chaos-mesh-controller-manager.chaos-testing -o yaml
kubectl get secret chaos-mesh-webhook-certs -n chaos-testing -o yaml

@Gallardot @wwjgit  Thanks for your response.
@Gallardot  please see the info you asked for
kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCom                                                                                mit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:                                                                                "2020-01-18T23:30:10Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd                                                                                64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCom                                                                                mit:"be3d344ed06bff7a4fc60656200a93c74f31f9a4", GitTreeState:"clean", BuildDate:                                                                                "2020-02-11T19:24:46Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd                                                                                64"}
kubectl get csr chaos-mesh-controller-manager.chaos-testing -o yaml
Error from server (NotFound): certificatesigningrequests.certificates.k8s.io "chaos-mesh-controller-manager.chaos-testing" not found
kubectl get secret chaos-mesh-webhook-certs -n chaos-testing -o yaml
Error from server (NotFound): secrets "chaos-mesh-webhook-certs" not found
Let me know if you need more details

kubectl version
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.10", GitCommit:"e3c134023df5dea457638b614ee17ef234dc34a6", GitTreeState:"clean", BuildDate:"2019-07-08T03:50:59Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.6-45+c49c6cc7ec3af7", GitCommit:"c49c6cc7ec3af777e580543db675b2d54533afaf", GitTreeState:"clean", BuildDate:"2019-03-20T07:45:02Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
kubectl get csr chaos-mesh-controller-manager.chaos-testing -o yaml
Error from server (NotFound): certificatesigningrequests.certificates.k8s.io "chaos-mesh-controller-manager.chaos-testing" not found
kubectl get secret chaos-mesh-webhook-certs -n chaos-testing -o yaml
Error from server (NotFound): secrets "chaos-mesh-webhook-certs" not found

@cwen0 I pulled the image bitnami/kubectl:latest manually and still got the same warning message.

@wwjgit Did you pull bitnami/kubectl:latest image on the Node that the webhook job run on it?
In addition, what is the final state of chaos-controller-manager? Is it always in Creating? If so, you can use the kubectl describe command to describe the webhook job and get more information.

@wwjgit About the warning message, @

Did you pull bitnami/kubectl:latest image on the Node that the webhook job run on it?

yes. I only have one node in the cluster. I pulled the image on that node.

In addition, what is the final state of chaos-controller-manager? Is it always in Creating?

yes. It is 'ContainerCreating'.

If so, you can use the kubectl describe command to describe the webhook job and get more information.

sorry, describe which webhook job?

@wwjgit Can you run the following commands to get more information?
kubectl get pod -n chaos-testing -o wide
kubectl get secrets -n chaos-testing

If you found some pods with webhook prefix, can you use kubectl describe pod webhook-xxx -n chaos-testing to check the pod status?

kubectl get pod -n chaos-testing -o wide
NAME                                        READY   STATUS              RESTARTS   AGE   IP            NODE       NOMINATED NODE   READINESS GATES
chaos-collector-database-5f56c7f66-wd2rb    1/1     Running             0          16h   <IP_ADDRESS>   minikube
chaos-controller-manager-7bc9664c9b-qjjp2   0/1     ContainerCreating   0          17h           minikube
chaos-daemon-dgxxv                          1/1     Running             0          17h   <IP_ADDRESS>   minikube
chaos-dashboard-67f68b5764-x2pxs            1/1     Running             0          16h   <IP_ADDRESS>   minikube
kubectl get secrets -n chaos-testing
NAME                                   TYPE                                  DATA   AGE
chaos-controller-manager-token-9jlwl   kubernetes.io/service-account-token   3      17h
chaos-dashboard-token-44wmg            kubernetes.io/service-account-token   3      16h
default-token-hhgrw                    kubernetes.io/service-account-token   3      2d
@cwen0
I can't see any pods with webhook prefix.

@wwjgit
Could you execute the following code on your system?
wget https://raw.githubusercontent.com/logancloud/logan-app-operator/master/scripts/webhook-create-signed-cert.sh

sh webhook-create-signed-cert.sh --service webhook-test --namespace chaos-testing --secret webhook-test

kubectl get secret webhook-test -n chaos-testing -o yaml

The code work like the webhook-certs-job.

@Gallardot
I got webhook-test created.
kubectl get secrets -n chaos-testing
NAME                                   TYPE                                  DATA   AGE
chaos-controller-manager-token-9jlwl   kubernetes.io/service-account-token   3      18h
chaos-dashboard-token-44wmg            kubernetes.io/service-account-token   3      17h
default-token-hhgrw                    kubernetes.io/service-account-token   3      2d1h
webhook-test                           Opaque                                2      38s

apiVersion: batch/v1
kind: Job
metadata:
  name: webhook-certs-job
  namespace: chaos-testing
  labels:
    app.kubernetes.io/name: chaos-mesh
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/instance: chaos-mesh
    app.kubernetes.io/component: webhook-certs-job
    helm.sh/chart: chaos-mesh-dev
  annotations:
    # This is what defines this resource as a hook. Without this line, the
    # job is considered part of the release.
    "helm.sh/hook": pre-install
    "helm.sh/hook-weight": "-2"
    "helm.sh/hook-delete-policy": hook-succeeded
spec:
  template:
    metadata:
      name: webhook-certs-job
    spec:
      restartPolicy: Never
      serviceAccountName: chaos-controller-manager
      containers:
        - name: "chaos-mesh-job-certs"
          image: bitnami/kubectl:latest
          imagePullPolicy: IfNotPresent
          command:
            - "sh"
            - "-c"
            - |
              set -e
              K8S_SERVICE=chaos-mesh-controller-manager
              K8S_SECRET=chaos-mesh-webhook-certs
              K8S_NAMESPACE=chaos-testing

              # test if secret already exists
              certs=$(kubectl get secret ${K8S_SECRET} --ignore-not-found -n ${K8S_NAMESPACE} -o name)

              if [ "${certs}" = "secret/${K8S_SECRET}" ];then
                echo "Secret already exists"
                exit 0
              fi

              csrName=${K8S_SERVICE}.${K8S_NAMESPACE}
              tmpdir=$(mktemp -d)
              echo "Creating certs in tmpdir ${tmpdir} "

              cat <<EOF >> ${tmpdir}/csr.conf
              [req]
              req_extensions = v3_req
              distinguished_name = req_distinguished_name
              [req_distinguished_name]
              [ v3_req ]
              basicConstraints = CA:FALSE
              keyUsage = nonRepudiation, digitalSignature, keyEncipherment
              extendedKeyUsage = serverAuth
              subjectAltName = @alt_names
              [alt_names]
              DNS.1 = ${K8S_SERVICE}
              DNS.2 = ${K8S_SERVICE}.${K8S_NAMESPACE}
              DNS.3 = ${K8S_SERVICE}.${K8S_NAMESPACE}.svc
              EOF

              openssl genrsa -out ${tmpdir}/server-key.pem 2048

              echo "generate csr"
              openssl req -new -key ${tmpdir}/server-key.pem -subj "/CN=${K8S_SERVICE}.${K8S_NAMESPACE}.svc" -out ${tmpdir}/server.csr -config ${tmpdir}/csr.conf

              # clean-up any previously created CSR for our service. Ignore errors if not present.
              kubectl delete csr ${csrName} 2>/dev/null || true

              echo "create CSR"
              # create server cert/key CSR and send to k8s API
              cat <<EOF | kubectl create -f -
              apiVersion: certificates.k8s.io/v1beta1
              kind: CertificateSigningRequest
              metadata:
                name: ${csrName}
              spec:
                groups:
                - system:authenticated
                request: $(cat ${tmpdir}/server.csr | base64 | tr -d '\n')
                usages:
                - digital signature
                - key encipherment
                - server auth
              EOF

              echo "verify CSR"
              # verify CSR has been created
              while true; do
                  kubectl get csr ${csrName}
                  if [ "$?" -eq 0 ]; then
                      break
                  fi
              done

              echo "approve certificats"
              # approve and fetch the signed certificate
              kubectl certificate approve ${csrName}

              # verify certificate has been signed
              for x in $(seq 10); do
                  serverCert=$(kubectl get csr ${csrName} -o jsonpath='{.status.certificate}')
                  if [ ! -z ${serverCert} ]; then
                      echo "not empty"
                      break
                  fi
                  sleep 1
              done

              if [ -z ${serverCert} ]; then
                  echo "ERROR: After approving csr ${csrName}, the signed certificate did not appear on the resource. Giving up after 10 attempts." >&2
                  exit 1
              fi

              echo "start to openssl base64"

              echo ${serverCert} | openssl base64 -d -A -out ${tmpdir}/server-cert.pem

              # create the secret with CA cert and server cert/key
              kubectl create secret generic ${K8S_SECRET} \
                      --from-file=tls.key=${tmpdir}/server-key.pem \
                      --from-file=tls.crt=${tmpdir}/server-cert.pem \
                      --dry-run -o yaml |
                  kubectl -n ${K8S_NAMESPACE} apply -f -
                  sleep 60

@wwjgit Could you please save the above code as a yaml file. for example xxx.yaml
and execute the following
kubectl create -f xxx.yaml
kubectl describe jobs.batch -n chaos-testing

# find a pod with `webhook` prefix.
 kubectl get pod -n chaos-testing -o wide

# get logs
kubectl logs  -f webhook-xxxxxxxxxx

Please forgive me and thank you for your understanding.

@Gallardot It works. chaos-controller-manager is running. Many thanks.

@Gallardot It works. chaos-controller-manager is running. Many thanks.

@wwjgit
It's very strange.I still don't know why helm install doesn't work.What version of helm are you using?
helm version

@shiju-tech
As mentioned above, dose it work for your? Please let me know, Thank you.

@Gallardot
kubectl get secrets -n chaos-testing
chaos-controller-manager-token-7tsh6   kubernetes.io/service-account-token   3      2d1h
default-token-97xpq                    kubernetes.io/service-account-token   3      2d1h
sh.helm.release.v1.chaos-mesh.v1       helm.sh/release.v1                    1      2d1h
webhook-test                           Opaque                                2      57s
kubectl create -f webhook-certs-job.yaml
job.batch/webhook-certs-job created
kubectl describe jobs.batch -n chaos-testing
Name:           webhook-certs-job
Namespace:      chaos-testing
Selector:       controller-uid=71ee59c1-eafb-4c93-b223-06fbdcbc2b26
Labels:         app.kubernetes.io/component=webhook-certs-job
app.kubernetes.io/instance=chaos-mesh
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=chaos-mesh
helm.sh/chart=chaos-mesh-dev
Annotations:    helm.sh/hook: pre-install
helm.sh/hook-delete-policy: hook-succeeded
helm.sh/hook-weight: -2
Parallelism:    1
Completions:    1
Start Time:     Wed, 08 Apr 2020 17:31:31 +0000
Pods Statuses:  1 Running / 0 Succeeded / 0 Failed
Pod Template:
Labels:           controller-uid=71ee59c1-eafb-4c93-b223-06fbdcbc2b26
job-name=webhook-certs-job
Service Account:  chaos-controller-manager
Containers:
chaos-mesh-job-certs:
Image:      bitnami/kubectl:latest
Port:
Host Port:
Command:
sh
-c
set -e
K8S_SERVICE=chaos-mesh-controller-manager
K8S_SECRET=chaos-mesh-webhook-certs
K8S_NAMESPACE=chaos-testing
  # test if secret already exists
  certs=$(kubectl get secret ${K8S_SECRET} --ignore-not-found -n ${K8S_NAMESPACE} -o name)

  if [ "${certs}" = "secret/${K8S_SECRET}" ];then
    echo "Secret already exists"
    exit 0
  fi

  csrName=${K8S_SERVICE}.${K8S_NAMESPACE}
  tmpdir=$(mktemp -d)
  echo "Creating certs in tmpdir ${tmpdir} "

  cat <<EOF >> ${tmpdir}/csr.conf
  [req]
  req_extensions = v3_req
  distinguished_name = req_distinguished_name
  [req_distinguished_name]
  [ v3_req ]
  basicConstraints = CA:FALSE
  keyUsage = nonRepudiation, digitalSignature, keyEncipherment
  extendedKeyUsage = serverAuth
  subjectAltName = @alt_names
  [alt_names]
  DNS.1 = ${K8S_SERVICE}
  DNS.2 = ${K8S_SERVICE}.${K8S_NAMESPACE}
  DNS.3 = ${K8S_SERVICE}.${K8S_NAMESPACE}.svc
  EOF

  openssl genrsa -out ${tmpdir}/server-key.pem 2048

  echo "generate csr"
  openssl req -new -key ${tmpdir}/server-key.pem -subj "/CN=${K8S_SERVICE}.${K8S_NAMESPACE}.svc" -out ${tmpdir}/server.csr -config ${tmpdir}/csr.conf

  # clean-up any previously created CSR for our service. Ignore errors if not present.
  kubectl delete csr ${csrName} 2>/dev/null || true

  echo "create CSR"
  # create server cert/key CSR and send to k8s API
  cat <<EOF | kubectl create -f -
  apiVersion: certificates.k8s.io/v1beta1
  kind: CertificateSigningRequest
  metadata:
    name: ${csrName}
  spec:
    groups:
    - system:authenticated
    request: $(cat ${tmpdir}/server.csr | base64 | tr -d '\n')
    usages:
    - digital signature
    - key encipherment
    - server auth
  EOF

  echo "verify CSR"
  # verify CSR has been created
  while true; do
      kubectl get csr ${csrName}
      if [ "$?" -eq 0 ]; then
          break
      fi
  done

  echo "approve certificats"
  # approve and fetch the signed certificate
  kubectl certificate approve ${csrName}

  # verify certificate has been signed
  for x in $(seq 10); do
      serverCert=$(kubectl get csr ${csrName} -o jsonpath='{.status.certificate}')
      if [ ! -z ${serverCert} ]; then
          echo "not empty"
          break
      fi
      sleep 1
  done

  if [ -z ${serverCert} ]; then
      echo "ERROR: After approving csr ${csrName}, the signed certificate did not appear on the resource. Giving up after 10 attempts." >&2
      exit 1
  fi

  echo "start to openssl base64"

  echo ${serverCert} | openssl base64 -d -A -out ${tmpdir}/server-cert.pem

  # create the secret with CA cert and server cert/key
  kubectl create secret generic ${K8S_SECRET} \
          --from-file=tls.key=${tmpdir}/server-key.pem \
          --from-file=tls.crt=${tmpdir}/server-cert.pem \
          --dry-run -o yaml |
      kubectl -n ${K8S_NAMESPACE} apply -f -
      sleep 60

Environment:  <none>
Mounts:       <none>

Volumes:
Events:
Type    Reason            Age    From            Message

Normal  SuccessfulCreate  2m40s  job-controller  Created pod: webhook-certs-job-c2vx9
kubectl get pod -n chaos-testing -o wide
webhook-certs-job-c2vx9                     0/1     ErrImagePull        0          3m13s
Failed to pull image "bitnami/kubectl:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.xxx.xxx.xxx:53: no such host

helm version
Client: &version.Version{SemVer:"v2.16.5", GitCommit:"89bd14c1541fa93a09492010030fd3699ca65a97", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.5", GitCommit:"89bd14c1541fa93a09492010030fd3699ca65a97", GitTreeState:"clean"}

Failed to pull image "bitnami/kubectl:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.xxx.xxx.xxx:53: no such host

@shiju-tech
Can you make sure that each Kubernetes node has the access to docker.io?

helm version
Client: &version.Version{SemVer:"v2.16.5", GitCommit:"89bd14c1541fa93a09492010030fd3699ca65a97", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.5", GitCommit:"89bd14c1541fa93a09492010030fd3699ca65a97", GitTreeState:"clean"}

@wwjgit
I install the v2.16.5 helm, but I can't reproduce the error.  😂

@Gallardot chaos-mesh is running perfectly on my system. I will let you know if that happens again. Thanks a lot for the help.

@Gallardot  issue seems with my company proxy , will let you know , once it is fixed

@Gallardot  the issue is fixed , i gave access to every node by enabling the  proxies to  pull the image from docker.io  , thank you

@wwjgit  @shiju-tech
I'll close the issue. If you have any questions, please feel free to reopen it.


Feature Responsive: Incorporation of Bootstrap JS

This is a quick PR that incorporates the compiled bootstrap js library into the MLab through Require.js.
Since we are utilizing Require.js, it also became apparent to me that we needed to move the bootstrap js library into what requirejs could access and use, not to mention to have all libs in one place.
I think a future task could be to do a little directory restructuring after the responsive feature that moves images, fonts, SASS/CSS, and js into a consolidated "assets" directory.  This would be more in line with how bootstrap organizes their files and I think there are some advantages to doing that.
Until that dir re-structure happens though, I think its best to have the bootstrap library in /js/libs/ directory for now.

This change is

Comments from Reviewable


Max Repeating Players

I want to have 3 players be unique each lineup so optimizer.set_max_repeating_players(3)  but I also want at least 1 wr be unique each lineup. Any suggestions as to how I can do this?

I know my above comment is incorrect :)


Error to execute cargo func run

Steps to reproduce
If you follow the README steps:
cargo func new-app hello
cd hello
cargo func new http -n hello
cargo build
cargo func run

Expected  behavior
It should start locally
Actual behavior
But I got this:
carlosb@carlosb-UX530UX:~/rust-workspace/hello|master⚡
⇒  cargo func run
🚀 spawning 'cargo' to initialize script root: cargo run -- init --script-root /tmp/script-root.rsHpjy4jI4V2 --sync-extensions ✓
    Finished dev [unoptimized + debuginfo] target(s) in 0.06s
     Running `target/debug/hello init --script-root /tmp/script-root.rsHpjy4jI4V2 --sync-extensions`
🚀 spawning 'func' to start the Azure Functions Host: func host start --port 8080 ✗
error: failed to spawn func: No such file or directory (os error 2)
ensure the Azure Functions Core Tools are installed.
carlosb@carlosb-UX530UX:~/rust-workspace/hello|master⚡

Environment information (OS, versions, etc.)
Ubuntu Mint 19.1 (Ubuntu 18.04), clean installation, rust nightly 1.38

Hi @carlosb1.
Did you install the Azure Functions Core Tools and a .NET Core SDK for your platform?
If so, is the func tool from the Azure Functions Core Tools on your PATH?

Sorry... I didn't check the reqs..

Sorry another time.... I installed all the dependencies:
core net sdk -> https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.301
azure functions library -> https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local#linux
And also I verified that I had installed the rust library:
cargo install azure-functions-sdk
Doing a normal workflow (As a commented in a clean installation), I got:
 Running `target/debug/hello init --script-root /tmp/script-root.QpN4kzj9xkBp --sync-extensions`

🚀 spawning 'func' to start the Azure Functions Host: func host start --port 8080 ✓
Can't determin project langauge from files. Please use one of [--csharp, --javascript, --typescript, --java, --python, --powershell]

I'll take a look.  I really hope the latest version of the core tools didn't break us.

That appears to be the case.  I'm looking into a workaround while I file a bug on the Azure Functions team.

@carlosb1 if possible, could you downgrade your Azure Functions Core Tools to 2.7.1373?
I don't know if that's possible with your package manager (I don't use Ubuntu).  If you installed via npm, you can do npm install -g<EMAIL_ADDRESS>That should work around the issue.

Thanks! I will try...

I've filed https://github.com/Azure/azure-functions-core-tools/issues/1448 to track the issue with the core tools.

@peterhuene  with npm it works fine!

Hi @carlosb1.  The Azure Functions Core Tools team have released a new version that should fix the issue.  Please upgrade to 2.7.1480 when you get a chance.
Thanks!