Sass 1284

Description
Create 'are you still working at employer' radio button EOY page.
SASS-1236
Checklist PR Reviewer
Before Reviewing

[x]  Have you pulled the branch down?
[x]  Have you assigned yourself to the PR?
[x]  Have you moved the task to “in review” on JIRA?
[x]  Have you checked to ensure all dependencies are up to date?
[x]  Have you checked to ensure its been rebased against the current version of master?

Whilst Reviewing

[x]  Have you run the tests?
[ ]  Have you run the journey tests?
[x]  Have you looked at the JIRA story to make sure all Acceptance Criteria has been met?

After Reviewing

[ ]  Have you checked for merge conflicts or any changes in the current master that may affect the current pull request? i.e. does it need another rebase?
[ ]  Have you checked to make sure there are no builds in the pipeline before you merge?
[ ]  Have you moved the task to “in pipeline” on Jira?

[x]  Have you rebased against the current version of master?
[x]  Have you checked code coverage isn’t lower than previously?

After PRs been raised

[ ]  Have you checked the PR Builder passes?

waiting for journey tests to be reviewed


verify if package commands works on the basic application

Since cesium stuff is a symlink in resources

works fine


ng-if doesn't work correctly with  tags

Using the ng-if directive on a paragraph tag with a nested paragraph inside of it always displays the nested paragraph even if the ng-if expression evaluates to false. Switch the paragraph to a div and it works fine.
Quick fiddle...
http://jsfiddle.net/V9sYB/49/

Hey, you are not the only one that didn't know that.


[BUG] Unattend.xml not applied to ISO

The script does not apply the unattend.xml to the image.
I generated an autounattend.xml using https://www.windowsafg.com, imported it into System Image Manager, remedied the errors and exported it to an unattend.xml placed in the Content/Additional/Unattend folder.
The logged error:

Index     : 0
Exception : Cannot create a file when that file already exists.
Category  : NotSpecified: (:) [Use-WindowsUnattend], COMException
ErrorID   : Microsoft.Dism.Commands.UseWindowsUnattendCommand
Target    :
Command   : [Void](Use-WindowsUnattend @ApplyUnattendParams)
Script    : C:\Optimize-Offline\Optimize-Offline.psm1
Line      : 1463
Column    : 13

Image Name: Windows 10 LTSC
Image Build: 17763
Host Environment: Windows 10 LTSC 17763
Parameters Passed:

{
"_Info": [
"This is a JSON based Configuration file for Optimize-Offline.",
"Ensure proper formatting is used when editing the JSON parameter values.",
"Boolean parameter values use true and false. String parameter values must be enclosed in double-quotes."
],
"SourcePath": path to iso,
"WindowsApps": "All",
"SystemApps": true,
"Capabilities": true,
"Packages": true,
"Features": true,
"DeveloperMode": false,
"WindowsStore": false,
"MicrosoftEdge": false,
"Win32Calc": true,
"Dedup": false,
"DaRT": [],
"Registry": true,
"Additional": {
"Setup": true,
"Wallpaper": false,
"SystemLogo": false,
"LockScreen": false,
"RegistryTemplates": true,
"LayoutModification": false,
"Unattend": true,
"Drivers": false,
"NetFx3": false
},
"ISO": "No-Prompt"
}

That error tends to occur if an unattend.xml already exists in the image. Is this a captured image you're trying to apply an answer file to or an OEM image?

I have attempted numerous integrations of multiple different types of answer files and have not been able to reproduce the error you have received on OEM images that have been updated offline to the latest builds. I have integrated answer files that simply boot the device into Audit Mode and others have do a substantive amount of additional changes. The actual error exception that is being returned for you is 'Cannot create a file when that file already exists,' which again makes my previous response more curious.


HTTP::StaticFileHandler doesn't work well with HTTP::CompressHandler

HTTP::StaticFileHandler includes a line that sets the Content-Length of the response to the size of the file being served. If HTTP::CompressHandler is also used, this length ends up being incorrect — usually it is larger than the actual size of the response, after compression. One consequence is that if the file is loaded in a web browser, the "loading" indicator will keep going forever, as the browser thinks there is more data to come (and the connection has not been closed, due to keep-alive).
Example code:
require "http/server"

server = HTTP::Server.new([
  HTTP::CompressHandler.new,
  HTTP::StaticFileHandler.new(__DIR__),
])
server.bind_tcp("<IP_ADDRESS>", 8080)
server.listen

Put this in the same directory as a file of non-trivial size (like a screenshot image), then in a web browser, go to localhost:8080/name_of_file. When I tested this with a PNG file in Firefox, the image displayed, but the loading indicator kept going indefinitely. When I tested with Edge the image was not displayed at all, and the request was stuck on "pending" in the dev tools.
This can be worked around by ordering the StaticFileHandler ahead of the CompressHandler, but in that case the static file responses will not be compressed.

Crystal: 0.34.0
LLVM: 8.0.0
Target: x86_64-unknown-linux-gnu

This is only an issue with CompressHandler. Doesn't matter whether you use it with StaticFileHandler, could just be any handler that sets Content-Length header.
The implementation of CompressHandler is very simple and it can't fully work like that. There are other problems to. For example, it should not compress when the body is empty or a downstream handler sets Cache-Control: no-transform header.
Fixing all this means to act when the downstream handler starts writing the body but after headers have been set. Maybe a callback on Server::Response needs to be added for that?

@digitalcora Thanks for the report and finding the root cause!
@straight-shoota I don't think a new callback is needed, it's possible to do with a custom IO wrapper which would set headers right before anything is written to the HTTP::Server::Response::Output.

@RX14 yes, that would be clever. I just wonder how are all the wrappers affecting the performance. Because there's already two defined in HTTP::Server::Response around the socket (add one if it's SSL) and the CompressHandler adds another one. This new wrapper would be just forwarding all calls except for the first one were it would check the headers? Maybe it's not a bad idea to add another callback to let the handlers check the headers one more time before writing.
Also, keep in mind that if Content-Length is not set, it's not possible to use Range headers later to resume downloads. Not that it's currently supported, but to keep that in mind for the future 😄
Of course this is a bug and must be fixed, but current implementation of CompressHandler and StaticFileHandler are still quite naive and waiting for so much love.

All this can be refactored for performance later. I'd stick with the easiest solution, whatever that ends up being. Introducing new public API for callbacks would require more design thought, so if I were to implement it I'd go for another wrapper, but that's just me.

@RX14 Sure! big 👍 from me. It's just some thoughts came to my mind when I read about this issue and I wanted to share related concerns.

Such a callback doesn't need to be public API. It could just be internal and tailored for this exact use case. Implementation wise this might even be easier than another wrapper because you don't need to care about wrapping semantics.


Eanders ms

@eanders-MS,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


How can i reconnect if the connection is lost?

I use this library with blender bpy, and sometimes the rendering (which is a synchronous operation) exceeds the value of KeepAliveInterval. In this case, I want to try to restore the connection.
What should i do?

In pyeasee I just put the code inside a try-except and a loop around it.
So far that seems to work fine. See here:
https://github.com/nordicopen/pyeasee/blob/bceeb06e05cbf13908cf6492667633ed0bf9c62d/pyeasee/easee.py#L284


What features of WinRT API are implemented?

Hello!
I've tried to retrieve anything from XBOX Live Services for about 2 weeks.
I managed to:

log in my test account
retrieve basic information about the user
create context for the user
get the list of achievements for the game

I didn't manage to:

set any award for the user
set or get any statistic of the user
report any score or request any score for the user
send user presence

Or anything at all.
Tried everything, requesting every possible instances, services or anything at all I could find in the Xbox Live WinRT SDK documentation. Everything on the DevCenter is assured to be set up properly, same with the application (store association, xboxservices.config, storeKeys and so on).
Is the more than a half of the content of Xbox Live even implemented in the API?
Or should I immediately start to recall my knowledge about C++ and start from scratch without it?
Or maybe there are more docs, that I'm not aware of?

Additional Information:

developing UWP app for Windows Store
using C# to develop (that's why I choose WinRT version)
project based on Unity 2017.3
targeting ID@XBOX with features such as Achievements 2017

Hi Vesemirek,
In order for us to better assist here, could you please provide the following information:

Just to clarify, are you already registered with the ID@Xbox program?
What version of Xbox Live are you using?
What IDE are you using and what version?

Thanks!

Hmm, all the Xbox Live services a game can call are implemented in the WinRT API.  A number of big game studios have shipped using the WinRT API.
There's docs about how to use Unity and the WinRT API at:
https://docs.microsoft.com/en-us/windows/uwp/xbox-live/get-started-with-partner/partner-add-xbox-live-to-unity-uwp
There's a few Unity samples using the WinRT API at:
https://github.com/Microsoft/xbox-live-samples/tree/master/Samples/ID%40XboxSDK/Social/Unity
https://github.com/Microsoft/xbox-live-samples/tree/master/Samples/ID%40XboxSDK/GameSave/Unity
https://github.com/Microsoft/xbox-live-samples/tree/master/Samples/ID%40XboxSDK/DataPlatform2013/Achievements2013/Unity
See the readme for how to run them.  For example:
https://github.com/Microsoft/xbox-live-samples/blob/master/Samples/ID%40XboxSDK/Social/Unity/Readme.md

Hello,  thanks for an aswer.
1. ID@XBOX
Yes and I plan to be prepared for every feature that this program supports in opposition to Creators Program and of course basic features that are supported in CP and ID@XBOX.
2. Xbox Live
Do you mean which structure (2013 or 2017) I'm targeting? If so, as im registered in ID@XBOX I'm trying to target Stats 2017 and Achievements 2017 and of course features such as rich presence.
If you're talking about XSAPI, it's the latest avaible unitypackage (1711).
Xbox version on my PC is 36.36.12003.00000.
3. About IDE:
I tried on every update of VS2015 Community and VS2017 Community with Unity Tools. Also tried building in Unity 5.6.4p4, Unity 2017.2.0f3 and Unity 2017.3.1f1, both using IL2CPP and NET builds.
Some builds connected, some crashed during compiling, some messed up with UnityLinker, SerializationWeaver (even empty builds), so after trying everything I stumbled upon that one moment when I tested it on very old environment on the other PC with another test account and from my entire code I managed to score an achievement.
So I'm currently running on VS2015 Update 3 and building on Unity 5.6.4p4 with Windows 10 SDK version 10.0.14393.0 IL2CPP build, because that's the only option that worked somehow with the achievement system.
As it may seem for now, it can be an issue with Unity and/or the IDE itself or that specific test account, so sorry about questioning the API implementation. But still, I did not manage to do anything else, except managing to award test account with the achievement on that one proper environment setup.
About the docs, I've read the entire Xbox Live guidelines and WinRT docs, every sample, even strict C++ headers to understand what's happening, even if I'm more familiar with C#. But thank you for providing those links, they may be useful for others reading this issue.

If you need any examples of my implementation, current version of the tools or what I've tried to do, contact me ;) (fiddler feedback messages, scripts and so on).

Using most of the commands with await keyword caused those issues. Sorry for bothering you, #blameTheIDE

All of the unity samples links are broken. @jasonsandlin can you provide the new locations?

The 3 unity samples that use the XSAPI WinRT API are here:
https://github.com/microsoft/xbox-live-samples/tree/master/ID%40XboxSDK/GameSave/Unity https://github.com/microsoft/xbox-live-samples/tree/master/ID%40XboxSDK/DataPlatform2013/Achievements2013/Unity https://github.com/microsoft/xbox-live-samples/tree/master/ID%40XboxSDK/Social/Unity

Thanks @jasonsandlin !
Do you know if there's anything like the unity xbox live plugin found here, available for ID@Xbox UWP games https://github.com/Microsoft/xbox-live-unity-plugin
Also will that plugin work for ID games if you add achievements ?

Do not use https://github.com/Microsoft/xbox-live-unity-plugin for ID@Xbox titles.    Its only designed for Creators.


[Bug] No module named dartie (snakemake)

Hey there,
I've been trying to use the snakemake workflow for sopa with baysor segmentation. I followed the installation steps specific to snakemake and verified the correct installation of sopa and snakemake (sopa --help and snakemake --help) and everything looked good. However when I tried to run it using the following code:
snakemake --config data_path=PATH\to\region_0 --configfile=PATH\to\baysor_vizgen.yaml --cores 1 --use-conda
I get ModuleNotFoundError: No module named 'datrie'
I realise there have been issues with snakemake and datrie. I think I successfully installed it for my system settings by manually downloading the
datrie-0.8.2-cp38-cp38-win_amd64.whl file and renaming it to datrie-0.8.2-cp310-cp310-win_amd64 as pip list shows datrie 0.8.2. However snakemake does not seem to be able to import it and nor can I when I try to import it in my python executable...
Would love some guidance on this issue. Please let me know what I am doing wrong and if there are any workarounds.
Thank you so much!
Luc

Windows system
Python 3.10.14

Paste here what 'pip list' gives you.
 Maybe that helps if you're also using it, otherwise, please discard this message 😄

Hello @marsdenl, thanks for reporting this.
Can you let me know if the solution of @lguerard is working?
Else, can you try to install snakemake<8.1.3, and in a separate environment? I.e., one environment for sopa, and one environment for Snakemake (then, when running, Snakemake will be able to activate the sopa environment).

Hey @quentinblampey @lguerard that did it, thank you so much! I should have tried this before reaching out, apologies. Managed to download it and load it alright :)
However, I am having issues with snakemake still (I tried it both on the practice dataset from vizgen and on mine, though they failed at different steps). Here is the code:
snakemake --config data_path=Z:\Queries\Data\Batch5_region1\region_1 --configfile=Z:\Queries\baysor_vizgen.yaml --cores 1 --use-conda
Here is the log
Building DAG of jobs...
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
job                count

aggregate              1
all                    1
explorer               1
image_write            1
patchify_baysor        1
report                 1
resolve_baysor         1
to_spatialdata         1
total                  8
Select jobs to execute...
[Tue Sep 10 10:01:36 2024]
rule to_spatialdata:
input: Z:/Queries/Data/Batch5_region1/region_1
output: Z:/Queries/Data/Batch5_region1/region_1.zarr/.zgroup
jobid: 4
reason: Missing output files: Z:/Queries/Data/Batch5_region1/region_1.zarr/.zgroup
resources: tmpdir=C:\Users\marsdenl\AppData\Local\Temp, mem_mb=128000, mem_mib=122071
Activating conda environment: sopa
[Tue Sep 10 10:14:36 2024]
Error in rule to_spatialdata:
jobid: 4
input: Z:/Queries/Data/Batch5_region1/region_1
output: Z:/Queries/Data/Batch5_region1/region_1.zarr/.zgroup
conda-env: sopa
shell:
    sopa read Z:\Queries\Data\Batch5_region1\region_1 --sdata-path Z:\Queries\Data\Batch5_region1\region_1.zarr --technology "merscope"

    (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Removing output files of failed job to_spatialdata since they might be corrupted:
Z:/Queries/Data/Batch5_region1/region_1.zarr/.zgroup
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake\log\2024-09-10T100135.413906.snakemake.log
Would you have any recommendations for this? I assume this is a different issue altogether so happy to close this and create a new one if that's easier for you?
Thank you very much!

Hi, sorry for the delay.
Can you try the command below (i.e., outside of snakemake) and see if you have the same issue? If yes, can you paste the error message?
sopa read Z:\Queries\Data\Batch5_region1\region_1 --sdata-path Z:\Queries\Data\Batch5_region1\region_1.zarr --technology "merscope"

Sorry I should have closed this issue earlier. I managed to get past this :)

Great, thanks! Could you share how you managed to get through this? It could help other users

To be honest I am not certain why it started working again. When I thought I had initially solved it, I had added single quotation marks around merscope in the .yaml file (technology: 'merscope'). However, I tried to run the code again for this post to make sure it still worked and it did not anymore. So I removed the quotation marks and it worked! The CLI sopa read Z:\Queries\Data\Batch5_region1\region_1 --sdata-path Z:\Queries\Data\Batch5_region1\region_1.zarr --technology "merscope" had always worked, I never had issues with that :) Sorry this isn't very useful for others


Base definitions for online estimators

Here, we have base definitions for online estimators. The main idea is that the estimators should be fully numeric, and totally agnostic to the models being used (though they must know what numbers/numpy.ndarrays are inputs, hidden states, and outputs, of course).
We have a MultivariateRandomVariable class, which is used to describe hidden states and measurements (maybe also inputs, but I don't know how to properly do that yet). We also establish a class to facilitate the interface between CellModels and the estimators.

Could you show me how one creates a OutputMeasurement class? I'm still unsure why it needs to exist separately from an OutputQuantities if both represent kind of the same thing.

The main idea is that the OutputQuantities is a deterministic output specific to the CellModel, while the OutputMeasurements is a random variable (so it would, for example, include mean and variance in the case of a Gaussian). Effectively, the OutputMeasurements acts as an interface between the "physics"-based OutputQuantities and the statistics-based estimator.

Ok, that makes sense. It seems sensible enough to keep measurements and model outputs separate for now, but I'm going to keep an eye open for an opportunity or reason to reduce complexity by merging the two.

Sounds good! I think the best place to re-evaluate the distinction might be when we do the minor revamp for optimizing batches of hidden states (like from sigma points)


fix compose app update

http://jira.dataman-inc.com/browse/BORSP-1613

端口协议名称大写，否则前端页面不识别，导致编排发布的App无法更新。
补上 Gateway.Enabled 字段

Codecov Report

Merging #665 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #665   +/-   ##
======================================
  Coverage    18.1%   18.1%
======================================
  Files          28      28
  Lines        1640    1640
======================================
  Hits          297     297
  Misses       1301    1301
  Partials       42      42


Remove unused Docker code

What type of PR is this?
/kind cleanup
Which issue(s) this PR fixes:
Fixes #4500
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

[ ] Update changelog

[ ] I have read the test guidelines

How to test changes / Special notes to the reviewer:

It looks like the failures in 4.7 are only due to the linking issue we're seeing after SBO 0.9.0.

It looks like the failures in 4.7 are only due to the linking issue we're seeing after SBO 0.9.0.

/test v4.8-integration-e2e
/test psi-kubernetes-integration-e2e

 Failure [2.042 seconds]
odo project command tests
/go/src/github.com/openshift/odo/tests/integration/project/cmd_project_test.go:12
  should list current empty project in json format [It]
  /go/src/github.com/openshift/odo/tests/integration/project/cmd_project_test.go:51
  Expected

      <string>: {"apiVersion":"odo.dev/v1alpha1","items":[{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"myproject","namespace":"myproject"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"nodejs-12","namespace":"nodejs-12"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"nodejs-12-rhel7","namespace":"nodejs-12-rhel7"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"nodejs-14","namespace":"nodejs-14"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"odo-operator-test","namespace":"odo-operator-test"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"openjdk-11","namespace":"openjdk-11"},"spec":{},"status":{"active":false}},{"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"openjdk-11-rhel8","namespace":"openjdk-11-rhel8"},"spec":{},"status":{"active":false}}],"kind":"List","metadata":{}}
  to contain substring
      <string>: {"apiVersion":"odo.dev/v1alpha1","kind":"Project","metadata":{"creationTimestamp":null,"name":"cmd-project-test51rsu","namespace":"cmd-project-test51rsu"},"spec":{},"status":{"active":true}}
  /go/src/github.com/openshift/odo/tests/integration/project/cmd_project_test.go:57

#4960

/approve
Was waiting for CI to go green. It's code removal PR so don't need it to go through more review cycles.


Whats the status of the management UI?

Whats the status of the management UI?
https://atlasgo.io/ui/intro

Hey @rightisleft, and thanks for reaching out.
We decided to remove the management UI from the released binary a few months ago for a few technical reasons - I can elaborate if you're interested, but the TL;DR is that I believe the Atlas engine and the management UI should be separated.
Also, from my discussions with multiple users, I found out that all of them are interested in the ERD component, and editing the schema and executing migrations from the management UI are unused features.
What's the status now? The current incarnation of the management UI is called Ariga Cloud. We have silently launched it for feedback from the community, and I'll be really happy if you try it.  The docs are here.
In any case, I would love to hear your thoughts on what you would expect to see in such a product. You can write it here or send me a message on our Discord.


Allow longer list-like objects to be stored without converting to histogram.

Is your feature request related to a problem? Please describe.
WandB converts any list-like object larger than 32 elements to a histogram automatically, and there is no way to avoid this behaviour.  This is incredibly frustrating as I want to track some arrays with size greater than 32, but they are compiled into a histogram from which I cannot get the original values out.
Describe the solution you'd like
Add an argument to init that sets the maximum size at which list-like entries are summarised into histograms.
Describe alternatives you've considered
I could store the arrays as images, but this is an irritating work-around and makes it less immediately compatible with the other metrics up- and down-stream.
Thanks,
A

I would like to give heads up to this point. I have the same problem I need to keep track of bigger arrays. Maybe something along the lines of a flag compress_to_histogram:bool=True. If I can help, I will be happy to.


Type Error on ingesting quandl default bundle

Dear Zipline Maintainers,
Before I tell you about my issue, let me describe my environment:
Environment

Operating System: (Windows Version or $ uname --all)

Darwin MY.home 16.4.0 Darwin Kernel Version 16.4.0: Thu Dec 22 22:53:21 PST 2016; root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64 i386 MacBookAir4,1 Darwin

Python Version: $ python --version

Python 3.4.6

Python Bitness: $ python -c 'import math, sys;print(int(math.log(sys.maxsize + 1, 2) + 1))'

64

How did you install Zipline: (pip, conda, or other (please explain))

pip

Python packages: $ pip freeze or $ conda list

alembic==0.9.2
bcolz==0.12.1
Bottleneck==1.2.1
certifi==2017.4.17
chardet==3.0.4
click==6.7
contextlib2==0.5.5
cyordereddict==1.0.0
Cython==0.25.2
decorator==4.0.11
empyrical==0.2.2
idna==2.5
intervaltree==2.1.0
Logbook==1.0.0
lru-dict==1.1.6
Mako==1.0.6
MarkupSafe==1.0
multipledispatch==0.4.9
networkx==1.11
numexpr==2.6.2
numpy==1.13.0
pandas==0.18.1
pandas-datareader==0.4.0
patsy==0.4.1
python-dateutil==2.6.0
python-editor==1.0.3
pytz==2017.2
requests==2.18.1
requests-file==1.4.2
requests-ftp==0.3.1
scipy==0.19.0
six==1.10.0
sortedcontainers==1.5.7
SQLAlchemy==1.1.10
statsmodels==0.8.0
tables==3.4.2
toolz==0.8.2
urllib3==1.21.1
zipline==1.1.0

Now that you know a little about me, let me tell you about the issue I am
having:
Description of Issue
Type error on trying to ingest quandl bundle for first time on clean virtual env install

What did you expect to happen?

Expected the ingestion to work seamless exactly like it did for the quantopian-quandl bundle.

What happened instead?

Got the following error:
`$ QUANDL_API_KEY="<MY_QUANDL_API_KEY>" zipline ingest -b quandl

Downloading WIKI metadata:   [####################################]
Traceback (most recent call last):
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/bin/zipline", line 11, in  load_entry_point('zipline==1.1.0', 'console_scripts', 'zipline')()
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/click/core.py", line 722, in call return self.main(*args, **kwargs)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/zipline/main.py", line 312, in ingest
show_progress,
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/zipline/data/bundles/core.py", line 451, in ingest
pth.data_path([name, timestr], environ=environ),
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/zipline/data/bundles/quandl.py", line 295, in quandl_bundle
show_progress=show_progress,
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/zipline/data/bundles/quandl.py", line 129, in fetch_symbol_metadata_frame
data['auto_close_date'] = data['end_date'] + pd.Timedelta(days=1)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/pandas/core/ops.py", line 609, in wrapper
na_op)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/pandas/core/ops.py", line 569, in maybe_convert_for_time_op
return cls(left, right, name, na_op)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/pandas/core/ops.py", line 282, in init
lvalues = self._convert_to_array(left, name=name)
File "/Users/my/Documents/Python/Virtualenvs/venv-py34-zipline-1.1.0/lib/python3.4/site-packages/pandas/core/ops.py", line 398, in _convert_to_array
if (inferred_type in ('datetime64', 'datetime', 'date', 'time') or
TypeError: data type "datetime" not understood
`
Here is how you can reproduce this issue on your machine:
Reproduction Steps

Fresh zipline install in virtual Python envirtonment (actually doesn't matter if it's a fresh install or not. This error is still thrown)
Run in terminal: $ QUANDL_API_KEY="<MY_QUANDL_API_KEY>" zipline ingest -b quandl

What steps have you taken to resolve this already?
Used the alternative default bundle quantopian-quandl
Sincerely,
Sekuri

x-ref https://github.com/quantopian/zipline/issues/1295

I added this to the bottom of fetch_symbol_metadata_frame in quandl.py.  Seems to work.
index = pd.DatetimeIndex(data['end_date'])
data['auto_close_date'] = index + pd.tslib.Timedelta(days=1)

Basically, you can add time offsets to a DatetimeIndex, but columns don't support that.  At least, with pandas 0.18.  I think it's supported in later versions though.
Elliott

We're using the latest Quandl API in our most recent release (1.2.0). Going to close this but feel free to re-open if you're still having issues or open a new issue 🙂


Unable to Authenticate

On initial setup of the device, I am unable to authenticate my Kwickset account. After entering my credentials it goes to the next page and asks "How would you like to receive your verification code?"
No mater which option I select I always get "Unknown error occurred"

this seems to be a version of or associated with the other issue "refresh_token_revoked". I was able to get it working after multiple tries, several of which gave me this error "refresh_token_revoked"


Fix crash on tap to focus due to miscalculated focus area

Related issues: #87 #84 #80 #61 #34
Only this line needed to change, but I couldn't help cleaning up some.

@larryng Hey there, just wanted to say thanks for making a PR for this - we ran into this issue as well and have merged it into our custom version as well. Thanks again!!

Hi @larryng, Thanks for taking a look at this issue.
I downloaded your code into my project. The tap gesture is not crashing as often it was before.
However I am still getting a crash.
Here is the callstack:
06-02 10:10:14.337 13129-13129/com.company.appname E/AndroidRuntime: FATAL EXCEPTION: main
                                                                      Process: com.company.appname, PID: 13129
                                                                      java.lang.RuntimeException: setParameters failed
                                                                          at android.hardware.Camera.native_setParameters(Native Method)
                                                                          at android.hardware.Camera.setParameters(Camera.java:1964)
                                                                          at com.flurgle.camerakit.Camera1$5.run(Camera1.java:586)
                                                                          at android.os.Handler.handleCallback(Handler.java:739)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                          at android.os.Looper.loop(Looper.java:145)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:6939)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at java.lang.reflect.Method.invoke(Method.java:372)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
06-02 10:10:18.041 13129-13129/com.company.appname I/Process: Sending signal. PID: 13129 SIG: 9

Its crashing on  private void resetFocus(final boolean success, final Camera camera).

Maybe the meteringAreas on can't be null
 private void resetFocus(final boolean success, final Camera camera) {
        mHandler.removeCallbacksAndMessages(null);
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (camera != null) {
                    Log.d("blupper.debug", "run: ");
                    camera.cancelAutoFocus();
                    Camera.Parameters params = camera.getParameters();
                    if (params.getFocusMode() != Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
                        Log.d("blupper.debug", "run: IF");
                        params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
                        params.setFocusAreas(null);
                        params.setMeteringAreas(null);
                        camera.setParameters(params);
                    }

                    if (mAutofocusCallback != null) {
                        mAutofocusCallback.onAutoFocus(success, camera);
                    }
                }
            }
        }, DELAY_MILLIS_BEFORE_RESETTING_FOCUS);
    }

Maybe meteringAreas can't be null on:
private void resetFocus(final boolean success, final Camera camera) {
        mHandler.removeCallbacksAndMessages(null);
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (camera != null) {
                    Log.d("blupper.debug", "run: ");
                    camera.cancelAutoFocus();
                    Camera.Parameters params = camera.getParameters();
                    if (params.getFocusMode() != Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) {
                        Log.d("blupper.debug", "run: IF");
                        params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
                        params.setFocusAreas(null);
                        params.setMeteringAreas(null);
                        camera.setParameters(params);
                    }

                    if (mAutofocusCallback != null) {
                        mAutofocusCallback.onAutoFocus(success, camera);
                    }
                }
            }
        }, DELAY_MILLIS_BEFORE_RESETTING_FOCUS);
    }

@eduardo4jesus I'm unable to reproduce the crash in an emulator nor on my phone.  Regardless, it looks like that crash is caused by something else, not this patch.  I've renamed the PR to narrow the scope of this PR as to not claim to fix every tap-to-focus crash.

@larryng, did you put a print inside the IF statement if (params.getFocusMode() != Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE) to see if it is getting called?
Not every tap gesture triggers it. Just when the focus try to reset while I am tapping. Usually I quickly click around, up and down, on the camera view. Every time camera.setParameters(params); it crashes.
I understand and agree that this problem is not the focus of this PR. I appreciate your attention.
Regards.

Merging this. Thanks @larryng! @eduardo4jesus I'll make a note to try to reproduce this problem and see what I can do. This portion of the code (tap to focus overall) is getting a closer before 1.0.0.

@larryng. I am still having this problem, and in the devices I have is really easy to reproduce. @dwillmc,  I didn't find the issue you mentioned regarding this problem.

@eduardo4jesus I have a day this week set aside to take care of this lib so I'll note to take a look at this


Update the dev doc

Hi:
Please, update your dev doc at https://github.com/kubernetes-helm/monocular/blob/master/src/ui/README.md
Before make the app you need to install node dependencies with npm install

The Makefile for compile and compile-aot can probably be updated to depend on the install rule

Sure, update your make file to install the node dependencies.


Languages

Closes #258
Closes #256
Closes #308
Closes #334

Looks good, as a future enhancement, we can make a Auto-setting (a parameter at the end of the URL). ping @bajiat
Otherwise merging...


SSL pinning

Browser
See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key_Pinning
Node.js
See example at the bottom: https://nodejs.org/api/https.html
We can implement this in the SDK or we could allow the dev to pass in their own https to the SDK
React Native
Application developer will have to set up themselves
https://medium.com/@jaedmuva/react-native-ssl-pinning-is-back-e317e6682642
https://itnext.io/react-native-security-ssl-pinning-cde086210d58

See #304


Staging

PR scope:
Update setup.py to remove the older version of PyFilesystem

Coverage remained the same at 84.451% when pulling 3692dc6786abc4d5d29e4b0e34428f0462b13e5d on staging into a2597d0587e6e8ac42f80d45b3c7a39482dc7ed1 on master.

Coverage remained the same at 84.451% when pulling 3692dc6786abc4d5d29e4b0e34428f0462b13e5d on staging into a2597d0587e6e8ac42f80d45b3c7a39482dc7ed1 on master.

Coverage remained the same at 84.451% when pulling e5cd05f73266e64e9deb6b03a20a8fda8acd72b9 on staging into a2597d0587e6e8ac42f80d45b3c7a39482dc7ed1 on master.


test(mempool): add sequential nonces txs

This change is

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.33%. Comparing base (da9840a) to head (9ff47a0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #441   +/-   ##
=======================================
  Coverage   83.33%   83.33%
=======================================
  Files          37       37
  Lines        1776     1776
  Branches     1776     1776
=======================================
  Hits         1480     1480
  Misses        218      218
  Partials       78       78

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Cannot build on Arch Linux

These are all the variable, which are associated with SDL2 are set in the CMake after find_package(SDL2 REQUIRED):
$ cmake .. | grep SDL2
-- CONFIG_FILES=/usr/lib64/cmake/SDL2/SDL2Targets-noconfig.cmake
-- SDL2_CONFIG=/usr/lib64/cmake/SDL2/SDL2Config.cmake
-- SDL2_CONSIDERED_CONFIGS=/usr/lib64/cmake/SDL2/SDL2Config.cmake
-- SDL2_CONSIDERED_VERSIONS=2.0.9
-- SDL2_DIR=/usr/lib64/cmake/SDL2
-- SDL2_FOUND=1
-- SDL2_VERSION=2.0.9
-- SDL2_VERSION_COUNT=3
-- SDL2_VERSION_MAJOR=2
-- SDL2_VERSION_MINOR=0
-- SDL2_VERSION_PATCH=9
-- SDL2_VERSION_TWEAK=0
-- _DIR=/usr/lib64/cmake/SDL2

According to this all we have to do is to detect if build OS is arch, and add target link libraries SDL2::SDL2.
Edit: I've tested and it fixes the issue. Going to submit a PR soon.
Edit 2: I couldn't find an easy way of detecting the Arch Linux environment. So, for now it can be just mentioned in the docs that SDL2::SDL2 should be added to target_link_libraries if building on Arch.

@RIscRIpt why do we need to detect ArchLinux? Are the two build approaches so mutually incompatible? Btw our MacOS build recently broke because of yet another "cannot find SDL2" reason #909. Could that be related?

why do we need to detect ArchLinux? Are the two build approaches so mutually incompatible?
We can detect if SDL2_LIBRARIES is empty, and set it to SDL2::SDL2 manually with the following code:

if("${SDL2_LIBRARIES}" STREQUAL "")
    message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
    set(SDL2_LIBRARIES "SDL2::SDL2")
endif()

See PR below.
The following error
CMake Error at CMakeLists.txt:16 (find_package):
  By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "SDL2", but
  CMake did not find one.

  Could not find a package configuration file provided by "SDL2" with any of
  the following names:

    SDL2Config.cmake
    sdl2-config.cmake

  Add the installation prefix of "SDL2" to CMAKE_PREFIX_PATH or set
  "SDL2_DIR" to a directory containing one of the above files.  If "SDL2"
  provides a separate development package or SDK, be sure it has been
  installed.

occurs on my linux machine when I don't have SDL2 installed (the same error is in MacOS CI). When SDL2 is installed, cmake configuration completes successfully. But when I run build with cmake --build . in the build directory, I get the following error:
Scanning dependencies of target nothing
[ 33%] Building C object CMakeFiles/nothing.dir/src/broadcast.c.o
In file included from /home/richard/projects/c/nothing/src/broadcast.c:10:
/home/richard/projects/c/nothing/src/game.h:4:10: fatal error: SDL.h: No such file or directory
    4 | #include <SDL.h>

As I've already said above, this error resolves when I manually add SDL2::SDL2 to the target_link_libraries (because no variables are set by find_package command).
So, I think these errors are not related.


Modify stream migration tool to do in-place migration

Description
This migration should be able to run on a db while the node is in operation, updating entire streams in a single transaction.

This is checked in but was deprioritized since the not-in-place migration option was validated.


Display decoded and raw tx data for all tx types for tx details and tx flow

Overview
Solving problem https://github.com/gnosis/safe/issues/441 from our product roadmap
Requirements
Tx Queue/History

[ ] User can examine advanced info* about the Safe tx in tx queue for all tx types
[ ] User can examine advanced info* about the Safe tx in tx history for all tx types
[ ] If available user can view decoded tx data in tx queue for all tx types
[ ] If available user can view decoded tx data in tx history for all tx types
[ ] All values should be copiable

Tx Flow

[ ] User can examine advanced info* about the Safe tx on tx review screen for all tx types
[ ] If available user can view decoded tx data on tx review screen for all tx types
[ ] All values should be copiable

*Advanced Info:

safeTxHash
nonce
to
value
data - no need to display in full, being able to copy is sufficient
operatiom
safeTxGas
baseGas
gasPrice
gasToken
refundReceiver
signatures

Screens
tbd in Kick-off meeting
Links
Google Docs: https://docs.google.com/document/d/1c55mYT8pJXwJ5tDdzjtWfnYNKl3_aW1PlU0D_xqDySY/edit#
This feature was already implemented for mobile: https://github.com/gnosis/safe-ios/issues/1434

@johannesmoormann could you link this and other related tickets to an epic and label them? E.g. with epic-tx-improvements label. Thanks!

What is the more useful format to copy the signatures @johannesmoormann ?


@orta=>Fixed inventory id bug

fixes #20

Can you make a test for this too pleassssee

yeees

awesome, a legit fail :+1:

And green


Ignore causalpy/tests/ when running doctest to save a little time

Ignore causalpy/tests/ when running doctest to save a little time. Resolves issue #278.
This cuts out the tests from being run twice, and doesn't doctest the docstrings in the tests - but none of them have examples so the doctests weren't doing much.
Locally, this went from 4m 50s to 3m 20s, so ~40% reduction in time.

Thanks @jpreszler, this looks great. The tests and doctests work for me locally. @ricardoV94 do you think we can get away with merging this despite the failing remote test, which I believe is being caused by the issue (https://github.com/pymc-labs/CausalPy/issues/279) we discussed the other day?

Remote tests seem to pass now that https://github.com/pymc-devs/pytensor/pull/550 is addressed in pytensor 2.18.4


further doc expansion

review by @adriaanm plz

Also, it turns out the validation key is not needed for knife cookbook upload, since you could upload without it.

re: the validation key, so then I can remove this text from client-setup.md:

Obtain the organization validation key from Adriaan and put it to $PWD/.chef/config/$CHEF_ORG-validator.pem. (Q: When is this key used exactly? https://docs.chef.io/chef_private_keys.html says it's when a new node runs chef-client for the first time.)

But where do I put it instead?

genesis?


Unable to see in what question the fhirpath error occured

I have a questionnaire with 5000+ lines where I have tens of expressions and it's incredible difficult to understand in what question the error has occured. See the attached screenshot.
Expected behavior:

The linkId of the question is displayed alongside with the error in the console

I've added verbose information to the error about linkId and the field name (variable, calculatedExpression, enableWhenExpresson)


Filter Tasks by Properties Frontmatter

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description
It will be useful to filter tasks from the file properties frontmatter by {key} and {value}.
✔ Solution
In my case, i’m trying to use this plugin to handle tasks coming from work meetings.
Since I have multiple work projects, it would be useful to filter them with info from the file properties frontmatter.
For example
‘ ‘ ‘tasks
Properties.{key} includes {value}
‘ ‘ ‘
Or
‘ ‘ ‘tasks
Filter by function task.file.properties.{key} = {value}
‘ ‘ ‘
I know that a workaround is to insert a tag in the task description like follows, but that would mean to write it for every task in that particular meeting and to have less readable tasks.

[ ] #AI #Project1 This is a task coming from a meeting for Project1

‘ ‘ ‘tasks
Description includes Project1
‘ ‘ ‘
❓ Alternatives
No response
📝 Additional Context
No response

Hi, thanks for using Tasks.
Indeed, this would be useful.
Searching the docs for 'Frontmatter' shows this:
https://publish.obsidian.md/tasks/Getting+Started/Tags#Using+tags+in+YAML%2C+Frontmatter+or+file+Properties

So feel free to upvote #232 and I'll close this as a duplicate.

I'm reopening this so that I can track its progress - which cannot be done in Discussions.

Remaining steps:

[x] Add support for task.file.frontmatter
[ ] Add support for query.file.frontmatter

Query constructor needs ability to take TasksFile, not just path

[ ] Standardise TasksFile.frontmatter.tags

[x] Add # prefix
[x] Remove duplicate values
[ ] Remove null values - see parseFrontMatterStringArray()

[ ] Ensure that Tasks updates it cache when frontmatter is edited (at least, for files containing tasks)
[ ] Decide whether any tag global filter should be removed from lists of tags
[ ] Test filter by function task.file.frontmatter.tags...
[ ] Document filter by function task.file.frontmatter.tags...

Searching

[ ] Implement file.frontmatter.tags includes/does not include etc - to be able to do searches without knowing JavaScript

Hi, we have an implementation of this that is very close to release - I am hoping it will go out this coming weekend....
It would really, really help us out if people here could test it out please.
It's been a lot of work to implement this and get it to a usable state. Testing like this is a fantastic way for you to contribute back to the plugin and help out both the developers and other users, please....
I am specifically looking for:

Comments if any particular bits of the documentation are unclear
Real-world examples of use to add to the documentation.

To try it out:

Read the documentation.

Read the warning about the known bug that will be fixed before release.

Download a test build, from here

The Tasks-Demo... link is a test vault
Or you can expand dist-verified and overwrite the Tasks plugin installation in your vault.

Thanks to @ilandikov  for help on this feature.

Please record any feedback or examples in this ticket.  Thank you!

I've shared the above post in https://github.com/obsidian-tasks-group/obsidian-tasks/discussions/232, where we have received comments from multiple people in the past...

@claremacrae couple of comments after reading the docs. I'm nitpicking here...

Note the [Quote!] at the start of the quote. I don't think it should be there.
I think front matter is spelled in 2 words. But in any case, I think we should not be talking about front matter at all. I suggest changing In the Tasks documentation, we refer to these as Frontmatter Properties, to distinguish them from Task and Query properties. to In the Tasks documentation, we refer to these as File Properties, to distinguish them from Task and Query properties.. (I replaced Frontmatter to File)
The # prefix is added to all tag values in frontmatter -> The # prefix is added to all tag values in the output
Tasks reads both YAML and [JSON](https://help.obsidian.md/Editing+and+formatting/Properties#JSON+Properties) properties. -> Tasks reads both YAML and [JSON](https://help.obsidian.md/Editing+and+formatting/Properties#JSON+Properties) formats. (properties -> formats)
Are you sure there is space after !: filter by function ! task.file.property('tags').includes('#notasks')? (There is another line like that later)

Thanks!

Note the [Quote!] at the start of the quote. I don't think it should be there.

Done.

I think front matter is spelled in 2 words. But in any case, I think we should not be talking about front matter at all. I suggest changing In the Tasks documentation, we refer to these as Frontmatter Properties, to distinguish them from Task and Query properties. to In the Tasks documentation, we refer to these as File Properties, to distinguish them from Task and Query properties.. (I replaced Frontmatter to File)

I should have explained earlier - my concern about calling them File Properties is how to distinguish them from all the existing File Properties:

I feel that using 'File Properties' for two different types of thing is potentially rather confusing.
Also, in future we will likely provide access to the OS' file creation date and modification date, and some users store that kind of data in front-matter too... So that's another thing that could be confusing if this new feature uses 'File Properties'.
I initially used 'Obsidian Properties' but felt it was unclear or unspecific...

The # prefix is added to all tag values in frontmatter -> The # prefix is added to all tag values in the output

I wasn't sure that output was clear, so went for:

The # prefix is added to all tag values returned by this function.

Tasks reads both YAML and [JSON](https://help.obsidian.md/Editing+and+formatting/Properties#JSON+Properties) properties. -> Tasks reads both YAML and [JSON](https://help.obsidian.md/Editing+and+formatting/Properties#JSON+Properties) formats. (properties -> formats)

Done

Are you sure there is space after !: filter by function ! task.file.property('tags').includes('#notasks')? (There is another line like that later)

Yes, it definitely works, and I thought that the space character might make the ! stand out a bit more clearly....

I opted for "Obsidian Properties" in the end, having found some articles online calling them that:

An Introduction to Obsidian Properties - Obsidian Rocks
Obsidian "properties" to help sort your stuff - Mickey Mellen

This has just been released in Tasks 7.7.0.
For details and examples, see the Obsidian Properties documentation page.

Awesome! =)


Draft: alternate ManagedCS trait

Based on work by @GrantM11235 as an alternative to https://github.com/rust-embedded/embedded-hal/pull/245.
There appears to be a choice between a magic / automatic impl that will deal with CS assertion itself, but conflicts with &mut T impls, and a more manual option where users will call .with_cs(|p| { ... }) to perform operations which seems rather less complex.
(Note that for ManagedCsAlt SpiWithCs must implement Transactional etc. which it does not yet in this PR)
Co-authored-by: Grant Miller<EMAIL_ADDRESS>

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)

:warning: Warning :warning:

Pull requests are usually filed against the master branch for this repo, but this one is against feature/spi-cs-v2. Please double check that you specified the right target!

In ManagedCsAlt, since the "inner" and "outer" types are the same, it's possible to do "nested" CS assertions, which is a bit strange:

spi.with_cs(|d| {
    spi.with_cs(|d| {
        let _ = d.write(&[0xaa, 0xbb, 0xcc]);
        Ok(())
    });
    Ok(())
});

Users will want to return their own values/errors from the closure, so the closure should be FnMut() -> R and with_cs should return Result<R, Self::Error>. This can cause nested Results though, which is a bit annoying.

The closures only work for blocking code, we'd need an equivalent async version. The previous ManagedCs marker trait worked seamlessly for both async+blocking, which is something I thought was neat.
There are no "async closures" in Rust but they can be emulated with a closure returning a future. The resulting generics are incredibly horribly ugly. They seem to work for SpiWithCs but I'm not even sure they'd allow for all possible things impls would want to do...

/// blah
pub trait ManagedCs: ErrorType {
    /// Inner SPI type
    type Inner: ErrorType;

    /// Future returned by the `with_cs` method.
    type WithCsFuture<'a, R, F, Fut>: Future<Output = Result<R, Self::Error>> + 'a
    where
        Self: 'a,
        R: 'a,
        F: FnMut(&'a mut Self::Inner) -> Fut + 'a,
        Fut: Future<Output = R> + 'a;

    /// Execute the provided closure within a CS assertion
    fn with_cs<'a, R, F, Fut>(&'a mut self, f: F) -> Self::WithCsFuture<'a, R, F, Fut>
    where
        F: FnMut(&'a mut Self::Inner) -> Fut + 'a,
        Fut: Future<Output = R> + 'a;

    /// Reference the inner SPI object without manipulating CS
    fn inner(&mut self) -> &mut Self::Inner;
}

/// [`ManagedCs`] implementation for [`SpiWithCs`] wrapper.
/// Provides `with_cs` function that asserts and deasserts CS
impl<Spi, Pin> ManagedCs for SpiWithCs<Spi, Pin>
where
    Spi: ErrorType,
    Pin: OutputPin + DigitalErrorType,
{
    type Inner = Spi;

    type WithCsFuture<'a, R, F, Fut>
    where
        Self: 'a,
        R: 'a,
        F: FnMut(&'a mut Self::Inner) -> Fut + 'a,
        Fut: Future<Output = R> + 'a,
    = impl Future<Output = Result<R, Self::Error>> + 'a;

    /// Execute the provided closure within a CS assertion
    fn with_cs<'a, R, F, Fut>(&'a mut self, mut f: F) -> Self::WithCsFuture<'a, R, F, Fut>
    where
        F: FnMut(&'a mut Self::Inner) -> Fut + 'a,
        Fut: Future<Output = R> + 'a,
    {
        async move {
            self.cs.set_low().map_err(SpiWithCsError::Pin)?;

            let r = f(&mut self.spi).await;

            self.cs.set_high().map_err(SpiWithCsError::Pin)?;

            Ok(r)
        }
    }

    /// Reference the inner SPI object without manipulating CS
    fn inner(&mut self) -> &mut Self::Inner {
        &mut self.spi
    }
}

I think it is not too bad to omit the default implementations. Also in light of the downstream problems caused by these elsewhere.

are we talking eliding the default ManagedCs defaults (so cs is automatic for existing methods) or the &mut T defaults? i feel like it should be possible to allow both to exist somehow, but, i can't work out the trait magic to allow it.

In ManagedCsAlt, since the "inner" and "outer" types are the same, it's possible to do "nested" CS assertions, which is a bit strange

yep, definitely strange. i think the second has to be a noop, because if you call with_cs then a wrapped method you could call it > once. on balance it does result in simpler traits / bounds though, which i think is a point in favour.

Users will want to return their own values/errors from the closure, so the closure should be FnMut() -> R and with_cs should return Result<R, Self::Error>. This can cause nested Results though, which is a bit annoying.

yep agreed, i just hadn't decided how to bound the error yet. updated now.

The closures only work for blocking code, we'd need an equivalent async version. The previous ManagedCs marker trait worked seamlessly for both async+blocking, which is something I thought was neat.

yep, the advantage here is being able to have user code within CS though eh. i think there's no harm in having separate ManagedCs traits for blocking and async impls though, and one would expect this to become less terrible when we do have async traits.

Closing in favour of #351


make logging align with Haskell version

logErr and logInfo

take an arg (like Haskell)

withErrCtx

renamed from withErrCtxt (to be like Haskell)
take an arg (like Haskell)

withErrCtx'

implemented and used

logEE

take an arg (like Haskell)

@cwjnkins please check the change in RoundManager.Properties

make logging align with Haskell version;
Signed-off-by: Harold Carr<EMAIL_ADDRESS>


Fix a deadlock when a late response are written first in HTTP/1 pipelining

Motivation:
Let's say a late request is completed first while the first request is being processed. The response to the late request is added to pendingWritesMap to preserve the order of responses in HTTP/1. Before the response is added to a queue, lastResponseHeadersId is updated to the ID of the late request.
https://github.com/line/armeria/blob/b127cd27252f6a454130f66d1175a06faed01f09/core/src/main/java/com/linecorp/armeria/server/ServerHttp1ObjectEncoder.java#L79-L95
It is a bug because the actual headers are queued and not written. Although a normal response for the first request is completed, the response is canceled because HttpResponseSubscriber assumes the order of response is reversed.
https://github.com/line/armeria/blob/0930b184bf00f98692a2e0b3eb044410e78a8173/core/src/main/java/com/linecorp/armeria/server/HttpResponseSubscriber.java#L141-L147
Modifications:

Fixed Http1ObjectEncoder to use currentId which is updated only when a response starts to write for isResponseHeadersSent().
Reset a connection when two headers are about to be written to a response in HTTP/1. It is possible when a request is failed by Http1RequestDecoder with a protocol violation.

Result:

HTTP/1.1 responses are now correctly ordered even when HTTP pipelining is enabled.
Fixes #4470

I'm also wondering if it is cleaner to just keep track of lastResponseHeadersId and trigger the original failures.
e.g.
diff --git a/core/src/main/java/com/linecorp/armeria/internal/common/Http1ObjectEncoder.java b/core/src/main/java/com/linecorp/armeria/internal/common/Http1ObjectEncoder.java
index 8fa5daeb0..209181273 100644
--- a/core/src/main/java/com/linecorp/armeria/internal/common/Http1ObjectEncoder.java
+++ b/core/src/main/java/com/linecorp/armeria/internal/common/Http1ObjectEncoder.java
@@ -263,10 +263,10 @@ public abstract class Http1ObjectEncoder implements HttpObjectEncoder {
         if (id == currentId) {
             if (currentPendingWrites != null) {
                 pendingWritesMap.remove(id);
-                flushPendingWrites(currentPendingWrites);
+                flushPendingWrites(id, currentPendingWrites);
             }

-            final ChannelFuture future = write(obj, promise);
+            final ChannelFuture future = write(id, obj, promise);
             if (!isPing(id)) {
                 keepAliveHandler().onReadOrWrite();
             }
@@ -280,7 +280,7 @@ public abstract class Http1ObjectEncoder implements HttpObjectEncoder {
                         break;
                     }

-                    flushPendingWrites(nextPendingWrites);
+                    flushPendingWrites(currentId, nextPendingWrites);
                     if (!nextPendingWrites.isEndOfStream()) {
                         break;
                     }
@@ -312,31 +312,24 @@ public abstract class Http1ObjectEncoder implements HttpObjectEncoder {
         }
     }

-    private ChannelFuture write(HttpObject obj, ChannelPromise promise) {
+    private ChannelFuture write(int id, HttpObject obj, ChannelPromise promise) {
         // Use FQCN for Netty HttpResponse to avoid confusion with Armeria HttpResponse
         //noinspection UnnecessaryFullyQualifiedName
         if (obj instanceof io.netty.handler.codec.http.HttpResponse) {
-            if (lastResponseHeadersId >= currentId) {
-                // Response headers were written already. This may occur Http1RequestDecoder sends an error
-                // response while HttpResponseSubscriber writes a response headers and then waits for bodies.
-                ReferenceCountUtil.release(obj);
-                return writeReset(currentId, 1, Http2Error.PROTOCOL_ERROR);
-            } else {
-                lastResponseHeadersId = currentId;
-            }
+            lastResponseHeadersId = id;
         }

         return ch.write(obj, promise);
     }

-    private void flushPendingWrites(PendingWrites pendingWrites) {
+    private void flushPendingWrites(int id, PendingWrites pendingWrites) {
         for (;;) {
             final Entry<HttpObject, ChannelPromise> e = pendingWrites.poll();
             if (e == null) {
                 break;
             }

-            write(e.getKey(), e.getValue());
+            write(id, e.getKey(), e.getValue());
         }
     }

@@ -445,6 +438,10 @@ public abstract class Http1ObjectEncoder implements HttpObjectEncoder {
         return currentId;
     }

+    protected final int lastResponseHeadersId() {
+        return lastResponseHeadersId;
+    }
+
     private static final class PendingWrites extends ArrayDeque<Entry<HttpObject, ChannelPromise>> {

         private static final long serialVersionUID =<PHONE_NUMBER>461017445L;
diff --git a/core/src/main/java/com/linecorp/armeria/server/ServerHttp1ObjectEncoder.java b/core/src/main/java/com/linecorp/armeria/server/ServerHttp1ObjectEncoder.java
index 852f85d32..2e0b9071c 100644
--- a/core/src/main/java/com/linecorp/armeria/server/ServerHttp1ObjectEncoder.java
+++ b/core/src/main/java/com/linecorp/armeria/server/ServerHttp1ObjectEncoder.java
@@ -185,7 +185,7 @@ final class ServerHttp1ObjectEncoder extends Http1ObjectEncoder implements Serve

     @Override
     public boolean isResponseHeadersSent(int id, int streamId) {
-        return id < currentId();
+        return id < currentId() || id == lastResponseHeadersId();
     }

     @Override

🎉 🎉 🎉


Is it possible to name "rename" files on download?

I have a suggestion:
When files are downloaded with the fileRef.link() they will be named after the file on the server. However, I would like to "rename" the file when downloaded. I tried the a[download] attribute, but that doesn't seem to work even though the files are downloaded from the same origin.
I'm using React and I would like to do something like:
<Button size="small" color="primary" href={this.props.video.link() + '?download=true'} download="custom-name.mp4">Download</Button>

The filename in the systems save dialog should then default to custom-name.mp4.
Any ideas how to achieve that?

Unfortunately, the filename required when downloading a file is unknown at the time of the upload/insert.
So, the insert wouldn't work anyway

Great! Thank you for your improvements.
Also, how do you feel about an additional parameter on the link to make it easier to customize the download filename?
For example:
Download
or
Download

We see no need to change current API.
at the same time you can easily add support for it in your current implementation, via reading value of http.params.query.download.

@raedle looks nice.
Just to stay on the safe side, pass filename query string through decodeURIComponent, otherwise it may be encoded twice.

Feel free to close it in case if the issue is solved on your end.

Yes, the problem is solved. Thank you, Dimitru for your quick response. That's very rare and thus very much appreciated!

@raedle my pleasure :) Thank you for choosing our lib.
Please, support this project by:

Star on GitHub
Star on Atmosphere
Check other packages we have made
Share on Facebook and Twitter
Donate via PayPal


Attempting to paste over multiple lines of code results in error

If you highlight a line and paste over it, it works perfectly.
If you highlight 2 or more lines and paste over them with text from anywhere besides the nodes you are pasting over, you'll get Uncaught Error: Could not find a node with key "###"
If you copy identical text or non-HTML (plaintext) over the nodes, it generally seems to work.
If you use Ctrl+A to select all contents of the codebox and paste, it seems to fail universally, even if you paste plaintext.

Some quirks to note:

This only occurs when highlighting multiple lines IN FULL. If any line is partially highlighted, pasting works.
When highlighting multiple lines with the mouse cursor, it only occurs if you select in reverse
When highlighting multiple lines with the keyboard, it only occurs if you select forward (not in reverse)

By reverse I mean where the anchor node is after the focus node.

Strange :O
I'll try to reproduce this...

@Soreine thanks very much. You guys are the best. I'll try to submit a PR for the other issues I reported this week.

Just to keep you informed, I don't have the time to dive in this right now...

No worries. I figured you had more important things to work on on your end. I definitely appreciate the update.

Updating to<EMAIL_ADDRESS>fixed a few of these issues, but some remains.
Triple-click on a code line and paste => error
Slate issue https://github.com/ianstormtaylor/slate/issues/1493

@Soreine you rock! Thanks very much for the hard work and for the update!


Refactor/django2.1.4 python3.6 - Pytest Bug bypassed

Pytest Bug bypassed

Codecov Report

Merging #44 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #44      +/-   ##
==========================================
+ Coverage   44.38%   44.39%   +0.01%
==========================================
  Files          50       49       -1
  Lines        1994     1919      -75
==========================================
- Hits          885      852      -33
+ Misses       1109     1067      -42

Impacted Files
Coverage Δ

apps/accounts/forms.py
100% <100%> (+41.3%)
:arrow_up:

apps/accounts/admin.py
100% <100%> (ø)
:arrow_up:

apps/accounts/views.py
33.57% <100%> (+0.9%)
:arrow_up:

apps/accounts/serializers.py
100% <100%> (ø)
:arrow_up:

apps/incidents/views.py
36.63% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


dylibs only supported on iOS 8.0

embedded dylibs/frameworks are only supported on iOS 8.0 and later (@rpath/Realm.framework/Realm) for architecture arm64

Correct. This is an iOS 7 limitation. If you need to support iOS 7, please use our static framework.


DialogRoute doesn't rebuild unless the key changes.

Steps to Reproduce

Execute flutter run on the code sample (see "Code sample" section below)
Click on "Dialog" button to display the dialog
Try to go to the dialog on the right
Notice that the dialog doesn't change

Expected results:
I'm expecting the dialog to rebuild
Actual results:
It is not rebuilding.
I can force it to rebuild by changing the key ValueKey('dialog-$_selected'), instead of ValueKey('dialog'),
But doing so prevents me from reusing states.
You can see in the logs that it goes through the initState of _DialogWidgetState:
flutter: initState 1
flutter: initState 2
flutter: initState 3
flutter: initState 2
flutter: initState 1

I believe this might be coming from
https://github.com/flutter/flutter/blob/de4c0b19a2604e2cdf8e662b8e0b0ee28fc66ba1/packages/flutter/lib/src/widgets/routes.dart#L1710-L1717
and/or
https://github.com/flutter/flutter/blob/de4c0b19a2604e2cdf8e662b8e0b0ee28fc66ba1/packages/flutter/lib/src/widgets/routes.dart#L817-L821

Code sample
Or uou can check out https://github.com/ValentinVignal/flutter_app_stable/tree/flutter/dialog-being-cached
import 'package:flutter/material.dart';

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

class AppRoute {
  const AppRoute(this.location);
  final int? location;
}

class AppRouter extends RouterDelegate<AppRoute>
    with PopNavigatorRouterDelegateMixin, ChangeNotifier {
  // get correct state of router
  @override
  AppRoute get currentConfiguration => AppRoute(_selected);

  int? _selected;
  int get selected => _selected!;
  set selected(int value) {
    _selected = value == 0 ? null : value;
    notifyListeners();
  }

  @override
  Widget build(BuildContext context) {
    return Navigator(
      key: _navigatorKey,
      onPopPage: (route, result) {
        if (!route.didPop(result)) {
          return false;
        }
        _selected = null;
        notifyListeners();
        return true;
      },
      pages: [
        const MaterialPage(
          key: ValueKey('home'),
          child: Home(),
        ),
        if (_selected != null && _selected! > 0)
          DialogPage(
            key: const ValueKey('dialog'),  // <- Replace with `ValueKey('dialog-$selected')`, and the UI rebuilds but the state of the dialog is lost. It will print `'iniState1'`, `'iniState2'`... in `_DialogWidgetState`'s `initState`.
            child: DialogWidget(
              parameter: _selected!,
            ),
          )
        else if (_selected != null && _selected! < 0)
          MaterialPage(
            key: const ValueKey('material'),
            child: DialogWidget(
              parameter: _selected!,
            ),
          )
      ],
    );
  }

  final _navigatorKey = GlobalKey<NavigatorState>();
  @override
  GlobalKey<NavigatorState> get navigatorKey => _navigatorKey;

  @override
  Future<void> setNewRoutePath(AppRoute configuration) async {
    _selected = configuration.location;
  }
}

class AppRouteInformationParser extends RouteInformationParser<AppRoute> {
  // This converts route state to route information.
  @override
  RouteInformation restoreRouteInformation(configuration) {
    final String location;
    if (configuration.location == null) {
      location = '/';
    } else {
      location = '/dialog/${configuration.location}';
    }
    return RouteInformation(location: location);
  }

// This converts route info to router state
  @override
  Future<AppRoute> parseRouteInformation(
      RouteInformation routeInformation) async {
    final int? selected;
    if (routeInformation.location?.startsWith('/dialog/') ?? false) {
      selected = int.parse(routeInformation.location!.split('/').last);
    } else {
      selected = null;
    }
    return AppRoute(selected);
  }
}

final delegate = AppRouter();
final informationParser = AppRouteInformationParser();

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerDelegate: delegate,
      routeInformationParser: informationParser,
    );
  }
}

class Home extends StatelessWidget {
  const Home({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            ElevatedButton(
              onPressed: () {
                delegate.selected = 1;
              },
              child: const Text('Dialog'),
            ),
            const SizedBox(height: 16),
            ElevatedButton(
              onPressed: () {
                delegate.selected = -1;
              },
              child: const Text('Material'),
            ),
          ],
        ),
      ),
    );
  }
}

class DialogWidget extends StatefulWidget {
  const DialogWidget({
    required this.parameter,
    super.key,
  });

  final int parameter;

  @override
  State<DialogWidget> createState() => _DialogWidgetState();
}

class _DialogWidgetState extends State<DialogWidget> {
  @override
  void initState() {
    super.initState();
    print('initState ${widget.parameter}');
  }

  @override
  Widget build(BuildContext context) {
    return SimpleDialog(
      title: const Text('Dialog'),
      children: [
        Row(
          children: [
            IconButton(
              onPressed: () {
                delegate.selected--;
              },
              icon: const Icon(Icons.arrow_back_ios),
            ),
            Text(widget.parameter.toString()),
            IconButton(
              onPressed: () {
                delegate.selected++;
              },
              icon: const Icon(Icons.arrow_forward_ios),
            ),
          ],
        ),
      ],
    );
  }
}

class DialogPage extends Page {
  const DialogPage({
    required this.child,
    super.key,
  });

  final Widget child;

  @override
  Route createRoute(BuildContext context) {
    return _DialogRoute(
      settings: this,
      context: context,
      builder: (context) {
        ModalRoute.of(context);
        return child;
      },
    );
  }
}

class _DialogRoute extends DialogRoute {
  _DialogRoute({
    super.settings,
    required super.context,
    required super.builder,
  });

  @override
  bool canTransitionFrom(TransitionRoute previousRoute) {
    return previousRoute is! _DialogRoute;
  }

  @override
  bool canTransitionTo(TransitionRoute nextRoute) {
    return nextRoute is! _DialogRoute;
  }
}

Logs
For the logs, see the table in the "Videos" section.
Analyzing flutter_app_stable...

   info • Avoid `print` calls in production code • lib/main.dart:158:5 • avoid_print

1 issue found. (ran in 5.0s)

[✓] Flutter (Channel stable, 3.3.8, on macOS 11.6.8 20G730 darwin-x64, locale en-GB)
    • Flutter version 3.3.8 on channel stable at /Users/valentin/flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (9 days ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /usr/local/Caskroom/android-sdk/4333796
    • Platform android-33, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.1)
    • 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.11+0-b60-7590822)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 11.6.8 20G730 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Videos

      With `const ValueKey('dialog')` as a key

       With `ValueKey('dialog-$_selected')` as a key

      Video

      Logs

flutter run -d macos
Launching lib/main.dart on macOS in debug mode...
Building macOS application...
Syncing files to device macOS...                                    71ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

💪 Running with sound null safety 💪

An Observatory debugger and profiler on macOS is available at: http://<IP_ADDRESS>:62454/Sc8VIzL_xkw=/
The Flutter DevTools debugger and profiler on macOS is available at:
http://<IP_ADDRESS>:9102?uri=http://<IP_ADDRESS>:62454/Sc8VIzL_xkw=/
flutter: initState -1
flutter: initState -1
flutter: initState 1

Launching lib/main.dart on macOS in debug mode...
Building macOS application...
Syncing files to device macOS...                                    71ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

💪 Running with sound null safety 💪

An Observatory debugger and profiler on macOS is available at: http://<IP_ADDRESS>:63181/P2tBIa5DOV8=/
The Flutter DevTools debugger and profiler on macOS is available at:
http://<IP_ADDRESS>:9102?uri=http://<IP_ADDRESS>:63181/P2tBIa5DOV8=/
flutter: initState -1
flutter: initState 1
flutter: initState 2
flutter: initState 3
flutter: initState 2
flutter: initState 1

Thanks for the report. I am seeing same behavior as reported.

 stable, master flutter doctor -v
[✓] Flutter (Channel stable, 3.3.8, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.8 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (25 hours ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.6.0-5.0.pre.27, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.6.0-5.0.pre.27 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 9c9f7818ac (50 minutes ago), 2022-11-17 23:11:27 -0500
    • Engine revision 04aea3c47b
    • Dart version 2.19.0 (build 2.19.0-406.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

/cc @chunhtai


ability to change a page's layout after creation

Is this something we want? Might be super useful, but might also be really difficult (and could potentially lose data if the layout people pick doesn't have things that the previous layout had). Might be better suited by #317

I mentioned in a meeting with Kelly that it would in our interest to focus on copy and paste rather than this feature because of the "mapping" issue.  That is, how do we know how to map data between layouts, and what do we do with data that is "lost" when changing between a layout with three areas to a layout with two areas.
If we only have a finite amount of time for developers, I'd rather that time go toward copy and paste being ultra solid.

Agreed, closing this.


Cat Quest, soft restart issue

Throws NullReferenceException after soft restarting.
[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
TMPro.TMP_FontAsset.ReadFontAssetDefinition ()
TMPro.TMP_FontAsset.get_characterLookupTable ()
TMPro.TextMeshProUGUI.LoadFontAsset ()
TMPro.TMP_Text.set_font (TMPro.TMP_FontAsset value)
LocalizationManager.Bind (TMPro.TMP_Text tmp, System.String id, FontType fontType)
LocalizationTMPExtensions.BindText (TMPro.TextMeshProUGUI tmp, System.String id, FontType fontType)
LocalizedTextMeshProUGUI.Awake ()

Seems to break on
this.materialHashCode = TMP_TextUtilities.GetSimpleHashCode(this.material.name);

where material becomes null in TMP_Asset after soft restart

Commit b23fd33 fixed inputs not working, 18fc950 fixed above NullReferenceException, #320 fixes GOG Galaxy still initialized so the game is completely TASable now as far as I'm aware!


Avoid SSLSocket leaks by setting sync_close by default allow overriding

Bringing in to test #135 easily before pulling into master ( though it's 99% fine anyway )

I ought to have just closed this, since it's already in master ... but waiting-for-celluloid-0.17.0 is defunct anyway.


[Build][Minor] Fix SBT build error with network-yarn module

What changes were proposed in this pull request?
error] Expected ID character
[error] Not a valid command: common (similar: completions)
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Not a valid key: common (similar: commands)
[error] common/network-yarn/test

common/network-yarn is not a valid sbt project, we should change to network-yarn.
How was this patch tested?
Locally run the the unit-test.
CC @rxin , we should either change here, or change the sbt project name.

Test build #52281 has started for PR 11456 at commit dd10163.

Test build #52281 has finished for PR 11456 at commit dd10163.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/52281/
Test PASSed.

Thanks - merging in master.


Add pre-merge & post-release GH Actions workflows

Pre-merge workflow (pre-merge.yaml):

Run E2E tests on pull requests to the main branch
Set up Go, configure insecure registry, start a kind cluster, build and deploy NFSPVC image, and run E2E tests

Post-release workflow (post-release.yaml):

Triggered on published releases
Build and push Docker image to ghcr.io/dana-team/nfspvc-operator with the release tag

/lgtm
/approve


[react-native]: Duplicate symbols when building in Android

After updating an app to use<EMAIL_ADDRESS>I'm getting a build time error in Android regarding duplicate functions:
<EMAIL_ADDRESS>-c '<EMAIL_ADDRESS>   /[project_dir]/node_modules/@hyperledger/aries-askar-react-native/cpp/turboModuleUtility.cpp:171:12: error: redefinition of 'createReturnValue'
  jsi::Value createReturnValue(jsi::Runtime &rt, ErrorCode code,
             ^
  /[project_dir]/node_modules/@hyperledger/aries-askar-react-native/cpp/turboModuleUtility.cpp:124:12: note: previous definition is here
  jsi::Value createReturnValue(jsi::Runtime &rt, ErrorCode code, int64_t *value) {
             ^
  1 error generated.

When building in an x86_64 PC, after removing one of these functions it also gave a similar error but with the template for int32_t.
Once that is removed, the app runs. However it could lead to issues when building for iOS (for that platform I have another problem, but that's another story :laughing: ).

@genaris
Could you let me know what you did to resolve it?
I was able to run it but got this runtime error:

@genaris
Could you let me know what you did to resolve it?
I was able to run it but got this runtime error

I'm using it actually through aries-framework-javascript, so maybe there is something different in the way the module is initialized between my setup and yours. I haven't seen an error like that during this (long) journey though.
Just for info I attach the patch I did to make it build in Android. Curiously it works in iOS as well with those functions commented.
@hyperledger+aries-askar-react-native+0.1.0-dev.4.patch


API automation framework

Idea of this issue is to make a decision about what framework / language / etc we use for API test cases automation.
Acceptance criteria

Solution meets automation engineer vision & motivation
Solution is agreed among project team

Team decision: https://behave.readthedocs.io/en/latest/


resolve race condition in maxGauge

This PR fixes #5643
Signed-off-by: Dmitry Shmulevich<EMAIL_ADDRESS>

I am not familiar with this part of the code, but would RWMutex be better here?

Messed up with signing. Closing in favor of #5647


Multi Coloured Line Chart

First of all, thank you for this great package.
I have a question concerning the line chart: Is there any possibility to change the color of the Line Chart or Below Line Chart based on some thresholds?

https://www.youtube.com/watch?v=Wa0L9iYkSjc

You might need to use rodStackItem in BarChartRodData class to achieve that.
Sample 4 (Source Code)


SimpleTableManual sort on empty values incorrect on Firefox

Describe the bug
SimpleTableManual's sorting is reversed in Firefox when orderedBy is empty, or a non-existing column.
As a result, in 'editable' mode, where orderedBy is always an empty string, sorting is always reversed (in Firefox).
The rows being reversed also causes row-actions (such as Delete or Edit) to be applied to the incorrect row (because these send the client-index to the server, while the server's rows aren't reversed.
The cause of this issue:
Chrome and Firefox use a different underlying sorting algorithm. As an example, this snippet:
[1, 2].sort((a, b) => -1)

returns [2, 1] in Chrome, but [1, 2] in Firefox.
SimpleTableManual uses the following comparator function:
function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {
  if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
    return -1;
  }
  if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {
    return 1;
  }
  return 0;
}

When a[orderedBy] and b[orderedBy] are both falsy (false, 0, null, undefined or ""), this function will return -1, which causes the firefox results to come out in reversed order.
A fixed version of this function would be
function descendingComparator<T>(a: T, b: T, orderedBy: keyof T) {
  if (!orderedBy || !a[orderedBy] && !b[orderedBy]) {
    return 0;
  }
  if (!b[orderedBy] || b[orderedBy] < a[orderedBy]) {
    return -1;
  }
  if (!a[orderedBy] || b[orderedBy] > a[orderedBy]) {
    return 1;
  }
  return 0;
}

To Reproduce
Steps to reproduce the behavior:

Compare the row-order of an editable SimpleTableManual in Chrome and Firefox
See difference
Try edit the first of multiple rows in Firefox
See that you're editing the last row instead

Expected behavior

The same order in Chrome and Firefox
The correct item being edited

Desktop:

OS: MacOS
Browser Firefox

Thanks @wimbarelds for identifying and providing solution for the issue.
Our team is working on fixing this issue as part of 24.2.10 release.

Thanks @tumms2021389. Could you please also make the fix available in 24.1.x? Asking since we're not able to upgrade to 24.2.x before our go-live.
(working in same project as @wimbarelds)


Rename FSharp.Azure to  ...?

We should revisit this discussion and finalize on a name for FSharp.Azure that meets the guidelines
One suggestion was FSharp.Azure.Storage. Another could be FSharp.Azure.StorageCodeFirst.  I know these are a bit longer but that's for a reason - to make room for more technologies to come in under the FSharp.Azure namespace as the range of things available on Azure increases.

I think FSharp.Azure.Storage too.

I also prefer FSharp.Azure.Storage.
How would you guys suggest renaming the NuGet package? I don't think NuGet has a facility for providing a redirect from an old package name to a new name? It seems a bit crappy just to drop a "deprecated - go use this new package" message in the package description and expect people to notice and switch packages... any suggestions?

You could always leave the package the same and just change the namespaces in code. Microsoft did exactly did with a load of azure packages e.g. Service Bus and even Storage.

That's true, but they weren't renaming because of name collisions, they were renaming because of marketing (eg WindowsAzure.Storage). If we don't rename the package, are we achieving the goal intended here?
@dsyme, have their been any other packages in the FSharp community that you know of that have undergone a similar rename? Did they rename their packages too?

I'd say just put up the new package with new name and put "this package has been renamed" on the old one and remove all editions it from search (I still don't know an easy way to remove all the editions though).  People will transition ok. Once it's done it's done.

You can't remove editions AFAIK - you can just stop them showing up in search results.

Right that's what I meant.  But can you remove all of 100 versions from search all at once?

Okay, I'm currently renaming all the things; I'm thinking I should also drop the "DigitallyCreated." prefix off the namespace too, while I'm at it.

That's great, thanks


perf: default LAZYCACHE to 0

wip testing. only CONST is cached this way. 10% faster for unjitted llama

I'm pretty sure we want the LAZYCACHE, if defaulting to 0 is really preferred, we should just remove it. It does add complexity.


[INLONG-8951][Manager] Support for configuring built-in fields for iceberg

Prepare a Pull Request

Fixes #8951

Motivation
Support for configuring built-in fields for iceberg.
Modifications
Support for configuring built-in fields for iceberg.

please change this file also

should add this field also