Sass/SCSS Support

If it's possible to eventually extend support to Sass and SCSS well, that would just make this even more amazing.

Scss is already support as written in the Readme at the third point of supported files, i think sass is not that difficult to adapt so I think it will be released soon

@Tchekda is right. SCSS is already supported. My immediate focus is to enhance the current functionality so I won't be focusing on SASS anytime soon. That being said, I'm more than happy to help if you want to contribute SASS support. We use Postcss as the parser and if they support SASS, then we should be able to integrate it fairly easily.

From what I can see, this should be supported. We would need to add in the postcssSass syntax, then update css-file.ts to choose sass based on the languageId provided based on the filetype.
This would be really easy to implement from a parsing perspective, but I don't know if there are other considerations about updating SASS as compared to CSS and SCSS.
https://github.com/AleshaOleg/postcss-sass
var postcssSass = require("postcss-sass");

postcss(plugins).process(sass, { syntax: postcssSass }).then(function (result) {
    result.content // Sass with transformations
});


Testing (unit and browser) for basic authentication scheme.

Description
Adds a unit test for an authenticated page (which overrides the security configuration so that prod and test are different).
Adds a browser test for the login page to show that submitting the form logs you in.
Checklist

[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

boy that formatter is real particular!  Let me clean up that history a little by removing those unrelated changes.


Recurring option doesn't do anything

I love that we can now set recurring timespans, like every year, but I've noticed that it doesn't seem to work. Here's what my settings look like, but it will only show posts from last year—not years prior on the same day of the year.

Hey, that's odd, it should work with all notes from the daily notes/periodic notes settings. Can you try to show me your folder structure for your daily notes (without any content)?

Hey, I investigated the issue and just found a bug collection the older notes, so can you try to update to version 2.1.0?!

@Kageetai yes, it works! Sorry for not getting back to you with the details you requested. Thank you for fixing the issue!

Sure thing, I stumbled upon the solution because I noticed it wasn't working on my mobile device either, but perfectly fie on desktop.
Glad it works now


Color binding doesn't support alpha for hex strings missing an alpha portion

When adding a binding with an initial value of a hex string with 3 or 6 digits (no alpha portion), the controller does not add an alpha slider.
const PARAMS = {
  tint: '#ff0',
};

pane.addBinding(PARAMS, 'tint', {
  view: 'color',
  color: { alpha: true },
});

I would expect declaring { alpha: true } to always add a supporting alpha slider. As a workaround, you can add the alpha portion to the hex string.

input
has alpha slider

'#fff'
❌

'#ffffff'
❌

'#fffc'
✅

'#ffffffcc'
✅

0xfff
✅

0xffffff
✅

I was initially confused about this as well, but  { alpha: true } only applies to  how number values are parsed into colors, not string values.
(See how params are processed for numbers vs  for strings.)
Similarly, the {type: 'float' | 'int'} param only applies to object color values.
This is consistent with how these parameters are explained in the docs, but maybe it could be a bit clearer how certain parameters are limited to certain input value types.

I agree it's consistent, but it's very easy to think that the string input with alpha: true was just left out of the docs, because if you included every variation then nobody is going to read the 86 page long docs.
I see that it's not a bug. I think it's not very useful/confusing to have a specific flag to include alpha but not have it work in some scenarios.

Yeah for sure — or some kind of generic typing approach that would restrict the available options based on the type of the bound value might help.
I'm working on a Tweakpane plugin to expand color handling by using the ColorJS library to back the internal color representation. This will bring support for CSS 4 color strings / more modern syntax, along with support for additional object / tuple param types.  Should be released in a week or two.


add guid-parse benchmark

Recently I got a pull request in zigwin32 to replace my custom-rolled GUID implementation with the one in std.  After testing the change, I realized that building zigwin32 went from less than a minute to a much longer affair.   I eventually killed it after what seemed like 15 minutes or so. It was hard for me to believe that the implementation could slow down compilation that much, but I created a small test app that confirmed it was actually the implementation.
I created this single file test program that can switch between both implementations (see the use_std_guid bool):
https://gist.github.com/marler8997/2ab2fc12190792308d233efcafe89ac3
This program consists of a copy of all the guids instantiated in zigwin32.  On my windows machine, using my guid implementation takes about 12 second to run zig test guids.zig, using the one from std.os.windows.GUID takes over 6 minutes!  I noticed on my Linux machine it went from 7 seconds to about 2 minutes, so the change isn't as drastic on linux.
This performance regression is so bad that I can't use std.os.windows.GUID in zigwin32 until this performance issue is fixed.  So I've added this benchmark for it and plan on pushing my implementation to std afterwards.

NOTE TO SELF ABOUT WHY IT MIGHT BE SLOW: I removed the asserts and replaced the implementation in std with comptime-known offsets and it's still almost as slow.  I believe the main slow down is calling parseUnsigned at comptime.

oof just noticed the count = 5000. goodness! the benchmarking code already will run the bench many times to collect stats. no need to do that.
anyway I've made the adjustment and am now running the backfill script.


Relationship to other repositories

Several repositories (and I'm sure more than the following) do similar things in hosting contexts/prefix maps/JSON-LD (whatever the name):

https://github.com/prefixcommons/biocontext
https://github.com/prefixcommons/prefixcommons-py

Now that this is another one, how can these all be coalesced? Can they be deprecated, their READMEs updated and pointed here, then turned to archive only? Otherwise people might continue to discover them even as they're out of date.

@hrshdhgd bump, there's still lots of confusion as to why there are so many packages that seem to do the same thing

biocontext and prefixcommons-py will be deprecated.


Mixed photo/video support on android

Description
When I launch the camera with mediaType set to photo, it shows the "video" icon but i cannot select it. I was hoping to be able to toggle between the two. I am only able to show "video" or "photo" is it possible to add support for "mixed" on android?
Solution

We see in this screenshot I launched it with mediaType of video. The "photo" icon is visible here at bottom but I am not able to press it. It seems the work is already done for "mixed" mode we just need a slight tweak. Any ideas please?

It seems the trick is to use the intent of MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA per https://stackoverflow.com/a/30041238/1828637

@Noitidart Thanks for the investigation. Do you mind submitting a PR?

@haitaoli thanks for the positivity and hope here! I tried to hack at it. I changed the intent constant to this, but it was not giving a "ok/cancel" to return the file data/path to my app. I'm a very novice, never did java/android much. May you/others please help out?

What about playing with the custom buttons?
const options = {
    title: 'Select the perfect view',
    storageOptions: {
        skipBackup: true,
        path: 'images'
    },
    customButtons: [
        {name: 'video', title: 'Take Video...'},
        {name: 'video_library', title: 'Choose Video from library...'},
    ],
    maxWidth: 1920,
    maxHeight: 1080,
    noData: true
};
const optionsVideo = {
    storageOptions: {
        skipBackup: true,
        path: 'movies'
    },
    noData: true,
    mediaType: 'video'
};

ImagePicker.showImagePicker(options, (response) => {
    if (response.didCancel) {
        console.log('User cancelled image picker');
    } else if (response.error) {
        console.log('ImagePicker Error: ', response.error);
    } else if (response.customButton === 'video') {
        ImagePicker.launchCamera(optionsVideo, (response)  => {
            //do what you want with the video
        });
    } else if (response.customButton === 'video_library') {
        ImagePicker.launchImageLibrary(optionsVideo, (response)  => {
            //do what you want with the video
        });
    } else {
        //do what you want with the picture
    }
});

@totoo74 - the problem is not on the picker part. It's once we have entered the image/video taker, we want the "picker" like interface there as well to swap from video back to image, and vice versa.

I will appreciate some highlights here too!

Could anyone find a solution? mediaType: "mixed" does not work on Android for me too

@DavitVosk I never found a solution.

@Noitidart as per documentation mixed option is not available for Android... But I want to find a proper way to make it work as we do for IOS

@DavitVosk yes mixed is not available per the docs, this is known. Please see my comment above for direction in which solution lies - https://github.com/react-native-community/react-native-image-picker/issues/759#issuecomment-353969584 - it relies on modifying the native code.

I hope package owners will handle this mismatch. This issue is open already a year 👎

@DavitVosk  if you can try the react-native-image-crop component because the current( react-native-image-picker ) one also has a mime issue with the format of the video.

I kinda implemented a solution (not sure if it is up to standards) for multiple select and mixed image and photo. It is available on my repo (https://github.com/cyphereza/react-native-image-picker). And not sure if I should PR this as I am fairly new to contributing in public repos.

I am having this problem as well now. Will the mediaType "mixed" never be made available to Android?


[tcp6] Endpoint and Listener to act as GetProvider

This commit updates Tcp::Endpoint and Tcp::Listener types to
inherit from GetProvider (which provides Get<Type>() methods
allowing them to directly access different components in an
OpenThread Instance).

The AsNonConst part seems a bit odd though. Any explanation as to why that's OK?

Good question. Happy to see you noticed it and asked this  😃
The background for this is for legacy/historical reasons the GetInstance() method (and all Get<Type>() flavors) in locator.hpp are defined as const methods.  A const method should not (and can not) change any of immediate variables/data owned by the object itself but technically it does not promise anything about any other object. There are different interpretations  when dealing with a set of related (non-owning) objects.

We can say that GetInstance() and Get<Type>() are not returning any owned member/data of the object itself (they are just a quick shortcut to refer to other objects).
The other view is to limit this and allow a const method to only get a const reference or pointer to any other object (basically treat the entire ot::Instance as const from a const method).

I personally favor the second view and I hope at some point we can update OT stack to adopt this model. But I must say I don't think that it would be an easy change and I expect there will be some complications, e.g., OT public and platform APIs all C definitions and they expect a non-const otInstance * as an input. This then indirectly limits any method that calls a platform API to be defined as non-const.


Not working with Jest

When running unit tests with Jest, the importFresh function does not work properly, it always returns the same (cached?) module.
Might be due to the fact that Jest patch require with its own implementation :/

Just tried, same result. Jest have its own require implementation, that can also be overridden, so I'm not sure if there's anything that can be done here, unless I can force Jest to use the "real" require implementation :/


Remove explicit returns to simplify code

Since Swift 5.1, SE-0255 evolved Swift to have the capability to implicitly return from functions.
I removed unnecessary explicit returns to improve code readability and simplicity.

I'm no longer very active in the swift world but whatever language we're working with, I think having return is more explicit and clearer than not having it. Ultimately it comes down to taste so I'll defer to @JannThomas and @SplittyDev, but what I'd like to push for is to add swiftlint to the repo and enforce one style or the other – so that there's no debate about it in future PRs.

@ldiqual I understand your perspective. Ultimately is your's and the maintainer's call. I am not sure if SwiftLint supports this particular return scenario, but I agree, that adding SwiftLint is a good idea.

I'm personally a fan of not having explicit return statements. Let's wait for @JannThomas and see what he prefers.

To be honest, I don't have a strong personal opinion on this, but this is where the Swift community is going and I think we should probably adopt it if only for that reason.

That said lets also add SwiftLint, I created Issue #107 for that and will work on it I the coming days.


near verions: 0.24.3 encoding issue

Describe the bug
near run error:
/usr/bin/env: ‘node\r’: No such file or directory
To Reproduce
Steps to reproduce the behavior:

update version yarn global add near-shell
run cmd near

Screenshots

Desktop (please complete the following information):

OS: Ubuntu 18.04
Version 0.24.3

Additional context
Executing the command has fixed the problem
dos2unix /usr/local/share/.config/yarn/global/node_modules/near-shell/bin/near

@mikedotexe can you take a look?

@mikedotexe can you take a look?

This is good timing, I have just noticed this about an hour ago and have been trying to track it down. It's related to a carriage return, probably introduced from Windows commits. Still hunting…

Thank you @sundafa for the very helpful bug report. It's community members like you that make NEAR better every day. We've pushed another version (no actual changes or new commits) and the issue has been resolved. Turns out we published that version from a Windows machine and it included Windows-related line endings.
Thanks again. 🚀


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.10.20 to before v5.10.85",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7c7cb07d4affcf41749234fe9dc4d90cd3959e32",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c520943a00ad5015704969ad3304c956bcd49d25"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "7c7cb07d4affcf41749234fe9dc4d90cd3959e32",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "c520943a00ad5015704969ad3304c956bcd49d25",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "nfsd: Fix nsfd startup race (again)\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.85 by commit c520943a00ad5015704969ad3304c956bcd49d25, it was introduced in version v5.10.20 by commit 7c7cb07d4affcf41749234fe9dc4d90cd3959e32. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002512


Keep empty line between folded headlines

Does this feature exist in Emacs orgmode core?
Yes
Orgmode link
https://orgmode.org/manual/Headlines.html
Feature value
No response
Additional context
Currently, empty lines are included in the fold of headlines.
What I would like is to keep a certain amount of empty lines between my (folded) top level headlines.
Emacs orgmode allows this (I think at least as I am not an Emacs user) by setting the org-cycle-separator-lines variable.
Is there any way to implement this here? Thank you!

I second this,
I noticed that in doom-emacs, when I have 2+ empty newlines at the bottom of a heading body, it leaves just one empty newline between the folded heading and the next one below.
This is just a nice way of organizing things visually, where headings that are bunched together tightly show a stronger relationship visually than headings spaced apart.


[INLONG-3514][TubeMQ] Cluster query adds name and IP attributes

Title Name: [INLONG-XYZ][component] Title of the pull request
where XYZ should be replaced by the actual issue number.
Fixes https://github.com/apache/incubator-inlong/issues/3514
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

PLAL


Error in training the model

Thanks for the amazing work @Sun-XH. I am trying to reproduce the results mentioned in the paper. I am having this issue while training on OPD Multi dataset, using pretrained weights of OPD Real to train OPDFormer-O. Could you please guide me if I am missing out something
Config '/home/research/OPDMulti/data/OPDMulti/obj_info.json' has no VERSION. Assuming it to be compatible with latest v2.
Traceback (most recent call last):
  File "train.py", line 179, in <module>
    args=(args,),
  File "/home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/detectron2/engine/launch.py", line 82, in launch
    main_func(*args)
  File "train.py", line 160, in main
    cfg = setup_cfg(args)
  File "train.py", line 51, in setup_cfg
    cfg.merge_from_file(args.config_file)
  File "/home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/detectron2/config/config.py", line 54, in merge_from_file
    self.merge_from_other_cfg(loaded_cfg)
  File "/home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/fvcore/common/config.py", line 132, in merge_from_other_cfg
    return super().merge_from_other_cfg(cfg_other)
  File "/home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/yacs/config.py", line 217, in merge_from_other_cfg
    _merge_a_into_b(cfg_other, self, self, [])
  File "/home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/yacs/config.py", line 491, in _merge_a_into_b
    raise KeyError("Non-existent config key: {}".format(full_key))
KeyError: 'Non-existent config key: scene_00000_00_0_1'

Hi there,
Thanks for your interest. From the error, I believe that you're using the wrong config file. The obj_info.json is the model_attr_file, which should be filled to the model_attr_path. The README file has a detailed instruction on what config file you should use. For example, if you want to train the -O version, the config file should be OPDMulit/opdformer/configs/opd_o_real.yaml
Hope this can solve your issue.

Thanks for point that out. I fixed the above issues, Below is another adherent issue I am facing. I tried setting up the env again as well as reinstalling pytorch.
Traceback (most recent call last):
File "train.py", line 30, in
from mask2former import (
File "/home/research/OPDMulti/opdformer/mask2former/init.py", line 3, in
from . import modeling
File "/home/research/OPDMulti/opdformer/mask2former/modeling/init.py", line 4, in
from .pixel_decoder.msdeformattn import MSDeformAttnPixelDecoder
File "/home/research/OPDMulti/opdformer/mask2former/modeling/pixel_decoder/msdeformattn.py", line 19, in
from .ops.modules import MSDeformAttn
File "/home/research/OPDMulti/opdformer/mask2former/modeling/pixel_decoder/ops/modules/init.py", line 12, in
from .ms_deform_attn import MSDeformAttn
File "/home/research/OPDMulti/opdformer/mask2former/modeling/pixel_decoder/ops/modules/ms_deform_attn.py", line 24, in
from ..functions import MSDeformAttnFunction
File "/home/research/OPDMulti/opdformer/mask2former/modeling/pixel_decoder/ops/functions/init.py", line 12, in
from .ms_deform_attn_func import MSDeformAttnFunction
File "/home/research/OPDMulti/opdformer/mask2former/modeling/pixel_decoder/ops/functions/ms_deform_attn_func.py", line 22, in
import MultiScaleDeformableAttention as MSDA
ImportError: /home/ubuntu/anaconda3/envs/opdmulti/lib/python3.7/site-packages/MultiScaleDeformableAttention-1.0-py3.7-linux-x86_64.egg/MultiScaleDeformableAttention.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaDataInstanceIdEEPKNS_6detail12TypeMetaDataEv


Histograms initial commit [WIP]

Pending:

[ ] Docs
[ ] Transform 'main.go' into a README.md for reference.

Will look into it more later. Just added few minor comments for now.

Also please add unit tests for your code. It'd be required prior to merging.


News/NewsSpace: (extended description)

| A supernova caused the BOAT gamma ray burst, JWST data confirms / Ars Technica | 4/12/2024, 5:00 AM |

Closed by #3838


Update specs2-core, specs2-scalacheck to 5.0.2

Updates

org.specs2:specs2-core
org.specs2:specs2-scalacheck

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

Files still referring to the old version number
The following files still refer to the old version number (5.0.0).
You might want to review and update them manually.
build.sbt

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

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.specs2" }
}]

labels: test-library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #225.


[pwm,dv] Lower some reseed counts

This should still give a reasonable confidence, but should complete rather faster.

Honestly, the testing we're doing for pwm is pretty rubbish, but the reseed counts that were checked in won't really improve things. I'm reasonably convinced this is an improvement (or makes no odds!)


[AIRFLOW-3332] Add insert_all to allow inserting rows into BigQuery table

[AIRFLOW-3332] Add insert_all to allow inserting rows into BigQuery table
Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow-3332 issues and references them in the PR title.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
insert_all function in BigQueryHook to insert one or more rows into BigQuery table.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
I have tested this feature locally on a running airflow instance with BigQuery on GCP, with a python operator calling into the hook and executing this function. Rows were inserted into BQ table successfully.

Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes flake8

Codecov Report

Merging #4179 into master will increase coverage by 1.26%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4179      +/-   ##
==========================================
+ Coverage   76.39%   77.66%   +1.26%
==========================================
  Files         199      199
  Lines       16274    16274
==========================================
+ Hits        12433    12639     +206
+ Misses       3841     3635     -206

Impacted Files
Coverage Δ

airflow/models.py
92.19% <0%> (+0.04%)
:arrow_up:

airflow/www_rbac/views.py
72.32% <0%> (+0.14%)
:arrow_up:

airflow/www/views.py
69.35% <0%> (+0.18%)
:arrow_up:

airflow/bin/cli.py
64.82% <0%> (+0.24%)
:arrow_up:

airflow/jobs.py
77.09% <0%> (+0.36%)
:arrow_up:

airflow/www_rbac/app.py
97.08% <0%> (+0.97%)
:arrow_up:

airflow/operators/docker_operator.py
97.67% <0%> (+1.16%)
:arrow_up:

airflow/task/task_runner/base_task_runner.py
79.31% <0%> (+1.72%)
:arrow_up:

airflow/hooks/hive_hooks.py
75.26% <0%> (+1.84%)
:arrow_up:

airflow/hooks/postgres_hook.py
94.44% <0%> (+2.77%)
:arrow_up:

... and 9 more

Continue to review full report at Codecov.

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

Please add some mock tests and follow the commit guidelines


Java implementation of MorphHelper::applyWeights

I'm an Android developer, know little about C++, could you implement MorphHelper::applyWeights with Java?

MorphHelper::applyWeights isn't meant to be called directly. It gets called via Animator::applyAnimation.


.NET Core port

I believe we should consider .NET Core as a supported runtime (just like Mono and .NET currently). After the initial .NET Core release, guys will keep asking us whether we support it or not.
So, I'm opening this issue for discussion. We'd better get someone with more insight on how do things work in .NET Core, but I'll try to make a little introduction here. I've been playing with F# on .NET Core for a couple of days.
.NET Core is a completely different runtime system with its own set of base assemblies, so you cannot execute ordinary .NET programs on it. You need to at least re-compile your programs to re-link them with the new set of base assemblies. .NET API have been changed a bit, but not so much. I guess we'll need to port our reflection stuff, but cannot say anything else at this point.
There's an obvious problem with dependencies: they also should be recompiled with the new runtime (well, it seems that you could somehow execute .NET Core programs on top of existing .NET or Mono installation, but I still cannot get how to do it, and it's still preferable to have "pure" .NET Core program). We're using Irony here. Unfortunately it doesn't seem to be maintained, so it's not likely that it'll get updates to run on .NET Core.
What could we do? Try to port Irony ourselves or get some help (probably we're not alone stuck with Irony)? Rewrite the parser from scratch? What tools could we use?
I guess F# team will port FSLEX and FSYACC to .NET Core soon (or have already done that). I think later this/next year I could (try to?) invest some considerable amount of time into rewriting and supporting parser in F#, but I need your approval guys. Maybe that'll be waste of time and you're aware of some better approach? Does anyone have experience with F# or maybe some another parsing tool? Remember, we need something that's still evolving today and likely to get .NET Core support soon.
Feel free to share your ideas about the overall state of .NET Core and any insight how we could (should not?) port our code.

We already compile Irony ourselves - when Pash adopted Irony, Irony didn't have NuGet packages and I didn't understand NuGet anyway. Maybe we can just build the whole solution on .Net Core and it will just work? (ha ha).
We don't have to stick with Irony. It was convenient at the time, but it's not a great fit - it's slow; it's opinionated in a way that doesn't suit PowerShell; it has a bunch of capabilities that aren't useful for us.

I guess .NET Core is positioned quite prominently to become the official cross-platform implementation of .NET. Mono isn't going anywhere in the meantime, but if we can run on Core with a moderate amount of effort it would certainly be helpful.

Just incase none of you have heard the PowerShell Team have a .Net Core port available at https://github.com/powershell/powershell released today

Yeah thanks for the info. Let's discuss further state of Pash in #429.


doc: point to nightly cargo doc

What does this PR try to resolve?
Nightly doc contains more information and rationale for each item.
It's a better fit for those want to extend Cargo's functionality.

@bors r+

:pushpin: Commit 50b4d57aa4a8fab1d1f336abf49d5d8a19f16fcc has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 50b4d57aa4a8fab1d1f336abf49d5d8a19f16fcc with merge 527c9480a6b2d7e8ceb96e04d05df3a66d6acd24...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 527c9480a6b2d7e8ceb96e04d05df3a66d6acd24 to master...


Inquiry on Optional Use of vsphere-cloud-controller-manager in Worker Clusters

Please note, this inquiry is aimed at seeking clarification and understanding rather than reporting an issue.
Hello EKS Anywhere Team,
I'm currently utilizing EKS Anywhere to manage Kubernetes clusters in an on-premise environment, specifically with VMware vSphere as the underlying infrastructure.
My query revolves around the use of the vsphere-cloud-controller-manager (CCM) within the worker clusters managed by EKS Anywhere. Given the architecture of EKS-A, with a clear distinction between management and worker clusters, and considering the management cluster handles the lifecycle operations of worker clusters (including VM creation and management), I'm exploring the possibility of minimizing the footprint and permissions required in worker clusters. Specifically, I'm interested in understanding if deploying the CCM in worker clusters is mandatory for EKS-A operations, or if it's optional.
One of my primary motivations is to avoid storing vSphere credentials within each worker cluster to reduce the security surface area. This leads me to the following questions:

Is it possible to exclude the CCM from deployment in worker clusters when using EKS Anywhere with VMware vSphere, and if so, how?
If the CCM is optional, are there specific functionalities or features within the worker clusters that would be impacted or limited by its absence?

I aim to streamline the operation and security posture of my clusters while ensuring that we can still fully utilize the capabilities of EKS Anywhere in a vSphere environment. Any guidance, insights, or documentation you could provide on this matter would be greatly appreciated.
Thank you for your time and assistance.
Best regards,
Jan

Hello @janre
Exluding the CCM from deployment in workload clusters is currently not supported on EKS-Anywhere.
https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/issues/924 There is an upstream CAPV ticket that includes a bit more context on this specific use-case if you would like to read further.


Weird Character on index.js

    visibilitySetter: function (value, key, element) {
        // IE9-11 doesn't handle visibilty:inherit well, so we remove the attribute instead (#2881, #3909)
        if (value === 'inherit') {
            element.removeAttribute(key);
        } else {
            element.setAttribute(key, value);
        }
    },

The problem is between the "} else" it shows up as

Not sure what is causing this maybe an IDE issue? Maybe it is clashing with Babelify or Browserify or Gulp... but I think cleaning spaces in all your files and converting tabs to spaces before pushing to npm.

Can you write a bit more about where exactly this character showed up, and what did you do before that?
I can't see it in the index.js file in the repository.

Seeing this as well, not using Babelify or Gulp, though I am using browserify. Definitely looks like an encoding problem with highcharts - code shows it at https://github.com/highslide-software/highcharts.com/blob/master/js/highcharts.src.js#L2868
@RickFrom1987: adding charset="UTF-8" to your script tag should get it working again.

@asegavac I will give that a shot. Thanks! Glad to see that I wasn't going crazy!

Is it reproducible? If so, how can I do that?
Which OS/Editors were you guys using?

I'm closing the issue, feel free to reopen if it comes again.


⚠ Processors has degraded performance

In e9ee28b, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 42 ms

Resolved: Processors performance has improved in 07a3199.


Fighting spam comments

Is there a preferred or built-in way of combating spam comments when validating forms with Ardent?
I've tried to use https://github.com/msurguy/Honeypot with the valdation rules in my model and the my_time field won't pass validation.

You just need to set the additional purge fields e.g.
function __construct($attributes = array()) {
  parent::__construct($attributes);
  $this->purgeFilters[] = function($key) {
    $purge = array('my_time', 'my_name');
    return ! in_array($key, $purge);
  };
}

Also put them in your fillable property:
protected $fillable = array('my_time', 'my_name', ..........);

This did the trick for me.


Is it possible to intercept and modify requests/responses?

Not sure how to extend LSP for server oddities. This is something required in order to support servers such as eclipse jdt for java. In vim-lsc this can be accomplished with hooks (https://github.com/natebosch/vim-lsc/blob/master/doc/lsc.txt#L446-L492). Is there anything similar in neovim implementation that we can use and configure here?
Thanks

@pwntester for that, you'll want to see the original :h lsp.txt docs, but the answer is yes. I designed it to be able to customize it to the nth degree.
It would help if you were more specific in what customization you were trying to achieve so that I can give you a more specific answer.

Thanks for the quick answer, I actually use vim-lsc hooks in the following two cases:

Java eclipse JDT (see my comment here https://github.com/neovim/nvim-lsp/pull/22#issuecomment-557130911)
In short, JDT use custom commands that need to be changed to conform with the spec. In particular I need to change response to textDocument/codeAction so that java.apply.workspaceEdit is replaced with workspaceEdit (see https://github.com/eclipse/eclipse.jdt.ls/issues/376)

At least vim-lsc does not send workspaceFolders and rootPath params in the initialize request, since they are expected by some servers I use the following hook to add them (Im basically copying rootUri into them):

            \ 'message_hooks': {
            \   'initialize': {
            \       'rootPath': {method, params -> params['rootUri'][7:]},
            \       'workspaceFolders': {method, params -> [{'name': 'test', 'uri': params['rootUri']}]},
            \   }
            \ }

Generally, you'd want to consult the :h lsp.txt docs to see the notes on start_client(config), which is the main entrypoint for making clients and the thing which the skeletons here generate based on root_dirs and can be modified after encountering a new root_dir but before it goes to start_client() via on_new_config(config). In there, you can modify the configuration before it is used to create a client. Many existing clients have examples of that, especially for installed servers via npm.
But amazingly, you've hit the one thing I actually don't allow. I figured that changing initialize options wouldn't be required because rootUri was added a while ago. And workspaceFolders was something I didn't add support for. Seems like I'll be addressing these in https://github.com/neovim/neovim/pull/11430.
As for the first one, you can use the callbacks method available on either the skeleton here on default_config.callbacks which is to allow setting defaults for a server which are passed to the config.callbacks for start_client(config).

I'll see about adding the option to start_client. I'd probably do something like before_initialization = function(initialize_params) which will let you do various things right before you initialize like modifying the initialize_params.

Thanks, I gave callbacks a try but Im probably doing something wrong since Im not able to hijack publishDiagnostics message.

Oh, I just read this in the docs:
 NOTE: the function options in {config} like {config.on_init} are for Lua
  callbacks, not Vim callbacks.

So seems I will need to take the lua road after all ...

@pwntester Yes, all roads lead to Lua. :P

@pwntester added before_init in https://github.com/neovim/neovim/pull/11430

Awesome, thank you! I think codeActions support is the only missing piece for my setup

@pwntester are you waiting on a change in nvim or nvim-lsp, or can we close this?

So seems I will need to take the lua road after all ...

The Vimscript wrappers are going to be removed. It's easy to use Lua from Vimscript, see :help lua-heredoc.

The Vimscript wrappers are going to be removed. It's easy to use Lua from Vimscript, see :help lua-heredoc.

Thanks for the hint, I had some trouble finding out how to use lua from vim
Yep, this issue can be closed, thanks!
Using lua I was able to extend built-in support to do the following:

add signs to sign column for diagnostics
expose diagnostic counts with a global function so they can be showed in the status bar
expose LSP server readyness with a global function so they can be showed in the status bar
right align virtual text to the right of the screen
change/remove highlights from diagnostics popup window
set workspaceFolders initialize param for servers that require it
handle java ls unsupported notifications such as language/status

I dont know if any of these may be of interest for the community, and considering my lua is horrible at the moment, I dont feel comfortable to submit any PRs, but maybe you want to take some of these into consideration.
Still have some items that I want to complete when time permits, espicially codeAction support. It seems that the callbacks are in place to perform de workspace edits, so we just need to implement the request for actions.
In a side note, there are a couple of things that I was not able to do:

use lua bindings to place signs. I tried vim.api.sign_define, etc. but they are not defined so ended up using vim.api.nvim_command instead
implement a catch-all callback for any server notifications. I was able to see that java server was sending these out-of-spec language/status notiifcations to the client by using a different client. But I would like to enable a callback to respond to any notification, just for debugging purposes and to see if there is any notification that could be handled and is not.
refresh diagnosticts on windows resize. a side effect of right-aligned virtual text is that if you open a split (eg: defx in the screenshot above) the virtual text may get out of screen. Is there any autocommand triggered when a window changes its szie?

My config can be found here. As you can see, I had to replicate a lot of neovim code to change the virtual text part, could it be done differently? also any feedback about the code is welcome, Im totally new to lua :)

Using lua I was able to extend built-in support to do the following:

That's great! We are eager to add sample code to the docs, so please share those in a separate issue.

I tried vim.api.sign_define, etc. but they are not defined so ended up using vim.api.nvim_command instead

sign_define is an editor function, so it is exposed to Lua via vim.fn . Where vim.api exposes the Nvim API. See also :help vim.fn .

implement a catch-all callback for any server notifications

good idea, can you create a separate issue for that.
Something like lsp.on_response(handled) which is nil by default, otherwise all server => client responses pass through it, and handled=true if there is a handler for it already.

refresh diagnosticts on windows resize

Yeah, Nvim needs a "WinResized" event...

sign_define is an editor function, so it is exposed to Lua via vim.fn . Where vim.api exposes the Nvim API. See also :help vim.fn .

thanks! that also helped me with missing has, exists, etc.. :)
As for opening issues for docs, catch-all handler and WinResized, should I open them in the neovim repo or here?

As for opening issues for docs, catch-all handler and WinResized, should I open them in the neovim repo or here?

Most of those might belong in the core repo. We can always transfer if not.

will do, thanks
last question about lua interoperability. how can I pass a lua callback to a command run with nvim_command? Im trying something like:
vim.api.nvim_command(string.format('call fzf#run(fzf#wrap({"source": %s, "sink": "v:lua.codeactions_callback", "options": "+m --with-nth 2.. -d ::"}))', str_list))

but lua function codeactions_callback is never called
also, Im converting a lua table (list) to a string (str_list) with:
    local str_list = '['
    for idx, option in ipairs(options) do
        str_list = str_list..string.format('"%d::%s",', idx, option.title)
    end
    str_list = str_list..']'

Is there any any way of invoking a vimL function with a lua object as argument (in this case a table)?
Thanks!

how can I pass a lua callback to a command run with nvim_command?

Not supported.

Is there any any way of invoking a vimL function with a lua object as argument (in this case a table)?

Yes, see :help vim.fn. You definitely don't need to do the horrible string concatenation :)

@pwntester

expose LSP server readiness with a global function so they can be shown in the status bar
right align virtual text to the right of the screen

I think both of these would to upstream!


Customizable width of the sidebar

Summary
Think it would make sense to add an option to set a custom width to the sidebar. If you think it's a good idea I can try to implement this for the gatsby plugin to see how it works and create a PR. My idea is to set a max-width so it will be responsive and scale down on mobile devices.
Haven't looked at the components/plugins for the form fields in detail so don't know if it will be a bigger project refactoring them. But guessing they are set to scale to the width of the sidebar?
Basic example
{
    resolve: 'gatsby-plugin-tinacms',
    options: {
      sidebar: {
        position: 'displace',
        maxWidth: '400px'  // could also just be width
      },
    },
}

Motivation
The sidebar can feel small on bigger screens.  Would be great to have the possibility to decide how wide the sidebar should be.

Would be even better if you could resize it without any optional setting.

Yes, that would be great ... but guess that requires a lot more work as it will affect the whole site when the user resizes dynamically. Or it is much simpler than I think right now without having thought it through =)
Guess it would be great to still be able to set the initial width though. There's probably also use cases when you don't want the user to be able to resize but only set a max-width.

Check out the below video. Is this something you want? Still a lot of refactoring to do as I just got it working =) And it doesn't seem to work with inline editing yet. Haven't looked at why yet ... It changes size when I press the inline editing button and I have no clue why now as I haven't tampered with that at all. I created a new component, a resizerBar, and added it to Tina with some small tweaks and local states.
I also didn't want to re-render the whole sidebar on each pixel move with the mouse. That's why I created this kind of "ghosting" process where the user drags the line to the desired width first. Then I update the width of the sidebar and everything in it. This way I just have to re-render the resize-bar itself when it moves and update its local state.
As you can see there are also some tweaks that have to be made to the form fields so they will have full width. And I didn't test it with the "fixed" version of the sidebar yet. Just the "displace" one.
Anyways ... below is the video:
https://www.dropbox.com/s/1zv811ixk7pwwfa/tina-resizable-test.mov?dl=0

Wow, I didn't think you'll go the hard way. 😊
Would it help with the rendering if the sidebar was kind of blurry on drag?
It mostly raises the question: how large should the sidebar be in different contexts?
When do we need a larger sidebar?
What do you say @spbyrne?

Hey … No to make the sidebar blurry would probably demand more computer power =)
I actually think that this feels really smooth when using it. It feels natural some how.
This is a fairly easy implementation also without to much refactoring, this way.
In my honest opinion. I always felt that the sidebar is kind of small when editing a lot of text.
That’s why I thought it is good to be able to at least set the max width on it.

6 jan. 2020 kl. 00:47 skrev Frank Taillandier<EMAIL_ADDRESS>Wow, I didn't think you'll go the hard way. 😊
Would it help with the rendering if the sidebar was kind of blurry on drag?
It mostly raises the question: how large should the sidebar be in different contexts?
When do we need a larger sidebar?
What do you say @spbyrne https://github.com/spbyrne?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tinacms/tinacms/issues/558?email_source=notifications&email_token=ACVRL3VTBK6AZWCLIMMTVKTQ4JWQ5A5CNFSM4KCTKYQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIECYHA#issuecomment-570960924, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACVRL3R5G7RJUPTVC5GNXHTQ4JWQ5ANCNFSM4KCTKYQQ.

This is amazing 👍 I like the approach you've used to prevent rerendering until you've released the mouse. Also the resize handle looks quite good.

I think the sidebar should just default to the current width with the ability to set a different initial width. The user can then resize it as needed.
One change I intend to make is to float the sidebar above the content below a certain screen size, even if it's set to displace. This way on a phone you'd be able to open the sidebar without the site breaking. In fact, maybe on mobile the sidebar should just open to something like 90% width and cover most of the content. But this can be another PR (mobile sidebar improvements)

Thanks again :) I will look into why it isn’t working as it should with inline editing. Think it is because I changed some width to 100% on the sidebar instead of giving it the width by props. But really don’t know right now. Will look into it ASAP .. can make a pr so you can try it out yourself also
Skickat från min iPhone

7 jan. 2020 kl. 15:21 skrev Scott Byrne<EMAIL_ADDRESS>
This is amazing 👍 I like the approach you've used to prevent rerendering until you've released the mouse. Also the resize handle looks quite good.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Dear all, I am new to Tina and liking it very-much. Having the ability to resize the editing window will add tons of value to devs like myself whos planning to build custom plugins
Looking forward to seeing this feature implemented
Cheers for developing such a fantastic library


IPLD preparations

I did some reading through the updated ipld spec this morning, as well as the js-ipld implementation.
The biggest breaking change from our perspective is that the @link tag in the json representation has been replaced with /, and "link objects" are now only allowed to have a single key.  So a link would now look like e.g.:
{"artist": {"/": "QmF00..."}}

Link properties are now siblings of the "link object" instead of being contained inside it, e.g.:
{
  "thing_with_properties": {
    "prop": "value",
    "link": {"/": "QmF00..."}
  }
}

Since we're not using link properties that seems like it shouldn't affect us, but i'm a bit confused by Link Properties Convention section.  It's not clear how to distinguish "pseudo link objects" from plain objects that happen to contain links, which has implications for path resolution.
For example, if we have:
{
  type: "artefact",
  meta: {
    data: {
      title: "Hello world",
      artist: {"/": "Qm123"}
    }
  }
}

Would the path /ipfs/<hash-of-that-object>/meta/data just assume that we were trying to attach link properties to the artist link and replace the value of data with the contents of the artist link?  It would be good to get clarification on how path resolution works with these "pseudo link objects" before we dive in.  The examples all use the key link for the "real link", but it's not at all clear whether that key is "special" when resolving paths.
The canonical cbor representation hasn't changed much, but it does require the use of cbor tags, which we aren't yet using.  The spec still lists "register tag with IANA" as a TODO, but in the js implementation they're using 258 as the tag, so it's probably safe to use that.  Our cbor serialization code will need to be updated to use link tags instead of writing out cbor maps.
So, here's some things to do:

[x] resolve ambiguity about link properties and path resolution
[ ] update cbor serialization code to use tags instead of link maps  (needs client-side support as well)
[ ] experiment with js-ipld implementation

see if we can put our raw cbor bytes into ipfs and resolve with js-ipld-cli

Hey! Going to be super brief because of time atm, but i can expand later. cc also @nicola @diasdavid @dignifiedquire @mildred @davidar who can expand on some of this.

on the "pesudo link objects". that's just a way to show you how one might create objects with more information.

it's not part of the implementation or spec, really, it's just a "how do i add data to the links? oh, by making a wrapper object with the data there, not in the link itself, got it".

Path resolution is super simple now (simpler than it used to be).

Would the path /ipfs//meta/data just assume that we were trying to attach link properties to the artist link and replace the value of data with the contents of the artist link?

No, it would just be:
> ipld resolve --encoding=json /ipfs/<hash-of-that-object>/meta/data
{
  title: "Hello world",
  artist: {"/": "Qm123..."}
}

> ipld resolve --encoding=json /ipfs/<hash-of-that-object>/meta/data/artist
<the object pointed to by Qm123...>

update cbor serialization code to use tags instead of link maps (needs client-side support as well)

@dignifiedquire @nicola @mildred @davidar o/ you understand the mapping to cbor better than i do. can you confirm the above?

Awesome, thanks juan!

update cbor serialization code to use tags instead of link maps (needs client-side support as well)

I'm not a 100% sure what you mean by this. The changes that were made recently to the cbor tag encoding are the following:
Before

a text string (major type 3) or byte string (major type 2) corresponding to the link target. This is the canonical format for links with no link properties.
an array (major type 4) containing as first element the link target (text or binary string) and as optional second argument the link properties (a map, major type 5)

After
Only: a text string (major type 3) or byte string (major type 2) corresponding to the link target. This is the canonical format for links with no link properties.

sweet, thanks for the explanation.  We just recently started working on using the correct canonical encoding for links (using cbor tags); so far we've just been writing out cbor maps of the form {"@link": <multihash-bytes>}, which isn't valid IPLD but got us close while the spec was in-progress.
That's what I was referring to about updating the serialization code to use tagged values instead of link maps.
Looks like we're pretty close; #162 produces cbor objects with links that resolve using the js-ipld-cli.  At the moment we're writing out the multihashes as strings, but will probably use multiaddr soon.

Sounds good. Feel free to ping me when anything is unclear or is missing :)

Update from IPFS team:

go implementation out of sync with standard but has some valuable optimizations (stream decoding)
JS implementation = reference, basically there, can probably port it back
waiting on timeline details so we can jump in to help


HoloToolkit Tap to Place issue

I'm using the TapToPlace form the HoloToolkit in order to move the hologram (duh). But on runtime, i cant seem to get any response from the script, only from another script that i created that uses the IInputClicker interface.
On a blank scene, the TapToPlace does not still seem to respond and the AnchorManager projects the hologram on a point far away from the origin, in the range of the +/- 40's.
Thanks

The TapToPlace still does not work properly most of the time. From my previous issue, the hologram stays at a reasonable distance in the scene, I can select a hologram. But there is still a problem where it will not be set in a location

I believe the GazeManager has a maximum distance, which is set to 10.

So basically, anything further than 10 wouldn't be registered by the tap?
Any way to increase that range?

Yes, you can update this distance on the GazeManager component.

This looks answered. Please reopen if not!


[CodeCompletion] Fix a crash in context type analysis

Cherry-pick of #29816 into swift-5.2-branch
Explanation: Fix a crash in context type analysis for IfExpr (ternary expression) in code completions. Before sequence folding, IfExpr doesn't have the condition part. When they somehow aren't type checked prior to the code completion analysis, it used to crash because of the lack of the nullptr check.
Scope: Code completion inside "then" part of ternary expressions.
Risk: Very low. Just add a check to guard.
Issue: rdar://problem/59344203
Testing: Passed the current regression test. (No additional test because I haven't been able to find a reproducer)
Reviewer: Nathan Hawes (@nathawes)

@swift-ci Please test

@swift-ci Please nominate


Publish python scripts using SSH

Hello,
It would be great if python scripts could be copied to remote machine using SSH.
It could be used to develop various python daemons on Linux or python applications running on Linux.

I agree, this would be great.
Previously we've been blocked by not having a convenient SSH library we could include with Visual Studio (without getting into complicated licensing issues), but I believe the C++ team has gone through the trouble so this should be much easier for us to do now.
Issues #763 and #1237 are related, but this issue represents a prerequisite for those and should be easier to implement on its own.


Support Node 10 when using the internal fs module real functions

As per https://github.com/nodejs/node/issues/17076 the functions have been
renamed in node now. This reenables dynamic loading of modules using the node10
runtime.

Same as https://github.com/zeit/pkg/pull/452 ;)

Until this merges I've just gone ahead an npm i’d pkg@bergheim/pkg#fs-internalmodule-rename.

Fixed! Thank you!


HealthChecker reports TLS 1.2 and other are disabled

Health checker incorectly reports that TLS 1.2/1.1/1.0 is disabled.
It is not correct that the value need to be 1 or 0. It can also be 0xffffffff<PHONE_NUMBER>).
See https://www.hass.de/content/setup-microsoft-windows-or-iis-ssl-perfect-forward-secrecy-and-tls-12.

@alexhass no, it can't be 0xffffffff, it is required to be 1 or 0 as per our documentation.
See this issue for more information: https://github.com/dpaulson45/HealthChecker/issues/220

Also, 0xffffffff = -1 which most people believe that this means don't enable or always going to be false, which isn't true. Based off the article you provided, all it is doing is enabling it, which again some people believe it does the opposite. While it does work, it is the incorrect way of doing it and the Health Checker is only going to follow the correct way of doing it.

Have you reviewed MS SSL code why it works? Maybe there is just a lack of documentation?

It isn't lack of documentation it is how code works.


WIP: Make LabelObject parent a template parameter

Add an additional template parameter to specify the parent of the
LabelObjects.
The StatisticsLabelObject is indepenent of it's default parent the
ShapeLabelObject. Using this pattern enable the creation of filters
which do not unwantedly compute the shape attributes.

@blowekamp  Is this WIP PR still relevant?

I'd really like the ability to compose arbitrary derived LabelObject and LabelObjectFilters.  The ability to just use the label object statistics without the intensity statistics would be a good thing.

I am not going to return to this work.


Overloaded Classes

implemented interfaces removed in child class in request

@dcarbone I've accidentally made a pull request on qpleple/cloudstack-php-client but I've closed it.
I searched on google and unfortunately I can't erase it permanently due to github terms.
https://stackoverflow.com/questions/18318097/delete-a-closed-pull-request-from-github
I hope I won't create you any problems. I'm sorry.

I can just close it.

Not this one. I've closed the one on qpleople. This one is on myEna

ok, i've opened it again...


Fixing FPSDisplay prefab to work better with tagalong and world space camera for UI Text

Prefab did not work well due to camera being used in screen space for the UI Text.
Changed the UI Text camera to render in world space.
Also scale did not work great so fixed that too.
Added SimpleTagAlong and BillBoard to have the FPS counter follow along as we gaze around in the world.

Love it! Works well for me. =)


Add gotify 0.3.0 to stable

Please update my adapter ioBroker.gotify to version 0.3.0.
This pull request was created by https://www.iobroker.dev c0726ff.

reminder 14.11.2024

RE-CHECK!

@ThomasPohl
Your Adapter has been added to stable repository. If you like you can extend the news message here:
https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/history/history.md
If you add some more information / description, please consider to add this information to README.md too.
If you have any questions related to the news file, please contact @Apollon77 for further information.
Please note, that the PR announcing the new adapter at stable might not be merged.
https://github.com/ioBroker/ioBroker.docs/pull/


Should accept only valid DNS name formats for service link names.

Sever version - v0.25.0-rc2
Steps to reproduce the problem:
I had named service link name as "127.0.0" , I see that the DNS resolution using "127.0.0" fails , even though dig on "127.0.0" shows the correct list of container ip addresses it should resolve to.

I see similar issue when using  service link name as "<IP_ADDRESS>"

There is also a similar issue when using spaces in dnsname - i used link name as "test me"
I see it being programmed in network agent:
"<IP_ADDRESS>": {
    "client.": ["<IP_ADDRESS>"],
    "client.rancher.internal.": ["<IP_ADDRESS>"],
    "mydns.": ["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"],
    "mydns.rancher.internal.": ["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"],
    "test me.": ["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"],
    "test me.rancher.internal.": ["<IP_ADDRESS>", "<IP_ADDRESS>", "<IP_ADDRESS>"]
},

But these links are not usable.

Duplicate of #680


Intermittent test failures for TestBroker_Publish

This occasional fails locally, and when Travis builds.
=== RUN TestBroker_Publish
[raft]  2015/02/12 16:59:50 log open: created at /tmp/influxdb-messaging-329746835/raft, with ID 0, term 0, last applied index of 0
[raft] <IP_ADDRESS>:8080 2015/02/12 16:59:50 log state change: stopped => leader
[raft] <IP_ADDRESS>:8080 2015/02/12 16:59:50 log initialize: promoted to 'leader' with cluster ID<PHONE_NUMBER>082153551, log ID 1, term 1
[raft] <IP_ADDRESS>:8080 2015/02/12 16:59:50 log state change: leader => stopped
--- FAIL: TestBroker_Publish (0.26s)
	broker_test.go:84: decode(create replica): 0 (EOF)
	broker_test.go:75: write to: add stream writer: write to: replica unavailable

Dupe.


flet build to support signing .apk with key.properties

Discussed in https://github.com/flet-dev/flet/discussions/2334
To-do items:

[ ] Modify flet build bootstrap project template to read signing info from key.properties.
[ ] Handle key.properties in the root of Flet app project while running flet build.
[ ] Docs

Hello, how to use key.properties in Windows?
I have a mykey.keystore but in the manuals I see they only talk about mykey.jks, and I can't update my app in google play

Biraz daha detaylı bir anlatım var mı acaba?

Supported in Flet pre-release.


aaaaaaaaaAAAAAAA

Describe your bug here.
WHAT THE FUC

Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
Modding

Do you happen to be running Windows-on-ARM? If you don't know, can you mention what computer you have?

The problem has been fixed


feat: rewrite with expo modules

TODO

[x] write native modules
[x] copy example
[x] write web module
[x] add incode docs
[x] update docs
[x] update README.md
[x] add support to example for web
[x] copy tests
[ ] better error handling (add error codes)
[ ] update version

Summary
Rewrite library with expo modules
Breaking change
Library needs from now expo package in project - read here

I would say we need to check on how it will look like for an existing user
to upgrade to this re-written version.
If it’s smooth and there are no changes they need to make to their project
then we can just bump the minor version to signal no breaking changes.
Otherwise we need to bump the major version and set it to 2.0.0
Krzysztof Moch @.***> schrieb am Mo. 27. März 2023 um
11:50:

hey @osamaqarem https://github.com/osamaqarem, what package version
should we set ?
—
Reply to this email directly, view it on GitHub
https://github.com/osamaqarem/react-native-image-colors/pull/64#issuecomment-1484840119,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2DRQWOFXW6VCAKW2VVBWTW6FPGVANCNFSM6AAAAAAV7DG5UY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Osama

I think what we could do here is insert the expo package as a peer dependency so we don't need to ask the user to install it. Then we should check if things would work out of the box without additional steps by the user.
If things break, then we take the expo package out and mention it as a requirement in the installation README and 2.0.0 will be our version.

I would watch out for this issue when i'm testing bare React Native https://github.com/nandorojo/burnt/issues/4

Hey
I tested it with bare react native app and expo and it works 🚀
For bare react native there was requiered additional steps. Bare react native users can't install expo modules without it, so i think this is a breaking change nad with should set 2.0.0 version

I also noticed that our type imports are imported from a different path. Not sure why, but I'll check it when I have time again.
import { getColors } from 'react-native-image-colors'
import { ImageColorsResult } from 'react-native-image-colors/types' // <--- this

I also noticed that our type imports are imported from a different path. Not sure why, but I'll check it when I have time again.
import { getColors } from 'react-native-image-colors'
import { ImageColorsResult } from 'react-native-image-colors/types' // <--- this

ImageColorsResult was not exported from index.ts - just corrected this ✅

So you really want all your users to migrate to Expo because of this one package right?

Together with @osamaqarem, we decided that we want to add support for new architecture using expo modules api. There are profits that come with using it like support for swift
So we didn't do it for expo modules - we did it because we use expo-modules-api and it was easier for us to manage package using expo modules

@Dajust Migrating to expo is a lot more work than just configuring the expo package which is all we need. Could you say more about your reasons for avoiding to do so?


Fix an error when creating a mono AKAudioFile from floats

Related issue: https://github.com/audiokit/AudioKit/issues/902

Thanks!


Error: Page crashed!

Hello,
I'm using yout project, and since yesterday i'm getting this error:

UnhandledPromiseRejectionWarning: Error: Page crashed!
at Page._onTargetCrashed (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Page.js:213:24)
at CDPSession. (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Page.js:122:56)
at CDPSession.emit (events.js:311:20)
at CDPSession._onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Connection.js:200:12)
at Connection._onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Connection.js:112:17)
at WebSocket. (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\WebSocketTransport.js:44:24)
at WebSocket.onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:311:20)
at Receiver.receiverOnMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\ws\lib\websocket.js:789:20)
at Receiver.emit (events.js:311:20)
(node:2656) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2656) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Are you planning to fix this?

Hi! When exactly does this happen? Could you also provide some logging output from your terminal?

Ah I see the problem now. I've committed a fix: https://github.com/jvandenaardweg/linkedin-profile-scraper/commit/8547250a31477afe535c0509787309fee5aaea12
When you use the latest version, it should work now.

Not working for me yet, my terminal output:
C:\linkedin-profile-scraper>npm start
<EMAIL_ADDRESS>start C:\linkedin-profile-scraper
 node index.js

Server setup: Setting up...
Scraper (setup): Launching puppeteer in the background...
Scraper (setup): Puppeteer launched!
Scraper (setup): Blocking the following resources: image, stylesheet, media, font, texttrack, object, beacon, csp_report, imageset
Scraper (setup): Setting session cookie using cookie:  **_SESSION_COOKIE_HERE_**
Scraper (setup): Session cookie set!
Scraper (setup): Browsing to LinkedIn.com in the background using a headless browser...
Scraper (setup): Adding helper methods to page
(node:17788) UnhandledPromiseRejectionWarning: Error: Page crashed!
    at Page._onTargetCrashed (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Page.js:213:24)
    at CDPSession.<anonymous> (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Page.js:122:56)
    at CDPSession.emit (events.js:311:20)
    at CDPSession._onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Connection.js:200:12)
    at Connection._onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\Connection.js:112:17)
    at WebSocket.<anonymous> (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\puppeteer\lib\WebSocketTransport.js:44:24)
    at WebSocket.onMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:311:20)
    at Receiver.receiverOnMessage (C:\Users\User01\Documents\linkedin-profile-scraper\node_modules\ws\lib\websocket.js:789:20)
    at Receiver.emit (events.js:311:20)
(node:17788) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:17788) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I also tried to use puppeteer with headless option to false, so i can see whats happening in the browser, and it logged in with my account, but the loading animation never stops and 5 to 10 seconds after, the page craches.
Is it working for you?

Hmm, that's weird, I've tested it a few times and all went ok. Need to look into this better.
Do you know what keeps on loading exactly?
I've added  waitUntil: 'domcontentloaded' specifically because I saw LinkedIn keeps on loading things.

I'm also getting that same error.
I believe the culprit is https://www.linkedin.com/voyager/api/legoWidgetImpressionEvents

Feel free to send in a PR to block these kind of requests that are not needed for LinkedIn to work properly. I believe more could be blocked to speed up the crawling.

Thanks for showing me where to block requests. I'll give that a try and see if things work.

I'm also running into this issue. Any updates @jvandenaardweg?

@ronagesh i've not had the time to test this, as I do not have a reproducable test case yet.
However, I found some similar error in an other project if mine. I reverted back Puppeteer to 2.0.0 and then the error went away.
Can you validate this for me?
https://github.com/jvandenaardweg/linkedin-profile-scraper/blob/master/package.json#L18
Change it to:
"puppeteer": "^2.0.0",
Then npm install
Then try again.

I'm working with the latest code from today, and get the same error.  Tried reverting back Puppeteer to 2.0.0 but same error.
Did anyone find a fix yet?

@mrkrisjack can you try using this test branch? https://github.com/jvandenaardweg/linkedin-profile-scraper/tree/test
I've reverted some changes there, to see if that helps any in finding the problem

With that test branch checked out, running npm start throws this error:
npm start

><EMAIL_ADDRESS>start /Users/name/Projects/linkedin-profile-scraper
node index.js

Server setup: Setting up...
Scraper (setup): Launching puppeteer in the background...
Scraper (setup): Puppeteer launched!
Scraper (setup): Blocking the following resources: image, stylesheet, media, font, texttrack, object, beacon, csp_report, imageset
Scraper (setup): Setting session cookie using cookie: <<COOKIE>>
Scraper (setup): Session cookie set!
Scraper (setup): Browsing to LinkedIn.com in the background using a headless browser...
Error during setup
Error: TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
    at setupScraper (/Users/name/Projects/linkedin-profile-scraper/scraper/linkedin.js:103:11)
Server setup: All done. Listening on port 6000!

@mrkrisjack can you add this change? https://github.com/jvandenaardweg/linkedin-profile-scraper/commit/8547250a31477afe535c0509787309fee5aaea12

Thanks!  The good news is that it successfully sets itself up with the code change you suggested.
Scraper (setup): Session cookie set!
Scraper (setup): Browsing to LinkedIn.com in the background using a headless browser...
Scraper (setup): Adding helper methods to page
Scraper (setup): Checking if we are logged in successfully...
Scraper (authentication): Check if we are still logged in...
Scraper (authentication): All good. We are still logged in.
Scraper (setup): Done!
Server setup: All done. Listening on port 4000!

The bad news is that the server call now throws an error.
Scraper (scraping)<PHONE_NUMBER>091): Navigating to LinkedIn profile: https://www.linkedin.com/in/barackobama/
(node:8043) UnhandledPromiseRejectionWarning: Error: Navigation failed because browser has disconnected!
    at CDPSession.LifecycleWatcher._eventListeners.helper.addEventListener (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/FrameManager.js:1181:107)
    at CDPSession.emit (events.js:189:13)
    at CDPSession._onClosed (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/Connection.js:231:10)
    at Connection._onClose (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/Connection.js:121:15)
    at WebSocketTransport._ws.addEventListener.event (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/WebSocketTransport.js:45:22)
    at WebSocket.onClose (/Users/name/Projects/linkedin-profile-scraper/node_modules/ws/lib/event-target.js:124:16)
    at WebSocket.emit (events.js:189:13)
    at WebSocket.emitClose (/Users/name/Projects/linkedin-profile-scraper/node_modules/ws/lib/websocket.js:180:10)
    at Socket.socketOnClose (/Users/name/Projects/linkedin-profile-scraper/node_modules/ws/lib/websocket.js:802:15)
    at Socket.emit (events.js:189:13)
  -- ASYNC --
    at Frame.<anonymous> (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/helper.js:144:27)
    at Page.goto (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/Page.js:624:49)
    at Page.<anonymous> (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/helper.js:145:23)
    at getLinkedinProfileDetails (/Users/name/Projects/linkedin-profile-scraper/scraper/linkedin.js:138:14)
    at app.get (/Users/name/Projects/linkedin-profile-scraper/index.js:34:46)
    at Layer.handle [as handle_request] (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/layer.js:95:5)
    at /Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/index.js:281:22
  -- ASYNC --
    at Page.<anonymous> (/Users/name/Projects/linkedin-profile-scraper/node_modules/puppeteer/lib/helper.js:144:27)
    at getLinkedinProfileDetails (/Users/name/Projects/linkedin-profile-scraper/scraper/linkedin.js:138:14)
    at app.get (/Users/name/Projects/linkedin-profile-scraper/index.js:34:46)
    at Layer.handle [as handle_request] (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/layer.js:95:5)
    at /Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/name/Projects/linkedin-profile-scraper/node_modules/express/lib/router/index.js:275:10)
(node:8043) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:8043) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code

Hmm bummer. What node version are you using? node -v

v10.15.3
On Wed, 29 Apr 2020 at 14:38, Jordy van den Aardweg <
<EMAIL_ADDRESS>wrote:

Hmm bummer. What node version are you using? node -v
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jvandenaardweg/linkedin-profile-scraper/issues/8#issuecomment-621213475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRMMHPJ4SOZ6OVJ4F4D5BTRPAUXDANCNFSM4LTMSKFQ
.

--
Dr Kris Jack,
http://www.mendeley.com/profiles/kris-jack/

@mrkrisjack i've got a PR ready (https://github.com/jvandenaardweg/linkedin-profile-scraper/pull/9) which seems to fix the issue. The problem seemed to be the blocking of stylesheet resources.
Can you pull the changes from the test branch, do a npm install, and then try again?


Allow scheduled delivery of queue messages

From @itaysk on January 29, 2017 13:34
I'd like to suggest adding an option to schedule delivery for messages in queue output.
This is supported by both Azure Queue and Service Bus Queue, but the run time has to pass the delay parameter.
Copied from original issue: Azure/Azure-Functions#169

From @mathewc on January 31, 2017 16:52
Yeah, while you can control the schedule time on the SB message, the same knob isn't present on CloudQueueMessage for Azure Queues. If you're writing a C# function, you can change your function parameter to bind to a CloudQueue and we'll had your function the queue. You can then call the Add method yourself passing in your invisibility timeout.
I realize that you're asking for a way to make this more automatic, but the above is all you can do for now.

From @slideep on January 31, 2017 14:1
I assume you are referring for a way to do this in serviceBus -binding at function-level in function.json?
Now I guess the support for custom input/output bindings is out of reach at the moment so that option
doesn't fly yet - doing your very own custom binding or extending ServiceBusAttribute.
At least with C# & Node.js (and why not in F#) the Service Bus queue output already supports this e.g. if you create and put multiple messages e.g. to IAsyncCollector<T> or create out BrokeredMessage. Within your outgoing message(s) you can control the scheduled enqueuing time:
outgoingMessage.ScheduledEnqueueTimeUtc = DateTimeOffset.UtcNow.AddSeconds(10)

Working fine to add some exponential backoff and random constant delay when things are flooding in... Good luck!

From @itaysk on February 1, 2017 13:10
@mathewc @slideep
I am using Azure Queues not SB, and PowerShell.
I am not asking for a "nicer" way, just anything that'll work. It is possible with PS?

@itaysk Unfortunately this is not supported in powershell right now

It looks it's unsupported even in NodeJS azure queue binding.
Maybe the ability to set 'visibilityTimeout' in output binding could help ?
It is a common task to re-schedule a message for later retrieval.
The actual behavior is to retry 5 times in a row (1 sec.) when context.done(error) is called, but it will be far more useful to plug some exponential backoff strategy for retries.


Extended support for boolean expressions.

I'm using EvalEx for a simple calculator application and during the first round of feedback some sort of support for boolean operators was requested.
To be exact support for bitwise operators:

and
or
xor
maybe left shift (<<)
maybe right shift (>>)

So that expressions like true or false can be evaluated. But there seem to be a lot of edge cases (like 5<<0.4) which might make this tricky.
Additionally it would be interesting to have the possibility to see if an expression that has been evaluated evaluates to a boolean value (true or false).

EvalEx has the ability to work with boolean expressions, see the README. Any value other than zero is treated as true. Additional bitwise operators could be added without any problem.

Let me rephrase the last part, please. It would be interesting to have the ability to see whether an evaluated result of an Expression is a boolean or not.
Expression expression = new Expression("1 > 0");
BigDecimal result = expression.eval();

System.out.println("Expression returned boolean: " + expression.wasBoolean());

Obviously, I'm kinda torn how to implement such a functionality, because the example above isn't the best API for that.

I agree, this would be a great addition. @RobertZenz
You could possibly wrap the result in a class that extends BigDecimal.
(as to not break functionality, + backwards compat) @uklimaschewski
And in this class have possibly several methods for checking what kind of result you've received.

The problem is that you can mix arithmetic and boolean operators/functions in an expression.
For example, x > a + b.
here, we could say that the last operator/function evaluated is boolean (x >) and therefore, the expression result is also a boolean.
If there was an isBoolean flag in each function/operator, then we could determine if the last operator/function evaluated was boolean or not and also flag the expression as boolean or not.

Is that actually a problem? It seems that would allow this to be implemented fairly easily? @uklimaschewski

No, no problem. Thinking about it, implementing an isBooleanExpression() function would even be possible without evaluating. You just have to parse the expression and get the RPN through shunting yard.
see the following function:
https://github.com/uklimaschewski/EvalEx/blob/8bc12f99c8c330028ae3e3917fc70e37a8c91be8/src/com/udojava/evalex/Expression.java#L1311
Look at the last token in the returned RPN list, then you have it.

@RobertZenz I will try to find some time this weekend to give it shot, is that ok?

@Sxtanna Extending BigDecimal is an interesting idea, I thought it was final, but isn't.
@uklimaschewski Absolutely, thank you very much for the fast response.

I have added the isBoolean() method to the Expression class in commit a4cb21f6bf26419027ef158a29a3c8f43a214834.
Looks good, works exactly like I explained. The IF function is handled special. Here I take it that the IF is boolean, if the third parameter is boolean.

@RobertZenz Please give a short feedback, when you had time to validate. Then we can close this issue.

Yepp, works awesomely. Thank you.


Pokemon Network Request - Abilities

Added functionality for parsing Abilities JSON

Changes Unknown when pulling 93428b16c71022b3adf93d76c609f006063110db on Pokemon-Network-Request into ** on master**.


Fix rand_r() proper inclusion

The following error is encountered:

RuntimeError: error while running command "arm-none-eabi-g++ -mcpu=cortex-m33 -std=c++11 -Wall -Werror
...
...
/usr/lib64/python3.9/site-packages/tvm/src/runtime/crt/host/main.cc:106:18:
error: 'rand_r' was not declared in this scope; did you mean 'random'?
  106 |     int random = rand_r(&random_seed);
      |                  ^~~~~~
      |                  random

Now, POSIX rand_r() is not visible using -std=c++11, one have to add -D_GNU_SOURCE or lower the 2011 requirement.

The proposed PR fix the issue, also fixes missing propagation to ldflags (the final binary compilation).
@areusch , @manupa-arm , @mbrookhart  please help with the review.
Thank you !

hey @cbalint13 can you give an example code fragment that triggers this bug? i don't think we should be compiling rand_r to bare metal--the main.cc present in src/runtime/crt/host/main.cc is intended to be compiled against a traditional POSIX OS (e.g. is used for simulating a device as a subprocess and treating stdio as the UART link).

hey @cbalint13 can you give an example code fragment that triggers this bug? i don't think we should be compiling rand_r to bare metal--the main.cc present in src/runtime/crt/host/main.cc is intended to be compiled against a traditional POSIX OS (e.g. is used for simulating a device as a subprocess and treating stdio as the UART link).

@areusch
Can look at this sample: tvm-micro-pr7392.py

@cbalint13 thanks for the example. could you clarify--are you trying to run your demo as:

a simulation with the C runtime executing in a subprocess
on nrf5340dk

I ask because there are a couple of different lines that need to match:

line 57 should be either micro('host') or micro(<device>), depending on situation 1 or 2
line 76 should either instantiate DefaultCompiler or ZephyrCompiler, depending on situation 1 or 2
line 77, the argument should either be (approximately) $CRT_ROOT_DIR/host or path/to/runtime/crt, depending on situation 1 or 2

it seems like based on your comment at the end of the file, you want situation 1--so just fix up line 57 and things should work properly. right now, DefaultCompiler is invoking the ARM cross-compiler because it thinks you are targeting the dev board based on your target definition on line 57.

and to clarify--i'd love to improve the documentation/tutorial, if there are specific parts you found confusing, i'd definitely be interested to learn that.

and to clarify--i'd love to improve the documentation/tutorial, if there are specific parts you found confusing, i'd definitely be interested to learn that.

@areusch ,
First thank you for taking your time into the problem !
To not mix up things:
A. we could forbid  (+message) if target micro('host') is used with cross/remote ZephyrCompiler & vice versa ?
B. what if someone don't want ZephyrCompiler but  a DefaultCompiler instead ?
By DefaultCompiler i meant my own installed cross arm-none-eabi-g++ in our case (which seems to be invoked at all).
By local/generic vs remote/specific terms i meant micro('host') vs micro(<device>)
So,

Should we introduce a CrossCompiler too for such purposes  (as a more generic form) ?
Then should we forbid local target to generate remote/cross target  except CrossCompiler ?

Would like to understand and see your reasoning on the subject first.

@cbalint13 it is a little bit more complicated than just specifying the Compiler implementation when cross-compiling. when using DefaultCompiler, there is assumption that all of the code needed to run the platform (I.e. SoC startup code, peripheral config) lives in a main.cc or in a library you supply to build_static_runtime(extra_libs=). on POSIX systems, this assumption doesn't impose much on the build, but in a bare metal deployment situation it's much different.
to increase compatibility with the many dev boards out there, we compile against a cross-platform deployment framework (Zephyr). most cross-platform bare-metal deployment frameworks include their own build system to determine which sources to include and the compiler config e.g. cflags, ldflags. Zephyr does this from CMakeLists.txt and prj.conf. making it convention to include this config in TVM Python scripts would mean that convention is to replicate the build system from the RTOS you're using.
unfortunately we kind of built out this Compiler abstraction without paying too much attention to that, so it's kind of the wrong level of abstraction to use here. the long-term solution to this problem is to replace Compiler with something more "project-level," where "project" roughly refers to the startup code, RTOS, and other application specific code you need to run models on a bare metal device. See #6 on the µTVM M2 roadmap.
in the short term, I think it would be great to change DefaultCompiler to error when you try to compile a file with a cortex-m target. that would be adjusting the logic here. want to take a shot at that?

Hi @areusch ,
A follow up question, what are your thoughts on the effect of the usage of DefaultCompiler.library() function's support to get the operator library as an archive though? I can understand how this affects for DefaultCompiler.binary() or build_static_runtime (that uses DefaultCompiler.binary())

@areusch yes in the case where we just want to use export_library (w/o build_static_runtime) -- as of today we can provide DefaultCompiler.library() as the fcompile if one only wants get operator lib as an .a. I mean I understand there are other ways to do that such as modifying cc.cross_compile to support archive target with using both c and c++ compilers (vs just using c++ compiler as of today).

and to clarify--i'd love to improve the documentation/tutorial, if there are specific parts you found confusing, i'd definitely be interested to learn that.

@areusch
You are right. Also the public docs mentions the different context. Thanks a lot for your time !
Now, to avoid such confusions

can we teach TVM to not invoke wrong procedure in wrong context (dropping error messages) ?

Hi @areusch ,
A follow up question, what are your thoughts on the effect of the usage of DefaultCompiler.library() function's support to get the operator library as an archive though? I can understand how this affects for DefaultCompiler.binary() or build_static_runtime (that uses DefaultCompiler.binary()). I guess my question is should we block DefaultCompiler.library() for cortex-m targets? -- or should we maybe factor that part out if we are blocking ?

The blocking shouldnt be done just by cortex-m  (targets can be riscv, xtensa and many more). I think of blocking out all  != micro(host)

@areusch yes in the case where we just want to use export_library (w/o build_static_runtime) -- as of today we can provide DefaultCompiler.library() as the fcompile if one only wants get operator lib as an .a. I mean I understand there are other ways to do that such as modifying cc.cross_compile to support archive target with using a c compiler

Very good idea. But not sure that the micro backend should do this. But if you look at my gist example there already a save .o object file (and is not done by micro backend !).

in the short term, I think it would be great to change DefaultCompiler to error when you try to compile a file with a cortex-m target. that would be adjusting the logic here. want to take a shot at that?
@areusch ,
I will propose a protection way to avoid missusage in a separate PR.

I am closing the PR here, @manupa-arm , @areusch Lets continue on the discuss forum (right on rfc)
Thanks a lot !

thanks @cbalint13 @manupa-arm for the great discussions. I will post up an RFC to discuss project generator API in the coming week. feel free to open topics as well if you'd like to discuss things.


Add instruments classification

Description
Summary of the change and/or issue that is fixed.
Changes:

fixes issue with item
...

Type of change

[ ] Bug fix
[x] New feature
[ ] Refactor code
[ ] Update translation text
[ ] Breaking change
[ ] Dependency update
[ ] This change requires a documentation update
[ ] Release

@reza-fs we just updated the dmt5 page a bit, could you resolve the merge conflict and then we'll merge this 🙏


Render is failing

Command I'm trying:
terminalizer render ../github-pr-demo.yml

This is the error:
Error:
  Error: [5282:0421/171616.676227:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command

Hint:
  Use the --help option to get help about the usage

I am on MXLinux, I use default config, terminalizer version 0.7.2.
I'm on sakura terminal emulator, version 3.6.0. I've tried xfce4-terminal and alacritty, same results.
I'm using NodeJS version v12.14.1, tried v12.16.2 as well.

Same here. Node version 12.16.2 too.
Distribution is Ubuntu 18.04 LTS

@maricn I found a error related to electron and "buffer_manager.cc".
Have you a GPU installed, if yes NVIDIA or ATI/AMD ?

  *-display
       Beschreibung: VGA compatible controller
       Produkt: Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
       Hersteller: Advanced Micro Devices, Inc. [AMD/ATI]
       Physische ID: 0
       Bus-Informationen: pci@0000:01:00.0
       Version: 00
       Breite: 64 bits
       Takt: 33MHz
       Fähigkeiten: pm pciexpress msi vga_controller bus_master cap_list rom
       Konfiguration: driver=radeon latency=0
       Ressourcen: irq:47 memory:e0000000-efffffff memory:f7e00000-f7e3ffff ioport:e000(Größe=256) memory:c0000-dffff

@mStirner Nice catch!
I'm not using GPU, I'm on Lenovo X1 Carbon Gen 7 with Intel UHD 620. Details below.
However, it seems to be the cause of the problem. I've tried editing https://github.com/faressoft/terminalizer/blob/master/commands/render.js#L121 to include --disable-gpu and it works now. It did rendering of 343 frames in 50s but merging was painfully slow - 40 minutes to merge 343 frames, but at least it doesn't crash.
There's nothing reported on electron project https://github.com/electron/electron/issues?q=sort%3Aupdated-desc+GL_INVALID_OPERATION+buffer_manager
lspci|grep VGA:
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)

lshw -C display:
  *-display
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:158 memory:e2000000-e2ffffff memory:c0000000-dfffffff ioport:2000(size=64) memory:c0000-dffff

I can't invest into fixing this issue "properly" now, but I can submit a PR to at least retry rendering without GPU if it fails the first time.

Hello, I have encounter the same issue, here's my config Lenove Y720 archlinux, with konsole terminal
First time it failed with my intel HD card

lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] (rev a1)

here is the same error message

Error:
Error: [8791:0430/222654.403624:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command

when I switched to nvidia, it does render properly now, however the process is quite slow, my version is the last one 0.7.2
Fixe probably not integrated yet to the current version?

@bk211 I'm in no means an expert, but from my own brief experience, the rendering part is fast and can use GPU to make it faster. The following ffmpeg merging part is anyways slower, and afaik is not related to this error.
You can try the build from the linked PR if you're stuck at that error during rendering part. However it's strange that your attempt using nvidia GPU gets the same error and ignores it to finish successfully.

Here's another idea, maybe we shouldn't act on data streamed into stderr immediately. These could be mere warnings. Like the one about the GPU.
(yet to be tested) but I think that GPU warning wouldn't have affected the electron process itself in any way. Chromium would've fallen back to skipping the use of a GPU.
Best to let the process run it's course and only after we can check that we have a non-zero return code, should we reject the rendering promise.

Just want to leave here that I also face the same issue. Running on Linux Mint 20 (ulyana). My laptop has a discrete NVIDIA card which is disabled, and I just use the Intel UHD one.

@joaopgrassi, does #97 help?

Hey @miraclx !
Yes it works with #97. Just checked it out and running locally I can now render it just fine.

thanks @maricn and @maricn , was facing the same issue and checkout the PR locally and it worked.
Thanks a mill :tada:


Added parsing of huge-service messurements to pref dash

What type of PR is this?
/kind feature
What this PR does / why we need it:
Adds measurements done during huge-service tests to perf-dash

/lgtm
/assign @marseel

/approve


Update utils.py

Added a way to save all the images in a snapbot_saves folder. It creates it if it doesn't exist, then comes back to the original folder.

Could you accept the pulls :)

Looks great, thanks!


Improve log message on the controller during segment commit

The logs in the controller do not include the new parameters included in LLC segment completion
messages.

Codecov Report

Merging #3045 into master will decrease coverage by 0.11%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #3045      +/-   ##
============================================
- Coverage     69.79%   69.68%   -0.12%
  Complexity        4        4
============================================
  Files           935      935
  Lines         43864    43874      +10
  Branches       5992     5992
============================================
- Hits          30617    30575      -42
- Misses        11185    11247      +62
+ Partials       2062     2052      -10

Impacted Files
Coverage Δ
Complexity Δ

...er/api/resources/LLCSegmentCompletionHandlers.java
64.82% <100%> (+2.6%)
0 <0> (ø)
:arrow_down:

...ot/common/protocols/SegmentCompletionProtocol.java
92.57% <100%> (ø)
0 <0> (ø)
:arrow_down:

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-25%)
0% <0%> (ø)

...core/operator/dociditerators/AndDocIdIterator.java
51.72% <0%> (-24.14%)
0% <0%> (ø)

...pinot/controller/validation/ValidationManager.java
76.6% <0%> (-9.95%)
0% <0%> (ø)

...inkedin/pinot/common/config/RealtimeTagConfig.java
93.33% <0%> (-6.67%)
0% <0%> (ø)

...roller/helix/core/PinotTableIdealStateBuilder.java
72.56% <0%> (-6.2%)
0% <0%> (ø)

...elix/core/relocation/RealtimeSegmentRelocator.java
73.33% <0%> (-5%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
64.44% <0%> (-4.45%)
0% <0%> (ø)

...afkaHighLevelConsumerBasedRoutingTableBuilder.java
92.3% <0%> (-3.85%)
0% <0%> (ø)

... and 18 more

Continue to review full report at Codecov.

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