KeyError while trying to retrain on Pascal

Hello
I am facing a little issue.
I am trying to retrain the model on Pascal Voc 2012 dataset.
I took the coco like annotations from this source:
https://github.com/facebookresearch/multipathnet
Then I follow the instruction concerning the modification to do in the file config.py
But when I call : python train.py --config=yolact_base_config
I receive the following error:
KeyError: 'Traceback (most recent call last):\n  File "/home/smile/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in _worker_loop\n    samples = collate_fn([dataset[i] for i in batch_indices])\n  File "/home/smile/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in <listcomp>\n    samples = collate_fn([dataset[i] for i in batch_indices])\n  File "/hdd1/prog/yolact/data/coco.py", line 88, in __getitem__\n    im, gt, masks, h, w, num_crowds = self.pull_item(index)\n  File "/hdd1/prog/yolact/data/coco.py", line 145, in pull_item\n    target = self.target_transform(target, width, height)\n  File "/hdd1/prog/yolact/data/coco.py", line 39, in __call__\n    label_idx = self.label_map[obj[\'category_id\']] - 1\nKeyError: 12\n'
The error is quite not clear to me.
So what I did is create a new dataset:
PASCAL_VOC_CLASSES = ("aeroplane", "bicycle", "bird", "boat", "bottle",
		      "bus", "car", "cat", "chair", "cow", "diningtable",
        	      "dog", "horse", "motorbike", "person", "pottedplant",
		      "sheep", "sofa", "train", "tvmonitor")

PASCAL_VOC_LABEL_MAP = { 1:  1,  2:  2,  3:  3,  4:  4,  5:  5,  6:  6,  7:  7,  8:  8,
                   9:  9, 10: 10, 11: 11, 13: 12, 14: 13, 15: 14, 16: 15, 17: 16,
                  18: 17, 19: 18, 20: 19, 21: 20}

pascalvoc2012_dataset = dataset_base.copy({
    'name': 'PASCAL VOC 2012',

    'train_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'train_info':'/home/smile/multipathnet/data/annotations/pascal_train2012.json',

    'valid_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'valid_info':'/home/smile/multipathnet/data/annotations/pascal_val2012.json',

    'label_map': PASCAL_VOC_LABEL_MAP
})

I created a new base_config that only which call the dataset I previously created with the proper number of classes:
pascalvoc_base_config = Config({
    'dataset': pascalvoc2012_dataset,
    'num_classes': 21, # This should include the background class
...

All the other fields are let untouch.
Finally I adapted yolact_base_config:
#yolact_base_config = coco_base_config.copy({
yolact_base_config = pascalvoc_base_config.copy({
    'name': 'yolact_base',

    # Dataset stuff
#    'dataset': coco2017_dataset,
#    'num_classes': len(coco2017_dataset.class_names) + 1,

    'dataset': pascalvoc2012_dataset,
    'num_classes': len(pascalvoc2012_dataset.class_names) + 1,

Here also all the other fields are let untouch.

So what the label map does is it takes the category_id from the annotation and basically uses this to find the proper class name:
the_class_name = dataset.class_names[dataset.label_map[category_id] - 1]

The error indicates that there was a category_id of 12, which was not found in the label map. Looking at the label map you defined, it seems like you skipped 12? Was that intentional? If it was, something may be wrong with your annotations.
Also I noticed in your pascalvoc2012_dataset, you don't have class_names set. You should set it to PASCAL_VOC_CLASSES or else it'll use the COCO class names by default, which will cause a lot of other errors.
And finally, for your yolact_base_config, you do not need to define your own alternative to coco_base_config. Just overwriting dataset and num_classes in yolact_base_config (as you already have done) is enough.

Hello
I effectively forget to set the proper class names.
I inspired the category ids from the one you set for coco in which category id 12 among other is also missing.
Actually this is something that I did not understood why COCO_LABEL_MAP keys start to 1 but finish at 90 ?

The reason for COCO_LABEL_MAP to exist is because the category ids in COCO aren't sequential. During development they removed some classes (there were originally 90) but kept the IDs the same, so while for instance toothbrush is the 80th element in COCO_CLASSES, in the annotations it's actually category_id 90. Thus for COCO, that map is necessary to get from category_id to index in the class_names list. For most datasets without that kind of issue, it can be omitted (set to None, which will load the identity map; i.e., x maps to x).
So I don't think you need a label_map at all. Just set label_map to None and it should work.

Ok I understand.
Actually by resetting the PASCAL_LABEL from 1 to 20 and setting properly the PASCAL_VOC_CLASSES
I am now able to do the training :).
Thank you for your help :)

Glad to hear that! Feel free to let me know if you have any other issues.

Hello
I am facing a little issue.
I am trying to retrain the model on Pascal Voc 2012 dataset.
I took the coco like annotations from this source:
https://github.com/facebookresearch/multipathnet
Then I follow the instruction concerning the modification to do in the file config.py
But when I call : python train.py --config=yolact_base_config
I receive the following error:
KeyError: 'Traceback (most recent call last):\n File "/home/smile/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in _worker_loop\n samples = collate_fn([dataset[i] for i in batch_indices])\n File "/home/smile/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in <listcomp>\n samples = collate_fn([dataset[i] for i in batch_indices])\n File "/hdd1/prog/yolact/data/coco.py", line 88, in __getitem__\n im, gt, masks, h, w, num_crowds = self.pull_item(index)\n File "/hdd1/prog/yolact/data/coco.py", line 145, in pull_item\n target = self.target_transform(target, width, height)\n File "/hdd1/prog/yolact/data/coco.py", line 39, in __call__\n label_idx = self.label_map[obj[\'category_id\']] - 1\nKeyError: 12\n'
The error is quite not clear to me.
So what I did is create a new dataset:
PASCAL_VOC_CLASSES = ("aeroplane", "bicycle", "bird", "boat", "bottle",
		      "bus", "car", "cat", "chair", "cow", "diningtable",
        	      "dog", "horse", "motorbike", "person", "pottedplant",
		      "sheep", "sofa", "train", "tvmonitor")

PASCAL_VOC_LABEL_MAP = { 1:  1,  2:  2,  3:  3,  4:  4,  5:  5,  6:  6,  7:  7,  8:  8,
                   9:  9, 10: 10, 11: 11, 13: 12, 14: 13, 15: 14, 16: 15, 17: 16,
                  18: 17, 19: 18, 20: 19, 21: 20}

pascalvoc2012_dataset = dataset_base.copy({
    'name': 'PASCAL VOC 2012',

    'train_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'train_info':'/home/smile/multipathnet/data/annotations/pascal_train2012.json',

    'valid_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'valid_info':'/home/smile/multipathnet/data/annotations/pascal_val2012.json',

    'label_map': PASCAL_VOC_LABEL_MAP
})

I created a new base_config that only which call the dataset I previously created with the proper number of classes:
pascalvoc_base_config = Config({
    'dataset': pascalvoc2012_dataset,
    'num_classes': 21, # This should include the background class
...

All the other fields are let untouch.
Finally I adapted yolact_base_config:
#yolact_base_config = coco_base_config.copy({
yolact_base_config = pascalvoc_base_config.copy({
    'name': 'yolact_base',

    # Dataset stuff
#    'dataset': coco2017_dataset,
#    'num_classes': len(coco2017_dataset.class_names) + 1,

    'dataset': pascalvoc2012_dataset,
    'num_classes': len(pascalvoc2012_dataset.class_names) + 1,

Here also all the other fields are let untouch.
EDIT
After applying the modifications discussed here the dataset configuration in order to train Pascal Voc is:
MEANS_PV = (103.17, 111.70, 116.69)
STD_PV = (61.11, 59.89, 61.00)

PASCAL_VOC_CLASSES = ("aeroplane", "bicycle", "bird", "boat", "bottle",
		      "bus", "car", "cat", "chair", "cow", "diningtable",
        	      "dog", "horse", "motorbike", "person", "pottedplant",
		      "sheep", "sofa", "train", "tvmonitor")

PASCAL_VOC_LABEL_MAP = { 1:  1,  2:  2,  3:  3,  4:  4,  5:  5,  6:  6,  7:  7,  8:  8,
                   9:  9, 10: 10, 11: 11, 12: 12, 13: 13, 14: 14, 15: 15, 16: 16,
                  17: 17, 18: 18, 19: 19, 20: 20}

pascalvoc2012_dataset = dataset_base.copy({
    'name': 'PASCAL VOC 2012',

    'train_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'train_info':'/home/smile/multipathnet/data/annotations/pascal_train2012.json',

    'valid_images':'/media/smile/45C142AD782A7053/Datasets/PASCAL_VOC/VOC2012/VOCdevkit/VOC2012/JPEGImages/',
    'valid_info':'/home/smile/multipathnet/data/annotations/pascal_val2012.json',

    'label_map': PASCAL_VOC_LABEL_MAP,
    'class_names': PASCAL_VOC_CLASSES,
})

@JSharp4273 Hello,in order to transfer voc to coco,you mentioned that "pascal_val2012.json"can be  downloaded from 'https://github.com/facebookresearch/multipathnet'.
But in this project and links,i cannot find "pascal_val2012.json".
Can you give me specific link for "pascal_val2012.json"?
Many thanks to you.

Hello @jingtingxu369
I retake a look and actually I think you need to follow the instructions related to the data preparation.
In my case the file pascal_val2012.json is located there:
/multipathnet/data/annotations/pascal_val2012.json

@JSharp4273 Hi,Can you share "pascal_val2012.json""pascal_train2012.json" with me?My my email<EMAIL_ADDRESS>you for you kind generosity.


Enabling GB Display Modes on GB cores

With the new update, there are generic display modes enabled on cores, and then specific display modes enabled on cores they were specifically designed for.
The GameBoy has its 3 display modes, but these modes require cores to output video in a specific way. Only budude's GB core (also GBC and Boogerman's Irem M92 core) support these modes in openFPGA at the moment.
The spiritualized GB core does not support these display modes, as far as I'm aware, so should pupdate being enabling them on that core?
(sorry if this was already discussed and decided upon)

hm yeah, right now it just maps the display modes to the matching cores, based on their platform. I guess we could add a special case to exclude the spiritualized one

Yeah that's a tough one. There's an ability coming soon to allow you to control what display modes go where as well as a curated list, but it keys off of platform Id so not exactly straight forward to exclude the spiritualized cores.

I figured out how to do this. I added a exclude cores option to the display modes json file. It's included in #349


Travis CI Python build matrix simplification

Affected Issues

Relates #100
Relates #101

Proposed Changes

Simplify build matrix

Build matrix wasn't used correctly
https://github.com/travis-ci/travis-ci/issues/8032


Edit "Contact Us" page

Addresses #13
Summary of changes:

Removes Raijin repo issues and discussion buttons
Removes flow chart diagram
A couple Uxarray -> UXarray

@erogluorhan I don't have the permissions turn of discussions and project boards for this repo as discussed in #6, but this should cover changes to the website

@erogluorhan I don't have the permissions turn of discussions and project boards for this repo as discussed in #6, but this should cover changes to the website

I have done this; thanks, Anissa!


Add Projected volume configuration for Google's WIF

We have added configuration for the Projected volume needed for Google's Workload Identity federation. Here we have assumed that an OIDC is set up in OpenShift/kubernetes which project tokens at the specified path.

@vdemeester In GCS credentials secret, we pass a json that has a credential source field. This is used by Google library to determine the short lived token path.
If I create a second example, won't it have only this volume change?

If I create a second example, won't it have only this volume change?

Not sure I understand the question, but yes most likely.


Error log showing in production

Describe the feature
Hello
While using i8n in Nuxt 3, I am facing an issue regarding the error log. The error log is shown in the production in runtime. It would be better if the error log could be omitted in the production or can be captured. It is important as the error cannot be captured in the plugin or middleware in runtime.

Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).
[X] Check existing discussions and issues.

It's not error, so warning message.
If you are getting that message, then you either do not have translation resources set, or you specified the wrong key.
If you do not want the warning output, you can suppress it by specifying the following optoins to i18n.config

missingWarn
fallbackWarn


travis updates

don’t test in Node 7, it’s no longer supported
sudo: false no longer needed
retry npm install in case of connectivity issues
don’t build twice for pull requests

Coverage remained the same at 92.664% when pulling 6824cee2c8aa1a3c17f31d7386605375a3cbc74b on chore/travis-dont-build-twice into 2e4554859dc5ee12cdcb9615d925c0294c5f9bba on master.

Coverage remained the same at 92.664% when pulling 90b0d96ba0e8b6520ad7035f382d9fd8c74bb615 on chore/travis-dont-build-twice into 2e4554859dc5ee12cdcb9615d925c0294c5f9bba on master.


API TechDebt

Links to Jira Tickets

Fix user set context and api_update_system_user functions in db
Fix App Router and role Guards

Description of Changes

{List all relevant code changes. Include any changes to the business workflow that might not be obvious to the reviewers of this PR.}

Testing Notes

{List any relevant testing considerations, necessary pre-reqs, and areas of the app to focus on. Specifically, include anything that will help the reviewers of this PR verify the code is functioning as expected.}

creator role cannot open a project or plan
console shows: GET https://api-dev-nert.apps.silver.devops.gov.bc.ca/api/project/1/view 403 (Forbidden)

creator role cannot open a public project or plan console shows: GET https://api-dev-nert.apps.silver.devops.gov.bc.ca/api/project/1/view 403 (Forbidden) when creating a project or plan cannot edit

Not sure how to replicate. I am able to view both projects and plans as a creator role.


carrier push with no user.name and user.email configured in git

When running carrier push but you don't have a user.email and user.name globally set for git you get an error:
From http://gitea.<IP_ADDRESS>.nip.io/dev/dizzy
 * [new branch]      main       -> carrier/main
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email<EMAIL_ADDRESS>  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: no email was given and auto-detection is disabled
error: src refspec master does not match any

Carrier should assume any specific git configuration on the user's machine.
NOTE: If cf cli is supposed to do the pushing from here on, then we can close this issue.

We committed fully to the go-based cli.

We committed fully to the go-based cli.

Wait, I may have been too fast ... This said cf cli, no cli, carrier/go.
@jimmykarily Will/Could this be(come) an issue in the carrier/go also ? If yes, please re-open.

Wait, I may have been too fast ... This said cf cli, no cli, carrier/go.
@jimmykarily Will/Could this be(come) an issue in the carrier/go also ? If yes, please re-open.

I'm not sure how the code will be uploaded in the future. For this first version I assume we will be calling and external git binary (?). @viovanov was planning to work on this part of the cli. I external git is called then this could still be an issue.

I'm not sure how the code will be uploaded in the future. For this first version I assume we will be calling and external git binary (?). @viovanov was planning to work on this part of the cli. I external git is called then this could still be an issue.


Poedit Security vulnerabilities FAQ

Hey, Poedit
If me find a poedit security vulnerability, can I notify you team?
It would be better if your team has emails for me to submit a report.
Regards,

Please see https://poedit.net/support for contact information. My personal email is also trivially discoverable with minimal git || github competency; feel free to use that too.


Travis maintenance

use gcc-8
update wabt to 0.6.
don't run cargo-deadlinks in CI. It keeps getting us problems, e.g. this. It's time to get rid of it.

LGTM :+1:


Don't use flags in spell when spelllang disabled

In vimscript, 0 ==? 'foo' is true, as it converts the string to a number, which results in 0 for non-numeric strings. As such, it will use flags even though they have been disabled.

thanks!


Bug in builder/tests/07-repeated-field.rs

Line 35 and 36 cause a "duplicate definitions with name 'env'" error.

This sounds like a bug in your implementation of the macro? The invocation looks like it should work to me. There is only one env field.
https://github.com/dtolnay/proc-macro-workshop/blob/645767065a4fe4f17085e714347638fbfb97b4f8/builder/tests/07-repeated-field.rs#L30-L38

I think the test expectations could be better documented.  When the "each" name is the same as the field name (as is the case with "env" here), it's not possible to generate both a one-at-a-time setter AND an all-at-once setter.
The correct result could be any of the following:

Don't emit an all-at-once setter function if the one-at-a-time function is requested
Emit both functions unless there's a name collision, in which case emit only the one-at-a-time fn.
Emit both functions unless there's a name collision, in which case emit only the all-at-once fn.
Throw a compiler error if there's a name collision.

If you meant for the name collision to be allowed, then (4) is no good.  (3) seems at odds with the programmer's attempt to add something.  (1) is maybe too limiting, and (2) seems like a weird side-effect-at-a-distance ("I added B, why did A go away?").
I think @jonhoo found this confusing during his stream too; he went with (2).

Ah, makes sense. I think I had 1 in mind in the reference implementation but 2 would be fine too. I would accept a PR to clarify this in the test case. Thanks!


change fillColor?

is it possible to change the fill color of the svg?
thanks

If anyone finds it helpful you can specify a className directly on the Icon element.
Then define css as:
.someClassName g {
    fill: 'red';
}

That one should paint it red.

@gor181 yeah i also found out that svgs are equipped with .cls-1 class and sometimes even <style> tags, which make it hard to maintain through css.
i ended up cleaning my svg files source code

Thanks for this @gor181 - it works!
Just wondering if there's an inline solution, that we can pass down as props, instead of having to create a CSS class for every color? Can't see it as an option in the docs/
Thanks for any help.

const iconColor = "black";
and then add this in your render() method:


Merging nested readonly structured configs doesn't work.

Describe the bug
Merging nested readonly structured configs doesn't work.
There seems to be code to temporarily unset the read-only property of the outer-most container prior to merge to make this work in OmegaConf.merge. I believe the issue is that this logic needs to be recursive.
To Reproduce
from omegaconf import OmegaConf, MISSING
from dataclasses import dataclass

@dataclass(frozen=True)
class A:
    x: int = MISSING

@dataclass(frozen=True)
class B:
    a: A = MISSING
    b: int = 1

# This is the config
b = OmegaConf.structured(B(a=A()))
print(b)
# ==> {'a': {'x': '???'}, 'b': 1}

# Works
print(OmegaConf.merge(b, {"b": 3}))
# ==> {'a': {'x': '???'}, 'b': 3}

# Doesn't work
print(OmegaConf.merge(b, {"a": {"x": 3}}))
# ...
# ReadonlyConfigError: Cannot set value of read-only config node
#    full_key: a.x
#    reference_type=A
#    object_type=A

Expected behavior
Merging nested structured readonly configs should work.

@amatsukawa this behavior is as expected.
See the omegaconf.read_write context manager: https://omegaconf.readthedocs.io/en/2.0_branch/usage.html#read-only-flag.
>>> conf = OmegaConf.create({"a": {"b": 10}})
>>> OmegaConf.set_readonly(conf, True)
>>> with read_write(conf):
...   conf.a.b = 20
>>> conf.a.b
20

Thanks, for the report, @amatsukawa.
For now, you can work around this issue using the read_write context manager to temporarily turn off the frozen state of the config.
from omegaconf import read_write

...

with read_write(b.a):
    print(OmegaConf.merge(b, {"a": {"x": 3}}))

Thanks for the response @Jasha10.
For those who come later: indeed that was the workaround I had come to, but to use merge with (1) an arbitrarily nested structured template config and (2) unknown (ahead of time) updates in the second argument of the merge, I had settled on recursively setting the readonly flag to false on every DictConfig and ListConfig object.


Bug with the transition between biomes on the water

The problem is that the transition between water biomes looks too harsh
It doesn't look like this on the hip
it should look like this only on a swamp in old versions
Idea Make it only applied to swamp biomes And it is better to make this function optional in the mod menu
since new versions of bedrock have not had this since update 1.13 aquatic
photo water And bug imgur https://imgur.com/a/Zubg8sI

Sorry for the late response, since version 1.6.0 this issue has been fixed!


Wrong regex in FtpFile

Hi,
if you use a ftp server with "@" in usernames (which is default on Froxlor + proftpd), the regex in class FtpFile doesn't matches:
02:44:58.628 [vert.x-eventloop-thread-0] ERROR java.io.File - line drwxr-xr-x   2<EMAIL_ADDRESS>EXAMPLE       4096 Dec 15 00:38 client does not match dir re

The problem is this line in class FtpFile:
private static Pattern filere = Pattern.compile("(.)......... +\\d+ +\\d+ +\\d+ +(\\d+) ([A-Z][a-z][a-z] +\\d+ +(?:(?:\\d\\d:\\d\\d)|(?:\\d+))) (.*)");

Here, we have to add the "@" in [A-Z][a-z][a-z].

@bckfnn Maybe there is also another problem in the regex. Without "@" it also doesn't matches.

This regex works for me:
Pattern filere = Pattern.compile("(.).........+(\\d+<EMAIL_ADDRESS>+([A-Za-z0-9]+) +(\\d+) ([A-Z][a-z][a-z]) +(\\d+) +(\\d+):(\\d+) +([A-Za-z0-9@\\.]+)");


Make the quorum generator algorithm parameters configurable

Split off from https://github.com/bpfkorea/agora/pull/1072

Fixed issues.


Added rows 1

Added "rows=1" by default to textarea, because there was a problem with size of empty textarea

@AskseL we mustn't add such hardcode for the whole package since it's already used in other projects so such trick will affect them. That is something that only you need so don't add this globally. I propose to find out the reason and solve the issue more proper way. Did you try to use the min-height prop? Could you provide some reproduction repo or Codepen?


[GDExtension] Skip unset getter/setter/index fields in class property

There is no reason to have "index": -1 or "setter": ""/"getter": "" fields in extension_api.json
before:
{
    "name": "AnimationPlayer",
    [...]
    "properties": [
        {
            "type": "float",
            "name": "current_animation_length",
            "setter": "",
            "getter": "get_current_animation_length",
            "index": -1
        },

after:
{
    "name": "AnimationPlayer",
    [...]
    "properties": [
        {
            "type": "float",
            "name": "current_animation_length",
            "getter": "get_current_animation_length",
        },

BTW I had to use the ugly !(setter == "") because StringName doesn't support operator!= with char *, do you think we should add it instead ?

@YeldhamDev you add this to the 4.x milestone, I'd rather have it in the 4.0 given this will change the gdextension_api.json format which is a breaking change ;-)

rebased ;-)

I was wondering how this is handle in godot-cpp, but I don't see any direct reference to using the setter and getter strings from the JSON. On the other hand I found this, which seems a bit naive?
https://github.com/godotengine/godot-cpp/blob/4c5cfe3876aecd0a50f332eb6f8bcc371c509b7c/binding_generator.py#L545-L550
But I'm not really familiar with how this binding generator works so this may not be directly related.

Thanks!


Broken documentation

http://ublaboo.paveljanda.com/image-storage/get-and-transform - return error 500

Thanks, i had old version in composer.json. Fixed.


Where are the finger prints stored and can you access them?

Fingerprints data isn't exposed externally for security reasons.
The methods exposed in the FingerprintManager are the available methods externally.

Thanks for the speedy reply, do you know if google collects the fingerprint images?

I am closing this issue/PR, as it has been migrated to the new repo linked above in the comments. Thank you!


[NT-1942] Empty State Styling and Datasource Update

📲 What
This PR wraps up the remaining work on the empty state view if there are no comments. ticket.
🤔 Why
Whenever a project has no comments its good to inform the user of this state instead of leaving them with a blank page.
🛠 How
The styling was using the existing PaddingLabel and the section update required clearing the CommentsDataSource.Section.empty before appending to the CommentsDataSource.Section.comments
, otherwise both the empty cell and comment cell would show when refreshing with a new comment.
👀 See
Trello, screenshots, external resources?

Before 🐛
After 🦋

♿ Accessibility
🏎 Performance
✅ Acceptance criteria

[x] Ensure designs are as expected
[x] Ensure composer view only shows for logged in backers
[x] Ensure blocked composer view shows for logged in nonbackers
[x] Ensure no composer view shows for not logged in users
[x] Ensure posting a comment updates empty state optimistically (dependency)

⏰ TODO

[x] Check last requirement above once Post Comment PR is merged

SwiftFormat found issues:

File
Rules

Kickstarter-iOS/Views/Controllers/CommentsViewControllerTests.swift:10:1
warning: (indent) Indent code in accordance with the scope level.

  Generated by :no_entry_sign: Danger


Support kotlin coroutines

Resolves: #383
Inspired by https://github.com/stas29a/coroutine-feign-client
TODO

[ ] Separate Kotlin support module
[ ] Enhance test case
[ ] Refactoring
[ ] Clean up pom.xml

Any update on this? Would be nice to have this feature!

@AdRyAniP OpenFeign 12 supports Coroutine
https://github.com/OpenFeign/feign/pull/1706

Planning to merge this one soon @wplong11 ?, its looking good.

We need this :(

Any idea on when this PR will be merged?


:class behaviour changed between patch version

Vue.js version
1.0.19 ~ 1.0.26
Reproduction Link
v1.0.13
https://jsfiddle.net/thammin/ddw05t83/3/
v1.0.26
https://jsfiddle.net/thammin/70mc1pr1/8/
I found that the behaviour of :class had changed after https://github.com/vuejs/vue/pull/2540 is patched.
Maybe we could add tests to cover this behaviour?

This is a behavior change, but the latest behavior is the "fixed" behavior, because it follows a simple rule: a static class means that class will always be there.
If you want to programmatically control the presence of foo, you shouldn't have it as a static class in the first place.

Thanks for the clear reply about which behavior is correct and the beautiful project you had worked!
Btw I just thought that this could be add to the test since it changed after https://github.com/vuejs/vue/pull/2540.


Building problem with Visual Studio 2017

Hi again! I am working with Visual Studio 2017 (15.6.2) in Windows 10 x64.
According to the README it seems that this project has only been tested with g ++.
But I see no reason why this project can not be cross-platform.
With that hope, I want to report an incident:
Simply, I am trying to run the sample main.
I had a first problem with:
const auto minimum_support_threshold = 3;

I get a:
[...]\fp-growth\src\main.cpp(80): error C2398: Element '2': conversion from 'const int' to 'uint64_t' requires a narrowing conversion
I workaround the problem with:
const uint64_t minimum_support_threshold = 3;

And the project builds successfully. ;-)
Is this the best solution?
Thanks!
DJuego

Thanks for reporting! If you want, create a pull request changing the three occurrences of auto with uint64_t and I'll be glad to merge it.


Implement float parsing fixes #6

Note that things like 1.2 when made to_string spit out incorrect results (like 1.199999999) but this seems to be an issue in the to_string impl as the same happens with from_f64(1.2)

The test failure seems to be spurious and unrelated to this feature

@terrarier2111 Thanks for working on it. I love it. Let's move forward in a few steps.
Can you first submit the cleanup commits as a separate pull request? The stuff for adding const and the other cleanups should be easy to review and land.
I read the code and I have a few comments. First, we'll need a little bit more comments and a few tests. And second, I'd like to talk about the API for constructing a float number. I noticed that you added a default semantics, but I think that we should have something like Float::from_string. What do you think?

@terrarier2111 Thanks for working on it. I love it. Let's move forward in a few steps. Can you first submit the cleanup commits as a separate pull request? The stuff for adding const and the other cleanups should be easy to review and land.
I read the code and I have a few comments. First, we'll need a little bit more comments and a few tests. And second, I'd like to talk about the API for constructing a float number. I noticed that you added a default semantics, but I think that we should have something like Float::from_string. What do you think?

Hey, thank you for your reponse, i cleaned up the impl a bit, fixed some issues and added tests, tomorrow i will move all the code in a function that takes a semantic as an argument and let the try_from impl call this function with some default, at least for now until i implement autodetecting semantics. Are you okay with this moving forward or do you have some changes that you want?

Can you please land the cleanup commits as a separate PR, one by one? It would be easier to review and land.
Afterwards I'll be able to review this diff. I think that you are really close, and I only have small suggestions (such as moving the tests into a new function, no big deal). You are almost there, just split the PR into smaller diffs.

Can you please land the cleanup commits as a separate PR, one by one? It would be easier to review and land.
Afterwards I'll be able to review this diff. I think that you are really close, and I only have small suggestions (such as moving the tests into a new function, no big deal). You are almost there, just split the PR into smaller diffs.

I removed the cleanup changed and moved the tests

@nadavrot are you still reviewing this or can i close this and just use my branch?

I would love for you to land the chances, but not in this pull request. Please close this PR and split the changes here into separate pull requests with cleanups and afterwards with the changes for landing the float parse. Each PR should have one commit. Thank you. I really appreciate your contribution and would love to see it land, one PR at a time.

I would love for you to land the chances, but not in this pull request. Please close this PR and split the changes here into separate pull requests with cleanups and afterwards with the changes for landing the float parse. Each PR should have one commit. Thank you. I really appreciate your contribution and would love to see it land, one PR at a time.

I think i did it, it's now only a single commit!

Please submit a new and clean pull request.


修复gofmt提示的问题

具体看
https://goreportcard.com/report/github.com/gogf/gf/v2

Codecov Report
Patch coverage has no change and project coverage change: -0.02 :warning:

Comparison is base (80d57ed) 78.63% compared to head (3a2c751) 78.61%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2523      +/-   ##
==========================================
- Coverage   78.63%   78.61%   -0.02%
==========================================
  Files         630      630
  Lines       51386    51386
==========================================
- Hits        40407    40399       -8
- Misses       8995     9000       +5
- Partials     1984     1987       +3

Flag
Coverage Δ

go-1.15-386
78.64% <ø> (-0.02%)
:arrow_down:

go-1.15-amd64
?

go-1.16-386
78.63% <ø> (-0.02%)
:arrow_down:

go-1.16-amd64
78.64% <ø> (-0.03%)
:arrow_down:

go-1.17-386
78.63% <ø> (-0.04%)
:arrow_down:

go-1.17-amd64
78.65% <ø> (-0.03%)
:arrow_down:

go-1.18-386
78.58% <ø> (-0.02%)
:arrow_down:

go-1.18-amd64
78.58% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

contrib/nosql/redis/redis_group_list.go
100.00% <ø> (ø)

contrib/nosql/redis/redis_group_set.go
100.00% <ø> (ø)

contrib/nosql/redis/redis_group_string.go
100.00% <ø> (ø)

... and 4 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add a test for various Python models.

Description
Adds a test for various Python models in dbt-labs/dbt-core#5906.

Thanks! merging.


bugfix: imagePullSecrets error

Description
bugfix for issue: https://github.com/kubegems/kubegems/issues/181
Type of change

[x] CHANGE (fix or feature that would cause existing functionality to not work as expected)
[ ] FEATURE (non-breaking change which adds functionality)
[x] BUGFIX (non-breaking change which fixes an issue)
[ ] ENHANCEMENT (non-breaking change which improves existing functionality)
[ ] NONE (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)

Changelog entry

bugfix: environment created after default image registry created lose imagePullSecrets in default serviceAccount

#182


Need to bind adminLTE menu dynamically from database in asp.net master page.

Hi,
I like to bind menu dynamically from database in asp.net master page.
[Note: Without using asp.net repeater control]
Because we are facing postback issue in master page.so every time the page is get refreshed.is there any work around to stop post back page refreshing in adminLTE theme in master page.

This is a template, so unfortunately we cannot help you with your server side code ...
But if you encounter any issue with non server side code we will be happy to help.


Blocktane - incompatible with Liquidity mining strategy

Describe the bug
liquidity_mining strategy not working on blocktane
Steps To Reproduce

create a strategy using liquidity_mining
select spot connector blocktane
use token either quote or base
start strategy - error will show

2021-05-11 19:59:52,025 - 18816 - hummingbot.connector.exchange.blocktane.blocktane_exchange - ERROR - Error submitting buy-ETH-BTC-1620734392024043: buy OrderType.LIMIT_MAKER order to Blocktane for 0.0041 ETH-BTC 0.
Traceback (most recent call last):
  File "hummingbot\connector\exchange\blocktane\blocktane_exchange.pyx", line 785, in hummingbot.connector.exchange.blocktane.blocktane_exchange.BlocktaneExchange.execute_buy
ValueError: Invalid OrderType OrderType.LIMIT_MAKER. Aborting.
2021-05-11 19:59:52,032 - 18816 - hummingbot.connector.exchange.blocktane.blocktane_exchange - ERROR - Error submitting sell-ETH-BTC-1620734392025040: sell OrderType.LIMIT_MAKER order to Blocktane for 0.0041 ETH-BTC 0.
Traceback (most recent call last):
  File "hummingbot\connector\exchange\blocktane\blocktane_exchange.pyx", line 872, in hummingbot.connector.exchange.blocktane.blocktane_exchange.BlocktaneExchange.execute_sell
ValueError: Invalid OrderType OrderType.LIMIT_MAKER. Aborting.

Screenshots

balance

using base token asset

using quote token asset

Release version
0.38.1 / dev-0.39.0
Attachments
logs_lm_blocktane_eth-btc.log
┆Issue is synchronized with this Clickup task by Unito

@dennisocana what happened to this bug resolution

@RobHBOT we haven't looked into this yet.

https://github.com/hummingbot/hummingbot/pull/5943 deployed to development branch
Closing this since connector will be removed on the next release version 1.11


Sort export by citation key

What determines the order of bib(la)tex items in the output file? Is it possible to sort the items by the citation key?
Thank you very much!

It's the order Zotero offers the items to the translator; that ordering is outside my control. It is technically possible for a translator to read in all items, sort them, and then go about its work, but it's not a trivial change, and it would impact both speed and memory use.

I started a discussion in the Zotero forum. I will get back to you as soon as I know more :)

Zotero doesn't (formally) know about the citation key, so it's not something they could do. The first part of my comment was just an answer to "what determines the order"; I didn't mean to imply Zotero could/should change this, sorry.
The citation key is specific to BBT. If any sorting on the citekey is to be done, it must be done by BBT.
There's two ways BBT actually can; one is to hijack the method that fetches the items to feed to the translator. That's not formally supported, and it's fragile; I do it in a few places as a method of last resort, but I avoid it whenever I can (those spots will be the main hurdle to migrate to 5.0).
The other option would be to generate the whole export in memory, and sort that before doing the actual export. That, as mentioned, has performance and speed implications, and BBT is already slower, and more of a memory hog, than I want it to be.
I'm trying to come up with a way to make this happen with minimal impact on code, and preferably no UI (the BBT preferences are too baroque as it is), but I haven't been able to come up with anything yet.

The change has been accepted in the Zotero 5.0 release, and is pending acceptance in the 4.0 line. It will take a while before it will find your way though -- Zotero has a more sensible release schedule than BBT.

Thanks!


Property 'style' does not exist on type 'Element'.

Hey Team,
I am getting an error property 'style' does not exist on type 'Element'.Below is the code for it in which I am getting error.
document.querySelector('#activehistory').style.color = 'red';
Can anyone help me out please. Thanks in advance.

Please read the template.


Special chars in logs throw errors

Home Assistant release with the issue: 80.3

Last working Home Assistant release (if known): 77-point-something
(was: never. But I also didnt switch to debug log before... but I dicovered new in info in the posts below...)
Operating environment (Hass.io/Docker/Windows/etc.): virtualenv on osmc on raspberry 3

Component/platform: logger?

Description of problem:
So, I just found this change #16243, because I was missing my pilight_received events on the log. I enabled debug logging and now I see these things for some of the log entries:
Oct 27 13:37:55 ak-test hass[1547]: 2018-10-27 13:37:55 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=<state automation.schaltzustande_elro_800_switch_s15=on; friendly_name=Schaltzust\xe4nde elro_800_switch_s15, last_triggered=2018-10-27T13:37:45.753945+02:00, id=elro_800_switch_s15_automation @ 2018-10-27T13:35:46.755944+02:00>, entity_id=automation.schaltzustande_elro_800_switch_s15, new_state=<state automation.schaltzustande_elro_800_switch_s15=on; friendly_name=Schaltzust\xe4nde elro_800_switch_s15, last_triggered=2018-10-27T13:37:55.045185+02:00, id=elro_800_switch_s15_automation @ 2018-10-27T13:35:46.755944+02:00>>
Oct 27 13:37:55 ak-test hass[1547]: --- Logging error ---
Oct 27 13:37:55 ak-test hass[1547]: Traceback (most recent call last):
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/logging/__init__.py", line 983, in emit
Oct 27 13:37:55 ak-test hass[1547]:     stream.write(msg)
Oct 27 13:37:55 ak-test hass[1547]: UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 189: ordinal not in range(128)
Oct 27 13:37:55 ak-test hass[1547]: Call stack:
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/bin/hass", line 11, in <module>
Oct 27 13:37:55 ak-test hass[1547]:     sys.exit(main())
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/__main__.py", line 389, in main
Oct 27 13:37:55 ak-test hass[1547]:     exit_code = asyncio_run(setup_and_run_hass(config_dir, args))
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/util/async_.py", line 29, in asyncio_run
Oct 27 13:37:55 ak-test hass[1547]:     return loop.run_until_complete(main)
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 454, in run_until_complete
Oct 27 13:37:55 ak-test hass[1547]:     self.run_forever()
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 421, in run_forever
Oct 27 13:37:55 ak-test hass[1547]:     self._run_once()
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 1424, in _run_once
Oct 27 13:37:55 ak-test hass[1547]:     handle._run()
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/events.py", line 126, in _run
Oct 27 13:37:55 ak-test hass[1547]:     self._callback(*self._args)
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 315, in _wakeup
Oct 27 13:37:55 ak-test hass[1547]:     self._step()
Oct 27 13:37:55 ak-test hass[1547]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
Oct 27 13:37:55 ak-test hass[1547]:     result = coro.send(None)
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/automation/__init__.py", line 290, in async_trigger
Oct 27 13:37:55 ak-test hass[1547]:     await self.async_update_ha_state()
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 310, in async_update_ha_state
Oct 27 13:37:55 ak-test hass[1547]:     self.entity_id, state, attr, self.force_update, self._context)
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 909, in async_set
Oct 27 13:37:55 ak-test hass[1547]:     }, EventOrigin.local, context)
Oct 27 13:37:55 ak-test hass[1547]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 530, in async_fire
Oct 27 13:37:55 ak-test hass[1547]:     _LOGGER.debug("Bus:Handling %s", event)
Oct 27 13:37:55 ak-test hass[1547]: Message: 'Bus:Handling %s'
Oct 27 13:37:55 ak-test hass[1547]: Arguments: (<Event state_changed[L]: old_state=<state automation.schaltzustande_elro_800_switch_s15=on; friendly_name=Schaltzust\xe4nde elro_800_switch_s15, last_triggered=2018-10-27T13:37:45.753945+02:00, id=elro_800_switch_s15_automation @ 2018-10-27T13:35:46.755944+02:00>, entity_id=automation.schaltzustande_elro_800_switch_s15, new_state=<state automation.schaltzustande_elro_800_switch_s15=on; friendly_name=Schaltzust\xe4nde elro_800_switch_s15, last_triggered=2018-10-27T13:37:55.045185+02:00, id=elro_800_switch_s15_automation @ 2018-10-27T13:35:46.755944+02:00>>,)

Is this caused by above mentioned change? Or have I now just discovered the error, because I have enabled debug logging (and the error was hiding there all the time)? However, this seems like bug to me, so here goes the report to find out if this supicion is correct...
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
logger:
  detail: debug

Traceback (if applicable):

Additional information:

Is this caused by above mentioned change?

Not really. The mentioned change just changes what is being logged at which level. The error itself is because you have a non-ASCII character (ä in this case) in the string that the logger is trying to log. So the error will disappear when you change the ä to ae or whatever fits your needs..

But these (=all UTF) characters are allowed in friendly names, aren't they? If not, this should be highlighted in the docs. Or it should be allowed (preferred solution).

Just tried and temporarily used the fix suggested in the link above on the one line _LOGGER.debug(u"Bus:Handling %s", event). This solves the error on the HA side. But moves it to the actual logger. (Below log is in reverse.)
My suspicion now is that either the final log destination does not allow for Unicode. Or that we should somehow apply a different "Formatter" to the log. But this is definitely out of my knowledge...
Oct 28 09:51:49 ak-test hass[12508]: Arguments: (<Event state_changed[L]: old_state=<state automation.schaltzustande_elro_800_switch_s15=on; id=elro_800_switch_s15_auto
Oct 28 09:51:49 ak-test hass[12508]: Message: 'Bus:Handling %s'
Oct 28 09:51:49 ak-test hass[12508]:     _LOGGER.debug(u"Bus:Handling %s", event)
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 530, in async_fire
Oct 28 09:51:49 ak-test hass[12508]:     }, EventOrigin.local, context)
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 909, in async_set
Oct 28 09:51:49 ak-test hass[12508]:     self.entity_id, state, attr, self.force_update, self._context)
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 310, in async_update_ha_state
Oct 28 09:51:49 ak-test hass[12508]:     await self.async_update_ha_state()
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/automation/__init__.py", line 290, in async_trigger
Oct 28 09:51:49 ak-test hass[12508]:     result = coro.send(None)
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
Oct 28 09:51:49 ak-test hass[12508]:     self._step()
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 315, in _wakeup
Oct 28 09:51:49 ak-test hass[12508]:     self._callback(*self._args)
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/events.py", line 126, in _run
Oct 28 09:51:49 ak-test hass[12508]:     handle._run()
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 1424, in _run_once
Oct 28 09:51:49 ak-test hass[12508]:     self._run_once()
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 421, in run_forever
Oct 28 09:51:49 ak-test hass[12508]:     self.run_forever()
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 454, in run_until_complete
Oct 28 09:51:49 ak-test hass[12508]:     return loop.run_until_complete(main)
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/util/async_.py", line 29, in asyncio_run
Oct 28 09:51:49 ak-test hass[12508]:     exit_code = asyncio_run(setup_and_run_hass(config_dir, args))
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/__main__.py", line 389, in main
Oct 28 09:51:49 ak-test hass[12508]:     sys.exit(main())
Oct 28 09:51:49 ak-test hass[12508]:   File "/srv/homeassistant/bin/hass", line 11, in <module>
Oct 28 09:51:49 ak-test hass[12508]: Call stack:
Oct 28 09:51:49 ak-test hass[12508]: UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 273: ordinal not in range(128)
Oct 28 09:51:49 ak-test hass[12508]:     stream.write(msg)
Oct 28 09:51:49 ak-test hass[12508]:   File "/usr/lib/python3.5/logging/__init__.py", line 983, in emit
Oct 28 09:51:49 ak-test hass[12508]: Traceback (most recent call last):
Oct 28 09:51:49 ak-test hass[12508]: --- Logging error ---

Ok... Tried a new thing: _LOGGER.debug("Bus:Handling %s", str(event).encode('ascii','backslashreplace').decode()). It's a bit bulky. But it removes the non-ASCII characters from the log. The same could also be implemented in the Event.str() method. But I can't judge the overall consequences of this. The log below shows that the former issue with Bus:Handling is solved. Now the problem is in a new place, which can probably be solved in the same way...
What do you think? Will this solution pass as a pull request?
Oct 28 14:36:00 ak-test hass[14588]: 2018-10-28 14:36:00 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]: service_call_id=19c821f31f4c43dcaee6b5c38b1090fb>
Oct 28 14:36:00 ak-test hass[14588]: 2018-10-28 14:36:00 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T14:36:00.225181+01:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, old_state=<state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T13:28:51.931334+00:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, entity_id=automation.schaltzustande_elro_800_switch_s15>
Oct 28 14:36:00 ak-test hass[14588]: 2018-10-28 14:36:00 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection.1756652176] Sending {'event': {'event_type': 'state_changed', 'origin': 'LOCAL', 'context': {'id': '4a4a51ae4c3541f3b735a9a1ff8ec1fd', 'user_id': None}, 'data': {'new_state': <state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T14:36:00.225181+01:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, 'old_state': <state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T13:28:51.931334+00:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, 'entity_id': 'automation.schaltzustande_elro_800_switch_s15'}, 'time_fired': datetime.datetime(2018, 10, 28, 13, 36, 0, 225570, tzinfo=<UTC>)}, 'id': 2, 'type': 'event'}
Oct 28 14:36:00 ak-test hass[14588]: --- Logging error ---
Oct 28 14:36:00 ak-test hass[14588]: Traceback (most recent call last):
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/logging/__init__.py", line 983, in emit
Oct 28 14:36:00 ak-test hass[14588]:     stream.write(msg)
Oct 28 14:36:00 ak-test hass[14588]: UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 400: ordinal not in range(128)
Oct 28 14:36:00 ak-test hass[14588]: Call stack:
Oct 28 14:36:00 ak-test hass[14588]:   File "/srv/homeassistant/bin/hass", line 11, in <module>
Oct 28 14:36:00 ak-test hass[14588]:     sys.exit(main())
Oct 28 14:36:00 ak-test hass[14588]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/__main__.py", line 389, in main
Oct 28 14:36:00 ak-test hass[14588]:     exit_code = asyncio_run(setup_and_run_hass(config_dir, args))
Oct 28 14:36:00 ak-test hass[14588]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/util/async_.py", line 29, in asyncio_run
Oct 28 14:36:00 ak-test hass[14588]:     return loop.run_until_complete(main)
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 454, in run_until_complete
Oct 28 14:36:00 ak-test hass[14588]:     self.run_forever()
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 421, in run_forever
Oct 28 14:36:00 ak-test hass[14588]:     self._run_once()
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/base_events.py", line 1424, in _run_once
Oct 28 14:36:00 ak-test hass[14588]:     handle._run()
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/events.py", line 126, in _run
Oct 28 14:36:00 ak-test hass[14588]:     self._callback(*self._args)
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 315, in _wakeup
Oct 28 14:36:00 ak-test hass[14588]:     self._step()
Oct 28 14:36:00 ak-test hass[14588]:   File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
Oct 28 14:36:00 ak-test hass[14588]:     result = coro.send(None)
Oct 28 14:36:00 ak-test hass[14588]:   File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/websocket_api/http.py", line 58, in _writer
Oct 28 14:36:00 ak-test hass[14588]:     self._logger.debug("Sending %s", message)
Oct 28 14:36:00 ak-test hass[14588]: Message: 'Sending %s'
Oct 28 14:36:00 ak-test hass[14588]: Arguments: {'event': {'event_type': 'state_changed', 'origin': 'LOCAL', 'context': {'id': '4a4a51ae4c3541f3b735a9a1ff8ec1fd', 'user_id': None}, 'data': {'new_state': <state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T14:36:00.225181+01:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, 'old_state': <state automation.schaltzustande_elro_800_switch_s15=on; last_triggered=2018-10-28T13:28:51.931334+00:00, friendly_name=Schaltzust\xe4nde elro_800_switch_s15, id=elro_800_switch_s15_automation @ 2018-10-28T14:35:17.111665+01:00>, 'entity_id': 'automation.schaltzustande_elro_800_switch_s15'}, 'time_fired': datetime.datetime(2018, 10, 28, 13, 36, 0, 225570, tzinfo=<UTC>)}, 'id': 2, 'type': 'event'}

I just noticed, these errors get thrown also in INFO log level. I am pretty sure, I haven't had these errors before I upgraded from 77-point-something to 80.3...

I'm always looking up this line again. So here it is for the records: https://github.com/home-assistant/home-assistant/blob/caa48fab13fc674a591c6e39773bcc41b80e9d4f/homeassistant/core.py#L530
And I tried another approach, taken from the slugify function found here https://github.com/home-assistant/home-assistant/blob/caa48fab13fc674a591c6e39773bcc41b80e9d4f/homeassistant/util/init.py#L45. But that doesn't seem to help...
from unicodedata import normalize
...
_LOGGER.debug("Bus:Handling %s", normalize('NFKD', str(event)))

@akloeckner That's a problem with the logger implementation, and we shouldn't work around it with normalizing the string in Bus:Handling %s because with most terminals there is no issue with printing these special characters.
I've seen this error happen in PyCharm, the fix would be to modify the logging sink so that it first tries to print the message with the special characters, and if that fails prints it with them removed:
# in logging sink:
try:
    print(message)
except UnicodeEncodeError:
    print(message.encode('ascii', 'backslashreplace'))

Thanks for the hint, @OttoWinter! Although I don't know exactly where I would put your suggestion, I support your claim that we shouldn't work around bugs in other open-source software. Where would I have to report the bug? I already turned to my Linux distribution, they say UTF characters should work. Is there a Python logging library in between linux and and hass where I should report the bug?

I'm on 0.86.4  now, and the problem persists.
The OSMC forums suggest that the logging should handle even binary data well.
Also, I tried the following python script:
import logging
_LOGGER = logging.getLogger('')
_LOGGER.warn("Bus:Handling %s", u'test')
_LOGGER.warn("Bus:Handling %s", u'üöäß')
_LOGGER.warn(u"Bus:Handling %s", 'üöäß')

It yields this:
osmc@ak-test:~$ python3 test.py
Bus:Handling test
Bus:Handling \xfc\xf6\xe4\xdf
Bus:Handling \xfc\xf6\xe4\xdf

So, as far as I understand the logging behind HA, this is principally the same setup as is used in the actual HA itself. And it works in this minimal example. So, there is something wrong in the remaining HA code. Still: as far as I understand it...

Sorry for being late. This is still an issue.

@akloeckner osmc has a quite strange setup, where UTF-8 isn't supported by default
You can try to do the following steps on your osmc box:

sudo dpkg-reconfigure locales

Make sure en_US.UTF-8 is enabled
OK
Choose en_US.UTF-8 as default locale
OK

Reboot the OSMC box

Logging of UTF-8 characters should now work.
@balloob Is it reasonable to allow running HA under a non UTF-8 locale? If it is, fixing the logging as suggested by @OttoWinter makes sense, otherwise we should maybe reject to start HA?


Squaring building fails

Description
When attempting to square (q) an obviously unsquare building I just drew, Rapid tells me on the first attempt that it squared the building, but nothing happens in reality.
When attempting to square it a second time, Rapid tells me it can't be made any more square.
Version
2.00-alpha3
What browser are you seeing the problem on? What version are you running?
Firefox 107 Mac
Steps to reproduce

Select an area feature that you would like to square
Press "Q"

The browser URL at the time you encountered the bug
https://mapwith.ai/rapid-v2-alpha3#background=EsriWorldImagery&datasets=fbRoads,msBuildings&disable_features=boundaries&id=w-13&map=19.86/40.74180/-111.85901

Duplicate of #683 most likely!

Fixed in alpha 3.2 release that just went live.


PP-5889 Remove frontend from docker build/test step

Our current CI pipeline treats node apps differently and kicks off a build/ pact/ test/ lint step all using a completely different Dockerfile than the main repositories.
Propose removing this in favour of using the repo Dockerfile.
Advantages:

Local, CI and production should all aim to use as similar a container as possible
Reduce number of places we have to update version dependencies
Prepare for our shiny containerised future

Closed - idea will be explored as future work


add events in template, add tags

changed categories to wagtail tags
populated card templates
created list view for all events with tag filtering
created queryset managers for events
rsvp/cancel rsvp from homepage if logged in and coc accepted and event is in future

closes #76
closes #71

video walk through:  https://www.loom.com/share/e31932f5bde04223b28d83eda89d67b9
Added to profile as well:

Also, I wasn't sure the best way forward with how we are creating events. Right now I'm just using the django admin. It might be nice to use wagtail? But since I'm not as familiar and the m2m will need more work on wagtail admin, where as it doesn't on django admin i left i as is. This might be something to think about before we populate the db with test data. THanks!

This looks great! sorry it took so long for review.

I'll fix the merge conflicts


Flipster v0.5

@drien: Since my changes have been pretty significant, I went ahead and started a new branch so that I wouldn't crowd v0.4 if you need it clean.
I'm still working on this branch (primarily needing to update the demos), but wanted to open discussion if you had any thoughts or changes so far.
The biggest differences in v1 and previous versions:

center() is not dependent on the 'style' setting. All major differences between Carousel and Coverflow are handled strictly in the CSS.
center() no longer requires position: absolute for the items, and doesn't set the left value. Instead, the item container uses transform: translateX (with a fallback to left) to center the current item.
A new spacing setting that sets a margin-right on each item during a resize() call. This can be negative, for overlapping, or positive to space the items out. The amount of spacing is relative to the individual items' size, which makes it different than just setting the margin in CSS.
Switched to LESS for the styles. Compressed and uncompressed css are output to the /dist/ folder via grunt.
MouseWheel and Touch events have been rewritten that should hopefully help the interactions feel smoother.

So far everything works great in the latest versions of Chrome, Firefox, Safari & iOS Safari, but I haven't done any deeper testing.

The following issues should be resolved with this release:
#5 #8 #10 #38 #39 #40 #49 #50

This is great stuff, I started the 0.4 branch with good intentions and then got too busy to finish what I'd started, so its exciting to see what you've been working on. I'm all for the modernizations, I'll take a closer look when I get a chance. I'm really pleased to see the center() method redone, I was procrastinating about reworking all of that.  :+1: :clap: :clap:
Now that I look at it, maybe once everything is good to go we should make this into a 1.0 release, since it may no longer be compatible with the older versions. I'll look into it.

Thanks! 0.4 had some great improvements that made it easy to get started.
I'd love to do some performance tests to see how much more efficient the new center() method is. :-)
A 1.0 release does make sense. Everything's in a good enough state feature-wise, once the demos have been updated and browser testing complete.
Some other things I wanted to look at:

Making the interactor functions more in line with the other functions. I can't see a reason they need to be classes.
BEM syntax for the classes. Already started on this and it makes the classes much clearer, if not more verbose.
More segmented style options. Not sure of the best way to do this, but 'no-rotate' (flat) and the box-reflection transcend the 'coverflow' and 'carousel' styles.

Once you've had a chance to look the code over more closely, let me know if there are any other changes or additions to look at!

Went ahead and started the 1.0 branch.


feat: add new config options to  github-cli

Introduces container customizers , extra env variables and optional workdir mount options
Depends on #56

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 8.125%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13

Relevant Lines:
160

💛  - Coveralls


Direct3D Fullscreen Capture

Unable to Capture fullscreen windows like DirectX games

A question has been put on stackoverflow: http://stackoverflow.com/questions/33690825/screenshot-directx-fullscreen-game?noredirect=1#comment55153892_33690825

Working in a new repo on https://github.com/MathewSachin/Captura/Direct3DHook

Sachin for the beginning please refer to these issues :
https://github.com/spazzarama/Direct3DHook/issues/33
https://github.com/spazzarama/Direct3DHook/issues/30
The issue number 30 is the one which your facing with GIF image processing. It occurs both in Pixel Data processing and also GIF Image processing. And also it takes a lot of time to process all the gif images completely when you go for multiple captures.


Add method to get card historical bytes (if any)

getHistoricalBytes() is a useful method for debugging/diagnostics, and is already defined in android.nfc.Tag, so we should make use of it where possible.

I just realised this is a redundant patch - didn't see there is already a getTag() in AndroidCard.
Closing.


Feature Request: Option to append a string when fetching completed tasks

I would like to append a string to the end of completed items. In my case, I would like to add a string with ✅ followed by the completion date so that completed tasks are compatible with the Tasks plugin. This way I can have Todoist completed items show up in Tasks searches.
An example of the string that I'd like to append:
✅ 2022-10-17

Thanks in advance for any consideration of this request.

Hi @ddeighton,
Thanks for using the plugin.
So, we already have a Prefix, its time to have a Postfix as well :)
I think overall it will not be difficult to implement. I'll reach out to you if I'll have any questions.

Dear @Ledaryy , My request is similar, but I would like to have the time of completion added (instead or in addition). Actually. it is very useful to see the list of completed tasks inside my Journal page. Having the time too, would be perfect to understand the progress of the day. Thanks.

Hey, @ricir thanks for the proposal!
I've made it possible to specify either you want {current_date} or {task_finish_date} or even both :)

Thanks for adding this feature. I'm having an issue with the dates. The single digits are not zero-padded. For example, today I am getting "2022-12-9" instead of "2022-12-09". This causes the tasks to be incompatible with the Tasks plugin. Can this be corrected or made as a configurable option?

Hey @ddeighton,
Thanks for sharing this. It was just a bug, I've already fixed it and published the new release. About making the dates configurable, it is doable, but I'm not sure if it will be useful. If you think so, feel free to open a new issue with a feature proposal.
Also, in case you'll find any other bugs, please open new issues instead of posting in this thread, because they can get lost as this thread is marked as completed now.
Enjoy the plugin!

Thanks! It's working very well now.

Hey, @ricir thanks for the proposal! I've made it possible to specify either you want {current_date} or {task_finish_date} or even both :)

Thank you, fantastic!!!


⚠ PrivateHD has degraded performance

In e787843, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2217 ms

Resolved: PrivateHD performance has improved in 17d70f8.


Failed to install with node 8

resin-cli version:: 7.0.0
Operating system and architecture: Ubuntu 16.04
node -v: 8.10.0
npm -v: 5.7.1
node-gyp -v: 3.6.2

npm WARN deprecated<EMAIL_ADDRESS>Resin-cli-auth is now built into Resin CLI itself, so this package is not maintained, and should not be used.
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
/usr/bin/resin -> /usr/lib/node_modules/resin-cli/bin/resin

><EMAIL_ADDRESS>install /usr/lib/node_modules/resin-cli/node_modules/ext2fs
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(undefined): https://github.com/resin-io/node-ext2fs/releases/download/v0.1.1/bindings-v0.1.1-node-v57-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v57 ABI, glibc) (falling back to source compile with node-gyp)
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/resin-cli/node_modules/ext2fs/build'
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp/bindings.node" "--module_name=bindings" "--module_path=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp"
gyp ERR! cwd /usr/lib/node_modules/resin-cli/node_modules/ext2fs
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp/bindings.node --module_name=bindings --module_path=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/resin-cli/node_modules/ext2fs/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:126:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:925:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
node-pre-gyp ERR! System Linux 4.4.0-116-generic
node-pre-gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/resin-cli/node_modules/ext2fs/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/lib/node_modules/resin-cli/node_modules/ext2fs
node-pre-gyp ERR! node -v v8.10.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp/bindings.node --module_name=bindings --module_path=/usr/lib/node_modules/resin-cli/node_modules/ext2fs/pregyp' (1)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/resin-cli/node_modules/removedrive):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/resin-cli/node_modules/macmount):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/teo/.npm/_logs/2018-03-10T10_02_04_206Z-debug.log

 Front conversations

@thgreasi this is very odd - the URL it's saying it can't download there (https://github.com/resin-io/node-ext2fs/releases/download/v0.1.1/bindings-v0.1.1-node-v57-linux-x64.tar.gz) works totally fine for me, and that was released in November last year.
Can you reproduce this? Maybe it's an intermittent github issue? We've seen it before too: https://github.com/resin-io/resin-cli/issues/799.

@pimterry these logs are actually from my machine (/home/teo/...) after reproducing what the user faced, by upgrading node to v8. As seen in the linked convo --unsafe-perm fixed it both for me and the user.


DR11: Database: Fix bug involving writing to the file

openFDA client now reads all records from openFDA API


Running fails

404 from the server, cannot find the package.
My question is there
https://stackoverflow.com/questions/56920868/trying-to-debug-native-ios-app-with-vs-2019?noredirect=1
Device.installApp executing command: /usr/local/lib/node_modules/vcremote/node_modules/ios-deploy/build/Release/ios-deploy --id 355c4a7afbd0e98ac9596c146fa1d051e9b2b3fe --nostart --bundle "/Volumes/DATA/r/F/ITOOLS/Tralala/Tralala/ARM64/Debug//Tralala.app" --timeout 5
Installed app on device: 'iPad'
GET /projects/2df69712-b4b8-43f3-9ada-fc50ca3fa6b1/build/ce4ed9aa-f673-4c78-99cb-968e2dc5bb7c/install?ver=1.4.0&appName=Tralala.app 200 5856ms
Debug Listener already listening
GET /debug/appRemotePath?package=com.Tralala&deviceUdid=xxxx 404 38ms - 196b

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

ID: 32f33eba-a747-c57b-02e3-853d2a8a5c3b
Version Independent ID: 1ddd9492-f5b1-d0ae-b813-c3838452a17a
Content: Install And Configure Tools to Build using iOS - Visual Studio
Content Source: docs/cross-platform/install-and-configure-tools-to-build-using-ios.md
Product: visual-studio-windows
Technology: vs-ide-mobile
GitHub Login: @corob-msft
Microsoft Alias: corob

@WindowsNT
I'm sorry to hear the debugging connection isn't working for you. It sounds like an issue in either the vcremote server setup, or permissions between your device and computer. As far as I can tell, it's not (yet) a documentation issue. Your best bet is a post or follow-up on Developer Community, where the engineering team can see issues and take them on. They don't usually look here for support questions. Be aware that iOS development issues may not be a high priority, but they do get some attention. Here on the documentation side, we update things when the engineers have changed something or a description needs to be fixed. If that's the case here, they'll let us know.
CC @michelleangela for awareness.


Seeing Coqtop error messages

When I run :CoqStart, sometimes the underlying coqtop instance will crash, and in my :messages buffer it will "Failed to launch Coq." It it possible to read the error message to see why it failed?

for what it's worth, :CoqToggleDebug doesn't work because it seems to rely on :CoqStart, and thus fails when I invoke that command.. (I'm also not totally sure what it's used for)

I've also observed that but it's relatively uncommon for me and I haven't found a consistent way of reproducing it so it's been difficult to debug. If it were actually an error with coqtop then it should print more information after the "Failed to launch" message, but since it doesn't I think it may actually be an error instead with the channel interface between Vim and Python. Maybe the channel isn't finished initializing or there's some failure that I'm not catching before trying to write to it.
:CoqToggleDebug probably wouldn't help because it just logs the XML that's sent between Coqtail and coqtop, but it shouldn't really depend on :CoqStart so that's worth fixing too.
Could you let me know what version of Vim you're using? And if you find a consistent way of triggering the error that would also be very helpful.

$ vi --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 18 2020 18:29:15)
Included patches: 1-1453
Modified by<EMAIL_ADDRESS>Compiled by<EMAIL_ADDRESS>Huge version without GUI.

To be honest I have no clue why this breaks. It seems to be an issue with specific pathnames---renaming a problematic file seems to fix the problem, and renaming a file to the problematic name breaks it.
And the wild thing is that this seems to work with Neovim... (though of course I encounter the other issues associated with using Neovim).
$ # faked example output
$ ls
Bad.v Good.v
$ vim Bad.v # doesn't work
$ nvim Bad.v # works
$ mv Bad.v Bad2.v; vim Bad2.v # works
$ vim Good.v # works
$ mv Good.v Bad.v; vim Bad.v # doesn't work

That's odd, are the problematic names consistently problematic (do you reliably encounter the error if you use that name)? And if you try :CoqStart again after it fails without quitting Vim does it continue to fail or does it work the second time? It would also be interesting to see if Neovim continues to work when using the PR that's supposed to add support for it (#103).

It continues to fail, with pretty much the same behavior.
I've managed to isolate the behavior to here, where the issue appears to be a type mismatch (l:res appears to be of type String, while we expect it to be a Dictionary).
I'm still tracing through the Python side to see where the issue is coming from..

The relevant Python function is probably handle in coqtail.py. What is the string that’s returned?

Invoking the handler from the handle() method returns None. However, this is consistent with what happens for .v files that work too.
For whatever reason, that turns into an empty string on in coqtail.vim for the problematic .v files, but {'buf': 1, 'ret': v:null} for the ones that work.
By the way, is there a good way to :echom dictionaries in Vimscript? I can only do this with strings (I'm using a combination of :sleep and :echo for dictionaries...)

The handler (start in this case) returns None when there are no errors. This gets bundled in a dictionary, converted to JSON and written to the socket with wfile.write, which then gets received by Vim and decoded back into a dictionary. So the only way I can see the Vim side getting a string instead is if something goes wrong with ch_evalexpr and it returns an empty string by default or something like that.
You can use string() to convert dictionaries into strings that can be :echomed.

Yea, I just checked :h ch_evalexpr and it says "When there is an error or timeout it returns an empty string". There shouldn't be a timeout set so there must be something else going wrong with the channel.

Vim stores the last error message in the special v:errmsg variable so you could try checking that after it fails.

v:errmsg tells me: E475: Invalid argument:. But weirdly, I seem to get this on the subsequent, apparently successful call that appears to be telling Coqtop to stop. And I also get this for the files for which Coqtail works.
I realized I should have mentioned this earlier---it does actually feel like something is timing out somewhere. Vim blocks for a second or two before telling me that it failed to launch Coq. I'll investigate more tomorrow where this might be coming from.

v:errmsg isn't automatically reset so you're probably just seeing the same message from the initial failure. You can clear it with let v:errmsg = "". You may also be right about the timeout, according to :h channel-timeout the default is 2 seconds. If you change this line to
let s:chanopts = {'mode': 'json', 'timeout': 10000}

does that fix the problem?

So it certainly still is timing out, even with the 10s timeout. Perhaps the error message reported by Coqtail can be modified to reflect this? (If so I can issue a PR for this.)
The logs show something interesting (I've obfuscated the path names because project I'm working on is still closed source for now and under a double-blind review). There is another job running, from vim-signify, that is sending a diff somewhere, before spamming some callback:
==== start log session ====
  0.101875 : Starting job: sh  -c  git diff --no-color --no-ext-diff -U0 -- 'Proof.v'
  0.101944 on 6: Created channel
  0.103184 : looking for messages on channels
  0.112255 RECV on 6: 'diff --git a/Proof.v b/Proof.v
index 2682e63..f2d9676 100644

(a git diff)

  0.112377 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112439 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112459 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112474 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112487 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112504 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112517 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112529 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112542 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112554 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112570 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112584 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112600 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112614 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112630 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112650 on 6: Invoking channel callback <SNR>82_callback_vim_stdout
  0.112664 on 6: Invoking channel callback <SNR>82_callback_vim_stdout

(keeps on spamming this)

  0.117207 on 6: Job ended
  0.205176 : looking for messages on channels
  0.206410 on 6: Freeing job
  0.206430 on 6: Closing channel
  0.206437 on 6: Clearing channel
  0.206444 on 6: Freeing channel
  0.206476 : looking for messages on channels
  1.606914 : Starting job: sh  -c  git diff --no-color --no-ext-diff -U0 -- 'Proof.v'
  1.606959 on 7: Created channel
  1.608229 : looking for messages on channels
  1.617211 RECV on 7: 'diff --git a/Proof.v b/Proof.v

(the cycle continues)

And this keeps going, with incrementing channel numbers (which I think is 4 in this case?).
Later, we see a channel being created from me running :CoqStart:
 33.386488 on 15: Created channel
 33.386603 on 15: Connecting to localhost port 41103
 33.386720 on 15: Waiting for connection (waiting 1 msec)...
 33.386738 on 15: Connection made

(another block of Signify's bs)

 33.446299 SEND on 15: '[1,[1,"start",{"version":"8.4pl6","args":["-R","/some/path","SomeName"],"coq_path":"","opts":{"timeout":0,"filename":"/some/path/Proof.v","encoding":"utf-8"}}]]
'
 33.446341 on 15: Reading JSON

(more Signify spam)

 33.453144 RECV on 15: '[1, {"buf": 1, "ret": null}]'
 33.465738 on 15: Waiting for up to 10000 msec
 43.475272 on 15: Timed out
 43.477214 SEND on 15: '[2,[1,"stop",{"opts":{"timeout":0,"filename":"/some/path/Proof.v","encoding":"utf-8"}}]]
'
 43.477289 on 15: Reading JSON
 43.477298 : looking for messages on channels
 43.477306 on 15: Getting JSON message 1
 43.477313 on 15: Dropping message 1 without callback
 43.477322 : looking for messages on channels
 43.477328 on 15: Waiting for up to 10000 msec
 43.480933 RECV on 15: '[2, {"buf": 1, "ret": null}]'
 43.480955 on 15: Getting JSON message 2
 43.491920 : ERROR: E216: No such group or event: coqtail#Autocmds * <buffer>
 43.491956 on 15: Closing channel
 43.492009 on 15: Clearing channel
 43.511043 : looking for messages on channels
 43.511052 on 15: Closing channel because all readable fds are closed
 43.511054 on 15: Closing channel
 43.511057 on 15: Closing channel
 43.511059 on 15: Clearing channel
 43.511062 on 15: Freeing channel

The log doesn't seem to indicate Signify doing anything with Coqtail's channel (15)---it just skips from 14 to 16. But I'm wondering if Coqtail's output is still somehow being sent to one of Signify's channels (or vice versa)? Not sure whose side the problem is on. In any case, disabling Signify seems to fix my issue..

That's interesting, thanks for looking into this. I'll have to try installing Signify and see if I can reproduce it. Have you noticed any pattern in the "bad" file names?

Yeah, they all seem to have unstaged changes! But that alone doesn't seem to be sufficient to reproduce the issue: simple additions, deletions, and modifications don't appear to cause issues. But if I make some really big changes (e.g. adding a bunch of newlines near the top of the file, then indenting the bottom half of the file), the problem appears. And the problem is fixed when I stage the changes. I haven't been able to narrow it down to any specific kinds of changes but I think it has something to do with the size of the diff.

Ok I've narrowed it down by simply spamming empty lines at the top of my proof. Adding up to 117 blank lines is ok, but adding the 118th causes :CoqStart to fail. If I add content to those blank lines (e.g. (*.*)), my quota appears to decrease, proportional to the amount of content (i.e. (*..*) lowers my blank line threshold more than (*.*)). My guess is that the issue is somehow related the size of the diff being sent along the channel..

Cool, I'm able to reproduce it now. :CoqStart fails on a tracked file with a huge diff but succeeds on an untracked file with the same content. I'll try to dig into the log some more and see what's going on.

I haven't completely confirmed this but it seems like it's maybe a Vim bug where it gets overwhelmed with messages and never parses the response from ch_evalexpr even though it receives the message. I made a branch that works around it by reading the pending messages with ch_read immediately that after seems to work, but it's kind of hacky. I'm not sure this is how I ultimately want to fix this but could you check if it does indeed work for you?

Thanks whorore! I can confirm that your workaround works, but I also agree that it's probably not the best solution. In particular, there's still a noticeable lag at :CoqStart, versus nearly instantaneous init time for non-problematic files. Then again, at the very least, this workaround doesn't seem to affect working cases and salvages broken cases.
For now, I'll probably stick to just disabling Signify since I can just see my changes using Fugitive. Let me know if there's anything I can help test or investigate.

Since this seems to be a pretty uncommon edge case and possibly due to a Vim bug, I'll close it as wontfix for now. If more people run into this problem then I'll revisit it.


Resource tagging can produce an endless loop

When working for the pull request https://github.com/cloudfoundry-incubator/bosh-aws-cpi-release/pull/49 I noticed that the tags method in the tag_manager can produce an endless loop. If the taggable resource is not found for what ever reason (infrastructure issue) tagging will be retried forever. Does it make sense to add a max number of retries here?

@beyhan talking about retry (https://github.com/cloudfoundry-incubator/bosh-aws-cpi-release/blob/d4eb7d46af19a7e5d1700d53d6d2dd4df103083f/src/bosh_aws_cpi/lib/cloud/aws/tag_manager.rb#L26) i assume? probably makes sense to use bounded retry logic.

@cppforlife yes

sure does in our ci =)

@cppforlife @beyhan We have a story in our icebox for that: https://www.pivotaltracker.com/story/show/144225287

fixed in v65.


Use markdown to format post and comment text

Some things like links can't be done, but the majority of the syntax used can be rendered fine on a terminal. Should probably use an existing markdown implementation and either add an output format that's easy for us to understand, or try to parse the HTML output that's given.

+1, I think that this is going to be difficult to implement though because we use curses for formatting, e.g.
stdscr.addstr("hello", curses.A_BOLD)

instead of plain escape characters
"\033[1mhello\033[0m"

I think a good way to do this would be to render the markdown to a list of chunks with their text and any needed formatting. Then do a loop like
for chunk, attr in chunks:
    stdscr.addstr(chunk, attr)

Maybe make a function for the rendering to chunks where the chunk function is just given the markdown and screen width (And it handles the text wrapping as well, since doing it beforehand could screw with the formatting).
That way would be faster than doing it character by character, and for posts with no formatting it would be pretty much identical to the way we're currently doing it.

Have you looked into streaming Markdown parsers? Also there was this JS library that formated markdown in the terminal, you might want to look into that for inspiration.
There's also a streaming HTML parser right in the stdlib: html.parser. You can use that to parse the HTML gemerated by markdown library, and draw the text to the screen. :)

@eugene-eeo
Looks like that JS library is using direct ANSI escapes. That works fine for just printing some text out, but they do not play nice with curses, last time I checked.
Yes, the best thing to do would be to use a premade markdown parser and parse the output of that, I don't want to try to write a parser myself, that's just wasted effort and would be prone to bugs. I've used https://github.com/Anomareh/Hoep in the past and quite liked it, but really any library that is packaged (And supports all the features that reddit's markdown does) should work.

@5225225 I think we should also try the HTML solution. However if that doesn't suit us then I'm all for making markdown2 into a streaming parser.

What "features" of markdown can be supported, realistically? I have a branch in which I implemented bold text, but ncurses doesn't support italics/strikethrough. List support seems relatively trivial (for one line list elements, at least), and table support is realistic. The current roadblock is the way text rendering is handled is line-by-line, so any multi-line "effect" would have to be handled at the _draw_comment() method, which doesn't really handle rendering (which happens in the terminal class). Would it make sense to shove everything into _draw_comment()?

On Mon, Oct 17, 2016 at 04:01:30PM -0700, Reshef Elisha wrote:

What "features" of markdown can be supported, realistically? I have a branch in which I implemented bold text, but ncurses doesn't support italics/strikethrough. List support seems relatively trivial (for one line list elements, at least), and table support is realistic. The current roadblock is the way text rendering is handled is line-by-line, so any multi-line "effect" would have to be handled at the _draw_comment() method, which doesn't really handle rendering (which happens in the terminal class). Would it make sense to shove everything into _draw_comment()?

You could implement italics as an underline (Not many terminals support italics/strikethrough
either, it's probably best to stick to more standard features. Underline should be supported pretty
much everywhere).
Links can't really be done, you want to keep the full URL visible so it can be clicked on
terminals. Maybe the link format could be changed from [text](url) to something like text: url
Quoted text shouldn't be that hard, either use a vertical bar or just put > marks at the beginning
of every line after text wrapping is done. Maybe an appropriate colour for the different levels.
Code blocks should be indented 4 lines or changed to a different text colour. You can't really make
it monospace since everything is already monospace.
Strikethrough could maybe use a dim colour, like grey. Superscript might just need to be ignored
and rendered normally, I can't think of any way to visually represent it on a terminal that still
looks good and isn't complex. There's unicode characters for numbers like ² and ³, but that would
be a special case.
I've got some WIP markdown code in my fork that might be useful
(https://github.com/5225225/rtv/blob/markdown/mark.py). Doesn't have text wrapping or some
features, but a fair few of the features work.

Looks interesting!
I see you have mistune handling the markdown, how does it deal with comments containing ? If a user posts a comment with text like this will mistune add escape characters that then need to be handled in rendering or will it be indistinguishable from a mistune-parsed *text like this* and both show up as italics/underline?
I think writing a bare bones markdown parser that only handles the cases that can be rendered properly.
Reddit is nice and documented all of their implemented markdown features here:
https://www.reddit.com/wiki/commenting so at least we know the scope, which doesn't seem huge.

On Tue, Oct 18, 2016 at 03:37:44PM -0700, Reshef Elisha wrote:

Looks interesting!
I see you have mistune handling the markdown, how does it deal with comments containing ? If a user posts a comment with text like this will mistune add escape characters that then need to be handled in rendering or will it be indistinguishable from a mistune-parsed *text like this* and both show up as italics/underline?

Neither, I think it generates escaped tags using > and <, which the python HTML parser will
automatically both ignore when parsing and then convert to the angle brackets when needed.

I think writing a bare bones markdown parser that only handles the cases that can be rendered properly.

Possibly. I don't write parsers much, so I took the method of letting mistune (really any markdown
parser that emits HTML will work) handle the parsing. Might be an idea to do it properly, but when
I tried that there were a fair few edge cases that broke the formatting.


Unable to run appium flutter tests locally

I am trying to run Flutter appium tests locally but I am getting TypeError: browser.flutterByValueKey$ is not a function error. What could be the cause of this issue.
appium-flutter-integration-driver is installled.App is created as per the instructions and  verified that appium server is running properly.
// @ts-ignore
import { browser, expect } from '@wdio/globals';
import "jest"

// Importing FlutterIntergrationDriverService from 'wdio-flutter-by-service'
// to extend browser capabilities with Flutter-specific methods.
// @ts-ignore
import FlutterIntergrationDriverService from 'wdio-flutter-by-service';

describe('1st AppiumFlutterIntegrationDriver test using appium latest', () => {
  it('Flutter counter demo app', async () => {
    const incrementButton = await browser
         .flutterByValueKey$('incrementButton');
  });
});

@rohitbhoite Please refer the sample here - https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/blob/main/test/specs/test.e2e.js

Actually I am able to run these scripts on saucelab cloud but why its giving error if i try to run these tests locally.
TypeError: browser.flutterByValueKey$ is not a function

Any idea what could be the cause of this issue while running the tests locally?

It looks like there might be a problem with how you're importing the Flutter service. Instead of importing it directly into the spec file, you should add it to the WebdriverIO configuration file.
{
 "services" : ["flutter-by"]
}

I have done this but I still got this error;
TypeError: browser.flutterByText$ is not a function     at ScreenPage.clickingGetStartedButton (/Users/sanguine/Tutorial/projects/complete_al_mathurat_app/auto/test/pageobjects/screens.page.js:15:38)     at Context.<anonymous> (/Users/sanguine/Tutorial/projects/complete_al_mathurat_app/auto/test/specs/test.e2e.js:6:26)

It looks like there might be a problem with how you're importing the Flutter service. Instead of importing it directly into the spec file, you should add it to the WebdriverIO configuration file.
{
 "services" : ["flutter-by"]
}


Use EPEL trafficserver RPM for CodeQL

Which Traffic Control components are affected by this PR?

Documentation
Traffic Control Cache Config (t3c, formerly ORT)
Traffic Control Health Client (tc-health-client)
Traffic Control Client
Traffic Monitor
Traffic Ops
Traffic Portal
Traffic Router
Traffic Stats
Grove
CDN in a Box
Automation
unknown

What is the best way to verify this PR?

If this is a bugfix, which Traffic Control versions contained the bug?

PR submission checklist

[x] This PR has tests
[x] This PR has documentation
[x] This PR has a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Sorry I just wanna check the PR from zrhoffman, did the wrong PR here


When will 1.2.0 update get to Chrome?

Firefox extension has gotten the update, why not the Chrome extension? Maybe it will be planned to release a bit later?

Pending approval. Firefox approves updates within a few minutes, Chrome takes several hours.


Current release location?

From https://github.com/bazelbuild/rules_scala/releases it seems the last release was in 2016. Is this still what you recommend, or are there newer releases that are not available via that page? If yes, where would they be?

+1 to shas. That is how we have operated at Stripe.
We recently added this table:
https://github.com/bazelbuild/rules_scala#bazel-compatible-versions
to help.

thanks for the insights. I think it would make sense to also include an example for a bazel build configuration with rules_scala from git to the readme.

We have something in the readme already, do you think it needs improvement?
Can you suggest a PR?
On Sun, 29 Jul 2018 at 22:15 Holger Peters<EMAIL_ADDRESS>wrote:

thanks for the insights. I think it would make sense to also include an
example for a bazel build configuration with rules_scala from git to the
readme.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/issues/567#issuecomment-408702901,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIFzydQvhr-JQW500Q4eGYoItrbd8tks5uLhfVgaJpZM4VhknP
.


chore(docs): document migratioon process

Add documentation on how dendorn.yml configuration is changed during upgrades

See https://github.com/dendronhq/dendron-docs/commit/72d2a698992a0187d358287e96d554ae6f0a89d1 for more docs


Fix Fivemat initialization with Cucumber 2

Cucumber 2.x has the concept of legacy formatters and modern formatters. It checks formatters for the arity of the #initialize method to determine whether the formatter is legacy or modern. Fivemat performs a bit of trickery with a module .new method, meaning there is nothing to check the arity on.
This hacks around this bit of neepery by checking if Cucumber 2.x is loaded and overriding the #instance_method method to return the instance method of Fivemat::Cucumber.

Can we just define a dummy initialize? That's still kinda gross but at least means we aren't monkey patching core methods.

It might be possible; I deal with Cucumber so rarely (and it turns out that what I had originally started modifying fivemat for was already supported by minitest) that it will take me a bit of time to figure out what we need to do.
I had hoped that we could do:
define_method :initialize, Cucumber.instance_method(:initialize) if cucumber2?

but that would result in TypeError: bind argument must be a subclass of Cucumber. This would mean that we would have the ugly result of having to define a method with the exact arity of Cucumber#initialize. Not a big deal, but a pain to remember.
Alternatively—and this would require that I care about Cucumber—work could be done to make a Cucumber2-specific fivematter. But it that API has changed pretty substantially, IIRC.

Fixed by #32


Cant get it to work 100% on initial page load

Seems to be a great module but i encountered an issue.
Could be an error on my part, but i have tried fiddling around with different settings to get it to work in my project, but every time the page refreshes the page is only scrolled half way to the element. After that it works like a charm. But once i refresh the page, same thing happens.
Console is not outputting any errors.
Seems to have no effect changing the offset.
// nav.vue
<span               v-scroll-to="{                 el: '#element',                 duration: 500,                 container: 'body',                 easing: 'linear',               }"             >               Placeholder             </span>
//main.js import VueScrollTo from "vue-scrollto"; Vue.use(VueScrollTo);
Any clues?

I guess one of these event's get fired:
https://github.com/rigor789/vue-scrollto/blob/82616a4fd13b20f5ebf567b162405b1dc9ebf62e/src/scrollTo.js#L5-L12
Try setting cancelable: false

Had my hopes up, but that did not change anything.
I can also mention that it is not a browser related problem, tried it in Safari, Chrome and Firefox.

Can you try recreating the issue in a sample project? I'm out of clues why that would happen.

i recreated some of my components and this is not a problem anymore. you can close issue, works fine thanks!

Thanks for the update!


07 add forms

In this pull request:

[X] Create a method current_user
[X] Create a form to add a new post on behalf of the first user
[X] Create a form for comments on behalf of the first user
[X] Allow users to like posts and add comment

@DammyShittu,
Thanks for the review.
I will remove the comments.


Improve help command

Coverage decreased (-0.1%) to 98.274% when pulling 0c629960171fe224f8106aa1978dfaa510487000 on improve-help-command into 873d5273d2330b6d4220af6fac940e28bc33c009 on master.