Transform the HCA data and metadata to CellxGene format with the Lattice flattener

As a data curator for HCA DCP, I would like to easily transform the metadata and data from ingest in a format suitable for submission to CellxGene.
see initial discussion
Acceptance criteria:
Take a look for the flattener here: https://github.com/Lattice-Data/lattice-tools/blob/main/scripts/flattener.py

Take a look here: https://github.com/Lattice-Data/lattice-tools/blob/main/scripts/flattener.py

[ ] Dev work (?)
[ ] Run the 1 example project files through the flattener

I have discovered this script which leads me to think that some work has already begun on this.
Looking at the current script I think automating this will be at least a little complicated because:

The flattener needs R installed on the local machine
The flattener is designed to be ran as a script not a module

Not just because it is using __main__ but because sys.exit is widely used in the event of errors

The flattener is not packaged in any way

I have started a fork in ebi-ait here to address some of these issues.
I will need some more information from @Wkt8 as per the input format to the flattener and the mapping between our schema and that

There is a little error co

@jacobwindsor has started to investigate this, and needs more info on the mapping of metadata attributes

New repo for this https://github.com/ebi-ait/ingest-cellxgene-submitter

The Lattice flattener might need editing from us, let's chat after standup or today about next steps

Closing this in favour of #687


Hide files and subtrees without changes

Fixes https://github.com/xfbs/diff.rs/issues/44
Just had my first look at the project and put together this quick PR. Checks whether or not an entry has changes (added a helper function for this) and skips it when creating the tree if necessary. Please let me know if there is a more idiomatic way to tackle this.
Best regards!

Sounds like a good idea, thanks!
I know that some people use diff.rs just to browse crate contents, I think this might break those workflows.
What I would suggest is adding a small checkbox up top of the file tree, something like "[  ] hide unchanged". If that is activated, use this to hide unchanged files (basically replace the if ... with a if hide_unchanged && ... Then both workflows would work (and people could toggle it if they want to read another unchanged file, to get some context, for example).
How does that sound?

Sounds really good. I'll see if I can implement this tomorrow. I would keep the "hide unchanged" behavior activated by default. I think this should represent how it was before.

I think what we did before (which maybe achieved a similar effect) was to collapse folders by default. That would hide a lot of the files that didn't change. I don't think we had a feature to hide files that didn't change before (but I might be mistaken).
I took your PR as inspiration and added a button to toggle it. I'm not quite sure if it's a good default to hide unchanged files.
GitHub does that (when you look at a commit like this, it only shows the files that have changed).
I am just worried that this breaks the use-case for people using it to view just the contents of a crate (basically diffing a version with itself), because then it would just show zero files.
I think the default for the diff view could be to only show changed files, but if diffing a version against itself, it should default to showing all files. Then both use-cases are happy.
I'll leave the default to show all files for now, until we get the default-collapsed-folder feature back working, and later we can revisit it and see what makes sense?


Extra 0 causing MismatchSenderId on Android

My sender ID is set in AndroidManifest.xml as:
      <meta-data android:name="com.wix.reactnativenotifications.gcmSenderId" android:value="930984384327\0"/>

Sending to the device ID generated yields a MismatchSenderId error from FCM. Debugging in GcmToken.java, getSenderIdFromManifest() is returning "9309843843270" -- note the extra trailing 0. If I hardcode the value as "930984384327" in the Java code, everything works.
How can I set a value in AndroidManifest.xml so it doesn't have the trailing 0? Removing the trailing \0 (null) doesn't work -- it causes getSenderIdFromManifest() to return null.

Hi @KrisBraun,
Can you please try setting up your AndroidManifest.xml file by providing gcm_sender_id as a string resource.
     <meta-data android:name="com.wix.reactnativenotifications.gcmSenderId" android:value="@string/your_gcm_id"/>
<string>930984384327</string>
Thanks

Yes! That works.
Any idea why adding the value directly as described in the readme failed for me? Just wondering if there's anything to fix or document so that the next person doesn't hit the same issue.
This solution is fine for me. Thank you for taking the time to suggest it!

Android installation instructions "Step #2" should be updated to reflect correct manifest configuration settings.

Removing trailing 0 helps:
https://github.com/wix/react-native-notifications/issues/245


Add tracer option to the optimize pass

Fixes #53
Changes made:

Modifies the optimize function to return back a Maybe (NonEmptyArray BackendExpr) value in addition to BackendExpr where the Maybe value is either Nothing if tracing is disabled or Just if tracing is enabled. The array stores the discrete optimization steps from the original expression (head) to the optimized one (last).
Adds a printer to BackendExpr that currently only prints the BackendSyntax part of the constructors. The outputted language/format will no doubt change once feedback is received. It's newline-heavy so as to make each BackendExpr/BackendSyntax constructor more obvious. There's a lot of discussion still be to be here about how to do this well and whether any additional preprocessing step should be done.
Adds a --trace CLI flag to the purs-backend-es binary, which will enable tracing for all modules and output output/Module.Name/optimization-steps.txt with the contents of the printSteps function.
Adds a --trace CLI flag to the purs-backend-es test code, which will enable the output for only Snapshot modules. Here --trace can either output its content to stdout or to snapshot-out/Module.Name--optimization-steps.txt.

Once again, I expect a number of these things to change as additional feedback is received. The work done thus far is largely getting the initial boilerplate out of the way.

Questions to answer:

Main question - how should BackendExpr be printed such that it's readable, consistent, and highlights the important parts we care about? For current printer output of current snapshots, see https://github.com/aristanetworks/purescript-backend-optimizer/pull/55/commits/8389735723e7d7bcd05e03648e02048b5f42ec40
When outputting the printed trace steps to the terminal where ANSI colors can be used (as opposed to just a file), where and how should we use color to highlight/emphasize things?
Eventual question to answer - what configuration options should be exposed in the CLI and how should they interact? Right now, I only support enabling/disabling. There's no interplay with existing CLI flags (e.g. purs-backend-es' test program's filter arg).


Cumbersome storage testing

It is impractical to delete recordings to generate them again, better pass a flag when testing to overwrite.

Fixed in https://github.com/Azure/azure-sdk-for-go/pull/674


Legion/GasNET: not identical behavior on multiple nodes

I have a CFD solver based on Legion. I am testing multi-node capability using GasNET on NASA Pleiades supercomputer. GasNET is built in release.
Issue
I don't get the same behavior going from 1 node to 2 nodes:

1 node with GasNET linked to Legion is identical to Legion without GasNET
2 nodes with GasNET linked to Legion produces different results

The solutions are compared by computing an error value at the end of the simulation and thus does not involve dumping the solution into HDF5.

Please compile the runtime with detailed Legion Spy support and then produce a Legion Spy trace for the two node case that reproduces the issue. If you need directions on how to do this please tell me which build system you are using.

following Wonchan's recommendation, getting rid of reduction operations solved the issue

I am using the cmake build system

So we think that non-deterministic ordering of reduction applications is responsible for the difference? That kind of error would only show up in the least significant bits of data due to floating point round-off error. Is that consistent with what you were seeing?

no the difference cannot be explained by round-off errors

Ok, then I would still like to see a Legion Spy trace. Add this to your cmake build line:
cmake -DCMAKE_CXX_FLAGS="-DLEGION_SPY" ... and run with -level legion_spy=2 -logfile log_%.spy in your command line. We need to run as small a problem (both spatially and temporally) as possible in order to reproduce the problem. Please upload the log files from a run that produces the "wrong answer" here.

so I am afraid this issue cannot be reproduced in debug

I didn't say to use debug, you only need legion spy support.

In the past I was told to use debug when using legion spy. Let me try again.

legion_spy_failed_run.zip
This was the smallest I could do that failed

I just had a private conversation with @bandokihiro and it looks like there is a bug in his reduction operator; his non-exclusive implementation is not thread safe, which could lead to all sorts of correctness issues. I think that we should fix that issue first and then check if this and issue #770 still persist.

In the past I was told to use debug when using legion spy. Let me try again.

That was true up to about two years ago. It is no longer true anymore.

This issue was fixed with a correct reduction implementattion. Thanks.


Feature Requests

Features requested:

Provide a Python API to simplify usage of xmldiff within your own python projects
The API should support various inputs: XML trees, XML strings or XML files
The output should be a Python list of dicts, containing the changes - to add your own post-processing

I've just released a beta version of xmldiff 2.0: https://pypi.org/project/xmldiff/2.0b1/
It does this, although the output is not a list of dicts, but a list of actions objects.


Updated visualization and performance

Description

Motivation and Context

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (update in the documentation)

Checklist

[ ] I've read the CONTRIBUTION guide (required)
[ ] I have updated the changelog accordingly (required).
[ ] My change requires a change to the documentation.
[ ] I have updated the tests accordingly (required for a bug fix or a new feature).
[ ] I have updated the documentation accordingly.
[ ] I have opened an associated PR on the HsuanwuHub repository (if necessary)
[ ] I have reformatted the code using make format (required)
[ ] I have checked the codestyle using make check-codestyle and make lint (required)
[ ] I have ensured make pytest and make type both pass. (required)
[ ] I have checked that the documentation builds using make doc (required)

Note: You can run most of the checks using make commit-checks.
Note: we are using a maximum length of 127 characters per line

added plot sampling efficiency

updated performance and visualization files in the evaluation folder

added evaluation in tutorial


Update delsort categories

A number of changes made to the list, in particular items moved and added; see also https://github.com/azatoth/twinkle/pull/1141.
Also fixes the missing semicolon that was breaking jshint.

Thanks!


Address .NET Core 3.1 change around hostingModel default value

Sample information

Sample type: \samples\
Sample language: dotnetcore
Sample name: All dotnetcore samples and generators

Describe the bug
In .NET Core 3.1, the hosting model default switched from "outofprocess" to "inprocess" which does not work with DL ASE (which uses "outofprocess"). By having a mismatch for the hosting model, the two will never be able to talk to each other.
Per @DDEfromOR, this 3.1 breaking change also results in problems around deploying a DL Token server from the same App Service, so we should investigate and determine the best course of action.
[bug]

Migration docs: 2.2 -> 3.0

After speaking with @Jeffders and @johnataylor, the hostingModel change to "outofprocess" would specifically target the Echo and Core bot samples and generators for .NET.

To be explicit, there's a number of changes that need to be performed to make Echo and Core bot work out-of-the-box with minimal customer-driven changes.
Add logic to Startup.cs/index.js/ts to connect to the NamedPipe

In Startup.cs, add the following:

app.UseNamedPipes(System.Environment.GetEnvironmentVariable("APPSETTING_WEBSITE_SITE_NAME") + ".directline");

In index.js/ts add the following logic:

adapter.useNamedPipe(async (context) => {
    await myBot.run(context);
    },
    process.env.APPSETTING_WEBSITE_SITE_NAME + '.directline'
);

.NET: Update hosting process

For the samples/generators this is just updating the .csproj
ABS Templates need the web.config updated

JS/TS: web.config for iisnode

Complete https://github.com/microsoft/botframework-sdk/issues/6056 to update az bot prepare-deploy
Update ABS templates web.config

Add appropriate code comments and documentation links in the samples/generators

Samples don't necessarily ship directly in sync with our milestones, this work will likely happen after 4.11 is out the door.

ASP.NET Core 3.0 or later(Migration docs: 2.2 -> 3.0) apps hosting model default changed to the in-process hosting model to improve performance and simplify deployment.
To configure an app for out-of-process hosting, set the value of the <AspNetCoreHostingModel> property to OutOfProcess in the project file (.csproj):
<PropertyGroup>
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>


Bakcup and restore custom system keyboard shortcuts

Add dconf dump (and load) to Makefile. For instance to save and load Alacritty toggle keybinging.

Resolved in #12


eject verbs for chem and id console

Some groundwork for what I want to be an "alternate interact" hotkey.

Also you can feed ID cards directly into the console like the PDA, it'll prioritize filling the privilegedID before the targetID.


clean code

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[ ] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[x] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[ ] Lint checking (Run npm run lint)
[ ] Local tests are passed (Run npm test)

Also i am not sure we need code polish for Master branch as this may harden merging with 3.0. Could you check that this changes can be rebased (merged) to 3.0 branch?

not a problem, let me try to rebase with v3.0


Builds Devcontainer with Setup.sh and Dockerfile

Sets Devcontainer to use Dockerfile with base Python Image (Selected to make setup for AVN easier)

creates setup.sh to allow for easier management of items that need to be created.
installs psql
install avn

I was also able to add other languages in setup.sh


Automatically translate when clicking on a link that takes you to the same domain as the current site

Very missing option as in TWP - "Automatically translate when clicking on a link that takes you to the same domain as the current site".

Sounds good, i see a potential in this feature.  Could you please describe in details how it should works.

If a page is translated by a Linguist and the user clicks on a link with the same domain, then after the new page is loaded, the Linguist should translate it as well.


Added groff formatter

This is a formatter that can output the source code in a form that can be used with GNU Troff (groff).
Groff is a typesetting system that has its roots in some of the oldest text formatting software out there. It can be used to create formatted documents, papers, books, etc. It is similar to LaTeX in that sense but much more minimal and older. Nowadays, it's mostly used for creation of man manual pages.
This formatter is using groff escapes to change the color and font style (regular, bold, italic) of the text. It also has a few options that allow the user to print the source code with line numbers and wrap it to a specified width. By default, the output is using a monospace font but it can be disabled too. Some special characters that are used by groff are replaced by escapes for printing Unicode characters. The same applies for non-ASCII characters, which groff can't print. The formatter isn't using any macro specific commands, so it should work with all of them (ms, mom, man, etc.).
I tested the formatter thoroughly using various source code files of my own and the ones available in the tests/examplefiles directory. I also used different combinations of options to make sure they don't conflict with each other. I didn't notice any issues. The only time when the output might look different than expected is when input contains characters that groff doesn't support (possibly to the lack of them in the default font). It will then give a warning that it cannot find the character and won't print it.
To test it yourself, you can use the following command:
pygmentize -f groff <input> | groff -Tpdf > output.pdf

It is my first contribution to the project and I'm not programming in Python that often, so I'm open to comments and feedback.

That works quite nicely. Thanks a lot for your contribution!


Switch examples to SHA256/512

Given that MD5 and RIPEMD160 are broken/weak hashing algorithms unsuitable for most applications, this example would be more useful if it referenced SHA256 or SHA512

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

ID: 410b53de-93ba-46c6-1fef-a8d66047a78c
Version Independent ID: 32cc7592-abcd-5af9-4650-bdee2e30a40b
Content: HashAlgorithm.ComputeHash Method (System.Security.Cryptography)
Content Source: xml/System.Security.Cryptography/HashAlgorithm.xml
Product: dotnet-api
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks, @joshbw, for pointing this out. We'll revise the examples in the near future.


Improve spreadsheet uploader errors for CSV parse failures

Overview
We've had a couple customer support issues related to customers getting the server error when submitting a file. This happens when we get a non-200 response back from our backend. Sometimes this happens when we get an exception while validating the CSV because the CSV is incorrectly formatted. We should surface a more useful error about valid CSV formatting if that's the case, maybe recommend opening the file in a plaintext editor. Also maybe we can ignore blank lines or extra columns to make things easier for users.
Example file that triggers server error response: invalidfile.csv
Considerations

Include row number in error message

Tech notes
Relavant code:
https://github.com/CDCgov/prime-simplereport/blob/5055402b9afdbeb3fe15f7572b8be951027c0285/frontend/src/app/testResults/uploads/Uploads.tsx#L125-L133
Example stack traces:
/// when the file has an additional empty row
java.lang.IllegalArgumentException: Not enough column values: expected 64, found 1
 at [Source: (BufferedReader); line: 3, column: 1]
	at gov.cdc.usds.simplereport.validators.CsvValidatorUtils.getNextRow(CsvValidatorUtils.java:193)
	at gov.cdc.usds.simplereport.validators.TestResultFileValidator.validate(TestResultFileValidator.java:44)
	at gov.cdc.usds.simplereport.service.TestResultUploadService.processResultCSV(TestResultUploadService.java:87)

/// seems to be when a row has more columns than the header row
java.lang.IllegalArgumentException: Too many entries: expected at most 62 (value #62 (19 chars) "<omitted PII>")
 at [Source: (BufferedReader); line: 2, column: 500]
	at gov.cdc.usds.simplereport.validators.CsvValidatorUtils.getNextRow(CsvValidatorUtils.java:193)
	at gov.cdc.usds.simplereport.validators.TestResultFileValidator.validate(TestResultFileValidator.java:44)
	at gov.cdc.usds.simplereport.service.TestResultUploadService.processResultCSV(TestResultUploadService.java:87)
	at gov.cdc.usds.simplereport.service.TestResultUploadService$$FastClassBySpringCGLIB$$7096ddf9.invoke(<generated>)

I'm not sure why valueIterator.hasNext() doesn't return false if getNextRow(valueIterator) is going to trigger an exception.
Look into enabling the following for our CsvMapper:
https://fasterxml.github.io/jackson-dataformats-text/javadoc/csv/2.9/com/fasterxml/jackson/dataformat/csv/CsvParser.Feature.html#SKIP_EMPTY_LINES

So the issue with using SKIP_EMPTY_LINES here is that RS will fail with the same error that we are currently failing with now - so that doesn't really solve our problem.
Options in my mind are either a) fix the file for them by removing excess columns or empty lines OR b) just improve the error messaging.  I think I'm in favor of going with option b

@lauraykerr would love some feedback on the copy for the error message when a malformed csv file is uploaded.
"Unable to read file.  Please check for empty lines or incorrect number columns"
Current error below:

One option:

@DanielSass Recommend the following:

File has the incorrect number of columns or empty rows. Please make sure all columns match the data template, and delete any empty rows.

For line number, preference would be to put in the second column, but if not could include here:

File has the incorrect number of columns or empty rows. Please check row number to make sure all columns match the data template, and delete any empty rows.

This isn't ideal guidance for those who don't know what an empty line/row is, but hopefully it's a good enough starting point without being too prescriptive.


fixing type error for put/add to string set

Background
This is a fix to the TypeError being thrown in OneLogin rule: ActiveLoginActivity.  Convert unique id to str before adding/editing the str set.  Error: failed to run rule OneLogin.ActiveLoginActivity RuleResult TypeError("'int' object is not iterable")"
Changes

proper handling of input that is explicitly defined as str

Testing

make test

I was able to reproduce it by running some of the integration tests (modifying them to use ints which caused it to fail).  I'll add that to the testing section above.  The issue actually isn't that the int can't be saved in the db, but rather trying to initiate a set with an int here: https://github.com/panther-labs/panther-analysis/blob/master/global_helpers/panther_oss_helpers.py#L209
Should I go ahead and merge this and then create a new ticket to do more rigorous input validation in the various *_string_set methods? I imagine we would just through a type error if we detected bad input anyway?

Should I go ahead and merge this and then create a new ticket to do more rigorous input validation in the various *_string_set methods? I imagine we would just through a type error if we detected bad input anyway?

Yeah I think that would be good. Error handling isn't done amazingly well in the rules engine right now, but in the future when we're displaying these errors to users a more useful error like "string set must contain strings or lists of strings" or something would be nice.


Fix flaky operator seed e2e tests

How to categorize this PR?

/area dev-productivity
/kind flake
What this PR does / why we need it:
Please check the individual commits and their messages for reasoning and explanations what and why has changed.
After this PR is merged, the flakes in the e2e test should be removed (or at least improved 😉).
/cc @ScheererJ as CFO (chief flake officer 😁)
Release note:

NONE

/cherry-pick release-v1.101

/hold
Thanks @acumino :)
I want to see if I can further improve the seed deletion flow.

/unhold


zigbee2mqtt: 1.40.1 -> 1.40.2

https://github.com/Koenkk/zigbee2mqtt/releases/tag/1.40.2

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 345766 run on x86_64-linux 1

1 package built:

zigbee2mqtt


Fix missing closing braces in code samples

Fixed the closing braces for the code samples at https://reactjs.org/docs/lifting-state-up.html#lifting-state-up

These aren't missing braces, they just show a part of the code.
Maybe we can add
// ...

instead?

Ok.
Adding
// ...
That would be great.

Mind making the change? Thanks!

Effected the change

Seems like we fixed this in https://github.com/reactjs/reactjs.org/pull/115.


This page lacks a good example of calling functions inside dynamic content

Hello, this is a "nice to have" feedback about the page. The Functions section on this page could have more information on the syntax to call functions inside dynamic content.
While I was trying to build a JSON body for a function app, I used the functionality on the dynamic content page where one can click a function, and it gets added to the content area above. this does not work well with JSON data. moreover, it's not clearly mentioned on the page that if you need to execute functions, those should be inside a @{} block as well (similar to string interpolation). It would be nice to have that note in the functions section.
JSON body examples those do not work (these were just trial and error):
{
"import_mode": @if(equals(pipeline().parameters.TEST_MODE, 'true'), 'TEST', 'PROD')
}

or
{
"import_mode": @if(equals(pipeline().parameters.TEST_MODE, 'true'), 'TEST', 'PROD')
}

Example JSON body that works (such as example would help 👍 ):
{
"import_mode": "@{if(equals(pipeline().parameters.TEST_MODE, 'true'), 'TEST', 'PROD')}"
}

Thank you!

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

ID: 76e31411-f1a2-710b-94c0-39acf9e7314b
Version Independent ID: d5cefffe-dee0-2d2e-f3cb-8eefd5d40d17
Content: Expression and functions in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/control-flow-expression-language-functions.md
Service: data-factory
GitHub Login: @dcstwh
Microsoft Alias: weetok

@rgg-amahajan Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Thank you for the feedback,
@minhe-msft  do help to look at this. Thank you.

Added example for using expression functions in dynamic content editor.
https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#examples
#please-close

Looks wonderful, thank you!


[vide_player][web]

I have made several tries by using this for the web, the truth is that it just works bad.
It often doesn't initialize, and if I try to use the play() function most of the time doesn't start. Everything is just buggy

Hi @Aptul,
Thanks for filing the issue, please provide the output of flutter doctor -vand version of video_player along with minimal reproducible code sample, This helps to better investigate the issue.
Thank you.

[✓] Flutter (Channel stable, 2.2.3, on Linux, locale it_IT.UTF-8)
• Flutter version 2.2.3 at /home/antonio/snap/flutter/common/flutter
• Framework revision f4abaa0735 (7 settimane fa), 2021-07-01 12:46:11 -0700
• Engine revision 241c87ad80
• Dart version 2.13.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /home/antonio/Android/Sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /var/lib/snapd/snap/android-studio/113/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• CHROME_EXECUTABLE = /opt/google/chrome/chrome
[✓] Android Studio (version 4.2)
• Android Studio at /var/lib/snapd/snap/android-studio/113/android-studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.8+0-b944-P17168821)
[✓] Connected device (1 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.164 unknown
• No issues found!

The video player version is the latest: video_player: ^2.1.14
For the minimal code sample is the same you can find in the official page: https://pub.dev/packages/video_player

@Aptul I added the plugin and ran the sample code from pub and its working fine for me on the latest stable channel.

Please share the console logs

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-arm, locale en-GB)
    • Flutter version 2.2.3 at /Users/mahesh/Documents/flutter
    • Framework revision f4abaa0735 (4 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile)                       • android-arm64  • Android 11 (API 30)
    • iPhone 12 Pro Max (mobile) • 6A434744-B348-4FB3-AB10-131292174456 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 92.0.4515.107

• No issues found!

Try to run it in build mode instead of debug

Try to run it in build mode instead of debug

Theres is no such thing as a build mode. Theres only debug profile and release mode, Could you specify how you are launching the app?

release

@Aptul It works too can you share the console logs of flutter run -v

code sample

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Dual ListView with SplitView',
        theme: ThemeData(primarySwatch: Colors.blue),
        home: VideoApp()
        );
  }
}

class VideoApp extends StatefulWidget {
  @override
  _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
  late VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network(
        'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        body: Center(
          child: _controller.value.isInitialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: VideoPlayer(_controller),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    super.dispose();
    _controller.dispose();
  }
}

To be honest I have no idea why is it woking, however, if I try to print controller.value.isPlaying(), it doesn't always respect the truth, in particular, if you right tap on the video (even with absorb pointer), and you play it that way, the value won't update

@Aptul, Please provide a complete code sample I suspect there is something wrong in your code.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Multisession with locking pin.

Hello it would be good to keep in the "SharedPreferences" multiple keys associated with a username.
Example:
Intent intent = new Intent(this, CustomPinActivity.class);
intent.putExtra(AppLock.EXTRA_USERNAME, "username");
intent.putExtra(AppLock.EXTRA_TYPE, AppLock.ENABLE_PINLOCK);
startActivity(intent);

What the purpose of add a username?

Hello.
Why not, for multiple sessions.
Unfortunately I don't have the time to implement it right now. But if you want to do a pull request, don't hesitate I'll take a look when I can.
Cheers


Added common server side items that doesn't work with AE

I put a new note under the remarks sections as multiple customers have asked questions about AE not working with certain functionality and that there was nothing that specified it. While I added examples, the list is not exhaustive but does cover the common items.

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

awesome, thanks for your submission @SeanGallardy ! I modified the text a little so that it's not a note as it helps with readability.
#sign-off

@MashaMSFT: I'm sorry - only the author of this article, @jaszymas, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Sweet – thank you Masha 😊
From: Masha at MSFT<EMAIL_ADDRESS>Sent: Wednesday, February 3, 2021 11:07 AM
To: MicrosoftDocs/sql-docs<EMAIL_ADDRESS>Cc: Sean Gallardy<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/sql-docs] Added common server side items that doesn't work with AE (#6033)
awesome, thanks for your submission @SeanGallardyhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSeanGallardy&data=04|01|sean.gallardy%40microsoft.com|4c6cd7cfbb634c80754f08d8c866138c|72f988bf86f141af91ab2d7cd011db47|1|0|637479688029027717|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=sxYvkNIEatRcvP2%2FmsbDGoenI8j%2BBDCqO9atnc3hgTk%3D&reserved=0 ! I modified the text a little so that it's not a note as it helps with readability.
#sign-off
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fsql-docs%2Fpull%2F6033%23issuecomment-772667980&data=04|01|sean.gallardy%40microsoft.com|4c6cd7cfbb634c80754f08d8c866138c|72f988bf86f141af91ab2d7cd011db47|1|0|637479688029027717|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=J%2F5kMQ2lMgMqDA7Gb0DbEcmXeGhOZWR0DKn%2BrKSNj6E%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAID7QNFYL4SNGQQTNVVUWTLS5F7CBANCNFSM4W5MRUTQ&data=04|01|sean.gallardy%40microsoft.com|4c6cd7cfbb634c80754f08d8c866138c|72f988bf86f141af91ab2d7cd011db47|1|0|637479688029037673|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=35w3tdSvN%2Be2ZiTpnX%2FEb0rQ4PmO5hnpAAg4r6c5RxU%3D&reserved=0.

@SeanGallardy: I'm sorry - only the author of this article, @jaszymas, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@ktoliver  #sign-off :)

@MashaMSFT: I'm sorry - only the author of this article, @jaszymas, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@MashaMSFT Thanks for the review.


cuda11 support

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@andersy005 @scopatz @xmnlab can you please review this PR. Thank you!

LGTM. thanks @AgrawalAmey .
@andersy005 @scopatz any thought about this PR?

You can add
os_version:
  linux_64: cos7

to get a docker image with updated glibc.

Thanks @isuruf for the pointer. I have updated the PR.
@xmnlab Thanks for the review. Since the cuda ecosystem is very sensitive to minor versions as well, can we also publish packages for versions 11.0 and 11.1? I am not sure about the convention around it, do we create three PR? starting from 11.0?

@conda-forge-admin, please rerender

11.1 and 11.2 would be highly appreciated :)

@conda-forge-admin, please rerender

@xmnlab I have changed the version here to 11.0.2 from 11.2 and have created separate PRs for 11.1 and 11.2. (https://github.com/conda-forge/cudatoolkit-dev-feedstock/pull/31 , https://github.com/conda-forge/cudatoolkit-dev-feedstock/pull/32).

@xmnlab, @scopatz, @andersy005 can we close on this, if all looks good. Thanks a lot!

@xmnlab, @scopatz, @andersy005 a gentel reminder to review these PRs. Thanks a lot!

sorry for the delay here! @AgrawalAmey thanks for all the work you are doing here.
@Hoeze I agree with you. @AgrawalAmey could you add yourself here https://github.com/conda-forge/cudatoolkit-dev-feedstock/pull/30/files#diff-f3725a55bf339595bf865fec73bda8ac99f283b0810c205442021f29c06eea9aR50 ?
so for the next PRs you will have permissions to move things forward :)

@conda-forge-admin, please rerender

Thanks a lot, @xmnlab, @Hoeze. I added my id in meta.yaml and ran render, is that all we need to do?

LGTM! thanks @AgrawalAmey !

Thanks @xmnlab!

Thanks so much for updating @AgrawalAmey and merging @xmnlab!


Bot is not working

I have been trying to debug but got no results. Bot is successfully getting wsurl but I think it is not connecting to the wsurl (No log indicating it has connected), also it does not respond to any command. Also the php script terminates after around 30 seconds of run time. What might be the problem ?

Hello Can,
You have to run the script from the command line.
Here are the instructions step by step :
First you have to create a composer.json file with the following :
{
    "minimum-stability" : "dev",
    "require": {
        "jclg/php-slack-bot": "dev-master"
    }
}

Then, run composer install
This will download all required dependencies.
Create a new bot.php file with :
<?php
require 'vendor/autoload.php';
use PhpSlackBot\Bot;

$bot = new Bot();
$bot->setToken('xoxb-**************');
$bot->run();

Make sure to insert your token.
At this step, you sould have the following files inside your project folder :

bot.php
composer.json
composer.lock
vendor (directory)

Finally run php bot.php from the command line.
Inside Slack, the bot shoud be online (green dot).
Direct message him by tiping ping and the bot should answer "pong".
Please let me know if it works.

For future users: this can happen if you haven't set a default timezone in PHP or if DNS requests to <IP_ADDRESS> time out (this is called in React's DNS resolver).


ButtonBehavior.always_release default to False

Fixes https://github.com/kivy/kivy/issues/3312.
There were some discussions on irc about introducing incremental breaking changes after 1.9.1 instead of doing everything in 2.0, the team seemed to be in favor of this route.
We could also post on #kivy-dev for those who might want to now revisit other issues that were previously tagged 2.0: https://github.com/kivy/kivy/milestones/2.0.0.

:+1:


Validate optional formats

This work allows for formats in drafts 2019-09 and 2020-12 to be validated.

Could you take a look at the presubmit check failures?
SuiteTest > draft2019_09() > format > time.json > validation of time strings > net.jimblackler.jsonschemafriend.SuiteTest.draft2019_09()[3][15][1][32] FAILED
    org.opentest4j.AssertionFailedError at SuiteTest.java:152

SuiteTest > draft2020_12() > format > time.json > validation of time strings > net.jimblackler.jsonschemafriend.SuiteTest.draft2020_12()[3][15][1][32] FAILED
    org.opentest4j.AssertionFailedError at SuiteTest.java:152

SuiteTest > draft7() > format > time.json > validation of time strings > net.jimblackler.jsonschemafriend.SuiteTest.draft7()[3][14][1][32] FAILED
    org.opentest4j.AssertionFailedError at SuiteTest.java:152

Looks like these tests are failing because DateTimeFormatter changed after java 8. I verified the tests fail on my machine with openjdk-1.8 and are passing on openjdk-1.11 and openjdk-1.17.
Looks like the options are to:

Add the tests to the skip lists, so they are ignored when they fail with java 8.
Find an alternative strategy to check the time formats.
Change CI to run on a different java version.

Do you have an opinion on how to fix this?

I'd greatly prefer '2', perhaps a different date/time library if one exists that can make the right checks.

I've added a regular expression that can check the time format.
I created another branch that uses the Joda time library to check the format. It works and I can swap that in if you'd prefer to use the library over a regexp.

If the regex does the job then that's fine.


PowerToys Run looks too basic

Description of the new feature / enhancement
PowerToys Run is an absolutely genius module and it is almost perfect in terms of functionalities, but there is just one limitation: its appearance.
Something like acrylic finish, transparency and color enhancements would seem a great step in the development.
Scenario when this would be used?
In PowerToys run, whenever it is summoned.
Supporting information
No response

/needinfo

Yes this is even more fluent and, may I say, prettier than what I had in mind.
Apologies for the delayed reply,
May I ask when this feature might be implemented in real? You may close this issue after this.
Thank you for the reply.


Use username as id instead of email, display preferred_username in frontend

Closes #88
Features and decisions

This PR follows @odashi 's suggestion (thanks again!) in #88 with some changes in key names. Here's the relational diagram:

There are two Cognito attributes that can be used as id. The first one is sub, which is a unique identifier (UUID) for the authenticated user. The second one is username, which is a fixed (unchangeable by users) value and unique within a user pool. Unlike sub, username can be reused after deletion.
Here's a discussion on whether to use sub or username as id in DB. In short, using sub risks difficult data recovery if a Cognito entry gets accidentally deleted. This is because sub is unsettable, meaning you'll get a new one during recovery and must update your DB mapping. Using username risks the same username being reused after the former user account is deleted.
We don't really need to compare these risks though, because in our Cognito username and sub actually have the same values (I think it's because we didn't specify a custom username value, so AWS just copied sub by default? Update: Yes, just found the relevant doc. See my comments below). Since our backend User object already contains the username attribute, I'm using it as id for simplicity.

I updated the System data model in openapi.yaml and marked creator and preferred_username as required. I changed the responses of GET /systems/system_id, GET /systems, and POST /systems to include preferred_username: The two GETs look up the user collection to find the preferred_name, and POST gets the preferred_username from the User object.

In the frontend, I replaced email with preferred_username in the Creator column of the systems table. The "My Systems" vs "All Systems" filter still filters by creator, except the creator attribute now uses username instead of email.

A new user entry will get created in our DB if not exists (e.g. when a new user signs up). This is done in impl/auth.py: User.get_user_info(), which is a function called every time a user logs in. It's good to add the checking logic here because in the future, if we want to store more user attributes in the DB and not Cognito, we'll need to populate these attributes in the User object by querying the DB (thanks @lyuyangh for the discussion on this).

Prereqs
To ensure our DB has the correct user and system metadata, we must complete the following steps before deploying the code to staging and production.

Temporarily disable user signup and new system submission (or ensure they don't occur).
Create a new DB collection for user metadata and insert all existing users. This should be done using a script I wrote in our Google Drive: Explainaboard Assets/Db code/insert_all_uers_to_db.py.
Update all existing systems by replacing their creators from using emails to using username. This should also be done using a script I wrote in our Google Drive: Explainaboard Assets/Db code/update_all_systems_in_db.py.

I'm happy to do them once this PR is approved.

@OscarWang114 Thanks!
According to this explanation:

in our Cognito username and sub actually have the same values

It looks the sub field in the Cognito is the real identity of users and is better to be utilized instead of username in this case. WDYT?

@odashi Thanks, I think that makes sense. I'll change it to using sub.
Supplementary Info:
I dug deeper in the doc and found that Cognito indeed uses the sub value as username if we choose to signup by email or phone (the former is the case of explainaboard).

The SignUp API generates a persistent UUID for your user, and uses it as the immutable username attribute internally. This UUID has the same value as the sub claim in the user identity token.

Also, username is immutable for both users and admins. We cannot edit it in the console.
Reference:
Quoted from this doc under Aliases -> Using aliases to simplify user sign-up and sign-in -> Option 2: User signs up and signs in with email address or phone number instead of user name -> To implement option 2 in your app

@odashi Thanks for the comments! I've reflected all of them


Lots of errors after loading sample data

Let me prefix this by saying that what I'm attempting to do may be a Bad Idea or not supported: Running InfluxDB in an Azure Container Instance, persisting data to an Azure File Share.
Bug report
System info:
InfluxDB 1.3.5
Running on Azure via Docker and Azure Container Instances.
Steps to reproduce:

Start the container
Load in the NOAA sample data via the HTTP API
Sit back and wait

Expected behavior:
No errors?
Actual behavior:
Lots of errors started showing up a minute or so later.  Here's what they look like:
[I] 2017-08-31T15:45:35Z error adding new TSM files from snapshot: sync /var/share/data/mydb/autogen/2: invalid argument engine=tsm1
[I] 2017-08-31T15:45:35Z Snapshot for path /var/share/data/mydb/autogen/2 written in 205.634589ms engine=tsm1
[I] 2017-08-31T15:45:35Z error writing snapshot: sync /var/share/data/mydb/autogen/2: invalid argument engine=tsm1
[I] 2017-08-31T15:45:35Z error adding new TSM files from snapshot: sync /var/share/data/mydb/autogen/2: invalid argument engine=tsm1
[I] 2017-08-31T15:45:35Z Snapshot for path /var/share/data/mydb/autogen/2 written in 183.925456ms engine=tsm1
[I] 2017-08-31T15:45:35Z error writing snapshot: sync /var/share/data/mydb/autogen/2: invalid argument engine=tsm1
Additional info:
The only config I've specified is the data dir via the INFLUXDB_DATA_DIR environment variable.  It is bound to a mounted Azure Storage File Share.   It looks like it is able to write to the share correctly.  I see folders and TSM files in there.  Any suggestions?
vars.txt
profiles.tar.gz

Please let me know if there's any other info I can provide.  I'd love to be able to get this working so that I can document the setup for others.  Thanks!

I seem to be getting the same issue.
Debian 9.1, running the influxdb official docker container.
Start with docker kill $(docker ps -a -q) and docker rm $(docker ps -a -q) everything for sake of sanity.
I have run two instances: one with it's volume located on network share, and the other's volume located locally:
docker run -d -p 8086:8086 --name influxdb_local -v /mnt/:/var/lib/influxdb influxdb
and
docker run -d -p 8087:8086 --name influxdb_remote -v /mnt/projects/Docker/influxdb:/var/lib/influxdb influxdb
Note that /mnt/ is local, but /mnt/projects/Docker/influxdb is a samba share hosted on another machine.
I then load the NOAA sample data:
influx -import -path=NOAA_data.txt -precision=s -database=NOAA_water_database
and
influx -port 8087 -import -path=NOAA_data.txt -precision=s -database=NOAA_water_database
...and then I watch the logs and wait...
docker logs -f influxdb_local
and
docker logs -f influxdb_remote
Both log files start the same, and the loading of the NOAA data runs the same too (at 05/Sep/2017:07:59:40 +0000 for reference). Exactly 10 minutes later they output this:
influxdb_local:
[I] 2017-09-05T08:09:39Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/1 written in 20.636846ms engine=tsm1
[I] 2017-09-05T08:09:39Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/3 written in 29.440772ms engine=tsm1
[I] 2017-09-05T08:09:39Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/4 written in 19.043738ms engine=tsm1
[I] 2017-09-05T08:09:39Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/2 written in 30.004635ms engine=tsm1
[I] 2017-09-05T08:09:39Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/5 written in 14.821338ms engine=tsm1

influxdb_remote:
[I] 2017-09-05T08:09:40Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/1: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/1 written in 128.533656ms engine=tsm1
[I] 2017-09-05T08:09:40Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/1: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/3: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/3 written in 162.812614ms engine=tsm1
[I] 2017-09-05T08:09:40Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/3: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/2: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/2 written in 164.768609ms engine=tsm1
[I] 2017-09-05T08:09:40Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/2: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/4: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/4 written in 165.253803ms engine=tsm1
[I] 2017-09-05T08:09:40Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/4: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/5: invalid argument engine=tsm1
[I] 2017-09-05T08:09:40Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/5 written in 123.762398ms engine=tsm1
[I] 2017-09-05T08:09:40Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/5: invalid argument engine=tsm1

10 minutes after that, the log for influx_remote starts going nuts.
[I] 2017-09-05T08:19:51Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/1: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/1 written in 115.911881ms engine=tsm1
[I] 2017-09-05T08:19:51Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/1: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/3: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/3 written in 122.61052ms engine=tsm1
[I] 2017-09-05T08:19:51Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/3: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/2: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/2 written in 134.581686ms engine=tsm1
[I] 2017-09-05T08:19:51Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/2: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/4: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/4 written in 111.876917ms engine=tsm1
[I] 2017-09-05T08:19:51Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/4: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/5: invalid argument engine=tsm1
[I] 2017-09-05T08:19:51Z Snapshot for path /var/lib/influxdb/data/NOAA_water_database/autogen/5 written in 74.071225ms engine=tsm1
[I] 2017-09-05T08:19:51Z error writing snapshot: sync /var/lib/influxdb/data/NOAA_water_database/autogen/5: invalid argument engine=tsm1

This repeats every second until I killed the container. Meanwhile, influxdb_local is doing nothing.
I've included the two log files for your interest.
influxdb_local_log.txt
influxdb_remote_log.txt
Interestingly, I was getting the same (or a very similar) issue while running influxdb on docker for windows. I suspected that the network share was the issue, as it seems that docker for windows uses samba to share files between the windows host and the VM that runs docker.

I'm getting this on Windows as well, with /var/lib/influxdb mapped locally:
Running this:
docker run --name influxdb -p 8086:8086 -v %cd%\influxdb:/var/lib/influxdb influxdb
Started producing the exact same behaviour after about an hour.
I only inserted < 10 points of a test measurement and was reading from Grafana every 5 seconds.


Importing saved settings

Is it still possible to import my saved settings (OTDState.json), and if so, what would I have to do?
How can I save them?
Any help appreciated.

Hello @LoFi1978!
Yes, you can still import (and export) OTDState.json
To import/export, open Settings window via right-bottom ⚙ cog icon > settings
then click Import state or Export state button.

Thanks for your answer.
Problem is this Import/Export option showed up last time for me in version 3.5.5. (I'm on 3.6.4 now)
I also realised there are only two option left now under Settings>Mute: "Words or phrases" and "Tweet Source"

I'm on 3.6.4 under Chrome and have the import-export function. All I can suggest is close app, clear cache, reload extensions and restart app.

import/export button is located at bottom of general settings.
i can see scrollbar at your general setting window, so you may need scroll it down.


Check for any flaws

I think this needs to target the development branch?

@Windvis @iurianu
It seems development is further ahead, so I close this PR


Completion Request Support

Completion request in Language Server Protocol provides support for completion at a position which can either be triggered after a character like . or , or manually or triggered for incomplete completions.
See specifications here
The handling of such a request can be described as:
RPCs involved till the client get the completion items

Client -> Core: Get Completion Notification
Core -> Plugin:  Get Completion Notification
Plugin -> Language Server: Completion Request
Language Server -> Plugin: Completion Items
Plugin -> Core: Plugin Items
Core -> Client: Plugin Items

Result handling on Client

Display suggestions in a Popup sorted according to sortText property (if available) or label.
If the user keeps typing while the suggestions are open, the given completions must be filtered according to filterText property or label if filterText is null.
If a user requests for completion items manually meanwhile, using keybindings like ctrl + space, the result of the newer request shall be displayed.
If a selection has been made using the item selected from a filtered entry i.e. user has typed something after the request, the textEdit must be applied to the original document position. This is a bit tricky and I don't know if we require some more work in core to facilitate this. However, the selection of an entry from completions without filter is trivial since, document state did not change in core.

@cmyr Can you throw a light on whether Core currently can facilitate the required behaviour ?

Okay, so I've thought about this a little bit.
I think most of the logic should happen in core; this will be similar to how find works.
The question of how to do automatic completions is a bit tricky; that is a case where I think most of the logic about deciding when to send a request should live in core. For now I want to only focus on manual completion requests.
Protocol:
client->core
request_completions {}
no-op if multi selection or non-caret selection
core->plugin
resolve_completions { id: Int, position: Position }
'id' is unique, generated in core, and used to check result freshness (should this be a request?)
plugin -> core
completions { id: Int, completions: [Completion] }
core->client
completions { position: Position, completions: [Completion] }
This will be an ordered list of completions to display at the given position. It will be sent multiple times as the available completions change, either because multiple plugins have responded or in response to the user's typing. Question: is position necessary? I suspect yes, because the client doesn't know the extent of the symbol that is being resolved, and we want to align results with the start of the symbol.
client->core
accept_completion { index: Int }
core does the work of replacing.
core->client
hide_completions {}
In response to a mouse click or escape or something.
Additional questions:

Do we want to return something even when no completions are available, or do we just soldier on? It might be nice to show a 'no completions available' message or something. Doing this correctly is a little tricky, because we will need to keep track of how many plugins we have requested completions from, and only return the message when we know we don't have results. (alternatively, we could show this message by default after some timeout or something? But that feels bad.)

How do we dismiss completions? This will be instigated in core, in response to things like click events or esc, but core will still need to tell the client to hide the dialog. Simplest would be a hide_completions {} core->client RPC.

Alternatives
The major alternative to all of this would be to include completions as part of the update protocol. This would let us be more efficient, and would also reduce draw calls, since completions would be handled and drawn as the document was updated. It would also require fewer additions to the protocol. The cost is increasing the complexity of the update protocol, although we might be able to do this in such a way as to keep it mostly isolated, by creating a new (optional) top-level completions entry in the update object. In any case, i'd be curious to hear @raphlinus's thoughts.
In any case, both of these approaches seem reasonable. There will definitely be some work to do in core, and I'll be happy to help out with that as needed.

I gave it a thought the other day as well and discussed some of it with @nangtrongvuon. We rooted to something similar and I even started working on some part of it mainly related to adding core->client RPCs to have a more clear picture of the protocol.

more completions thinking + next steps
cc @nangtrongvuon @betterclever
So I've spent most of the day playing around with completions, and I think I've accidentally learned some stuff.

I feel like i have a much better sense of the overall LS project now that I've actually been writing some code and not just doing reviews. So: my apologies, I probably should've been doing something like this earlier; oops.

the methods (hover, completions) that are requests in the LSP should be requests in our core->plugin protocol as well; the plugin should return a result directly, not via a separate notification. We kind of avoided this for the hover stuff (so far, we should probably fix it later) but for the completions thing I want to track outstanding requests and then display a 'no completions available' message if no plugin returns anything.

However, it seems like there's an architectural problem here, right now, which is that in order to be a request, the plugin lib needs to return its result immediately, but the lsp client returns its result via a callback. There are some possible options here; one would be to have the xi-rpc lib use callbacks in the handler? @betterclever, can you think of a better approach?

the LSP isn't totally clear in how completion results should be handled. Specifically:

the LSP is sent a position that needs to have completions resolved. At no point, however, does the LS communicate what the range of the string used for completions, or which should be replaced by completions, is. In some random docs it was mentioned that this should be the 'word before the cursor', and there was a link to some typescript function used to get this word, but that seems broadly undocumented.

It isn't clear what algorithm is used to filter results, or when filtering should occur.

In any case, I have a working branch up at here, which you're free to look at; i'm going to clean it up tomorrow and probably start a new branch in the main xi-editor repo, which we can use as the working branch for completions stuff; PRs can be sent there, etc. I also had this working in a very basic way on xi-mac (just printing the results, no UI) but I didn't commit that anywhere before I came home for the night. I can do that tomorrow, but @nangtrongvuon if  you're feeling blocked feel free to just do it on your own, it should be pretty simple.
There will be some cleanup/rebasing to do once the hover stuff settles, but that should be manageable.
@betterclever we should talk tomorrow if you have time, and figure out where we're at and what the next steps should be. Overall though I feel like I have a much better understanding of the problem than I did over the weekend. 👍

The handling on Completions from language servers as per my understanding is as follows:

A user is typing an presses a character like . that triggers a completion request to the language server. The response is then used to populate suggestions like this.

User keeps on typing, in such a case, no further request is made but the currently available suggestions are filtered out using filterText or label. The filter is fuzzy in VSCode.

Use triggers a completion request manually using ctrl + space. The suggestions popup now uses the new completions and ignores the previously available completions completely.

Now, comes the challenging part about the text that has to be inserted. I observed this behaviour using RLS logs. RLS uses insertText property which is now deprecated in Language Server Protocol.
The way it has to be handled is a bit strange to me. The insertText given at any point of completions replaces the text from the last text-delimiter i.e. space character, comma character, brackets, or period character.
For example, in the above case. Even when you trigger completions manually after typing ta after period, you get take() as insertText in response from language server and the editor has to find the characters that have been typed after . and replace them with insertText
I am not yet sure about the case when language server uses the TextEdit instead of insertText

Okay, this is the case I was curious about: whether there is any clearly documented way of knowing what the text to be replaced is?
It sounds like this is heuristic. VSCode allows for language specific 'word separators', (the editor.wordSeparators setting, you can search for here), and I think it might also allow a language to supply a regex used to determine what counts as a word, but this is really the behaviour of a single editor, and it doesn't seem to me like this should be implicitly expected by the protocol.
The only real solution I see to this would be if the LSP expected completions to always include a TextEdit object, which could describe exactly what the insert was expected to change, or maybe if if included an insertionPoint field, that indicated where the text should be inserted, implicitly replacing any text before the cursor; but this doesn't really work if the cursor is in the middle of a word, for instance.
SImilarly, when filtering, there doesn't seem to be any way for the editor to know what string to filter against. (This is essentially the same problem.)
To me this feels like a fundamental shortcoming of the language server protocol, unless I'm missing something. As it stands, it looks like we're expected to use undocumented heuristics?

Wrapping things up from yesterday's conversation in IRC.

Language Server Protocol has no clear guidance of handling of insertText and it is left for the client implementation. The comment above the insertText field in CompletionItem writes:

/**
	 * A string that should be inserted into a document when selecting
	 * this completion. When `falsy` the label is used.
	 *
	 * The `insertText` is subject to interpretation by the client side.
	 * Some tools might not take the string literally. For example
	 * VS Code when code complete is requested in this example `con<cursor position>`
	 * and a completion item with an `insertText` of `console` is provided it
	 * will only insert `sole`. Therefore it is recommended to use `textEdit` instead
	 * since it avoids additional client side interpretation.
	 *
	 * @deprecated Use textEdit instead.
*/

It is deprecated but we can't continue to ignore it since many language servers use it and atleast at this point there is not a way of specifying the format of Edits to be TextEdits precisely.

The insertText handling must take place in the following manner therefore.

We will have a insertionPoint field in the internal plugin completion protocol. This would indicate the place from where the insertText or EditText was originally meant to be placed.

We will convert a insertText to a TextEdit as soon as we receive it in the completions from Language Server. This also includes having the heuristic to calculate the word length to be replaced and add it as a TextEdit.

For example:
if the text is like abc.se| with | representing the caret. The insertText we get is actually, select() and not lect(), so we by our heuristic we need to calculate another TextEdit that deletes se and inserts select() or insert lect() or replace se with select() whatever apt.

We internally convert the TextEdits to the Deltas in the PluginLib before dispatching it to the core.

If a user keeps typing while the completion suggestions are active, we need to filter/sort the current suggestions using the text present between the insertionPoint and currently caret position. VSCode uses a version of modified levenshtein edit distance function to filter and sort the text.
@cmyr Can you link up the implementation source here?
We can have it in a function that takes all completions, current text between insertionPoint and caret and return Vec<Option<Score>>. If it is None for a completition, it means it needs to be filtered out else sort them on the basis of score.

We have 2 strategies for handling the deltas. We can either keep modifying the deltas as the user types and apply them when he selects something or we can store a rev of the document when the completion request was made. We can then apply the orginal delta at that rev of the document. A decision regarding this choice is not made yet.


Perceptual loss: LPIPS vs. StyleGAN Discriminator

Hi!
Thanks for sharing this awesome work :-)
I'm wondering on the difference in perceptual image quality when using the LPIPS model (as stated in the paper) vs. the StyleGAN discriminator (as used in the updated collab notebook) for the perceptual loss.
In your experience, what kind of  difference does using the StyleGAN discriminator have on the image quality, when compared to using LPIPS?

Hi, the paper should be updated on arxiv with some comparison. But generally lpips captures less details and has some downsampling artifacts.

I've just noticed the updated paper, and read through the relevant section. Thanks for the answer!


Can we add a tag in the header of a kernel file to indicate if it is a full kernel file or an incremental kernel file

Would be nice if we had a tag in the header of a kernel file which indicated if the file is a full self contained kernel application file Vs an incremental kernel file.
This would help the VM at startup, if the specified file is a full self contained kernel file it would create an isolate using this file directly and if the file is an incremental kernel file it would create an isolate with the platform file and then load this kernel file into the isolate.

I think we also need the following tags while we are at it:

was the kernel file compiled in strong mode or not?
was kernel file fully linked or not.

/cc @kmillikin @sjindel-google

What would be the difference between a 'fully linked kernel file' and a 'full self contained kernel application file' ?
Would we consider the current vm-platform.dill file a 'fully linked kernel file'?
It is not a 'full self contained kernel application file' per my definition above.

I think I got confused by 'incremental': e.g. if we use Kernel binary as a script snapshot then it is not incremental in any way, it just does not contain core libraries.
Now that I reread your definitions I think 'fully linked kernel binaries' are the same as 'self contained kernel application file'.
Fully linked kernel binaries are used for AOT cases, while non-linked / partial / incremental (we need some sort of good name for this) are used for JIT cases.

Yes, we will add this.

@kmillikin - I bumped this to Beta 3.  Can you move to Beta 4 or Dart 2 if one of those is more appropriate?

@a-siva any further thoughts on what is needed here? I agree that strong/nonstrong isn't needed.

We need a state in the header file that would help us identify a kernel file type, the various types being

a fully linked self contained kernel file (includes platform.dill)
a kernel file that is not fully linked (i.e it does not include platform.dill)
a kernel file generated by the incremental compiler that is used only for hot reloads

Let's do this to get unblocked: add a header metadata field that tools can write anything they want into.  We can make it variable-sized eventually, but for now let's make it a fixed-size (1 byte).  It'll be easy to skip, and easy to sniff.
Since the Dart team currently controls all the tools and transformations, we can use it however we want.  I'll create a doc somewhere we we can record the way that we use the field.

Still required for 2.1?

Unrelated to Dart 2.1.

Missing this feature makes it really hard for us to track whether a Flutter app was build with the --track-widget-creation transformer or not which is critical to let users turn on that flag safely.
I think I have an acceptable workaround implemented purely within flutter_engine to unblock but having the right solution would be really nice to improve code health.
Background info:
https://dart-review.googlesource.com/c/sdk/+/52403
was dropped waiting for this feature to land but we can't wait anymore.
I think I have a more limited fix than https://dart-review.googlesource.com/c/sdk/+/52403 but it is even more of a hack it needs to be a temporary solution.
@aam

I think this should be P1 not P2.

Workaround CLs:
https://dart-review.googlesource.com/c/sdk/+/80401
https://github.com/flutter/engine/pull/6562
This workaround is more expensive than reading a header field as worst case we have to load the whole dill file and then discard it as the transforms were incompatible.
Typical case should be fine as there is not a significant slowdown if the transforms are compatible which is normally the case.


fix(region): purge private cloud sku

这个 PR 实现什么功能/修复什么问题:

[x] 功能、bugfix描述
[x] 冒烟测试
[ ] 单元测试编写

是否需要 backport 到之前的 release 分支:

release/3.6

/area region
/cc @zexi

Codecov Report

Merging #9640 (b21903a) into master (43495f8) will increase coverage by 5.97%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #9640       +/-   ##
===========================================
+ Coverage    6.00%   11.97%    +5.97%
===========================================
  Files         845      231      -614
  Lines      131233    25727   -105506
===========================================
- Hits         7877     3082     -4795
+ Misses     122654    22334   -100320
+ Partials      702      311      -391

Flag
Coverage Δ

aFlag
11.97% <ø> (+5.97%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/cloudcommon/db/paging.go

pkg/util/stringutils2/ignorecase.go

pkg/multicloud/aws/keypair.go

pkg/compute/models/vpcs_mapped_address.go

pkg/mcclient/options/secgroup.go

pkg/multicloud/aws/securitygroup.go

pkg/compute/models/syncworkers.go

pkg/compute/models/loadbalancers.go

pkg/util/regutils2/regutils.go

pkg/keystone/models/roleresource.go

... and 603 more

Continue to review full report at Codecov.

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


Make symbiflow toolchain installation dynamic

Currently the symbiflow install package is hardcoded.
A more dynamic way of getting the package would be required

I don't quite understand what feature you are proposing here?

Currently the symbiflow toolchain has a fixed version, instead of pointing to a latest version. This is more a symbiflow-arch-defs side enhancement I suppose

This was fixed in https://github.com/SymbiFlow/fpga-tool-perf/pull/290. Closing


Add automatic version detection to Javadoc badge

@valery1707 Many thanks, I will find someone to review it before we merge

@yegor256 review it please, it is a rather short pull request, no need to do a full code review

@valery1707 thanks!

@yegor256 I added 16 mins to your account, many thanks for working with the project (000-b6fd261a)! The completion time here was 18 hours and 56 mins.... extra minutes for review comments (c=1)... +16 to your rating, your total score is +5165

@rultor deploy now pls

@rultor deploy now pls

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor deploy now pls

@davvd Done! FYI, the full log is here (took me 11min)


Error when try to adding gpg on debian 9

Error :
gpg: no valid OpenPGP data found.
It works with my solution

Proposed changes

Unreleased project version (optional)

Related issues (optional)

@thaJeztah can you please let me know if this needs fixing or is ready to go? thanks!

It's unclear what the change is fixing, and we're unable to reproduce the problem, so I would suggest closing this PR for now


Some light export fixes

Support non-uniform disk lights and ensure point lights position uses world space

LGTM !


Display trades

Features

Trades are displayed properly

Concerns

@MeghaBambra
Removed background thread for KeyPair generation because that should to be completed before entering the wallet (Removes a lot of edge cases to worry about: I ran into one that crashed the app before the public key could be saved, but the encrypted phrase was still there, so that caused a lot of other crashes because the app assumes that if the phrase exists, the public key exists, which i think is reasonable)
We could add a message along with the progress bar if it takes too long to login for the first time, something like "Generating Stellar address..." (We'll see as we test in the next few days?)

Screenshots

@Daniel-Wang LGTM


profile-fields: Check for date fields before initializing flatpickr.

See https://chat.zulip.org/#narrow/stream/9-issues/topic/user.20management.20-.20error.20in.20new.20realm.20on.20dev/near/1826159
Updates initialize_custom_date_type_fields to first check to see if there are any custom profile date type fields. If not, then there's nothing to initialize and return early. If there are, then initialize the event listeners for all custom profile date type fields.
Manually tested updating settings/profile fields in dev environment with:

Realm with no date fields
Realm with one date field
Realm with more than one date field

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @laurynmm!


Error Code standardization -2

Due to many changes, error code needs to be arranged again.
Frontend can only rely on errorcode when they face with errors.

@hyossid
I think it would be best to follow this example
(define-constant not-authorized-err u1000)
This way, when we return an err, the err keyword is explicit:
(err not-authorized-err)

@MarvinJanssen your thoughts on the error code style? Think we should agree to something.

As discussed with @JBotwina yesterday. Just to be clear, we don't want to spend too much time here, so let's be as efficient as possible.
In terms of what we should do.

we need to agree to the error code style. "err" at the beginning? at the end? all big capital letters?
group them to categories (like "General Error", "Pool Error", etc.)
remove redundant errors.
re-word, where needed, errors so they make more sense.
update the doc.

Yes, Sidney and I agreed that we should define the errors like this:
(define-constant NOT-AUTHORIZED-ERR u1000)
He has already cleaned up and deleted the useless error code on the fix/errcode branch. I will make the other changes today.

done and merged


TabGui disabling on its own

So if I close the client and reopen it the tab gui disappears.

Thanks for opening this issue, have you modified the way modules or configs work in any way? Have you moved stuff inside of the main class (BaseClient.java)?
I'm assuming that you do manage to open the TabGui and once the client is closed it's gone, is that correct?

So if i run the client for the first time no mods at all to the configs and stop it tehn restart it the tabgui isnt there

hmm this code is dead
	if (transparent != null) {
        for (int i=0;i<texWidth*texHeight*4;i+=4) {
        	boolean match = true;
        	for (int c=0;c<3;c++) {
        		if (toInt(scratch.get(i+c)) != transparent[c]) {
        			match = false;
        		}
        	}

        	if (match) {
        		scratch.put(i+3, (byte) 0);
           	}
        }
    }

So if i run the client for the first time no mods at all to the configs and stop it then restart it the tabgui isnt there
Can you confirm that the tabgui is there before you close the client and that you haven't modified the main class nor the modules one?

I fixed it By Going into jars\BaseClient\modules\semi-hidden and changing the thing to true.

So your tabgui wasn't toggled in the first place, to toggle it you can send ".toggle tabgui" in the chat


BUG- Token Allocation

What's the bug here?

In Fractal VC if you want to jump in was about to talk to @christopherdancy about it. @adamgall

if you set a
Supply: 10.
Parent Allocation: 5
Token Allocations: one addresss -> 5
go to the next screen and submit. notion will happen if you go back to the token allocation screen you will see added allocations and an supply error.

I think I know whats happening here. so the 'rest' that gets sent to the new SubDAO's treasury isn't accounting for the parent token allocation @adamgall


[Event Request] Table 5093 "Opportunity Entry".InsertEntry

Describe the request
Please add new event
procedure InsertEntry(var OppEntry: Record "Opportunity Entry"; CancelOldTask: Boolean; CreateNewTask: Boolean)
var
    OppEntry2: Record "Opportunity Entry";
    EntryNo: Integer;
begin
    OppEntry2.Reset();
    if OppEntry2.FindLast() then
        EntryNo := OppEntry2."Entry No."
    else
        EntryNo := 0;
    OppEntry2.SetCurrentKey(Active, "Opportunity No.");
    OppEntry2.SetRange(Active, true);
    OppEntry2.SetRange("Opportunity No.", OppEntry."Opportunity No.");
    if OppEntry2.FindFirst() then begin
        OppEntry2.Active := false;
        OppEntry2."Days Open" := OppEntry."Date of Change" - OppEntry2."Date of Change";
        OppEntry2.Modify();
    end;

    OppEntry2 := OppEntry;
    OppEntry2."Entry No." := EntryNo + 1;
    OppEntry2.Active := true;
    OppEntry2.CreateTask(CancelOldTask, CreateNewTask);
    //--------------------------------------------------------OnInsertEntryOnAfterCreateTask:BEGIN
    OnInsertEntryOnAfterCreateTask(Rec, OppEntry2);
    //--------------------------------------------------------OnInsertEntryOnAfterCreateTask:END
    OppEntry2.Insert(true);
    OppEntry := OppEntry2;
    OnAfterInsertEntry(OppEntry);
end;

//--------------------------------------------------------OnInsertEntryOnAfterCreateTask:BEGIN
[IntegrationEvent(true, false)]
local procedure OnInsertEntryOnAfterCreateTask(var OppEntry: Record "Opportunity Entry"; var OppEntry2: Record "Opportunity Entry")
begin
end;
//--------------------------------------------------------OnInsertEntryOnAfterCreateTask:END

Additional context
We need option change record before insert.
Internal work item: AB#561111

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


"Different jenkins master URL" doesn't work

I have set "Different jenkins master URL" to bypass or proxy but once the container starts it uses "Jenkins URL" as Jenkins server URL.
Environment:
Jenkins 2.89
Yet another Docker plug-in  0.1.0-rc47
Windows container log:
###################################
JENKINS_URL = https://no-proxy.com
JENKINS_USER =
JENKINS_HOME = c:\jenkins
COMPUTER_URL = computer/VH-WinDockerHost-2e30e1cf5b58/
COMPUTER_SECRET = xxx
NO_CERTIFICATE_CHECK = true
JAVA_OPTS =
SLAVE_OPTS =
###################################
Invoke-WebRequest -Uri https://no-proxy.com/jnlpJars/slave.jar -Outfile c:\jenkins/slave.jar
java  -jar c:\jenkins/slave.jar -noReconnect -noCertificateCheck  -jnlpUrl https://no-proxy.com/computer/VH-WinDockerHost-2e30e1cf5b58//slave-agent.jnlp -secret xxx
Skipping HTTPS certificate checks altogether. Note that this is not secure at all.
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main createEngine
INFO: Setting up slave: VH-WinDockerHost-2e30e1cf5b58
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener
INFO: Jenkins agent is running in headless mode.
Jun 20, 2018 9:33:23 AM hudson.remoting.Engine startEngine
WARNING: No Working Directory. Using the legacy JAR Cache location: C:\Users\ContainerAdministrator.jenkins\cache\jars
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [https://proxy.com/, https://no-proxy.com/]
Jun 20, 2018 9:33:23 AM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, Ping]
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: proxy.com
Agent port:    3698
Identity:      xxx
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to proxy.com:3698
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
Jun 20, 2018 9:33:23 AM org.jenkinsci.remoting.protocol.impl.AckFilterLayer abort
WARNING: [JNLP4-connect connection to proxy.com/<IP_ADDRESS>:3698] Incorrect acknowledgement sequence, expected 0x000341434b got 0x485454502f
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Protocol JNLP4-connect encountered an unexpected exception
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent
at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:223)
at hudson.remoting.Engine.innerRun(Engine.java:594)
at hudson.remoting.Engine.run(Engine.java:455)
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckFilterLayer.java:280)
at org.jenkinsci.remoting.protocol.FilterLayer.abort(FilterLayer.java:164)
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.abort(AckFilterLayer.java:130)
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecv(AckFilterLayer.java:258)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669)
at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:136)
at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer.access$2200(BIONetworkLayer.java:48)
at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader.run(BIONetworkLayer.java:283)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:98)
at java.lang.Thread.run(Unknown Source)
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to proxy.com:3698
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Server reports protocol JNLP4-plaintext not supported, skipping
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Server reports protocol JNLP3-connect not supported, skipping
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Server reports protocol JNLP2-connect not supported, skipping
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener status
INFO: Server reports protocol JNLP-connect not supported, skipping
Jun 20, 2018 9:33:23 AM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: The server rejected the connection: None of the protocols were accepted
java.lang.Exception: The server rejected the connection: None of the protocols were accepted
at hudson.remoting.Engine.onConnectionRejected(Engine.java:655)
at hudson.remoting.Engine.innerRun(Engine.java:619)
at hudson.remoting.Engine.run(Engine.java:455)

It may be related to remoting. Even via proxy connection slave (remoting) gets list of master address and tries to connect firstly directly, then fails https://github.com/jenkinsci/remoting/pull/275 Try block output connections to master address with ICMP REJECT.

We have managed to fix our proxy to proxy TCP requests


Make API version in swagger.yaml updated on every release

Issue Number
#2182
Overview

caf9c4bf62565aea7f87600052e0992828eaad65
Make API version in swagger.yaml updated on every release

Comments

bors merge


exception raised on optional closing img tag ()

Hey, I guess I found a bug.
I am aware that there is no closing tag for  . However, people keep includes them in and browsers can handle that with no issues. Thus I think it should be taken into consideration when running the minifier.
minify-html version 4.10
python 3
minify("", minify_js=True, minify_css=True)
# SyntaxError: Unexpected closing tag. [Character 6]

# While this is fine and produces correct result
minify("", minify_js=True, minify_css=True) == ""

expected result:
 should be minified to  by removing the closing tag.

This has been implemented as of version 0.5.0. Closing void tags are now simply ignored. The parser can now handle all possible inputs and will never return/throw an error.
Note that 0.5.0 is a breaking change from 0.4.x, but API changes are minor. The Python library should have no breaking API changes.
Let me know if it works for you.


marathonctl: init at 2017-03-06

Motivation for this change
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Renamed to marathonctl-unstable.

Pushed to master in 6cc1200bd586dc8eeb930bbc3a25299ea27e5409. Many thanks for the contribution!


Make tools/test-documentation verify the links in the /help/ articles

We've had a decent number of typos resulting in broken links in that content, and it seems like it'd be pretty easy to just verify them explicitly.  Probably just involves some configuration for the test-documentation crawler.
@kkanahin do you want to take this task?  localhost:9991/help/ is the set of pages under discussion.

@timabbott sure I can take this task.

Hi, @timabbott. If I'm not mistaken this is the same as #2505, right? If it is I think we rectified this by commit b621817.

No, that only verifies the pages render; this would also verify that the outgoing links work, via the test-documentation suite (which is slow and thus only used in Travis CI).

@timabbott I just couldn't fix '/privacy' page, other typos was fixed.
Also, I've refactored render_markdown template tag, please pay attention to it.


feat: zoom in on the game screen to show the players bot more closely

Can I get assigned for this issue?

@aldrin312, 👋  thank you for reaching out! I have already assigned #50 to you, and we usually take tasks one at a time. Doing this lets us stay focused and enables others to grab tasks that aren't being actively worked on at the moment 😄 Let's do #50 first. After this, you can take this one unless someone else gets to it before then.

Sorry I thought this was easy to implement that I can do a pull request together with #50.
I'll finish issue #50 first.

May I work on this next?

@aldrin312, of course! I am not completely sure how exactly this one should look like. Hopefully, you are open to iterate a bit on the implementation.
I think, for this one, we want:
a) a minimap in the bottom right corner showing the whole game – it should be reasonably sized to see everything
b) the main screen should show the game screen somewhat zoomed in on the player
Maybe, we should also keep an option to "zoom out" and get back to the current mode by pressing a button.

My first thought was using a the scroll wheel to zoom in on the point where the mouse currently is on the canvas.

This is what I have so far.
Currently its zooms in on mouse wheel, I'll change it to a button later if that's more preferred.
I will also make it follow the player on zoom in.

@aldrin312, this looks pretty cool! 🔥
I think that following the player while zoomed in is important. It's up to you how to implement it; potentially we can have 3 modes:

zoomed out (like it is now on main)
zoomed in with the wheel – the user can explore the map freely
zoomed in "follow" mode – in this mode, we determine the level of zoom automatically and follow the player

The "follow" mode can be triggered via a button, and the user can get out of it by either:

zooming with the mouse wheel – user transitions into the mode 2
moving the map with the mouse – user transitions into the mode 2
clicking a button – user transitions into the mode 1

If you want, we can merge the mouse wheel zoom (mode 2) first.
What do you think?
By the way, is it possible for me to "move" the map by dragging when I am zoomed in? This would be very cool.

I'll see what I can do on implementing the 3 modes and I do want it to be able to be draggable on mouse down when zoomed in, but I'm not sure how to do that yet.
Though I think its better if mode 2 instead it let user zoom in with mouse wheel on mouse location so that they can explore the map freely by dragging the map. I'll try making a pull request for this one first and then the follow button after.

@aldrin312, sounds good. Thank you.

I think its better if mode 2 instead it let user zoom in with mouse wheel on mouse location so that they can explore the map freely by dragging the map

Yes, this is what I am thinking too about the "mode 2."

closed by #81