Refactors and consistency (sending requests, canceling requests, and progress)

In trying to add support for the progress handler to "normal" (not multipart) request, I found lots of repeated code.

if cancellableToken.cancelled { ... } now uses cancelCompletion helper
requestNormal and requestMultipart were almost identical, now they're combined
sendUpload and sendRequest shared code that sends the alamoRequest and notifies plugins

So yeah, now it's all consistent!
No external changes to the API, all internal.

#542 You'll be able to pass in a progress block using the code from this PR!

          1 Error

:no_entry_sign:
No Changelog entries made

SwiftLint found issues\n\n#### Warnings

File
Line
Reason

Moya.swift
355
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
356
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
338
Colons should be next to the identifier when specifying a type.

Moya.swift
358
Force unwrapping should be avoided.

Moya.swift
182
Function body should span 50 lines or less excluding comments and whitespace: currently spans 54 lines

Moya.swift
14
Lines should not have trailing whitespace.

Moya.swift
20
Lines should not have trailing whitespace.

Moya.swift
24
Lines should not have trailing whitespace.

Moya.swift
48
Lines should not have trailing whitespace.

Moya.swift
55
Lines should not have trailing whitespace.

Moya.swift
105
Lines should not have trailing whitespace.

Moya.swift
109
Lines should not have trailing whitespace.

Moya.swift
337
Lines should not have trailing whitespace.

Moya.swift
352
Lines should not have trailing whitespace.

Moya.swift
362
Lines should not have trailing whitespace.

Moya.swift
375
Lines should not have trailing whitespace.

Moya.swift
388
Lines should not have trailing whitespace.

Moya.swift
413
Lines should not have trailing whitespace.

Moya.swift
414
Lines should not have trailing whitespace.

Moya.swift
485
Lines should not have trailing whitespace.

Moya.swift
497
Lines should not have trailing whitespace.

Moya.swift
237
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
399
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
182
Function should have complexity 10 or less: currently complexity equals 11

Moya.swift
499
File should contain 400 lines or less: currently contains 499

Moya+ReactiveCocoa.swift
72
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
83
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
89
Lines should not have trailing whitespace.

Moya+RxSwift.swift
48
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya+RxSwift.swift
46
Lines should not have trailing whitespace.

Moya+RxSwift.swift
58
Lines should not have trailing whitespace.

Moya+RxSwift.swift
63
Lines should not have trailing whitespace.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Force unwrapping should be avoided.

Observable+Moya.swift
55
Lines should not have trailing whitespace.

Observable+Moya.swift
58
Lines should not have trailing whitespace.

Observable+Moya.swift
64
Lines should not have trailing whitespace.

Observable+Moya.swift
67
Lines should not have trailing whitespace.

Moya.swift
355
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
356
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
338
Colons should be next to the identifier when specifying a type.

Moya.swift
358
Force unwrapping should be avoided.

Moya.swift
182
Function body should span 50 lines or less excluding comments and whitespace: currently spans 54 lines

Moya.swift
14
Lines should not have trailing whitespace.

Moya.swift
20
Lines should not have trailing whitespace.

Moya.swift
24
Lines should not have trailing whitespace.

Moya.swift
48
Lines should not have trailing whitespace.

Moya.swift
55
Lines should not have trailing whitespace.

Moya.swift
105
Lines should not have trailing whitespace.

Moya.swift
109
Lines should not have trailing whitespace.

Moya.swift
337
Lines should not have trailing whitespace.

Moya.swift
352
Lines should not have trailing whitespace.

Moya.swift
362
Lines should not have trailing whitespace.

Moya.swift
375
Lines should not have trailing whitespace.

Moya.swift
388
Lines should not have trailing whitespace.

Moya.swift
413
Lines should not have trailing whitespace.

Moya.swift
414
Lines should not have trailing whitespace.

Moya.swift
485
Lines should not have trailing whitespace.

Moya.swift
497
Lines should not have trailing whitespace.

Moya.swift
237
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
399
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
182
Function should have complexity 10 or less: currently complexity equals 11

Moya.swift
499
File should contain 400 lines or less: currently contains 499

Moya+ReactiveCocoa.swift
72
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
83
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
89
Lines should not have trailing whitespace.

Moya+RxSwift.swift
48
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya+RxSwift.swift
46
Lines should not have trailing whitespace.

Moya+RxSwift.swift
58
Lines should not have trailing whitespace.

Moya+RxSwift.swift
63
Lines should not have trailing whitespace.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Force unwrapping should be avoided.

Observable+Moya.swift
55
Lines should not have trailing whitespace.

Observable+Moya.swift
58
Lines should not have trailing whitespace.

Observable+Moya.swift
64
Lines should not have trailing whitespace.

Observable+Moya.swift
67
Lines should not have trailing whitespace.

Moya.swift
355
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
356
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
338
Colons should be next to the identifier when specifying a type.

Moya.swift
358
Force unwrapping should be avoided.

Moya.swift
182
Function body should span 50 lines or less excluding comments and whitespace: currently spans 54 lines

Moya.swift
14
Lines should not have trailing whitespace.

Moya.swift
20
Lines should not have trailing whitespace.

Moya.swift
24
Lines should not have trailing whitespace.

Moya.swift
48
Lines should not have trailing whitespace.

Moya.swift
55
Lines should not have trailing whitespace.

Moya.swift
105
Lines should not have trailing whitespace.

Moya.swift
109
Lines should not have trailing whitespace.

Moya.swift
337
Lines should not have trailing whitespace.

Moya.swift
352
Lines should not have trailing whitespace.

Moya.swift
362
Lines should not have trailing whitespace.

Moya.swift
375
Lines should not have trailing whitespace.

Moya.swift
388
Lines should not have trailing whitespace.

Moya.swift
413
Lines should not have trailing whitespace.

Moya.swift
414
Lines should not have trailing whitespace.

Moya.swift
485
Lines should not have trailing whitespace.

Moya.swift
497
Lines should not have trailing whitespace.

Moya.swift
237
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
399
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
182
Function should have complexity 10 or less: currently complexity equals 11

Moya.swift
499
File should contain 400 lines or less: currently contains 499

Moya+ReactiveCocoa.swift
72
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
83
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
89
Lines should not have trailing whitespace.

Moya+RxSwift.swift
48
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya+RxSwift.swift
46
Lines should not have trailing whitespace.

Moya+RxSwift.swift
58
Lines should not have trailing whitespace.

Moya+RxSwift.swift
63
Lines should not have trailing whitespace.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Force unwrapping should be avoided.

Observable+Moya.swift
55
Lines should not have trailing whitespace.

Observable+Moya.swift
58
Lines should not have trailing whitespace.

Observable+Moya.swift
64
Lines should not have trailing whitespace.

Observable+Moya.swift
67
Lines should not have trailing whitespace.

Moya.swift
355
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
356
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya.swift
338
Colons should be next to the identifier when specifying a type.

Moya.swift
358
Force unwrapping should be avoided.

Moya.swift
182
Function body should span 50 lines or less excluding comments and whitespace: currently spans 54 lines

Moya.swift
14
Lines should not have trailing whitespace.

Moya.swift
20
Lines should not have trailing whitespace.

Moya.swift
24
Lines should not have trailing whitespace.

Moya.swift
48
Lines should not have trailing whitespace.

Moya.swift
55
Lines should not have trailing whitespace.

Moya.swift
105
Lines should not have trailing whitespace.

Moya.swift
109
Lines should not have trailing whitespace.

Moya.swift
337
Lines should not have trailing whitespace.

Moya.swift
352
Lines should not have trailing whitespace.

Moya.swift
362
Lines should not have trailing whitespace.

Moya.swift
375
Lines should not have trailing whitespace.

Moya.swift
388
Lines should not have trailing whitespace.

Moya.swift
413
Lines should not have trailing whitespace.

Moya.swift
414
Lines should not have trailing whitespace.

Moya.swift
485
Lines should not have trailing whitespace.

Moya.swift
497
Lines should not have trailing whitespace.

Moya.swift
237
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
399
Else and catch should be on the same line, one space after the previous declaration.

Moya.swift
182
Function should have complexity 10 or less: currently complexity equals 11

Moya.swift
499
File should contain 400 lines or less: currently contains 499

Moya+ReactiveCocoa.swift
72
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
83
Lines should not have trailing whitespace.

Moya+ReactiveCocoa.swift
89
Lines should not have trailing whitespace.

Moya+RxSwift.swift
48
Opening braces should be preceded by a single space and on the same line as the declaration.

Moya+RxSwift.swift
46
Lines should not have trailing whitespace.

Moya+RxSwift.swift
58
Lines should not have trailing whitespace.

Moya+RxSwift.swift
63
Lines should not have trailing whitespace.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
71
Opening braces should be preceded by a single space and on the same line as the declaration.

Observable+Moya.swift
62
Force unwrapping should be avoided.

Observable+Moya.swift
55
Lines should not have trailing whitespace.

Observable+Moya.swift
58
Lines should not have trailing whitespace.

Observable+Moya.swift
64
Lines should not have trailing whitespace.

Observable+Moya.swift
67
Lines should not have trailing whitespace.

Errors

File
Line
Reason

Moya.swift
233
Prefer checking isEmpty over comparing count to zero.

Moya.swift
233
Prefer checking isEmpty over comparing count to zero.

Moya.swift
233
Prefer checking isEmpty over comparing count to zero.

Moya.swift
233
Prefer checking isEmpty over comparing count to zero.

  Generated by :no_entry_sign: danger

Executed 104 tests, with 0 failures (0 unexpected) in 4.819 (4.971) seconds

To reviewers: use the commits, not the entire files diff, because the commits are organized in a way that makes it easy to see what was changed.

This looks great, going to merge. @colinta thanks for your really rapid response time and quality code!
Just realized that now that #537 is merged, we'll continue to get code coverage reports on builds without changelog entires 👍


Fix links

[ ]	aspnetcore/security/data-protection/extensibility/core-crypto.md	Illegal link: [automatic key rolling](../implementation/key-management.md#data-protection-implementation-key-management) -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	160	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/core-crypto.md	Illegal link: [automatic key rolling](../implementation/key-management.md#data-protection-implementation-key-management) -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	172	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [key management](../implementation/key-management.md#data-protection-implementation-key-management) -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	20	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [IAuthenticatedEncryptor](core-crypto.md#data-protection-extensibility-core-crypto-iauthenticatedencryptor) -- missing bookmark. The file security/data-protection/extensibility/core-crypto.md doesn't contain a bookmark named data-protection-extensibility-core-crypto-iauthenticatedencryptor.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	37	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [IAuthenticatedEncryptor](core-crypto.md#data-protection-extensibility-core-crypto-iauthenticatedencryptor) -- missing bookmark. The file security/data-protection/extensibility/core-crypto.md doesn't contain a bookmark named data-protection-extensibility-core-crypto-iauthenticatedencryptor.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	41	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [key storage format document](../implementation/key-storage-format.md#data-protection-implementation-key-storage-format) -- missing bookmark. The file security/data-protection/implementation/key-storage-format.md doesn't contain a bookmark named data-protection-implementation-key-storage-format.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	123	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [key storage providers document](../implementation/key-storage-providers.md#data-protection-implementation-key-storage-providers) -- missing bookmark. The file security/data-protection/implementation/key-storage-providers.md doesn't contain a bookmark named data-protection-implementation-key-storage-providers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	135	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [key encryption at rest document](../implementation/key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	147	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/extensibility/key-management.md	Illegal link: [configure this globally](../configuration/machine-wide-policy.md#data-protection-configuration-machinewidepolicy) -- missing bookmark. The file security/data-protection/configuration/machine-wide-policy.md doesn't contain a bookmark named data-protection-configuration-machinewidepolicy.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	176	10/13/2017 12:54:43
[x]	aspnetcore/security/data-protection/implementation/authenticated-encryption-details.md	Illegal link: [specific to the encryptor encapsulated by this key](subkeyderivation.md#data-protection-implementation-subkey-derivation) -- missing bookmark. The file security/data-protection/implementation/subkeyderivation.md doesn't contain a bookmark named data-protection-implementation-subkey-derivation.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	31	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/context-headers.md	Illegal link: [subkey derivation process](subkeyderivation.md#data-protection-implementation-subkey-derivation) -- missing bookmark. The file security/data-protection/implementation/subkeyderivation.md doesn't contain a bookmark named data-protection-implementation-subkey-derivation.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	27	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-encryption-at-rest.md	Illegal link: [employs a heuristic](../configuration/default-settings.md#data-protection-default-settings) -- missing bookmark. The file security/data-protection/configuration/default-settings.md doesn't contain a bookmark named data-protection-default-settings.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	19	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-encryption-at-rest.md	Illegal link: [specify an explicit key storage mechanism](key-storage-providers.md#data-protection-implementation-key-storage-providers) -- missing bookmark. The file security/data-protection/implementation/key-storage-providers.md doesn't contain a bookmark named data-protection-implementation-key-storage-providers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	22	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-immutability.md	Illegal link: [automatic key generation](key-management.md#data-protection-implementation-key-management) -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	21	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-immutability.md	Illegal link: [The default key lifetime](key-management.md#data-protection-implementation-key-management) -- missing bookmark. The file security/data-protection/implementation/key-management.md doesn't contain a bookmark named data-protection-implementation-key-management.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	23	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-immutability.md	Illegal link: [The key encryption at rest mechanism](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	25	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-immutability.md	Illegal link: [The algorithmic information contained within the key](../configuration/overview.md#data-protection-changing-algorithms) -- missing bookmark. The file security/data-protection/configuration/overview.md doesn't contain a bookmark named data-protection-changing-algorithms.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	27	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-management.md	Illegal link: [override this behavior](../consumer-apis/dangerous-unprotect.md#data-protection-consumer-apis-dangerous-unprotect) -- missing bookmark. The file security/data-protection/consumer-apis/dangerous-unprotect.md doesn't contain a bookmark named data-protection-consumer-apis-dangerous-unprotect.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	29	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-management.md	Illegal link: [disabled automatic key generation](../configuration/overview.md#data-protection-configuring-disable-automatic-key-generation) -- missing bookmark. The file security/data-protection/configuration/overview.md doesn't contain a bookmark named data-protection-configuring-disable-automatic-key-generation.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	42	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-management.md	Illegal link: [In-box key storage providers](key-storage-providers.md#data-protection-implementation-key-storage-providers) -- missing bookmark. The file security/data-protection/implementation/key-storage-providers.md doesn't contain a bookmark named data-protection-implementation-key-storage-providers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	83	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-management.md	Illegal link: [In-box key encryption at rest providers](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest-providers) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest-providers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	85	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-ephemeral.md	Illegal link: [purpose](../consumer-apis/purpose-strings.md#data-protection-consumer-apis-purposes) -- missing bookmark. The file security/data-protection/consumer-apis/purpose-strings.md doesn't contain a bookmark named data-protection-consumer-apis-purposes.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	21	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-format.md	Illegal link: [encryption of secrets at rest is enabled](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	66	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-providers.md	Illegal link: [employs a heuristic](../configuration/default-settings.md#data-protection-default-settings) -- missing bookmark. The file security/data-protection/configuration/default-settings.md doesn't contain a bookmark named data-protection-default-settings.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	19	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-providers.md	Illegal link: [specify an explicit key encryption mechanism](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest-providers) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest-providers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	22	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-providers.md	Illegal link: [Windows DPAPI](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	36	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-providers.md	Illegal link: [X.509 certificate](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	36	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/key-storage-providers.md	Illegal link: [Windows DPAPI](key-encryption-at-rest.md#data-protection-implementation-key-encryption-at-rest) -- missing bookmark. The file security/data-protection/implementation/key-encryption-at-rest.md doesn't contain a bookmark named data-protection-implementation-key-encryption-at-rest.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	84	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/subkeyderivation.md	Illegal link: [prepend the magic header and key id](authenticated-encryption-details.md#data-protection-implementation-authenticated-encryption-details) -- missing bookmark. The file security/data-protection/implementation/authenticated-encryption-details.md doesn't contain a bookmark named data-protection-implementation-authenticated-encryption-details.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	63	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/implementation/subkeyderivation.md	Illegal link: [to support agility](context-headers.md#data-protection-implementation-context-headers) -- missing bookmark. The file security/data-protection/implementation/context-headers.md doesn't contain a bookmark named data-protection-implementation-context-headers.	Postprocess.HandlePostProcessorsWithIncremental.HandlePostProcessors.Processing html.ValidateBookmark	74	10/13/2017 12:54:43
[ ]	aspnetcore/security/data-protection/introduction.md	Illegal link: [compatibility](compatibility/replacing-machinekey.md#compatibility-replacing-machinekey) -- missing bookmark. The file security/data-protection/compatibility/replacing-machinekey.md doesn't contain a bookmark named compatibility-replacing-machinekey.

How come I don't see the above warnings in my last build report?
CC: @scottaddie

How come I don't see the above warnings in my last build report?

build reports are sporadic.

@spottedmahn I don't consistently see them either.


Improve mulit-language support & add Chinese translation file

/flyto command is not usable, but it shouldn't be my fault.

Many thanks! And no, that's not your fault. It's a bug I accidentally introduced in the new version.


fix: format dates en-US, keep history tab open on account page sidebar, copy updates

Description
The copy updates include:

Changed text at bottom on account overview page to "No Active Positions" instead of "No Balances Found"
Changed pagination text to Page 1, Page 2 e.t.c instead of x of y transactions

How has this been tested?
Types of changes

[ ] Technical Debt (non-breaking change which removes unused code/assets)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The related ClickUp task has been linked to this PR
[x] The person creating the pull request is listed in "Assignees"
[ ] Change requires updated documentation

Screenshots or Loom Video (optional):

Task linked: CU-86cu6nqbh Perps v2 Bugs


Profile Dropdown on Desktop

As a logged in user, I have no way to add an organization or view my org. profiles on Desktop.
Current:
As a user, if I am logged in on Desktop and click on Profile at the top right, I am taken to my User (Individual) Profile
Expected:
As a user, if I am logged in on Desktop and click on Profile on the top right:

Dropdown should pop up with the following options:
a. My Profile--> Redirects you to the User (Individual) Profile
b. "Org" Profile--> Redirects you to the "View Org. Profile" page for any organizations you've associated with that user. They could have many orgs associated with them so each one needs to be listed out in the dropdown and should redirect you to that org's profile page
c. "Add Organization"- Redirects you to the "Create Org. Profile" page and lets you create a new organization profile. Once that organization has been created, it should then show up in the dropdown
d. Nice to Have: Logout button (currently in Desktop) it is in the top right menu but it would be nice to have it in this dropdown instead

@joshmorel and @robinv85 , created this ticket to address the profile nav button issue for org. profiles on desktop.
Would it make sense to have @MohamedEl1 take this on?

@MohamedEl1 @vikjoshi should we put this in progress?

@manualzuru , yes it should be. Just moved it


SetFromRespose not working on Android

I'm using cookieManager to get cookies and store them, Then I want to set them back to my Url. Here is my code which is working perfect on iOS but when I setFromResponse on Android it doesn't work properly!
Here is my code:
componentDidMount() {
AsyncStorage.getItem('cookie')
.then(d => {
if (d) {
CookieManager.setFromResponse(
baseUrl,
d,
).finally(() => this.setState({loading: false}));
}
})
.finally(() => this.setState({loading: false}));
}
onMessage = ({nativeEvent: {data}}) => {
if (data.includes('user-login')) {
AsyncStorage.setItem('cookie', data);
CookieManager.setFromResponse(baseUrl, data)
.then(
console.log.bind(
'Done',
),
)
.catch(console.log.bind(console, 'Failed'));
}
};

Having the same issue

+1

Works when debugging is turned on

Is there any updates on this issue? Debugging turned off or on same result. Is there work in progress on this issue?


Add Hyper Backup

This PR will add Hyper Backup related functionalities.
This first version only contains read actions, because of missing api documentation, implementation of write functions needs more time to evaluate how the backup api works.

Can you propose your PR on the new repo ?
--> https://github.com/hacf-fr/synologydsm-api
Thanks

new PR created hacf-fr/synologydsm-api#4


Add Decimal support for In, InSet, AtLeastNNonNulls, GetArrayItem, GetStructField, and GenerateExec

Adds in decimal support for some things low on this list in #42 but can be supported without any changes to cudf.

build


how to draw the cover picture?

how to draw the cover picture? excuse me, for the  serious curious about your logo of BERT-of-Theseus.  With some advanced technology or just use Photoshop?

LoL just Photoshop with some filters. No magic.


Array compression fails for non-native byte order

Array compression fails for non-native byte order, for example:
import asdf
import numpy as np

with asdf.AsdfFile() as af:
  af["array"] = np.arange(1024, dtype='>i2')
  af.write_to("test.asdf", all_array_compression='zlib')

results in this error:
ValueError: memoryview: destination format must be a native single character format prefixed with an optional '@'

The weird thing is that memoryview support non-native endian formats, just not casting to them:
import numpy as np
a = np.ones(10, dtype='>i2')
m = memoryview(a)
print(m.format)
m.cast(m.format)

>h

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-24-4c86e9d5451d> in <module>
      3 m = memoryview(a)
      4 print(m.format)
----> 5 m.cast(m.format)

ValueError: memoryview: destination format must be a native single character format prefixed with an optional '@'

So... I think the best solution is probably just to do a quick round-trip to Numpy to coerce the right byte order and shape:
a = np.ones((3,5), dtype='>i2')
m = memoryview(a)
m = memoryview(np.frombuffer(m, dtype=m.format))
print(m.format, m.shape)

>h (15,)


Default to miq_messaging for event_handler

picking up and continuing from https://github.com/ManageIQ/manageiq/pull/21361
set Kafka as the default messaging_type for events

i.e.
nasarkhan@Nasars-MacBook-Pro manageiq % kafka-console-consumer --bootstrap-server localhost:9092 --topic manageiq.ems --from-beginning
{"event_type":"test_action","source":"IBMCloud-VPC","username":"nasar123","ems_id":1,"ems_ref":"abc","timestamp":"1234","vm_uid_ems":"vm","vm_ems_ref":"vm_ref"}
{"ems_ref":"event-ref","ems_id":34000000000941,"event_type":"STUFF_HAPPENED"}

Depends on:

[ ] https://github.com/ManageIQ/manageiq-schema/pull/655

@miq-bot assign @agrare
@miq-bot add_labels enhancement

@miq-bot cross-repo-tests https://github.com/ManageIQ/manageiq-schema/pull/655

@agrare ready for review

I'm wondering if we need the schema changes at all.  I don't think there's an expectation of upgrading prototypes as being supported.


⚠ Bofrost.es has degraded performance

In 0515333, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1587 ms

Resolved: Bofrost.es performance has improved in ea43548 after 8 minutes.


Fix TCP connections on python 2

On python 2 socket.create_connection requires the port to be an int.
I'm not overly concerned about Python 2 support. Indeed I'm mostly using Python 3. I just happened to hit on this while testing some other code on Python 2.

I signed it!

Coverage increased (+0.05%) to 43.613% when pulling 2e299b82003e62aa4309ccca485d1a4493ce4027 on embray:python2/tcp-port into d9b94b2dda555c14674c19806debb8449c0e9652 on google:master.


TypeError: page.removeListener is not a function

💬 Questions and Help
Test suite failed to run
TypeError: page.removeListener is not a function
at PuppeteerEnvironment.teardown (node_modules/jest-environment-puppeteer/lib/PuppeteerEnvironment.js:158:12)
at runMicrotasks (<anonymous>)

I'm getting this error after upgrading pptr related dependencies. Why was this issue closed? Is there a solution?

@pladaria I used the fixed version

@xrkffgg, what version should I switch to so that this error does not occur?


Feed MNE epochs

Great work from the author.
I understand spindles_detect  welcome mne raw data. In this case, I assume the raw is a continuous signal.
However, I wonder whether the YASA have the built-capability to process mne epochs data?

Hi @balandongiv,
Currently, YASA does not have the capability to work with MNE Epochs. This would require quite a complete refactoring of the function, and I suspect it would also greatly increase computation time. Essentially, we would have to add another nested for loop here in order to loop across all the epochs.
https://github.com/raphaelvallat/yasa/blob/30d2501638457cfa45113d8121a9a345ff75ac01/yasa/detection.py#L616
I'm also not sure how we could align the epochs with the hypnogram (which is defined on continuous data). My recommendation would therefore be to keep using the continuous data and create your custom "epoch" mask directly with the hypno and include parameters. For example, hypno could be a vector of integer where each integer refers to an epoch, e.g. hypno=[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, ... 17, 17, 17] and then you could use yasa.spindles_detect(raw, hypno, include=[1, 2, 3, ... 17]).
Thanks,
Raphael

Hi @raphaelvallat,
Sorry for not being that clear about my question. The case I have in mind is for continuous non-sleep EEG signal that has been epochs.
One way around that I can think of is by implement something like demonstrated in tutorial .
epochs = mne.read_epochs('some-epo.fif', preload=True, verbose=False)
sp=[yasa.spindles_detect ( epoch.get_data () [0, :, :], epochs.info['sfreq'], ch_names=epochs.ch_names, multi_only=False ) for epoch in epochs]

I see! In that case, I think that your solution is probably the best option. Otherwise, adding support for MNE epochs directly in the function would require extensive refactoring, most probably for no or little speed gain compared to your solution.


Migrate to new quartz v.4

Description
Quartz released v.4 and it looks very nice. Probably I can create my garden with this.

Now a new competitor comes up: https://github.com/oleeskild/Obsidian-Digital-Garden


"CallbackBatch.Add called outside batch for awake" error when joining an sdf world from a client

When joining from another client, the SDF world has to regenerate on the second client and spits errors.
Here's the link to the discord convo about it:https://discord.com/channels/833983068468936704/895597253316714497/1238311248710340720

Repo:
protected override void OnStart() 	{ 		if (Networking.IsHost) 		{ 			_ = Test(); 		} 	} 	public async Task Test() 	{ 		await World.AddAsync(new BoxSdf3D(Vector3.Zero, new Vector3(WorldSize, WorldSize, WorldHeight)), Grass); 		await OnWorldSpawned?.Invoke(this); 		await Task.Delay(1000); 		GameNetworkSystem.CreateLobby(); 	}

I also get this error as well. Not sure if its related:
 11:50:33   Generic  [1] Collection was modified; enumeration operation may not execute.

Pushed / published a possible fix.

Yeah still getting this issue. The world is not spawned in when the player joins. Some things seem to be more stable though.

Investigating now.

I haven't been able to repro this in my own project, I assume you're getting it in sbox-OpenWorld? Testing sdf_staging.scene I just get stuck on this:

How long should I wait?

Closing because the original error is fixed, feel free to open another ticket if you're still getting the new error.


Serial connection crashing esp32

Hello all,
I have found that both mppt and shunt connections to the esp32 restart the esp32 between 2 and 5 mins going.
I am using 2 separate esp32. one for mppt and one for shunt.
It is configured, i get all data out. I am only using rx and gnd on the esp32. I have tried different 4 different esp32 devices all restart.
I configured the device to show the uptime. As soon as i unplug the connector from controller and/or shunt, the devices does not restart.
Any thoughts on what this could be?
Thanks for any input.
logger:
baud_rate: 0
uart:
id: uart_bus
#tx_pin: GPIO01  #D8 Not connected! The communication is read-only
rx_pin: GPIO3  #D7 Connect this this GPIO and GND to the MPPT charger
baud_rate: 19200
stop_bits: 1
data_bits: 8
parity: NONE
rx_buffer_size: 256
victron:
id: victron0
uart_id: uart_bus

[09:55:46][D][uart_debug:158]: <<< "\x88\x98\xA4\b\xC4\xCF\x1FJ\b\xC4\xCE\x1F\x88\x98\x10\x11\b\xEE\xA4\x8C\x04\x10JJJJ\f\xCE\xA4\f\f\x1D\f\f\x10DH\x88\xC4L\x1A:\x88Z\xBC\xC4L\x1AJ\f\x94\x04\b\xC4\xDC\xDD\xAC\xB5\x8C\xBC9!\xDC"
[09:55:46][W][victron:044]: Last transmission too long ago.
[09:55:47][D][uart_debug:158]: <<< "\f\xD6\xA4\xA6\x8A\xA8\xAC\x8C\xD8\xF3\x84\xA7\x8A\x06\xBE>\xE8\xA4\n"
[09:55:47][D][uart_debug:158]: <<< "\x88\x98\xA4\b\xC4\xCF\x1FzJ:\xC8\xEE\xBC\xC4\b\x14\f\x00\x1F:\xB8\x1E\xCAJJJJ\f\xCE\xA4\f\f\x1D\f\f\x10DH\x88\xC4L\x1A:\x88Z\xBC\xC4L\x1AJ\f\x94\x04\b\xC4\xDC\xDD\xAC\xB5\x8C\xBC9!\xD4"
[09:55:47][W][victron:044]: Last transmission too long ago.
[09:55:48][D][uart_debug:158]: <<< "\f\xD6\xA4\xA6\x8A\xA8\xAC\x8C\xD8\xF3\x84\xA7\x8A\x06\xBE>\xE8\xA4\n"
[09:55:48][D][uart_debug:158]: <<< "\x88\x98\xA4\xA5\xC4\xCF\x1Fzz:\xC8\xEE\xBC\xC4\b\x14\f\x00\x1F:\xB8\x1E\xCAJJJJ\f\xCE\xA4\f\f\x1D\f\f\x10DH\x88\xC4L\x1A:\x88Z\xBC\xC4L\x1AJ\f\x94\x04\b\xC4\xDC\xDD\xAC\xB5\x8C\xBC9!\xC4"
[09:55:48][W][victron:044]: Last transmission too long ago.

Hi, how do you resolve the power supply for esp32? external source or stepdown from the battery?

Hi. Power is a separate power supply. Step down buck to 5v. 3amp.

OK ... so disconnect GND from the Ve.Direct port and leave only 1 pin connected for communication

still restarts at 154s

"ve.direct" is set for communication only? in mppt or smart shunt (switch or menu)

still restarts at 154s

Please send me your sketch

I have left for the last few days. When i had the web server of the device active, and web page open to the esp32, it seemed to keep restarting. I closed these tabs and used home assistant to get the uptime. It has been up for a couple days. SO, i can only assume that having the esp32 web server open on a browser causes some type of problem and restarts the esp32.
Anyway looks like things are working ok now. Thanks for all the help!!!

Please try to avoid the web server. It's the most resource expensive component of esphome.


Error: failed to send Alerta message. Alerta is not enabled

Hello.
I have a problem with sending alerts to Alerta.
kapacitord version:
[run] 2016/06/22 16:59:03 I! Kapacitor starting, version 0.13.1, branch master, commit ae7dde3aa467c46c06a5a2058a80c6125203f599
[run] 2016/06/22 16:59:03 I! Go version go1.6.2, GOMAXPROCS set to 4
[srv] 2016/06/22 16:59:03 I! Kapacitor hostname: localhost
[srv] 2016/06/22 16:59:03 I! ClusterID: a85dd721-b29c-4694-8f12-e9f1251cba0d ServerID: 06906437-7753-4855-9b34-a98e4127c877
[task_master] 2016/06/22 16:59:03 I! opened
[srv] 2016/06/22 16:59:03 D! opening service: *udf.Service
[srv] 2016/06/22 16:59:03 D! opened service: *udf.Service
[srv] 2016/06/22 16:59:03 D! opening service: *deadman.Service
[srv] 2016/06/22 16:59:03 D! opened service: *deadman.Service
[srv] 2016/06/22 16:59:03 D! opening service: *influxdb.Service
[influxdb] 2016/06/22 16:59:03 I! linking subscriptions
[udp:_internal.monitor] 2016/06/22 16:59:03 E! Failed to set up UDP listener at address <IP_ADDRESS>:33063: listen udp <IP_ADDRESS>:33063: bind: address already in use
[influxdb] 2016/06/22 16:59:03 E! failed to start listener: listen udp <IP_ADDRESS>:33063: bind: address already in use
[udp:test.default] 2016/06/22 16:59:03 I! Started listening on UDP: <IP_ADDRESS>:47071
[influxdb] 2016/06/22 16:59:03 I! started UDP listener for test default
[srv] 2016/06/22 16:59:03 D! opened service: *influxdb.Service
[srv] 2016/06/22 16:59:03 D! opening service: *storage.Service

log:
[batch_cpu_alert:log4] 2016/06/22 17:05:57 I!  {CPUCpuUtil  2016-06-15 09:23:00 +0000 UTC map[] [{2016-06-15 09:23:00 +0000 UTC map[value:50.0792] map[]}]}
[batch_cpu_alert:alert3] 2016/06/22 17:05:57 E! failed to send Alerta message. Alerta is not enabled
[batch_cpu_alert:alert2] 2016/06/22 17:06:57 E! failed to send Talk message. Talk is not enabled

task:
var data = batch
     |query('''
         SELECT "value"
         FROM "test"."default"."CPUCpuUtil"
         WHERE "host" = 'dc1-cscsdev' AND "class" = 'CPU'
     ''')
        .period(1m)
        .every(1m)
        .offset(621777s)
    data
        |alert()
            .crit(lambda: "value" >  50.0)
            // Whenever we get an alert write it to a file.
            .log('/tmp/alerts.log')
            .talk()
    data
        |alert()
            .crit(lambda: "value" >  50.0)
            .alerta()
                .resource('Hostname or service')
                .event('Something went wrong')
                .group('Dev. Servers')
    data
        |log()

Started with command:
sudo kapacitor define batch_cpu_alert -type batch -tick kapacitor_rules/cpu_alert.tick -dbrp test.default
kapacitord.conf:
hostname = "localhost"
data_dir = "/var/lib/kapacitor"

[http]
  bind-address = ":9092"
  auth-enabled = false
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = false
  https-certificate = "/etc/ssl/kapacitor.pem"
  shutdown-timeout = "10s"

[replay]
  dir = "/var/lib/kapacitor/replay"

[storage]
  boltdb = "/var/lib/kapacitor/kapacitor.db"

[task]
  dir = "/var/lib/kapacitor/tasks"
  snapshot-interval = "1m0s"

[[influxdb]]
  enabled = true
  name = "localhost"
  default = true
  urls = ["http://localhost:8086"]
  username = "root"
  password = "Fou5Eigh"
  ssl-ca = ""
  ssl-cert = ""
  ssl-key = ""
  insecure-skip-verify = false
  timeout = "0"
  disable-subscriptions = false
  udp-buffer = 1000
  udp-read-buffer = 0
  startup-timeout = "0"
  [influxdb.subscriptions]
  [influxdb.excluded-subscriptions]

[logging]
  file = "/var/log/kapacitor/kapacitor.log"
  level = "INFO"

[collectd]
  enabled = false
  bind-address = ":25826"
  database = "collectd"
  retention-policy = ""
  batch-size = 1000
  batch-pending = 5
  batch-timeout = "10s"
  read-buffer = 0
  typesdb = "/usr/share/collectd/types.db"

[opentsdb]
  enabled = false
  bind-address = ":4242"
  database = "opentsdb"
  retention-policy = ""
  consistency-level = "one"
  tls-enabled = false
  certificate = "/etc/ssl/influxdb.pem"
  batch-size = 1000
  batch-pending = 5
  batch-timeout = "1s"
  log-point-errors = true

[smtp]
  enabled = false
  host = "localhost"
  port = 25
  username = ""
  password = ""
  no-verify = false
  global = false
  state-changes-only = false
  from = ""
  idle-timeout = "30s"

[opsgenie]
  enabled = false
  api-key = ""
  url = "https://api.opsgenie.com/v1/json/alert"
  recovery_url = "https://api.opsgenie.com/v1/json/alert/note"
  global = false

[victorops]
  enabled = false
  api-key = ""
  routing-key = ""
  url = "https://alert.victorops.com/integrations/generic/20131114/alert"
  global = false

[pagerduty]
  enabled = false
  url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json"
  service-key = ""
  global = false

[sensu]
  enabled = false
  addr = "sensu-client:3030"
  source = "Kapacitor"

[slack]
  enabled = false
  url = ""
  channel = ""
  global = false
  state-changes-only = false

[hipchat]
  enabled = false
  url = "https://subdomain.hipchat.com/v2/room"
  token = ""
  room = ""
  global = false
  state-changes-only = false

[alerta]
  # Configure Alerta.
  enabled = true
  # The Alerta URL.
  url = "http://localhost:4080/api"
  # Default authentication token.
  token = "BNQ7rSEV9JvZ5PvkYCHQh5SWYB3ME-WwUYthI8xE"
  # Default environment.
  environment = "test"
  # Default origin.
  origin = "kapacitor"

[reporting]
  enabled = true
  url = "https://usage.influxdata.com"

[stats]
  enabled = true
  stats-interval = "10s"
  database = "_kapacitor"
  retention-policy = "default"
  timing-sample-rate = 0.1
  timing-movavg-size = 1000

[udf]
  [udf.functions]

[deadman]
  interval = "10s"
  threshold = 0.0
  id = "node 'NODE_NAME' in task '{{ .TaskName }}'"
  message = "{{ .ID }} is {{ if eq .Level \"OK\" }}alive{{ else }}dead{{ end }}: {{ index .Fields \"collected\" | printf \"%0.3f\" }} points/INTERVAL."
  global = false

[talk]
  enabled = false
  url = "https://jianliao.com/v2/services/webhook/uuid"
  author_name = "Kapacitor"

It looks like you have things configured correctly. Can you include the entire startup log? From the first message to the message about listening for signals.

Thank you for the reply, I have already configured kapacitor from docker. And I think you can close this issue.
Any way log output somehow changed:
[run] 2016/06/30 14:07:34 I! Kapacitor starting, version 0.13.1, branch master, commit ae7dde3aa467c46c06a5a2058a80c6125203f599
[run] 2016/06/30 14:07:34 I! Go version go1.6.2, GOMAXPROCS set to 4
[srv] 2016/06/30 14:07:34 I! Kapacitor hostname: localhost
[srv] 2016/06/30 14:07:34 I! ClusterID: a85dd721-b29c-4694-8f12-e9f1251cba0d ServerID: 06906437-7753-4855-9b34-a98e4127c877
[task_master] 2016/06/30 14:07:34 I! opened
[srv] 2016/06/30 14:07:34 D! opening service: *udf.Service
[srv] 2016/06/30 14:07:34 D! opened service: *udf.Service
[srv] 2016/06/30 14:07:34 D! opening service: *deadman.Service
[srv] 2016/06/30 14:07:34 D! opened service: *deadman.Service
[srv] 2016/06/30 14:07:34 D! opening service: *influxdb.Service
[influxdb] 2016/06/30 14:07:34 I! linking subscriptions
[udp:_internal.monitor] 2016/06/30 14:07:34 E! Failed to set up UDP listener at address <IP_ADDRESS>:42699: listen udp <IP_ADDRESS>:42699: bind: address already in use
[influxdb] 2016/06/30 14:07:34 E! failed to start listener: listen udp <IP_ADDRESS>:42699: bind: address already in use
[udp:test.default] 2016/06/30 14:07:34 E! Failed to set up UDP listener at address <IP_ADDRESS>:48754: listen udp <IP_ADDRESS>:48754: bind: address already in use
[influxdb] 2016/06/30 14:07:34 E! failed to start listener: listen udp <IP_ADDRESS>:48754: bind: address already in use
[srv] 2016/06/30 14:07:34 D! opened service: *influxdb.Service
[srv] 2016/06/30 14:07:34 D! opening service: *storage.Service
[batch_cpu_alert:log3] 2016/06/30 14:08:30 I!  {CPUCpuUtil  2016-06-15 09:21:00 +0000 UTC map[] [{2016-06-15 09:21:00 +0000 UTC map[value:50.1522] map[]}]}
[batch_cpu_alert:alert2] 2016/06/30 14:08:30 E! failed to send alert data to Alerta: Post /alert?api-key=: unsupported protocol scheme ""
[batch_cpu_alert_complex_threshold:log7] 2016/06/30 14:08:31 I!  {CPUCpuUtil  2016-06-15 09:21:00 +0000 UTC map[] [{2016-06-15 09:21:00 +0000 UTC map[value:50.1522] map[]}]}
[batch_cpu_alert_complex_threshold:alert6] 2016/06/30 14:08:31 E! failed to send alert data to Alerta: Post /alert?api-key=: unsupported protocol scheme ""

From working kapacitor I saw that there was message:
[srv] 2016/06/23 10:02:44 D! opening service: *alerta.Service
[srv] 2016/06/23 10:02:44 D! opened service: *alerta.Service

but me broken kapacitor didn't log such messages.


Throttling occurring with 429 error code

Good day, we are experiencing throttling issues with SharePoint utilising Logicapps, the issue appears to occur from the back end side which in this case is SharePoint. it is using the invokequery. We noted in the Microsoft throttling documentation that it may be possible to uitilise the Microsoft Graph API over CSOM and reset APi, if this is the case would this assist with throttling or would we need to explore another option.
I have been directed to report to the developers directly via here for further assistance in our request.
Kind regard

s

Good day
Any feedback on this request?
Kind regards

@BennieOL I would recommend that you read Microsoft's documentation on avoiding throttling or getting blocked in SharePoint Online. There are a number of headers which your developers can utilise in ensuring they aren't throttled by SharePoint Online, including the Retry-After and RateLimit headers to ensure that your requests do not trigger throttling. Additionally, you can decorate your HTTP traffic which will prioritise it over traffic which hasn't been properly decorated.

Good day Callum
Thank you, could you possibly answer the below or point us in the direction, we are trying to get to the root cause of the failures, some of the logic apps already have retry headers and it does not appear to be helping much.
With regards to the license count, does this include any free license tiers or does this only count towards paid for licenses or does this fall under a certain tier and above only?
Would it be possible to get any logs on SharePoint which shows #of calls, which will indicate if we hit throttling limit or where it is being hit
Kind regards

Have you also exhausted the other suggestions?

Reduce the number of concurrent requests
Avoid request spikes
Choose Microsoft Graph APIs over CSOM and REST APIs when possible
Use the Retry-After and RateLimit HTTP headers
Decorate your traffic so we know who you are

If you are building an application, ensure you are using app-only context to authenticate with SharePoint.

Hi
Is there any logs or any way to see where the usage is occurring on the back end?
Kind regards
Bennie Olivier | SharePoint Guru
Email: @.***
GTconsult accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
From: Callum Crowley @.>
Sent: Friday, 05 August 2022 15:14
To: SharePoint/sp-dev-docs @.>
Cc: Bennie Olivier @.>; Mention @.>
Subject: Re: [SharePoint/sp-dev-docs] Throttling occurring with 429 error code (Issue #8347)
It's very unlikely that throttling is being caused by ordinary users using SharePointhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fsharepoint%2Fdev%2Fgeneral-development%2Fhow-to-avoid-getting-throttled-or-blocked-in-sharepoint-online%23user-throttling&data=05|01|bennie%40gtconsult.com|cc41fd57c9814b8e502f08da76e4565e|61521a125ef94e8db880ea83395070fb|0|0|637953020350939153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=0LVwPs1TzedcWu9vtPxHjsGpltfyNt79LPWK5rVbbqg%3D&reserved=0.

Choose Microsoft Graph APIs over CSOM and REST APIs when possible

This means, that if you are building an application that consumes SharePoint resources, then use Microsoft Graph API endpoints over older CSOM/SharePoint REST APIs where possible.
If HTTP 429 errors are being returned to applications you have created, then it is indeed those apps which are causing the throttling. Your app needs to wait until the time specified by Retry-After header has elapsed before making the request again. Additionally, I would recommend exhausting the other options regarding e.g.

Reduce the number of concurrent requests
Avoid request spikes

Please read the documentation for information on decorated traffichttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fsharepoint%2Fdev%2Fgeneral-development%2Fhow-to-avoid-getting-throttled-or-blocked-in-sharepoint-online%23how-to-decorate-your-http-traffic&data=05|01|bennie%40gtconsult.com|cc41fd57c9814b8e502f08da76e4565e|61521a125ef94e8db880ea83395070fb|0|0|637953020350939153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=E636KAUj%2Fh%2F7X7t7STt3FrT0gaVhJp8d99bdwBnlMEI%3D&reserved=0, again this is related to third party applications or applications you have created decorating the traffic they send to SharePoint.

Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSharePoint%2Fsp-dev-docs%2Fissues%2F8347%23issuecomment-1206446014&data=05|01|bennie%40gtconsult.com|cc41fd57c9814b8e502f08da76e4565e|61521a125ef94e8db880ea83395070fb|0|0|637953020350939153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DgjSs3NNPJA1C959d%2B8WpWmusRG2w7ifpaRY2ApMR1s%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA2K2C6S4DM5NUANPLUUQEJ3VXUHQZANCNFSM55LFWK5Q&data=05|01|bennie%40gtconsult.com|cc41fd57c9814b8e502f08da76e4565e|61521a125ef94e8db880ea83395070fb|0|0|637953020350939153|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=yw69TWYMn%2FloFOuzD2Z3VQ8Lzh55OP22gmBID9Np97c%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

You will need to contact Microsoft support since we do not have access to the server side logs.


Don't run in background/system tray

I would prefer if the program did not stay idle in the background and system tray at all times. I understand that the startup time for the program/UI can be long (I mean several seconds), and that the solution to this problem was to keep it loaded in advance. But I think it would be much better to just have an .exe with a more-or-less instant startup time (particularly for auto-routing rules).
If this isn't a design direction you're interested in going in, feel free to close this issue, no worries — it's just my personal preference and user feedback.

I really want to do something like this. C#/.NET with WPF currently doesnt do AoT Compilation which is really useful for instant startup times. If I have time, I want to port Hurl to C++ .


Issue with help/ops/security/repairing-citadel/index.md

The syntax for this is wrong

$ kubectl logs -l istio=citadel -n istio-system

$ kubectl logs -l istio=citadel -n istio-system
Error: unknown flag: --identity-domain
2018-09-06T23:55:54.275232Z     error   unknown flag: --identity-domain
Usage:
  istio_ca [flags]
  istio_ca [command]

Available Commands:
  help        Help about any command
...

Weird... I upgraded from istio 1.0.1 to 1.0.2 today. Not sure of that did it, but this command is working now:
$ kubectl logs -l istio=citadel -n istio-system | tail -n3
2018-09-11T22:51:05.839816Z     error   Failed to create secret in attempt 2/3, (error: namespaces "namespace-c" not found)
2018-09-11T22:51:06.893571Z     error   Failed to create secret in attempt 3/3, (error: namespaces "namespace-c" not found)
2018-09-11T22:51:07.893796Z     error   Failed to create secret for service account "default"  (error: namespaces "namespace-c" not found), retries 3 times


Add support for className property at oAuthSignInButton

Just allow adding classes to oAuthSignInButton

Coverage remained the same at 96.956% when pulling 2bba05f3763aff3d224a4c49ffda86796832568b on hhhonzik:master into 7d0875e2770f7c5e9d390ce876bc26df72fd99b5 on lynndylanhurley:master.


[docs] Fix a typo in the content that Table normally takes

Fix a typo in the content that tables normally take

@eddiemonge Thanks!


LoadError: cannot load such file -- bump

I have this problem after execute this line:
bundle exec rake db:setup
any help???

Check : database.yml
and check pusher credentials
PUSHER_APP: YOUR_PUSHER_APP
PUSHER_KEY: YOUR_PUSHER_KEY
PUSHER_SECRET: YOUR_PUSHER_SECRET


no hash

Warning: wrong timestamps!
This dump file contains frames with wrong timestamps.
It prevent calculation of EAPOL TIMEOUT values.
That is a bug of the capturing/cleaning tool.
Information: limited dump file format detected!
This file format is a very basic format to save captured network data.
It is recommended to use PCAP Next Generation dump file format (or pcapng for short) instead.
The PCAP Next Generation dump file format is an attempt to overcome the limitations
of the currently widely used (but very limited) libpcap (cap, pcap) format.
https://www.wireshark.org/docs/wsug_html_chunked/AppFiles.html#ChAppFilesCaptureFilesSection
https://github.com/pcapng/pcapng
Information: radiotap header is missing!
Radiotap is a de facto standard for 802.11 frame injection and
reception. The radiotap header format is a mechanism to supply
additional information about frames, rom the driver to userspace
applications.
https://www.radiotap.org/
Information: missing frames!
This dump file does not contain BEACON or PROBERESPONSE frames.
This frames contain the ESSID which is mandatory to calculate a PMK.
It always happens if the capture file was cleaned or
it could happen if filter options are used during capturing.
That makes it impossible to recover the PSK.
Information: missing frames!
This dump file does not contain undirected proberequest frames.
An undirected proberequest may contain information about the PSK.
It always happens if the capture file was cleaned or
it could happen if filter options are used during capturing.
That makes it hard to recover the PSK.
Information: missing frames!
This dump file does not contain important frames like
authentication, association or reassociation.
It always happens if the capture file was cleaned or
it could happen if filter options are used during capturing.
That makes it hard to recover the PSK.
Information: no hashes written to hash files

It also happend to me. Unable to crack the password from hcappx file. Also

when converting pcap to hccapx through hashcat.net's tool, they say info is missing. it can be because of filtering.

I think it is no longer supported now. The code needs some changes.


Change MainActivity's example modifier

Changed the modifier to cellModifier to fit with the new version of PinInput.

Thanks @XAli-SHX 🙏


[web3torrent] client-seeding.test.ts failure

Sometimes the following error happens:
@statechannels/web3torrent: FAIL src/library/client-seeding.test.ts (30.214s)
@statechannels/web3torrent:   ● Seeding and Leeching › should perform the extended handshake between seeder and leecher
@statechannels/web3torrent:     : Timeout - Async callback was not invoked within the 10000ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 10000ms timeout specified by jest.setTimeout.Error:
@statechannels/web3torrent:       66 |   });
@statechannels/web3torrent:       67 |
@statechannels/web3torrent:     > 68 |   it('should perform the extended handshake between seeder and leecher', done => {
@statechannels/web3torrent:          |   ^
@statechannels/web3torrent:       69 |     seeder.seed(defaultFile as File, defaultSeedingOptions(), seededTorrent => {
@statechannels/web3torrent:       70 |       leecherA.add(seededTorrent.magnetURI, {store: MemoryChunkStore}, () => {
@statechannels/web3torrent:       71 |         expect(leecherA.torrents.length).toEqual(1);
@statechannels/web3torrent:       at new Spec (../../node_modules/@jest/core/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
@statechannels/web3torrent:       at Suite.Object.<anonymous>.describe (src/library/client-seeding.test.ts:68:3)
@statechannels/web3torrent:       at Object.<anonymous> (src/library/client-seeding.test.ts:26:1)

Recently seen during CI

Perhaps a related failure:
@statechannels/web3torrent: FAIL src/library/client-seeding.test.ts (27.619s)
@statechannels/web3torrent:   ● Seeding and Leeching › should be able to unchoke and finish a download
@statechannels/web3torrent:     : Timeout - Async callback was not invoked within the 10000ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 10000ms timeout specified by jest.setTimeout.Error:
@statechannels/web3torrent:       94 |   }, 10000);
@statechannels/web3torrent:       95 |
@statechannels/web3torrent:     > 96 |   it('should be able to unchoke and finish a download', async done => {
@statechannels/web3torrent:          |   ^
@statechannels/web3torrent:       97 |     seeder.seed(defaultFile as File, defaultSeedingOptions(), seededTorrent => {
@statechannels/web3torrent:       98 |       seeder.once(ClientEvents.PEER_STATUS_CHANGED, ({peerAccount}) => {
@statechannels/web3torrent:       99 |         seeder.once(ClientEvents.PEER_STATUS_CHANGED, ({torrentPeers}) => {
@statechannels/web3torrent:       at new Spec (../../node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
@statechannels/web3torrent:       at Suite.Object.<anonymous>.describe (src/library/client-seeding.test.ts:96:3)
@statechannels/web3torrent:       at Object.<anonymous> (src/library/client-seeding.test.ts:26:1)
@statechannels/xstate-wallet: {"level":50,"time":1589322356806,"pid":977,"hostname":"329f3f87b5a5","name":"xstate-wallet","error":"Couldn't find the signing key for any participant in wallet.","store":{"budgets":[],"channels":[],"ledgers":[],"nonces":[],"objectives":[],"privateKeys":[{"key":"0xC7549030ba16f2ddE742e64FE2065f72d0f2fdC4","value":"0xc5171022db944271485510cd81ab10c98e6e747f87d30330757d7c2c22c2d52d"}]},"callback":"() => __awaiter(this, void 0, void 0, function* () {\n            const addresses = participants.map(x => x.signingAddress);\n            const privateKeys = yield this.backend.privateKeys();\n          ...}","msg":"Transaction error"}

Has this happened recently @kerzhner ?

I have seen it happen this week. Haven't dug in yet.


Release version 1.8.0

This updates the changelog with #114 and bumps the version to 1.8.0, as this is a minor functional change
I'm not sure if the changelog should also contain #111 and #113, which were both landed since the last release?

This updates the changelog with #114 and bumps the version to 1.8.0, as this is a minor functional change
I'm not sure if the changelog should also contain #111 and #113, which were both landed since the last release?

#111 is not a functional change it is just a refactor so doesn't need included. #113 should be added

Okay, I've added reference to #113 in the changelog now


Error when installing crouton

Please paste the output of the following command here: sudo edit-chroot -all

name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20200724165050~master:08dac970
release: xenial
architecture: amd64
targets: xiwi,extension
host: version 13904.16.0 (Official Build) beta-channel octopus
kernel: Linux localhost 4.14.228-17533-gcb705c2f30e9 #1 SMP PREEMPT Mon Apr 26 22:01:05 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting  /mnt/stateful_partition/crouton/chroots/xenial...
Please describe your issue:
Whenever I try to install crouton, it gives me this error:
libcras/cras_client.h:2000:1: error: 'no_sanitize' attribute directive ignored [-Werror=attributes]
I've tried resetting this computer at least 4 times. Each time I reset, I remember to try the crouton install again, and time and time again, it gives me the same issue
If known, describe the steps to reproduce the issue:
try installing crouton on the computer just doesn't work for me

This is a known issue, please see the below issue and track it there -

Linux not installing saying something like CRAS #4450

Hope this helps,
-DennisLfromGA


OOPS-284 enable secret scan and sonarqube

this is a fork, as agreed it should be skipped regarding sonarqube and secret scan


Fix typo in msbuild-well-known-item-metadata.md

The following sentence has duplicated the word tasks:

Some user-defined metadata values have meaning to MSBuild, specific tasks tasks, ...

It should read:

Some user-defined metadata values have meaning to MSBuild, specific tasks, ...

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

Looks good; thanks @ericmutta.

Thanks for following up @ktoliver - as always! 👍


Allow specifying the $expand attribute on the client

See related issue https://github.com/Azure/azure-mobile-apps-net-client/issues/141

Closing this issue as it's over a year old and we are not adding new features in Azure Mobile Apps.


Targets are removed from LB service when LB Agents that failed to start(due to port conflict) gets recreated.

Server version - V0.20.1
Steps to reproduce the problem:
Set up has 3 hosts:
Create service1 and activate it.
Create LB service- LB1 with scale 3 for public port - 5555.
Link to service1.
Start LB1.
Create LB service- LB2 with scale 2 for public port - 5555.
Link to service1.
Start LB2.
It is stuck in "Activating" state (since there is no host where LB agent can be started with no port conflict).
Delete LB service - LB1.
I see an LB agent being started for LB2 and gets to "running" state.
But I don't see any haproxy config being applied to this LB Agent.
Targets of the LB are in the "removed" state.
mysql> select * from load_balancer_target where load_balancer_id=94;
+-----+------+--------------------+--------------------------------------+-------------+---------+---------------------+---------------------+---------------------+---------------+------------+-------------+------------------+------------+
| id  | name | kind               | uuid                                 | description | state   | created             | removed             | remove_time         | data          | ip_address | instance_id | load_balancer_id | account_id |
+-----+------+--------------------+--------------------------------------+-------------+---------+---------------------+---------------------+---------------------+---------------+------------+-------------+------------------+------------+
| 214 | NULL | loadBalancerTarget | 4cc9d8c4-6cf0-49fa-9e77-6250e14f0140 | NULL        | removed | 2015-05-14 20:02:19 | 2015-05-14 20:06:17 | 2015-05-14 20:07:17 | {"fields":{}} | NULL       |         106 |               94 |          5 |
| 215 | NULL | loadBalancerTarget | 225b09a4-f6af-4b7a-8f9d-6e87070b2cfa | NULL        | removed | 2015-05-14 20:02:19 | 2015-05-14 20:06:17 | 2015-05-14 20:07:17 | {"fields":{}} | NULL       |         107 |               94 |          5 |
+-----+------+--------------------+--------------------------------------+-------------+---------+---------------------+---------------------+---------------------+---------------+------------+-------------+------------------+------------+
2 rows in set (0.00 sec)
Service map is still active:
mysql> select * from service_consume_map where service_id=121;
+----+------+-------------------+--------------------------------------+-------------+--------+---------------------+---------+-------------+---------------+------------+---------------------+
| id | name | kind              | uuid                                 | description | state  | created             | removed | remove_time | data          | service_id | consumed_service_id |
+----+------+-------------------+--------------------------------------+-------------+--------+---------------------+---------+-------------+---------------+------------+---------------------+
| 46 | NULL | serviceConsumeMap | 74a97f58-c8b5-4bfa-888f-4d3401d47e15 | NULL        | active | 2015-05-14 20:02:19 | NULL    | NULL        | {"fields":{}} |        121 |                   2 |
+----+------+-------------------+--------------------------------------+-------------+--------+---------------------+---------+-------------+---------------+------------+---------------------+
1 row in set (0.00 sec)

Tested with server version - V0.20.4
Set up has 4 hosts:
Create service1 and activate it.
Create LB service- LB1 with scale 4 for public port - 5555.
Link to service1.
Start LB1.
Create LB service- LB2 with scale 2 for public port - 5555.
Link to service1.
Start LB2.
It is stuck in "Activating" state (since there is no host where LB agent can be started with no port conflict).
Delete LB service - LB1.
After this , I see LB2 service being activated successfully with 2 LB agents.
LB rules are functional


What is that best practice for making many deep changes in an immutable object?

Which is best practice out of these options (performance and style)?

Make the object immutable (deep), make all the changes, merge back into the original mutable object
Call setIn multiple times into the same reference
Build up an array of objects for a deep merge()

Thanks

I'm curious about this as well.  It just came up as we were looking to leverage this project within our Redux reducers.

today,  i do something like this:
//reducer.js
return state.merge({                 nestedObject: utils.updateNested(state.nestedObject, state.index, action.val),                 otherVal: {}             });
//utils.js
static updateNested(nestedObject, index, val) {         return nestedObject.updateIn(['list', index], (item) => {             return item.merge({                 attr1: val.,                 att2: undefined  // or other props in val                  });         });     }

I wish dot-delimited keys worked to have something like this:
state.deepMerge({
  "attr1": val,
  "attr2": undefined,
  "some.deep.attr": { otherVal },
  "some.other.deep": "awwww snap!",
});

That's what I dig about selectn, but that's just a selector lib.

Maybe something like immutable.js's withMutations() would be a nice addition to the api for this?

The withMutations function is used when we need to update a tree with a loop ? All changes are done first in a mutable object and at the end apply on the initial object ? I think if we can have a deepMerge function which one do something like withMutations it will be great.
I say that because in a large team, in a large application, some dev are not (javascript) expert and making the choice to use a withMutations or not can be tricky.

@jeffbski the origin of immutable data structures is in functional programming paradigm, and the whole thing is about not writing mutable code. You can check good functional languages like haskell, there are no things like mutable structures.


Pipe output of Expand-Archive to null

The output of Expand-Archive is quite verbose and can fill up the log files. At the least it's unfortunate to scroll past many lines of Expand-Archive output to get to the meat of the matter. Can you pipe the output of Expand-Archive to Out-Null?

Fixed by https://github.com/jhowardmsft/docker-w2wCIScripts/pull/16


upgrade grunt-karma dependency, fixes #23

Will merge when I get confirmation this works from either @mapsam or @bengolder
NOTE: You will have to delete your node_modules for this to work properly.
rm -rf node_modules

Works for me!
Running "jshint:files" (jshint) task
>> 2 files lint free.

Running "karma:single" (karma) task
27 07 2015 09:02:43.665:INFO [karma]: Karma v0.13.3 server started at http://localhost:9876/
27 07 2015 09:02:43.670:INFO [launcher]: Starting browser PhantomJS
27 07 2015 09:02:45.367:INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket 1LQ5DJdZYOqC43qmAAAA with id 92231728

  Wand
    ✓ should fail without any options
    ✓ should fail without an html element
    ✓ should fail with a bad html element
    ✓ should successfully initialize with a valid options

PhantomJS 1.9.8 (Mac OS X 0.0.0): Executed 4 of 4 SUCCESS (0.014 secs / 0.002 secs)
TOTAL: 4 SUCCESS

Done, without errors.


bug(radio-button): radio button with reactive FormControl not working correctly

Setting a [formControl] against a group of sui-radio-buttons causes the inputs to have attribute type=checkbox and the radiobuttons to lose their mutually exclusive grouping
http://plnkr.co/edit/2Q956uVhPZ2sqyvanJOe

This is a tricky one...
If you change the code sample to be <form class="ui form"> rather than a div the radio buttons work as expected. This is because the radio button group attaches itself to any form or NgForm on the page.
Is there a particular design reason there isn't a form element in your example, or was it just something you've been playing around with? Need to work out if there needs to be a better way of doing the groups, or whether a notice in the docs would suffice.

Thanks for your reply, I didnt realise it only worked with a form element but makes sense.
My actual code does use a form element, but wraps the radios with a custom form element which seems to be causing the problem. I think the default control value accessor may not be sufficient and I need to implement my own ControlValueAccessor. This plunkr is closer to what I'm actually trying to do.
http://plnkr.co/edit/XNQ4P1nNV6MjuBSYPYKp

In this instance, you can put <form ngNoForm class="grouped fields"> to make it work - does that suit your use case?

@trevordaniels just wanted to follow up here to see if there was anything that needed to be added to the next release to support your use case 😄

thanks @edcarroll, I tested your suggestion and it does work. It does not seem very intuitive or elegant to require nested forms to get radio buttons grouping if they belong to a child form component. I have implemented a custom value accessor in this case as it is a reusable component for me, but for adhoc radio groups is there another way to get them working?

Sorry missed this! So to make them work you can either use a plain old ngModel as that will group them together regardless, or if you can't use ngModel they have to be within a container component. I wonder if just making a directive that you can manually apply somewhere would work well?

I made working plunkr for an issue. The main thing was missing is [(ngModel)] which joins value between multiple radios.
http://plnkr.co/edit/gsMZw8UokN0NNyAKakGs?p=preview

Thanks @dev-fullstacktechnology , This just helped my case


netty-transport-native-kqueue-4.1.52.Final-osx-x86_64 jar  (and all previous versions) have a wrong Bundle-NativeCode on the manifest file

Expected behavior
The value should be:
Bundle-NativeCode: META-INF/native/libnetty_transport_native_kqueue_x8
6_64.jnilib; osname=MacOSX; processor=x86_64
Actual behavior
The value is:
Bundle-NativeCode: META-INF/native/libnetty_transport_native_kqueue_x8
6_64.jnilib; osname=MacOSX, processor=x86_64"
Steps to reproduce
check the MANIFEST.MF in the netty-transport-native-kqueue-4.1.52.Final-osx-x86_64 jar or any previous version

Thanks for the report... This should be fixed by https://github.com/netty/netty/pull/10865


Accuracy: always pass the delimiter to preg_quote() if not using /.

Reviewed usage of the preg_quote() function which should always be passed the delimiter if not using / to make sure the correct characters are being escaped.

Shouldn't there be a sniff for this? 😄

@JDGrimes It has been suggested before ;-) #632


Highlight HTML entities inside bold, italic, and strikethrough text

Added patterns to bold, italic, bold-italic, and strikethrough to highlight any HTML entities enclosed within.

Thanks! Great work :grinning:


bug(cheatcodes): readFile / readAddress not consistent depending of OS (Linux / Mac)

Context
i'm using this piece of code to persist contract addresses on a deploy script:
function updateContractAddressJson(string memory contractName, string memory __chainid, address __address) private returns (string memory outputObj1) {
        string memory deployments = vm.readFile("./contracts/broadcast/deployments.json");

        address contract31337 = deployments.readAddress(string.concat("$.",contractName, ".31337"));
        address contract1 = deployments.readAddress(string.concat("$.",contractName, ".1"));
        address contract80001 = deployments.readAddress(string.concat("$.",contractName, ".80001"));

         // [...]
        vm.serializeAddress(obj, "31337", contract31337);
         // [...]
        outputObj1 = vm.serializeAddress(obj, __chainid, __address);
        console.log(outputObj1);

}

to read/update the file ./contracts/broadcast/deployments.json:
{
  "DAOTreasury": {
    "1": "0x0000000000000000000000000000000000000020",
    "31337": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
    "80001": "0x0000000000000000000000000000000000000020"
  },
  "MockERC20": {
    "1": "0x0000000000000000000000000000000000000020",
    "31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
    "80001": "0xdaAe8d27687155dD49B7D6dBc33369fd00081255"
  }
}

Issue
I used to launch this script either from a linux PC(fedora) or from a macbook, and the json path is not interpreted the same depending of the OS the script runs from.

[!CAUTION]
in some case we need to have a prefix "$.", in some case not.

linux working code:
        address contract31337 = deployments.readAddress(string.concat("$.",contractName, ".31337"));

macos working code:
        address contract31337 = deployments.readAddress(string.concat(contractName, ".31337"));

Otherwise, I have this kind of error (sample running without the "$."prefix on linux):
    ├─ [0] VM::parseJson(<JSON file>, MockERC20.31337) [staticcall]
    │   └─ ← "path error:
$MockERC20.31337

As you can see, on linux we need to have the prefix "$.".
Is this something i'm missing or a bug ?

should be fixed with https://github.com/foundry-rs/foundry/pull/9107 by using new cheatcodes


javascript object properties and methods intellisense not properly

Does this issue occur when all extensions are disabled?: Yes/No
NO

VS Code Version: 1.72.2
OS Version: macOS 12.6

If the object IS NOT empty (has properties on it), then the suggestions ONLY show the object's properties, the func method will not shown
If the object  IS empty (not has any properties on it), then the func method could shown in the list
So is it a bug ? or how to show both properties and methods in the suggestion list?

This is intentional -- objects with more than zero properties are assumed to have a "fixed" shape upon initialization and further property assignments are considered to be likely errors. You can add a JS Doc comment with the expected type if you want the completion list to show a different set of properties than the initialization's.


after 'become' change user for single task

Hi,
I'm trying to change the executing user for a single task, but couldn't find anything related yet.
The user used to ssh to the server has sudo permissions and afterwards the deployment continues as www-data.
My host config
host('example.com')
    ->stage('stage')
    ->user('my-ssh-user-with-sudo')
    ->become('www-data')
...

This works well for all needed tasks, except reloading the webserver and fpm.
For these tasks I would need to become back to my 'my-ssh-user-with-sudo'-user.
This task fails, as the www-data user from the above config has now sudo permission (and should not have any, due to security aspects)
desc('Reload nginx and php-fpm');
task('custom:reload_server', function () {
    run('sudo service nginx reload ; sudo service php7.3-fpm reload');
});

Is there a way to un-become the prior user or to set a specific user for a task or run?
If possible I would like to avoid prefixing all my run commands with something like this
 run('sudo -u www-data {{bin/php}} do-something ');

You last example is actually okay. Really straightforward and verbose about what you want to do.

well, this would mean that I have to change all run tasks to run as the user I used to in my host configuration (->become('www-data')).
Ideally I would like to become my user that I used to login just for this task.
Something like
run('sudo -u www-data {{bin/php}} do-something ')->as('my-ssh-user-with-sudo');

as this is not available yet(?), it would alternatively help if I can reset the become-user, execute the necessary command and become back the prior user.
e.g.
desc('Reload nginx and php-fpm');
task('dcl:reload', function () {
    // currentHost shall represent the host that is currently used for this deployment
    // switching the user temporarely would help to execute command that require
    // sudo priviledges
    currentHost->become('my-ssh-user-with-sudo');

    // this run task shall then run as 'my-ssh-user-with-sudo'
    run('sudo service nginx reload ; sudo service php7.3-fpm reload');

    // switching back to the originally set 'become'-user to continue with the deployment
    // this user should not get any sudo priviledges
    currentHost->become('www-data');
});

Can I somehow change the host config/setting on the run?


Use new vector-tile based flatmap viewer.

FWIW, npm run build succeeds after doing npm install in src/flatmaps.
Where though is the server code??

Hi Dave, I am not developing on the master branch, please have a look at the branch scriptable. I have just got flatmaps updated there. The built artefact provides the UMD library for consumption and users would have to provide the endpoiints and the script for running this. I will close this pull request now as I have already done this in the scriptable branch.


More documentation for getJointJacobian

Hi ! This project doesn't usually accept pull requests on the main branch.
If this wasn't intentionnal, you can change the base branch of this PR to devel
(No need to close it for that). Best, a bot.


images inside text

Can this do images inside the text?  For example, for having emotes in a chat application alongside the text

Hi
I was not planning on adding images to this text editor, since I wanted this editor to be more Telegram-styled.
But if you share some examples with me of how other rich text editors handle images, maybe I will think about working on that

If we are talking about emotes - I will take a look into that. But for now I think adding links feature has more priority

Closing this issue since I thought that this should be a TEXT INPUT that copies Telegram's text input, not a TEXT EDITOR. Emotes, images and stuff should be dealt with separately from this library


0.13.1 Thank you!

Not really an issue, just wanted to say, the My Characters page is SO much better!  Thank you!

Thanks for the feedback and for the ideas! I am glad I could help.


QA alignment

Prepare an overview of the test strategy.
Review of Mithril test strategy with IOG QA team.

Meeting scheduled on Jun 20th with the QA team to follow up on the strategy.


[C416 unnecessary-comprehension] Suggests a fix leading to RecursionError

Rule unnecessary-comprehension (C416) suggests replacing comprehensions by the constructor instead. However, in some cases, when the replacement is done in code inside or called by __len__, it causes a recursion error.
After searching a bit on SO, the list constructor calls __len__ as an optimization when available, https://stackoverflow.com/questions/41474829/why-does-list-ask-about-len https://github.com/python/cpython/blob/67f6e08147bc005e460d82fcce85bf5d56009cf5/Objects/listobject.c#L1164
What I would expect:

(Easier) A mention of general cases where the rule is unsafe in the docs, rather than suggesting that the rule is unsafe only because of comments possibly lost
(Harder, but not absolutely required) Track if the change to calling list constructor is done inside the __len__ method of the same object that the list is called on.
(Hardest) Also track through function calls, not only inside the same method.

List of keywords searched:
C416, list len (all open and open closed issues for all keywords)
A stripped-down repro:

File is named: c416_recursionerror.py
The command you invoked: ruff check --isolated c416_recursionerror.py --select C416 --fix --unsafe-fixes

Take note that some other instances of the same problem in our project is wrapping some wxPython, not files, and can't directly be reshaped in a pythonic way easily, in order to store the items in the class and cache the length; it needs to iterate. Stripped down an easier case here, but the others had def __len__(self):  return len([layer for layer in self]) but I couldn't isolate it.
File c416_recursionerror.py

from abc import abstractmethod
from os import listdir
from os.path import join, isdir
import fnmatch

def is_valid(value, path, type):
    """Private function to check the correctness of a value."""
    return True

def return_bool(argument):
    return True

def always_true_for_repro():
    return True

class Mapset:
    def __init__(self, mapset="", location="", gisdbase=""):
        self.gisdbase = gisdbase
        self.location = location
        self.name = mapset

class LocationBase:
    """Location object ::

        >>> from grass.script.core import gisenv
        >>> location = Location()
        >>> location                                      # doctest: +ELLIPSIS
        Location(...)
        >>> location.gisdbase == gisenv()['GISDBASE']
        True
        >>> location.name == gisenv()['LOCATION_NAME']
        True

    ..
    """

    def __init__(self, location="", dbase_path="."):
        self.name = location
        self.path = join(dbase_path, self.name)

    # def __getitem__(self, mapset):
    #     if mapset in self.mapsets():
    #         return Mapset(mapset)
    #     raise KeyError("Mapset: %s does not exist" % mapset)

    def __iter__(self):
        lpath = self.path
        return (
            m
            for m in listdir(lpath)
            if (
                always_true_for_repro()
                or (isdir(join(lpath, m)) and is_valid(m, lpath, "MAPSET"))
            )
        )

    def __len__(self):
        return len(self.mapsets())

    @abstractmethod
    def mapsets(self, pattern=None, permissions=True) -> list[str]:
        """Return a list of the available mapsets.

        :param pattern: the pattern to filter the result
        :type pattern: str
        :param permissions: check the permission of mapset
        :type permissions: bool
        :return: a list of mapset's names
        :rtype: list of strings

        ::

            >>> location = Location()
            >>> sorted(location.mapsets())                # doctest: +ELLIPSIS
            [...]

        """

class LocationOk(LocationBase):
    def mapsets(self, pattern=None, permissions=True):
        mapsets = [mapset for mapset in self]  # Should add noqa: C416
        # mapsets = list(self)  # Causes RecursionError
        if permissions:
            mapsets = [mapset for mapset in mapsets if return_bool(mapset)]
        if pattern:
            return fnmatch.filter(mapsets, pattern)
        return mapsets

class LocationC416(LocationBase):
    def mapsets(self, pattern=None, permissions=True):
        # mapsets = [mapset for mapset in self]  # Should add noqa: C416
        mapsets = list(self)  # Causes RecursionError
        if permissions:
            mapsets = [mapset for mapset in mapsets if return_bool(mapset)]
        if pattern:
            return fnmatch.filter(mapsets, pattern)
        return mapsets

if __name__ == "__main__":
    print("in main")
    a = LocationOk()
    b = LocationC416()
    print(f"a is: {a!r}")
    print(f"a is: {b!r}")
    print(a.path)
    print(b.path)
    print(len(a))
    print(len(b))
    print("end main")

Ruff version:
$ ruff --version
ruff 0.6.9

Thanks for the detailed write up.
Extending the documentation seems reasonable.

@MichaReiser Can you assign this to me?

Sure. The goal isn't to detect recursions but to update the documentation


manually build aggregate state for unit testing

Is there a way to manually set the state of an aggregate instance? Currently I am defining and handling all the commands it takes to put an aggregate instance in a specific state. Instead is there a way to just assume it correctly arrived at that state (like passing in a snapshot) and then handle the event?

In theory yes

But it's a hack and I would not recommend it

You could try to set modelInitValues before handling a command...
something like require('./myaggr').modelInitValues = {};

maybe I'm thinking of this in the wrong way. How would you recommend setting up aggregates for testing individual commands? Is there a reference sample somewhere I could look at? Or is the accepted method just handling an entire list of events for a given scenario?

I do it always, like the integrationTests:  send a couple of commands...


Merge pull request #9 from PHI-WLU/development

The cover art. Choose which one you like most. Message me for original clip file.

Uploaded through the assets folder.


Lab2 River's notebook

@kyomc90 Hi, I just finished my lab 2 notebook, can you please take a look of it and upload yours?

@kyomc90 I think it would be better to plot those 5 graphs together, like what I did in my code, and it would also be helpful to avoid the subplot() mess. Other things are pretty good in my opinion.

2B - include discussion about how shape changes
3C - sigma10k = NaN
Your graphs all look great, all other prompts were addressed.

@sfzhu Here is my Lab 2 Notebook and the HTML version of it.

Could you export an HTML file in the future, it's much easier to check your answer.
Error in 1.C, code didn't work.
Problem 2, 3 and 4 are missing.


Docker api build 1.12.3 error

I'm following the Dockerfile build documentation, but it always returns an error message. It's working?
curl -v -X POST -H "Contet-Type:application/tar" --data-binary<EMAIL_ADDRESS>http://ip:porta/build?t=teste

About to connect() to IP port 2376 (#0)
Trying IP
Connected to IP (IP) port 2376 (#0)

POST /build?t=cuuu HTTP/1.1
User-Agent: curl/7.29.0
Host: IP:2376
Accept: /
Contet-Type:application/tar
Content-Length: 313
Content-Type: application/x-www-form-urlencoded

upload completely sent off: 313 out of 313 bytes
< HTTP/1.1 500 Internal Server Error
< Content-Type: application/json
< Server: Docker/1.12.3 (linux)
< Date: Thu, 12 Jan 2017 18:37:34 GMT
< Content-Length: 61
<
{"message":"Cannot locate specified Dockerfile: Dockerfile"}
Connection #0 to host IP left intact

The error is because the builder could not find Dockerfile in the tarball you uploaded.

@cpuguy83  This I understand, but I put all the ways and it did not work.

@cristhianbicca What is the content of the tarball?

@cpuguy83  Contains a Dockerfile file with
From centos7
RUN yum install httpd -y
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
I tried to put the file path also with the dockerfile option of the query parameters for example in: /opt/Dockerfile
But the same error happens

@cristhianbicca tarball would need to be a tree with Dockerfile at the root.

@cpuguy83  Yes, Dockerfile is the only file inside the correct tar?

Also maybe something wrong your header. Not sure if that would cause docker to do something different here.

@cpuguy83
Is there an example curl I can test that works?

@cristhianbicca Try your curl but fix the -H "Contet-Type:application/tar" which is incorrect.
-H 'Content-Type: application/tar'

@cpuguy83  I'm talking to the dockerfile parameter and not tar

@cristhianbicca You'll have to be more specific.
From your original post I see you are trying to post a tarball to the build endpoint which is failing because it can't find a file called ./Dockerfile in the posted tarball and also your content header is not correctly set.
Please try again with a corrected curl command and let's see the results.

Closing this because of age


analyze-schema-compression.py gets pg8000 zero-length delimited identifier at or near """"

Using ColumnEncodingUtility-v.9.3.4 with pg8000==1.11.0 (also tried newer pg8000)
When attempting to process any table with 1 or more sort key columns we get a
python $BIN_DIR/analyze-schema-compression.py  --db $DB --db-user $DBUSER --db-pwd $DBPWD --db-port $DBPORT --db-host $DBHOST --ssl-option true --analyze-schema $SCHEMALIST --analyze-table $TABLIST --do-execute true --output-file $LOG
Traceback (most recent call last):
File "/home/ec2-user/amazon-redshift-utils-master/src/ColumnEncodingUtility/analyze-schema-compression.py", line 436, in run_commands
cursor.execute(c)
File "/usr/local/lib/python2.7/site-packages/pg8000/core.py", line 892, in execute
self._c.execute(self, operation, args)
File "/usr/local/lib/python2.7/site-packages/pg8000/core.py", line 1849, in execute
self.handle_messages(cursor)
File "/usr/local/lib/python2.7/site-packages/pg8000/core.py", line 1988, in handle_messages
raise self.error
ProgrammingError: (u'ERROR', u'42601', u'zero-length delimited identifier at or near """"', u'90', u'/home/ec2-user/padb/src/pg/src/backend/parser/parser_scan.l', u'707', u'yyerror')
It works for any schema/table that has no defined sort key.

This issue looks to be addressed by this recent commit by kevinviraudDH:
https://github.com/awslabs/amazon-redshift-utils/pull/364/commits/b25276c842f70bb7b7d0d09bbaad584229efbd09

Closed due to commit as noted above


Editor dissapears

Hi,
today I got a new interesting bug, when adding following valid html code in a page or widget
`
Impressum & Datenschutz - Kontakt
`
the editing page dosn't load after reloading the site so I had to remove the content in the db to get access to the editor again. The site ist empty only the menubar is shown.
Even with debugging enabled I got no error, only a white page came up. But after some trying I found out, that the single quotes ' are not escaped well by pagekit, after inserting double quotes " it worked again as expected.
https://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2
https://xkcd.com/327/

I looked into this. The editor now no longer disappears. https://github.com/pagekit/pagekit/commit/49b68d2676561f60ebae9ed6b5942d7dd14e1ae3
However, the URLs in single quotes are rewritten incorrectly when the editor is loaded (they should not be rewritten at all in this case). So this issue needs some more work.

URL rewriting is now limited to body content which ensures that the JSON in the head section no longer breaks. https://github.com/pagekit/pagekit/commit/84d9a3a51c13f7e50ddbb0c3c5a7953c11e7d032

I think the main problem was that JSON embedded inside script tags was not RFC4627-compliant, therefor rewriting was possible.
I changed the JSON encoding options according to the encoding options of Symfonys JSONResponse
(https://github.com/pagekit/pagekit/commit/f2849e71af74ed92b29baad4d15178e386f2eabe).


Mapper classes should be declared final

I want to avoid confusions if people starts developing their own "Mappers".
I do not like to be asked about my "Mappers" which are extended by others.

These are final at v0.9.0


Allow specifying the platforms in the command line in a more standard way

Currently for using the release droid from the console, the user needs to specify the platforms as a CSV argument as follows -platform github,maven.
It would be nice to have this in a more standard way to make it less error prone, as -p github -p maven

I think both are fine. In fact a lot of CLI parsers probably should be able to handle them identically.


docs: adding note to 'Change Available Permissions'

According to Discussion #1213

@YusufDurmaz Thanks!


Fix setup.py to allow recent singer-python versions

Whoops, haven't tested this yet, meant to open this against my fork.