Current working directory component

I decided to dip my toes in Vimscript, and configuring this plugin sounds like a good start. I want to show the current working directory in a component, but it doesn't update when I change directory. How should I go about that?
let g:lightline = {
\ 'active': {
\   'left': [ ['mode', 'paste'],
\           ['readonly', 'filename', 'modified', 'cwd'] ]
\ },
\ 'component': {
\   'cwd': getcwd()
\ }
\ }

Is there a way of coloring the component?
Thanks

Close, please specify '%{getcwd()}'.

Wow, that was easy, I thought I was gonna have to create a function or something ).
How about coloring the component? I've been reading lightline-component-expansion but can't really understand what to do. I've changed component to component_expand:
let g:lightline = {
\ 'active': {
\   'left': [ ['mode', 'paste'],
\           ['readonly', 'filename', 'modified'],
\           ['cwd'] ]
\ },
\ 'component_expand': {
\   'cwd': '%{getcwd()}'
\ }
\ }
let s:p.active.left[2] = ['gray8', 'gray2']

I put the cwd component in lightline.active.left[2], correct? Then chose a random couple of colors for fg and bg, but I get the error:
E121: Undefined variable: s:p

Displaying specific components in arbitrary colors is not supported in lightline except for components for error/warning messages. This is because the colors should be controlled only by the lightline colorschemes. If I allow the user to color the components freely, the roles go uncontrollable.

I see, so the way to do it, it's in the colourscheme. I tried to copy a colorscheme to customize it, but I get the lightline.vim: Could not load colorscheme customized_powerline. error:
source $HOME/.config/nvim/customized_powerline.vim
let g:lightline = {
\ 'colorscheme': 'customized_powerline',
...

Please refer to :h lightline-colorscheme. customized_powerline.vim should be placed at {one of the paths in &rtp}/autoload/lightline/colorscheme/customized_powerline.vim.

Well, my runtimepath starts with ```runtimepath=~/.config/nvim, ...`` but:
source $HOME/.config/nvim/autoload/lightline/colorscheme/customized_powerline.vim
let g:lightline = {                                                                   │
\ 'colorscheme': 'customized_powerline',

Still get the error

Did you edit the file? It should define g:lightline#colorscheme#customized_powerline#palette at the bottom of the file.

No sir, I had forgotten that. I did, and now I'm getting this:
line   28:
E117: Unknown function: lightline#colorscheme#fill
E15: Invalid expression: lightline#colorscheme#fill(s:p)

But I feel we're getting closer, right? :-)

Maybe you want to add an element to s:p.normal.left.
let s:p.normal.left = [ ['darkestgreen', 'brightgreen', 'bold'], ['white', 'gray4'], ['gray8', 'gray2'] ]

Yeah, I tried that, but I wanted to understand why. Anyways, I ended up adding an empty item:
let s:p.normal.left = [ ['darkestgreen', 'brightgreen', 'bold'], ['white', 'gray4'], [] ]
...
let s:p.normal.left[2] = ['white', 'darkestblue']

Thanks man.


Add Ryton programming language

Hello!
Ryton is an innovative programming language with unique syntax and powerful standard library.
Key features that make it a full-fledged language:
Custom translator and compiler:

Complete syntax translation
Native code compilation via Nuitka
Performance optimization

Rich standard library:

File and path operations
Network interactions
Parallel computing
Neural networks
GUI via RuVix
Metaprogramming

Advanced language features:

Type system
Function contracts
Domain Specific Languages (DSL)
Macros
State machines
Events and guards

Modern patterns:

Lazy evaluation
Interceptors
Pipelines
Metatables
Protected blocks

Ecosystem:

Build system
Package management
Documentation
Code examples
Open source license

Syntax samples
`
module import {
std.UpIO[echo] // import function echo from module UpIO
}
func main {
echo('loading...', 10) // repeat loading - 10
print('hello world')
}
main()
`
Ryton provides all necessary tools for modern software development, combining syntax convenience with compiled code performance.

Closing this PR as this appears to be a very new, and possibly hobby, language. Felt free to open a new PR when your language has widespread usage across GitHub that meets our usage requirements and make sure you follow the instructions in CONTRIBUTING.md and fill in the PR template next time too 😉


Implement OS.request_attention() for X11

Implement OS.request_attention() for X11 using the "Extended Window Manager Hints".
This should be working for all commen window managers.
freedesktop.org -- wm-spec

It works great on KDE Plasma 5.7.2 :)

Glad to hear this ;)
I had tested it on Gnome.


Chart Zoom and Focus Position?

Hello, sorry if there is documentation on this but I was searching and couldn't find it.  I have two questions related to zoom and focusing on a candle position:

Zoom - I notice that when I keep zooming out, I will get to a limit.  The feature list below says that a Zoom Ratio can be set, can I set this to allow for the chart to be zoomed out more than the default setting? If so, how do I set this?
Candle Focus - I would like to be able to set the focus (horizontal scroll position) to a particular candle, how do I do this?

https://github.com/liihuu/KLineChart/blob/master/docs/en/features.md

Thank you for the help,
Tim

May this culd hel with the zoom setDataspace()
With this methods you can scroll or zoom to a candle index  zoomAtDataIndex and scrollToDataIndex


[base-ui][useSelect] Add support for DOM focus

Closes: #39590
Allow to change the focus management strategy through the focusManagement parameter.
Discussion
This is a POC of what it would look like to support DOM and active descendant focus management on the useSelect hook. The reason to support both is that Joy UI already uses active descendant, and Material UI uses DOM. Having a POC of what it would look like, we should discuss whether we should go this route. Here are the options:
1. Support both DOM and active descendant (this POC)
Pros

No need to change Joy UI or Material UI's current implementation

Cons

Messier and harder to maintain code, for example, the typescript errors listed below neither @michaldudak or @DiegoAndai were able to solve, concluding that an assertion would be necessary
Having two types of focus management in Base UI will create confusion and worsen the library's user experience

2. Support only active descendant focus management (current implementation)
Pros

No need to change Joy UI's implementation

Cons

useSelect will use a different same focus management strategy as useMenu
We would have significant breaking changes on Material UI's v6 select.

3. Support only DOM focus management
Pros

useSelect will use the same focus management strategy as useMenu
No need to change Material UI's implementation

Cons

We would have to change Joy's focus management, which would be a breaking change.

Motivation
Refactoring Material UI's Select with Base UI's hooks is desirable, given it would help solve many issues on this popular component. Alongside this POC, I've been working on Material UI's side. The Material UI's Select refactor is almost done, using this POC code, with no breaking changes. If we choose option 1. or 3., v6's Select will likely solve all the issues below.

https://github.com/mui/material-ui/issues/14943
https://github.com/mui/material-ui/issues/21210
https://github.com/mui/material-ui/issues/20583
https://github.com/mui/material-ui/issues/29130
https://github.com/mui/material-ui/issues/34516
https://github.com/mui/material-ui/issues/37895

FWIW, I'd say that if there is a question of which implementation to choose—prefer the one that handles a11y most correctly.
After a quick investigation, it seems that the current MUI Select focus management implementation is incorrect.
https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
I'd suggest making the necessary breaking changes, but trying to have a compliant component. 😉

Both DOM focus and activeDescendant are correct implementations from a11y standpoint.
I don't think developers would want to configure the component with one over the other as both just work. Because of this, I'd drop activeDescendant support completely from the Select, so its implementation is simpler and there's less code to maintain and ship.

I agree with @michaldudak
@siriwatknp, what do you think? If you agree, I'll open a PR changing Base's useSelect to use DOM focus and adjust Joy's select component accordingly.

I agree with @michaldudak
@siriwatknp, what do you think? If you agree, I'll open a PR changing Base's useSelect to use DOM focus and adjust Joy's select component accordingly.

I agree. I don't see much value for (2) if both implementations are correct.

@michaldudak @siriwatknp I've updated this PR following our decision to support DOM focus management, not active-descendant. It's ready for review.
I've added @zanivan for design review, as some changes were also required.
I followed the menu artifacts for both code and design changes, which were already using DOM focus management.

@michaldudak, thanks for the review! I addressed the issues. The summary is:

Issue 1. was caused by an incorrect blur event being triggered from useList when the combobox button was clicked (fix commit).
Issues 2. and 3. were caused because the 'Enter' and 'Space' key presses were handled twice: in useOption and useList. The useOption one was the one to keep (fix commit).

I added tests for both. This is ready for you to review whenever you come back 😊

@zanivan I had to update styles for the Tailwind and Plain CSS examples. Might I ask you to review those? You'll have to use the keyboard to navigate the select options to see the differences.

@siriwatknp may I ask you to review the Joy changes? There are few but wanted to check anyways.

@zanivan I had to update styles for the Tailwind and Plain CSS examples. Might I ask you to review those? You'll have to use the keyboard to navigate the select options to see the differences.

Looks good to me! Just a clarifying question, we've been using box-shadow for focus-visible, is there a reason for using outline in the list options?

Just a clarifying question, we've been using box-shadow for focus-visible, is there a reason for using outline in the list options?

For this I followed the menu items in the menu demos, for example, this one. There we're using an outline for the items and border+shadow for the button, so I did the same here 😊


issue in init.py

Command Ran
python3 Twint.py -u xxxxxxxx --followers -o followersall-2.txt
Traceback (most recent call last):
File "Twint.py", line 12, in
import twint
File "/home/tiwaryshailesh/twint/twint/init.py", line 11, in
from . import run
File "/home/tiwaryshailesh/twint/twint/run.py", line 9
self.init = f"TWEET-{config.Resume}-0"
^
Description of Issue

Please use as much detail as possible.

Environment Details

Using Windows, Linux? What OS version? Running this in Anaconda? Jupyter Notebook? Terminal?

Hi @tiwaryshailesh,
are you running it with Python 3.6 ?

Yes. Thanks

@tiwaryshailesh is it working now? Can I close this?

Yes, Thanks a ton. Its working fine now


Add a build agent

Coypu should use a build agent to ensure that the solution builds and all tests run successfully.

@adiel It'd be good to get this on Travis before I pick up the work for v3 - would you be able to either sign up for Travis and add the repo or make me an admin? Thanks

Adrian created account for coypu: https://travis-ci.org/featurist/coypu
to do before next release


RuntimeError: Directory '/backend/ui' does not exist

RuntimeError: Directory '/backend/ui' does not exist

add "ui" under backend will solve the problem.


Link error with SystemServices::*

When I add Windows::Win32::SystemServices::* to build.rs in the message_box example, it gives a link error
libmessage_box_bindings-50cf4ae052037129.rlib(message_box_bindings-50cf4ae052037129.3wf6ms64or2zgsrg.rcgu.o) : error LNK2019: unresolved external symbol __imp_RtlCaptureContext2 referenced in function _ZN20message_box_bindings7Windows5Win3214SystemServices18RtlCaptureContext217h1755c62a5ac68768E
libmessage_box_bindings-50cf4ae052037129.rlib(message_box_bindings-50cf4ae052037129.3wf6ms64or2zgsrg.rcgu.o) : error LNK2019: unresolved external symbol __imp_RtlGetReturnAddressHijackTarget referenced in function _ZN20message_box_bindings7Windows5Win3214SystemServices31RtlGetReturnAddressHijackTarget17h2408ee8023c586b7E
libmessage_box_bindings-50cf4ae052037129.rlib(message_box_bindings-50cf4ae052037129.3wf6ms64or2zgsrg.rcgu.o) : error LNK2019: unresolved external symbol __imp_RtlIsZeroMemory referenced in function _ZN20message_box_bindings7Windows5Win3214SystemServices15RtlIsZeroMemory17h28347cd208f23874E
libmessage_box_bindings-50cf4ae052037129.rlib(message_box_bindings-50cf4ae052037129.3wf6ms64or2zgsrg.rcgu.o) : error LNK2019: unresolved external symbol __imp_RtlNormalizeSecurityDescriptor referenced in function _ZN20message_box_bindings7Windows5Win3214SystemServices30RtlNormalizeSecurityDescriptor17he362d2bcdf67b27cE

At least some of the functions you mentioned appear to be new to Windows 10 - it may be that you have an older SDK that lacks the libs necessary to support these functions. Unfortunately, the Rust compiler seems to try and resolve all externs even if they're not actually being called.
I think we're getting close getting DLL imports working in Rust: https://github.com/rust-lang/rust/issues/58713
Until then, you can probably work around this by avoiding the wildcard or updating your dev box with the latest Windows SDK.

Thanks for the quick response :). It works after updating Windows SDK to 10.0.19041.0.


link fixes

The / at the beginning references the root of the docs site. Let's see if this fixes the toc validation.

@EisenbergEffect,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:x: Validation status: errors

File
Status
Preview URL
Details

sandbox/TOC.yml
:x:Error

Details

:x:Error

Details

sandbox/TOC.yml

[Error] W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC File: W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC file.
[Error] W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC File: W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC file.

[Error] W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC File: W:\cgoz-s\sandbox\sandbox\demos\TOC.yml is not a valid TOC file.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add Ubuntu quickstart example to Ecosystem

Nice quickstart with dependencies installation and pgjwt usage in https://github.com/simplygeo/postgrest-tools
From: https://gitter.im/begriffs/postgrest?at=632c759d7ccf6b6d45e99b88

Seems there's not much activity on that repo. For example, pg 15 is not added yet. I'll keep an eye on it but for now we can close.


Provide a way to kill a task or terminal from the main menu

Now that both "Terminal" and "Tasks" are under the same menu (via https://github.com/Microsoft/vscode/issues/56836), @Tyriar suggested to somehow preserve an action in the menu to kill a terminal. Since we already have "Terminate Task..." which in most cases is just a terminal, one idea would be to show a combined picker of tasks and terminals to kill.

@dbaeumer yeah, now that the menu is called "Terminal" I wonder if some of the entries should just show a list of terminals:

Terminate Task => Kill Terminal
Show Running  Tasks => Show Terminals
Restart Running Task => Restart Task in Terminal

Each of these would open a picker with all terminals, and maybe the ones with a task should be grouped together.

+1

@dbaeumer this would mean we would probably leave out people that run tasks through output channel still, is that being used a lot still?

But we would be leaving out people specifically for the menu only, all the old commands will still be accessible via the command palette?

@Tyriar can you explain what you mean by "But we would be leaving out people specifically for the menu only"?

I think it would be fair to as old task users to use the command palette. I can look into telemetry to see how many 0.1.0 users exists.

@bpasero I clarified in the other half of the sentence, perhaps a ; would have been more appropriate than a ,. We're not cutting those users off all together, they can still go via command palette.

@Tyriar yeah not sure, I would argue we should not support the legacy task system at all and make every command target the tasks in the terminal. Maybe that requires some extra code to ping users to transition if they have not yet.


♻refactor: ImageInput props

♻refactor: ImageInput props

I checked these codes in codespace. Are these browser console errors related with this PR?

Yep, I remove FC<Props> and this causes above warning.
I'm going to resolve this warning at next job.


[WIP] Show scrollbars on hover only

Summary
NOT READY FOR REVIEW!
Based on Figma, scrollbars should only be visible on hover.

Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

Fixes #1698

So this means we don't adhere to the OS settings?

Closing in favor of #1858


feat(openapi-tooling): stop inferring server types

Hey, I just made a Pull Request!
From #22205, recursive types don't play at all well with inferred Typescript. This PR attempts to transfer over to generated typed from OpenAPI generator, notably from the client package if possible. My end goal with this work is to standardize on using the client package for types and not re-generating them for further use cases.
One thing that may be worth exploring is creating either a new alpha export from the catalog client or a new package to hold these new constructs. I don't want to keep overloading the existing catalog client package with generated code.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Note that this needs changesets and api reports.

(assuming CI passes) This should be ready for a rereview. I added clients for todo and search as well. There is unfortunately a weird edge case with search where we allow arbitrary query parameters that isn't well handled by the existing tooling and is more or less undefined behavior. There are a few ways around it, eg https://github.com/OAI/OpenAPI-Specification/issues/2622, but I'm not 100% confident that we can easily adjust for this. The updated behavior matches the behavior before this though - extra query parameters aren't available on the original type but are through a type cast. I think this will require post processing the generated client to add query parameters when we see a specific schema to fully match existing behavior, I'll explore that in a follow up PR.

Gonna wait for the code piece of the community plugin migration to rebase this one. I'll move the client work for the todo plugin to that repository once this merges.

@Rugvip This should be good for a rereview when you get a chance 🙏

Looks like there's a conflict here, I'll address that this week.

@Rugvip If you get a chance, this should be ready for a re-review!

gentle bump 🙏

@backstage/maintainers Would love to get this looked at 😁 !

@Rugvip Just want to make sure we're on the same page about the changesets - I was thinking the catalog-backend/catalog-client/search-backend changes were all internal and didn't need changesets, is that right?
I'll add one for the cli changes and update the existing changesets with a bit more info.

@aramissennyeydd even internal changes benefit from changesets, think of it from the point of view of someone scanning through changes after a bug is discovered. Of course these changes ideally have no effect on the published package at all, but except for extremely trivial changes I would never count on that.

@Rugvip Makes sense! Added for the missing ones 😁  - I think I've received feedback in the past indicating they're not always required for just internal changes and was running with that.

👀 https://github.com/backstage/backstage/pull/23610#discussion_r1820418939


the view having a Shadow

I set
sideMenu?.menuWidth = 80.0

You have to set the value in the ENSideMenu.swift at line 118 (position in my code) although to 80


monir: 添加top

Codecov Report

Merging #796 (bf87ccb) into feature_bk_plugin (f2bc78d) will not change coverage.
The diff coverage is n/a.

@@                Coverage Diff                 @@
##           feature_bk_plugin     #796   +/-   ##
==================================================
  Coverage              61.42%   61.42%
==================================================
  Files                    457      457
  Lines                  28852    28852
==================================================
  Hits                   17723    17723
  Misses                 11129    11129

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 f2bc78d...bf87ccb. Read the comment docs.


Argument FFcommandExecuteAsyncTask for isCommandRunning()

I'm using the latest version 1.1.2 and I need to check if ffmpeg is already running a command, isCommandRunning() needs an argument of type FFcommandExecuteAsyncTask but FFmpeg.execute() returns an object of type FFTask.
In previous version (1.0.4) isCommandRunning() didn't have any argument.
Same with the killRunningProcesses() method.

Any comment on that?
I am in a middle of a project and I need to know if ffmpeg is running or not, so I'm going to rollback to an earlier version.
What is the latest version where isCommandRunning() works?

This is fixed in version 1.1.3. You can call isCommandRunning() directly on the FFtask that is returned.


Initial version of OpenShift proxy config

checked... version from my repo used for the PR here is current and includes updates to deal with crio config based on openshift version.


How to set data property after image is selected

Hi
I need to select the opstions.data property values after i select my image.
This seems impossible for now.
For example i have
options = {
data:{
title: 'same value that i need to add from a text field'
}
}
Any solutions?

@KirilVelichkov
https://github.com/jkuri/ngx-uploader/issues/133#issuecomment-272411799


After property patch of a twin, property inspector does not refresh

Select twin
Property inspector shows $etag = 1234
update a property
Property inspector still shows $etag = 1234
Deselect and reselect the twin
Property inspector show new $etag 5342

-> Property inspector needs to refresh entirely after a patch operation

This has been fixed


chore(): beta.7 release changelog

Description
The changelog for beta.7 release!
General Tests for Every PR

[ ] ng serve --aot still works.
[ ] npm run lint passes.
[ ] npm test passes and code coverage is not lower.
[ ] npm run build still works.

Great PR guys !


How will it work?

When I am running this program I am getting an error  "GET / HTTP/1.1" 404 -
can you tell me how to run this program?

Hey there, this will be my first post trying to help someone on github, please correct me if I am wrong:
In app.py, the developer defines cbr.route,
this refers to line 10: cbr = Blueprint('cbr', __name__,  url_prefix='/comic-book-reader')
To fix this simply type: http://<IP_ADDRESS>:5000/comic-book-reader/<any_app_route> to view the app.
Hopes this helps :)


Image is blank

I've run a couple of full page scrolling captures which worked fine, but a recent one just results in a blank image. Something I'm doing?

Was capturing this page:https://twitter.com/GAIN_Torbay/followers using Chrome Version 37.0.2062.120 m

I’m guessing you scrolled for ages and made the page extremely long? This creates such a large image that Chrome silently fails on me. The upcoming release 1.0.0 will break up extremely large images into multiple if necessary.


LiveDash Example throws exceptions when appending to buffer

Periodically the livedash example will throw exceptions at:
cs/LiveDash/SourceBufferManager.cs line 226:
sb.AppendBuffer(task.Result);
Exception from HRESULT: 0x8070000B or 0x80700016  (most of the time its 0x8070000B)
often when clicking go-live.
it is in a T/C block but it doesn't seem like that should generally occur (and playback does break when it does happen).

At line 220 of cs/LiveDash/SourceBufferManager.cs
adding into the continuewith code right at the start (before internalAppending = false;):
if (task != this.activeDownload)
	return;

Greatly helps.  Exceptions can still happen, but seeking/going live can succeed some of the time with this change and it cuts down on the # of errors.   I think the appendbuffer errors may happen in part due to old downloads trying to append to the buffer when they are not the current segment needed any more.
Its not fixed but moving in the right away.


Fixed file name extension error.

It couldn't load midi or xml that contains capital letter file name extension.
To load them, I have converted full file path to lower case.
Fixes #677

Made obsolete by #701


Bynder extension - thumbnail src seems to be broken

Seems that latest changes are causing all Bynder objects to be broken:

However can still fetch the id and src from the field using the API.
If I remove the image and select a new one can see the thumbnail updating in contentful, but the attribute src is lost, I have access to a few new attributes (including thumbnails) but not the src one.
Thanks in advance

Hi @pauloamgomes, I've just shipped a change that should fix this issue.
Could you please get back to me if it's fixed for you?

Hi @jelz , thanks for the response.
We decided to update all Bynder images as a workaround, in such case can see you have now a fallback to resource.src and that probably solves the issue.


Problem in build using Makefile

Hi,
When I use Makefile in project root for make project, I face with these errors:
CGO_ENABLED=0 GOOS=linux GOARCH= GOARM= go build -ldflags "-s -w" -o build/mainflux-users cmd/users/main.go
command-line-arguments
cmd/users/main.go:139:31: cannot use "github.com/go-kit/kit/metrics/prometheus".NewCounterFrom("github.com/prometheus/client_golang/prometheus".CounterOpts literal, []string literal) (type *"github.com/go-kit/kit/metrics/prometheus".Counter) as type"github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Counter in argument to api.MetricsMiddleware:
        *"github.com/go-kit/kit/metrics/prometheus".Counter does not implement "github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Counter (wrong type for With method)
                have With(...string) "github.com/go-kit/kit/metrics".Counter
                want With(...string) "github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Counter
cmd/users/main.go:145:31: cannot use "github.com/go-kit/kit/metrics/prometheus".NewSummaryFrom("github.com/prometheus/client_golang/prometheus".SummaryOpts literal, []string literal) (type *"github.com/go-kit/kit/metrics/prometheus".Summary) as type"github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Histogram in argument to api.MetricsMiddleware:
        *"github.com/go-kit/kit/metrics/prometheus".Summary does not implement "github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Histogram (wrong type for With method)
                have With(...string) "github.com/go-kit/kit/metrics".Histogram
                want With(...string) "github.com/mainflux/mainflux/vendor/github.com/go-kit/kit/metrics".Histogram
cmd/users/main.go:187:37: cannot use server (type *"google.golang.org/grpc".Server) as type *"github.com/mainflux/mainflux/vendor/google.golang.org/grpc".Server in argument to mainflux.RegisterUsersServiceServer
Makefile:55: recipe for target 'users' failed
make: *** [users] Error 2

Do you have any idea to fix this?

@smesgary I do not see this problem:
drasko@Marx:~/go/src/github.com/mainflux/mainflux$ make users
CGO_ENABLED=0 GOOS=linux GOARCH= GOARM= go build -ldflags "-s -w" -o build/mainflux-users cmd/users/main.go

Did you change anything in the code?
Can you try cloning the fresh code, maybe you messed up something with branches locally?
Otherwise, here might be something missing in the vendor dir from our side, but I doubt it - as we have CI that constanstly builds and tests the master branch.

Closing this one. @smesgary please reopen if needed.


solution for non-fullscreen maps

Because sidebar v2 has been made for fullscreen maps, it's hard to use smaller maps in pages. If you ever tried, you'd see map controls are moved into middle of your map. Here is temporary solution for this:

move your sidebar div into your map div.

change this line (.sidebar.collapsed ~ .sidebar-map .leaflet-left) to this (.sidebar.collapsed ~ .leaflet-control-container .leaflet-left)

I told this is temporary because it's not a mobile friendly solution of the problem. It's ok on big screens but you may have problems with mobile views. There can be better way to fix it by the author.

@onurkose I feel like this is out of scope for this project. As you described, it is mainly meant for fullscreen maps. If you have an idea on how to implement this I'm open to suggestions though.


Add getPtrOr to NullablePtr

Add convenience method, getPtrOr to NullablePtr and change getPtrOrNull to use it.

@gottesmm Michael, I've been using NullablePtr a lot; really like it. I'd like to add a convenience method to it, getPtrOr. Would you care to review?

@swift-ci please smoke test

Thanks, Michael.


Chore: Cypress commands refactor

Refactoring Cypress config and plumbing to more closely match the TypeScript migration guide. Got all tests (all one) passing tsc lint command and future-proofed the type references.

Closes https://github.com/1Copenut/cypress-test/issues/19


Internal Server Error on constrainttemplates/

I tested this using Kubernetes 1.17 on AWS EKS.
Logs:
[2020-08-05 17:43:10,079] ERROR in app: Exception on /constrainttemplates/ [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./app.py", line 37, in decorated_function
    return f(*args, **kwargs)
  File "./app.py", line 228, in get_constrainttemplates
    title="Constraint Templates"
  File "/usr/local/lib/python3.6/site-packages/flask/templating.py", line 140, in render_template
    ctx.app,
  File "/usr/local/lib/python3.6/site-packages/flask/templating.py", line 120, in _render
    rv = template.render(context)
  File "/usr/local/lib/python3.6/site-packages/jinja2/environment.py", line 1090, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.6/site-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "/usr/local/lib/python3.6/site-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "/app/templates/constrainttemplates.html", line 1, in top-level template code
    {% extends "base.html" %}
  File "/app/templates/base.html", line 41, in top-level template code
    {% block content %}{% endblock %}
  File "/app/templates/constrainttemplates.html", line 12, in block "content"

{{ constrainttemplate.spec.crd.spec.names.kind }} {% if constrainttemplate.status.created %} CREATED {% endif %}

  File "/usr/local/lib/python3.6/site-packages/jinja2/environment.py", line 471, in getattr
    return getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'status'
[pid: 16|app: 0|req: 28094/32412] <IP_ADDRESS> () {52 vars in 960 bytes} [Wed Aug  5 17:43:10 2020] GET /constrainttemplates/ => generated 290 bytes in 10 msecs (HTTP/1.1 500) 2 headers in 99 bytes (1 switches on core 0)
<IP_ADDRESS> - - [05/Aug/2020:17:43:10 +0000] "GET /constrainttemplates/ HTTP/1.1" 500 290 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" "-"

The only templates and constraints in the system are Gatekeeper examples:
https://github.com/open-policy-agent/gatekeeper/blob/master/example/templates/k8srequiredlabels_template.yaml
https://github.com/open-policy-agent/gatekeeper/blob/master/example/constraints/all_pod_must_have_gatekeeper_namespaceselector.yaml

Hi @feguiguren , thanks for reaching out!
Do you get this error every time? I think the issue could be that the constrainttemplates weren't processed yet by Gatekeeper, so they were missing the status field. If you wait some minutes does the problem go away?
Could you also please tell us what version of Gatekeeper are you using?

Gatekeeper version is gatekeeper:v3.1.0-beta.9
and yes, every time.

Hola Francisco,
I think something is broken with your Gatekeeper installation. I can't replicate the issue.
I followed this steps:
Deployed Gatekeeper 3.1.0beta9:
kubectl apply -f https://raw.githubusercontent.com/open-policy-agent/gatekeeper/57e9ccce8002b812065a6a5c31029303037f59a3/deploy/gatekeeper.yaml

Deployed the Contrstraint Template
kubectl apply -f https://raw.githubusercontent.com/open-policy-agent/gatekeeper/master/example/templates/k8srequiredlabels_template.yaml

Deployed the Constraint
kubectl apply -f https://raw.githubusercontent.com/open-policy-agent/gatekeeper/master/example/constraints/all_pod_must_have_gatekeeper_namespaceselector.yaml

Deployed GPM
kustomize build . | kubectl apply -f -

The views are working as expected:

I don't have an EKS cluster to test this right now, but could you please confirm that your Gatekeeper installation is working and that the constraint template and constraint are ok?
Thanks

Been talking to Gatekeeper folks and they recommended that I upgrade the version to latest, as there may be bugs in gatekeeper:v3.1.0-beta.9.
WIll upgrade to GA1 and then report back.
Thanks!

After upgrading to GA1, the error went away. Thanks!

Thanks for letting us know :)

@ralgozino I just found this thread and was able to resolve the same issue by pulling the unstable image.
I am using constraint templates directly from https://github.com/open-policy-agent/gatekeeper-library
Would you please consider releasing a patch with this fix?
I'd like to use your tool , but cannot continue using an "unstable" image in my org.
Thank you!


setCrosshairPosition() does not trigger subscribeCrosshairMove event

setCrosshairPosition() does not trigger subscribeCrosshairMove event
Crosshair moves in case of setCrosshairPosition, it's expected that subscribeCrosshairMove event would trigger.

We considered this, and decided that it shouldn't trigger the subscribeCrosshairMove. Since your code is calling setCrosshairPosition(), it should also be able to call your handler for subscribeCrosshairMove so firing the event isn't required.
Triggering the event would actually make it more difficult to implement features like crosshair syncing between charts since it could create a stack overflow if you aren't careful.

Ok, fair enough. Thanks @SlicedSilver!


how to use the code?

How can I run the code?

hi @mlvl36667, sorry for the ultra late reply. can I still help you or are you good by now?

@unnmdnwb3 I'd still be interested.


npm install fails

npm ERR! Darwin 16.3.0
npm ERR! argv "/usr/local/Cellar/node/7.3.0/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v7.3.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs sqlite3
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls sqlite3
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/herson/dev/electron-sqlite3/npm-debug.log
npm-debug.txt

similar issue.  see dump below.
pi@raspberrypi:~ $ sudo npm install sqlite3 -g

<EMAIL_ADDRESS>install /usr/lib/node_modules/sqlite3
node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v48-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v48 ABI) (falling back to source compile with node-gyp)
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/6.9.4"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/sqlite3/.node-gyp"
make: Entering directory '/usr/lib/node_modules/sqlite3/build'
make: *** No rule to make target '../.node-gyp/6.9.4/include/node/common.gypi', needed by 'Makefile'.  Stop.
make: Leaving directory '/usr/lib/node_modules/sqlite3/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.38-v7+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm"
gyp ERR! cwd /usr/lib/node_modules/sqlite3
gyp ERR! node -v v6.9.4
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm' (1)
node-pre-gyp ERR! stack     at ChildProcess. (/usr/lib/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:106:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:877:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
node-pre-gyp ERR! System Linux 4.4.38-v7+
node-pre-gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/lib/node_modules/sqlite3
node-pre-gyp ERR! node -v v6.9.4
node-pre-gyp ERR! node-pre-gyp -v v0.6.31
node-pre-gyp ERR! not ok
Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/lib/node_modules/sqlite3/lib/binding/node-v48-linux-arm' (1)
npm ERR! Linux 4.4.38-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "sqlite3" "-g"
npm ERR! node v6.9.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs sqlite3
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls sqlite3
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/npm-debug.log
Assistance would be greatly appreciated.  updated, dist-upgraded, npm install npm -g etc tried

I managed to find a work-around for the problem
run the installation of sqlite3 with the --unsafe-perm setting
sudo npm install --unsafe-perm -g sqlite3
it provides the necessary permissions to node-pre-gyp to do what it has to...

--unsafe-perm  didn't work for me so I had to install a previous version (3.1.4)

Same issue...

+1
npm ERR! node v6.9.5
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 7

I set npm set PYTHON=D:\location\of\python and installed the latest Microsoft Build Tools and it worked

I get this error when installing with npm install --no-bin-links which is required for supporting windows hosts in vagrant https://github.com/npm/npm/issues/7308

SAME ERROR
 ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v59-linux-x64.tar.gz

AccessDenied for https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v59-linux-x64.tar.gz

`> npm install --save<EMAIL_ADDRESS>
<EMAIL_ADDRESS>install C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3
node-pre-gyp install --fallback-to-build

node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
node-pre-gyp verb cli   'C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\node_modules\node-pre-gyp\bin\node-pre-gyp',
node-pre-gyp verb cli   'install',
node-pre-gyp verb cli   '--fallback-to-build' ]
node-pre-gyp info using<EMAIL_ADDRESS>node-pre-gyp info using<EMAIL_ADDRESS>| win32 | x64
node-pre-gyp verb command install []
node-pre-gyp info check checked for "C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\lib\binding\node-v59-win32-x64\node_sqlite3.node" (not found)
node-pre-gyp http GET https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-win32-x64.tar.gz
node-pre-gyp http 403 https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-win32-x64.tar.gz
node-pre-gyp ERR! Tried to download: https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v59 ABI) (falling back to source compile with node-gyp)
node-pre-gyp http 403 status code downloading tarball https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-win32-x64.tar.gz
node-pre-gyp verb command build [ 'rebuild' ]
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\Cosmin\AppData\Local\Programs\Python\Python36-32\python.exe", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\Cosmin\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder. (C:\Users\Cosmin\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at C:\Users\Cosmin\AppData\Roaming\npm\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:166:21)
gyp ERR!  (C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:135:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:224:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:943:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
node-pre-gyp ERR! System Windows_NT 10.0.16299
node-pre-gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\node_modules\node-pre-gyp\bin\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3
node-pre-gyp ERR! node -v v9.1.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.28
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\Cosmin\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\lib\binding\node-v59-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=C:\Users\Cosmin\Desktop\304CEM   Web API\304CEM---Project\server\node_modules\sqlite3\lib\binding\node-v59-win32-x64 --python=C:\Users\Cosmin\AppData\Local\Programs\Python\Python36-32\python.exe' (1) npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Cosmin\AppData\Roaming\npm-cache_logs\2017-12-11T14_06_53_566Z-debug.log`
Been trying to fixed for the last 3 days. I don't have any ideas left. Any help, please ?
Thanks.

@pestec try
npm i sqlite3 --build-from-source
worked for me

Need to downgrade node version to 8.9.3
use NVM to manage more than one version
https://github.com/creationix/nvm
then install an old version:
nvm install 8.9.3
use in your open terminal:
nvm use 8.9.3
or set as default:
nvm alias default 8.9.3
verify the version with:
node -v
only now install sqlite 3
npm install sqlite3

About missing arm binary there is a specific thread:
403 fetching precompiled binary #918
https://github.com/mapbox/node-sqlite3/issues/918
About rebuilding:
sqlite buildprocess needs a lot of memory on raspberryPI3 #942
https://github.com/mapbox/node-sqlite3/issues/942

@treedbox worked perfectly for me. thanks

@treedbox thank you!

The errors reported here are all various and from different issues. Anyone hitting this please:

use latest<EMAIL_ADDRESS>use latest npm@6
create a new issue if you are still having problems

If you are on ARM, we don't support binaries yet for easy install, so see #418

Need to downgrade node version to 8.9.3
use NVM to manage more than one version
https://github.com/creationix/nvm
then install an old version:
nvm install 8.9.3
use in your open terminal:
nvm use 8.9.3
or set as default:
nvm alias default 8.9.3
verify the version with:
node -v
only now install sqlite 3
npm install sqlite3

can't downgrade the node version just for one node module. It's better to fix the issue then downgrade the node version

above comment solved problem as of 4/22/2019
I just did nvm isntall 8.9.3 && nvm use 8.9.3 && npm install in the project I needed to work on. All good!

its working indeed thanks

@treedbox Thank you so much! Worked for me, in combination with --unsafe-perm

I have this error
´Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v64-darwin-x64.tar.gz`

sqlite version 3 is the issue, upgraded to version 4 and everything is ok. Also updated from node 6 to 10.

@treedbox Worked for me! Thank you!

ok, I solved this issue with these steps:

installed node 8.9.3 (using nvm)
installed python 2.7:
apt-get install python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
installed sqlite from sources(amazon link doesn't work):
npm i<EMAIL_ADDRESS>--build-from-source

Unfortunate how node people rely on this node-pre-gyp mess. The prebuilt binary link is broken (https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v59-linux-x64.tar.gz), then it has to build sqlite from source, which the install script actually requires python to succeed.

Unfortunate how node people rely on this node-pre-gyp mess. The prebuilt binary link is broken (https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v59-linux-x64.tar.gz), then it has to build sqlite from source, which the install script actually requires python to succeed.

Updating the node from version v12.18.3 to v13.9.0 solved the issue for me.


Bottom Sheet component

Duplicates ❌

[X] I have searched the existing issues

Which Figma library is concerned?
Not related to one Figma library
Summary 💡

Dependencies 📦
No response
Examples 🌈
No response
Motivation 🔦
No response
New 🆕

[ ] Validated in a grooming session

Backlog 📋

[ ] Has a good summary
[ ] Has example link(s)

Design in progress 🏗

[ ] Analysis (functional & technical)
[ ] Design refinement
[ ] Dev qualification (properties, breakpoints, tokens etc.)
[ ] Documentation refinement (inside the Figma branch)

Design review 👀

[ ] Figma branch merged
[ ] Documentation review _(and move the documentation into Vitamin Documentation Figma file)

Ready to dev 👍

[ ] Issues are created in all repositories affected (vitamin-<web,android,ios,compose>)

Dev in progress 💻

[ ] All issues are resolved (to replace with issues links)

Will be tracked here: https://github.com/dktunited/vitamin-play/issues/42


[Bug]: Bindings on text widgets are displayed as plain text

Is there an existing issue for this?

[X] I have searched the existing issues

Description
On upgrade instance https://release-ee-https.appsmith.com/, bindings show up as plain text
Steps To Reproduce

Go to app https://release-ee-https.appsmith.com/ on a fresh browser session without cookies
Make a binding on text widget as seen in the screenshot
Refresh or load the app and observe the bindings appears as text

Public Sample App
https://release-ee-https.appsmith.com/app/fe/page-1-6401ef3830ce2a073e2f61f3/edit/widgets/tvwn4pxtjo
Environment
Production
Issue video log
No response
Version
Cloud

Unable to reproduce this @ramsaptami, i created a new account in release-ee and tried

Hey @dilippitchika I'm adding more details around reproduction. It's related to storeValue imo, seeing this on prod & release
I've added your appsmith ID to both the workspaces, let me know if you can't access these apps or are unable to repro this further
https://www.loom.com/share/29582c0c590548c6851f77520f72f02d

@ramsaptami still not able to reproduce in prod or release-ee, is there some more nuance? - https://www.loom.com/share/93c2314734b84c488f11559465b36e93


Release 5.0.2

We need to create a new release of the gem because 5.0.1 didn't include
the jars.

lgtm


Convert MelGAN generator from pytorch to tensorflow - almost no the same

Hi
when I run the code for converting the pytorch model to Tensorflow I get the almost not the same error! the outputs seem to be the same thogh!
They are similar to 6th decimal! is that ok?

I think no problem.
And if you want to use tensorflow, I recommend using https://github.com/TensorSpeech/TensorFlowTTS.


Removed deprecated function valid_email

Use PHP's filter_var() instead

I am pulling request after removing valid email function from test case


Create copyright

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[ ] Build was run locally and any changes were pushed
[ ] Lint has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

bors r+

@sravyamks we don't use bors anymore, but use GitHub's "Squash and Merge". Actually also note that we do not build this package automatically anymore, but using a pre-built package from a few months ago.

I don't see the option to squash and merge. may be I don't have the privilages to do that.


Django 2 compatibility

:guitar: Have to check what will need to be adapted.from the deprecated features
:warning: I will add the details I'll notice

render_to_response() deprecated  in favor of render() used in views_wizard.py

ready for django v2


Trait std::ops::Add not implemented for columns of type Unsigned<Integer>

Setup
Versions

Rust: 1.42
Diesel: 1.4.4
Database: MySQL 8.0.17
Operating System: Windows 10

Feature Flags

diesel: mysql

Problem Description
The trait std::ops::Add is not implemented for columns of type Unsigned<Integer>.
In particular, the following code compiles correctly:
#[macro_use]
extern crate diesel;

use diesel::prelude::*;

table! {
    item (item_id) {
        item_id -> Unsigned<Integer>,
        name -> Varchar,
        value -> Integer,
    }
}

fn main() {
    use crate::item::dsl::*;

    diesel::update(item)
        .set(value.eq(value + 1));
}

while the following does not:
#[macro_use]
extern crate diesel;

use diesel::prelude::*;

table! {
    item (item_id) {
        item_id -> Unsigned<Integer>,
        name -> Varchar,
        value -> Unsigned<Integer>,
    }
}

fn main() {
    use crate::item::dsl::*;

    diesel::update(item)
        .set(value.eq(value + 1));
}

In particular, the compiler gives the following error:
error[E0369]: cannot add `{integer}` to `item::columns::value`
  --> src\main.rs:18:29
   |
18 |         .set(value.eq(value + 1));
   |                       ----- ^ - {integer}
   |                       |
   |                       item::columns::value
   |
   = note: an implementation of `std::ops::Add` might be missing for `item::columns::value`

Checklist

[x] I have already looked over the issue tracker for similar issues.
[x] This issue can be reproduced on Rust's stable channel. (Your issue will be
closed if this is not the case)

Already fixed on master by https://github.com/diesel-rs/diesel/pull/2278

@weiznich Sorry to comment here, but I didn't want to open a new ticket just for the question:
Is there any workaround to do this on Unsigned<Tinyint> using the current release (v1.4.4)?
Thanks!

Not that I'm aware of


[Map] onp-Iceskaarjtrainingbase

This is a Single Player map.

URL: https://unrealarchive.org/maps/unreal-tournament/unknown/O/onp-iceskaarjtrainingbase_dc131209.html
Hash: dc131209a45973b3bd893f98e7045e4a955693db
Current name: onp-Iceskaarjtrainingbase

Fixed. Thanks, I noticed it after merging and forgot to circle back to correct it.


Windows functionality

Tried for hours installing this on Windows (inexperienced). The readme instructions do not work for pleb windows. I have npm installed. "make" command was not installed natively, npm make command does not work. Makefile command in gitbash at ./spacelapser returns that none of the commands in npm makefile were found. this project looked really cool so I hope someone will help.

Thanks for reporting this! I don't have a Windows machine to use for testing this, so I haven't been able to set up the build properly for Windows.
This is a C++/OpenFrameworks based application, not a JavaScript thing, so it doesn't need node. Instead, you should install OpenFrameworks and follow these directions for creating a new project: https://openframeworks.cc/setup/vs/. Then, load up the source code from this project. If this works, could you share the project configuration files in a fork of this project?
Thanks!
Logan

Thank you for responding. I set up a VM running the latest Ubuntu build on my Windows machine. Even though I followed your instructions, I had several errors which I had to bypass. However, after McGyvering a solution, the make command still can't find OF-native resources that obviously exist. Did you make this on OSX? I will try installing openframeworks on Windows using the link you provided. Hopefully it will work. I'll get back to you.

After trying the very vague solution for building OF projects on Windows, the misleading documentation and counter intuitive errors have sprung a newfound confidence in me; that I am not the right person to try and compile this. I might continue my trials with the Ubuntu VM, but so far I haven't gotten much luck.

@Emilcrafter If you have access to a Mac OS computer, I published a binary that you can just download and run. Sorry again for the trouble you had compiling this, and thanks for the efforts.


Split day period into hour/minute/second

Resolves #11
This change adds three new Periods: Hour, Minute, and Second
These are added at the end, rather than before Day, in order to minimize breaking changes (so we don't change the values of existing Periods).
internal/parser/relative/parser.go is updated to use these periods for times such as "2 hours ago", or "now".
All affected tests were updated as needed.

Thanks!


Some primitives cause failed export

If I just add, for example, a cylinder to my blender scene, then try to export to gLTF 2.0, the resulting model doesn't open in any application.
Sometimes, adding a cube to an existing scene will cause it to no longer export.
Here's an example of it happening in Blender 2.79 with the latest gLTF 2.0 Exporter:

As you can see, the cylinder just won't open, but when exporting a cube; it does work.
I've tried to open the model with lots of different applications and they all fail.
Here's a model with the issue, it's a simple cylinder.
test.zip

The exported file passes validation and renders fine in Babylon and three.js:

@bghgary @sbtron Could you check with Windows tools?

@Hezkore what different applications are you trying to open the file in when it fails?

Every application that comes with Win10 (3 different)
And another viewer I've forgot the name of (I'll report back once I'm home again)
Also a 'online' viewer for gLTF.
I also tried loading it with the coding language I use called Monkey 2, but gLTF support is new there.

Ok thanks. The file is working correctly on https://gltf-viewer.donmccurdy.com/ as well, so most likely the issues are in these programs, or perhaps they don't support glTF yet.

@Hezkore The Win 10 applications mostly deal with GLB files (the bundled glTF files) directly, not the un-bundled glTF+bin combo.  The exporter has an option for that, try that instead.

They all claim to support gLTF, but I guess not fully heh.
"Qtek viewer" was the name of one of them.
And I've tried GLB as well, but same result.
I reported the issue on Monkey 2, a fix has since been pushed and it now loads the model.
In Monkey 2's case the fix was apparently "[added] support for ubyte indices."
So I guess my issue is resolved!


MagnetSensor cannot detect the cardboard trigger on iOS xcode 7.0.1, iOS 9.0.1, iPhone 6

non-issue


Scheduling placeholder matches

Add an option to the scheduling page to select in a placeholder option instead of scheduling your match on an unlikely to playing at time.
E.g: How teams current have to put in 4:00 AM on day x, they'd instead just press a button "placeholder".
It'd make it more obvious for newer teams to put in a placeholder and for our casters to not confuse placeholders with legitimate matches when they aren't scheduled for unlikely time slots.

What would the placeholder be for?  Would this be covered by letting teams reschedule matches themselves?  https://github.com/Fabian-Sommer/HeroesLounge/issues/61

Not quite, but I'd like to deploy the two together. Teams need to submit a date within the first week of a match to prevent going inactive, however not all teams can agree on a date within this first week. They instead schedule for an unrealistic time, which can lead to confusion. Instead a placeholder option would alleviate this.

So say they push "placebolder" button, does this simply extend their time to schedule by a week?

You'd have to check the matchmaking code, but personally I wouldn't update the deadline dates to achieve this functionality. Likely easier to add placeholder to the match model, put in a "random" date and let teams reschedule through #61 when that's complete and contact moderators until then as is the norm.

I don't follow.  What is the placeholder on the match model, and why pick a random date?  Why not simply encourage teams to pick some date and reschedule on their own?  Or pick the latest possible date and reschedule, etc.

I was suggesting to add a field placeholder to indicate that a match does not have its definitive play date. I'd think this would also allow us to easily filter out these matches from the calendar. A date is required to be attached, because I believe the matchmaker checks for one to determine if a team is active each week.
In regards to picking the date, there's been times where a team submits a placeholder time, which would be feasible to play at, baiting casters to sign up. It's also not entirely obvious picking the last day or time is how to put in a placeholder.
Currently teams need to contact a moderator to reschedule their matches which #61 should fix.

I think you may confuse the issue at hand here a bit: Right now, Teams that do not schedule within a week are assumed to be inactive. Teams use placeholder times to prevent that from happening. What we really want is for teams not having to use this workaround, but schedule only when they know when the match will take place.
This means that we would like to have some other way for captains to confirm that they are still active, even when they cannot schedule within the first week. This would eliminate the need for placeholder dates in the first place.
All teams that do schedule within the first week should be active, as well as all teams whose captains push a button somewhere (the button can be on the teams management page or the match scheduling/reporting overview page or both). Teams who fulfill neither condition should be made inactive whenever matchmaking runs.

We can schedule matches in background but make it invisible to users so caster cannot sign up to it. Or we can change inactivity condition so that teams who checked placeholder won't be inactive but they don't have a scheduled match as well. I need to check code if both can be doable. But it sounds like second option is easier.


Clicking on update keys without filling out key info, doesn't do anything

Verison - 2.1.2-rc5 ui tag 2.1.8
Steps to reproduce (least amount of steps as possible):

Create a eks cluster with a session token
Select delete from the eks cluster's menu
Make sure all fields are empty
Click on Update Keys (Delete)

Result:  Nothing happens.  Should get and error saying the fields are required.

Version - 2.1.2 rc7 & master
Verified fixed


[BUG] Bloxtrap Crashing

Bloxstrap Crashing After 12 Seconds
Issue:
Bloxstrap consistently crashes exactly 12 seconds after launch. I need help in fixing and finding the issue.
Video Evidence:

Watch the Video (via Download)

Additional Details:
I'm unsure if this issue is related to Roblox Hyperon or other factors.
Your help would be greatly appreciated.

LOGS


Add chatwork

Hi, I'd like to add our "ChatWork" electron application to app list.
Please review it.

Thanks, merged in commit 6f4516a


Arrange food, drink, and venue access for OKC# event | 12/04/2017 11:30 am

What: TBD
When: 12/04/2017 11:30 am
Where: 401 NW 10th, Oklahoma City
Check meetup for RSVP count: https://www.meetup.com/OKC-Sharp/events/rxhrvlywqbgb/

I think this is meant for today and not 2017. anyway, food is ordered. image of order is posted in user group organizers bc I'm on my phone and can't upload a photo to this comment on mobile.


Fix: Handle boolean values set on containers

This change fixes the behavior of the Container::getFromThisContainer()
and Container::getFromDelegate() methods. Both of these methods return
either a value resolved from the container/delegate/provider or false.
While registering services that return a boolean false is allowed,
retrieving them caused a NotFoundException to bubble as the calling
method, Container::get() cannot differentiate from false literals
returned as a value from the container and false values returned by
the underlying methods failing to resolve an alias.
This change modifies the above methods to always return the resolved
value OR throw a NotFoundException which corrects the problematic
behavior of returning a value (false) as an indicator of an exception state
(method was asked for a thing and couldn't provide it).
This would fix issue #103

Will this be pulled in the master branch? It is really problematic to not be able to register false when you use the container for managing configuration data.

@pmall I have no rights to merge, but you can circumvent this by using some sort of collection/repository object which has all your configuration loaded.

@hannesvdvreken yes I know but everything else works fine handling configuration values with the bare container, except this. I will wait for this to be committed. The less the better! :)

@hannesvdvreken yes I know but everything else works fine handling configuration values with the bare container, except this. I will wait for this to be committed. The less the better! :)

Got a couple of other changes locally to merge too, been a while since I looked at this so will confirm semantic versioning etc and merge this week.


vault 0.2.0

Thank you for the contribution. It was merged directly as 425c20ea323e0eb636932e7f580632b0019a0c6f to keep commit history cleaner. Your contribution is still credited to you.


CI: bump Rust to 1.63.0

Coverage remained the same at 59.34% when pulling e79bd024323e435b3ab3f65c354bb1e742b62ba8 on feature/bump-rust into 1dc0f24786a02a44406f62799ce89e451f99848b on master.


Ignored tests to be available in listeners

Closes #2613
Fixes #2613  .
Did you remember to?

[X] Add test case(s)
[X] Update CHANGES.txt

We encourage pull requests that:

Add new features to TestNG (or)
Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

@juherr

Could you confirm test_ignore_happens_for_class_level_methods is still working?

Yes, it works and that test passes as well.


Extension Config Support

The extensions should be able to save their values to a config, either the core one or their own one.

This has been partially implemented, though extensions may not have their own section in the config yet.


SkAnimatedImage does not use custom font loaded stream in animations

Hello,
I have a Json lottie example animation with some text (string) in it
For that text I've used a custom font called Digital Disolation.
So, Under Windows 64bit and because the font is intallled in the system the animation uses the font and
renders perfectly:
https://i.ibb.co/5ThpX3b/Under-Windows-64-Bit.png
But under android the font is not installed in the system, so i have to load it from resource and register it first
  RS := TResourceStream.Create(HInstance, 'Font', RT_RCDATA);
  Try
    TSkDefaultProviders.RegisterTypeface(RS);
  finally
    RS.Free;
  end;

After that, I'm loading the animation from a resource and playing it:
  RS := TResourceStream.Create(HInstance, 'Lottie', RT_RCDATA);
  Try
    SkAnimatedImage1.LoadFromStream(RS);
  finally
    RS.Free;
  end;

In this case using the font in a TLabel works fine, but the animation did not use the font at all!! but used Arial or something similar instead!
https://i.ibb.co/D1vh5gp/Under-Android-64-Bit.jpg
An FMX Sample Source included.
Is there  something I'm missing?
btw, I know about saving the text as Glyphs in After Effects Bodymovin Plugin but i am facing another problem there..
Thanks in advance.

 We are just setting the default resource provider, not the FontManager in the lottie module (called skottie in source)
https://github.com/google/skia/blob/1d38c75ea841ca1152eba50bb9cf98915837b4c0/modules/skottie/include/Skottie.h#L126
https://github.com/skia4delphi/skia4delphi/blob/68ed3a057357a68d6c187c77a6802cfe2917d877/Source/FMX/Skia.FMX.pas#L3951

So how to solve this for now?
what shall i do here:
LSkottie := TSkottieAnimation.MakeFromStream(AStream, TSkDefaultProviders.Resource);

It does not have fast workaround. The main change to fix it is in Skia library (C++ side), exposing the Skottie.SetFontManager, and then implementing it in delphi side...
We will fix it in next version, in some weeks.

Fixed in our new release v5.0.0


[tools] New a directory to store the suite list

To maintain the test suite list on github, we need to add a new
release_suite_lists directory in crosswalk-test-suites/tools and put
all the test suite list files in this directory.
https://crosswalk-project.org/jira/browse/XWALK-4617

Which script(s) will use these suite lists?
If I understand correctly, they are ONLY used by tools/build/pack_wts.sh. Why not put them into tools/build/? Or make a subdirectory there?

If these lists are targeting for branches, I would suggest we maintain at most 2 lists in each branch (and update them in need): one for weekly test suite release (tools/build/suites/WEEKLY), the other for web testing release (tools/build/suites/WTS, currently it is tools/build/test_suites.list).

OK. We'll split the list files to commit on different branches.

Will recommit these test suite list files.


enhancement: CoreImagePicker default image update

Describe the bug
Update CoreImagePicker default image to a more suitable image.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Stack Trace
The stack trace of the bug if any.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Closing as done.


Parent Container does not emit any events when "interactiveChildren = false" is set

Not sure if this is actually an issue, but it appears to be one. I have a Container here that is set to interactive = true and interactiveChildren = false, which prevents any events to be emitted on the Container itself.
The issue seems to originate somewhere around here: https://github.com/pixijs/pixi.js/blob/962f5bdff1ed2d96cfeaef22897ed83b7cce79bd/src/interaction/InteractionManager.js#L410
Container neither has #hitArea nor #containsPoint, which in turn always makes the function return false.
When I think about it this could actually be intended, as a container itself doesn't have any real surface to touch or click - the surface are its children. I however expected its bounding box to trigger events, simply because I am able to attach listeners to it and can mark it interactive.

I'm pretty sure this is intended behavior, but I can understand why it is confusing or even not how it should be. Right now the way to interact directly with a container is to assign it a hitArea, since there is no contains point function bounds checking doesn't occur.

Hello! Yes this is intended behaviour. The purpose of the feature is to optimise hit detection. Setting interactiveChildren to false makes any children inside the container invisible to the interaction manager. Hope that makes sense!


Fix: Move build steps to appropriate sections

This PR

[x] updates composer itself in the before_install section
[x] installs dependencies in the install section
[x] uploads coverage in the after_success section (as there's no need to upload coverage when the build failed)

:+1:

:+1:

Needs rebase

@philsturgeon
Done!

@philsturgeon
Build failure is related to Scrutinizer choking on something.

Yes I've got that fixed locally, with all these pulled in, be pushing tomorrow
—
Sent from Mailbox
On Wed, Aug 12, 2015 at 10:53 PM, Andreas Möller<EMAIL_ADDRESS>wrote:

@philsturgeon
Build failure is related to Scrutinizer choking on something.
Reply to this email directly or view it on GitHub:
https://github.com/thephpleague/container/pull/52#issuecomment-130459152


Event for switch between Designer and Test Survey tab

Are there any event for this ? Thanks

@ltrtuan You are probably looking for this event: editor.onTestSurveyCreated
Thank you,
Andrew

Thanks


Porting observe to Reflectable, fix #75

A POC for fixing #75

The symbol->String change is great, BTW!
Main concern I have right now is around the Polymer dependency; we worked pretty hard to get this package to be platform-agnostic. Maybe @jakemac53 (or @sigmundch?) have thoughts on how to layer this. (I'm not familiar with jsProxyReflectable that comes from the Polymer package...)

I agree -  it would be great to maintain that separation. One way to do so could be to introduce a second mirror system local to observe, different than the one from polymer, which only has one capability: to read and write properties marked with @observable.
The disadvantage of doing this is that there may be some duplication of data between observe's and polymer's mirror system. Can we work around it by adding a level of indirection and read the mirror system from a shared location, so we can exchange what mirror system we are using later on?
I'm still not sure what's the best way to do this, though. Ideally we should be able to do it in a way that lets dart2js get rid of the code of the observe mirror system. The idea would be that if you are using observe on its own, you end up using observe's mirror system, and if you use it with polymer, you replace the mirror system in that shared location and use the same mirror system everywhere (jsProxyReflectable).
@jakemac53 WDYT?

I think that removing the dependency from polymer should require user to mixin and annotate models twice (once for polymer with jsproxy and respectable and once for observe). That's why I choose to reuse polymer mixin and annotation.
To me the best choice would be to refactor the mixin and the annotation to observe and make polymer depend on it.

... Or create a general reflectable use cases package that both depends on ...

I think its probably best to keep a custom reflectable annotation for Observe, and have everything go through that. This does mean you have to mark things as both @observable and @reflectable, but we might be able to remove that limitation in the future.
Overall the size impact should be pretty minimal, its just the size of the reflection code itself which would be extra. It shouldn't cause any additional issues with tree shaking because all the same things are already included because of @reflectable.

What about using the transformer to choose with mirror system to use ? We can add a parameter in pubspec to instruct the transformer to replace Observable and @observable with JsProxy and @reflectable only when you choose to do that. The transformer would also implement a simple reflector method to be use to obtain the InstanceMirror.
Otherwise it will use its default annotation and mixin.
This way we have only one mirrorsystem and even if metadata is small (it is?) it is not a good idea to double it.

@jakemac53 would you agree to create a tiny meta package on which polymer should depend that exposes a meta annotation to be used by observe to discover the mirror system to use at runtime?
Something like this :
class MetaReflectorScope{
  String[] scopes;
  const MetaReflectorScope(this.scopes);
}

class MetaReflector extends Reflector {
  const MetaReflector() : super.fromList(const TopLevelInvokeMetaCapability(MetaReflector),const TopLevelInvokeCapability("reflect"));
}

const metaReflector = const MetaReflector();

On polymer :
@metaReflector
@MetaReflectorScope(["observe","polymer"])
class JsProxyReflectable extends Reflectable {
...

At this point on observe MetaReflector can be levereged to find the reflector it needs while on polymer nothing else changes.
I think this way we can win two prizes and it is an interesting application of reflectable itself.
WDYT ?

Thinking of it ... the meta structure I depicted in the comment before could actually be incorporated in reflectable package itself...

I definitely agree that some sort of meta-reflection should exist on the reflectable side of things, although I don't fully understand how the one you describe works (how does observe discover jsProxyReflectable?).
I think that in the shorter term observe could also just expose an imperative api for registering reflectors for different types globally. Something like registerReflector(Type type, Reflectable reflectable). That would allow polymer_autonotify to register both JsProxy and PolymerMixin with  jsProxyReflectable, and there are no direct dependencies between any of the packages.

OK great I'll work on a proof of concept. The idea behind it is to use reflection itself to discover reflector but I'm not sure it is feasible.

It is no problem to support a Reflectable.reflectors static method which returns the set of all reflectors in the system, that is, the set of instances of a subclass of Reflectable which is actually used as a reflector by being attached to a target class as metadata or by being used in a global quantifier. This is also the set of reflectors for which data has been generated. I think that a reflector with the empty set of target classes will still work even though we probably haven't tested it, you will just discover that it has an empty set of supportedClasses; anyway, if you hit a bug here we'll check it out. ;)
With that set, it is easy to go through the reflectors and check which capabilities they have (myReflector.capabilities), and that enables you to select a reflector with suitable capabilities. However, you also need to consider which classes are covered by each reflector such that it will be able to work on the classes you care about, but you can check that with myReflector.annotatedClasses (well, that method ought to be renamed to supportedClasses because they aren't annotated if they were included by any kind of quantification).
Wouldn't that fit into your scenario?
There is no need for your usage of a given reflector to use const, you could very well have final Reflectable myReflector = selectASuitableReflector(Reflector.reflectors); and then use that. You may drop final if you wish, but it might be nice to ensure that you are not switching from one mirror system to another one by accident.
I've created a CL where such a Reflectable.reflectors method is available: https://codereview.chromium.org/1391543003/.

It just came to mind that the dependency you describe ("observe wants a mirror system, but it will get it implicitly via Reflectable.reflectors from some other library L where the chosen reflector comes from") allows observe to use the set of classes selected by that other library L. This means that it is a feature rather than a problem that the selection is made by L and used by observe. Do you agree?

Here is what I had in mind:

reflectable : add a meta reflector like this
polymer-dart  : publish a mirror system to be used for certain scopes : see here

On 'observe` then just resolve the reflector in this way :
resolveReflector() {
 var r = findReflectorsForScope("observe");
 if (r!=null) {
  return r;
 }
 return defaultObserveReflectable;
}

A "scope" here should define a contract between the reflector user and the reflector provider. This mean that it is the provider responsability to provide a reflector with the right capabilities, suitable to be used in the "scope" it is required.
@eernstg :  using this approach there is no need to implement any static method. Note that even the meta reflector can be exported in the same way (I've used the scope "meta" for this). I had to use a static method on a class to export the reflector because top level variable (and const) are not yet supported... am I right ?
@jakemac53 : this is equivalent to implementing a static registry but it levereges the reflectable package to create the registry automagically. Just annotate a class and estabilish a "scope" convention.
If this approach is worth of been discussed anymore I will send you PR, create issues to packages and go on that way.

We just published a new version 0.3.2 of reflectable where you have support for this kind of "meta-level reflection".
The only required extra feature is a new Reflectable.getInstance static method which will return the canonical instance of a given reflector type. So you have a type like MyReflectable (or myReflector.runtimeType), and you want the corresponding const object const MyReflectable() (respectively const SomeOtherClassThatWeDontKnowStaticallyReflectable(), which is the case that you can't express without the new static method).
You can take a look at the test case 'meta_reflectors_test.dart' (and a handful of other libraries in the same directory which are imported from there) in order to see how you can implement a reflector (AllReflectorsMetaReflector) which is able to give you access to all the "mirror systems" available in your program, and another one (ScopeMetaReflector) which shows how you can "register" functions anywhere in your program (by adding @ScopeMetaReflector() to them)  as mappers from String to Set<Reflectable>, such that you can get the set of reflectors in a given scope, in a similar sense as in your examples.
The 'meta_reflectors_test.dart' program has been modularized extensively in order to show that various things do not need to depend on each other (concretely, various libraries do not import specific other libraries). E.g., Reflector, Reflector2, ReflectorUpwardsClosed need not have any metadata and do not need an import of anything locally, and the library where reflection is used does not have to import the reflector defining libraries, etc. Basically, all the pieces can be brought together in the main file 'meta_reflectors_test.dart', and no other library needs to import that.
I think this will suffice for a broad range of approaches including the one that you described.

About reflectable and support for top-level variables: I've implemented a bunch of stuff in relation to libraries (they used to be covered in a quite incomplete manner) and this should cover top-level variables as well. I just made a note to self that this hasn't been tested, though. ;-)

@eernstg wow! that's great. I'll post a feature request on polymer-dart to add registering the polymer reflector for a suitable scope to be used by observe.

Thanks! Note that reflectable as such only adds the seemingly benign method getInstance, but the example that I mentioned shows how scopes and stuff can be implemented outside of reflectable. The ScopeMetaReflector may or may not be what is needed here, but it should be a usable starting point. I don't know if there is a need for a new package, but if polymer imports observe then observe could contain it and polymer could use it.

I've removed polymer dependency. For now I'm giving up trying to reuse its mirror system.

Removing the polymer dependency from observe sounds fine, but you shouldn't have to give up on reusing its mirror system (assuming that it will do what you need). I've added a comment on https://github.com/dart-lang/polymer-dart/issues/620 which illustrates how we envisioned that the new getInstance method could be used to enable just that.

@eernstg I've read your comments but if I have understood it right then anyone who wants to reuse polymer mirror system should add something like this :
 Map<String, Iterable<Reflectable>> scopeMap = <String, Iterable<Reflectable>>{
    "observe": <Reflectable>[jsProxyReflectable]
  };

  @ScopeMetaReflector()
  Iterable<Reflectable> reflectablesOfScope(String scope) => scopeMap[scope];

to their code. Or at least (more preferably) we should create another package, something like polymer_observe_mirror_binding that will depend on polymer that will contain that binding.
Initially my idea was that this kind of binding could be exported by polymer itself. But I imagine that just make sense to have it on a separate package.

Obviously for polymer to export such a binding and not depend on observe or another package @ScopeMetaReflector had to be incorporated in  reflectable API.

About reusing the polymer mirror system: For any piece of code where an import of 'package:polymer/src/common/js_proxy.dart' is acceptable the use of jsProxyReflectable is up for grabs. ;)
The extra difficulty in relation to observe is that you don't want to depend on polymer in general (only in the bridge library), so the connection needs to be established dynamically, and that amounts to a model for using various different "foreign" mirror systems, as long as they will deliver the required services.

Now it observe will be able to reuse other mirror system. I've updated the readme too.
Again tested only on basic test.
Default mirror system is bundled with observe, just need only to import observe/standalone.dart in place of observe/observe.dart.
Updated polymer_autonotify to reuse polymer-dart mirror system when using  observe.

Cool!

Yes, Thank you for your help. Do you thing there is something else to be done to have this pull request merged?

It might be nice for users of stand-alone observe to keep importing 'observe/observe.dart', and users of observe-with-something would import something else (a bridge library like 'polymer_autonotify.dart') anyway, so they won't notice if the old 'observe.dart' is renamed. So how do you think the numbers are, would stand-alone users of observe plus users of bridges outnumber the providers of bridge libraries so massively that 'observe/standalone.dart' should be renamed to 'observe/observe.dart' and the old 'observe/observe.dart' should be renamed to something else? (maybe 'observe/mirror_system_configurable_observe' if it hadn't been so darned long ;-)
One thing that I noticed was that the code uses fromList in the super-initializer in reflector classes; there is no need to do that unless you have "many" elements in the list, because Reflectable has been equipped with a constructor that takes up to 10 arguments directly and makes a list of them.

That was something I was thinking about.
In my opinion - but probabily others knows better than me - the vast majorty of users of observe are using it together with polymer. So I expect they prefer to have the mirror less one (observe_bare.dart ?) be left as observe.dart so they don't have to change their import in all their model classes.

OK, I didn't realize that they would import 'observe.dart', I thought that 'polymer_autonotify.dart' would take its place when observe is used with polymer (but I can see that it doesn't export 'package:observe/observe.dart'). In that case there are lots of people depending on the name 'observe.dart' so renaming is probably not a good idea.

I agree. I think there is an high confidence that a lot of people created libraries with only model objects thus importing only "package:observe/observe.dart" even though they will use those objects with polymer. This is a very common pattern to be found.


COW Wiki Page 2 Suggestion

Clarify that the user can come up with a prefix themselves.

In addition to the provided prefixes, you can add your own. E.g. below we add the prefix "typos" referring to URI:

could be rewritten as

In addition to the provided prefixes, you can create and add your own. E.g. in the example below we want to refer to the URI: "https://prefixes.causelesstypos.com/". Let's call the prefix "typos" and add it to the list of prefixes.

thanks @Bramvdhout I've updated the page accordingly.


Add an SCLayout component/module for generating layout classes

Supports grid and flexbox.
Easy to learn and use syntax.

This is not a good idea. Each product should solve their own layout problems.


Add Travis test for using Gadgetron via Docker

As opposed to building Gadgetron, we can use its docker container. This was tried by @rijobro to fix #193. That attempt was abandoned as Travis doesn't support Docker on OSX, but we should add a test case on Linux. We should then also document how to do this (obviously by pointing to the Gadgetron doc).

https://github.com/CCPPETMR/SIRF-SuperBuild/pull/214/commits/3fff29474f05338e7b265e947363ceebe6da0e6d is initial framework

@KrisThielemans @evgueni-ovtchinnikov is there an env variable for pointing to the gadgetron host? My assumption is this is the workflow:

[x] sirf container: -DBUILD_GADGETRON=OFF
[x] gadgetron container: expose 9002
[ ] sirf container: ensure use of tcp://gadgetron:9002 via either an env var or confic file etc.

I assume the current default is tcp://localhost:9002, in which case port forwarding might also be an option

should be noted that the current ccppetmr/sirf image (building gadgetron) is 3.5GB, while gadgetron/ubuntu_1804_no_cuda alone is 3.74GB on my machine (must contain more optional features than we build)

Currently host and port are hardwired, see https://github.com/CCPPETMR/SIRF/issues/182

after #214 is merged I'll have a wonderfully small change to make to spin off a separate gadgetron container and avoid building it in the sirf one.
The downside is that the only way hardcoded localhost:9002 can work with docker networking restrictions on port forwarding is on linux. Need to remove hardcoded localhost to work on windows.

- sirf container: ensure use of tcp://gadgetron:9002 via either an env var or config file etc.

I assume the current default is tcp://localhost:9002, in which case port forwarding might also be an option

@evgueni-ovtchinnikov @KrisThielemans is this now done?

I think so, but I'm not sure how. Have a look at https://github.com/CCPPETMR/SIRF/issues/182

right...
https://github.com/CCPPETMR/SIRF/blob/4b5f9ff429f64f8ae878c1366ab0cf2805526e72/examples/Python/MR/Gadgetron/fully_sampled_recon_single_chain.py#L97-L111
So we can do this in python then:
recon.set_host(os.environ.get('GADGETRON_HOST', 'localhost'))
recon.set_port(os.environ.get('GADGETRON_PORT', '9002'))

Obsolete as we're not using  Travis. Even for GHA it doesn't seem to be a great thing to do as  Gadgetron now distributes via conda