color: Add the ability to selectively preserve colors

This adds back the "DECOLOR" functionality that was removed as part of https://github.com/Unvanquished/Unvanquished/commit/d61c9d2237ddf2df04799f33e91f9477a3bc79d3. No motivation was given for the removal, and the DECOLOR functionality is important for external tools that parse game logs to display player colors leading to a richer experience.

This seems like an unnecessarily hacky way to restore the functionality in the linked commit. All you would need to do is add a color-preserving variant of G_LogPrintf no? (Or perhaps better would be simply an option to make G_LogPrintf always keep colors.)

add a color-preserving variant of G_LogPrintf

That's not what this functionality does. It allows me to say G_LogPrintf("^1Strip this %c^3Keep this%c", Color::Constants::DECOLOR_OFF, Color::Constants::DECOLOR_ON) which will output:
Strip this ^3Keep this

I was just adding back functionality that was removed before without good motivation presented that was used and was useful.
We could add a non-newline terminating version, non-decoloring of G_LogPrintf(), but that makes that callsite busy too...
It would be something like:
G_LogPrintf2("...", strip);
G_LogPrintf2("...", nostrip);
if (bot) {
G_LogPrintf2("[BOT]\n", nostrip);
} else {
G_LogPrintf2("\n", nostrip);
}

The conditional is fabricated. In reality, this code would be duplicated twice, one for ClientConnect and one for the bot version.

All right I looked at it closer and understand that G_LogPrintf prints to two log targets with and without color. I think the goal here could be achieved by decoloring the format string, rather that the formatted string, and then doing the sprintf once for each target. If that doesn't work out somehow, the decoloring-with-control-codes function should be written in the sgame instead of the engine. This would be easy to write using Color::Parser, if you make the control code a single character rather than a two-character sequence starting with ^.

I'm not sure I follow the first proposal. In my head, I like the current approach, hacky as it is because it allows fine grained control of whether something should be decolored or not in the same string. It offers maximum flexibility.
Re-implementing this in the sgame would basically be duplicating StripColors.

I'm not sure I follow the first proposal.

If you call StripColors on the format string (e.g. ^3Deconstruct: %d %d %s %s: %s %s by %s) before printf-style formatting, this will keep colors on names (and any other interpolated strings), while removing the unwanted ones. This way actually seems most convenient as you don't have to insert any extra control characters around names. There is a question of whether we would want to keep colors in the rare case of interpolated strings that are not names containing them, but I don't see any cases where that should happen. If we keep colors at least there is no information loss.

Re-implementing this in the sgame would basically be duplicating StripColors.

Which is not a problem as a basic StripColors implementation is less than 10 lines.

That won't work when the you have two format strings, and you want one to be stripped and the other to not be stripped.
The case that inspired this whole PR in the first place is this: https://github.com/Unvanquished/Unvanquished/blob/master/src/sgame/sg_client.cpp#L1187-L1190
The previous behavior was one %s == stripped netname, and the other %s is the unstripped netname.
I still maintain this is the best path forward. if you insist on it being in sgame instead of daemon, I can move it, but I honestly think it's better to keep it in daemon because I expect that this won't be the first instance of this as we start to expand our tooling.

That case is easily handled.
G_LogPrintf( "ClientConnect: %i [%s] (%s) \"%s^*\" \"%s^*\"",
	             clientNum, client->pers.ip.str[0] ? client->pers.ip.str : "<IP_ADDRESS>", client->pers.guid,
	             Color::StripColors( client->pers.netname ).c_str(),
	             client->pers.netname );

Again, you're missing the core issue. G_LogPrintf is doing the stripping not us.
That's why I've been saying the only other path forward that I would consider would be writing a version of G_LogPrintf that doesn't do newline termination and optionally does stripping.

The difference between the two methods is basically a question of whether you want the default for interpolated strings to be with or without color. If you do it the old way, the default is without color and you have to add the control codes to keep color. If you do it with my first proposal, the default is to keep colors and the caller must call StripColors to remove them. Thoughts?

In the case that we want the default to be stripping colors, I thought of an easier way to do it. The caller can just call the color escaping function (that replaces ^3 with ^^3) and then you get back the colored string after stripcolors.

To recap:
G_LogPrintf takes a string, prints it to console, strips colors, writes to log file.
My new behavior: takes a string, prints to console, strips colors except within control markers, writes to log file.
I think we should largely maintain this behavior. So far, I've only encountered two use cases for this, so it doesn't make sense to go through the codebase and change it.

(Bot?)ClientConnect
ClientRename

If you absolutely despise this method, I can add another logging function with more options, but honestly, the old way seems cleaner to me.
Same code in trem: https://github.com/darklegion/tremulous/blob/c862a5340c8de44dcc7abaff170c20c04f9340e8/src/game/g_client.c#L905-L909

My last message didn't make sense. Sorry about that.
My very first idea of a color-preserving G_LogPrintf seems to work well though. PTAL at https://github.com/Unvanquished/Unvanquished/compare/slipher/log-colored-names?expand=1. I think this restores all of the lost functionality. It seems a bit better than the original old version since in the in-console message, the names are also printed once with an once without color.
I doubt that a general method for partially decoloring is something that will frequently come in handy. If it does it should be in a separate function from StripColors.

The proposal doesn't allow stripping things that are both inside the format string and within the interpolated string.
For example:
G_LogPrintfColored(
					"ClientRename: %i [%s] (%s) \"%s^*\" -> \"%s\" \"%s^*\"",
					clientNum, client->pers.ip.str, client->pers.guid, oldname,
					Color::StripColors( client->pers.netname ), client->pers.netname );

Here, the ^* is maintained and I don't want it to be. I just want the name to be maintained. It's not part of the user's name, but it's in the quotes, so its included in the user's name when it wasn't part of their name.

Ok cool. I just ask that decolor with control codes be a different function in the gamelogic rather than a mandatory part of the official StripColors.

Why not using a bit longer markup to only use one special character for opening/ending markup?
Like for example \16[ and \16] for opening and closing:
G_LogPrintf("^1Strip this %c[^3Keep this%c]", Color::Constants::DECOLOR, Color::Constants::DECOLOR)

I would like to see a similar feature one day to mark substrings that would be replaced by REDACTED in logs, so I'm also wondering if the feature can be made more generic to support other being/end marking without wasting many special chars.
The sequences could also be \16D[ and \16D] for decoloring and \16R[ \16R] for redacting out or something like that.

Also, is there a need for a special character at all? We may standardize universal opening/closing sequences in the form of ^!K[ and, ^!K[ with K being a single uppercase letter for a feature like D for decoloring and R for redacting out.
So we could either write it plain:
G_LogPrintf("^1Strip this ^!D[^3Keep this^!D]")

or use an enum:
G_LogPrintf("^1Strip this %c^3Keep this%c", Color::Markups::DECOLOR_BEGIN, Color::Markups::DECOLOR_END)

Sure, this same facility could be extended for log redaction.
I don't think the actual escape codes matter as long as they are available in an enum/constant. We should definitely not be using them directly.

Indeed, this can be modified and extended later.
I'm fine with the current implementation.


VScode doesn't close on Cmd-Q

Issue Type: Bug
Sometimes closing VScode with Cmd-Q is (apprently) ignored. It continues to work (writing this issue in a "closed" instanced) and can still be force-killed using process manager. This seems to happen sind last release.
VS Code version: Code 1.68.1 (Universal) (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:52:13.188Z)
OS version: Darwin arm64 21.5.0
Restricted Mode: No

System Info

Item
Value

CPUs
Apple M1 (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
5, 3, 2

Memory (System)
16.00GB (0.09GB free)

Process Argv
--crash-reporter-id 171ce63a-8329-4c58-b846-cfd00e6e8d88

Screen Reader
no

VM
0%

Extensions (63)

Extension
Author (truncated)
Version

terraform
4op
0.2.5

vscode-sqlite
ale
0.14.1

vscode-color
ans
0.4.5

unique-lines
bib
1.0.0

markdown-checkbox
bie
0.3.2

markdown-footnotes
bie
0.0.7

markdown-mermaid
bie
1.14.2

vscode-intelephense-client
bme
1.8.2

better-toml
bun
0.3.2

gotemplate
cas
0.4.0

dart-code
Dar
3.42.1

vscode-markdownlint
Dav
0.47.0

vscode-eslint
dba
2.2.2

docs-yaml
doc
0.2.8

githistory
don
0.6.19

xml
Dot
2.5.1

vscode-html-css
ecm
1.13.0

EditorConfig
Edi
0.16.4

json-tools
eri
1.0.2

prettier-vscode
esb
9.5.0

fold-unfold-all-icone
Fer
0.0.3

copilot
Git
1.30.6165

remotehub
Git
0.34.0

go
gol
0.34.0

vscode-graphql
Gra
0.4.13

todo-tree
Gru
0.0.215

terraform
has
2.23.0

beautify
Hoo
1.5.0

composer
ika
0.8.0

flux
inf
1.0.4

search-editor-apply-changes
jak
0.1.1

vscode-graphviz
joa
0.0.6

graphql-for-vscode
kum
1.15.3

vscode-docker
ms-
1.22.0

python
ms-
2022.8.0

vscode-pylance
ms-
2022.6.30

jupyter
ms-
2022.5.1001601848

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.8

hexeditor
ms-
1.9.7

remote-repositories
ms-
0.12.0

sublime-keybindings
ms-
4.0.10

vscode-github-issue-notebooks
ms-
0.0.119

vsliveshare
ms-
1.0.5625

vsliveshare-audio
ms-
0.1.91

vsliveshare-pack
ms-
0.4.0

php-docblocker
nei
2.7.0

indent-rainbow
ode
8.3.1

proto
pet
0.0.2

vscode-commons
red
0.0.6

vscode-xml
red
0.20.0

vscode-yaml
red
1.8.0

semgrep
Sem
0.3.1

bash-beautify
sha
0.1.1

mdx
sil
0.1.0

prettier-vscode
Sim
2.0.7

code-spell-checker
str
2.2.5

pdf
tom
1.2.0

volar
Vue
0.38.1

change-case
wma
1.0.0

php-debug
xde
1.27.0

markdown-all-in-one
yzh
3.4.3

vscode-proto3
zxh
0.5.5

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonvspyt551:30345470
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
pylanb8912:30515786
vsclangdf:30486550
c4g48928:30515882

Can you launch with code --verbose and attach the output when the quit does not work as expected. Also does the issue repro with latest insiders ?

Unfortunately it happens only sometimes. Can I configure the --verbose to be applied on each start (e.g. when invoking via Cmd-Space)? Where can I pick up the output?

Weird. I'm with M1 and it never happened to me.

Can I configure the --verbose to be applied on each start (e.g. when invoking via Cmd-Space)? Where can I pick up the output?

Any help with this question? It's still happening but never when I started it intentionally with --verbose...

Had this issue once more today and saw this in the startup shell, apparently connected to using git from inside VScode:

You have not agreed to the Xcode license agreements, please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode license agreements.

Not sure it's related though...

Hey @deepak1556, this issue might need further attention.
@andig, you can help us out by closing this issue if the problem no longer exists, or adding more information.

Problem still exists. To provide more info I'd still need to understand how to do this:

Where can I pick up the output?

https://github.com/microsoft/vscode/issues/153098#issuecomment-1243461701

Hey @deepak1556, this issue might need further attention.
@andig, you can help us out by closing this issue if the problem no longer exists, or adding more information.

It is still a problem, I do meanwhile see it with other programs on Mac too, though. Might be more a MacOS than a VScode issue.

Hey @deepak1556, this issue might need further attention.
@andig, you can help us out by closing this issue if the problem no longer exists, or adding more information.


No tensorflow framework library in libtensorflow-cpu-windows-x86_64-1.15.0.zip

The precompiled tensorflow library for Windows only has the tensorflow.lib and .dll. It looks like the framework dll/lib is not needed on Windows platform to successfully build projects and during runtime executions.
CMake Error at cmake/add_tensorflow.cmake:52 (message):   Tensorflow could not be included

Hi @PRPoundSix thank you for your feedback. You are trying the develop branch for windows right ? I didn't check the windows compatibility for windows yet for the latest developments. If you are not interested in the filter interface, I would suggest falling back to the latest release.
I don't have enough time to work on this at the moment but will address this as soon as possible. If you feel like it, I do accept pull requests 😄

Hi Guillaume,
I tried the master branch and although the build is good. I got the following error when running the 2 stem test on Windows:
Running main() from gtest_main.cc[==========] Running 1 test from 1 test case.[----------] Global test environment set-up.[----------] 1 test from Spleeter[ RUN      ] Spleeter.TwoStems2020-04-26 14:24:57.956072: I tensorflow/cc/saved_model/reader.cc:31] Reading SavedModel from:unknown file: error: C++ exception with description "bad allocation" thrown in the test body.[  FAILED  ] Spleeter.TwoStems (187 ms)[----------] 1 test from Spleeter (187 ms total)
[----------] Global test environment tear-down[==========] 1 test from 1 test case ran. (192 ms total)[  PASSED  ] 0 tests.[  FAILED  ] 1 test, listed below:[  FAILED  ] Spleeter.TwoStems
 1 FAILED TEST
C:\repos\spleeterpp\build\test\spleeter\Debug\test_spleeter.exe (process 4668) exited with code 1.Press any key to close this window . . .
I tried to fix the problem but the couldn't figure out why allocation is bad.
I can successfully run the same test on the develop branch though (after some adjustments related to the issue I reported.) I may create a pull request for the develop branch later but I am both new to TensorFlow and also CMake so I need time to get familiar with both.
Thanks for the shared code.
On Sunday, April 26, 2020, 05:32:50 AM EDT, Guillaume Vincke<EMAIL_ADDRESS>wrote:
Hi @PRPoundSix thank you for your feedback. You are trying the develop branch for windows right ? I didn't check the windows compatibility for windows yet for the latest developments. If you are not interested in the filter interface, I would suggest falling back to the latest release.
I don't have enough time to work on this at the moment but will address this as soon as possible. If you feel like it, I do accept pull requests 😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm getting the same error as OP.
@gvne care to point us in the right direction? What is the core issue and were could it be fixed? I'll have a look at it.

Hi there, sorry for the delay.
I just pushed a fix for windows on the develop branch. However, the filter interface doesn't seem to give the right results. That being said you should be able to use the classic interface (not real time) successfully now

It seems like the problem comes from the asynchronous process of frames.
To avoid multiple thread to use the temporary buffers, even if each frame is computed in a separated frame, the process has to be done sequentially. I am using an std::mutex to force this. However, it seems that it std::mutex does not ensure this.
I will try using  event objects as suggested here.
In the meantime, if you really want to use the filter interface, just set the extra_frame_latency to zero and you'll be fine.

Using a semaphore is better than mutex to keep the sequential aspect. I added a semaphore implementation (using std::mutex and std::condition_variable) that fixed the issue.
I also integrated the Appveyor CI to avoid that kind of issue in the future !


Using SNUtils.screenShot

I am using SNUtils.screenShot to save the filters, but it automatically saves to my library on the phone. How can I disable this?

Hi @xScylez,
That is very strange. The screenShot method should not save anything into your library. Are you sure that you are not calling UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) at the same time ?

Hm, looks like I had to comment out that line in Pods/SnapFliderFilters/SNUtils.swift
`public class SNUtils {
public static let screenSize = CGSize(width: UIScreen.mainScreen().bounds.width, height: UIScreen.mainScreen().bounds.height)

public static func screenShot(view: UIView) -> UIImage {
    UIGraphicsBeginImageContextWithOptions(view.frame.size, true, 0.0)
    view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    //UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
    return image!
}

}
`

Of course that was the problem. Be careful, it looks like you are not dealing with the last version of this repo, that's perhaps why you have had this weird line in there!


Service Bus Migration guide

Should we add a section for working with sessions?

Should we add a section for working with sessions?

I'm sure we want to go into too much details for preview-1.

Should we add a section for working with sessions?

I'm not sure we want to go into too much details for preview-1.

Should we add a section for working with sessions?

I'm not sure we want to go into too much details for preview-1.

Agreed that we don't need to go into too much detail, but since we are including sessions for preview 1, we should probably at least show how to create a receiver/processor for session-entities.


Issue with k8s.io/docs/setup/release/building-from-source/

This is a...

[ ] Feature Request
[X] Bug Report

Problem:
I believe that the Markdown document building-from-source.md is not being rendered properly on the webpage. I can view the document in version control and it has all of the contents, but nothing is showing on the page in my browser at https://kubernetes.io/docs/setup/release/building-from-source/
I've tested this with multiple browsers and the problem is consistent. Screenshot from Chrome:

Also, a hyperlink included in building-from-source.md is not an absolute path - [Release Notes](/docs/setup/release/notes/)
Proposed Solution:
I am not sure. I double checked data/setup.yml and _static/redirects and both appear to be in order. This could be a local issue, but I wanted to raise an issue just in case. Thank you.
Page to Update:
https://kubernetes.io/...

This has been solved and is deployed
/close


CI/CD: Support for automation

DO NOT MERGE!
This PR will be reviewed and merged by one of the following: @jairideout, @ebolyen, or @thermokarst
Notes to reviewer:

Tests will fail - this is expected
Squash the commits (please)
After merging, tests will continue to fail
The resulting merge commit should be tagged 2017.4.0.dev0

Commit Title:
CI/CD: Support for automation
Commit Message:
To hook up to the new CI/CD system, the following changes were made:

Added/updated conda recipe
Every commit is now a version thanks to versioneer
Removed install_requires from setup.py (dependencies now handled by conda recipe)
Standardized travis configuration to use latest development builds of QIIME 2

Pair programmed with: @jairideout, @ebolyen, and @thermokarst

🎉


fix multisig_pure_proxy_stash.ts

Fund Multisig: ready
Fund Multisig: { inBlock: "0x673eae1bd13347115fd7f1c82cd9f5892b4cc80dd6e1a172e392b88c656b788c" }
Fund Multisig: { finalized: "0x673eae1bd13347115fd7f1c82cd9f5892b4cc80dd6e1a172e392b88c656b788c" }
Alice Ratify: ready
Alice Ratify: { inBlock: "0xaf56cde5d93954983e0b0836d468463829f20cd6d03308b28837713a3e863d85" }
Alice Ratify: { finalized: "0xaf56cde5d93954983e0b0836d468463829f20cd6d03308b28837713a3e863d85" }
Bob Ratify: ready
Bob Ratify: { inBlock: "0x27f6075dab996c8459ce93276b993b26a2f6d1d0097779aa5a02e13e4a714753" }
Bob Ratify: { finalized: "0x27f6075dab996c8459ce93276b993b26a2f6d1d0097779aa5a02e13e4a714753" }
error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'pure')
        value = value[key]
                     ^
    at RunMap.fn (file:///workspaces/capi/rune/ValueRune.ts:50:22)
    at RunMap._evaluate (file:///workspaces/capi/rune/ValueRune.ts:162:40)
    at async RunMap.evaluate (file:///workspaces/capi/rune/Rune.ts:222:14)
    at async ValueRune.iter (file:///workspaces/capi/rune/Rune.ts:79:23)
    at async ValueRune.run (file:///workspaces/capi/rune/Rune.ts:66:22)
    at async file:///workspaces/capi/examples/multisig_pure_proxy_stash.ts:42:22

dispatchError { index: 30, error: Uint8Array(4) [ 12, 0, 0, 0 ] }

{
  id: 30,
  name: "Multisig",
  storagePrefix: "Multisig",
  storage: {
    Multisigs: {
      singular: false,
      name: "Multisigs",
      key: $storageKey("Multisig", "Multisigs", $.tuple([Array])),
      partialKey: $storageKey("Multisig", "Multisigs", $partialMultiKey([Array])),
      value: $.object($.field([Array]), $.field([Array]), $.field([Array]), $.field([Array])),
      docs: " The set of open multisig operations.",
      default: undefined
    }
  },
  constants: {
    DepositBase: {
      name: "DepositBase",
      codec: $.u128,
      value: Uint8Array(16) [
        0, 140, 97, 197, 46, 0,
        0,   0,  0,   0,  0, 0,
        0,   0,  0,   0
      ],
      docs: " The base amount of currency needed to reserve for creating a multisig execution or to\n store a disp..."
    },
    DepositFactor: {
      name: "DepositFactor",
      codec: $.u128,
      value: Uint8Array(16) [
        0, 208, 18, 19, 0, 0,
        0,   0,  0,  0, 0, 0,
        0,   0,  0,  0
      ],
      docs: " The amount of currency needed per unit threshold when creating a multisig execution.\n\n This is held..."
    },
    MaxSignatories: {
      name: "MaxSignatories",
      codec: $.u32,
      value: Uint8Array(4) [ 100, 0, 0, 0 ],
      docs: " The maximum amount of signatories allowed in the multisig."
    }
  },
  types: {
    call: $.taggedUnion("type", { "0": [Object], "1": [Object], "2": [Object], "3": [Object] }),
    error: $.literalUnion(
      {
        "0": "MinimumThreshold",
        "1": "AlreadyApproved",
        "2": "NoApprovalsNeeded",
        "3": "TooFewSignatories",
        "4": "TooManySignatories",
        "5": "SignatoriesOutOfOrder",
        "6": "SenderInSignatories",
        "7": "NotFound",
        "8": "NotOwner",
        "9": "NoTimepoint",
        "10": "WrongTimepoint",
        "11": "UnexpectedTimepoint",
        "12": "MaxWeightTooLow",
        "13": "AlreadyStored"
      }
    ),
    event: $.taggedUnion("type", { "0": [Object], "1": [Object], "2": [Object], "3": [Object] })
  },
  docs: ""
}

MaxWeightTooLow??

You probably have a max weight set to 0?

it works when i mutliply this by 2
https://github.com/paritytech/capi/blob/main/patterns/multisig/MultisigRune.ts#L61

https://learn.figment.io/tutorials/implement-multisig-accounts-on-polkadot

MAX_WEIGHT refers to the maximum weight of the call, although this is not clearly stated in the API documentation, it has to do with fee calculation. Weight is a fixed number designed to manage block validation times. It can be supplemented with an optional tip. Read more about Polkadot transaction fees here.

https://substrate.stackexchange.com/questions/7572/what-is-reftime-and-proofsize

proofSize: The amount of storage in bytes that a transaction is allowed to read.

When i set proof size to not zero it works but we are currently always setting it to zero
  feeEstimate() {
    const extrinsicHex = this.encoded().map(hex.encodePrefixed)
    return this.chain.connection.call("payment_queryInfo", extrinsicHex)
      .dbg("payment_queryInfo")
      .map(({ weight, ...rest }) => ({
        ...rest,
        weight: {
          proofSize: BigInt(typeof weight === "number" ? 0 : weight.proof_size),
          refTime: BigInt(typeof weight === "number" ? weight : weight.ref_time),
        },
      }))
  }

https://github.com/paritytech/substrate/pull/11637 this got added in 0.9.38


switch device not functioning

The only device currently attached to my Tuya developer account doesnt work good.
When using the entity toggle on the lovelace dashboard it only works the verry first time, after that it only switches the toggle and returns back to its previous state, without actually switching the light.

logs shows these errors;
Logger: root
Source: /usr/src/homeassistant/homeassistant/bootstrap.py:315
First occurred: 15:55:28 (1 occurrences)
Last logged: 15:55:28

Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.8/site-packages/tuya_iot/openmq.py", line 173, in run
    time.sleep(self.mq_config.expireTime - 60)
AttributeError: 'TuyaOpenMQ' object has no attribute 'mq_config'

Logger: tuya iot
Source: /usr/local/lib/python3.8/site-packages/tuya_iot/openmq.py:178
First occurred: 15:55:28 (1 occurrences)
Last logged: 15:55:28

error while get mqtt config

and config/home-assistant.log shows;
2021-07-01 15:55:28 ERROR (Thread-4) [tuya iot] error while get mqtt config
2021-07-01 15:55:28 ERROR (Thread-4) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.8/site-packages/tuya_iot/openmq.py", line 173, in run
    time.sleep(self.mq_config.expireTime - 60)
AttributeError: 'TuyaOpenMQ' object has no attribute 'mq_config'

@kbarendrecht It seems something wrong with the TuyaOpenMQ connect, Can you provide more logs?

@tsutsuku This is all there is in the Home Assistant UI; Configuration -> Logs. Is there somewhere I could find more?
2021-07-01 21:03:12 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration tuya_v2 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-07-01 21:03:17 ERROR (Thread-5) [tuya iot] error while get mqtt config
2021-07-01 21:03:17 ERROR (Thread-5) [root] Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/site-packages/tuya_iot/openmq.py", line 173, in run
time.sleep(self.mq_config.expireTime - 60)
AttributeError: 'TuyaOpenMQ' object has no attribute 'mq_config'

I have uninstalled the custom_component from HACS, then deleted the integration, then installed and set up the integration. Still have the same problem. Could it have something to do with the device type showing up as 'video camera' while it shows as 'switch' in the tuya IOT platform? (it is a switch)

@kbarendrecht  Try v1.3.1.

@tsutsuku Still the same.

@tsutsuku This is working now, thanks to the new setup guide 😄
The problem was not having the Device status notification API.


Improve the experience when adding indexes and reloading

When inverted indexes are added to an existing table, a POST /segments/{tableName}/reload needs to be issued to apply it. This call immediately returns 200, and it is not easy to figure out the status of the reload or the indexing.
Some ways we have been using:

Untar segment to check if index is available in index_map
Check the numEntriesScanned for a query with filter on that column

However, we need a proper way. One way could be to introduce a segment API to read metadata from the segment dir

I have an initial approach to this issue:

provide an end point for users to query for segment status
the end point would need to query the ZK to get the input segment metadata based on the type of the table
parse the SegmentZKMetadata object to return the value as a JSON string

I have an initial approach to this issue:
We can introduce a segment state monitor that keeps track of all the segments and their index version updates. Similar to _lastKnownSegmentMetadataVersionMap, but it is updated whenever a segment index is updated. The monitor could be the callback passed as part of the segment reload - currently there is none.
On the API front,

provide an end point for users to query for segment status
get the version change status from the resource manager
parse the SegmentZKMetadata object to return the value as a JSON string

Please let me know your thoughts and inputs.

I think one approach could be as simple as:
We introduce an API for reading physical segment's metadata files /segments/index-metadata (need a better name)

controller untars the segment
reads the metadata using SegmentMetadataImpl
extracts needed info from metadata.properties and indexMap
deletes uncompressed segment

How about introducing an API on the server, since that is what we are looking for.  The controller can query each replica about whether indexes are loaded correctly, which version (crc) is loaded, etc. We can also keep some statistics in the server that can be retuned about the segment (num rows scanned per query, number of queries that the segment hit, whatever..)

based on our offline chat @guruguha
I think TableSizeReader does something similar. Server api in TableSizeResource for reference

Yes, contact the server is the best. Please put up an API spec (either in this issue or in a separate doc) and send out email (and perhaps on slack as well) for people to comment.
thanks

I have a Google doc with the description and base design. Please review: Pinot #5390


Update de.js - translation for 'errorLoading' message

This pull request includes a

[ ] Bug fix
[ ] New feature
[x] Translation

The following changes were made

translation for 'errorLoading' message

Don't change the dist files in your PR, see 5. in https://github.com/select2/select2/blob/master/CONTRIBUTING.md#submitting-a-pull-request


Email alerts

Use AWS SES SNS notifications to alert the app when emails bounce. Store all notifications, display on user index page and send regular summary emails to sysadmins.

Would be good to do #732 first as requires SNS setup.


Generator creates invalid Ruby Tests

MiniTest no method named assert_not_nil. Looks like it should be refute_nil as http://ruby-doc.org/stdlib-2.0.0/libdoc/minitest/rdoc/MiniTest/Assertions.html#method-i-refute_nil

Thanks for reporting this @TheRoyalTnetennba. I'm surprised it hasn't come up before.


Sync sometimes gets delayed

From @nzola

Sometimes the Lokole receive/send emails at every connections, but more then 70% of the time it takes a day before mail transactions happen. The Lokole sync operation works normally (auto and manual).

@nzola A couple of follow-up questions to help me investigate:

Does eventually the mail still get delivered or does the system fail entirely to deliver the mail?
Is the behavior consistent with SIM and Ethernet mode or does it only happen in one of the two?
Does the delay also happen when you only send small emails or does it only happen with large emails?

I want to answer to these investigation questions correctly, so I have to
setup one Ethernet Lokole and 3 SIM Lokoles to observe the behaviours.
I will have the answer by the end of this week.
On Sun, Apr 28, 2019 at 5:11 PM Clemens Wolff<EMAIL_ADDRESS>wrote:

@nzola https://github.com/nzola A couple of follow-up questions to help
me investigate:

Does eventually the mail still get delivered or does the system
fail entirely to deliver the mail?
Is the behavior consistent with SIM and Ethernet mode or does it
only happen in one of the two?
Does the delay also happen when you only send small emails or does
it only happen with large emails?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ascoderu/opwen-webapp/issues/163#issuecomment-487427223,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEH5MM7HCGMHNF3DTXM3W2DPSY4L3ANCNFSM4HI433VA
.

Closing as a duplicate of https://github.com/ascoderu/opwen-webapp/issues/169


.less files: standardize on a two-space indent

Currently, in the .less files, three types of indents are used.

two-space indent
four-space indent
tab indent

This PR standardizes the indent to be a two-space indent.

Many thanks!
I’ll move the 1.4.1 accordingly.


repo: Bump pants -> 2.17.0rc3

@mmorel-35 flagging this update - the blocker here is my hokey readme pants plugin
mostly i added it to familiarize myself with pants, but its turned out to be quite useful in different ways - despite not really being up to date with current status of repo
not sure best way forward - i would rather not lose the plugin - but at same time newer version of pants have a load of things worth having - eg node support


iOS Background updates

Hi,
I'm using the plugin on a Xamarin PCL project.
I have no problem with Android, while on iOS on which I need background updates I'm getting lot of problem with battery usage.
In order to get background updates I'm using this configuration
locator.StartListeningAsync(TimeSpan.FromMilliseconds(20000), 0, false, new Plugin.Geolocator.Abstractions.ListenerSettings
{
ActivityType = Plugin.Geolocator.Abstractions.ActivityType.AutomotiveNavigation,
AllowBackgroundUpdates = true,
DeferLocationUpdates = true,
DeferralDistanceMeters = 200,
DeferralTime = TimeSpan.FromSeconds(1),
ListenForSignificantChanges = false,
PauseLocationUpdatesAutomatically = false
});
The problem is ListenForSignificantChanges. If I set this property to TRUE I don't receive updates every 20seconds but it always return me the same position (maybe cached position?) while if I set this property to FALSE I receive continuos updates that use too much battery.
How can I set the plugin on iOS correctly in order to get an updated position (with speed) every 20 seconds also when in background?
Thank you

See: https://developer.apple.com/documentation/corelocation/cllocationmanager/1423531-startmonitoringsignificantlocati


v2.9.5 brew binary somehow getting replaced by dirty

Summary
brew install argo should give me a working binary - but the one I actually get does not have the static files.
Diagnostics
From brew:
argo: v2.9.5+5759a0e.dirty
  BuildDate: 2020-08-07T21:09:01Z
  GitCommit: 5759a0e198d333fa8c3e0aeee433d93808c0dc72
  GitTreeState: dirty
  GitTag: v2.9.5
  GoVersion: go1.14.6
  Compiler: gc
  Platform: darwin/amd64

From releases page:
argo: v2.9.5
  BuildDate: 2020-08-06T22:13:32Z
  GitCommit: 5759a0e198d333fa8c3e0aeee433d93808c0dc72
  GitTreeState: clean
  GitTag: v2.9.5
  GoVersion: go1.13
  Compiler: gc
  Platform: darwin/amd64

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

Maybe related:
https://github.com/argoproj/homebrew-tap/pull/17

Do we need to run
brew bump-formula-pr argo --version $VERSION

https://github.com/Homebrew/homebrew-core/pull/59258

@crunchtime-ali could I please ask for your help?

@alexec Sure. I will have a look at it tomorrow. I think I included the static files and they should be included in the bottles which are built and distributed automatically as well.

@crunchtime-ali  I think the fix is that Formula/argo.rb  should download the binary from the releases page.

@crunchtime-ali I think the fix is that Formula/argo.rb should download the binary from the releases page.

homebrew-core "bottles up" (builds binaries) via CI always from source and supplies them automatically for the current macOS and the two last ones. This will be super handy for the Argo project as we will also make sure it will build for Apple Silicone (right now go itself doesn't build). Therefore, you can't supply binaries yourself.
Let's fix the formula instead. I am calling make dist/argo which executes the server/static/files.go targets but I seem to have made an error nonetheless.
@alexec Can you execute brew reinstall argo --build-from-source --verbose --keep-tmp and have a look at the logs and temporary build-folder and see what is going wrong? You know way better how the argo build works and can hopefully spot the problem immediately.

I checked why the git status is dirty and through checking I was able to determine that it considers the tree to be dirty because of .brew_home folder. Can you add .brew_home to .gitignore to fix that problem or should I create a PR? @alexec

Can I push to understand why we can’t use the same binary we attach to the releases page? Rather than rebuild, is there anyway we can build the correct binary as part of the Makefile?

Can I push to understand why we can’t use the same binary we attach to the releases page?

From https://docs.brew.sh/Acceptable-Formulae#we-dont-like-binary-formulae:

Our policy is that formulae in the core tap (homebrew/core) must be open-source with an Debian Free Software Guidelines license and either built from source or produce cross-platform binaries (e.g. Java, Mono). Binary-only formulae should go to homebrew/cask.

homebrew-cores CI process builds binaries for catalina, mojave and high_sierra automatically.
class Argo < Formula
  [...]

  bottle do
    cellar :any_skip_relocation
    sha256 "b8db9382788c4305eda6d2ee651cd6384dc4b7e5f163c23fc703cd5158abfbde" => :catalina
    sha256 "4ac01435917d55a35f7d60dc6d861f9332f8319ab71a78499e2725c2f0e03687" => :mojave
    sha256 "2ba249f5d2a348b140dc07de880f1aff21c75e100e2342cd5dcab8dca2390b12" => :high_sierra
  end

Rather than rebuild, is there anyway we can build the correct binary as part of the Makefile?

Yes, I checked why the git status is dirty and  was able to determine that it considers the tree to be dirty because of .brew_home folder which homebrew creates inside the project directory for some reason. Can you add .brew_home to .gitignore to fix that problem or should I create a PR? @alexec

Our policy is that formulae in the core tap (homebrew/core) must be open-source with an Debian Free Software Guidelines license

We meet that requirement.

and either built from source or produce cross-platform binaries (e.g. Java, Mono). Binary-only formulae should go to homebrew/cask.

We meet that requirement. The binary we attach to the release page is built from source.
I think it would be acceptable to use the binary.

Homebrew's requirement is that formulae must be built from source by the Homebrew CI. This ensures that working builds can be reproduced for whatever reason, especially by users who don't want to trust any supplied binaries.

@gromgit can you please point me to the page that says that? Thank you.

It's in the passage itself:

formulae in the core tap (homebrew/core) must be [...] either built from source or produce cross-platform binaries

i.e. the formula build itself should start with the source code, not simply package prebuilt binaries.

@gromgit - thank you - I can see that that  - while what you say is not explicit - it is implied.
@crunchtime-ali I can see that we need to build one binaries for each type of OS-X. That makes a lot of sense to me. I don't really care where they're built, as long as they're reliable.
Can I ask you to create a PR to ignore the Brew files that make the build dirty? Our Makefile looks at the environment variable `CI' to determine whether or not to create an empty file, or actually build the static files. It maybe that Homebrew CI sets that variable too.
I suggest we add a replace the CI variable to the Makefile called 'STATIC_FILES', and this is also set this explicitly in the .github/workflows/ci-bulid.yaml
Thoughts?

@gromgit - thank you - I can see that that - while what you say is not explicit - it is implied.
@crunchtime-ali I can see that we need to build one binaries for each type of OS-X. That makes a lot of sense to me. I don't really care where they're built, as long as they're reliable.
Can I ask you to create a PR to ignore the Brew files that make the build dirty? Our Makefile looks at the environment variable `CI' to determine whether or not to create an empty file, or actually build the static files. It maybe that Homebrew CI sets that variable too.
I suggest we add a replace the CI variable to the Makefile called 'STATIC_FILES', and this is also set this explicitly in the .github/workflows/ci-bulid.yaml
Thoughts?

I created https://github.com/argoproj/argo/pull/3801. Maybe we should call the variable SKIP_STATIC_FILES instead of STATIC_FILES though because right now those STATIC_FILES are built when its value is false only. We could also flip all conditions in the Makefile to make it work with STATIC_FILES. What do you think @alexec
@gromgit Thanks for chiming in

Still a problem with v2.10.0
argo: latest+6364235.dirty
  BuildDate: 2020-08-27T21:05:30Z
  GitCommit: 63642358e8ffe898cf9a018d1d8d869434ae66cc
  GitTreeState: dirty
  GitTag: v2.3.0-rc3
  GoVersion: go1.13.4
  Compiler: gc
  Platform: darwin/amd64

@crunchtime-ali FYI - this is still incorrect.

195c6d8310a70b07043b9df5c988d5a62dafe00d is v2.10.0 👍

I thin this will be fixed for v2.11.0

@alexec I will check it out once 2.11.0 is released.

Available for testing in v2.10.0-rc1.

Available for testing in v2.11.0-rc1.

I just tested this with brew reinstall argo --build-from-source --verbose
Output of argo version is:
argo: latest+f446f73.dirty
  BuildDate: 2020-09-03T08:10:07Z
  GitCommit: f446f735b4c8c16c95f1306ad3453af7f8ed0108
  GitTreeState: dirty
  GitTag: v2.11.0-rc1
  GoVersion: go1.15
  Compiler: gc
  Platform: darwin/amd64

I will try to look into it until Saturday.

==> Upgrading 1 outdated package:
argo 2.10.0 -> 2.10.1_1
==> Upgrading argo 2.10.0 -> 2.10.1_1
==> Downloading https://homebrew.bintray.com/bottles/argo-2.10.1_1.catalina.bottle.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a2992d27e2888f34d7c035112508106f437e04bbbe7178d34f8a9908adbd4106?response-content-disposition=a
######################################################################## 100.0%
==> Pouring argo-2.10.1_1.catalina.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/argo/2.10.1_1: 8 files, 62.3MB
Removing: /usr/local/Cellar/argo/2.10.0... (6 files, 62.1MB)
Removing: /Users/acollins8/Library/Caches/Homebrew/argo--2.10.0.catalina.bottle.tar.gz... (25.8MB)
[acollins8@intuitdepe1a95 argo (⎈ |k3s-default:argo) (master)]$ argo version
argo: v2.3.0-rc3
  BuildDate: 2020-09-03T03:48:23Z
  GitCommit: 24c778388a56792e847fcc30bd92a10299451959
  GitTreeState: clean
  GitTag: v2.3.0-rc3
  GoVersion: go1.13.4
  Compiler: gc
  Platform: darwin/amd64

24c778388a56792e847fcc30bd92a10299451959 is actually master and this is very risky and urgently needs to be fixe.
Marking as P1 regression.

Cancel the panic:
/usr/local/bin/argo version
argo: latest+854444e.dirty
  BuildDate: 2020-09-03T04:18:43Z
  GitCommit: 854444e47ac00d146cb83d174049bfbb2066bfb2
  GitTreeState: dirty
  GitTag: v2.10.1
  GoVersion: go1.15
  Compiler: gc
  Platform: darwin/amd64


combine streams

is it possible to combine streams? subscribe to several streams in one subscription?

@godofgo unfortunately you cannot. Each channel is a separate stream. You can read more about it here: https://github.com/nats-io/nats-streaming-server#subscriptions


Add AOI sequencing

We need to add sequencing based on AOI for ingesting

Looking at it will require a refactor of the Basic Tiling step plugin in kettle.  Will remove the filename and entry requirement as input for the basic tiling and be more generic and get that bounds information from the input.  This way tiling definitions can come from a file or from a polygon or multi geometry definition.  As the implementation becomes more apparent I'll break this apart into several smaller issues.

While working this issue I realized that the image info step to extract the geometry does not take an optional entry.  Will add an issue to modify that step to take an entry

Added sequencing to only include tiles within the requested region of interest.  We will need to test with all kinds of cuts and might need to re-address but you should be able to give arbitrary regions and it will sequence an only return tile specs that intersect that region.


Can't view files if folder name contain colon

I'm working on a Meteor project whereby the folder names contain : (colons). Example structure below:
project/
    component:name-1/
        foo_bar.coffee
    component:name-2/
        foo_bar.coffee

The package is finding TODO: items and showing the correct result list, however when I press Enter to view the file, it's opening a black tab with the title of the folder up to the : character. Using the example above it would open a blank tab named component.
I had a brief look at the package source however I'm not very comfortable with Python :(
I'm guessing a fix would involve just escaping : characters in the file path?

The problem is when the file is passed back to SublimeText to open, it natively thinks the colon is a line number, for example somefile.js:5 would open the file on line 5. This only happens when you are using the sublime.ENCODED_POSITION API, which explains why you are not having this issue when opening these files normally.
I don't see a way to fix this with the sublime API the way it is currently.

Going to close this since it is impossible to solve with the way ST3 is currently.


chore: updating dependabot file to support gha and python packages

Hi @wadebarnes , this is ready for review now.


Unused navbar brand height variable

Why the $navbar-brand-height Sass variable is not used (in Bootstrap 4)? It is defined in variables file ("scss/_variables.scss") but not applied in any code line.
Perhaps, it would has to be appeared for usual logo images, as:

.navbar-brand img {
	height: $navbar-brand-height;
}

It's currently used to compute $navbar-brand-padding-y.
Might be done another way, but it is used :)

Yes, I am aware of this size calculation. But it has no sense if it is not assigned to any element, since... Why is an image padded in relation to its height if this precised height is not defined to anything? It is not understandable.

Closing as this is staying as-is I think. Could maybe try something else with flexbox, but unsure if it'd have the same effect without introducing new issues.


Link to codelab from Azure setup

Add link to Kubernetes on Azure codelab from Azure setup

@EricJizbaMSFT please take a look

@EricJizbaMSFT please take a look

LGTM

Is this good to merge?

@rcarun @EricJizbaMSFT have the suggested edits been completed?

Ping. This has been open for a while. Closing now, please reopen if ready to merge.


[DISQ-8] Add license header, empty CONTRIBUTORS.md file.

Fixes #8.

Hello @magicDGS, I believe I've addressed review comments in the last commit.  Could you revisit your review?

One comment not blocking the merge and a final request before merging: could you maybe rename the AUTHORS file to CONTRIBUTORS?

Sure, that sounds fine.  I'll do that in a commit and force push to squash.

Thanks @heuermh and @magicDGS!

Thank you, @tomwhite

Thank you!


MQTT documentation

This is a question for the backend and integration with the MQTT service.
What do you want to do?
I'm looking to develop a AzureFunctions Trigger that listens to messages/topics on the MQTT/AMQP service for a given application; and allows the developer to capture the message(s) received routing/processing message in the cloud
What steps did you take?
I'm able to successfully connect to the MQTT service
What went wrong or what is missing?
However when subscribing to events/devices I don't receive messages?
Please can you assist with the MQTT topic naming convention and/or where I may find documentation with regard how MQTT is used for application/device events

You can find the MQTT documentation on our Docs site which pulls it from this repository.
If you want to see all events (for debugging purposes), you can use mosquitto_sub to subscribe to the wildcard topic: mosquitto_sub -u "your-app-id" -P "ttn-account-v2.xxx..key..xxx" -d -t "#". This should print out everything that is published to your application, including the topics where the messages are published.


Map selection is reverted after starting segment cleaning

Describe the bug
I have very same issue as reported in #351 . When selecting map with dreame_vacuum.vacuum_select_map and then starting robot with dreame_vacuum.vacuum_clean_segment the map selection is reverted to the one selected before the script was called. I have tried suggested workouround with delay of 10 seconds between map selection and starting the robot however it does not work in my case.
To Reproduce

robot has ground floor map selected
calling service dreame_vacuum.vacuum_select_map to set map to the first floor
having delay of 10 seconds
I see that the selected map entity got successfully updated to the first floor. However in the native Dreame app I don't see any changes in regarding to selected map. Not sure if this is okay or not - just an observation
starting robot with dreame_vacuum.vacuum_clean_segment service
As soon as robot starts the map got reverted to the map which was selected before running the script.

If i select the map in the Dreame app and then start the robot with dreame_vacuum.vacuum_clean_segment service it works fine.
Here is the snippet of my automation:
action:
  - service: dreame_vacuum.vacuum_select_map
    data:
      map_id: 4
    target:
      device_id: XXXX
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 2
        - 3
      suction_level: 2
      water_volume: 2
      repeats: 1
    target:
      device_id:XXXX

Expected behavior
After selecting a map and later starting the robot with dreame_vacuum.vacuum_clean_segment service it should use pre-selected map
Additional Information (please complete the following information)
Model Name: Dreame L10 Ultra dreame.vacuum.r2257o
Firmware Version [e.g. 1156]: 4.3.9_1609
Home Assistant Version: 2023.12.4
Configuration Type: With map support
Errors or warnings shown in the HA logs (if applicable): no error reported

Thank you for checking this!
Map switching method is set to manual switching in the Dreame app.

I have tried to do this. It is basically updates the state in the home assistant itself (for example the room entities are updated to the rooms of the selected floor) but there is no changes in the Dreame app.
In the contrast if change the dreamebot_l10_ultra_auto_empty_frequency entity in the home assistant it is almost immediately being reflected in the app

These are the logs written when changing map from id 8 to 4 using the map selector in the HA
2024-01-03 11:41:37.044 INFO (Thread-29 (_api_task)) [custom_components.dreame_vacuum.dreame.device] Send action UPDATE_MAP_DATA async [{'piid': 4, 'value': '{"sm":{},"mapid":4}'}]
2024-01-03 11:41:37.103 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 4:None took: 0.53
2024-01-03 11:41:39.673 INFO (Thread-2 (_thread_main)) [custom_components.dreame_vacuum.dreame.device] Property CUSTOMIZED_CLEANING Changed: 0 -> 1
2024-01-03 11:41:39.976 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 4:None took: 0.27
2024-01-03 11:41:40.669 INFO (Thread-2 (_thread_main)) [custom_components.dreame_vacuum.dreame.device] Property MAP_LIST Changed: ali_dreame/OH755361/639193794/9
2024-01-03 11:41:41.667 INFO (Thread-2 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] New object name received: ali_dreame/OH755361/639193794/1,I5kce40hYsG3Jxdh
2024-01-03 11:41:41.977 INFO (Thread-2 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] Decode I map 4 188
2024-01-03 11:41:42.272 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 4:188 took: 0.11
2024-01-03 11:41:43.670 INFO (Thread-51) [custom_components.dreame_vacuum.dreame.map] Get Map List: ali_dreame/OH755361/639193794/9
2024-01-03 11:41:43.778 INFO (Thread-51) [custom_components.dreame_vacuum.dreame.map] Saved map not changed: 4
2024-01-03 11:41:43.778 INFO (Thread-51) [custom_components.dreame_vacuum.dreame.map] Saved map not changed: 8

yes, now it is working fine. After i change it manually in HA .. after 5-10 seconds the map is updated in the app.
I have also just tried my automation and it is switching maps and starts the cleaning just as expected.
I am not sure what was this glitch that it was resetting the map the previous one. I will keep integration logs for couple days in case i can catch the issue and will update you if i find anything.
Thanks a lot for looking into this issue!

thanks for the suggestions. I will add long delays (>10s) in the automations that are changing the selected map and monitor robots behaviour

Hi @Tasshack
I have now faced the same issue and want to share logs with you. I am not able to re-open the issue (i think only repo collaborators can do this)
Anyway here is the summary once again.

I have two maps with ids 4 and 8
The robot is currently in the map 4
I start the automation which does the following

select map 8
wait for 15 seconds
start customised cleaning
pause after 3 seconds (so i can bring it to another floor)

what happens is:

in the HA UI i see that the map was changed (to the desired one with id 8)
there is a delay for 15 seconds
robot starts
as soon as it starts the map reverts to the previously selected (the one with id 4)
robot pauses

this is what i see in the logs:
2024-01-08 09:28:43.577 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 8:None took: 0.41
2024-01-08 09:28:44.218 INFO (Thread-9175) [custom_components.dreame_vacuum.dreame.device] Get Cleaning History
2024-01-08 09:28:44.500 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Skip render frame, map data not changed
2024-01-08 09:28:58.702 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Skip render frame, map data not changed
2024-01-08 09:28:58.736 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Skip render frame, map data not changed
2024-01-08 09:28:58.808 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Skip render frame, map data not changed
2024-01-08 09:28:59.084 INFO (SyncWorker_0) [custom_components.dreame_vacuum.dreame.device] Property MAP_LIST Changed: ali_dreame/OH755361/639193794/9
2024-01-08 09:28:59.291 INFO (SyncWorker_0) [custom_components.dreame_vacuum.dreame.device] Send action START_CUSTOM [{'piid': 1, 'value': 18}, {'piid': 10, 'value': '{"selects":[[1,1,1,2,1],[2,1,1,2,2]]}'}]
2024-01-08 09:29:00.744 INFO (Thread-4 (_thread_main)) [custom_components.dreame_vacuum.dreame.device] Property DUST_COLLECTION Changed: 1 -> 0
2024-01-08 09:29:02.633 INFO (Thread-4 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] New object name received: ali_dreame/OH755361/639193794/1,xEh6MbJQ5UsZVTja
2024-01-08 09:29:02.677 INFO (Thread-4 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] Map ID Changed: 8 -> 2
2024-01-08 09:29:02.732 INFO (Thread-4 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] Decode I map 2 161
2024-01-08 09:29:03.318 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 2:161 took: 0.56
2024-01-08 09:29:04.629 INFO (Thread-4 (_thread_main)) [custom_components.dreame_vacuum.dreame.device] Property CHARGING_STATUS Changed: 1 -> 2
2024-01-08 09:29:04.812 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 2:161 took: 0.13
2024-01-08 09:29:07.810 INFO (MainThread) [custom_components.dreame_vacuum.dreame.map] Render frame: 2:161 took: 0.12
2024-01-08 09:29:07.844 INFO (SyncWorker_4) [custom_components.dreame_vacuum.dreame.device] Send action PAUSE None

couple observations based on the logs:

there is no log line with Send action UPDATE_MAP_DATA async when there is the call to dreame_vacuum.vacuum_select_map. Previously when the map was switched successfully there was a line like this
i see a line like this Map ID Changed: 8 -> 2. Does it says that the selected map changed from id 8 to id 2? This is strange, because i have 2 camera entities and they say that my map ids should be 4 and 8. So i don't have map with id 2. In the UI i see that the map is changing to the one which is matching map_id 4

Do you have any ideas?

based on your suggestion i have replaced in my automation the way i change the map. So instead of calling dreame_vacuum.vacuum_select_map my automation now changes select.selected_map directly.
I did a run of the automation just now and it worked fine today.
Though the issue with not switching map seems to be random.. so i will keep an eye on the current automation for a couple days and will update you

an update from my side.
Last 4 runs of my automation on 4 consecutive days were working as expected. The map was switched and was not reverted to the previously selected as soon as the robot starts. The only difference to the previous version of the automation is the way the map is switched. In the current version it is being switched using select.selected_map directly.
I am not sure if that is just a coincidence but if not - there might be an issue with the way dreame_vacuum.vacuum_select_map. I am totally fine to use the map switching using the select instead of the service it is just maybe you want to have another look at the service or maybe update documentation in case someone else also faces same issue.
Thank you once again for your amazing integration - it adds so much value to me!

thanks, i will keep using named select.selected_map then


[SPARK-25477] “INSERT OVERWRITE LOCAL DIRECTORY”， the data files allo…

…cated on the non-driver node will not be written to the specified output directory
What changes were proposed in this pull request?
As  The "INSERT OVERWRITE LOCAL DIRECTORY" features use the local staging directory to load data into the specified output directory , the data files allocated on the non-driver node will not be written to the specified output directory.
In saveAsHiveFile.scala, the code is based on the output directory to determine whether to use the local staging directory or the distributed staging directory. I change the getStagingDir() method. Modify the first parameter from
" new Path(extURI.getScheme, extURI.getAuthority, extURI.getPath) " to "new Path(extURI.getPath)"
If spark depends on the distributed storage system, then it will be used first. If it is not, it will be used locally. You can directly adjust it to let it be automatically selected instead of specifying it according to the output directory.
How was this patch tested?
manual tests
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

What is the Hive behavior? I am thinking that INSERT OVERWRITE LOCAL DIRECTORY should collect all data to the driver.


[Feature Request] Gotify Webhook Support

Feature Description
Gotify is a great Notifications server (push such as for SMS/Android) that uses a REST API, I'd love to get notifications when builds are available/complete or something's pushed and the implementation would be rather easy to do (but I don't know Go). Would Gitea consider Gotify webhook support?
Screenshots
No response

Merging into https://github.com/go-gitea/gitea/issues/1089


OpenSSL issue with connecting

This PR will fix https://github.com/infinyon/fluvio/issues/1273.

bors r+


Re add default activated_state value to subjects table

Merge / deploy only after #1915 has been deployed and the default values filled in by the rake task.
Review checklist

[ ] First, the most important one: is this PR small enough that you can actually review it? Feel free to just reject a branch if the changes are hard to review due to the length of the diff.
[ ] If there are any migrations, will they the previous version of the app work correctly after they've been run (e.g. the don't remove columns still known about by ActiveRecord).
[ ] If anything changed with regards to the public API, are those changes also documented in the apiary.apib file?
[ ] Are all the changes covered by tests? Think about any possible edge cases that might be left untested.

LGTM. Don't know if you have any dependent branches so won't merge+squash for you.


About general activation function

Great thanks for inplace_abn, it increase batch size by 1.5 in my application!
I notice that InPlaceABN support  no activatation function, relu, elu, leaky relu now. May I ask how to implement other activation function like prelu?
Can we just use [InPlaceABN(depth, activation='none'), torch.nn.PReLU()]  , since PReLU seems not inplace operation?

@luzai
I first adopt [InPlaceABN(depth, activation='none'), torch.nn.PReLU()]. Since I have trained a model with [torch.nn.BatchNorm2d(depth), torch.nn.PReLU()], I want to load the state_dict into new model. But I find the validation accuracy drops from 94% to 88%.

Did you solve the accuracy drop problem?

@rotabulo
Since the forward implementation is different from the standard one, so we have to fuse convolution and batch normalization before we convert the model weight to onnx for deployment?

@twmht it should be possible to remap InplaceABN to ABN (i.e. BN + Activation) by simply remapping weight  to weight.abs_() + eps, where esp=1e-5 unless you changed the default value

@twmht @rotabulo While converting my torch model which uses inplace abn, to onnx I face the issue that inplace abn is not supported in onnx,is there any workaround for this?
The model has been trained with inplaceabn and now I want to exported the trained model to onnx.
Any suggestion is greatly appreciated.
Thank you

@poornimajd
you need to convert inplace abn to bn before converting to onnx.
as suggested

it should be possible to remap InplaceABN to ABN (i.e. BN + Activation) by simply remapping weight to weight.abs_() + eps, where esp=1e-5 unless you changed the default value

@twmht  Thank you for the suggestion.But if it is possible can you just tell me how do I change this weight to weight.abs_() + eps, in the code,or is it while loading the weights?


Add Azure support for remote_state auto initialization

Hi,
currently AWS and GCP are supported as part of the auto init feature of the terragrunt remote_state.

The following backends are currently supported by remote_state:
s3 backend
gcs backend
For all other backends, the remote_state block operates in the same manner as generate.

Terraform - Keep your remote state configuration dry
Is there any plan to add Azure as well? (that would cover the creation of Azure Resource group, Azure Storage Account and Azure Blob Container)

There is an open pull request for this (#1736) that unfortunately appears to have been abandoned.

Any plans for this?

This might also help with problems when the remote_backend file is renamed and terragrunt refuses to update the backend generated file before you run terraform init which of course requires the new file.

I experimented with an implementation of auto initialization with azure backend recently, and I have a working PoC already here. I wish I stumbled upon the old PR sooner, seeing it would have helped me a lot.
Can someone from Gruntwork clarify if they would be willing to review and accept a new PR that solves this issue? I want to know if there is interest before spending too much time making a proper PR with documentation and tests.

Following on from the discussion in this PR https://github.com/gruntwork-io/terragrunt/pull/1736#issuecomment-1412026680
I wonder if this is something that terragrunt could provide plugin support for to allow third parties to provide support for Azure and other cloud providers.


Make Spell Checker Language Configurable

Expected behavior The spell checker continues to check for the system's default language. However, the preferences have a drop-down that enables the user to override the default settings, using the system's installed dictionaries.
It's important that not simply all possible languages are offered, but it is instead actually checked which dictionaries are installed. We'll otherwise enter misbehaving-spell-checker-land.
Ref #144

I have added auto-correct shortcut texts on my OSX. However, I noticed the App doesn't actually let OSX do auto-correct in it. Not sure if it's under the same issue as mentioned above.

@flikteoh: I'm afraid that that is currently not possible - we're using the dictionary that is inside OS X, but we sadly can currently not directly implement the fully native OS X spellchecker.
If any open source warriors would like to try this in the future, the whole Electron community would be very thankful to you.
I'm closing this issue now, since we do have a configurable spell checker now.


Suggestion: show system notification when tsc --watch is used

We are currently using Visual Studio to develop our library with compileOnSave - whenever the compilation completes, the status bar displays "Output generated successfully.". It is a very small notification but still useful.
However, due to the issue described in #9417 we now have to move away from compileOnSave. One option is to use explicit build however that requires at least me to change my habits :smile:
The other option is to use tsc --watch. This would be preferred however the problem is the notification of when the compilation completes. I must have the console window open at top at all times to see the status of the compilation.
For our project I made a simple improvement to tsc.js using node-notifier package:
    function reportWatchDiagnostic(diagnostic) {
        // the original code goes here...
        //
        const notifier = require('node-notifier');
        notifier.notify({ title: "TypeScript compiler", message: output.substr(0, output.indexOf(ts.sys.newLine)) });
    }

In my opinion this makes the watch mode significantly easier to use.

It would be better if it provides a hook to add the next action if compile is successful.
Use case:
ava to run tests in watch mode:
// package.json
{
  "scripts": {
    "test": "tsc && ava" // currently working
    "watch": "tsc -w && ava" // something similar to this would be nice.
  }
}

Wonder if this was ever implemented, cant find anything else on google :-)

Doesn't seem to be a lot of demand for this and we'd like to keep the TypeScript package dependency-free as much as possible


Fix network interface names

Closes #122

Did we run tests against this? I see many issues where nics get weird names and stuff doesn't work as a result. It's either this PR or the systemvm template that I used (packer one, worked fine before and is also in prod).
See this:
May 21 12:26:18 r-12-VM udevd[291]: GOTO 'persistent_net_generator_end' has no matching label in: '/etc/udev/rules.d/75-persistent-net-generator.rules'
May 21 12:27:53 r-12-VM udevd[2433]: error changing net interface name rename3 to eth0: File exists
May 21 12:27:53 r-12-VM udevd[291]: GOTO 'persistent_net_generator_end' has no matching label in: '/etc/udev/rules.d/75-persistent-net-generator.rules'
May 21 12:27:53 r-12-VM udevd[291]: GOTO 'persistent_net_generator_end' has no matching label in: '/etc/udev/rules.d/75-persistent-net-generator.rules'

So public nic eth1 on VPC didn't work. The rules look like this:
root@r-14-VM:~# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:06:34:00:00:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

So that looks quite OK, but the device wasn't named like this. I decided to reboot from cmd line and then it became a real mess:
iroot@r-14-VM:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
2: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0e:00:a9:fe:02:e1 brd ff:ff:ff:ff:ff:ff
3: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 06:06:34:00:00:1a brd ff:ff:ff:ff:ff:ff
root@r-14-VM:~# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:06:34:00:00:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:06:34:00:00:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="rename*", NAME="rename3"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:06:34:00:00:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:06:34:00:00:1a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5"
root@r-14-VM:~#

On another router, same begin situation with the 'rename3 device'. Then added a tier:
root@r-12-VM:/etc/udev/rules.d# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:03.0/virtio0 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:9b:e8:00:00:19", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:06.0/virtio3 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:9b:e8:00:00:19", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="rename*", NAME="rename3"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:07.0/virtio4 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:00:72:66:00:02", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x1af4:/sys/devices/pci0000:00/0000:00:07.0/virtio4 (virtio_net)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:00:72:66:00:02", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
root@r-12-VM:/etc/udev/rules.d#

Two interfaces were reserved for the same mac address. Obviously, this gets out-of-sync.
Ping @borisroman @bheuvel

Jenkins tests results: https://beta-jenkins.mcc.schubergphilis.com/job/cosmic/job/0002-tracking-repo-branch-build/93/
Also many errors.

Created a new branch/same name with the correct commit (differs by one "). Running run_marvin_router_tests.sh in the bubble now, and it doesn't fail immediately.... :blush:


[Doc-Bug][whats new links]

fix links

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/meeting-transcripts/overview-transcripts.md
99
4
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit d96c6ae:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/graph-api/meeting-transcripts/overview-transcripts.md
:white_check_mark:Succeeded
View

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/meeting-transcripts/overview-transcripts.md
99
4
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 5ef7a20:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/graph-api/meeting-transcripts/overview-transcripts.md
:white_check_mark:Succeeded
View

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


text dump instead of graph

I am seeing this instead of graph
\x1b[0m\x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m                                                               \x1b[32m98%...
Results (0.73s):
      85 passed

The dump is very very long. It's supposed to be rendered to graph. I am inside a docker container, what could be the reason, please? I have tested color display, it's ok. The 85 passed part is in green.

Do you run docker with -it - if not, does that change anything?

Yes, I specified --rm -t -i, and then py.test interactively inside the docker container.

I'm seeing the same issue if I run tests inside docker, it looks like it is escaping the control character as "\x1b" perhaps?  Very odd.

Here's some more data points:
>>> import sys
>>> sys.stdout.encoding
'ANSI_X3.4-1968'
>>> import py.io
>>> tw = py.io.TerminalWriter(sys.stdout)
>>> tw.write(u'\r \x1b[36mfilename.py\x1b[0mtest_name\x1b[0m \x1b[32m\u2713\x1b[0m\n\n')
\r \x1b[36mfilename.py\x1b[0mtest_name\x1b[0m \x1b[32m\u2713\x1b[0m\n\n>>>

Note how when the encoding is 'ANSI_X3.4-1968' it puts in the escape characters.
Outside of docker this works fine:
>>> import sys
>>> sys.stdout.encoding
'UTF-8'
>>> import py.io
>>> py.io.TerminalWriter(sys.stdout).write(u'\r \x1b[36mtest_bridge.py\x1b[0mtest_bridge_hawk_nonces_capacity\x1b[0m \x1b[32m\u2713\x1b[0m\n\n')
 test_bridge.pytest_bridge_hawk_nonces_capacity ✓

Workaround:
# PYTHONIOENCODING=UTF-8 python
Python 2.7.3 (default, Jun 22 2015, 19:33:41)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.stdout.encoding
'UTF-8'
>>> import py.io
>>> py.io.TerminalWriter(sys.stdout).write(u'\r \x1b[36mtest_file.py\x1b[0mtest_name\x1b[0m \x1b[32m\u2713\x1b[0m\n\n')
 test_file.pytest_name ✓

I do wish I knew why sys.stdout.encoding was UTF-8 outside docker and ANSI_X3.4-1968 within.

ANSI_X3.4-1968 is a fancy way to say ASCII, so I'm guessing locale will show a C locale inside docker, i.e. the locale was not generated/configured properly.

Inside docker:
root@d4cf4ef0c83f:/# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Outside docker:
$ locale
LANG=en_CA.UTF-8
LANGUAGE=
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=

Anyway, it this point it's pretty clearly a docker issue, not a pytest-sugar issue.  This issue should hopefully serve as a reference for other who run into this problem.

Or instead of setting PYTHONIOENCODING, setting up the locale correctly in the Dockerfile should work, and might help with other things that rely on locale as well:
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

(from http://jaredmarkell.com/docker-and-locales/)

I've got this error too without using Docker but Tox.
$ tox -r  -epy27
py27 recreate: /home/vagrant/Cloud/git/nimbus-sirocco/.tox/py27
py27 installdeps: -r/home/vagrant/Cloud/git/nimbus-sirocco/requirements.txt, -r/home/vagrant/Cloud/git/nimbus-sirocco/requirements-test.txt
py27 installed: apache-libcloud==0.14.0,cffi==1.6.0,cookies==2.2.1,coverage==4.1,cryptography==1.3.2,enum34==1.1.6,flasgger==0.5.12,Flask==0.10.1,Flask-Cache==0.13.1,flup6==1.1,functools32==3.2.3.post2,idna==2.1,ipaddress==1.0.16,itsdangerous==0.24,Jinja2==2.8,jsonschema==2.5.1,ldap3==<IP_ADDRESS>,libraries==3.2.2,MarkupSafe==0.23,mistune==0.7.2,mock==1.0.1,mysql-connector-python==2.0.4,netaddr==0.7.18,py==1.4.31,pyasn1==0.1.9,pycparser==2.14,pyOpenSSL==0.15.1,pytest==2.9.2,pytest-cov==2.2.0,pytest-sugar==0.7.1,pyvmomi==<IP_ADDRESS>6.4,PyYAML==3.11,requests==2.7.0,responses==0.5.1,six==1.9.0,termcolor==1.1.0,vmware-api==3.16.0,Werkzeug==0.11.10
py27 runtests: PYTHONHASHSEED='2820986654'
py27 runtests: commands[0] | py.test --ignore=venv
Test session starts (platform: linux2, Python 2.7.10, pytest 2.9.2, pytest-sugar 0.7.1)
rootdir: /home/vagrant/Cloud/git/nimbus-sirocco, inifile:
plugins: cov-2.2.0, sugar-0.7.1

\r \x1b[36mnimbussirocco/integration_tests/api/v1/\x1b[0mtest_api_catalog.py\x1b[0m \x1b[32m\u2713\x1b[0m                                                                                \x1b[32m1% \x1b[0m\x1b[40m\x1b[32m\u258f\x1b[0m\x1b[40m\x1b[32m         \x1b[0m\r \x1b[36mnimbussirocco/integration_tests/api/v1/\x1b[0mtest_api_catalog.py\x1b[0m \x1b[32m\u2713\x1b[0m\x1b[32m\u2713\x1b[0m                                                                                \x1b[32m1% \x1b[0m\x1b[40m\x1b[32m\u258e\x1b[0m\x1b

But if i use directly py.test it works :
$ .tox/py27/bin/py.test --ignore=venv
Test session starts (platform: linux2, Python 2.7.10, pytest 2.9.2, pytest-sugar 0.7.1)
rootdir: /home/vagrant/Cloud/git/nimbus-sirocco, inifile:
plugins: cov-2.2.0, sugar-0.7.1

 nimbussirocco/integration_tests/api/v1/test_api_catalog.py ✓✓                                                                                1% ▎

Any idea how fix that ?

Just to add that this happens when the test is run on a jenkins server, as well if the output is sent to the browser.

Same thing happens to me on Windows 10 cmd.

@Sup3rGeo You might wanna take a look into https://github.com/Frozenball/pytest-sugar/pull/49#issuecomment-146567670


unpacker: don't log when context is canceled

When using the client pull API, Client.Pull, I'm noticing that if the context is canceled, for instance, due to a SIGINT, there is a spurious log message "failed to cleanup" with the error "context canceled". This is coming from the unpacker.
I'd like to silence this log message if the cleanup fails because of a context canceled or timeout. The three places where this happens will already return a context.Canceled error, which bubbles up to the API caller.

I'd like to silence this log message

Why?

The three places where this happens will already return a context.Canceled error, which bubbles up to the API caller.

This is not true if the cancel occurs during executing Remove.
The following also doesn't bubble up "context cancelled" error.
		if diff.Digest != diffIDs[i] {
			abort()
			return errors.Errorf("wrong diff id calculated on extraction %q", diffIDs[i])
		}

I'd like to silence this log message

Why?
When using the client API, if our process gets a SIGINT, we cancel the context and handle the errors that result from that. However, we're getting this extra log message that shows up in our metrics as an extra error.

I would like to be able to handle this error in our process but I'm not seeing a way to do that other than just silencing it. I'm open to any suggestions to implement something that allows the caller to receive this error and decide what to do with it.

The three places where this happens will already return a context.Canceled error, which bubbles up to the API caller.

This is not true if the cancel occurs during executing Remove.
The following also doesn't bubble up "context cancelled" error.
		if diff.Digest != diffIDs[i] {
			abort()
			return errors.Errorf("wrong diff id calculated on extraction %q", diffIDs[i])
		}

Ah, I missed that, thanks for pointing that out. I was definitely thinking this seemed on the fragile side and wasn't sure what machinery and other things I was missing.

Handled in #7859


Installation fails with "squizlabs/php_codesniffer/CodeSniffer.php" file not found error

I'm trying to set up the php-console server portion to use on a Drupal 8 web site. composer require php-console/php-console call (in the root of my Drupal installation with a composer.json file) fails with the following output:
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Exception.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/File.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Fixer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Report.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reporting.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Sniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokens.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/" which does not appear to be a file nor a folder
Using version ^3.1 for php-console/php-console
./composer.json has been updated
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Exception.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/File.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Fixer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Report.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reporting.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Sniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokens.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/" which does not appear to be a file nor a folder
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Exception.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/File.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Fixer.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Report.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reporting.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Sniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokens.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/" which does not appear to be a file nor a folder
Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/" which does not appear to be a file nor a folder
> Drupal\Core\Composer\Composer::preAutoloadDump

Installation failed, reverting ./composer.json to its original content.

  [RuntimeException]
  Could not scan for classes inside "/srv/http/mysite.com/vendor/squizlabs/php_codesniffer/CodeSni
  ffer.php" which does not appear to be a file nor a folder

require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...

Haven't had the time to muck around with any other attempts to get things working. Hoping someone else has had this issue and been able to resolve it fairly simply.

I think this is a drupal specific issue, so I've opened an issue over at https://www.drupal.org/project/issues/pc/2922810


[Event Request] Table 36 - Sales Header - OnBeforeMessageIfSalesLinesExist

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnBeforeMessageIfSalesLinesExist to be added to Table 36 Sales Header with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeMessageIfSalesLinesExist(SalesHeader: Record "Sales Header"; ChangedFieldCaption: Text; var IsHandled: Boolean)
    begin
    end;

with VAR parameter IsHandled.
which would be called as follows from MessageIfSalesLinesExist:
    procedure MessageIfSalesLinesExist(ChangedFieldName: Text[100])
    var
        MessageText: Text;
        IsHandled: Boolean;
    begin
        // >> New event call
        OnBeforeMessageIfSalesLinesExist(Rec, ChangedFieldName, IsHandled);
        ifIsHandled then
          exit;
        // << New event call

        if SalesLinesExist and not GetHideValidationDialog then begin
            MessageText := StrSubstNo(LinesNotUpdatedMsg, ChangedFieldName);
            MessageText := StrSubstNo(SplitMessageTxt, MessageText, Text019);
            Message(MessageText);
        end;
    end;

The event already exists for the similar procedure PriceMessageIfSalesLinesExist requested in #3447.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.