Import errors

System information

Trying to run tutorial code
Win8.1
pip3 install --upgrade tensorflow
can't run programm to write version (can't run any code with import tensorflow)

Traceback (most recent call last):
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
fp, pathname, description = imp.find_module('_pywrap_tensorflow', [dirname(file)])
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\imp.py", line 296, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named '_pywrap_tensorflow'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python_init_.py", line 54, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 28, in
_pywrap_tensorflow = swig_import_helper()
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
import _pywrap_tensorflow
ImportError: No module named '_pywrap_tensorflow'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/home-pc/PycharmProjects/untitled6/b.py", line 1, in
import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import *
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python_init_.py", line 60, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
fp, pathname, description = imp.find_module('_pywrap_tensorflow', [dirname(file)])
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\imp.py", line 296, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named '_pywrap_tensorflow'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python_init_.py", line 54, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 28, in
_pywrap_tensorflow = swig_import_helper()
File "C:\Users\home-pc\AppData\Local\Programs\Python\Python35-32\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
import _pywrap_tensorflow
ImportError: No module named '_pywrap_tensorflow'
Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.

I have the same problem. I already tried this solution(#97 installign VS C++ 2015) but it did not help.

https://www.tensorflow.org/install/install_sources#common_installation_problems

35953210 | Invoking python or ipython generates the following error:
ImportError: cannot import name pywrap_tensorflow

@Androbin, nope this is also not helping me :/

@Androbin it's solution for ubuntu, i use windows8.1

It's a windows issue, most likely due to missing dependencies. Could you run the dependency walker on the pywrap_internal_tensorflow library? I am guessing it's CUDA. Please double check that you have those installed, including CUPTI.

I'm not sure if this is it at all, but I believe the general consensus is that you don't attempt to use 32-bit python with Tensorflow on Windows... I only say that you are based on your folder name 'Python35-32'

Tesrflow requires only amd CPU?

@drpngx, CUDA could not install, so i install tensorflow-cpu-only with anaconda and it's fix this problems. Example prject works, but now i have some warnings
2017-05-07 14:37:35.667977: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
2017-05-07 14:37:35.668324: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-07 14:37:35.668662: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-07 14:37:35.668993: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-07 14:37:35.669359: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-07 14:37:35.669736: W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
What are these instructions? How i may use them?


[Bug]: Blazor component base classes do not trigger WhenActivated()

Describe the bug 🐞
When deriving my Page (view) from ReactiveInjectableComponentBase and providing a view model class that implements IActivatableViewModel, my callback provided to this.WhenActivated() is not invoked for me.
Step to reproduce

Derive your page from the mentioned base class like so:
@inherits ReactiveInjectableComponentBase<MonitorDeploymentsViewModel>

Implement your view model like this:
public class MonitorDeploymentsViewModel : ReactiveObject, IActivatableViewModel

Provide a call to WhenActivated like so:
this.WhenActivated(disposal =>
{
    // Do something meaningful here
});

Compile and run the application. Be sure to visit the page we're talking about to trigger the issue.

Reproduction repository
This is a non-public repository; I have no MCVE.
Expected behavior
The ReactiveInjectableComponentBase class (as well as the other Blazor-specific component base classes) implement ICanActivate and already trigger the following:

When OnInitializedAsync() is invoked by the view, trigger Activated state.
When Dispose() happens (IDisposable), trigger Deactivated state.

However, by default, there are no observers for these states. This is because, in my opinion, in the setter for ReactiveInjectableComponentBase.ViewModel, code is missing to check if the supplied VM implements IActivatableViewModel and if so, attaches it to the appropriate Activated/Deactivated observables.
The workaround right now requires users to manually override OnInitializedAsync() simply to invoke ViewModel.Activator.Activate(), as well as the corresponding Dispose() override for the Deactivate(). This means that, ultimately, there's logic in the ComponentBase class that ends up not getting used at all because it's not tied in.
I think the addition necessary to the base ViewModel property is as follows:
            _viewModel = value;
            if (_viewModel is IActivatableViewModel avm)
            {
                Activated.Subscribe(_ => avm.Activator.Activate());
                Deactivated.Subscribe(_ => avm.Activator.Deactivate());
            }

Another solution I tested that seems to work:
protected override void OnInitialized()
{
  Activated.Subscribe(_ => ViewModel!.Activator.Activate());
  Deactivated.Subscribe(_ => ViewModel!.Activator.Deactivate());
  base.OnInitialized();
}

Screenshots 🖼
No response
IDE
Rider Windows
Operating system
Windows
Version
10
Device
N/A
ReactiveUI Version
18.3.1
Additional information ℹ
I created this issue at the request of @glennawatson, who discussed this with me in Slack.

Researching, I'm happy with
protected override void OnInitialized()
{
  Activated.Subscribe(_ => ViewModel?.Activator.Activate());
  Deactivated.Subscribe(_ => ViewModel?.Activator.Deactivate());
  base.OnInitialized();
}

I would use the ? operator on the view model just in case its null at the time.
Other platforms allow you to hook into view's creation/deletion from a external events calls separate to the current view, but due to Blazors methodology this can't happen easily.
We'd likely have to make similar changes to the other Rx blazor overrides.

Hey, guys. Any updates on this issue? I can see that @imundy7 have made changes in the fork.
@imundy7, any plans to merge this into main branch?

This should be updated with the next Release, thank you all for your input with this.

Thanks for the response @ChrisPulman. If you need hands for this issue I can assist. As far as I understand there is no big job to do. Just implement what was said in this comment:

Researching, I'm happy with
protected override void OnInitialized()
{
  Activated.Subscribe(_ => ViewModel?.Activator.Activate());
  Deactivated.Subscribe(_ => ViewModel?.Activator.Deactivate());
  base.OnInitialized();
}

I would use the ? operator on the view model just in case its null at the time.
Other platforms allow you to hook into view's creation/deletion from a external events calls separate to the current view, but due to Blazors methodology this can't happen easily.
We'd likely have to make similar changes to the other Rx blazor overrides.

@BekAllaev I used ViewModel is IActivatableViewModel this covers a null condition and ensures its Activatable.
Thank you
I have a few PR'S to complete before I get the next Release out.


Static export

Summary
import-pnp.md describes how a FHIR Parameteres resource MAY include a exportType parameter with a string of static or dynamic. This document also explains the difference is how the two types are handled. Before, we only handled if the exportType was dynamic because if exportType is omitted, it defaults to dynamic. Now, the static exportType is implemented.
New behavior
A new function is added to retrieve exportType from a FHIR parameters resource if it exists. If it does, then that is used in executePingAndPull.
Code changes

src/server/importWorker.js - exportType was added as a function parameter.
src/services/import.service.js - exportType was added as a function parameter.
src/service/measure.service.js - exportType was added as a function parameter.
src/util/exportUtils.js - retrieveExportType is a new function that gets the exportType from a FHIR parameters resource if it exists. If it does not exist, then it defaults to "dynamic".
src/util/operationValidationUtils.js - delete checkExportType error handling function since we now support static export.

Testing guidance

This goes hand-in-hand with the PR in the bulk-data-utilities repository, so make sure you read both of them as well as the Jira ticket .
After running npm link in the bulk-data-utilities repo, run npm link bulk-data-utilities in this repo.
Run npm start in this repo.
Run PORT=3001 npm start in the bulk-export-server repo.
Open insomnia and set up the following POST request:

Make sure it has the following headers:

Hit send and make sure the response is 202 Accepted. Look at the outputs in deqm-test-server that show this hasn't failed.
Look at the header of the response and copy the Content-Location link. Send a GET request to that link and make sure that the status is 200 OK.
Change the POST request to the following (with the same headers as before):

Do the same steps as above. If you want to see what happened before the static export was implemented, unlink the bulk-data-utilities and do these steps in the main branch of this repo. There used to be an error thrown but now there is not.

Look through the code and let me know if you need any help!

Once https://github.com/projecttacoma/bulk-data-utilities/pull/26 gets merged, we can update the hash of the github commit of the bulk data utilities dependency here and then merge this one


Stories not generating C# scripts

when i am importing html file its not generating c# script . I am using twine 2 and saving html in assets folder

I had the same problem and solved it by renaming the file. It seems sensitive to naming syntax so make sure to only use letters and numbers in the name.

When I try to import I'm seeing this. Not sure if it's related. I'm trying to look into it.
NotSupportedException: The invoked member is not supported in a dynamic module. System.Reflection.Emit.AssemblyBuilder.get_Location () (at <ac823e2bb42b41bda67924a45a0173c3>:0) Cradle.Editor.StoryImporter+<LoadMacrosInto>d__30.MoveNext () (at C:/Projects/(external)/Cradle/unity/Cradle/Assets/Cradle/.src/Cradle.Editor/Editor/StoryImporter.cs:78) System.Collections.Generic.HashSet1[T].UnionWith (System.Collections.Generic.IEnumerable1[T] other) (at <1b13ba6391c74847bbc3eddc86df7eee>:0) System.Collections.Generic.HashSet1[T]..ctor (System.Collections.Generic.IEnumerable1[T] collection, System.Collections.Generic.IEqualityComparer1[T] comparer) (at <1b13ba6391c74847bbc3eddc86df7eee>:0)
System.Collections.Generic.HashSet1[T]..ctor (System.Collections.Generic.IEnumerable1[T] collection) (at <1b13ba6391c74847bbc3eddc86df7eee>:0)
Cradle.Editor.StoryImporter.Transcode () (at C:/Projects/(external)/Cradle/unity/Cradle/Assets/Cradle/.src/Cradle.Editor/Editor/StoryImporter.cs:42)
Cradle.Editor.CradleAssetProcessor.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at C:/Projects/(external)/Cradle/unity/Cradle/Assets/Cradle/.src/Cradle.Editor/Editor/CradleAssetProcessor.cs:83)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at :0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at :0)
UnityEditor.AssetPostprocessingInternal.PostprocessAllAssets (System.String[] importedAssets, System.String[] addedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromPathAssets) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:141)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
`

I figured out the isssue above. If you switch to >= .NET 4.0 and then add assembly.IsDynamic checks around all the calls to Location, it fixes it. If you want a PR let me know. Otherwise I'll just use this local copy for my own purposes.

Was this fixed? I am having the same issue. Thanks


Merge utility crates.

Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)

Closes #2005
Other information and links

Could you move forest_utils into its own folder so we don't have nested crates?


Why does tensorflow occupy different gpu memory for the same inference process on different gpu card?

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):yes, my code is similar to examples/label_image.cc in c++ with *.pb(frozen model)
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):centos7.3
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: sorry, I dont't know
TensorFlow installed from (source or binary): source, just compile the c++ api library
TensorFlow version (use command below):v1.13.1
Python version:python2.7
Bazel version (if compiling from source):0.21.0
GCC/Compiler version (if compiling from source):4.8.5
CUDA/cuDNN version:10.0/7.5
GPU model and memory: p40(24G * 4), v100(24G*8)

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
when I run the inference process (video action recognition with I3D, the input shape (32 * 224 * 224 * 3)) on different card, I got following infomation:
(1) on p40, on device:0, it occupy 4235MiB memory(the available free memory is still about 6G), some other process have been existing on the same card;
(2) on p40, on device:1, it occupy 8300MiB, only the I3D inference model is running on the card
(3) on v100, on device:0, it only occupy about 1G memory,  only the I3D inference model is running on the card
And where is the relative code with allocator in tensorflow ?
And I want to know clearly the gpu memory allocator mechanism, than you very much!
And I set allow_growth = true in my c++ inference program, and I set CUDA_VISIBLE_DEVICE to the current device id at each running!
Thank you!
Describe the expected behavior
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

@idealboy the allocation logic is here. When we set allow_growth to True, it'll start by allocating 1MB and double the allocation size when running out of memory. One possibility is that for different GPU cards it picks different algorithms for the gpu ops which will require different amount of memory. I'm closing this one, feel free to reopen and/or file a new issue if you encounter further problems.


fix: pkce validation error

pkce is now false by default to prevent save errors
Closes: #2070

Merged. Thank you @Its-treason !
This will be shipped in the upcoming patch release v1.13.1
Please follow us on Discord announcement channel / Twitter to stay notified on the releases.


"Swap artifact" pop-up only shows 12 first artifacts with no indication that this isn't the whole list.

The pop-up window for "Swap artifact" should either have a page control element or it should include a notice that it displays only first 12 artifacts that are valid for current filters, if this behaviour is intentional.
At the moment it is very easy to misunderstand and think that you don't have any more artifacts than the current cap of 12.
Pictured: bottom of the "Swap artifact" window, with no page control or limit reminder.

I know that it shows 12/408 and the sort on top of the filters in the top left part of the window, but this is ambiguous as this could also mean "only 12 artifacts are valid for currently selected filters".
Also, while selecting an artifact set in that window, the first part of the artifact count only refers to the currently 12 visible artifacts. Before clicking:

it says 3 artifacts
After clicking:

it says 12, despite the fact that I have 28. (Checked it on the "Artifacts" page, which all works correctly. This miscalculation only happens on the Character -> Overview -> Swap Artifact)

This is three issues then.

Add pagination to the swap artifact popup:

Add indication that the number is "showing" rather than "filtered":

Change the "total" number for the set/mainstat/etc filters to be per slot, rather than your total artifact inventory

I think all 3 stem from lack of pagination and I'm assuming will automatically fix themselves when page controls will be added.

Except for your suggestion 3, which I didn't even think about, you're right, with only Flowers selected, the dropdown should probably not include options like "Anemo DMG%"

Implemented in #1436


caffe2csv kernel_size issue

Hi,
I think there is a bug in the caffe 2 csv converter. The self.kernel_size is of size 1 instead of 2, for example. So i had to put a hack to make it work here (self.kernel_size[0], self.kernel_size[0]): https://github.com/hahnyuan/nn_tools/blob/master/analysis/CaffeA.py#L20.
Thanks,
Pavan

Hi,
Thanks for your remind.
The type of kernel_size is <class google.protobuf.pyext._message.RepeatedScalarContainer'>, When one of the prototxt's kernel_size is omitted, there should be a AssertionError.
I have changed the assertion logic to solve this problem.
Zhihang


doc fails when using a pointer with links ?

I think this is a bug, but maybe it's my misuse of the library.
I have the following schema:
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
  "title": "test-schema",
  "description": "Test schema demonstrating prmd issue",
  "links": [
    {
      "description": "Info for test-schema.",
      "href": "/whatever",
      "method": "GET",
      "rel": "self",
      "title": "Info"
    }
  ],
  "properties": {
    "$ref": "/schemata/user-profile/properties"
  },
  "type": ["object"],
  "id": "/schemata/test-schema"
}

This is failing when I run the doc command.
However, if I remove the links property completely, it works fine.  Further, if I remove the properties.$ref pointer and keep the links property, it works fine too.
For some reason when using both links and a pointer in this manner causes it to fail.
I will begin looking into the source but if someone with more familiarity with the library (and ruby for that matter!) could offer some insight that would be great,
Thanks

Here is the call stack:
/Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:131:in `schema_value_example': undefined method `[]' for nil:NilClass (NoMethodError)
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:146:in `block in schema_example'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:144:in `each'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:144:in `schema_example'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:158:in `schemata_example'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schemata/link.md.erb:78:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/template.rb:64:in `render'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schemata.md.erb:35:in `block in result'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schemata.md.erb:33:in `each'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schemata.md.erb:33:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schema.erb:7:in `block in result'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schema.erb:4:in `each'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schema.erb:4:in `map'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/templates/schema.erb:4:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `eval'
	from /Library/Ruby/Gems/2.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb:65:in `result'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/core/renderer.rb:49:in `render'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/commands/render.rb:34:in `render'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/cli/doc.rb:65:in `execute'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/cli/base.rb:141:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/cli.rb:93:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/bin/prmd:6:in `<top (required)>'
	from /usr/bin/prmd:23:in `load'
	from /usr/bin/prmd:23:in `<main>'

It looks like the problem is that the property provided is a ref to something that doesn't exist. When trying to document that it tries to build an example of that property, but fails when it is unable to dereference the pointer. Hope that clarifies, but let me know if you have further questions.

@geemus the pointer is referenced successfully when there are no links, why does adding links break the pointer ?

It's a matter of how the doc generation works. When there are no links, it doesn't need to try and dereference the links, because it wouldn't appear in the output anywhere. Adding the link makes it necessary to build the example, which then tries to dereference these, resulting in the error. Does that make sense?

@geemus maybe i'm missing something, but I still believe there is some underlying bug here that is causing this problem. Here are the exact steps to reproduce the issue, please give it a try.
Schema test-schema.json
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
  "title": "test-schema",
  "description": "Test schema demonstrating prmd issue",
  "properties": {
    "$ref": "/schemata/another-schema/properties"
  },
  "type": ["object"],
  "id": "/schemata/test-schema"
}

Schema another-schema.json
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
  "title": "another-schema",
  "description": "Another schema demonstrating prmd issue",
  "properties": {
    "one": {
      "type": ["string"],
      "description": "Hello World",
      "example": "Hello World"
    }
  },
  "type": ["object"],
  "id": "/schemata/another-schema"
}

I then run the commands:
prmd combine --meta meta.json ./schemas/ > docs.json
prmd doc docs.json > docs.md
At this point all is well, the properties for each schema are rendered as expected, and everyone is super happy. However, if you add following links to the test-schema file:
"links": [
  {
    "description": "Info for test-schema.",
    "href": "/whatever",
    "method": "GET",
    "rel": "self",
    "title": "Info"
  }
],

Then when running the commands once again, the following error is seen:
/Library/Ruby/Gems/2.0.0/gems/prmd-0.7.4/lib/prmd/schema.rb:131:in schema_value_example': undefined method []' for nil:NilClass (NoMethodError
Thanks

We just did some other (unrelated) link related fixing, and retrying this it appears to be solved. Please let me know if you don't find this to be the case. Hopefully I can get a release out with this and other fixes later today.


chore: merge master into develop (v1.15.0 release)

Issue #, if available:
merge master into develop
Description of changes:
Description of how you validated changes:
Checklist:

[ ] Write/update tests
[ ] make pr passes
[ ] Update documentation
[ ] Verify transformed template deploys and application functions as expected
[ ] Add/update example to examples/2016-10-31

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@8587a28). Click here to learn what that means.
The diff coverage is 82.35%.

@@            Coverage Diff            @@
##             develop   #1176   +/-   ##
=========================================
  Coverage           ?   94.9%
=========================================
  Files              ?      72
  Lines              ?    4023
  Branches           ?     863
=========================================
  Hits               ?    3818
  Misses             ?     105
  Partials           ?     100

Impacted Files
Coverage Δ

samtranslator/translator/arn_generator.py
86.95% <ø> (ø)

samtranslator/model/eventsources/push.py
89.49% <100%> (ø)

samtranslator/model/api/api_generator.py
96.96% <100%> (ø)

samtranslator/swagger/swagger.py
92.2% <81.5%> (ø)

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 8587a28...4fa5d6a. Read the comment docs.


Interface tests

Applicable spec: N/A
Overview

Interface tests corresponding to https://github.com/canonical/charm-relation-interfaces/pull/126
Rationale

N/A
Juju Events Changes

N/A
Module Changes

N/A
Library Changes

N/A
Checklist

[x] The charm style guide was applied
[x] The contributing guide was applied
[x] The changes are compliant with ISD054 - Managing Charm Complexity
[x] The documentation is generated using src-docs
[x] The documentation for charmhub is updated
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

LGTM, out of curiosity, how does this interface testing work?

It relies on the interface tester to run the tests as defined here


Move i18n to transifex

For painfree translations we should move to Transifex. I added our project there but I need help on the following steps:

import existing translations
set up deployment on server/github

Please raise this issue's priority.
Current way of translations is PITA.
Additionally, when refactoring i18n workflow, please consider renaming .po files, e.g. to "messages.po" - they're already in language aware directories, so no need to have different names for files.
Finally removing "messages.mo" from repository should be thought about. Those should be generated, where and when needed (e.g. "pybabel compile ..."). It's binary files, completely generated, which is two reasons why it shouldn't be dealt with in SCM.

closed with merge of tx-branch, thanks pitpalme !


Including XTOMO and ECE on master

Hi
I've finished with the XTOMO diagnostic which now is working properly with all @classmethod to be compliant with what you already did. The XTOMO include the capability of plotting both the signal, and eventually the spectrogram. It actually load for now the data from each single camera, including the possibility to choose between the LoS. I might implement a new function in the following to load, with a single command all the cameras, by properly combining the Xray data.
I've also completed and amended the ECE diagnostic, which is now tested and worked properly.
I hope you enjoy it.
I take the opportunity to add myself as a contributor

Sorry for the additional pull request.
Now I've added also the dmpx diagnostic. Works fine


colab

please add a google colab for inference

A pre-trained model will be better

A pretrained generator is included in the release. We do not include the colab, as the environment is cross-platform and simple to setup: just pip install. After that, it's one line on the command line to use the pretrained model.


Sanitize http calls traced with X-Ray

I'm using X-Ray through node's aws-xray-sdk. I am capturing node's native http with
AWSXRay.captureHTTPsGlobal(http, false);
AWSXRay.captureHTTPsGlobal(https, false);

This works great, but I need to interface with an API that has a GET endpoint, where a query string contains sensitive user information. I need to be able to sanitize the url, to avoid showing this data in the AWS Console.
In this thread I found something promising when it comes to manipulating segments: https://forums.aws.amazon.com/thread.jspa?threadID=261234&tstart=125.
  request.get('http://google.com/img.png')
    .on('response', function(response) {
        var parentSubs = AWSXRay.getSegment().subsegments;
        var subsegment = parentSubs[parentSubs.length -1];
        subsegment.name = response.req.getHeader('host') + response.req.path;
        //...
    });

This example seems outdated, as the type definition for Subsegment | Segment does not have the property subsegments
As I'm using axios to handle requests, how can I implement this behaviour?

Ok! I'll be writing a PR shorly

Hello @willarmiros, I am having trouble implementing this feature, using this approach:
var parentSubs = AWSXRay.getSegment().subsegments;
var subsegment = parentSubs[parentSubs.length -1];
subsegment.name = response.req.getHeader('host') + response.req.path;

I'm considering implementing a first level API for masking HTTP request content before closing a subsegment.
The proposed API would look like this (I'm very open for suggestions):
AWSXRay.captureHTTPsGlobal(http, {
  downstreamXRayEnabled: true,
  overrideRequestData: (req) => ({
    url: req.agent.protocol + "//" + req.getHeader("host") + maskPath(req.path),
    method: req.method || ''
  })
});

This way, users could easily check if a request matches the one they need to mask out and manipulate the generated subsegment.
AFAIK, all data is injected into the subsegment via subsegment.addRemoteRequestData(), which builds a RemoteRequestData object. I propose we either:

Remove the downstreamXRayEnabled parameter and instead pass an options parameter that accepts an interceptor function, that can manipulate the saved subsegment's data, or...
Add another (optional) options parameter, keeping downstreamXRayEnabled as the 3rd parameter.
Use a function overload pattern so the user can still pass a boolean downstreamXRayEnabled, or else the options object with other capabilities (this could be confusing).

Only the first approach infers in an API change, but a very manageable one, considering this SDK's 3.0 version is coming soon and users expect breaking changes.
Either way, I'll be happy to make a PR providing those changes.
Also, we could consider using this approach to separate subsegment's names for API calls to many paths of the same host. (forum issue for reference)

@willarmiros what do you think of my suggestion? Should I make a PR for it?

Hi @danilofuchs,
I suppose I'm somewhat confused by the necessity of this addition for your use case. Are you saying that currently the SDK includes your query string in the url field of your subsegments? The query string should not be included in req.path in the first place.
If you're more interested in general sanitization of URL paths, we are having an ongoing discussion on how we'd like to do sanitization for everything from URL paths to SQL queries to annotations/metadata across all our SDKs, so we would probably wait on a PR for this.

It seems like axios adds the query string to req.path. I'm looking into other request providers that don't have this behaviour. In the meantime, I'm disabling X-Ray tracing for http requests.
I'm happy to hear you are developing a sanitizing solution.

Actually it looks like we're wrong on this one. According to the node documentation:

path: Request path. Should include query string if any. E.G. '/index.html?page=12'. An exception is thrown when the request path contains illegal characters. Currently, only spaces are rejected but that may change in the future. Default: '/'.

So what really what we should do is sanitize the query string out of req.path in both remoteRequestData.js and from logging statements in http_p.js, since the behavior of the other SDKs is to assume the query string contains sensitive data and sensor it by default.
If you'd like to open a PR to implement this behavior I'd be open to it.

I'm working on the fix right now and will send a PR.

Here is the PR: https://github.com/aws/aws-xray-sdk-node/pull/251

By the way, we are seeing a crash because req.agent is undefined:
    url: req.agent.protocol + "//" + req.getHeader("host") + maskPath(req.path),


hang during --status

I get a hang during the following.

./bin/Release/lgogdownloader --no-deb --directory ~/gog/ --platform 4 --language 1 --game wasteland --status

The output prior to the hang is (long numbers removed.  Let me know if they matter)

user@host:lgogdownloader$ ./bin/Release/lgogdownloader --no-deb --directory ~/gog/ --platform 4 --language 1 --game wasteland --status
WARNING: gnome-keyring:: couldn't connect to: /home/user/.cache/keyring-mNLVXi/pkcs11: No such file or directory
Getting game info 1 / 1
OK wasteland_2_kickstarter gog_wasteland_2_<IP_ADDRESS>.tar.gz [code] [code]
OK wasteland_2_kickstarter wasteland_2_manual.zip [code] [code]
OK wasteland_2_kickstarter wasteland_2_reference_card.zip [code] [code]
OK wasteland_2_kickstarter wasteland_2_map.zip 94517311 [code] [code]
OK wasteland_2_kickstarter wl2_choir_songs_flac.zip [code] [code]
OK wasteland_2_kickstarter wl2_choir_songs_mp3.zip [code] [code]
^C

At the time of the hang strace show only line repeating

read(7, 0x17ade80, 8192)                = -1 EISDIR (Is a directory)
read(7, 0x17ade80, 8192)                = -1 EISDIR (Is a directory)
read(7, 0x17ade80, 8192)                = -1 EISDIR (Is a directory)
.
.
.

/proc shows the the following open file handes

user@host:~$ ls -l /proc/4015/fd
total 0
lrwx------ 1 user user 64 Dec 26 12:51 0 -> /dev/pts/1
lrwx------ 1 user user 64 Dec 26 12:51 1 -> /dev/pts/1
lrwx------ 1 user user 64 Dec 26 12:51 2 -> /dev/pts/1
lr-x------ 1 user user 64 Dec 26 12:51 3 -> /dev/urandom
lrwx------ 1 user user 64 Dec 26 12:51 4 -> socket:[1906477]
lrwx------ 1 user user 64 Dec 26 12:51 5 -> socket:[1906482]
lrwx------ 1 user user 64 Dec 26 12:51 6 -> socket:[1906967]
lr-x------ 1 user user 64 Dec 26 12:51 7 -> /home/user/gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras

The contents of the wasteland_2_kickstarter directory are

user@host:~$ find gog/wasteland_2_kickstarter/
gog/wasteland_2_kickstarter/
gog/wasteland_2_kickstarter/dlc
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_soundtrack_mp3.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_wallpapers.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_flac.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_mp3.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_soundtrack_flac.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_artbook.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras/wasteland_2_book_two.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras/wasteland_2_book_one.zip
gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras/wasteland_2_book_three.zip
gog/wasteland_2_kickstarter/gog_wasteland_2_<IP_ADDRESS>.tar.gz
gog/wasteland_2_kickstarter/extras
gog/wasteland_2_kickstarter/extras/wasteland_2_reference_card.zip
gog/wasteland_2_kickstarter/extras/wl2_choir_songs_flac.zip
gog/wasteland_2_kickstarter/extras/wasteland_2_map.zip
gog/wasteland_2_kickstarter/extras/wl2_choir_songs_mp3.zip
gog/wasteland_2_kickstarter/extras/wasteland_2_manual.zip
gog/wasteland_2_kickstarter/gog_wasteland_2_<IP_ADDRESS>.tar.gz

That does prevent the hang, but not it just crashes.  Maybe that was intentional for now.

user@host:lgogdownloader$ ./bin/Release/lgogdownloader --no-deb --directory ~/gog/ --platform 4 --language 1 --game wasteland --status
WARNING: gnome-keyring:: couldn't connect to: /home/user/.cache/keyring-mNLVXi/pkcs11: No such file or directory
Getting game info 1 / 1
OK wasteland_2_kickstarter gog_wasteland_2_<IP_ADDRESS>.tar.gz [code] [code]
OK wasteland_2_kickstarter wasteland_2_manual.zip [code] [code]
OK wasteland_2_kickstarter wasteland_2_reference_card.zip [code] [code]
OK wasteland_2_kickstarter wasteland_2_map.zip [code] [code]
OK wasteland_2_kickstarter wl2_choir_songs_flac.zip [code] [code]
OK wasteland_2_kickstarter wl2_choir_songs_mp3.zip [code] [code]
terminate called after throwing an instance of 'boost::filesystem3::filesystem_error'
what():  boost::filesystem::file_size: Operation not permitted: "/home/user/gog/wasteland_2_kickstarter/dlc/wasteland_2_digital_deluxe_edition_upgrade/extras/"
Aborted

I got a stack from the debug build.  Let me know if there is more info I can grab.  Also, I'll try to watch this closer.  I thought github was going to email when there was an update.

(gdb) bt
#0  0x00007ffff65e2165 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff65e53e0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff6e3989d in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff6e37996 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff6e379c3 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff6e37bee in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff7fca74b in boost::filesystem3::detail::file_size(boost::filesystem3::path const&, boost::system::error_code*) () from /usr/lib/libboost_filesystem.so.1.49.0
#7  0x00000000004511ce in boost::filesystem3::file_size (p=...)
at /usr/include/boost/filesystem/v3/operations.hpp:447
#8  0x000000000044d600 in Downloader::checkStatus (this=0x7fffffffd560) at src/downloader.cpp:2609
#9  0x000000000041b2cc in main (argc=11, argv=0x7fffffffe238) at main.cpp:521

Hopefully ae91c28 fixes the crash

That fixes the crash.  We can call it "bug fixed".  There was one interesting line in the output of --status
ND wasteland_2_kickstarter .
Let me know if you'd like to look into that more.  Or does this look like some sort of user error?

The underlying cause is that the downloader gets wrong filepath
I'm guessing it is caused by the path assignment in Downloader::getExtras
I'd be interested in the output of

lgogdownloader --list-details --game wasteland_2

with this patch https://sites.google.com/site/gogdownloader/path.diff

Sorry.  This is large.  I chopped some really long codes out of the URLs, but they are still long.  Let me know if you need them.
======================================================

user@host:lgogdownloader$ ./bin/Release/lgogdownloader --directory ~/gog --list-details --game wasteland_2
WARNING: gnome-keyring:: couldn't connect to: /home/user/.cache/keyring-mNLVXi/pkcs11: No such file or directory
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Base/wasteland_2_manual.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_kickstarter/extras/Base/wasteland_2_manual.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Base/wasteland_2_reference_card.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_kickstarter/extras/Base/wasteland_2_reference_card.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Base/wasteland_2_map.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_kickstarter/extras/Base/wasteland_2_map.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/wl2_choir_songs_flac.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_kickstarter/extras/wl2_choir_songs_flac.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/wl2_choir_songs_mp3.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_kickstarter/extras/wl2_choir_songs_mp3.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_deluxe_edition_upgrade/extras/
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Deluxe/wasteland_2_book_one.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_one.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Deluxe/wasteland_2_book_two.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_two.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Deluxe/wasteland_2_book_three.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_three.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Classic/wasteland_2_soundtrack_mp3.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_soundtrack_mp3.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Classic/wasteland_2_soundtrack_flac.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_soundtrack_flac.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/Classic/wasteland_2_artbook.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_artbook.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/wasteland_2_wallpapers.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_wallpapers.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/wl2_choir_songs_flac.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_flac.zip
URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/wasteland_2_digital_classic_edition/extras/wl2_choir_songs_mp3.zip?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_mp3.zip
gamename: wasteland_2_kickstarter
title: Wasteland 2
icon: http://static.gog.com/upload/images/2014/09/474f607921ee82b65aa2b95f43c08efeef7a5dfc.jpg
installers:
id: en3installer4
name: Linux Installer, English
path: /wasteland_2_digital_classic_edition/linux/gog_wasteland_2_<IP_ADDRESS>.tar.gz
size: 10500
updated: True
language: English
extras:
id: 35383
name: wasteland_2_manual.zip
path: /wasteland_2_kickstarter/extras/Base/wasteland_2_manual.zip
size:
id: 35423
name: wasteland_2_reference_card.zip
path: /wasteland_2_kickstarter/extras/Base/wasteland_2_reference_card.zip
size:
id: 35433
name: wasteland_2_map.zip
path: /wasteland_2_kickstarter/extras/Base/wasteland_2_map.zip
size:
id: 37673
name: wl2_choir_songs_flac.zip
path: /wasteland_2_kickstarter/extras/wl2_choir_songs_flac.zip
size:
id: 37683
name: wl2_choir_songs_mp3.zip
path: /wasteland_2_kickstarter/extras/wl2_choir_songs_mp3.zip
size:
DLCs:
gamename: wasteland_2_digital_deluxe_edition_upgrade
id: 34743
name:
path: /wasteland_2_digital_deluxe_edition_upgrade/extras/
size:
gamename: wasteland_2_digital_deluxe_edition_upgrade
id: 34753
name: wasteland_2_book_one.zip
path: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_one.zip
size:
gamename: wasteland_2_digital_deluxe_edition_upgrade
id: 34763
name: wasteland_2_book_two.zip
path: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_two.zip
size:
gamename: wasteland_2_digital_deluxe_edition_upgrade
id: 34773
name: wasteland_2_book_three.zip
path: /wasteland_2_digital_deluxe_edition_upgrade/extras/Deluxe/wasteland_2_book_three.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 35343
name: wasteland_2_soundtrack_mp3.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_soundtrack_mp3.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 35353
name: wasteland_2_soundtrack_flac.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_soundtrack_flac.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 35363
name: wasteland_2_artbook.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/Classic/wasteland_2_artbook.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 35373
name: wasteland_2_wallpapers.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/wasteland_2_wallpapers.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 37703
name: wl2_choir_songs_flac.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_flac.zip
size:
gamename: wasteland_2_digital_classic_edition_upgrade
id: 37713
name: wl2_choir_songs_mp3.zip
path: /wasteland_2_digital_classic_edition_upgrade/extras/wl2_choir_songs_mp3.zip
size:

Looks like there's a link without a filename

URL: http://wpc.11DF.edgecastcdn.net/0011DF/secure/?[code]&fileExtForIe=.exe
PATH: /wasteland_2_digital_deluxe_edition_upgrade/extras/

Not really sure how to properly handle this but as a workaround in 525985d I made the downloader ignore extras that don't have a filename

It still appears to work.  I also still see the following line in the output, but I don't really have a problem with it.
ND wasteland_2_kickstarter .
I suppose it could be an issue for someone trying to automate syncing, but it sounds like a 'garbage in/garbage out' problem.  In any case, let me know if there is more you'd like me to try.  Thanks.


Check for any MultiPolygons when constructing a MultiPolygon

Currently, the MultiPolygon constructor only validates the type of the first element of the polygons input. When a later element does not have the correct type, things silently fail.

Hey @ianwilliamson would you have time to add a small test for this?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 87.65%

Totals

Change from base Build<PHONE_NUMBER>2:
0.3%

Covered Lines:
2562

Relevant Lines:
2923

💛  - Coveralls


Update qhub-dask pinned version

Fixes | Closes | Resolves #1212

Please remove anything marked as optional that you don't need to fill in.
Choose one of the keywords preceding to refer to the issue this PR solves, followed by the issue number (e.g Fixes # 666).
If there is no issue, remove the line. Remove this note after reading.

Changes introduced in this PR:

Update qhub-dask from 0.3.13 to 0.4.0

Types of changes
What types of changes does your PR introduce?
Put an x in the boxes that apply

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features to not work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing
Requires testing

[ x] Yes
[ ] No

CI should be sufficient.
In case you checked yes, did you write tests?

[ ] Yes
[x] No

Documentation
Does your contribution include breaking changes or deprecations?
If so have you updated the documentation?

[ ] Yes, docstrings
[ ] Yes, main documentation
[ ] Yes, deprecation notices

Further comments (optional)
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered and more.

This is a solution that will work without much overhead however there are other ways we can get this to work without having to manually update the version of qhub-dask each time we cut a new release.
Something like qhub_dask_version = __version__ would work well for those installing qhub from pypi or conda-forge but will not work well for developers since there will not be a version of qhub-dask that corresponds to __version__.
I created #1226 to circle back to some of these idaes.


Update http4s-blaze-server, http4s-circe, ... to 0.21.14

Updates

org.http4s:http4s-blaze-server
org.http4s:http4s-circe
org.http4s:http4s-dsl

from 0.21.7 to 0.21.14.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch

Superseded by #125.

Superseded by #125.


"Integrations" link in website footer returns 404 (update to docs.marimo.io url)

At the moment, the "Integrations" link in the footer of the website takes us to https://marimo.io/integrations (404).  Consider updating to https://docs.marimo.io/integrations (i think that is what is intended) :)

Thanks for reporting! This is now fixed.


Date format is different than value submitted

my current date format is following mysql format

    handleDateChange = date => {
        this.setState({
            due: date,
        });
    };

        <DatePicker
            selected={this.state.due}
            onChange={this.handleDateChange}
            showTimeSelect
            timeFormat="HH:mm"
            timeIntervals={15}
            timeCaption="time"
            dateFormat="yyyy-MM-dd HH:mm:ss"
        />

the value that is sent through the post request is: 2020-02-05T06:15:30.038Z
However the value showing on the input is correctly showing as 2020-02-05 17:30:00
What should I do to get the correct format as value in my state?
Thanks

I think I'm having the same problem


Bad state: Tried to read a provider from a ProviderContainer that was already disposed

Describe the bug
hi, it's me again
I think I found new trouble, I am still writing tests and my test calls two functions:
 Future<void> handleNewWSUrls(UserSipSettingsSaved newSipSettings) async {
    await clearFailedWSUrls();
    final activeWSUrl = await ref.read(**currentWSUrlProvider**.future);
    print('current ws url - $activeWSUrl');

    if (activeWSUrl is! ActiveWSUrlSaved ||
        !newSipSettings.sip.webrtcUrls.contains(activeWSUrl.wsUrl)) {
      await calculateActiveWSUrl(newSipSettings);
    }
  }

  /// Calculates active ws url
  Future<void> calculateActiveWSUrl(UserSipSettings sipSettings) async {
    state = const AsyncLoading();

    if (sipSettings is! UserSipSettingsSaved) {
      state = AsyncValue.error(const ActiveWSUrlsError(), StackTrace.current);

      return;
    }

    final blockedWSUrls =
        await ref.read(failedWSUrlsStorageDataSourceImplProvider).read();
    final availableWSUrls = sipSettings.sip.webrtcUrls
        .where((url) => !blockedWSUrls.urls.contains(url))
        .toList();

    if (availableWSUrls.isEmpty) {
      state = AsyncValue.error(const ActiveWSUrlsError(), StackTrace.current);

      return;
    }

    print('new url - ${availableWSUrls.first}');

    await ref
        .read(**currentWSUrlProvider**.notifier)
        .setActiveUrl(ActiveWSUrl.saved(wsUrl: availableWSUrls.first));

    print('active ws url updated');
    ref.invalidateSelf();
    await future;
  }

so, despite in my tests I listen to currentWSUrlProvider like this:
container.listen(currentWSUrlProvider, (_, __) {});
right after this line
state = const AsyncLoading();

in calculateActiveWSUrl  function - currentWSUrlProvider disposed and I see such an error
when try to read
 await ref
        .read(**currentWSUrlProvider**.notifier)
        .setActiveUrl(ActiveWSUrl.saved(wsUrl: availableWSUrls.first));

in calculateActiveWSUrl function
Bad state: Tried to read a provider from a ProviderContainer that was already disposed
this is my currentWSUrlProvider
 class CurrentWSUrl extends _$CurrentWSUrl {
  @override
  Future<ActiveWSUrl> build() async {
    ref.onDispose(() => print('bye everyone'));
    ref.onAddListener(() => print('new listener'));
    ref.onRemoveListener(() => print('remove listener'));
    final wsUrl =
        await ref.watch(activeWSUrlStorageDataSourceImplProvider).read();
    return wsUrl;
  }
}

and I see such logs also, so I assume that provider still has at least one listener:
new listener
new listener
current ws url - ActiveWSUrl.saved(wsUrl: mock_ws_url)
bye everyone
new url - mockWebrtcUrl1
Bad state: Tried to read a provider from a ProviderContainer that was already disposed
Expected behavior
Expected that provider will keep alive until it has at least one listener

Hi , again share a minimal reproducible example.

Ok, I'll try to provide you simplified version of the code that causes this error

you can reproduce this error with the next code:
file provider1.dart
import provider2Provider;
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'provider1.g.dart';

@riverpod
class Provider1 extends _$Provider1 {
  @override
  Future<int> build() async {
    await ref.watch(provider2Provider.future);
    return Future.value(1);
  }

  void callSecond() {
    print('calling second provider');
    ref.read(provider2Provider.notifier).sayHello();
  }

  void printSum() async {
    final sum = (await ref.read(provider2Provider.future)) + (await future);
    print('sum is - $sum');
    callSecond();
  }
}

file provider2.dart
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'provider2.g.dart';

@riverpod
class Provider2 extends _$Provider2 {
  @override
  // Future<int> build() => Future.value(2);
  Future<int> build() async {
    ref
      ..onAddListener(() => print('+ listener'))
      ..onRemoveListener(() => print('- listener'))
      ..onDispose(() => print('bye'));

    return Future.value(2);
  }

  void sayHello() => print('provider 2');
}

test file:
import 'package:flutter_test/flutter_test.dart';
import provider1Provider, provider2Provider;
import 'package:riverpod/riverpod.dart';

import '../../../../helpers/helpers.dart';

void main() {
  group('Provider1', () {
    late ProviderContainer providerContainer;
    setUp(() {
      providerContainer = createContainer();
    });
    test('test calling notifier method', () async {
      final sub =
          providerContainer.listen(provider1Provider.future, (_, __) {});
      final sub2 =
          providerContainer.listen(provider2Provider.future, (_, __) {});

      await sub.read();
      await sub2.read();
      providerContainer.read(provider1Provider.notifier).printSum();
    });
  });
}

Your printSum is async but unawaited
+  Future<void> printSum() async {
    final sum = (await ref.read(provider2Provider.future)) + (await future);
    print('sum is - $sum');
    callSecond();
  }

....

+      await providerContainer.read(provider1Provider.notifier).printSum();

This was answered, so closing


Admin group of users

When want to assign an admin to a program, the user must be in group admin in ADFS

Describe the solution you'd like
It will be nice if we have an admin group in the civiform app itself so that we do not need to handle ADFS and civiform, the ADFS will be used to verify that the user login is correct and should not worry if being in admin group or not. In this case the civiform will be self contained and it will be easier to handle adding or removing users from admin group of users
Additional context
Add any other context or screenshots about the feature request here.
Done when
What conditions need to be met before this issue can be closed?

With your proposal CiviForm admin can assign other CiviForm admins from within the website itself, right? How would you expect the first CiviForm admin be "specified"? Will it come from that ADFS admin group or somewhere else?


Only squeeze when appropriate

Description
Only squeezes the data when appropriate.  Thanks @bycn!  Based off of this original PR
Testing
How was this PR tested?

Any reason why the new PR was necessary? It seems to be the exact same code as the original with the comment deleted and the linter is still complaining here 😃

Any reason why the new PR was necessary? It seems to be the exact same code as the original with the comment deleted and the linter is still complaining here 😃

@bycn you need to run make test to generate the python2 sdk files.


Add JSON syntax highlighting for htmlhintrc and xmlhintrc config files

As the config files follow the json syntax this will make them actually have the same syntax highlighting which helps editing the files and preventing errors.

Nice - I didn't even know this was possible.


Server side route: Error: request aborted (on POST Webhook)

We´re trying to get Mailgun webhooks working - some work, but the ones using "application/x-www-form-urlencoded" seem to result in a timeout and then an error.
Our setup:
Mailgun receives a incoming email and triggers a webhook on our server which we stripped down to the bare minimum:
Router.route("/webhooks/mailgun", {where: 'server'}).post ->
  console.log "*** /webhooks/mailgun"

Then, our server trows this error: (no console.log):
[rentkitbeta.cloudapp.net] Error: request aborted
[rentkitbeta.cloudapp.net]     at makeError (/bundle/bundle/programs/server/npm/iron_router/node_modules/body-parser/node_modules/raw-body/index.js:154:15)
[rentkitbeta.cloudapp.net]     at IncomingMessage.onAborted (/bundle/bundle/programs/server/npm/iron_router/node_modules/body-parser/node_modules/raw-body/index.js:252:10)
[rentkitbeta.cloudapp.net]     at IncomingMessage.emit (events.js:92:17)
[rentkitbeta.cloudapp.net]     at abortIncoming (http.js:1916:11)
[rentkitbeta.cloudapp.net]     at Socket.serverSocketCloseListener (http.js:1928:5)
[rentkitbeta.cloudapp.net]     at Socket.emit (events.js:117:20)
[rentkitbeta.cloudapp.net]     at TCP.close (net.js:466:12)

And Mailgun reports a "502 Bad Gateway" error on the webhook and schedules it to try again.
One noteable thing is a maybe 30-60 second lag from Mailgun getting the message to the Error being thrown, maybe pointing towards some sort of timeout / missing data.
We´re not quite sure how to further debug it at the moment...

Ah, found the cause of the issue... Another Package was interfering.

Hey thomasf1
Any more details on which package was interfering? I am running across an identical problem.

Hey... It was a custom Busboy-based package we´ve used to enable attachments on POST requests...

hmm it's something else for me then. But thanks for chiming in!

Sure... It was really annoying to debug as there where no clear error messages... The way we found it was to see that GET requests worked and what the difference between working and dying POST requests was...

Yeah I figure it must me something dumb since the Mailgun "Send A Sample POST" works just fine, but when I try to route an incoming email it times out and I get a similar error in the app log. Annoying...

@heckler078 The content type between the Mailgun Sample POST and the actual webhook can be different (and was in our case)... We used a http://requestb.in/ to debug it.

That could be it!
Sample POST to RequestBin url:
Content-Type: multipart/form-data; boundary=7cb28e48-a645-4c5e-a998-dc4f9aa3fe4f
Email Route (forward to RequestBin url):
Content-Type: application/x-www-form-urlencoded
Did you solve this at the iron:router code level or is there a way to somehow force Mailgun to create those POST requests differently?
Btw, thanks again for chiming in, I really appreciate it!

It actually worked with pure iron router... We´ve re-created the request (raw postbin + headers) with postman and tested locally. Pure Iron router worked, then we added all the other packages back...

Hah... you just solved it for me!
I thought using busboy was needed because iron router can't handle multipart requests. I came across this consistently in a few writeups I've seen.
I just got rid of busboy logic and now the email works and Sample Post doesn't. Bizarre. I wish I understood better what's going on at a lower level.

Great :)... You´re welcome!

Yup, you're awesome thanks again! I mean now the route breaks if there is an attachment in the email, but at least I see what's going on and can try dealing with it.

how did you resolve dealing with attachments?
I dont really care to save the attachments, just want to be able to save the sender details.

I ended up switching to Postmark so I don't remember how far I got with Mailgun. Postmark just worked out of the box.

Using webhook for delivery of email but mailgun sends 502 Bad Gateway, The server returned an invalid or incomplete response.Is it async in nature or something else


Port forward not automatically created for integrated TensorBoard sessions with Remote-SSH

Environment data

VS Code version: 1.55.0-insider (commit d06d2f1d6245ce00b1c36a9cd81a9087d225173e)
Extension version (available under the Extensions sidebar): Python: v2021.3.680753044
OS and version: Darwin x64 20.3.0 (on local machine, using remote Ubuntu 20.04.2
Python version (& distribution if applicable, e.g. Anaconda): 3.8.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): pyenv
Relevant/affected Python packages and their versions: Tensorboard 2.4.1
Relevant/affected Python-related VS Code extensions and their versions:  n/a
Value of the python.languageServer setting: Jedi

[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
Tensorboard should appear in a new pane when using the new Python: Launch Tensorboard functionality.
Actual behaviour
The tensorboard pane opens but nothing appears but a blank new tab. In python output log I see a possibly related warning from tensorboard mentioning a missing file that is indeed missing in the specified folder (but does exist in the installed tensorboard package, at a different location).
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

Run Python: Launch Tensorboard

Logs

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to )

~/.pyenv/versions/d38/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2021.3.680753044/pythonFiles/pyvsc-run-isolated.py -c "import tensorboard; print(tensorboard.__version__)"
~/.pyenv/versions/d38/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2021.3.680753044/pythonFiles/pyvsc-run-isolated.py -c "import torch_tb_profiler"
~/.pyenv/versions/d38/bin/python ~/.vscode-server-insiders/extensions/ms-python.python-2021.3.680753044/pythonFiles/pyvsc-run-isolated.py ~/.vscode-server-insiders/extensions/ms-python.python-2021.3.680753044/pythonFiles/tensorboard_launcher.py ~/devel/pers/vaes
Error 2021-03-29 22:57:22: webfiles.zip static assets not found: /home/ben/.vscode-server-insiders/extensions/ms-python.python-2021.3.680753044/pythonFiles/webfiles.zip

@b-hahn Are you using Remote-SSH and starting TensorBoard on the remote host? If so, there should be a port forward created for 6006 in the ports management tab at the bottom of VS Code (same panel as the integrated terminal). That port forward needs to remain open for TensorBoard integration to work when the Python extension is installed on a remote host.

Thanks for the quick reply! I am using Remote-SSH indeed but it seems no port forward for 6006 is automatically created although there are some other forwarded ports. When I create it manually (using the VS Code UI) everything works so I suppose it's an issue with setting up the port forwarding automatically. Not sure where to look for error messages, a quick scan of the logs didn't turn up anything suspicious.

@b-hahn thanks, this indicates to me that we should explicitly setup the port forward. When we shipped this feature in February ports were automatically forwarded but maybe there's been a behavior change recently.

same problem here, the port forward was not automatically created, so I was getting a black pane when launching Tensorboard. After creating the port forward for 6006 manually, it worked.

I believe I have a fix for this (#16005). @bbiering @b-hahn Would either of you mind trying a preview build out and letting me know whether it works for you? Here's the link to download the Python extension VSIX: https://github.com/microsoft/vscode-python/suites/2544957777/artifacts/55288471  Thanks so much for your patience!

@joyceerhl Should that be installed on the remote somehow? I know I can install it locally with code --install-extension ms-python-insiders.vsix, but how to install it remotely?

This worked for me too; thanks! I'll keep it installed until a new release
comes along.
Also, I tried installing the v2021.5.769243025-dev VSIX supplied both
remotely and locally, and also installing v2021.4.765268190 locally and
-dev remotely; both worked. So, in this case, it's the remote version that
seems to matter. Is that generally true for how VSC extensions work with
remote connections? Or is it possible to know for which extensions this is
or is not true?
On Thu, Apr 22, 2021 at 12:32 PM Joyce Er @.***> wrote:

Yes sorry for not explaining earlier. Here are instructions:

Upload the VSIX to your remote machine. You can do this by dragging
and dropping the VSIX like so:

[image: image]
https://user-images.githubusercontent.com/30305945/115750950-8c80e980-a34d-11eb-8fe6-9b625773b6b8.png

In the Extensions pane, open the overflow menu and choose 'Install
from VSIX'. Select the VSIX you just uploaded:

[image: image]
https://user-images.githubusercontent.com/30305945/115750662-41ff6d00-a34d-11eb-8f64-c7cb28862f41.png

Wait for VS Code to finish installing the extension. Reload VS Code
when prompted.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-python/issues/15807#issuecomment-824996637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKXWKMHQUOLCUGOWQROWTTKBFSVANCNFSM42AN2AYA
.

When you're in a remote session, I believe you would look at the remote version for workspace extensions and the local version for UI extensions. Workspace extensions are extensions which need access to the remote workspace's contents (e.g. the Python extension is a workspace extension), so they must be installed remotely and are also run in the remote machine's VS Code extension host. To my knowledge you cannot install a UI extension (e.g. theme extensions) remotely, because they need to run locally to access local resources anyway. E.g. in a remote session it looks like I am only given the option to 'Install Locally' for a theme extension. More authoritative and detailed info here: https://code.visualstudio.com/blogs/2019/05/02/remote-development#_managing-extensions

Ok, thanks, I thought there was probably some distraction like that, and
that link clarifies it for me.
On Thu, Apr 22, 2021 at 10:14 PM Joyce Er @.***> wrote:

When you're in a remote session, I believe you would look at the remote
version for workspace extensions and the local version for UI extensions.
Workspace extensions are extensions which need access to the remote
workspace's contents (e.g. the Python extension is a workspace extension),
so they must be installed remotely and are also run in the remote machine's
VS Code extension host. To my knowledge you cannot install a UI extension
(e.g. theme extensions) remotely, because they need to run locally to
access local resources anyway. E.g. in a remote session it looks like I am
only given the option to 'Install Locally' for a theme extension. More
authoritative and detailed info here:
https://code.visualstudio.com/blogs/2019/05/02/remote-development#_managing-extensions
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-python/issues/15807#issuecomment-825336562,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKXWO26MTZGNQP353REBLTKDJYHANCNFSM42AN2AYA
.


Mercurial support

how come azure devops doesn't support mercurial repositories? VSTS used to support hg and bitbucket integration didnt it?

@jmadderson Thank you for your feedback. I'm not sure who to send this feedback to from the documentation side, but you can ask the product team directly by filing an issue here:
https://developercommunity.visualstudio.com/spaces/21/index.html
Is this for build pipelines, or some other integration?


[jax2tf] Error when converting function wrapped in jax.grad to SavedModel format

When trying to convert models in #9659, an issue was uncovered with converting to SavedModel format. Copying @oliverdutton's remark from there:
"The users needs to be aware that their input signature has changed to something flat, and ideally they need to name it in a way that makes sense. They just define the model and a way to pass args to it, which can be tricky when you’re using it in a number of platforms/languages.
There could be a utility function left around though, which people are advised to use which wraps f and inputs."
And from @josephrocca:
"would the most simple example code to add to the jax2tf readme be something like this?"
def your_fn(nested_data):
  # function that you want to convert to TensorFlow with jax2tf

nested_data = # add an input data sample here
flat_data = jax.tree_map(tf.constant, jax.tree_flatten(nested_data)[0])
flat_names = list(flatten(nested_data))
_, nested_data_structure = jax.tree_flatten(nested_data)

def your_fn_flat(flat_data):
  nested_data = jax.tree_unflatten(nested_data_structure, nested_data)
  return your_fn(nested_data)

your_fn_flat_tf = jax2tf.convert(your_fn_flat, enable_xla=False)

my_model = tf.Module()
my_model.f = tf.function(your_fn_flat_tf, autograph=False, jit_compile=True, input_signature=[
  jax.tree_map(lambda x, name: tf.TensorSpec(x.shape, x.dtype, name=name), flat_data, flat_names),
])

model_name = 'your_fn_flat'
tf.saved_model.save(my_model, model_name,  options=tf.saved_model.SaveOptions(experimental_custom_gradients=False), signatures=my_model.f.get_concrete_function())

I think one problem with that is in cases like this: list(flatten({'foo':{'bar':1}, 'foo_bar':2})), which returns ['foo_bar']. It's also just kind of complicated, and I'm concerned that it would be hard for many people to use even if that were put in the jax2tf readme, especially if they have multiple inputs, and perhaps also need to use _variables. But maybe most users of jax2tf won't be as much of a noob as me? I'm not sure.
I'm also wondering if the signatures=my_model.f.get_concrete_function() bit is necessary in tf.saved_model.save, since we've already defined input_signature during the tf.function creation? Strangely, if I add it to the CLIP notebook that I linked above, then I get this error during tf.saved_model.save:
ValueError: Got a non-Tensor value <tf.Operation 'PartitionedCall' type=PartitionedCall> for key 'output_0' in the output of the function __inference_score_tf_grad_95495 used to generate the SavedModel signature 'serving_default'. Outputs for functions used as signatures must be a single Tensor, a sequence of Tensors, or a dictionary from string to Tensor.

@josephrocca I have tried isolating your issue from #9659, but could you help me by providing a somewhat minimal example of when you encounter the issue and what error message you got exactly?

I think might be a bug/issue with tf.lite.TFLiteConverter.from_saved_model and tf.lite.TFLiteConverter.from_concrete_function rather than jax2tf, but I'm not sure. The error occurs when trying to convert a SavedModel (that was created via jax2tf + tf.saved_model.save(...)) to tflite.
Originally it seemed like it had something to do with nesting of the inputs to the function that was saved, but here's a minimal replication of the error without any nesting of the function's input parameters:
https://colab.research.google.com/drive/1Te2uHCFOdZgRT-N4VsAeIGjASK80E4im
The exact error shown in the above notebook is "ValueError: Only support at least one signature key."
A potentially related problem is that if we use jax.grad(score) in the above example instead of GradientTape1, then there are no errors, but the tflite file is only 19kb:
https://colab.research.google.com/drive/1H3PwVAgPxjv6ldJB9k4gc4pakCW8Scoy
The only difference between the former and the latter Colab notebooks is that I've used jax.grad in the latter instead of TF's GradientTape to get the gradient of the score function. So I'd really have expected the same "no input node" error in the latter too - not sure what's going on there, but it might be a clue.
It initially seemed like this could be worked-around by using your suggestion of using tf.lite.TFLiteConverter.from_concrete_function instead of tf.lite.TFLiteConverter.from_saved_model, but from_concrete_function produces a ~500kb .tflite file (see your notebook - note that it's converting LiT, whereas the previous two Colabs that I linked are converting CLIP).
Also, note that Oliver did manage to get CLIP gradients working in tflite with tf.lite.TFLiteConverter.experimental_from_jax:
https://colab.research.google.com/drive/1elQpDL1ysaOMncMnnuHEalnh4HAAeC53
So I'm not sure whether this is a problem with jax2tf, but if this issue is kept open, the title should probably be changed to something vaguely like "Small tflite file or no input nodes when converting function wrapped in jax.grad to tflite via jax2tf".
1 I previously had to use GradientTape because of the lack of scatter add support, which Oliver's PR (#10653) seems to have fixed.

Hi @josephrocca, I believe the small filesize is due to the fact that there is a bug in the jax2tf conversion of jax.grad with enable_xla=False, which causes all outputs to be zero, so TFLite optimizes this by removing the params (which are simply unused constants then). (see #10819).
I would argue that when converting to TFLite you should really not have to create a SavedModel at all. If you define your apply function by closing over your model's parameters, they will be stored as constants in the TF graph, and TFLite will treat them as constants as well, which seems fine for you (you don't want to do any training it seems).
@oliverdutton do you think there is anything else problematic with converting JAX to SavedModel? I was under the impression that you believed we need to do some tree unflattening, and I am trying to understand when this is the case, or whether this was a red herring.
Thanks in advance!

Closing this since it isn't clear there is a problem with SavedModel, and as I said before the recommended way of converting a JAX function to TFLite is either using tf.lite.experimental_from_jax or using tf.lite.from_concrete_function.
@josephrocca please re-open if you are still encountering problems here, or let me know if you think I misunderstood soemthing!


Update DG and PPP

Still to be edited again, but resolves #82

Codecov Report

Merging #283 (0362dd8) into master (871ce2f) will increase coverage by 6.38%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #283      +/-   ##
============================================
+ Coverage     60.67%   67.06%   +6.38%
- Complexity      690      745      +55
============================================
  Files           123      123
  Lines          2670     2684      +14
  Branches        335      341       +6
============================================
+ Hits           1620     1800     +180
+ Misses          920      729     -191
- Partials        130      155      +25

Impacted Files
Coverage Δ
Complexity Δ

.../address/logic/parser/MarkdownPlainTextParser.java
72.72% <0.00%> (-0.81%)
10.00% <0.00%> (ø%)

...java/seedu/address/logic/commands/HelpCommand.java
87.14% <0.00%> (-0.19%)
16.00% <0.00%> (ø%)

...rc/main/java/seedu/address/model/ModelManager.java
92.17% <0.00%> (+1.73%)
43.00% <0.00%> (+1.00%)

...dress/model/appointment/UniqueAppointmentList.java
53.65% <0.00%> (+4.87%)
12.00% <0.00%> (+1.00%)

...main/java/seedu/address/model/AppointmentBook.java
87.50% <0.00%> (+8.33%)
11.00% <0.00%> (+1.00%)

...in/java/seedu/address/model/contact/Favourite.java
77.77% <0.00%> (+11.11%)
6.00% <0.00%> (+1.00%)

...in/java/seedu/address/logic/parser/ParserUtil.java
86.25% <0.00%> (+22.50%)
25.00% <0.00%> (+5.00%)

...java/seedu/address/logic/commands/ListCommand.java
100.00% <0.00%> (+61.53%)
7.00% <0.00%> (+4.00%)

...address/logic/commands/EditAppointmentCommand.java
67.56% <0.00%> (+67.56%)
6.00% <0.00%> (+6.00%)

...ess/logic/parser/EditAppointmentCommandParser.java
76.31% <0.00%> (+76.31%)
10.00% <0.00%> (+10.00%)

... and 5 more

Continue to review full report at Codecov.

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

Resolves #82


exp/keystore/migration: update initial migration

We have decided to encrypted all the information associated with the key
including the public key. As a result, type, pubkey, path,
extra, encrypter_name, encrypted_seed, salt are all going to be
stored in the encrypted_keys_data blob. I left out the created_at
and modified_at because it is still valuable to know when the blob is
created and modified as a whole.

Nice! encrypter_name and salt need to be outside of the blob since they're necessary to decrypt it.

@tomquisel I thought the only thing we need to decrypt the blob is user's password? Then we can use whatever in the blob to decrypt the secret key again?


NoSuchMethodError while running driver test on macos. I am receiving similar errors on any device other than android/ios

command
flutter drive --target=test_driver/app.dart
exception
NoSuchMethodError: NoSuchMethodError: The getter 'index' was called on null.
Receiver: null
Tried calling: index
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      getNameForBuildMode (package:flutter_tools/src/build_info.dart:130:33)
#2      BuildableMacOSApp.applicationBundle (package:flutter_tools/src/macos/application_package.dart:135:21)
#3      BuildableMacOSApp.executable (package:flutter_tools/src/macos/application_package.dart:141:30)
#4      MacOSDevice.stopApp (package:flutter_tools/src/macos/macos_device.dart:126:28)
<asynchronous suspension>
#5      _stopApp (package:flutter_tools/src/commands/drive.dart:329:45)
<asynchronous suspension>
#6      _startApp (package:flutter_tools/src/commands/drive.dart:242:19)
<asynchronous suspension>
#7      DriveCommand.runCommand (package:flutter_tools/src/commands/drive.dart:124:51)
<asynchronous suspension>
#8      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:535:18)
#9      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:71:64)
#10     _rootRunUnary (dart:async/zone.dart:1132:38)
#11     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#12     _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
#13     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
#14     Future._propagateToListeners (dart:async/future_impl.dart:707:32)
#15     Future._completeWithValue (dart:async/future_impl.dart:522:5)
#16     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:552:7)
#17     _rootRun (dart:async/zone.dart:1124:13)
#18     _CustomZone.run (dart:async/zone.dart:1021:19)
#19     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#20     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#21     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#23     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13)
#24     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)

flutter doctor
[✓] Flutter (Channel master, v1.10.7-pre.25, on Mac OS X 10.14.6 18G95, locale en-US)
    • Flutter version 1.10.7-pre.25 at /Users/donatkajtazi/Development/Flutter-SDK/flutter
    • Framework revision e47a1dc216 (18 hours ago), 2019-09-26 07:18:25 -0700
    • Engine revision 9fd35df9bb
    • Dart version 2.6.0 (build 2.6.0-dev.0.0 dd65f97118)

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

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

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

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

[✓] Connected device (3 available)
    • macOS  • macOS  • darwin-x64     • Mac OS X 10.14.6 18G95
    • Chrome • chrome • web-javascript • Google Chrome 77.0.3865.90
    • Server • web    • web-javascript • Flutter Tools

• No issues found!

The _lastBuiltMode construction assumes stopApp is running from within (or after) startApp, which isn't a valid assumption. We need a more robust implementation of stopApp for macOS and Linux.

@stuartmorgan is there something I can do as a user to fix this?

Not without modifying the Flutter tool code.

We need a more robust implementation

Actually, since on desktop we only want to stop instances started by the tool, we could just make it a no-op if _lastBuiltMode is null. In fact, I wonder if we could eliminate all the ps logic for macOS and Linux and instead track the PID of processes we've started via startApp, and using that for stopApp.


Basic Menu page

(based on mockups)

Show all menu options in one page (with list view) for each day
Allow user to add / remove option selection (plus, minus and number selection)
Allow user to choose different day (through calendar icon)


Point to cblas.h using -lblas instead of -lopenblas

Hi 👋
In a fresh Debian bullseye docker image, I installed libopenblas-openmp-dev.
I can now point to the newly installed cblas.h using -lblas, and that gets picked up. Without the apt-get install libopenblas-openmp-dev, it will not get picked up. So did apt 'symlink' -lopenblas to -blas?
Because in the docs here I read about -lopenblas and I'm not sure what's the difference.
More specifically, here is my PR to support OpenBLAS: https://github.com/openvenues/libpostal/pull/625
Is that change sufficient to leverage OpenMP?

Update: just to be sure (not sure if Mac or other Unix distros will also 'symlink' to -lblas):
I added a commit with explicit OpenBLAS support. Still curious about your thoughts though!

Or did -lblas only become available because apt also installed generic BLAS in order to compile OpenBLAS? So it's not a 'symlink'?

Debian (and a few other Linux distributions) make use of an "alternatives" mechanism whereby alternate implementations of some "generic" functionality, like OpenBLAS and the unoptimized "netlib" reference implementation of BLAS can be managed through a set of symlinks (or more user-friendly with the update-alternatives command). I'm assuming that is why you see the unspecific -lblas used by default - what it points at will be down to the individual Debian installation and its user.

Thanks for the quick reply!
On Mac it looks like -lopenblas is symlinked to -lblas. Not sure how to verify that for apt package manager 🤔

what it points at will be down to the individual Debian installation and its user

That's what I wanted to hear :) that warrants my latest commit linked above to make it explicit 👍
Will close with that, thanks again!


slowdown false does not work!

BkCommonLib version:
1.12.1-v1 (https://www.spigotmc.org/resources/bkcommonlib.39590/)
TrainCarts version:
1.12.1-v1 (https://www.spigotmc.org/resources/traincarts.39592/)
Spigot version:
CraftBukkit version git-Spigot-65e8124-357b573 (MC: 1.12.1) (Implementing API version 1.12.1-R0.1-SNAPSHOT)

Problem or bug:
train slows down if i set it it false and Ignore the maxspeed if it changes
Expected behaviour:
train slows down if i set it it false and Ignore the maxspeed if it changes
Steps to reproduce:

place a sign
set in line 1: [!train]
set in line 2: property
set in line 3: slowdown or maxspeed
set in line 4: false or (MaxSpeed)

PLEASE FIX THIS FAST!!!!!!!!

For the moment you can use a launcher sign to preserve speed until its fixed. I cant directly tell whats wrong but so far this always popped up when velocity is lost during some physics calculations. I will look into it today.

with launcher signs have i the same problem.

You cant boost through the speed loss with a launcher sign? Perhaps like this?
[+train]
launch 20
4.0

yep i used that

before the looping but it stiill not work

Well then I dont know many other workarounds, hopefully I can get it fixed quickly today. Im at work right now so I can't, so it will be in 6ish hours I can begin working on it

i don’t knos but this bugg is massive

You may also want to check that that floating vertical ladder rail isnt causing trouble. It may be colliding with the block up there.

let my know when you have fixed it (i get from spigot email massage if tou plugin have an update)

You can get faster updates from the development builds: https://ci.mg-dev.eu/job/TrainCarts/
I will reply in here once I have made changes

nope i have rebuild the rails on the looping 5 times now

fine. I will wait

Also excuses for taking this long to respond. Last few days I've been busy writing a 3D renderer for minecraft maps, I've been a little distracted by that.

Early testing confirms that vertical rails do not preserve the velocity correctly with slowdown false. Working on a fix.

I have fixed a bug where the gravity multiplier (0.04 / tick) was active for slope-to-vertical rails. This caused the Y-value to decrease with 0.04 block/tick speed every tick during the transition. This happened several times per cart per slope/vertrail, as you can imagine that adds up quickly. It only takes 10 times for the full maxspeed of 0.4 to be depleted already. It would easily fire 100 times. I have fixed this bug in the new development build, and for me slowdown works correctly in my simple testsetup mimicking the one in the OP.
https://github.com/bergerhealer/TrainCarts/commit/e7abc50f56328cb69751c23477f2775b526665c6
https://ci.mg-dev.eu/job/TrainCarts/85/

I will test it when i am back from work on monday

Alright, I will leave this ticket open until you can confirm it.

bergerkiller,
The bugg is fixed but the other bugg is not fix.
The slowdown is fix but now the train will not speed up.
So please fix that as well.

Why should maxspeed speed up the train? That is not the function of max speed; max speed is to limit the velocity a train can have. To speed it up use a launcher sign.

i use maxspeed to set the right speed fit the train but he ignore the speed sometime. if the train is going down he will not speed up even if he in still not on the max and on ladders i get the problem that he will not speedup at all if he s not on the maxspeed.

There is no gravity-based speedup expected when slowdown is false. Can that be the problem?

that can be the problem.
but in the version for 1.11.2 and before he was speeding up even if slowdown was false but since 1.12.1 he does it not anymore.

that was actually a bug, haha. The same bug that caused these incomplete loopings. Your best option is to use a slowdown=true sign when you want to use gravity

why can we not get the reported bug fixed and the old bug back as an furture?

because I can't have trains speed up when slowdown (or speedup, for that matter) is disabled. It would cause problems when people have rides that go down using this. If you want the old feature, disable slowdown for the section that is affected

oke then i will get verry much sh...t over me from the staff but the main problem is fixed.

If it is really that big of a problem it IS a possibility to add a separate property for trains that re-enables speed-up from gravity

how can i do that?

Id have to add it to TrainCarts

then i will change it by about 100 costers becouse that will olway get problems if you can not disable it per train

so than i need to get to wirk to rebuilt de speed settings from 100 costers

You can set that property in DefaultTrainproperties.yml

Oke, And i will colse the issue becouse now its fixed.
(This issue will be closed in 3 hours)

Should upwards gravity slowdown still be effective? Or is it only the downwards boost that is interesting? I imagine if you want a realistic coaster without slowdown over time, you need both.

Proof of concept. In this case, all gravity is toggled with a single parameter, creating infinite contraptions like these where potential is preserved. Only friction is disabled. https://puu.sh/xlW25/55f15884f4.mp4

https://ci.mg-dev.eu/job/TrainCarts/89/
How to use:
I have changed all slowdown systems so they can be set for a particular type of slowdown. Currently there is only two: friction and gravity.
Commands:
/train slowdown true/false - still works, sets all modes on or off
/train slowdown gravity true/false - only turns gravity-based slowdown/speedup on/off
/train slowdown friction true/false - only turns over-time friction slowdown on/off

Can also be used on signs:
[+train]
property
slowgravity/slowfriction (slowdowngravity works too but might be too long;)
true/false

Properties:
When all modes are on or off, it saves it as a simple true/false boolean in the properties yml files. When there is only one of them set, it creates a sub-node where each individual option is set. You can set the following in DefaultTrainproperties.yml:
default:
train1:
  slowDown:
    friction: false
    gravity: true

If there is a need for it, I can add separate slowdown options for gravity up and gravity down. For now, they are merged.

@bergerkiller and now he will not speed up if i use the maxspeed higher.
I have a activated power rail under it.


Models: initialize lifecycle method.

Like services and factories, a new initialize() lifecycle method has been added.

Coverage remained the same at 100.0% when pulling b8399291af7d9450b8258c6515696859a874913f on models-initialize into 954d2da790eb72a01e7e6dfbac769a11af870c5f on master.


Glassfish 2.1: REST exceptions are not carried through HTTP headers

From chicchiricco on August 03, 2010 17:21:29
A REST request returning 404 results in
curl -v  http://localhost:8080/syncope/rest/user/read/2.json

About to connect() to localhost port 8080 (#0)

Trying ::1... connected

Connected to localhost (::1) port 8080 (#0)
> GET /syncope/rest/user/read/2.json HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
> Host: localhost:8080
> Accept: /
>
< HTTP/1.1 404
< X-Powered-By: JSP/2.1
< Set-Cookie: JSESSIONID=884037b26fbb45e670ae94c13117; Path=/syncope
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Tue, 03 Aug 2010 15:13:49 GMT
<

Connection #0 to host localhost left intact

Closing connection #0

while on Tomcat you get
curl -v  http://localhost:8080/syncope/rest/user/read/2.json

About to connect() to localhost port 8080 (#0)

Trying ::1... connected

Connected to localhost (::1) port 8080 (#0)
> GET /syncope/rest/user/read/2.json HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
> Host: localhost:8080
> Accept: /
>
< HTTP/1.1 404 Not Found
< Server: Apache-Coyote/1.1
< ExceptionType: Syncope.NotFound
< Syncope.NotFound.entity: 2
< Set-Cookie: JSESSIONID=18BA421BB04A11E339EC12189A256EE0; Path=/syncope
< Content-Type: application/json;charset=UTF-8
< Transfer-Encoding: chunked
< Date: Tue, 03 Aug 2010 15:07:59 GMT
<

Connection #0 to host localhost left intact

Closing connection #0

Original issue: http://code.google.com/p/syncope/issues/detail?id=30

From chicchiricco on August 04, 2010 01:16:07
Status: Started
Owner: chicchiricco

From chicchiricco on August 04, 2010 01:16:30
This issue was closed by revision r475 .
Status: Fixed


Portable shebangs (#22)

Updated all shebangs to use the portable env.
Fixes #22

🙌 Thanks for this


feat(errors) Redesign errors management step 1

This start introducing thiserror (https://crates.io/crates/thiserror)  as a way to rationalize the errors management, that now is useless as errors do not carry the cause and are used inconsistently.
This starts by defining new errors for the consumer trait and for the two implementations: local and kafka.

Add a new enum for all meaningful error. This is an api so errors tend to be fairly transparent.
Just makes the compilation work.

TODO:

Actually use errors properly. Now I only supported the minimal use cases in the two implementation and dealt with the interface
Fix all the other traits (other than consumer).
I am not sure the way we pass the cause of implementation specific errors KafkaError to the implementation agnostic one is done the right way (through Box), though for now I did not find a better way that actually compiles.
Start using transparent errors in tests.

@lynnagara  different approach.
Now ConsumerError is a bit more specific https://github.com/getsentry/rust_arroyo/pull/23/files#diff-a4c4777f842b1f42d03634552ba6841e01a10985ce786d2f7ce8cf469f79ad5bR13. The idea is to add more of them. This is fairly Kafka specific, but it is independent from the library.
We have our own enum containing Kafka Error codes, which is what matters. https://github.com/getsentry/rust_arroyo/pull/23/files#diff-5637ad57f58631bc515bc79ccce0da0255252f4aca3def74c5c736025b3560b5R3
Then we map the errors from rdkafka  codes into ours https://github.com/getsentry/rust_arroyo/pull/23/files#diff-884544cae5de260a0d297372d86b39cdf7a0aeafb57fbb254f3ddc65c452f462R6-R19   Now there are only 3 but we will have more.
This is a bit cumbersome and verbose, The errors are fairly Kafka specific. I don't think there is a way around that, the library is not abstract enough, nor I think it should be. Though at least we decouple the interface from the rdkafka implementation making the underlying library hidden. I think keeping this abstraction would be a good idea to allow us switching.