Unsupported/Missing 'Content-Type' header.

Describe the bug
$ dt extension validate custom.data.quality.consistency.lima.usage.zip --tenant-url https://deve2e.dev.dynatracelabs.com --api-token ****

 [2024-04-25T08:11:37.869Z] Extension validation failed!
 [2024-04-25T08:11:37.869Z] Traceback (most recent call last):
 [2024-04-25T08:11:37.870Z]   File "/usr/lib/python3.11/site-packages/dtcli/server_api.py", line 29, in validate
 [2024-04-25T08:11:37.870Z]     response.raise_for_status()
 [2024-04-25T08:11:37.871Z]   File "/usr/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
 [2024-04-25T08:11:37.872Z]     raise HTTPError(http_error_msg, response=self)
 [2024-04-25T08:11:37.874Z] requests.exceptions.HTTPError: 415 Client Error: Unsupported Media Type for url: https://deve2e.dev.dynatracelabs.com/api/v2/extensions?validateOnly=true
 [2024-04-25T08:11:37.874Z]
 [2024-04-25T08:11:37.874Z] During handling of the above exception, another exception occurred:
 [2024-04-25T08:11:37.874Z]
 [2024-04-25T08:11:37.875Z] Traceback (most recent call last):
 [2024-04-25T08:11:37.875Z]   File "/usr/bin/dt", line 8, in <module>
 [2024-04-25T08:11:37.875Z]     sys.exit(main())
 [2024-04-25T08:11:37.875Z]              ^^^^^^
 [2024-04-25T08:11:37.876Z]   File "/usr/lib/python3.11/site-packages/dtcli/__main__.py", line 5, in main
 [2024-04-25T08:11:38.209Z]     dtcli.scripts.dt.main()
 [2024-04-25T08:11:38.210Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
 [2024-04-25T08:11:38.211Z]     return self.main(*args, **kwargs)
 [2024-04-25T08:11:38.211Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.212Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 1078, in main
 [2024-04-25T08:11:38.212Z]     rv = self.invoke(ctx)
 [2024-04-25T08:11:38.213Z]          ^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.214Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
 [2024-04-25T08:11:38.214Z]     return _process_result(sub_ctx.command.invoke(sub_ctx))
 [2024-04-25T08:11:38.215Z]                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.216Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
 [2024-04-25T08:11:38.217Z]     return _process_result(sub_ctx.command.invoke(sub_ctx))
 [2024-04-25T08:11:38.217Z]                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.218Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
 [2024-04-25T08:11:38.219Z]     return ctx.invoke(self.callback, **ctx.params)
 [2024-04-25T08:11:38.219Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.220Z]   File "/usr/lib/python3.11/site-packages/click/core.py", line 783, in invoke
 [2024-04-25T08:11:38.221Z]     return __callback(*args, **kwargs)
 [2024-04-25T08:11:38.221Z]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.222Z]   File "/usr/lib/python3.11/site-packages/dtcli/scripts/dt.py", line 159, in wrapper
 [2024-04-25T08:11:38.222Z]     return func(*args, **kwargs)
 [2024-04-25T08:11:38.223Z]            ^^^^^^^^^^^^^^^^^^^^^
 [2024-04-25T08:11:38.224Z]   File "/usr/lib/python3.11/site-packages/dtcli/scripts/dt.py", line 721, in validate
 [2024-04-25T08:11:38.225Z]     server_api.validate(extension_zip, kwargs["tenant_url"], kwargs["api_token"])
 [2024-04-25T08:11:38.226Z]   File "/usr/lib/python3.11/site-packages/dtcli/server_api.py", line 33, in validate
 [2024-04-25T08:11:38.226Z]     raise dtcliutils.ExtensionValidationError(response.text)
 [2024-04-25T08:11:38.228Z] dtcli.utils.ExtensionValidationError: {"error":{"code":415,"message":"Unsupported/Missing 'Content-Type' header."}}

To Reproduce
Steps to reproduce the behavior:

Run dt extension validate

Additional context
usr/lib/python3.11/site-packages/dtcli/server_api.py

Hi @cpz2019, just tried to reproduce and it works.
It seems you are using an outdated version. Even line numbers do not match with the latest. For comparison:

The error in your logs is thrown from line number 33 in server_api.py.
Currently this error, when it occurs, is thrown from line number 36 in the same file: https://github.com/dynatrace-oss/dt-cli/blob/9cf9309336f25e06920d7f9b7ee60a468731f539/dtcli/server_api.py#L36


chore: use another template for google analytics

Signed-off-by: STRRL<EMAIL_ADDRESS>Hugo had officially supported Google Analytics 4 at v0.82.0,https://github.com/gohugoio/hugo/commit/ba16a14c6e884e309380610331aff78213f84751.
This PR would let hugo-theme-even use updated template.

Hi @olOwOlo , PTAL :D


New package: JuliaDevTemplates v0.1.0

Registering package: JuliaDevTemplates
Repository: https://github.com/andylikescodes/JuliaDevTemplates
Created by: @andylikescodes
Version: v0.1.0
Commit: 6a57cf5ca7ce1464e3d6e09a0c1bda53f41aebd8
Reviewed by: @andylikescodes
Reference: https://github.com/andylikescodes/JuliaDevTemplates/issues/1

Looking at the package being registered, this does not seem like something that benefits from being in the general registry. The package is just 2 methods to create templates using PkgTemplates, but they hardcode the GitHub username and the author of the package, so they are only useful to that one person.


TypedArray support

Hi @augustl,
have you considered porting this library for TypedArrays (specifically Uint8Array)?

Hey :) Just deprecated this project. There are now well maintained alternative modules that didn't exist when I orginally created this project. I've linked to a few of them in the README :)


No module named tensorflow

System: macos sierra
Python 3.5.2 via anaconda, a special env tensorflow created and used (source activate tensorflow)
Here is how I installed the package:
  export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow_gpu-0.12.1-py3-none-any.whl
  pip install --ignore-installed --upgrade $TF_BINARY_URL

pip says all packages have been successfully installed, but if I try to import tensorflow, python says there is no such module.
It seems the module is named tensorflow_gpu:
(tensorflow) kaiyin@kaiyins-mbp 13:19:02 | ~ =>
pip show tensorflow
(tensorflow) kaiyin@kaiyins-mbp 13:19:09 | ~ =>
pip show tensorflow_gpu
Name: tensorflow-gpu
Version: 0.12.1
Summary: TensorFlow helps the tensors flow
Home-page: http://tensorflow.org/
Author: Google Inc.
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /Users/kaiyin/anaconda3/envs/tensorflow/lib/python3.5/site-packages
Requires: wheel, numpy, protobuf, six

Although tensorflow_gpu couldn't be imported, either.
Any idea what's going on here?

@gunan any idea?

@kindlychung this could be a message produced by Python package loader because it can't find the packages, or it can be caused by pywraptensorflow.so crashing with an exception. One way to tell which one it is, is to run under strace (sudo dtruss on Mac), and see what files it's opening, and that it eventually opens TensorFlow files from the correct site-packages directory

I did a few things:
pip install ipython
cd /usr/local/cuda/lib
ln -s libcuda.dylib libcuda.1.dylib

And now I can load tensorflow without a problem. Not sure which of the above solved it.

It's the pip install ipython line. If you don't install ipython, then using ipython from your env will use ipython from outside your env, and hence switch the load paths to be outside of your env (hence no tensorflow)
This issue has been diagnosed by an earlier user who updated documentation to reflect this in
https://github.com/tensorflow/tensorflow/pull/3514

The same problem in Windows 7.
Everything works well before the test command, "import tensorflow as tf".
D:\Python35\Scripts>pip show tensorflow
Metadata-Version: 2.0
Name: tensorflow
Version: 1.0.1
Summary: TensorFlow helps the tensors flow
Home-page: http://tensorflow.org/
Author: Google Inc.
Author-email<EMAIL_ADDRESS>Installer: pip
License: Apache 2.0
Location: d:\python35\lib\site-packages
Requires: numpy, six, protobuf, wheel
Classifiers:
Development Status :: 4 - Beta
Intended Audience :: Developers
Intended Audience :: Education
Intended Audience :: Science/Research
License :: OSI Approved :: Apache Software License
Programming Language :: Python :: 2.7
Topic :: Scientific/Engineering :: Mathematics
Topic :: Software Development :: Libraries :: Python Modules
Topic :: Software Development :: Libraries
Entry-points:
[console_scripts]
tensorboard = tensorflow.tensorboard.tensorboard:main
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm
and.

and this
D:\Python35\Scripts>pip list
appdirs (1.4.3)
numpy (1.12.1)
packaging (16.8)
pip (8.1.1)
protobuf (3.2.0)
pyparsing (2.2.0)
setuptools (34.3.2)
six (1.10.0)
tensorflow (1.0.1)
wheel (0.29.0)
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm
and.

This is an already resolved issue.
Please try the suggestions above. If they do not work, please file a new issue filling in the full issue template.


A More Secure CLI

Currently the CLI is written in TypeScript (JavaScript), and run using the Node.JS runtime. This is not a secure long-term solution, due to Node.JS's vulnerabilities.
A possible solution could be re-writing the CLI in a native targeting language such as Rust.

It's recently come to our attention (thank you @nerfZael) that the best route forward in the short-term is to move all major functionality from the CLI into wrappers. This will reduce our dependency footprint in JS, and allow us to permission access to the user's operating system (filesystem, network, etc) through plugins.
@nerfZael it would be great if you could post links to some of your early "science experiments" you've created for the wrapper based codegen & project templates.

The idea is talked about here: https://hackmd.io/@nerfZael/HkXtaZX1q
Still needs to be fleshed out a bit more.
I'll also post the codegen wrappers when I get the opportunity


Android Basics: Introduction to Room and Flow

in StopScheduleFragment where you create the bindings, an argument should be passed into viewModel.scheduleForStopName.
the argument is obviously the stopName, but it doesn't show there in the code lab.
snippet from the code lab:
recyclerView = binding.recyclerView
recyclerView.layoutManager = LinearLayoutManager(requireContext())
val busStopAdapter = BusStopAdapter({})
recyclerView.adapter = busStopAdapter
busStopAdapter.submitList(viewModel.scheduleForStopName())
what should really be the smippet:
recyclerView = binding.recyclerView
recyclerView.layoutManager = LinearLayoutManager(requireContext())
val busStopAdapter = BusStopAdapter({})
recyclerView.adapter = busStopAdapter
busStopAdapter.submitList(viewModel.scheduleForStopName(stopName))

Thanks for pointing this out! We'll be closing this issue in favor of this issue that describes the same error:
https://github.com/google-developer-training/android-basics-kotlin-bus-schedule-app/issues/32


Set interchain account address on controller chain during init: tracking issue

Summary
In the ics27 specification, the following function definition is defined:
// This helper function is required for the controller chain to get the address of a newly registered interchain account on a host chain.
// Because the registration of an interchain account happens during the channel creation handshake, there is no way for the controller chain to know what the address of the interchain account is on the host chain in advance.
// This function sends an IBC packet to the host chain, on the owner port + active channel with the sole intention of eventually parsing the interchain account address from the Acknowledgement packet on the controller chain side.
// The OnAcknowledgePacket function on the controller chain will handle the parsing + setting the interchain account address in state.
// The controller chain builds the messages (before sending via IBC in the TrySendTx fn) that the host side will eventually execute. Therefore, the interchain account address must be known by the controller chain.
function GetInterchainAccountAddressFromAck(connectionId: string, counterPartyConnectionId: string, ownerAddress: string) returns (nil){
    // Sends a generic IBC packet to the host chain with the intention of parsing the interchain account address associated with this port/connection/channel from the Acknowledgement packet.
}

This step is required for the controller chain to know the address of the interchain account on the host side.
The problem with this approach is twofold:

Poor UX: This is an unnecessary extra step
Cost: As this is an additional IBC transaction it will cost extra tokens

As suggested here: https://github.com/cosmos/ibc/issues/597 we can use the version string during the channel creation handshake to pass the address of the interchain account back to the host chain.
In order for this to be possible, a relayer will need to query the host chain for an updated version string prior to calling the OnChanOpenAck endpoint. At present this query does not exist. There is an issue here describing the work that needs to be done on ibc-go: https://github.com/cosmos/ibc-go/issues/136
Work that needs to be done to achieve this:

[ ] https://github.com/cosmos/ibc-go/issues/136
[ ] Hermes integration of version string query. At present there is a hardcoded string being used, see: https://github.com/informalsystems/ibc-rs/blob/master/relayer/src/chain.rs#L219
[ ] Once the above work has been done, call SetInterchainAccount during the OnChanOpenAck callback with the passed in version string (Which will be the address of the registered interchain account)

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

@adizere


Preserve kubectl context namespace if set for active stress cluster

Some stress cluster users set a default namespace for the kubectl context in order to make commands shorter (i.e. not
having to type -n <namespace>. When the stress test deployment script is run with -Login, it will overwrite the
existing kubectl context entry for the cluster, therefore removing the default namespace setting. This change preserves
the default namespace if it has been set for the stress cluster. We still want to re-download the cluster config for
simplicity in case the endpoint has been migrated.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

/check-enforcer override


Update view.FindSidebar.reset to call gc

This PR adds a workaround to resolve the problem reported in #1358 .

Do you understand what is causing the issue? Is this a known external bug? The workaround applies only for some users and given it's rather general might have other side effects. Instead would it make sense to track down the root cause upstream?

With efficientdet-d3.onnx file, I see the following message on a console window after repeatedly opening/closing FIND sidebar by typing Ctrl+F and Esc keys. So far, I don't see the problem reproduces with other files.
msg0
DevTools listening on ws://<IP_ADDRESS>:9222/devtools/browser/bebbeeab-96a2-440e-b2d8-1e86d128548b

<--- Last few GCs --->

[7740:0000543000860000]    31770 ms: Mark-Compact (reduce) 71.1 (91.1) -> 62.8 (68.0) MB, pooled: 0 MB, 592.56 / 0.00 ms  (average mu = 0.959, current mu = 0.942) CppHeap allocation failure; GC in old space requested
[7740:0000543000860000]    33112 ms: Mark-Compact (reduce) 62.8 (68.0) -> 62.8 (65.3) MB, pooled: 0 MB, 1341.66 / 0.00 ms  (average mu = 0.828, current mu = 0.000) CppHeap allocation failure; GC in old space requested

<--- JS stacktrace --->

FATAL ERROR: Oilpan: Large allocation. Ran out of reservation Allocation failed - process out of memory
----- Native stack trace -----

 1: 00007FF779087F4A uv_cpumask_size+56266
 2: 00007FF77900228B node::OnFatalError+747
 3: 00007FF77C296CB4 v8::Function::NewInstance+868
 4: 00007FF77C296C23 v8::Function::NewInstance+723
 5: 00007FF77C357298 v8::CppHeap::CollectGarbageInYoungGenerationForTesting+296
 6: 00007FF77C68D20B cppgc::internal::Fatal+91
 7: 00007FF77AC7C81D cppgc::LivenessBroker::IsHeapObjectAliveImpl+20013
 8: 00007FF77AC75B16 cppgc::internal::MakeGarbageCollectedTraitInternal::Allocate+230
 9: 00007FF77DB32503 Cr_z_adler32_combine+3706771
10: 00007FF77DB324A0 Cr_z_adler32_combine+3706672
11: 00007FF77DB31EF3 Cr_z_adler32_combine+3705219
12: 00007FF77E1999DF sqlite3_dbdata_init+1665087
13: 00007FF7794EA6CC uv_fs_get_path+185884
14: 00007FF77B3132B3 Cr_z_adler32+1760611
15: 00007FF77B31606D Cr_z_adler32+1772317
16: 00007FF77F564A7C sqlite3_dbdata_init+22419676
17: 00007FF77AF287F3 v8::internal::compiler::CompilationDependencies::FieldTypeDependencyOffTheRecord+2263523
18: 00007FF7DB09E85F
Renderer process crashed - see https://www.electronjs.org/docs/tutorial/application-debugging for potential debugging information.

msg1

DevTools listening on ws://<IP_ADDRESS>:9222/devtools/browser/251b8b27-ac19-42b2-b9f6-f823e709c8a8

<--- Last few GCs --->

[11992:000016880085C000]    55467 ms: Mark-Compact (reduce) 65.8 (70.4) -> 65.8 (67.9) MB, pooled: 0 MB, 1192.71 / 0.00 ms  (average mu = 0.858, current mu = 0.050) CppHeap allocation failure; GC in old space requested
[11992:000016880085C000]    59021 ms: Mark-Compact (reduce) 65.8 (67.9) -> 65.8 (67.4) MB, pooled: 0 MB, 708.56 / 0.00 ms  (+ 216.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 2836 ms) (average mu = 0.828, cu

<--- JS stacktrace --->

FATAL ERROR: Oilpan: Large allocation. Ran out of reservation Allocation failed - process out of memory
----- Native stack trace -----

 1: 00007FF779087F4A uv_cpumask_size+56266
 2: 00007FF77900228B node::OnFatalError+747
 3: 00007FF77C296CB4 v8::Function::NewInstance+868
 4: 00007FF77C296C23 v8::Function::NewInstance+723
 5: 00007FF77C357298 v8::CppHeap::CollectGarbageInYoungGenerationForTesting+296
 6: 00007FF77C68D20B cppgc::internal::Fatal+91
 7: 00007FF77AC7C81D cppgc::LivenessBroker::IsHeapObjectAliveImpl+20013
 8: 00007FF77AC75B16 cppgc::internal::MakeGarbageCollectedTraitInternal::Allocate+230
 9: 00007FF77B5FB24D Cr_z_adler32+4807933
10: 00007FF77B60F7ED Cr_z_adler32+4891293
11: 00007FF77B668E49 Cr_z_adler32+5257465
12: 00007FF77B5EC566 Cr_z_adler32+4747286
13: 00007FF77B462C50 Cr_z_adler32+3135232
14: 00007FF77B5F443A Cr_z_adler32+4779754
15: 00007FF77B5F1DB9 Cr_z_adler32+4769897
16: 00007FF77B46718D Cr_z_adler32+3152957
17: 00007FF77B461E68 Cr_z_adler32+3131672
18: 00007FF77B5F443A Cr_z_adler32+4779754
19: 00007FF77B5F1DB9 Cr_z_adler32+4769897
20: 00007FF77B46718D Cr_z_adler32+3152957
21: 00007FF77B461E68 Cr_z_adler32+3131672
22: 00007FF77B67F3FE Cr_z_adler32+5349038
23: 00007FF77B67E6E4 Cr_z_adler32+5345684
24: 00007FF77B669F16 Cr_z_adler32+5261766
25: 00007FF77B5EC8BC Cr_z_adler32+4748140
26: 00007FF77B462C50 Cr_z_adler32+3135232
27: 00007FF77945E052 GetHandleVerifier+3610546
28: 00007FF779441CCE GetHandleVerifier+3494958
29: 00007FF77944270F GetHandleVerifier+3497583
30: 00007FF77B2DAA60 Cr_z_adler32+1529104
31: 00007FF77B2D03FF Cr_z_adler32+1486511
32: 00007FF77945AFF6 GetHandleVerifier+3598166
33: 00007FF77943C824 GetHandleVerifier+3473284
34: 00007FF77943C541 GetHandleVerifier+3472545
35: 00007FF779BE92DC uv_stream_set_blocking+3791868
36: 00007FF779BE919B uv_stream_set_blocking+3791547
37: 00007FF778CFA696 IsSandboxedProcess+2442838
38: 00007FF7792CA79E GetHandleVerifier+1957630
39: 00007FF777444BF1 v8::Extension::dependency_count+401
40: 00007FF77B1372DD v8::internal::compiler::CompilationDependencies::FieldTypeDependencyOffTheRecord+4420813
41: 00007FF77B211B6D Cr_z_adler32+706077
42: 00007FF77B2196A7 Cr_z_adler32+737623
43: 00007FF779101336 GetHandleVerifier+84630
44: 00007FF778A0717F uv_os_getpid+213759
45: 00007FF778EC38E3 uv_fs_get_system_error+1323283
46: 00007FF777372C9E v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+485534
47: 00007FF777373AA2 v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+489122
48: 00007FF7773722F4 v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+483060
49: 00007FF7773724AD v8::internal::StrongRootAllocatorBase::StrongRootAllocatorBase+483501
50: 00007FF7770B3361 v8::SourceLocation::SourceLocation+61121
51: 00007FF77B6B31A2 Cr_z_adler32+5561426
52: 00007FF9A7147374 BaseThreadInitThunk+20
53: 00007FF9A883CC91 RtlUserThreadStart+33
Renderer process crashed - see https://www.electronjs.org/docs/tutorial/application-debugging for potential debugging information.

The Oilpan appeared in the error messages is a name of the V8 garbage collector. After calling this._content.replaceChildren(); in view.FindSidebar._reset method, I don't think any references to the child nodes are remained in the program.
After googling with V8 process out of memory, node process out of memory and so on, I've come to the conclusion that the error isn't super rare.

Is it possible to track this down with the Chrome team? If there isn't a bug already it might be helpful creating a minimal repro and a bug report for Chrome?


make tensor in query work

with this, one can send a query with a tensor without using a searcher, like
http://localhost:8080/search/?yql=select * from sources * where sddocname contains "blog_post";&restrict=blog_post&ranking=tensor&ranking.features.query(user_item_cf)={{user_item_cf%3A0}%3A0.1%2C{user_item_cf%3A1}%3A0.1%2C{user_item_cf%3A2}%3A0.1%2C{user_item_cf%3A3}%3A0.1%2C{user_item_cf%3A4}%3A0.1%2C{user_item_cf%3A5}%3A0.1%2C{user_item_cf%3A6}%3A0.1%2C{user_item_cf%3A7}%3A0.1%2C{user_item_cf%3A8}%3A0.1%2C{user_item_cf%3A9}%3A0.1}
@lesters please merge

👍


api-common-protos is out of date

The shared/api-common-protos module is out of date and we're missing some changes related to resources.
Running against master causes the generator to fail (i.e. bundle exec rake gen):
Caused by:
NoMethodError: undefined method `value_from_values' for nil:NilClass
/Users/jbolinger/.rvm/gems/ruby-2.5.3/gems/protobuf-3.10.0/lib/protobuf/message.rb:179:in `[]'
/Users/jbolinger/Development/gapic-generator-ruby/gapic-generator/lib/gapic/schema/wrappers.rb:578:in `resource'
/Users/jbolinger/Development/gapic-generator-ruby/gapic-generator/templates/default/helpers/presenters/service_presenter.rb:179:in `select'

Closed by #212


Link from website tutorial to example apps is broken

--- Delete everything above this line ---
Description
I was reading the tutorial and tried to look into some example projects and hit a 404 when I clicked on it.
Currently points to this
Solution
The link needs to fixed to the correct repository link of the apps.
Additional Information
I'm not sure if this is fixed yet, but the example link seems to be broken.

Thanks for the report. This is already fixed in the latest version of the docs, which you can access by clicking on 0.45 at the top. I'll work on getting these fixes backported to 0.45 soon.


glib-networking: cant compile with gnutls

+ export 'DESTDIR=/home/wael/.cache/kiss/proc/14277/pkg/glib-networking'
+ sed '/subdir('"'"'tls\/tests'"'"')/d' meson.build
+ mv -f _ meson.build
+ kiss l openssl
ERROR 'openssl' not found
+ kiss l gnutls
gnutls 3.7.8-1
+ GNUTLS=enabled
+ meson setup '-Dprefix=/usr' '-Dsysconfdir=/etc' '-Dlocalstatedir=/var' '-Dlibproxy=disabled' '-Dopenssl=disabled' '-Dgnutls=enabled' output
The Meson build system
Version: 0.63.3
Source dir: /home/wael/.cache/kiss/proc/14277/build/glib-networking
Build dir: /home/wael/.cache/kiss/proc/14277/build/glib-networking/output
Build type: native build
Project name: glib-networking
Project version: 2.74.0
C compiler for the host machine: cc (gcc 12.2.0 "cc (GCC) 12.2.0")
C linker for the host machine: cc ld.bfd 2.39
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Werror=declaration-after-statement: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports link arguments -Wl,--version-script,/home/wael/.cache/kiss/proc/14277/build/glib-networking/glib-networking.map: YES
Found pkg-config: /usr/bin/pkg-config (1.9.3)
Run-time dependency glib-2.0 found: YES 2.74.1
Run-time dependency gio-2.0 found: YES 2.74.1
Run-time dependency gobject-2.0 found: YES 2.74.1
Run-time dependency gmodule-2.0 found: YES 2.74.1
Dependency libproxy-1.0 skipped: feature libproxy disabled
Found CMake: /usr/bin/cmake (3.24.3)
Run-time dependency gsettings-desktop-schemas found: NO (tried pkgconfig and cmake)
Header "dlfcn.h" has symbol "RTLD_NOLOAD" : YES
Run-time dependency gnutls found: YES 3.7.8
Configuring config.h using configuration
Program msgfmt found: NO
po/meson.build:1: WARNING: Gettext not found, all translation (po) targets will be ignored.
Checking for size of "time_t" : 8
Checking for size of "time_t" : 8
Checking for size of "time_t" : 8
Dependency gio-2.0 found: YES 2.74.1 (cached)
Program gio-querymodules found: YES (/usr/bin/gio-querymodules)
Build targets in project: 8

glib-networking 2.74.0

    GnuTLS support           : YES
    OpenSSL support          : NO
    Environment proxy support: YES
    libproxy support         : NO
    GNOME proxy support      : NO

  User defined options
    localstatedir            : /var
    prefix                   : /usr
    sysconfdir               : /etc
    gnutls                   : enabled
    libproxy                 : disabled
    openssl                  : disabled

Found ninja-1.9 at /usr/bin/ninja
+ ninja -C output
ninja: entering directory 'output'
[1/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsserverconnection-gnutls.c.o
[2/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsfiledatabase-gnutls.c.o
[3/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsdatabase-gnutls.c.o
[4/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsconnection-gnutls.c.o
[5/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsclientconnection-gnutls.c.o
[6/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlscertificate-gnutls.c.o
[7/29] Compiling C object tls/gnutls/libgiognutls.so.p/gtlsbackend-gnutls.c.o
[8/29] Compiling C object tls/gnutls/libgiognutls.so.p/gnutls-module.c.o
[9/29] Compiling C object tls/base/libtlsbase.a.p/gtlsoutputstream.c.o
[10/29] Compiling C object tls/base/libtlsbase.a.p/gtlslog.c.o
[11/29] Compiling C object tls/base/libtlsbase.a.p/gtlsinputstream.c.o
[12/29] Compiling C object tls/base/libtlsbase.a.p/gtlshttp.c.o
[13/29] Compiling C object tls/base/libtlsbase.a.p/gtlsconnection-base.c.o
[14/29] Compiling C object proxy/environment/libgioenvironmentproxy.so.p/environmentproxy-module.c.o
[15/29] Compiling C object proxy/environment/libgioenvironmentproxy.so.p/genvironmentproxyresolver.c.o
[16/29] Compiling C object tls/tests/connection-gnutls.p/mock-interaction.c.o
[17/29] Compiling C object tls/tests/connection-gnutls.p/connection.c.o
[18/29] Compiling C object tls/tests/file-database-gnutls.p/file-database.c.o
[19/29] Compiling C object tls/tests/mock-pkcs11.so.p/mock-pkcs11.c.o
[20/29] Compiling C object tls/tests/certificate-gnutls.p/certificate.c.o
[21/29] Compiling C object proxy/tests/environment.p/environment.c.o
[22/29] Linking target proxy/environment/libgioenvironmentproxy.so
[23/29] Linking target tls/tests/file-database-gnutls
[24/29] Linking target proxy/tests/environment
[25/29] Linking target tls/tests/certificate-gnutls
ninja: job failed: cc  -o tls/tests/certificate-gnutls tls/tests/certificate-gnutls.p/certificate.c.o -Wl,--as-needed -Wl,--no-undefined -O3 -pipe -w -mtune=native -march=native -Wl,--start-group /usr/lib/libgio-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libgobject-2.0.so -Wl,--export-dynamic /usr/lib/libgmodule-2.0.so -pthread /usr/lib/libgnutls.so -Wl,--end-group
/usr/bin/ld: tls/tests/certificate-gnutls.p/certificate.c.o: in function `main':
/home/wael/.cache/kiss/proc/14277/build/glib-networking/output/../tls/tests/certificate.c:928: undefined reference to `gnutls_pkcs11_init'
/usr/bin/ld: /home/wael/.cache/kiss/proc/14277/build/glib-networking/output/../tls/tests/certificate.c:929: undefined reference to `gnutls_pkcs11_add_provider'
collect2: error: ld returned 1 exit status
ninja: subcommand failed

@sad_plan are you able to compile this?
@ehawkvu this package relies on gnutls yet cannot be packaged explicitly with it.

Try building glib-networking now, I think this issue should be fixed.

@wael444, it would probably be beneficial if you used the correct name in the tag when you tried to tag me. I wouldve seen this sooner :P
nevertheless, I have no issues with building glib-networking with gnutls.
So should be fine by now. so do try again @wael444.

indeed i can build gnutls ''without'' openssl, thanks!


Uncritical dependency updates

Coverage increased (+0.003%) to 82.279% when pulling a2109f2b658e008c71c37bf7075e47a7c184b1d4 on dependency-updates into b2768b4c085bad78cc152eabee764e277ff95854 on master.

Looks good to me


Added a class to the tooltip so it can be styled

As suggested by @JorgeDam, this adds the class atom-clock-tooltip to the tooltip so the text can be customised as seen below:
.atom-clock-tooltip > .tooltip-inner {
  color: red;
  font-family: "Comic Sans MS";
  font-size: 2rem;
}

Thank you! This actually leaves things quite tidy, and still gives the chance to edit the tooltip. I'll merge and update ASAP.


Trouble upgrading to 1.3.7

Hi there
This could just be my stupidity, or inablility to follow instructions properly.
I'm working on the instructions here: https://github.com/zulip/zulip/blob/master/README.prod.md under the section "Maintaining Zulip in Production".
I'm stuck on almost the first step. I have downloaded the new version:
root@lbox-ubuntu-zulip:~# wget https://www.zulip.com/dist/releases/zulip-server-1.3.7.tar.gz
--2015-10-20 09:55:11--  https://www.zulip.com/dist/releases/zulip-server-1.3.7.tar.gz
Resolving www.zulip.com (www.zulip.com)... <IP_ADDRESS>
Connecting to www.zulip.com (www.zulip.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28713259 (27M) [application/octet-stream]
Saving to: ‘zulip-server-1.3.7.tar.gz’

100%[===============================================================================================================================================================================================>] 28,713,259   848KB/s   in 36s

2015-10-20 09:55:49 (769 KB/s) - ‘zulip-server-1.3.7.tar.gz’ saved [28713259/28713259]

No problem there. Then changed the owner to zulip, and the permissions to 777. (just in case - because literally following the instructions failed with the same error first time around)
-rwxrwxrwx  1 zulip root 28713259 Oct 20 07:28 zulip-server-1.3.7.tar.gz*

Then I started the upgrade and it fell over instantly:
root@lbox-ubuntu-zulip:~# /home/zulip/deployments/current/scripts/upgrade-zulip zulip-server-1.3.7.tar.gz
2015-10-20 09:57:47,304 upgrade-zulip: Unpacking the tarball
tar: zulip-server-1.3.7.tar.gz: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
Traceback (most recent call last):
  File "/home/zulip/deployments/2015-10-04-14-32-01/scripts/lib/unpack-zulip", line 21, in     <module>
    subprocess.check_call(["tar", "-xf", tarball_path, "-C", extract_path])
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['tar', '-xf', 'zulip-server-1.3.7.tar.gz', '-C',      '/tmp/tmpuWYcLa']' returned non-zero exit status 2
Traceback (most recent call last):
  File "/home/zulip/deployments/current/scripts/lib/upgrade-zulip", line 49, in <module>
    tarball_path], preexec_fn=su_to_zulip)
  File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/home/zulip/deployments/2015-10-04-14-32-01    /scripts/lib/unpack-zulip', 'zulip-server-1.3.7.tar.gz']' returned non-zero exit status 1

It pretends to be a permissions issue, but.. I'm root?!

The docs are very clear about your issue:
https://github.com/zulip/zulip/blob/master/README.prod.md#maintaining-zulip-in-production
You need to move the tarbal to a folder readable by the zulip user. And run the script as root.
I did the following (as root):
mv /root/zulip-server-1.3.7.tar.gz /home/zulip/
chown zulip:zulip /home/zulip/zulip-server-1.3.7.tar.gz

And than executed the upgrade script. Good luck :+1:

I myself found another issue upgrading from a dirty 1.3.6 to the 1.3.7 release.
When executing the upgrade script I get the response
Another deployment in progress; waiting for lock... (If no deployment is running, rmdir /home/zulip/deployments/lock)

I already stopped all services with supervisor-ctl, stop rabbitmq-server and verified through ps aux that there are no processes related to zulip were running.
When lstiing the

@toaomatis Thanks! I misread that, my bad. I made the FILE world readable, but missed that the folder needs to be too. I copied the file to /tmp and now the upgrade has started. Thanks!
@toaomatis I also encountered the another deployment issue, seems the upgrade script doesnt clean up the lock if it crashes (understandable). So i just manually rmdir'd that lock.

Ok, now the script ran for a bit and died during database migration.
2015-10-20 10:35:08,466 upgrade-zulip-stage-2: Applying database migrations...
Traceback (most recent call last):
  File "./manage.py", line 24, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 93, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 19, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 47, in __init__
    self.build_graph()
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 182, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 59, in applied_migrations
    self.ensure_schema()
  File "/usr/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 49, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 164, in cursor
    cursor = self.make_cursor(self._cursor())
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 135, in _cursor
    self.ensure_connection()
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/usr/lib/python2.7/dist-packages/django/db/utils.py", line 97, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/usr/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 119, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/lib/python2.7/dist-packages/django/db/backends/postgresql_psycopg2/base.py", line 182, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/usr/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
    connection_factory=connection_factory, async=async)
  File "/home/zulip/deployments/2015-10-20-10-31-27/zerver/lib/db.py", line 33, in __init__
    super(TimeTrackingConnection, self).__init__(*args, **kwargs)
django.db.utils.OperationalError: FATAL:  the database system is shutting down

Traceback (most recent call last):
  File "./scripts/lib/upgrade-zulip-stage-2", line 36, in <module>
    subprocess.check_call(["./manage.py", "migrate"], preexec_fn=su_to_zulip)
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./manage.py', 'migrate']' returned non-zero exit status 1
Traceback (most recent call last):
  File "/home/zulip/deployments/current/scripts/lib/upgrade-zulip", line 53, in <module>
    subprocess.check_call(["./scripts/lib/upgrade-zulip-stage-2", deploy_path])
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./scripts/lib/upgrade-zulip-stage-2', '/home/zulip/deployments/2015-10-20-10-31-27']' returned non-zero exit status 1

@wolfen351 Thanks for the reply. I had to manually delete the lock folder as well. I'm not wuite sure if you read my remark in https://github.com/zulip/zulip/issues/208#issuecomment-149446758
In your case, /tmp is also writable for the zulip user. So you missed that issue :wink:
I'm not quite sure why you ran into the database migration issues. Have you stopped all services trhough the supervisorctl stop all command?

@toaomatis Jip, I saw your remark. When I have these weird permissions issues, I try to go to a place like /tmp where permissions are less of a pain. The /home/zulip sounds like a good idea for the future though.
I didn't stop zulip, because the instructions mentioned that it would stop zulip (for 30 seconds). So I assumed it would take care of stopping and starting it. (And it did).
Anyway after a reboot it worked. Upgrade is complete, and the site is back up.

@wolfen351 That is great news :smile: I know that the docs stated that it isn't needed to manually stop the services. Maybe I am a bit of paranoia about that, better safe than sorry.
My upgrade is running for almost half a hour now. It is stuck at Notice: /Stage[main]/Zulip::Rabbit/Exec[epmd]/returns: executed successfully
No remarkable CPU cycles or memory is claimed, so I can assume that is just hangs. I am going to terminate the upgrade script and start over.

@toaomatis  It seems to tolerate restarting pretty well, give it a bash. My entire successful run was <2min on a barely up to spec vm. So the long run time you are experiencing sounds like an anomaly.

here is my log from the point where yours got stuck.. this bit ran in like 2 seconds.
Notice: /Stage[main]/Zulip::Rabbit/Exec[epmd]/returns: executed successfully
Notice: /Stage[main]/Zulip::Rabbit/Service[rabbitmq-server]/ensure: ensure changed 'stopped' to 'running'
Notice: Finished catalog run in 11.99 seconds
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2015-10-20 10:45:32,407 upgrade-zulip-stage-2: Applying database migrations...
Operations to perform:
  Synchronize unmigrated apps: staticfiles, pipeline
  Apply all migrations: confirmation, sessions, guardian, zerver, sites, auth, contenttypes
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
2015-10-20 10:45:34,698 upgrade-zulip-stage-2: Restarting Zulip...
2015-10-20 10:45:45,966 restart-server: Filling memcached caches
2015-10-20 02:45:46,458 INFO     Succesfully populated session cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 02:45:46,461 INFO     Succesfully populated huddle cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 02:45:46,491 INFO     Succesfully populated stream cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 02:45:46,495 INFO     Succesfully populated client cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 02:45:46,506 INFO     Succesfully populated user cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 02:45:46,584 INFO     Succesfully populated message cache!  Consumed 1 memcached queries (0.03 time)
2015-10-20 02:45:46,587 INFO     Succesfully populated recipient cache!  Consumed 1 memcached queries (0.0 time)
2015-10-20 10:45:46,626 restart-server: Stopping workers
2015-10-20 10:45:46,737 restart-server: Stopping server core
2015-10-20 10:45:51,342 restart-server: Starting server core
2015-10-20 10:46:00,553 restart-server: Starting workers
2015-10-20 10:46:19,220 restart-server: Done!
2015-10-20 10:46:19,231 upgrade-zulip: Deployment complete

Thanks for the log.  I ALWAYS have issues with that piece of software.
I'm going to release my fury on that beast and see if the script gets any further.

http://stackoverflow.com/questions/14659335/rabbitmq-server-fails-to-start-after-hostname-has-changed-for-first-time

I purged the rabbitmq-server installation, re-installed it and reconfigured it and restarted the upgrade script.
It ran flawlessly. But after a reboot, rabbitmq-server failed to start and so zulip isn't responding anymore. It gives 500 errors and lots of stack traces on the error logs.
@mijime Thanks. I already read that the first time I encountered the issue. As far as I can tell, the hostname hasn't changed ever since. But maybe I screwed something up during the first attempts to fix the issue.

oh, sorry. If rabbitmq-server is running normally, Did you run configure-rabbitmq?
When rabbitmq is broken, execute the command.
  sudo -i
  dpkg -P rabbitmq-server
  rm -rf /var/lib/rabbitmq
  apt-get install -y rabbitmq-server
  /home/zulip/deployments/current/scripts/setup/configure-rabbitmq

I hope this will help.

Yup, those are the commands I execute if something goes wrong with rabbitmq. I got it running (again) and everything seems to work nicely.
Thanks for the help so far!

It sounds like everyone is all set at this point, but it sounds like we have a few fixes we need to make to upgrade-zulip:

We should fix the weird requirement that it be run using a directory that the Zulip user can read
The error message about the lock should perhaps have more clarity that the lock will be leaked if the script crashes (or better, the lock should be cleaned up in the event of a crash).

Additionally we still need to solve the broader problem that rabbitmq seems to have issues starting when the hostname configuration isn't right.
Did I catch all the issues in this thread?

It's not unreasonable that the zulip user should be able to read and write to the location where the install needs to happen. Its kind of weird that when running the install script as root that a permission issue can occur though. Perhaps it should copy the file (as root) to /tmp and then do the installation from there.
The lock leak message is good. It would be nice to be able to supply -f to force the install to ignore the lock file?

@wolfen351 hmm we don't actually try to shut down the database; would you mind posting the content of /var/log/zulip/upgrade.log (which should have the full output of the run)?

Upgrade from 1.3.7 to 1.3.9 fails.

I get
error: <class 'socket.error'>, [Errno 13] Permission denied: file: /usr/lib/python2.7/socket.py line: 224

OK well that's your problem.  The issue could be incorrect permissions on /var/run/supervisor.sock -- can you check that?

Is the problem that I usually do 'supervisorctl start' as root ?
I reinstalled the VM so I can't give more feedback.

If the system is configured normally, you should be able to run supervisorctl commands either as root or the zulip user.  If you see this again, I suspect the fix is to rerun this line from scripts/lib/install: chown zulip:zulip /var/run/supervisor.sock

@timabbott I got the same error as @wolfen351 django.db.utils.OperationalError: FATAL:  the database system is shutting down. Only the puppet output looks relevant, here it is:
2016-01-10 18:07:24,088 upgrade-zulip-stage-2: Applying puppet changes...
Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Notice: Compiled catalog for zulip.metaphysicalplant.com in environment production in 1.35 seconds
Notice: /Stage[main]/Zulip::Postgres_common/Exec[disable_logrotate]/returns: executed successfully
Notice: /Stage[main]/Zulip::Voyager/File[/etc/sysctl.d/40-postgresql.conf]/content: content changed '{md5}335fb7f57912f98421ac698997c9e584' to '{md5}2e44cb639fcd1e60c18ceaff021c086c'
Notice: /Stage[main]/Zulip::Voyager/Exec[sysctl_p]: Triggered 'refresh' from 1 events
Notice: /Stage[main]/Zulip::Rabbit/File[/etc/default/rabbitmq-server]/content: content changed '{md5}7f0415b7d8b409fcfb5b6585589f2c5e' to '{md5}d0d028b94fbee9c1f4ff98e109cce3f4'
Notice: /Stage[main]/Zulip::Rabbit/Exec[epmd]/returns: executed successfully
Notice: /Stage[main]/Zulip::Voyager/Exec[pg_ctlcluster 9.3 main restart]/returns: pg_ctl: server does not shut down
Notice: /Stage[main]/Zulip::Voyager/Exec[pg_ctlcluster 9.3 main restart]/returns: HINT: The "-m fast" option immediately disconnects sessions rather than
Notice: /Stage[main]/Zulip::Voyager/Exec[pg_ctlcluster 9.3 main restart]/returns: waiting for session-initiated disconnection.
Error: /Stage[main]/Zulip::Voyager/Exec[pg_ctlcluster 9.3 main restart]: Failed to call refresh: pg_ctlcluster 9.3 main restart returned 1 instead of one of [0]
Error: /Stage[main]/Zulip::Voyager/Exec[pg_ctlcluster 9.3 main restart]: pg_ctlcluster 9.3 main restart returned 1 instead of one of [0]
Notice: Finished catalog run in 65.06 seconds

Exec['pg_ctlcluster 9.3 main restart'] has a subscribe relationship on File['/etc/sysctl.d/40-postgresql.conf']. I guess the latter file changed because I resized this VM since doing the original installation, ha!

I actually think I just fixed that bug in #412 -- in particular 75b5a1b8dad47df28c9b70e74fc7c4270f1fd449 and e7353902dfc84372c50eefe2ecf31a77a57b8b17; the issue was that it wasn't correctly stopping the services using postgres so restarting didn't work.


php 7.4 error

Environment details

OS: all
PHP version: 7.4
Package name and version: guzzlehttp/guzzle/src/Handler/CurlFactory.php at line 67

62 public function release(EasyHandle $easy)
63     {
64        $resource = $easy->handle;
65        unset($easy->handle);
66
67        if (count($this->handles) >= $this->maxHandles) { //<<<<<<<< here $this->handles is undefined the 1st time
68            curl_close($resource);

this line should be replaced by
67        if ( $this->handles && count($this->handles) >= $this->maxHandles) {

What version of google/apiclient and guzzlehttp/guzzle are you using? You can see this by running composer show.

Arg, i'm so sad to have missed that.
Thanks


getCachePuts() gives incorrect value in case multiple threads accessing cache simultaneously

Two threads access(get if not present put) the cache simultaneouly and performs get/put for element 1-10 in cache . In this case it is observed that getCachePuts() return random values. Usually it is observed that getCachePuts() comes out to be 12 or 16 in case cache size is 10.
As per our understanding getCachePuts() should be 10 as elements 1-10 are being accessed. The configured time to idle is 1 hour.
For example in one of the run of the unit case following were the respective values:
getCachePuts= 12 getCacheRemovals= 0 getCacheEvictions= 0 getCacheExpirations= 0

Can you show me the actual code driving the cache here? If it's just two threads doing:
if (cache.get(key) == null) {
  cache.put(key, value);
}

in parallel then this is expected behavior. The two cache operations are not atomic, and both threads can see null and put independently.


Follow up with implementation of parsing to improved binary snapshot in odsp driver

Spo is having some improvements in binary snapshot for trees/latest in the odsp driver. So follow up with the implementation of parsing in driver once it is done in the server.

This is going to flow in October as the server format is not yet freezed. We are working in parallel to implement it.


seaice_growth_ADX fix flooding and enable budget closure for linear free surface

What changes does this PR introduce?
Fix a bug related to flooding and enable budget closures for linear free surface case
What is the current behaviour?
When using seaice_growth_adx.F, a bug associated with flooding treatment is present, such that during the conversion of snow to ice in the case of flooding, which is meant to be without energy exchange, very large latent heat (not associated with that required to melt snow but i believe the amount associated with freezing that melted snow back to ice) is released to the ocean and ocean temperature for one time-step can increase massively, e.g., to plus 25C, and this accelerated melting of ice and remaining snow faster than it should be.  Related to this, the ice heat budget is not closed.
Independently, heat budget closure for seaice_growth_adx.F is currently only working for nonlinear free surface and real freshwater flux.
What is the new behaviour
A "incorrect" term associated with the buggy released latent heat of fusion is removed from QNET and is diagnosed to a diagnostics.
An if/def statement is added for when linear freesurface and virtual salt case is active, thereby enabling sea ice heat budget closure.
Does this PR introduce a breaking change?
Yes, potentially if you have used seaice_growth_adx with flooding before, then very likely you have the bug present, and now with the fix, results would change.
Other information:
Arash Bigdeli contributed to this PR as well.
Suggested addition to tag-index
(To avoid unnecessary merge conflicts, please don't update tag-index. One of the admins will do that when merging your pull request.)

eeks, what i thought was a clean PR already has so many baggages?!

It looks like you didn't start your branch from
git fetch upstream
git checkout -b seaice_adx_lfs_flux upstream/master

but from some other branch.

@antnguyen13 can you explain, why it works for seaice_growth.F. It's not clear to me, where this extra energy is accounted/not accounted for in that routine.

@mjlosch :
I believe it is in the difference approach of treatment between the seaice_growth.F and seaice_growth_adx.F and that in seaice_growth.F the updates to QNET was done based on d_HEFF from various components, while seaice_growth_adx.F used the net HEFF to calc QNET (and so we have to subtract the portion related to growth of ice from flooding back out):
In seaice_growth.F https://github.com/MITgcm/MITgcm/blob/master/pkg/seaice/seaice_growth.F:

In seaice_growth_adx.F https://github.com/MITgcm/MITgcm/blob/master/pkg/seaice/seaice_growth_adx.F

thanks, that makes sense! (Except that it is probably unphysical to assume no latent heat in the conversion between snow and ice, and I totally agree that seaice_growth and seaice_growth_adx should be consistent with each other, even if they are consistently wrong (o: What would be correct? Compute different between latent heat in conversion of snow to water (melting) and water to ice (refreezing) and use this for Qnet?)

@mjlosch In answering your question, I also realize perhaps we can make the correction much earlier directly to ResidualEnergyOutOfOcean instead of having it "buggy" and then correct much later at QNET time...

@mjlosch ps- and yes,  I believe if we choose to take into account the latent heat exchange of both melting snow and freezing ice we could account for? But by design, (was it you who coded the original flooding, with intention to just fix quick and not having to deal with energy as a starting point?), it is meant to be energy-exchange-free. Perhaps something one can look at at a later time, if one wants to make the code also energy conserving?

I also realize perhaps we can make the correction much earlier directly to ResidualEnergyOutOfOcean instead of having it "buggy" and then correct much later at QNET time...

Yes, I guess one can compute ActualNewTotalVolumeChange(I,J) = HEFF(I,J,bi,bj) - HEFFpreTH(I,J) - d_HEFFbyFlood(I,J), and you wouldn't need any new if statements.
The flooding scheme is simple and I think that's what's being used in most sea ice models (but I am not sure). I think we can leave this for now, because it's probably very complicated to include an estimated amount of water involved in the process. That's where the actual new contribution would come from.

Now I am totally confused. The flooding scheme is a conversion from snow to ice without any mass change of the ice+snow layer. We also assume that no latent heat is involved in the process (although that's debatable, but not here). To me this means that the change of HEFF due to flooding d_HEFFbyFlood must not appear in any energy or mass terms entering the ocean. One can achieve this by moving the flooding code to after (not before) the QNET and EmPmR computations (so approximately line 1277 before computation of sea ice load). Alternatively one could leave the code where it is and explicitly remove the d_HEFFbyFlood from ActualNewTotalVolumeChange change. I like the first option better, because it does not involve any additional computations.
One can still diagnose the heat associated with the HEFF-volume change, but it's not a "real" term that should be part of any heat budget. The error in the code is that this contribution was wrongly included in the heat, and this PR removes it again. So I guess this PR, as it is now, fixes the bug for QNET, but not for freshwater flux. Do I get this right?
From a technical point of view I suggest to redo this PR from a clean upstream/master copy so that we do not have the duplicate commits from previously merged PRs.

In my latest commit i've moved treatment of flooding to after calculations of QNET and EmPmR.  I might have to still check if this will now close the mass and salt budgets correctly, or whether there are additional "correction of the correction" required to undo the correction of the "buggy" mass and salt associated with flooding in the previous code.

@mjlosch Can i verify with you, that the current situation I have, is this: https://medium.com/@gabriellamedas/git-rebase-and-git-rebase-onto-a6a3f83f9cce , at the bottom example of my PR is based on the "wrong branch" and I need now to rebase it onto "master" so that my PR does not contain the entire commit history of "wrong branch" plus PR , but rather just the commits of PR (once rebase is successful)?

@antnguyen13 I can take a look at this history/starting point of this branch. I could be that this might not be a problem when we merge it (as it does a kind of rebase at that point). I the mean time, it would be better not to rebase it (specially if conflicts show up).

@jm-c Thanks, i'll wait for you to do the merge first, then follow your lead/suggestion after that!

Another comment: why do we need the _BEGIN/_END_MASTER statements around the ALLOW_DIAGNOSTICS block at the end of the file?

@antnguyen13 if you would like me to, I can push a suggestion for cleaning up the diagnostics section of the code a little.

@mjlosch yes, if you could go ahead and push these changes per your suggestions! they were there originally, but obviously it never hurts to make the code cleaner. Thanks!

@antnguyen13 I think we don't really "need to" do a rebase for the purpose of merging this PR (will do a "Squash & merge" at that time). The history list of commits will still be longer than what it really is, but compressed into a single "big" entry in the git repos, independently of whether or not we do a rebase. At least it's my impression (but Oliver @jahn did not disagree).

LGTM

@antnguyen13 I like that the flooding happens at the end.  But what is the reason for the SIfldflx diagnostic? If there is no energy change associated with the conversion between snow and ice, then wouldn't it make more sense to simply carry around the delta ice mass and delta snow mass  associated  with the flooding for the purposes of closing budgets?
see:
https://github.com/MITgcm/MITgcm/blob/23915bd8577a7049a8c16ab3e91d53ca31dc0e8e/pkg/seaice/seaice_growth_adx.F#LL1237C1-L1238C70

@antnguyen13 also, can you clarify: the bug affects setups with the nonlinear free surface, correct?  You found that with the nonlinear free surface the budget did close but the thermodynamics were also wrong, correct?

@ifenty :
can you clarify: the bug affects setups with the nonlinear free surface, correct?
the bug of heat associated with flooding is present in both nlfs and lfs, because it was a direct additive of dheff_flooding into heff and that heff was used to compute QNET which was passed on to outside of pkg/seaice.
You found that with the nonlinear free surface the budget did close but the thermodynamics were also wrong, correct?
The thermodynamics were incorrect, yes, just confirming. Also, the offline heat budget didNOT close just because we did not have a diagnostic heat term associated with the buggy flooding. This was the reason for introducing the diagnostic "SIfldflx " to then make the correction offline.

I am going to modify the title of this PR, to start with "SEAICE_USE_GROWTH_ADX" (like PR #703) to exactly match the name of pkg/seaice CPP option.

@antnguyen13 This looks good. I made little adjustment to the seaice-summary to look better (from my point of view). Please take a look and once you agree I could merge this PR soon after.

@jm-c LGTM, thanks!!


Add an alternative form builder that uses StreamFields to define form fields

This PR introduces StreamFieldFormBuilder, an alternative form builder that uses a StreamField to define form fields, in order to improve user experience when building a form.
Because it's based on a distinct classes, this improvement doesn't break existing forms.
Images
Field type selection:

Date/Time field with a DatePicker popup opened when setting its default value:

Multiple select field with some choices:

Features

new fields are added with a more user-friendly selector with icons;
a ListBlock is used to define choices label and default value, instead of a comma-separated list in a CharField.
provide the right field type for each default value (ie. setting 'foo' as a default value for a number field is not possible);
allow per-field options, such as min_length/max_length for CharField, and min_value/max_value for DecimalField, etc;

Usage

inherits your form page from AbstractStreamFieldForm instead AbstractForm (or AbstractEmailStreamFieldForm instead AbstractEmailForm);
set the form_fields attribute in the FormPage class to a StreamField containing a FormFieldsBlock instead subclassing AbstractFormField with a parental key.

So the example provided in the docs becomes:
from wagtail.fields import RichTextField, StreamField # <--
from wagtail.admin.panels import FieldPanel, FieldRowPanel, MultiFieldPanel
from wagtail.contrib.forms.panels import FormSubmissionsPanel
from wagtail.contrib.forms.blocks import FormFieldsBlock # <--
from wagtail.contrib.forms.models import AbstractEmailStreamFieldForm # <--

class FormPage(AbstractEmailStreamFieldForm):
    intro = RichTextField(blank=True)
    form_fields = StreamField(FormFieldsBlock()) # <--
    thank_you_text = RichTextField(blank=True)

    content_panels = [
        *AbstractEmailStreamFieldForm.content_panels, # <--
        FormSubmissionsPanel(),
        FieldPanel('intro'),
        FieldPanel('form_fields'), # <--
        FieldPanel('thank_you_text'),
        MultiFieldPanel([
            FieldRowPanel([
                FieldPanel('from_address', classname="col6"),
                FieldPanel('to_address', classname="col6"),
            ]),
            FieldPanel('subject'),
        ], "Email"),
    ]

WIP
This PR is a work in progress and I wanted several feedbacks before to spend more time on this to:

update translations;
update tests;
add docstrings and update user doc,
add some CSS to put label field and initial check box inline, for MultiSelectFormFieldBlock and CheckBoxesFormFieldBlock;
add some js to fill a dropdown with the user-defined labels (using telepath), for DropDownFormFieldBlock and RadioFormFieldBlock;
add a utility function that converts AbstractForm-based forms to AbstractStreamFieldForm-based forms.

Hi @roipoussiere - thanks for your work on this!
I see you've been in contact with the maintainers of the Wagtail Streamforms package - there's also wagtail-flexible-forms which provides a similar feature. There are arguments for and against including a StreamField-based form builder in Wagtail itself - on one hand, having it as an external package means that developers can try out different approaches independently of Wagtail's release cycle and have the best solutions emerge organically - but on the other hand, it means that a lot of people will tend to stick with the existing wagtail.contrib.forms, even if it's an inferior solution, just because it's the "official" one. I'll raise this at this week's core team meeting and see what the rest of the team thinks.

Thank you for your answer. I didn't know about wagtail-flexible-forms, but like Wagtail Streamforms the project seems unmaintained.
Although I could publish an n-th package that improves wagtail forms, I am personally in favor of including this in the Wagtail code base, for a better maintenance, discoverability and usage (no need to find, install and check other packages). I find that the user experience of the current wagtail forms is not very good and I think it's a pity for a such great project.

Hello @gasman, any news?

Hi @roipoussiere - the core team is very much in favour of getting an improved form builder module into wagtail.contrib, and @vsalvino has stepped up to lead on that. We'd be very happy for you to be involved in that!

Noting this is with @vsalvino to advise on whether we should proceed with this PR or an alternative approach per previous package proposal.

Just looking into this a bit, I don’t think Vince has had time for this yet. But in the meantime anyone interested in this (@roipoussiere?) could probably do a feature / implementation comparison between this PR and wagtail_flexible_forms within Wagtail CRX. That implementation is definitely actively maintained. I assume this kind of comparison is what Vince was intending to do as well. We probably won’t be able to move forward with this until we have that kind of information to make an informed decision with.

Hello,
I just published Wagtail Form Plugins, a project I was working on the past months. It's a set of plugins used to customize and improve the Wagtail form builder in a modular way. It adds streamfield-based forms, conditional fields, field templating, etc.
I hope other people will find this useful and will like the modular approach.


Findbugs fixes

findbugs added to the project and all findbug issues fixed.

@mohitsoni @smarella or @adam-mesos  any help with a review on this?  I would like to move to adding pmd and checkstyle support.

@mohitsoni + team.  I've rebased the recent changes and removed the conflict.  This is ready to go.

Also, can you please squash all changes into 1 commit ?

yeah...   I rebased on the squash to phase1 and not on it's branch.  let me fix it.

@mohitsoni allll... righty then!


Enhancement : {category} token

Can we get a {category} token as well? Please.

Can you please provide a feed and the expected result?

http://whiteboardtheme.weebly.com/2/feed
I am looking for "category" item.
Regards,
Vikas
On Thu, Nov 26, 2015 at 10:57 AM, Sascha Depold<EMAIL_ADDRESS>wrote:

Can you please provide a feed and the expected result?
—
Reply to this email directly or view it on GitHub
https://github.com/sdepold/jquery-rss/issues/71#issuecomment-159809325.

I'm also trying to figure out how to add the {category} token. Extending the getTokenMap results in an error.


  It seems that after I leave the house it goes into the 'Not Home' state.  When I come back home a few hours later and reconnect to wifi it stays stuck in the 'Not Home' state.
When I look out the home assistant output that last thing I get from the device_tracker component is a 'Scanning' event that never ends.  If I restart home assistant it does start working again.
Below is the output from the device tracker component.  This is the last I heard from it.  Been having this issue consistently for a few days.  I can provide the full output from HA if needed.
.....
15-08-17 15:50:00 INFO (Thread-24) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-08-17 15:50:04 INFO (Thread-24) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-08-17 15:50:12 INFO (Thread-2) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-08-17 15:50:15 INFO (Thread-2) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-08-17 15:50:24 INFO (Thread-14) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-08-17 15:50:27 INFO (Thread-14) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-08-17 15:50:36 INFO (Thread-5) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-08-17 15:50:39 INFO (Thread-5) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-08-17 15:50:48 INFO (Thread-12) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-08-17 15:50:51 INFO (Thread-12) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-08-17 15:51:00 INFO (Thread-12) [homeassistant.components.device_tracker.nmap_tracker] Scanning

There was just a new release of the NMAP dependency that Home Assistant is using that might contain a fix for this.

Fixed the dependency in the dev branch: 74308b2677e9ea9433f170cbbcf70ecc869cabf4

I tried using the nmap tracker with the updated dependency.  When I use the update I can't even get home-assistant to start.  It hangs on the first device scan.  Here is what I get after ctrl+c:
15-08-20 09:45:00 INFO (MainThread) [homeassistant.components.device_tracker.nmap_tracker] Scanning
^CTraceback (most recent call last):
  File "/home/pi/.pyenv/versions/3.4.2/lib/python3.4/runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/pi/.pyenv/versions/3.4.2/lib/python3.4/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/pi/home-assistant/homeassistant/__main__.py", line 176, in <module>
    main()
  File "/home/pi/home-assistant/homeassistant/__main__.py", line 159, in main
    hass = bootstrap.from_config_file(config_path)
  File "/home/pi/home-assistant/homeassistant/bootstrap.py", line 202, in from_config_file
    return from_config_dict(config_dict, hass)
  File "/home/pi/home-assistant/homeassistant/bootstrap.py", line 183, in from_config_dict
    _setup_component(hass, domain, config)
  File "/home/pi/home-assistant/homeassistant/bootstrap.py", line 95, in _setup_component
    if not component.setup(hass, config):
  File "/home/pi/home-assistant/homeassistant/components/device_tracker/__init__.py", line 73, in setup
    device_scanner = tracker_implementation.get_scanner(hass, config)
  File "/home/pi/home-assistant/homeassistant/components/device_tracker/nmap_tracker.py", line 55, in get_scanner
    scanner = NmapDeviceScanner(config[DOMAIN])
  File "/home/pi/home-assistant/homeassistant/components/device_tracker/nmap_tracker.py", line 85, in __init__
    self._update_info()
  File "/home/pi/home-assistant/homeassistant/util/__init__.py", line 256, in wrapper
    result = method(*args, **kwargs)
  File "/home/pi/home-assistant/homeassistant/components/device_tracker/nmap_tracker.py", line 156, in _update_info
    nmap.run()
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/libnmap/process.py", line 263, in run
    self.__stdout += str(streamline)

I'm facing the same issue. Nmap gets stuck at the scanning task. Tried it with redhat 7 and Fedora 22. Also saw in the process list a defunct nmap process

update: with libnmap 0.6.1 the issue isn't coming up mean everything works perfect. Didn't have time to check the specific differences between both version (0.6.3 and 0.6.1)

I guess I'll downgrade the package requirement to 0.6.1 for the NMAP
tracker.
On Tue, Aug 25, 2015 at 12:47 PM, Cumulus1<EMAIL_ADDRESS>wrote:

update: with libnmap 0.6.1 the issue isn't coming up mean everything works
perfect. Didn't have time to check the specific differences between both
version (0.6.3 and 0.6.1)
—
Reply to this email directly or view it on GitHub
https://github.com/balloob/home-assistant/issues/264#issuecomment-134716902
.

--
PaulusSchoutsen.nl
It's nice to be important but it's more important to be nice.

@Cumulus1 could you confirm it also works with 0.6.2?

I am having the same problem. With nmap 0.6.1 the first scans seems to work but after a few hours the status is not updated in the frontend. I am also getting the following exeption after every scan:
15-08-26 19:09:48 INFO (Thread-15) [homeassistant.components.device_tracker.nmap_tracker] Scanning
Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 1353, in _after_fork
thread._stop()
TypeError: 'Event' object is not callable
Tried upgrading to nmap 0.6.3 but got the same error as nkgilley

@balloob 0.6.2 works as well. At least the last 3 hours I was running it.

@netono that was a bug in nmap scanner that 0.6.3 should have resolved.

Having tthe same problem with 0.6.2. After a while the status is no longer updated and when i try to shut down the serie with ctrl+c it throws the following error:
^CTraceback (most recent call last):
File "/usr/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/home-assistant/homeassistant/main.py", line 176, in
main()
File "/home/home-assistant/homeassistant/main.py", line 173, in main
hass.block_till_stopped()
File "/home/home-assistant/homeassistant/core.py", line 86, in block_till_stopped
self.stop()
File "/home/home-assistant/homeassistant/core.py", line 95, in stop
self.pool.block_till_done()
File "/home/home-assistant/homeassistant/util/init.py", line 341, in block_till_done
self._work_queue.join()
File "/usr/lib/python3.4/queue.py", line 86, in join
self.all_tasks_done.wait()
File "/usr/lib/python3.4/threading.py", line 289, in wait
waiter.acquire()
KeyboardInterrupt
^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/popen_fork.py", line 30, in poll
pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt
I then have to kill the process. After starting again the status is updated and everything works for a few hours

The libnmap requirement in HA has been reduced to 0.6.1. The latest master branch should fix this issue.

This should be fixed by PR #300.

Still seems to be an issue.  Just hangs at scanning after launching hass
^CTraceback (most recent call last):
  File "/home/pi/.pyenv/versions/homeassistant/bin/hass", line 11, in <module>
    sys.exit(main())
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/__main__.py", line 88, in main
    hass = bootstrap.from_config_file(config_file)
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/bootstrap.py", line 217, in from_config_file
    return from_config_dict(config_dict, hass, enable_log=False)
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/bootstrap.py", line 194, in from_config_dict
    _setup_component(hass, domain, config)
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/bootstrap.py", line 96, in _setup_component
    if not component.setup(hass, config):
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/components/device_tracker/__init__.py", line 75, in setup
    device_scanner = tracker_implementation.get_scanner(hass, config)
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/components/device_tracker/nmap_tracker.py", line 63, in get_scanner
    scanner = NmapDeviceScanner(config[DOMAIN])
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/components/device_tracker/nmap_tracker.py", line 93, in __init__
    self._update_info()
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/util/__init__.py", line 256, in wrapper
    result = method(*args, **kwargs)
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/homeassistant/components/device_tracker/nmap_tracker.py", line 164, in _update_info
    nmap.run()
  File "/home/pi/.pyenv/versions/homeassistant/lib/python3.4/site-packages/libnmap/process.py", line 263, in run
    self.__stdout += str(streamline)
KeyboardInterrupt


David tells dependency is insecure. Is this a bug, or am I wrong?

I have an issue with one of my repos. The badge shows insecure dependencies and this belongs to jQuery, as the detail page of david told me (and as this is the only dependency too).
https://david-dm.org/eisbehr-/jquery.lazy
The plugin depends on any version greater or equal than 1.7.2. This is simply to keep the range as wide as possible, even for very old projects, like some IE stuff some companies has still live.
My question is simply, why is my dependency unsecure? On a new install, the most common version 3.2.1 would be picked, what is secure. In my eyes this is a wrong message / badge here. I don't depend on 1.7.2 directly, I depend on everything above too. On a normal install the latest version would be picked.
Can someone tell me the problem?

Your range includes vulnerable versions.
People may have installed your module long ago and by virtue they may have installed a vulnerable version of jquery. Updating the version you depend on to not include a vulnerable version of jquery will force npm to install a version that isn't vulnerable rather than leaving the existing vulnerable version because it satisfies your range.

@alanshaw What about lockfiles ? If a lockfile is providen and the latest jQuery version pined in it, users with a vulnerable jQuery version will get it updated.
A package may be compatible with a large jQuery version range and package.json should only reflect this, letting the user to choose the actual version according to their use case. A lot of vulnerabilities are only relevant some particular cases and can be safely ignored.

A package may be compatible with a large jQuery version range and package.json should only reflect this

Yes, exactly this is my problem too! Nice idea from.

@ncoden, unfortunately a package-lock.json file applies only to the top level package, The lockfile is ignored when installing modules from npm.  So if the package-lock.json only has secure versions, a user of that package does not benefit.
https://docs.npmjs.com/files/package-lock.json#description

As far as I undestand his suggestions, thats not the point. Davaid should just look to the package-lock.json in a project, if it uses secure deps or not. Because in the package.json the developers need to tell with what versions this project will work at least, but that has nothing to do with security. So @ncoden just suggested a way we could work around this ...

I'm not sure I understand how this would work - could you provide some examples?
Specifically, I don't understand why you wouldn't just update the version in your package.json.

The package.json only specifies the versions a module is compatible with. And that can be a very wide range. It has nothing to do with security issues. You have a package that works with jQuery 1.0.0 an up, then you tell it's working with this version.
The problem here is, that David forces the devs to put the version as high as possible in the package.json to be not shown as insecure. But that is not a good choice, because our module would be incompatible to others then.
For example, we have this two modules in a random project:

moduleA is compatible to jQuery >= 1.7
moduleB is compatible to jQuery >= 2.1 <= 2.9

Then NPM would propably pick a Version of jQuery 2.9.X for both. But now the dev of moduleA pushes the version to max, because he don't want to be insecure:

moduleA is compatible to jQuery ~= 3.3.1
moduleB is compatible to jQuery >= 2.1 <= 2.9

Now NPM can't pick a compatible version for both. The two modules are incompatible in this probject. But that's not true, because moduleA would be compatible down to jQuery 1.7.
I hope you understand my point, it's a bit tricky to explain for me. ;)

Would a peer dependency be an option?

If jQuery were a peer dependency of your module, then users would have to install it independently (it would not be automatically installed when your module is installed).  Because David-dm does not check that peer dependencies are up to date, your badge would go green.
I realise this is a tradeoff because it changes the contract with your users.  But perhaps a peer dependency is a better description of the relationship with jQuery?


Use a fixed-width font on the /submit form field

https://www.trusat.org/submit
Given that the IOD/RDE/UK formatted lines are fixed-field, it would look better (and allow record inspection) if the font in the form were fixed width.

made a duplicate for this one, so closing


Longer range communication

802.11af?
802.11ac

http://www.alfa.com.tw/products_show.php?pc=67&ps=23 appears to work well


PowerShell MSIX option

I prefer to install the MSIX package. I hope it's added as well.
Sent from my Redmi Note 7 using FastHub

We have a MSIX that will be published to the windows store.
Unfortunately, a standalone MSIX will have limited functionality (according to Appx this is by design) and we don't plan on releasing an MSIX.


Week 7 Hacks

API
Collegeboard
Notes

Nathan: Had all the parts and we did a little demonstration with his work. 2.7+

Max: He had all the parts and explained his work. 2.7+

Team Project. .85/1
games on website.  brain write.
used 6 college board ideas.
SRI - good solution on burgers.  Language API with identifying, simple and nice loop.   Blogging is terse.  1.9/2
Nathan - CB mentions keywords and vocabulary.  Had good solution.  We worked on quit. 1.8/2
Max - Shared Weather API with filtering.  Bugers simple if solution.  Nice blogs. 1.8/2


Microsoft.Extensions.Configuration.Binder APIs

With the below code, I am getting null for mongoSettings:
using System;
using System.Collections.Generic;
using Microsoft.Extensions.Configuration;

namespace ConsoleApplication
{
    public class PrimaryDataStorageSettings
    {
        public string MongoDbConnectionString { get; set; }
        public string MongoDbDatabase { get; set; }
    }

    public class Program
    {
        public static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                .AddInMemoryCollection(new Dictionary<string, string>
                {
                    { "PrimaryDataStorage__MongoDbConnectionString", "mongodb://localhost:27017"},
                    { "PrimaryDataStorage__MongoDbDatabase", "foobar"}
                })
                .Build();

            var mongoSettings = config.GetValue<PrimaryDataStorageSettings>("PrimaryDataStorage");

            Console.WriteLine(mongoSettings == null);
        }
    }
}

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "dependencies": {
    "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Options": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Binder": "1.0.0-rc2-final",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0-rc2-3002702"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
    }
  }
}

I am not sure why. Any thoughts?
dotnet CLI:
.NET Command Line Tools (1.0.0-preview1-002702)

Product Information:
 Version:     1.0.0-preview1-002702
 Commit Sha:  6cde21225e

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  14.04
 OS Platform: Linux
 RID:         ubuntu.14.04-x64

In RC1, Get was working fine on this. However, that API seems to be gone and I assumed it was renamed to GetValue.
I also tried ConfigurationBinder.Bind like this:
            var mongoSettings = new PrimaryDataStorageSettings();
            ConfigurationBinder.Bind(config.GetSection("PrimaryDataStorage"), mongoSettings);

Still no luck.

OK, my bad. I think MemoryConfigurationSource has never worked on sections just like EnvironmentVariablesConfigurationSource does: https://github.com/aspnet/Configuration/blob/c948517e03bbbcd0f1bbdf32ff666a56eab9773a/src/Microsoft.Extensions.Configuration.EnvironmentVariables/EnvironmentVariablesConfigurationProvider.cs#L55
Went with environment variables and used the ConfigurationBinder.Bind API instead and it's happy


Open Share Modal after applying freewallets coupon

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
This PR introduces a new modal component, ShareFreeWalletsModal, to enhance the billing section of the dashboard. It allows users to share free wallet offers via social media or email. The modal is integrated into the CouponSection and ApplyCouponCard components.
Detailed summary

Added ShareFreeWalletsModal component for sharing wallet offers.
Created storybook stories for ShareFreeWalletsModal for desktop and mobile views.
Updated onCouponApplied callback in ApplyCouponCard to handle free wallets coupon logic.
Integrated modal display logic in CouponSection based on coupon type.
Implemented email sharing functionality within the modal using form validation.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#5085  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MananTank and the rest of your teammates on  Graphite


Add folia support

Im checked your code for Paper platform - nothing to change needed. Just turn on for Folia-platform (fork of Paper with threaded-regions - https://papermc.io/software/folia)

Thanks!


SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

i am facing requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) issue.
i am using python

v2.7.13

, requests

v2.7.0.

my service is started with https using bottle-paste. i have created certificates using openssl. for server-side i am using .pem and from client-side i am using .pkcs12.
and my service using OpenSSL . i am using sslcontext to start service SSL.Context(SSL.SSLv23_METHOD).
and as you guys know requests module using ssl.
same service can hit from java , postman with using client certificates( .pkcs12 ). not sure why is it failing here ? can any one help me here ??

Python's ssl module does not support PKCS12 files. You have to extract the PKCS12 and dump the key and cert to disk. You may also need to dump the CA and intermediate chain.
Something like this should do the trick. cert.pem contains key, cert and maybe chain.
$ openssl pkcs12 -in file.p12 -out client.pem -chain -nodes

Thanks for that @tiran. I think this should help you understand why your having trouble @munaAchyuta. Cheers!

Thanks @tiran for your solution. Yes it solved my issue. Thanks for responding.


Backport "Update phrasing for NotClassType explain error message" to LTS

Backports #19635 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-19080.
Reference


python312Packages.meteoswiss-async: relax aiohttp

ZHF: #352882

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 353024

aarch64-darwin

:white_check_mark: 4 packages built:

python311Packages.meteoswiss-async
python311Packages.meteoswiss-async.dist
python312Packages.meteoswiss-async
python312Packages.meteoswiss-async.dist


Frontend packages upgrade

Description
This PR updates dependencies in the yarn lock.
Due to changes in prettier, several files have been updated to match the new rules.

/deploy-staging

/rebase


fix: Cricket app bug addressed when a player entry is missing

@matslina  apologies for bugging you again.


0x801c004d Not Listed

This error code is not listed.

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

ID: 6b4f9133-887f-17a6-95fc-3712de8a3fa1
Version Independent ID: 09d34ce8-1590-8202-3e70-e6299dadbb65
Content: Windows Hello errors during PIN creation (Windows 10)
Content Source: windows/security/identity-protection/hello-for-business/hello-errors-during-pin-creation.md
Product: w10
GitHub Login: @DaniHalfin
Microsoft Alias: daniha

Same here, just got that.

@officedocsbot assign @e0i

Hello, @GenericUser321 , @jdenicola67  Thank you for submitting feedback.
In our understanding the error code that you have noted might actually have surfaced from other services rather than Windows Hello itself.
Find below a quoted reply from our Content Developer:
DaniHalfin wrote:

For error codes unlisted here, in most cases those are transient error codes
being surfaced by other services in the Windows Hello dependency chain.

We are working on something to improve the user experience in that regard,
but that will not solve the issues you are experiencing.

If we find a reoccurring error codes that isn't covered here and should be
(meaning, in most cases, it is coming from Windows Hello and not other
components) we'll make sure to add it to this page.

Also note that the feedback section that you have used to submit this issue is intended for product documentation issues only.
Please consider consulting to Feedback Hub for any of your suggestions, questions or feature requests to help Microsoft improve your experience. Find the link to Feedback Hub below:
Microsoft Windows 10 Feedback Hub
We are closing this issue but feel free to re-open it if you feel that we might have missed something.
Have a nice day.

@officedocsbot close

Idem with the new 1903

7525
0
2
16
11
0x8000000000000002

145

Microsoft-Windows-HelloForBusiness/Operational
PAM

0x801c004d
0

Searching for this error code, 0x801c004d in Bing and other popular search engines seems to mostly return articles referencing issues with Windows Hello. While this might be an issue from a Dependency as previously suggested, the error code should probably be mentioned in the "errors with unknown mitigation" section

What is the solution for 0x801c004d
I am still getting this error. pls post solution

Getting same error

Getting the same error.
I have tried clearing the TPM workspace, cleared the NGC store, and reset the winbiodatabase to no avail.  I now find the following issues:
a. When I reset the NGC store (by renaming the file), the windows Hello environment looks OK, but when I attempt to set up a new PIN I get the error 0x801c004d and windows reports that the Windows Hello environment is not available
b) On the "Require Sign In", I have a red error message stating that "Windows Hello is preventing some options from being displayed".
c) As I am running Windows Home, I do not have access to gpedit.msc which is suggested in a number of places.
Environment
I am running a local account on Windows 10 Home edition.  All available windows updates have been applied.

Same problem here. Problems after restoring a backup to my PC. Now Hello isn't working.

Same problem here. Problems after restoring a backup to my laptop. Now Hello isn't working.

@mapalko Can you provide clarifications? Thank you.

@Camalo1337 @datphuquoc81 @DaveWP have you opened a feedback hub item for this behavior? Have you tried running "certutil -deletehellocontainer" from cmd or powershell to try cleaning up state?

@Camalo1337 @datphuquoc81 @DaveWP have you opened a feedback hub item for this behavior? Have you tried running "certutil -deletehellocontainer" from cmd or powershell to try cleaning up state?

This solved the problem for me. Thank you!


Error trying to run a PrimeNG  Angular example.

Describe the bug
I'm trying to run an example (or my own fork, derived from it). of a PrimeNG angular component.  The environment does not start up.
Link to the blitz that caused the error
https://stackblitz.com/edit/u37was?file=package.json
Steps to reproduce

Go to https://primeng.org/splitter

Click on the stackblitz link in the text

The editor comes up, but it does not initialize.   In the console, I get:
u37was:1  The resource https://w-corp-staticblitz.com/fetch.worker.c9a8a620.js was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate asvalue and it is preloaded intentionally. u37was:1  The resource https://w-corp-staticblitz.com/webcontainer.c9a8a620.js was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriateas` value and it is preloaded intentionally.
Navigated to https://stackblitz.com/edit/u37was?file=package.json
w-corp-staticblitz.com/webcontainer.c9a8a620.js:1
 GET https://w-corp-staticblitz.com/webcontainer.c9a8a620.js net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 403 (Forbidden)

u37was:44
    GET https://w-corp-staticblitz.com/fetch.worker.c9a8a620.js net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 403 (Forbidden)

u37was:43
    GET https://w-corp-staticblitz.com/webcontainer.c9a8a620.js net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 403 (Forbidden)

client-b86f844c5100a.js:2  Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true.  URL scheme "stackblitz" is not supported.`
Expected behavior
The blitz should initialize and run.
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Edge
Full version  = Version 122.0.2365.52 (Official build) (64-bit)
Major version = 122

Additional context
getting the same result in Chrome.

Hey @mconner! Thanks for the report.
It might have been a temporary network failure? We haven't been able to reproduce it. Does it still happen to you?
If yes could you please send a screencast with the DevTools opened and the network tab selected?

Hey @mconner! Thanks for the report.
It might have been a temporary network failure? We haven't been able to reproduce it. Does it still happen to you?
If yes could you please send a screencast with the DevTools opened and the network tab selected?

This is still happening.  This seems to be an issue with netskope (network security).  I thought to try disabling it this morning (which I can do for now, but eventually not), then stackblitz works -- though I get some of the same errors, in either case.
Not sure If our IT has the netskope configuration too restrictive (they are still tweaking it, and I've put in a request to review it), or stackblitz is doing something it shouldn't.

@Nemikolh:
The issue was with the url: https://w-credentialless-staticblitz.com/webcontainer.c9a8a620.js,
Our IT was able to put in a rule to allow it, so it is working, now.
Stackblitz had been working for me a few days prior, and it is unclear (to me, at least), if this was a change to StackBlitz or to our nework security.

Oh it did got changed from w-credentialless.stacblitz.com to w-credentialless-stacblitz.com!
So that's why you needed changes on your side.
We did this because we want webcontainers to be isolated at the process level from one another for security reasons and so that they don't share memory limits. This was the first step to get there.
Thank you so much for getting back at us @mconner ! 🙏


Logging possibility

@nielshulstaert we need to add more logging facilities to the tool. I'm using the tool from a container and sometimes the mono just breaks without error and kill my process. Would be great if we have some logging facilities that can be enabled to trace errors.
Regards
Yasset

A new PR has been created to solve this issue. https://github.com/compomics/ThermoRawFileParser/pull/28

Done


upgrade chart versions

change jenkins-x/jenkins-x-platform to version 0.0.3628
change jenkins-x/jx-build-templates to version 0.0.520
change jenkins-x/prow to version 0.0.410

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: jstrachan
If they are not already assigned, you can assign the PR to them by writing /assign @jstrachan in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/test all

@jstrachan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

tekton
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test tekton

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

tekton
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test tekton

gitops
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test gitops

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

tekton
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test tekton

gitops
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test gitops

prow
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test prow

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

tekton
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test tekton

gitops
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test gitops

prow
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test prow

static
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test static

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test tekton

@jstrachan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

ng
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test ng

gitops
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test gitops

prow
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test prow

static
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test static

tekton
d5f162908422a0715f689ce8de8e9c91b2d4f30f
link
/test tekton

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Refactor cleanup of paused test containers

This simplifies the code  a bit, and fixes a case where the test code was erroneously sending POST /containers//unpause

LGTM