Improve initialization functions

Note: This PR forks from PR #409, which should be reviewed first.
Context: Another PR in the templates refactor series. Resolves Issue #383, by changing the signature of initialization functions, adding more functions and improving the docs.
Description of the Change:

Every template now has initialization functions _uniform and _normal for every parameter array it takes. For example, Interferometer has three initializations for its three inputs theta, phi varphi.
Added _all initializations for Interferometer and CVNeuralNetLayers to initialize all parameters in one go.
Added new functions to introduction in docs, and gave code examples.

Benefits: Hopefully resolves confusion around usage, improves explanations for the user, sets a clear standard of how new templates are treated.
Possible Drawbacks: Adds quite a lot of functions to the init module, with a lot of code repetition. The justification is that these functions are for convenience, and should be as simple as possible (which was why we previously decided for _normal and _uniform versions, rather than keyword arguments).
Related GitHub Issues: #383

This one is now ready to (re-)review. It contains - and partially overrides - changes from #409.

Again ready for re-review...

Thanks @co9olguy ! I addressed all your comments, except from the one avoiding code repetition which I added to the issue on further template test improvements.
Ready for re-review.
Note: Some of your comments were related to changes PR#409. I don't mind, but just don't get confused if they are updated on this branch but not in the original PR.

@josh146 , any changes requested from your side?

@co9olguy I addressed all your requests.

@co9olguy I addressed all your requests.

Yep already approved from my side


Check why https://bibdata.princeton.edu/dumps/209.json keeps failing to index

Bibdata tries to index https://bibdata.princeton.edu/dumps/209.json since 09/22 22:50 at night. As a result the indexing process is pushed back and delayed.
Check datadog for errors
Download and index locally

after checking locally:
2021-09-28T05:46:05-04:00 FATAL Traject::CommandLine: Unexpected exception, terminating execution: #<JSON::GeneratorError: source sequence is illegal/malformed utf-8>
Traceback (most recent call last):
10: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in block in create_worker' 	 9: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in catch'
8: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in block (2 levels) in create_worker' 	 7: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:335:in loop'
6: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in block (3 levels) in create_worker' 	 5: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/concurrent-ruby-1.1.9/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:363:in run_task'
4: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/traject-2.3.1/lib/traject/thread_pool.rb:110:in block in maybe_in_thread_pool' 	 3: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/traject-2.3.1/lib/traject/solr_json_writer.rb:104:in block in put'
2: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/traject-2.3.1/lib/traject/solr_json_writer.rb:113:in send_batch' 	 1: from /Users/chortariac/.rvm/gems/ruby-2.6.5/gems/json-1.8.6/lib/json/common.rb:223:in generate'
/Users/chortariac/.rvm/gems/ruby-2.6.5/gems/json-1.8.6/lib/json/common.rb:223:in `generate': source sequence is illegal/malformed utf-8 (JSON::GeneratorError)

Some records have been indexed and they have a today timestamp, but then it fails with this error and the file will not process successfully. I reproduced the error locally. I also indexed the rest of the records that didnt have a today's timestamp and I assumed that it failed while on this record.
When I try to index a larger part of the file it fails.

We worked with @hectorcorrea in downloading the file and breaking into smaller files to find the record was creating the source sequence is illegal/malformed utf-8 (JSON::GeneratorError). We used https://github.com/hectorcorrea/marcli to break the file in chunks of 100 records, 50s and 10s until we find the record. The record had a bad character in 008 field which we could see only with a hex editor. We decided to remove this record and tar.gz the file and put it back in the box for sidekiq to pick it up again. We forced sidekiq to run the job but it seems that it still keeps in the memory the old file.
The mms_id that we removed is<PHONE_NUMBER>1506421.

It seems that the second time sidekiq picked it up and indexed it.

For example to create chunks of 10 starting from the first record and using the marcli tool:
./marcli -file read_filename.xml -start=1 -count=10 -format=xml -debug > create_filename_chunks.xml
We used xxd filename to check the hex output.

closing this issue. Will open a new one to handle the traject json writer that causes the error.


Getting started guide documentation

Finished the getting started guide. Resolves #50

Looks awesome! Should we add a ToC in this PR or should I open a issue and do it later?

Looks awesome! Should we add a ToC in this PR or should I open a issue and do it later?

Looks awesome! Should we add a ToC in this PR or should I open a issue and do it later?

@Dirne Later, might also try the wiki. Because now it is a bit hard to see all the docs for the nodes. In the wiki I would split it up.

Looks awesome! Should we add a ToC in this PR or should I open a issue and do it later?

@Dirne Later, might also try the wiki. Because now it is a bit hard to see all the docs for the nodes. In the wiki I would split it up.


"Cannot read property 'toString' of null' when trying to save

Issue Type: Bug
Steps:

open workspace
create a new file, add text (do not save)
open either new settings editor or keybindings editor
ctrl+s to save
"Cannot read property 'toString' of null"

VS Code version: Code - Insiders 1.26.0-insider (a8033aaf216d684d775e058489d25186702d28e3, 2018-08-07T23:17:55.610Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 2112)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.93GB (5.50GB free)

Process Argv
C:\Users\t-jakea\AppData\Local\Programs\Microsoft VS Code Insiders\Code - Insiders.exe

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

Bookmarks
ale
9.0.3

vscode-svgviewer
css
1.4.4

gitlens
eam
8.5.4

tslint
eg2
1.0.34

debugger-for-chrome
msj
4.8.2

subtle-brackets
raf
2.1.1

vscode-multiclip
sle
0.1.4

code-spell-checker
str
1.6.10

sublime-commands
Zar
0.1.0

(1 theme extensions excluded)

after opening the settings editor, do you go back to the new file to save?

No, this happens if you trigger save in the settings or keybindings editor.

Happens in stable as well.

I am no longer able to repro this, a fix may have come in from somewhere else.

I'm still able to repro this with the steps above, but only with the keybindings editor open.
Code - Insiders 1.27.0-insider (47d0584301d16d4efd6618f6f33ef14099c92561, 2018-08-29T05:12:15.247Z)

@isidorn Error is thrown at the following location
https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/files/electron-browser/fileCommands.ts#L187
Please take a look


Your request to provision "Microsoft 365 learning pathways"  template failed!

Microsoft 365 Learning Pathways failed to be provisioned.  I am providing the following provisioning action correlation ID: 93c0260a-085f-432c-af87-2082c69fafbd !
How do I fix this to attempt the provisioning for this again?
Regards,
John

Hi, Thanks for your feedback. I'm closing this item because it is now outdated.


refactor roles

等鐵人賽結束再來幫這個被很多人 fork 的 php7 roles 改版了！
Reference:

https://twitter.com/chusiang_lai/status/811610816701042690
https://github.com/dennisenderink/php7.ansible.role/commits/master

Use the vars to control PHP Version
I think, we can use the vars to control the PHP version, that is lazy and very cool !

PHP version extracted to php_version and pap_version_yum variables. · dizeee/php7.ansible.role@b57f2c1

Refactoring by #10, #12, #14, #15.

Start refactor at https://github.com/chusiang/php7.ansible.role/commit/81fe1f48fc0597faceac185d359058bebd05735d

Refactor Vagrantfile with each.

https://github.com/chusiang/php7.ansible.role/commit/06b982c369bd922086e7acc87d5219d1c04ab679

Refactor by key : value mode.

https://github.com/chusiang/php7.ansible.role/commit/67f94ffb15da468fad5c1c752108a110ee9b51a6
https://github.com/chusiang/php7.ansible.role/commit/f8c4a831ff3d9badfc692d45b2d2df38362de248

Refactor install epel, remi, ius for CentOS 6 & 7.

https://github.com/chusiang/php7.ansible.role/commit/4a2512e9f92dd69d59368564435aed6471f4d07b


Click an URL, testcafe will loss connect of session

What is your Scenario?

In testcafe, t.click(sector); //the sector is a URL value.
click the URL, launch a new tab with the URL.
but my orginal session is lost connect. Then the automation is lost control.
I can't use t.openWindow(url). Because I need to test to click the cell to get the result.
I know this is testcafe issue. When you can fix it?
Thanks.

What is the Current behavior?
chrome
What is the Expected behavior?
I expect t.click(url) the behavior is the same as t.openWindow(url). Keep the original session control.
What is your public website URL? (or attach your complete example)
none
What is your TestCafe test code?
I can't do this. sorry.
Your complete configuration file
No response
Your complete test report
No response
Screenshots
No response
Steps to Reproduce

log in a session.
excel cell with url
t.click(cell.url)
launch the other tag, the original session is kept contol.

TestCafe version
Version: 1.77.2 (user setup) Commit: e344f1f539a80912a0e9357cec841f36ce97a4e2 Date: 2023-04-06T10:08:05.978Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: <IP_ADDRESS>-electron.0 OS: Windows_NT x64 10.0.19042 Sandboxed: No
Node.js version
v16.13.0
Command-line arguments
run at VS code version 1.77.2
Browser name(s) and version(s)
Chrome Version 111.0.5563.65 (Official Build) (64-bit)
Platform(s) and version(s)
Windows 10 Enterprise
Other
none

Hello @Icefox8888,
Thank you for your code example. However, this example is not suitable. I cannot reproduce the issue with it (even if I remove the Role that does not work on the example.com website). Please share an application example or a public URL where we can see the described behavior on our side.
Also, I recommend you try using the latest (v2.5.0 at this moment) TestCafe version.


Add ansible-lint support

I think this is pretty decent for ansible-lint support. I dropped the generator stuff from main, I'll reintroduce it later. Currently it does something similar but much more jank by fulling in a slightly tailored **/*
Features:

ansible-lint support
support for other Ansible artifacts (Playbook&context, Role, Collection)

Tests:

some end2end tests
capture the helloansible directory to test resources

Deferred:

Use source generators instead of fancy globs

Wow, that's a big PR :)

Wow, that's a big PR :)

yeah it, uh, got away a bit. Some of it is ansible test code.

Heya, I've merged HEAD into this branch, a rebase was getting messy fast.
There are some open mypy problems, most of them seems like Type Tetris related (some pants things aren't exported; I'm having trouble with some of the config settings like StrOption). LMK if you want me to work harder on those.

Okay, so - in the process of reviewing. Is there a mechanism to NOT take and entire subfolder and have it owned by Ansible? Like, can the list of sources be trimmed or filtered? I'm just trying to get my head around some of the Pants ownership semantics

Also, I might split this PR up into a couple of them, as there's a lot of intermingled items - so it's a bit tricky to grok all the changes.

Okay, so - in the process of reviewing. Is there a mechanism to NOT take and entire subfolder and have it owned by Ansible? Like, can the list of sources be trimmed or filtered? I'm just trying to get my head around some of the Pants ownership semantics

do you mean on the pants side, or the ansible side? I'm pretty sure there isn't a way to affect the ansible file discovery, and all files are technically fair game for ansible. That said, there's nothing stopping us from restricting pants to only pull in a constrained subset. We could also add tailor support, so it's not so kludgy to request that people add eg role_defaults() to a role's defaults/BUILD file; that would really help constrain things, and make it more reasonable to not pull in every file ansible might.
I haven't really read up on implementing tailor or on using target generation or any of that. I'm sure they'd provide benefits over the globs I have here, but also would make this MR even bigger.
Speaking of size, LMK if there's a way you'd like this broken up and I can help with that. I'm a history packrat so I didn't see a way to disentangle this, but if you'd like me to try again but more segmented this time I can give it a shot.


need to track envelope usage

We need to see if we have users and how many.

Added to the main menu.


Always trust reverse proxy on localhost without additional configuration

Currently TrustedProxy = whatever must be specified in the config file by hand. I think that ZNC should automatically trust <IP_ADDRESS>/8 and ::1 as something on localhost sending the X-Real-IP or X-Forwarded-For is setup by administrator or otherwise trusted.
With external hosts there is no way to know who has set the reverse proxy or if the user even is a reverse proxy, so TrustedProxy should be left for those.

Debian GNU/Linux 7.9 (wheezy)
ZNC 1.7.x-git-441-d66cb36 - http://znc.in

IPv6: yes, SSL: yes, DNS: threads, charset: yes

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26963651-always-trust-reverse-proxy-on-localhost-without-additional-configuration?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).

2015-09-26 08:54:38+0300 < kerio> hell naw
2015-09-26 08:54:56+0300 < Mikaela> if naw is no, why not?
2015-09-26 08:55:21+0300 < kerio> that only works if you completely trust all the users on your box
2015-09-26 08:56:02+0300 < Mikaela> I don'ẗ think that is required as the reverse proxy makes no sense on other ports than 80/443 which are root controlled
2015-09-26 08:56:15+0300 < kerio> what
2015-09-26 08:56:20+0300 < Mikaela> and why would users on the box send false headers?
2015-09-26 08:56:52+0300 < kerio> even a supposed privileged web server won't connect to your znc from port 80
2015-09-26 08:57:13+0300 < kerio> and they'll send false headers because they're dicks, duh

I want to believe that people are better than that, but maybe that blocks this anyway.


Duplicated comment from Zincr

Actual behaviour
Zincr has added 2 comments here: https://github.com/zalando-incubator/kopf/pull/9
Expected behavior
Only one Zincr comment exists in a PR.

Thanks - will investigate why this happens.


api_user_key required

pastebin now requires the usage of api_user_key as well:
https://pastebin.com/api#8
https://pastebin.com/api/api_user_key.html
Any plans on integrating this into the code? This is especially useful for PRO accounts that require the 250 post limit as apposed to the 25 for free accounts. Without supplying api_user_key, posts are made as guest.

It appears the variable was already there, and it was just a matter of setting it up with the api_user_key that I generated.


Time for new release, maybe?

It will soon be a year since last release... a gazillion commits made in the meantime... surely there's something good in those... 🙏please 🙏 pretty please 🙏new release 🙏

Previous discussions: #3978 and #3742

I’m using pipenv in a couple of projects and poetry in another few.
A year ago, pipenv had indisputable lead, in quality, usability and vision (all seen through a prism of an end-user). 😃
Since then, I imagine that lots of work happened in both projects. I can’t see the result in pipenv and I can see the result in poetry.
@frostming you seem active here, perhaps you can get permissions to publish pre-releases?
Overall this reminds me of what they say about early days of UNIX. (Was it?) “Worse is better”, meaning a project that has fewer features and more bugs becomes more popular because many contribute, while the project that was initially pretty good stagnates, perhaps because contributing is harder.
I wonder if the latter is the case simply because pipenv does more and thus accumulated more fragile corner cases, or simply because someone left or someone doesn’t have permission... 🧐

Fewer features/easier to release = pip-tools, which it sounds like pipenv may be using?

Update from March 14, 2019 [...] Your choice today is mostly between using pip-tools directly, using Pipenv (which is a Swiss army knife kind of tool that internally relies on pip-tools), or newer tooling like Poetry. [...]
— Better Package Managemen by Vincent Driessen

pip-tools doesn't manage the virtual environments for you (which is a feature that's usually more annoying than it's worth for me in Pipenv).
Conversion workflow:

Covert Pipfile back to a "requirements.txt" like format with the same pinned (django==1.11.7) / limited range (marshmallow<3) / free (*) versions. Name that requirements.in.
Build it into requirements.txt with something like pip-compile --quiet --generate-hashes --output-file=requirements.txt requirements.in. The file will include requirements
Replace pipenv in build toolchain with native pip install -r requirements.txt

If you have inline/editable packages in the repo (that you install with -e), Pipenv kinda has better support around them (requires some path editing in the pip-compile output), and there may be some other edge cases.

Master hasn't been touched for a month now, and it only looks like minor tweaks have been made for a couple months before that.
Is Pipenv dead now? 😭 If not, it's certainly doing a good impression of an abandoned project, compared to say pip itself.
The lack of development, plus no release for over a year now does not look good for what was supposed be the official, one-stop-shop for Python Package Management. I had such good impressions and high hopes for Pipenv this time last year, especially as it appeared to be backed by the PyPA and the PSF. The Python community is hurting for something similar to Node/Yarn, NuGet, or go get for example and yet Pipenv has just withered despite so much interest.
With the critical bugs, accumulating unresolved and unanswered tickets, AWOL maintainers, and no support or updates, we have no option but to start unwinding Pipenv's presence in our stacks & workflows, and return to manual venv management.
Pipenv has been a disappointment, and Pipenv has tarnished Python itself.

Pipenv has been a disappointment, and Pipenv has tarnished Python itself.

Indeed. The damage is incredibly unacceptable. The PyPA needs to say something. Either archive the project or pick it up.

I share some frustration with others, but I'd urge others to try to consider how much may be involved in cutting a new release. Asking for a silver-bullet version is a bit much.

[...] trying to triage plenty of upstream issues and make an automated release pipeline [...]
[...] putting such words upon open source devs who spend their spare time on such a complex project is not cordial at all while I admit there some room to improve for the release processes. Suggestions are welcomed but not sarcasm.
— frostming, 2019-05-13 https://github.com/pypa/pipenv/issues/3742#issuecomment-492045754

That said, an update on blockers upstream (from pip or other libs) would be appreciated and might help us users appreciate how much is going into the next version. in #3742, pip and friends were mentioned:

Release cadence came to a super dramatic halt because of a lot of upstream issues (pip broke, setuptools broke, then pip and setuptools both released breaking fixes, and we have about 15 upstream dependencies which I personally maintain and which need to be fixed to support a pipenv release)
I am currently cutting releases of the last 2 assuming tests pass, so that we can refocus on cutting a pipenv release now.
Apologies for the delay, but the issue backlog is quite long and I am definitely not excited about triaging
— techalchemy, 2019-05-14 https://github.com/pypa/pipenv/issues/3742#issuecomment-492100711

It looks like frostming has been single-handedly trying to keep the flame alive while other contributors haven't had the time to support Pipenv, but if they get burnt out then it will be a dark day. I'm unaware of any other devs working on it, and I fear that there's a vicious cycle set up of extremely high hopes for Pipenv (admittedly set up by the early marketing), lots of users wanting every use-case fulfilled, an improved version is released (even if bugfixes only), and the devs that did it get flamed because it didn't fix it all or add all the features.
@oz123 if you're worried about the tarnishing, I'd suggest trying to advance alternatives where you can. Poetry, pip-tools, and such live on.

I truly believe pipenv is dead. The Python Foundation posted that is seeking developers for paid contract to improve pip
Some quotes from the article.

The Python Software Foundation Packaging Working Group is receiving funding to work on the design, implementation, and rollout of pip's next-generation dependency resolver.

So the focus is on pip not pipenv.

pip is the official package installer for Python.

So the official package installer is  not pipenv.

We plan to begin the project in Quarter 1 of 2020.

It's also not clear for me why Python Packaging Authority has put full support in pipenv to be honest. Pipenv is designed for application dependency management, rather than libraries. From the pipenv docs (https://pipenv-es.readthedocs.io/es/stable/advanced.html#pipfile-vs-setup-py)

Of course, Pipfile and Pipenv are still useful for library developers, as they can be used to define a development or test environment.
In other words, pipenv was not build to support library developers.

As a user think it's time to drop pipenv, or rollback.
I think Python Packaging Authority should make the "tough" decision to retire pipenv. It seems to take to many man hours to keep the software afloat. The fact that it's so hard to update pipenv after updated upstream software says a lot about how the software is written. I mean Poetry (yet another packaging tool) has had no problems releasing new versions.

@petervanderdoes you could write a PR for this file https://github.com/pypa/packaging.python.org/blob/master/source/guides/tool-recommendations.rst to update it with Poetry, pip-tools and others.

@nicktimko let's start with something, any further suggestions?
https://github.com/pypa/packaging.python.org/pull/683

Closing in favor of #4058


Please invite me to the GitHub Community Organization

Name
Tausif Khan
Discord Username (if applicable)
No response
Additional Context
I haven't had the chance to meet Eddie yet, but I'm enthusiastic about contributing through Pull Requests, opening Issues, sharing ideas, and collaborating for mutual growth and enhancement within the community. It's a great platform to connect and contribute with like-minded individuals who are passionate about making positive changes and advancements.

Absolutely, I'm excited to dive into open source and connect with fellow enthusiasts in the community! 🚀


Touch support

Add touch event support will be great.

This has worked great so far with needing touch events: ng-sortable


Ideate on new ID system

Idea 1: Human-Readable Prefixes
Each affiliation gets an ID with a human-readable prefix. For example, there could be a GCEP with the ID gcep_123. Another example would be a VCEP with the ID vcep_456. The part after the underscore could be an integer or it could be an alpha-numeric string (along the lines of a UUID). My preference would be an integer because it's easier to type in than an alpha-numeric string, and I don't think we need to worry about enumeration attacks for the affiliations information.

On 07/24 meeting, Matt and Liam decided to keep the existing system based on external meeting held where 10000 number ID is used by other teams.


[BUG]-DisplayBase throws missing method Exception

Describe the bug
Essentials - 1.6.9
A previously functioning display plugin that was inheriting from DisplayBase is no longer being bridged as a Missing Method Exception is thrown.
Stacktrace
Include a stack trace of the exception if possible.
System.MissingMethodException: Method not found: get_PowerIsOnFeedback PepperDash.Essentials.Core.DisplayBase.
   at EpsonProjectorEpi.EpsonProjector.LinkToApi(BasicTriList trilist, UInt32 joinStart, String joinMapKey, EiscApiAdvanced bridge)
   at PepperDash.Essentials.Bridges.EiscApi.<.ctor>b__0()
   at PepperDash.Core.Device.<PostActivate>b__2(Action a)
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at PepperDash.Core.Device.PostActivate()
   at PepperDash.Essentials.Core.DeviceManager.ActivateAll()
   at PepperDash.Essentials.ControlSystem.Load()
   at PepperDash.Essentials.ControlSystem.GoWithLoad()
   at PepperDash.Essentials.ControlSystem.StartSystem(Object obj)
   at Crestron.SimplSharp.CTimer.a(Object A_0)
   at System.Threading.Timer.ring()

@alex-johnson for visibility

Additional context, this also happens in a separate plugin:
System.MissingMethodException: Method not found: get_PowerIsOnFeedback PepperDash.Essentials.Core.DisplayBase.
   at PDT.PanasonicDisplay.EPI.PdtPanasonicDisplay.LinkToApi(BasicTriList trilist, UInt32 joinStart, String joinMapKey)
   at PepperDash.Essentials.Bridges.EiscApi.<.ctor>b__0()
   at PepperDash.Core.Device.<PostActivate>b__2(Action a)
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at PepperDash.Core.Device.PostActivate()
   at PepperDash.Essentials.Core.DeviceManager.ActivateAll()
   at PepperDash.Essentials.ControlSystem.Load()
   at PepperDash.Essentials.ControlSystem.GoWithLoad()
   at PepperDash.Essentials.ControlSystem.StartSystem(Object obj)
   at Crestron.SimplSharp.CTimer.a(Object A_0)
   at System.Threading.Timer.ring()

Recompile of the plugins with updated references appears to have resolved the issue. No action needed?

OK if you recompile with new essentials, does it break it for older versions?

It seems okay on earlier versions after the recompile. Tested on v1.6.4

OK, not sure the path forward.

In 1.6.7 and later versions, the IPower interface is marked obsolete and has been replaced by 2 interfaces: IHasPowerControl and IHasPowerControlWithFeedback. IHasPowerControl is implemented on DisplayBase and IHasPowerControlWithFeedback is implemented on TwoWayDisplayBase.
Updating the references for the plugins to 1.6.7 or later should resolve the issue, as the PowerIsOnFeedback property has moved to TwoWayDisplayBase, so even when running the plugin with older versions of Essentials, it should still work because of the inheritance chain.

After talking with @alex-johnson , updating the references on the plugins to 1.6.7 or later has solved the issue. I'll close this issue.

Should probably be noted somewhere that if you update to 1.6.9 you may need to recompile your plugins

Sounds like this is going to affect backwards compatibility. We should make sure Essentials updates will not break existing plugins.

I've got a build for this that should restore backwards compatability. The property and implementation of IPower on DisplayBase WILL BE removed in version 2.0.0. Check version 1.6.9-hotfix-954 and report back on results.

@jtalborough @alex-johnson @ngenovese11 Has anyone had a chance to check version 1.6.9-hotfix-954?

It looks like this issue persists in 1.6.9 and 1.7.0-rc-1005.
Using a previously working display plugin that calls PowerIsOnFeedback.FireUpdate() produces an exception and a system crash shown below. The missing method does appear to be gone however.
 [11:31:45.000]App 2:[DisplayBridge] Error in Eisc_SigChange handler: System.InvalidProgramException: InvalidProgramException    at PDT.PlanarRpsDisplay.EPI.PlanarRpsDisplay.PowerOn()    at PDT.PlanarRpsDisplay.EPI.PlanarRpsDisplayBridge.<>c__DisplayClassa.<LinkToApiExt>b__1()    at PepperDash.Essentials.Core.SigAndTriListExtensions.<>c__DisplayClass1.<SetSigTrueAction>b__0(Boolean b)    at PepperDash.Essentials.Bridges.EiscApi.Eisc_SigChange(Object currentDevice, SigEventArgs args)    at Crestron.SimplSharpPro.DeviceSupport.BasicTriList.g(CrestronDevice A_0, SigEventArgs A_1)    at Crestron.SimplSharpPro.CrestronDeviceWithEvents.SendJoinEventData(SigEventArgs args)    at Crestron.SimplSharpPro.SigCollectionBase1.NotifyOfSigsNewValue(BoolOutputSig paramSig, eSigEvent paramSigEvent, Boolean paramSigWasAdded)
at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithOutIncrementWithEvent(UInt32 index, Boolean newValue)
at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithEvent(UInt32 index, Boolean newValue)
at Crestron.SimplSharpProInternal.DeviceBasis.ReadDigitalPacket(ePacketType incomingPacketType, UInt32 joinNumber, Boolean joinValue)
at Crestron.SimplSharpProInternal.CrestronDevice.HandleIncomingBufferForSpecificDevice(CParsedPacketData IncomingDataStructure)
at Crestron.SimplSharpProInternal.DeviceBasis.ParseProcessedCresnetData(CParsedPacketData IncomingDataStructure)
at Crestron.SimplSharpProInternal.CrestronDevice.ParseDataFromStructure(Byte* pIncomingDataBuffer, UInt32 tldmToAppDeviceOrSlotId)
at Crestron.SimplSharpProInternal.CrestronDevice.CallbackRoutineForSpecificDevice()

It looks like this issue persists in 1.6.9 and 1.7.0-rc-1005.
Using a previously working display plugin that calls PowerIsOnFeedback.FireUpdate() produces an exception and a system crash shown below. The missing method does appear to be gone however.
 [11:31:45.000]App 2:[DisplayBridge] Error in Eisc_SigChange handler: System.InvalidProgramException: InvalidProgramException    at PDT.PlanarRpsDisplay.EPI.PlanarRpsDisplay.PowerOn()    at PDT.PlanarRpsDisplay.EPI.PlanarRpsDisplayBridge.<>c__DisplayClassa.<LinkToApiExt>b__1()    at PepperDash.Essentials.Core.SigAndTriListExtensions.<>c__DisplayClass1.<SetSigTrueAction>b__0(Boolean b)    at PepperDash.Essentials.Bridges.EiscApi.Eisc_SigChange(Object currentDevice, SigEventArgs args)    at Crestron.SimplSharpPro.DeviceSupport.BasicTriList.g(CrestronDevice A_0, SigEventArgs A_1)    at Crestron.SimplSharpPro.CrestronDeviceWithEvents.SendJoinEventData(SigEventArgs args)    at Crestron.SimplSharpPro.SigCollectionBase1.NotifyOfSigsNewValue(BoolOutputSig paramSig, eSigEvent paramSigEvent, Boolean paramSigWasAdded)
at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithOutIncrementWithEvent(UInt32 index, Boolean newValue)
at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithEvent(UInt32 index, Boolean newValue)
at Crestron.SimplSharpProInternal.DeviceBasis.ReadDigitalPacket(ePacketType incomingPacketType, UInt32 joinNumber, Boolean joinValue)
at Crestron.SimplSharpProInternal.CrestronDevice.HandleIncomingBufferForSpecificDevice(CParsedPacketData IncomingDataStructure)
at Crestron.SimplSharpProInternal.DeviceBasis.ParseProcessedCresnetData(CParsedPacketData IncomingDataStructure)
at Crestron.SimplSharpProInternal.CrestronDevice.ParseDataFromStructure(Byte* pIncomingDataBuffer, UInt32 tldmToAppDeviceOrSlotId)
at Crestron.SimplSharpProInternal.CrestronDevice.CallbackRoutineForSpecificDevice()


Keybase app fails to start on Windows 10

Keybase service runs fine and I can send messages with it, but when trying to start keybase app, nothing happens. No entries are written to Keybase.app.log either.
Service:
    status:    running
    version:   5.4.2-20200424164159+7b0bbf1e3c
    log:       ...\AppData\Local\Keybase\keybase.service.log
    eklog:     ...\AppData\Local\Keybase\keybase.ek.log
    perflog:   ...\AppData\Local\Keybase\keybase.perf.log

Platform Information:
    OS:        windows
    OS vers:   Microsoft Windows [Version 10.0.18363.815]
    Runtime:   go1.13.7
    Arch:      amd64

Client:
    version:   5.4.2-20200424164159+7b0bbf1e3c

Desktop app:
    status:    not running
    version:
    log:       ...\AppData\Local\Keybase\Keybase.app.log

Thank you.

I think I'm experiencing the same problem, I tried to uninstall the client and when I try to install it again, the installer doesn't even open

@alex1a I've tried that as well, but it doesn't work for me.

@alex1a I've tried that as well, but it doesn't work for me.

Already try to reinstall? I mean, uninstall, wipe all files from appdata and install again?

Ran the uninstaller twice and nothing happened, as in the app is still here. However, now it actually starts up. 🎉  So, I guess this can be closed.

Ran the uninstaller twice and nothing happened, as in the app is still here. However, now it actually starts up (not sure what happened there). 🎉 So, I guess this can be closed.

Same problem with me, uninstaller doesn't do nothing, and magically keybase start working

this is called junk


missing fonts

Hello,
Based from the changelog I assumed that all fonts in the file are Helvetica. Opening the .sketch file, sketch complains about missing fonts. Font awesome, Source Sans and Open Sans.
I was missing fontawesome  so I've installed that so that worked. I already had installed Source Sans and Open Sans from google fonts, but they seem not to work for this file? It could be solved from the "missing fonts" menu, but that's only showing "System fonts". So not very helpful.
So what's the deal with all helvetica and still relying on those other fonts? Can that be solved / filtered out?
Thanks!

hello @joggienl, we're not actively maintained this project so if you can help fixing and maintaining this project, that would be great.

Sure, I can take a look on the fonts. I guess the goal was to use only the Helvetica font for text?
I see, for example, that the number badges not all use helvetica..


fix: broken unit test

Please check if the PR fulfills these requirements

[x] It's the right issue type on the title
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[ ] It does not introduce a breaking change or has a description of the breaking change

Description

fixed broken unit test

injected markdown document
sanitized changed preview content in update function
removed listStack in mdListManager
removed jquery in some test case
removed delay test in mdPreview.spec
added lazyRunner in preview and appleid it to codeBlockPreview

fixed script error in codeBlockEditor

Thank you for your contribution to TOAST UI product. 🎉 😘 ✨

[3/9] 리뷰 완료합니다ㅎ 달리시느라 고생하셨어요 ㅜㅜ


[Swap] Memo length reduction

https://dev.thorchain.org/concepts/memo-length-reduction.html

Not actual as we're using WalletCore for swap's payload construction


How to dump/persist the group aggregation status and avoid circular references?

We want to persist the expand/collapse action of groups in the provenance (see https://github.com/datavisyn/tdp_core/issues/378). The LocalDataProvider.EVENT_GROUP_AGGREGATION_CHANGED event provides the list of affected groups. However, when applying JSON.stringify(groups) we get a circular reference error:
LocalStorageGraph.ts:133 Uncaught TypeError: Converting circular structure to JSON
    --> starting at object with constructor 'Object'
    |     property 'parent' -> object with constructor 'Object'
    |     property 'subGroups' -> object with constructor 'Array'
    --- index 0 closes the circle
    at Object.stringify (<anonymous>)
    at LocalStorageGraph.addNode (LocalStorageGraph.ts:133)
    at ProvenanceGraph.initAction (ProvenanceGraph.ts:428)
    at ProvenanceGraph.createAction (ProvenanceGraph.ts:422)
    at ProvenanceGraph.ts:474
    at ProvenanceGraph.inOrder (ProvenanceGraph.ts:585)
    at ProvenanceGraph.pushWithResult (ProvenanceGraph.ts:473)
    at Object.<anonymous> (cmds.ts:802)
    at Dispatch.apply (dispatch.js:61)
    at fireImpl (AEventDispatcher.ts:121)

The circular reference occurs due to the recursive group structure with parent and subGroups.
(I could not provide a CodeSandbox due to issue https://github.com/lineupjs/lineupjs/issues/355).

I checked the data provider and saw that there is some restore() and dump() functionality available:
https://github.com/lineupjs/lineupjs/blob/07cadb23643d0bac5d95cc955c5cfb180debc6ec/src/provider/ADataProvider.ts#L616
https://github.com/lineupjs/lineupjs/blob/07cadb23643d0bac5d95cc955c5cfb180debc6ec/src/provider/ADataProvider.ts#L663-L670
The problem here is that the aggregations property is private and there is no getter or setter available.
https://github.com/lineupjs/lineupjs/blob/07cadb23643d0bac5d95cc955c5cfb180debc6ec/src/provider/ADataProvider.ts#L208
Hence, the only (ugly) workaround I see at the moment would be to dump the whole data provider and pick only the aggregations property from the dump.

@sgratzl Is there any alternative how we can persist and restore the aggregated groups?

Taking the aggregations map won't work, since it is designed to be column/ranking id specific. Restoring a dump will ensure that but not a new LineUp instance.

Taking the aggregations map won't work, since it is designed to be column/ranking id specific.

So the only option is that we flatten the group tree and restore the data structure?

Restoring a dump will ensure that but not a new LineUp instance.

What do you mean by "not a new LineUp instance"?

Ah, I think you posted a solution in this PR https://github.com/lineupjs/lineupjs/pull/363?

take a look at https://github.com/lineupjs/lineupjs/commit/8a4ff434ba47939d50f9facd77024ffa4054b226 for a sample store and restore of aggregation state

Thanks for the helpful Cypress test. I compiled your branch (because of the changes in ADataProvider.ts) and used the build in Ordino. I adapted our initial implementation according to your Cypress test, so that we persist the group names and retrieve the actual categories on restore. I still have two bugs that seem to be caused by LineUp and a question.
Restore missing value group
Steps to reproduce
Prerequisite: The ranking must contain some missing values.

Add group information column (to see the group name and size)
Group by a column
Collapse all groups (group names: ["female", "male", "Missing values"])
Restore all groups (group names: ["female", "male", "Missing values"])

Observed behavior
When restoring the missing value group (in the categorical column) shows the wrong category. The group name itself is correct and also the histogram in for the other categorical columns seem to be correct (or at least different).
Only when I run the grouping step again, the missing value group is displayed correctly after collapsing all groups.

My guess is that this is a bug in the renderer and not in the data provider.
Expected behavior
The label of the missing value category should be correct when restoring the groups.

Aggregate multiple levels
Beside the missing value group the persist/collapse of a single aggregation level works fine.

However, when working with two levels the aggregation of the first/highest level does not work.
Steps to reproduce

Group by gender
Group by tumor type
Collapse the female group (group names: ["female"])
Restore expanded state

Observed behavior

Restoring the highest aggregation level does not work, because the group objects cannot be found by its name.
https://github.com/lineupjs/lineupjs/blob/6985f0ef32ad081cb7873965f7548594c885ada3/cypress/integration/restore_aggregation_state.spec.ts#L58
https://github.com/lineupjs/lineupjs/blob/6985f0ef32ad081cb7873965f7548594c885ada3/cypress/integration/restore_aggregation_state.spec.ts#L64
Logging ranking.getGroups() reveals that the parent group with female is unavailable and only the subgroups like adrenal gland carcinoma ∩ female, astrocytoma/glioblastoma ∩ female, or astrocytoma/glioblastoma ∩ male are availabe. Hence, the only option is to traverse the group tree up and check the parents of all these categories.
@sgratzl Could you please extent the Cypress test with a second case that shows my use case with two aggregation levels?

How to get the previous aggregation status?
At the moment I do not know how to retrieve/calculate the inverse value for the Top N case, since the event listener provides only the current value and no previous/backup value.
https://github.com/lineupjs/lineupjs/blob/6985f0ef32ad081cb7873965f7548594c885ada3/src/provider/ADataProvider.ts#L125
https://github.com/lineupjs/lineupjs/blob/6985f0ef32ad081cb7873965f7548594c885ada3/src/provider/ADataProvider.ts#L797
Example:

aggregationStrategy: 'group+top+item'
Ranking shows top 10 for each group
Expand top 10 to show all rows for the group (e.g., {rid: 0, groups: "female", value: -1})

How do I get the inverse vaue (i.e., value: 10) in this case?

take a look at https://github.com/lineupjs/lineupjs/commit/0d931a1de0c6238eae2e4a652dc0ad68e6202c48

@sgratzl Thanks for the implementation which was again very helpful!
I found an inconcistency which requires a workaround on my side (and should be fixed in the LineUp library in my opinion).
In you latest example you store the previous and current top N values in the logs. However, you never use the previous value to restore the old values. Instead you are reseting the ranking and restoring the current values. This works fine as the test also states.
However, in my case I want to restore the previous values, which can be a number array for multiple groups. Afterwards, I cannot restore this number array together with the groups array using setTopNAggregated, because the value parameter only accepts a single number.
https://github.com/lineupjs/lineupjs/blob/0d931a1de0c6238eae2e4a652dc0ad68e6202c48/src/provider/ADataProvider.ts#L788
My current work around is that use previous[0] to get only a single number which works fine as long all groups have the same value. I think, however, that setTopNAggregated should also accept a number array for the value parameter. Could you please change this?

Could also you please have a look at the Restore missing value group bug I described above? In my tests that bug is still present. Thanks.

However, in my case I want to restore the previous values, which can be a number array for multiple groups. Afterwards, I cannot restore this number array together with the groups array using setTopNAggregated, because the value parameter only accepts a single number.

why not calling it N times instead?

why not calling it N times instead?

I tried this as well. The problem is that a lot of LineUp events are fired which I need to ignore in tdp_core and it triggers a LineUp re-rendering each group which decreases the performance drastically. Hence, applying the batch operation for multiple groups is the prefered way in my opinion.

see https://github.com/lineupjs/lineupjs/pull/364

Thanks for the continous changes and improvements!


Use path instead of absolutePath for resources

Environment
Liquibase Version: 4.5.0
Liquibase Integration & Version: CLI
Pull Request Type
[x] Bug fix (fixes #2121)
Description
When trying to read properties files from the class path, file.getAbsolutePath() is used. The result is some absolute path which won't exist in the classpath on most systems.
Steps To Reproduce
See the description in issue #2121

Dev Handoff Notes (Internal Use)
Links

Fixed Issue: https://github.com/liquibase/liquibase/issues/2121
Test Results: https://github.com/liquibase/liquibase/pull/2122/checks

Testing

Steps to Reproduce: The steps in #2121 only worked when calling the old liquibase.integration.commandline.Main class directly and not using the new LiquibaseCommandLine class. So to reproduce you'll have to tweak the liquibase.bat script to use the old classname instead.
Guidance:

Impact: Does not impact people using the new LiquibaseCommandLine class since the validation is done through different code now. The changed code is still called, even in the new code paths, but any values found are not used

Dev Verification
Verified the issue when using Main directly and that the fix addresses it.
Verified the fix does not cause issues when using LiquibaseCommandLine and that the reported issue is still working with the fix

Thanks @liefke for adding this fix.
A member of the Liquibase team will take a look at your contribution and may suggest:

Changes based on guidelines for PR submission
Additional tests (unit and/or integration) and/or Test Harness Tests
Provide other feedback, like requesting changes.

The PR will be prioritized according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.

This change is not strictly needed anymore because the logic of handling the properties files now mainly exists in the LiquibaseCommandLine class which is replacing Main. Given that you are seeing the bug, I assume you're calling Main directly, @liefke vs. using the liquibase.bat/liquibase script? I wasn't able to replicate the issue unless I was calling Main directly.
But, the change does help people that are still calling Main directly, so it's worth bringing in still. Thanks!

@nvoxland I have to admit that I'm still using a version wich has no LiquibaseCommandLine. But as the mentioned code still exists in master, I was thinking that it is better to fix it anyway.

The fix allows use of the pre-4.1.0 Liquibase main class to execute CLI commands that depend on a jar containing Liquibase configuration files. If the jar including the Liquibase configuration files is in the Liquibase classpath, you no longer get "missing required parameter" errors for properties that are correctly defined in a liquibase.properties file in the configuration jar. Note that by calling the the older version of main, you need to use the legacy-version of command and parameter names; for example, you need to use updateSQL instead of update-sql and changeLogFile instead of liquibase.command.changelogFile.
Pre-4.1.0 Main Class: liquibase.integration.commandline.Main
Current Main Class: liquibase.integration.commandline.LiquibaseCommandLine

Notes on Setup

Create a liquibase.properties file with required properties to connect to a database: url, username and password.

Include the changeLogFile property, too, despite it not being required.

Put the liquibase.properties file, the changelog file and the JDBC driver for your database in one directory.
CD to the directory and package a jar for your liquibase configuration files.
jar cvf liquibase-config.jar liquibase.properties changelog.xml driver.jar
Move liquibase-config.jar into the liquibase/lib directory.

Liquibase CLI Command Syntax
java -cp "liquibase.jar;lib/*;liquibase-config.jar" liquibase.integration.commandline.Main updateSQL

Verify updateSQL uses configuration files located in the liquibase-config.jar. PASS

There is no error about missing --url option PASS
There is no error about missing --changeLogFile option PASS
SQL is generated for the undeployed changesets in the changelog PASS

Verify update uses configuration files located in the liquibase-config.jar. PASS

There is no error about missing --url option PASS
There is no error about missing --changeLogFile option PASS
Objects are created in the database PASS

Test Environment
Liquibase Core: issue-2121/1123/89513b/2022-01-05 21:13+0000, Pro: master/367/8a810b/
Postgres 12
Windows 10
Passing Functional Tests


[Bug report] [UI]Click table in the navigation, pop Application error

Describe what's wrong

Error message and/or stacktrace
NA
How to reproduce
1.latest gravitino version
2.click table item in the navigation
Additional context
No response

define @import rules at the top of the stylesheet this error generated by the browser, the style rules generated by next.js framework, and its not effect the web application, so we just ignore it.


Upgrade Kundera-OracleNoSQL to support  3.2.5

Currently Kundera is supporting OracleNoSQL 3.0.5. Need to upgrade it to support more features like Schema Generation, etc.

Fix released with Kundera-3.2.


fix: synchronize Plan struct with Casdoor's, fix issue #131

I have tested the codes in my project.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


ESLint No config file found should offer to disable ESLint for that workspace or to run eslint --init.

I think it could be interesting to see what the TSLint extension does in this regard, to provide some kind of consistency, since TSLint and ESLint are somewhat very similar.
imho, I prefer having no ESLint warning at all if it doesn't find an .eslintrc, but being able to create one if I search for the related command.

With the latest update you get a status bar item now which informs you about problems. I also talked to the tslint dev and they will adopt this approach.

I still want to disable the eslint on the workspace as soon as we have extension API to write settings.

I added two commands to enable and disable ESLint. These will only be available if a workspace folder is open since changing a global setting can be very confusing.


Error when installing the APK INSTALL_PARSE_FAILED_NO_CERTIFICATES

I've tested this with https://apkcombo.com/maersk/com.maersk.trackandtrace.maerskline/download/apk and then 8.0.6 (XAPK).
Command ran:
./xapk-to-apk-development/xapktoapk.py Maersk_8.0.6_apkcombo.com.xapk

I then dragged the APK to my emulator and got this error:

The APK failed to install.
Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl417402875.tmp/base.apk: Attempt to get length of null array

Whoops. I didn't read in the readme that this didn't sign by default. This helped get at least get rid of this specific error.
jarsigner -verbose -keystore ~/.android/debug.keystore Maersk_8.0.6_apkcombo.com.apk androiddebugkey -storepass "android" -keypass "android"


[DEVOPS] Fix : Architecture

Modify architecture to the root folder

Finally, we don't change architecture.


updated with troubleshooting

added section troubleshooting

added tcp layer check
added ssl/tls steps

Useful, but too much bloat for install docs. Create a medium article or something similar we could link to in the docs


Keep promises from evaluating early

The following
prom1 :: forall r. Promise (console :: CONSOLE | r) Unit
prom1 = Console.log "premature evaluation"

prom2 :: forall r. Promise (console :: CONSOLE | r) Unit
prom2 = Console.log "I get evaluated from main"

main :: forall r. Eff (console :: CONSOLE | r) Unit
main = runPromise (\_ -> log "success callback") (\_ -> error "error callback") prom2

will print
I get evaluated from main
premature evaluation
success callback

to the console.

I'm not sure if there's any way of addressing this without following the aff-promise approach of using Eff wherever you are creating a Promise; this also means that you can't give Promise a Monad instance, since the type of then would have to become something like Promise a -> (a -> Eff eff (Promise a)) -> Eff eff (Promise a), which of course no longer matches the type of bind. I think, unfortunately, this library is likely to lead beginners astray as it is now; it's probably worth considering pointing them towards aff instead, and also aff-promise if interop is needed, at least until this issue has been addressed.

I solved it by adding a Deferred constraint, and allowing it to be discharged only when using runPromise to run it in Eff.


Visualizations in grafana end up hitting max buckets but the same visualization in kibana works fine

What happened:
We've been working through the max bucket error in grafana with an opensearch datasource. Initially I thought the issue was with opensearch however we have bumped that max bucket limit to 65536 and we are still mostly seeing this error (some aggregations now work but most hit this limit and error). To compare I recreated the same simple visualization in kibana (or whatever the equivalent is called for opensearch) and I don't get any errors and it generates the visualization quickly. I suspect that the opensearch plugin is doing something differently than kibana that is causing it to hit this limit even with a high setting for the limit.

What you expected to happen:
visualizations to work without hitting max buckets
How to reproduce it (as minimally and precisely as possible):
Create a simple aggregation in grafana using an opensearch datasource
Anything else we need to know?:
Environment:

Grafana version: Grafana v11.2.0-73451
OpenSearch version: AWS 2.13
Plugin version: 2.17.1

Hi @rkarthikr, I tried running the query as shown in your screenshot but wasn't able to reproduce an error. Can you show what is in the query object by clicking on the Query Inspector and clicking on the Query tab in the inspector. The query will be listed in data.queries.

{
  "traceId": "50384ed94095e8fe6eedfee4c020957a",
  "request": {
    "url": "api/ds/query?ds_type=grafana-opensearch-datasource&requestId=explore_o6v",
    "method": "POST",
    "data": {
      "queries": [
        {
          "refId": "A",
          "datasource": {
            "type": "grafana-opensearch-datasource",
            "uid": "ads67lnsevj0gd"
          },
          "query": "*",
          "queryType": "lucene",
          "alias": "",
          "metrics": [
            {
              "type": "count",
              "id": "1"
            }
          ],
          "bucketAggs": [
            {
              "type": "date_histogram",
              "id": "2",
              "settings": {
                "interval": "auto"
              },
              "field": "startTime"
            }
          ],
          "format": "table",
          "timeField": "startTime",
          "luceneQueryType": "Traces",
          "datasourceId": 12,
          "intervalMs": 60000,
          "maxDataPoints": 1515
        }
      ],
      "from": "1722177213354",
      "to": "1722180813354"
    },
    "hideFromInspector": false
  },
  "response": {
    "message": "An error occurred within the plugin",
    "messageId": "plugin.downstreamError",
    "statusCode": 500,
    "traceID": "50384ed94095e8fe6eedfee4c020957a"
  }
}

@kevinwcyu - Any updates on this ?

Hi @rkarthikr ! I've been investigating this. I haven't been able to reproduce it, but I have found some differences between the query that the opensearch dashboard runs and the one we create, and I've been looking into it

I will reach out to you in Grafana Community Slack.

Hi @rkarthikr! You mention that you're getting max_buckets for this query, but I only see the plugin.downstreamError error. How did you discover this is a max buckets error and not an error in the plugin code? Thanks!

Saw the error in the OpenSearch Logs. I tried increasing the max buckets config on OpenSearch end and i no longer get this error. But still get the plugin.downstreamError error with no additional details on error
Please let me know . happy to walk you through the demo env to see if you can use it to collect data for troubleshooting further

Hi @rkarthikr,
it would be super helpful to get a step by step on how to set up a similar environment, since it seems like our backend might be running into errors with the data itself. Thanks a lot!

Demo Application - https://github.com/open-telemetry/opentelemetry-demo/tree/main/kubernetes. Deployed the application listed here in to an EKS Cluster
Updated OTEL Config to send traces to OpenSearch
Setup  OpenSearch Datasource in Grafana
Using Data Source Explorer - Explore Trace data for > 5 min and see error

Did see the same error while trying to explore data for my new project (local docker setup). (opensearchproject/opensearch:2 & grafana/grafana:11.1.4)
Only a few 100 messages produced the max buckets

Hi @rkarthikr, Could you share the visualization from the OpenSearch Dashboard (Kibana) that works? With the demo application, I still haven't been able to get an error related to the max bucket limit, but do get the same error shown in the screenshot in the description when I perform a trace query.
I think the plugin.downstreamError error might potentially be fixed by https://github.com/grafana/opensearch-datasource/pull/445, while we still have to try to figure out what is causing the max bucket error.

Could it be the interval setting? I'm getting the same error sometimes (also with AWS OpenSearch) when setting the interval to auto but when I set it manually to a bigger number it works fine.
I can also see visually that the interval behavior is a bit different between Grafana and Kibana.

Could it be the interval setting? I'm getting the same error sometimes (also with AWS OpenSearch) when setting the interval to auto but when I set it manually to a bigger number it works fine. I can also see visually that the interval behavior is a bit different between Grafana and Kibana.

Hi @yotamN, There isn't an option to set the interval for Traces queries so I just wanted to clarify whether you are running a Traces query as shown in the issue description or aMetric query?

Could it be the interval setting? I'm getting the same error sometimes (also with AWS OpenSearch) when setting the interval to auto but when I set it manually to a bigger number it works fine. I can also see visually that the interval behavior is a bit different between Grafana and Kibana.

Hi @yotamN, There isn't an option to set the interval for Traces queries so I just wanted to clarify whether you are running a Traces query as shown in the issue description or aMetric query?

On a second look I think I was wrong a bit in my error description, please tell me if it's relevant since I still get the same error in OpenSearch logs.
I set the interval to a constant number (since there isn't a way to set a minimum interval instead) and when I set a big range I get this error since there are too many buckets.

Hi @yotamN, we've seen the max bucket error for Metric queries in the past and we usually recommend adjusting the search.max_buckets setting in OpenSearch, but adjusting the interval is another way of tweaking the query to avoid hitting the error as well.
Since you mentioned you were setting the interval I just wanted to clarify if you were running a Metric query or a Traces query (like the one shown in the original issue description) because we haven't been able to reproduce the max bucket error for Traces queries yet. If it was a Traces query it would be good to get an example query to help us reproduce it.


Mismatched begin end in VS Code .al file

Please see attached. Notice that the end has been matched to the wrong begin. It belongs with the begin at the top of the picture. Not sure if this is an AL extension bug or a VS Code bug? Threw me for a bit and had me scattering begins and ends around the code.

Hi! This is a new feature in VSCode 1.40 . We will investigate to see where this is coming from.

Update: case statements are part of the problem. VS Code doesn't see an end as belonging to a case statement.

I also provided a screenshot of the mismatch in #4449 (mismatch happens on "else if")


Make SegmentDirectoryLoader package urls configurable

To allow users to place SegmentDirectoryLoader impls in their custom packages, ad not be tied to "org.apache.pinot.segment"

Codecov Report

Merging #7967 (0ff1017) into master (99762cb) will decrease coverage by 43.60%.
The diff coverage is 15.00%.

@@              Coverage Diff              @@
##             master    #7967       +/-   ##
=============================================
- Coverage     71.34%   27.74%   -43.61%
=============================================
  Files          1595     1586        -9
  Lines         82568    82235      -333
  Branches      12320    12283       -37
=============================================
- Hits          58906    22812    -36094
- Misses        19678    57327    +37649
+ Partials       3984     2096     -1888

Flag
Coverage Δ

integration1
?

integration2
27.74% <15.00%> (+0.14%)
:arrow_up:

unittests1
?

unittests2
?

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

Impacted Files
Coverage Δ

...ent/spi/loader/SegmentDirectoryLoaderRegistry.java
0.00% <0.00%> (-70.38%)
:arrow_down:

...va/org/apache/pinot/spi/utils/CommonConstants.java
0.00% <ø> (-23.64%)
:arrow_down:

.../pinot/server/starter/helix/BaseServerStarter.java
50.13% <100.00%> (-5.48%)
:arrow_down:

.../java/org/apache/pinot/spi/utils/BooleanUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...va/org/apache/pinot/spi/utils/BigDecimalUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/spi/config/table/TableType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../org/apache/pinot/spi/data/DimensionFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1144 more

Continue to review full report at Codecov.

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

On second thought, this change is tightly coupling the init of registry with pinot-server startup. This is breaking

some places such as segment build, which are using the SegmentDirectoryLoaderRegistry agnostic to server startup
a whole bunch of tests which are using the registry/building segments and not worrying about registry init.
As such I'm thinking of skipping this change, and external SegmentDirectoryLoader registrations can happen via "setSegmentDirectoryLoader" method.
Thoughts? cc @klsince since you're touching these methods lately

yeah, I feel setSegmentDirectoryLoader should be enough for now.

looks good. can you add a test for the loader init method?

added


How can I acess the authnotifer outside of an widget e.g in an StateNotifierProvider?

How can I acess the AuthNotifer outside of an widget e.g in an StateNotifierProvider?
Thank you for your help!

Well, if you want to do that, create your own instance of AuthNotifier and provide it via your own provider instead.
I'm using inherited widget to provide instance of AuthNotifier so instead you can create your own instance of AuthNotifier and provide it. It's just a ChangeNotifier so it works.


Incorrect link to telescope github in readme

The correct link is: https://github.com/nvim-telescope/telescope.nvim

Thank you, it should be fixed now.


Zulrah Location incorrect

When zulrah goes from start green phase to green phase, the location should be bottom right as he throws out venom clouds. I believe the location is set to top left. See screenshot

I don't know what you are referencing but that location is right.

My apologies, I have rewatched a couple guides thinking I was going insane. Appreciate the response.


eager loading with default scopes

I'm seeing this behavior in mongoid 3 when using eager loading with default scopes.  I'm not sure if it's a bug or by design.
Simple example:
class Person
  include Mongoid::Document
  field :name
  has_many :hobbies
end

class Hobby
  include Mongoid::Document
  field :name
  field :status
  belongs_to :person
  default_scope where(:status.ne => 'deleted')
end

After creating a person and two hobbies, one of them with status = 'deleted', person = Person.includes(:hobbies).first correctly performs the eager load query (including the default scope), but then person.hobbies hits the database again.  Removing the default scope causes it to work as expected.

Can you test this on latest Mongoid 4+ (or master)?
thanks


Increase internal socket timeout to 60s

We've seen many timeout exceptions in build cache, let's try
to increase the timeout.

@bot-gradle test and merge

OK, I've already triggered a build for you.


get all integration tests to pass

goal: get all integration tests to pass green
steps:

[ ] % ./bin/wasabi.sh start test stop

goal: get all integration tests to pass green
steps: % ./bin/wasabi.sh start test stop

Was this achieved in #58 ?

As of https://github.com/intuit/wasabi/pull/78#issuecomment-246445164 I consider this solved.


Create a webhook from this repo to discord

Connect this repo to the dedicated metaversedev channel in the AngellXR discord.

Created using this guide: https://gist.github.com/jagrosh/5b1761213e33fc5b54ec7f6379034a22

test

Confirmed it works!


Support OData Edm.Stream

Metadata can expose some property as stream. Imagine PDF file, images or even video files. Python core 'io' module seems like good place to start, especially when working with service returning large files.
odata spec:
https://www.odata.org/blog/enhancing-odata-support-for-streams/
code reference point:
https://github.com/SAP/python-pyodata/blob/3975ed5365b55936872d8e6722545fdf2c481e80/pyodata/v2/service.py#L142
Quick fix for small files seems to be the PR #145 (sample metadata or network log was not provided, so just guessing). But when tried to write the test by myself for this PR and investigated possible usage scenario, found that the problem is bigger.

Is there currently a workaround such that it is possible to load only the parts of the schema that does not include Edm.Stream?


Problem with network addresses in descriptions and comments

Hey guys,
While using Kanboard at our institution, we've noticed that when pasting network addresses in the form
\\monaco\Producao_de_Materiais\_DESIGN\Site\Cead\Banner_Portal\2014\Dia_Namorados
kanboard automatically replaces some of the backward slashes resulting in this:
\monaco\Producao_de_Materiais_DESIGN\Site\Cead\Banner_Portal\2014\Dia_Namorados
and we are forced to use the backward accent (`) all the time to avoid losing characters.
Is this an expected behaviour or a bug?

Markdown escaping.. see this example of the Markdown parser used by Kanboard: http://parsedown.org/tests/escaping/

Hey Fred,
So there's no way around, as far as I can see... We'll keep on using the backtick '`' then.
Thank you


DSP craft is missing from quest 625d700cc48e6c62a440fab5 Getting acquainted

Was removed as part of terragroup questline

Originally written by chomp

Fixed with: https://dev.sp-tarkov.com/SPT-AKI/Server/commit/82cf592a97bab19d29026f156c8304236cf34fdd

Originally written by chomp


npm commands

Add npm commands to start up server.
In package.json add the npm start command which will start your node server

done


Adding user to role is not working as expected

Adding a user to a role does not create an entry for AspNetUserRoles.

That's by design. It adds a role claim to the user.

But how than handle [Authorize(Roles="Admin")] attribute for MVC/WebApi controller? Does it check for role claims as well?

This is up to how you configure your ClaimsIdentity class in your code.

What about the scenario where one might want to find users based on Role?
Without the entries in the AspNetUserRoles table you can't find users in a specific role using the RoleManager.FindByNameAsync. The only option in this case is to iterate over every user and perform a claim check. (Unless I'm missing something?)

And what about finding users by email domain, and finding users by airline status level. These are all application level requirements. If you need those specialized queries, then sure -- you do need some sort of additional lookup mechanism. It's just unnecessary to build the roles mechanism the way the ASP.NET team did with ASP.NET Identity. If it does 100% of what you need, then great. But we're not catering to that customization.
Now, having said all of that -- I'm happy to add a flag or virtual or something that allows merging of the two. If you guys can think of a nice generalized approach then I'm all ears.

I'll take a climb into the code that sets roles as claims and wrap my head
around it and then get back to you.
Agreed this is an application specific requirement but I think Identity
manger should optionally support writing to the AspNetUserRoles table in
addition to the the AspNetUserClaims table
On 21 September 2015 at 11:30, Brock Allen<EMAIL_ADDRESS>wrote:

And what about finding users by email domain, and finding users by airline
status level. These are all application level requirements. If you need
those specialized queries, then sure -- you do need some sort of additional
lookup mechanism. It's just unnecessary to build the roles mechanism the
way the ASP.NET team did with ASP.NET Identity. If it does 100% of what
you need, then great. But we're not catering to that customization.
Now, having said all of that -- I'm happy to add a flag or virtual or
something that allows merging of the two. If you guys can think of a nice
generalized approach then I'm all ears.
—
Reply to this email directly or view it on GitHub
https://github.com/IdentityManager/IdentityManager.AspNetIdentity/issues/21#issuecomment-141845010
.

Ok, keep me posted.

I think the source of confusion on my side was caused by the expectation that the IdentityManager is 100% compatible to the original AspNet Identiy approach. But I think your implementation of the IdentityManager is not because the AspNet Identity role management api is not working any more. AspNet Identity is a framework, as IdentityManager is, which developer can use without thinking about the implementation. Here is my approach to make it compatible again. It’s probably not the best solution but its working for me.
public class ApplicationIdentityManagerService :
AspNetIdentityManagerService<ApplicationUser, string, Role, string>
{
    public ApplicationIdentityManagerService(ApplicationUserManager userMgr, ApplicationRoleManager roleMgr)
        : base(userMgr, roleMgr)
    {
    }
    public override async Task<IdentityManagerResult> AddUserClaimAsync(string subject, string type, string value)
    {
        var result = await base.AddUserClaimAsync(subject, type, value);
        if (!result.IsSuccess)
        {
            return new IdentityManagerResult<CreateResult>(result.Errors.ToArray());
        }
        if (type == RoleClaimType)
        {
            var key = ConvertUserSubjectToKey(subject);
            var status = await this.userManager.AddToRoleAsync(key, value);
            if (!status.Succeeded)
            {
                return new IdentityManagerResult<CreateResult>(result.Errors.ToArray());
            }
        }

        return IdentityManagerResult.Success;
    }

    public override async Task<IdentityManagerResult> RemoveUserClaimAsync(string subject, string type, string value)
    {
        var result = await base.RemoveUserClaimAsync(subject, type, value);
        if (!result.IsSuccess)
        {
            return new IdentityManagerResult<CreateResult>(result.Errors.ToArray());
        }
        if (type == RoleClaimType)
        {
            var key = ConvertUserSubjectToKey(subject);
            var status = await this.userManager.RemoveFromRoleAsync(key, value);
            if (!status.Succeeded)
            {
                return new IdentityManagerResult<CreateResult>(result.Errors.ToArray());
            }
        }

        return IdentityManagerResult.Success;
    }
}

Hi Brock,
it seem that this thread has been removed from GitHub….?
What was wrong with it?. Please explain.
Andreas
Von: Brock Allen<EMAIL_ADDRESS>Gesendet: Montag, 21. September 2015 02:08
An: IdentityManager/IdentityManager.AspNetIdentity<EMAIL_ADDRESS>Cc: Andreas Kuhlmann<EMAIL_ADDRESS>Betreff: Re: [IdentityManager.AspNetIdentity] Adding user to role is not working as expected (#21)
Ok, keep me posted.
—
Reply to this email directly or view it on GitHub https://github.com/IdentityManager/IdentityManager.AspNetIdentity/issues/21#issuecomment-141846675 .  https://github.com/notifications/beacon/AEbVBD6wG3q0VeSwTiiS0ILjEE7v7anvks5oz0H3gaJpZM4Fqzye.gif

Hi Brock,
it seems that this thread has been removed from the issue list on GitHub…?
https://github.com/IdentityManager/IdentityManager.AspNetIdentity/issues/21
what was wrong with it? Please explain.
Andreas
Von: Brock Allen<EMAIL_ADDRESS>Gesendet: Montag, 21. September 2015 02:08
An: IdentityManager/IdentityManager.AspNetIdentity<EMAIL_ADDRESS>Cc: Andreas Kuhlmann<EMAIL_ADDRESS>Betreff: Re: [IdentityManager.AspNetIdentity] Adding user to role is not working as expected (#21)
Ok, keep me posted.
—
Reply to this email directly or view it on GitHub https://github.com/IdentityManager/IdentityManager.AspNetIdentity/issues/21#issuecomment-141846675 .  https://github.com/notifications/beacon/AEbVBD6wG3q0VeSwTiiS0ILjEE7v7anvks5oz0H3gaJpZM4Fqzye.gif

I don't understand or follow the question....

Maybe I am stupid, but I only see three issues in the list...?

This issue is the middle one.

I was under the same assumption @brockallen! That IdentityManager was compatible with the AspNet Identity approach.
E.g. that 'we' could still use familiar and well documented stuff such as [Authorize(Roles="Admin")] as annotation on an action method and User.IsInRole("Admin)) in logic.
But luckily there is this issue already. Your two overrides methods worked great for me @Avareto. They sync up the AspNetUserRoles table with the assigned claims (AspNetUserClaims).
Note to others who adopt this:

You have to redo any roles you assigned in the IdentityManager before adding this.
You get some (neat) red error messages when deleting roles that only had a claim and not a UserRole yet, but after that everything works fine.

Are you going to add this in to the release ?
The Project name is IdentityManager.AspNetIdentity so you have to insert the role in UserRoles table.
I use claims but I have some cases in I dentity server I need to check the role before assigning the role claims. UserManager just check this table. so it should be compatible by Asp.net Identity

If you don't want to touch the identitymanager code you can implement it in you custom user manager class like this:
public class CustomContext : IdentityDbContext<CustomUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim>
{
public override async Task AddClaimAsync(int userId, Claim claim)
{
var result = await base.AddClaimAsync(userId, claim);
if (claim.Type == "role")
{
var addRoleResult = await this.AddToRoleAsync(userId, claim.Value);
}
return result;
    }

    public override async Task<IdentityResult> RemoveClaimAsync(int userId, Claim claim)
    {
        var result = await base.RemoveClaimAsync(userId, claim);
        if (claim.Type == "role")
        {
            var removeRoleResult = await this.RemoveFromRoleAsync(userId, claim.Value);
        }
        return result;
    }
}

I understand @brockallen point of view that it is unnecessary to build the roles mechanism the way the ASP.NET team did with ASP.NET Identity. But unfortunately they did things the way they did them. And if someone is looking for a way to use it as it is you can change code that looks like this
@if(Request.IsAuthenticated && User.IsInRole("admin") )
{

        @Html.ActionLink("Create New", "Create")

}

to this
@if(Request.IsAuthenticated && ((System.Security.Claims.ClaimsIdentity)User.Identity).HasClaim("role", "admin"))
{

        @Html.ActionLink("Create New", "Create")

}

and that should work as before.
Although kudos to @Avareto quick fix on the ApplicationIdentityManagerService class that manages to make this whole thing work with the usual ASP.NET Identity approach.

@Avareto Thanks for the guidance and sample code. With your implementation it seems that both a AspNetUserRoles record and a AspNetUserClaims record are being added. Here's an implementation of ApplicationIdentityManagerService that converts the role claims to/from AspNetUserRoles and avoids adding the role claim to the database. Note the override of GetUserAsync that adds corresponding role claims to the UserDetail.Claims -- this allows IdentityManager to think of everything as claims while preserving Asp.Net Identity's standard treatment of roles.
public class ApplicationIdentityManagerService : AspNetIdentityManagerService<ApplicationUser, string, IdentityRole, string>
{
    public ApplicationIdentityManagerService(ApplicationUserManager userMgr, ApplicationRoleManager roleMgr)
        : base(userMgr, roleMgr)
    {
        RoleClaimType = ClaimTypes.Role;
    }

    public override async Task<IdentityManagerResult<UserDetail>> GetUserAsync(string subject)
    {
        var user = await base.GetUserAsync(subject);
        var roles = await userManager.GetRolesAsync(subject);
        var claims = user.Result.Claims.ToList();
        claims.AddRange(roles.Select(role => new ClaimValue() { Type = RoleClaimType, Value = role }));
        user.Result.Claims = claims;
        return user;
    }

    public override async Task<IdentityManagerResult> AddUserClaimAsync(string subject, string type, string value)
    {
        if (type == RoleClaimType)
        {
            var status = await userManager.AddToRoleAsync(ConvertUserSubjectToKey(subject), value);
            return status.Succeeded
                ? IdentityManagerResult.Success
                : new IdentityManagerResult<CreateResult>(status.Errors.ToArray());
        }

        return await base.AddUserClaimAsync(subject, type, value);
    }

    public override async Task<IdentityManagerResult> RemoveUserClaimAsync(string subject, string type, string value)
    {
        if (type == RoleClaimType)
        {
            var status = await userManager.RemoveFromRoleAsync(ConvertUserSubjectToKey(subject), value);
            return status.Succeeded
                ? IdentityManagerResult.Success
                : new IdentityManagerResult<CreateResult>(status.Errors.ToArray());
        }

        return await base.RemoveUserClaimAsync(subject, type, value);
    }
}

Relevant blog post for this thread: https://leastprivilege.com/2016/08/21/why-does-my-authorize-attribute-not-work/

@brockallen I agree with you re: Asp.Net Identity's funky/legacy/snowflake treatment of roles. And I agree that claims checks are in general the better way to approach things.
I can also see how it would be reasonable for people to assume that if IdentityServer/IdentityManager are billed as having first-class support of Asp.Net Identity then they also support its treatment of roles, warts and all. I also think that it might send a mixed message to have given Role management first-class treatment in the IDM UI/API and to have made the User/Role/Claim management appear to align so precisely with ASP.Net Identity's model when it ultimately breaks that model in a fundamental way. To put it another way, if we shouldn't be using roles, then IDM maybe ought not to present itself as supporting them.
I say all this with a ton of respect for the work that y'all have done for the community and with great appreciation for the value of these libraries and the time/effort/pain they've saved me.  And I buy that message! I think this particular issue is just an illustration of a pain point for folks (like me) who are trying to do the right thing while also trying to figure out exactly what the 'right thing' is. :)

I'd prefer to help educate people on how things work, and then they can decide for themselves which approach to take. I really dislike the typical Microsoft mentality of hiding the details and obscuring how things work with the goal of making it easier. It eventually becomes magic, and that's an awful foundation for your security architecture. I'm all for abstractions and helper libraries, but it does not excuse the need to understand how they work.
As for IDM specifically, it supports the role manager's list of roles as a convenience for populating the UI, as that's fundamentally all the role manager is good for. It's also configurable such that you can disable it. So in short, yes, I hear what you're saying but my opinion on what the ASP.NET Identity's features really are might be different than others.

Agreed all around, particularly with regard to education and magic.

As for IDM specifically, it supports the role manager's list of roles as a convenience for populating the UI, as that's fundamentally all the role manager is good for.

That makes sense now. This feels like a documentation / expectations management issue. I'm not aware of anything in the IDM or docs that make it explictly clear how roles are used (and not used), and as a result I -- and I imagine the folks upthread -- expected it to work in the normal Asp.Net way. It might be reasonable to spell this out on the IDM page where roles are assigned to users. Would you consider a PR to that effect?

Fair enough. The above blog post was necessary because people are still confused even today despite claims being added in .NET framework 4.5 in 2012.

i need full authentication for MVC Core 2.x please ?

i m 0 and i love MVC Core 2.x please any link of pdf or video i m 0 and want to be developer


When update the users related to the groups, its redirected to the general section in the edit group interface

Is your feature request related to a problem? Please describe.
Currently in the edit groups interface, when we update the users related to the group, its redirected to the general section of the interface.
Describe the solution you would prefer
Since this process breaks the user flow, because they expect to stay in the users section, ideally to confirm whether the intended change has happened, they instead redirected to the general section, and they have to click again on the users tab to view the details have been updated.
Additional context
https://github.com/wso2/product-is/assets/55197812/e81a0e06-9e20-4566-b434-d35c73cdacdc
Related Issues:

#17322

This is fixed in the roles interface section. Developer who gets assigned for this issue can view those files to get an idea on how to approach this issue.
https://github.com/wso2/identity-apps/blob/86af656e628d644f0c870c24d10f0a16aae98c8b/apps/console/src/features/roles/pages/role-edit.tsx#L54

Verified in latest build:
group-users.webm


Broken counting of minutes to read when big base64 image on page

Issue Summary
I don't know how but on some of our pages was appear a several of images in base64 form:
<img src="data:image/jpeg;base64 ......" alt="" />
If image will be large enough (in our case it was just 2 images about 7Mb) then ghost can be completelly broken becouse it crash when try to count images for counting of minutes to read.
For now ghost tries to do it with this regex: html.match(/<img(.|\n)*?>/g)
Maybe this bug is related: #13278
Steps to Reproduce

Add big base64 <img> as raw html
Publish article
Open main page or article.

Ghost Version
5.49.3
Node.js Version
v16.20.0
How did you install Ghost?
docker ghost:5.49.3-alpine
Database type
MySQL 8
Browser & OS version
No response
Relevant log / error output
RangeError: Maximum call stack size exceeded

at module.exports.prepareError (/var/lib/ghost/versions/5.49.3/node_modules/@tryghost/mw-error-handler/lib/mw-error-handler.js:92:19)
at String.match (<anonymous>)
at countImages (/var/lib/ghost/versions/5.49.3/node_modules/@tryghost/helpers/cjs/helpers.js:3593:18)
at readingMinutes (/var/lib/ghost/versions/5.49.3/node_modules/@tryghost/helpers/cjs/helpers.js:3623:22)
at Object.module.exports.forPost (/var/lib/ghost/versions/5.49.3/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js:72:34)
at Object.module.exports [as posts] (/var/lib/ghost/versions/5.49.3/core/server/api/endpoints/utils/serializers/output/mappers/posts.js:35:16)
at Object.all (/var/lib/ghost/versions/5.49.3/core/server/api/endpoints/utils/serializers/output/posts.js:50:34)
at async sequence (/var/lib/ghost/versions/5.49.3/node_modules/@tryghost/promise/lib/sequence.js:16:22)

Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Hey there, thank you so much for the detailed bug report.
That does look like something that shouldn't happen! A PR to fix this issue would be very welcome 🙂

@daniellockyer @Dmitry-Lisichkin Hi, I would like to work on this issue but I can't reproduce this bug on my local environment. What I did: created a new post, added a few pictures varying from 200Kb to 3Mb, format in png and jpeg, including dragging directly from Photos, and clicking on the plus icon when editing the post. The post preview at http://localhost:2368/ghost/#/editor/post/[postid] and the actual post at  http://localhost:2368/coming-soon/ do not have any  in base64 form.

@luuu-xu Hey!. As i sayd I don't know how we had image in base64 form so on local environment I just add it as raw html block.
For convert bigger files you can use cli tools or converters based on javascript that run in browser (for example: https://stackoverflow.com/questions/17710147/image-convert-to-base64)
I'm not a javascript developer and have no much time but it seams that problem is only about regular expression, we do not need match group if we need only image count so this regular could be simplified to this: /<img[^>]*>/ (not checked that it works).

I think that I create issue on wrong repository. Related code placed in TryGhost/SDK https://github.com/TryGhost/SDK/blob/60ab3c7b73d1d7d92987b7eb3d8e73f920dd6800/packages/helpers/lib/utils/count-images.js#L15

@luuu-xu I think that problem is about match group in regex so insted of several images use only one but with bigger size. In this case base64 in not need to be valid so just copypaste value in one src several times.


Add sanity Product V2 to runs

Questions
Answers

Description?
Add sanity Product V2 to runs

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
no

Sponsor company
PrestaShop

How to test?
N/A

Thanks @boubkerbribri


[FATAL:flutter/shell/platform/android/platform_view_android.cc(114)] Check failed: android_context_->IsValid(). Could not create surface from invalid Android context.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
The crashes occurrence  about 200 times per day. According to logs, it happens when construct FlutterEngine.
flutter version: 3.7.5

Expected results
no crash
Actual results

Code sample
 val flutterEngine = FlutterEngine(appContext, null, false).apply {
            plugins.removeAll()
        }
        flutterEngine.getNavigationChannel().setInitialRoute(skylinf)
        flutterEngine.dartExecutor.executeDartEntrypoint(
                DartExecutor.DartEntrypoint.createDefault()
       )

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
[FATAL:flutter/shell/platform/android/platform_view_android.cc(114)] Check failed: android_context_->IsValid(). Could not create surface from invalid Android context.
backtrace:
  #00  pc 0x000000000008cc74  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
  #01  pc 0x0000000000322f14  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #02  pc 0x000000000034bf58  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #03  pc 0x0000000000335880  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #04  pc 0x000000000032decc  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #05  pc 0x00000000005af6d8  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #06  pc 0x00000000005aec40  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #07  pc 0x00000000005ae2f0  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #08  pc 0x0000000000336f70  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/lib/arm64/libflutter.so (BuildId: 028a6106106c47417a30c3938d08947a1e8ed0ef)
  #09  pc 0x00000000007e38d0  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/oat/arm64/base.odex (art_jni_trampoline+128)
  #10  pc 0x00000000022b8ea4  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/oat/arm64/base.odex (io.flutter.embedding.engine.FlutterJNI.performNativeAttach+52)
  #11  pc 0x00000000022b7da8  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/oat/arm64/base.odex (io.flutter.embedding.engine.FlutterJNI.attachToNative+152)
  #12  pc 0x00000000009a4150  /data/app/~~bJcSlGkrhtKuuvBKJZ_-EQ==/com.binance.dev-oWo875fNX5HEFr-MXKMRtg==/oat/arm64/base.odex (io.flutter.embedding.engine.FlutterEngine.<init>+5056)

Flutter Doctor output
[!] Flutter (Channel unknown, 3.7.5, on macOS 13.5.2 22G91 darwin-arm64, locale zh-Hans-CN)
! Flutter version 3.7.5 on channel unknown at /Users/user/.flutter_wrapper/3.7.5
Currently on an unknown channel. Run flutter channel to switch to an official channel.
If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
! Unknown upstream repository.
Reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
• Framework revision c07f788888 (9 months ago), 2023-02-22 17:52:33 -0600
• Engine revision 0f359063c4
• Dart version 2.19.2
• DevTools version 2.20.1
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

@yann-q-20230331
The flutter version you are on, is old. Current is 3.16. I suggest you to upgrade to latest and run your scenario again to check if you still get the same crash or not. That way, we can properly address the issue.

@yann-q-20230331 The flutter version you are on, is old. Current is 3.16. I suggest you to upgrade to latest and run your scenario again to check if you still get the same crash or not. That way, we can properly address the issue.

Thanks for your reply, i will try and confirm later.

@darshankawar  we can't upload flutter version quickly because of many compline pub upgrade. So we'd like to find a way to work for this crash. I  look up flutter engine(https://github.com/flutter/engine) code in branch flutter-3.7-candidate.5. I find these code.Maybe this crash happens in 114 row

I address this logic why function android_context_->IsValid() is false. I find in class AndroidContext or AndroidContextGLImpeller class, isValid() function always return true, so the only reason is in AndroidContextGLSkia class

in android_context_gl_skia.cc, i find these codes.
bool AndroidContextGLSkia::IsValid() const {
return valid_;
}
AndroidContextGLSkia::AndroidContextGLSkia(
AndroidRenderingAPI rendering_api,
fml::RefPtr environment,
const TaskRunners& task_runners,
uint8_t msaa_samples)
: AndroidContext(AndroidRenderingAPI::kOpenGLES),
environment_(std::move(environment)),
config_(nullptr),
task_runners_(task_runners) {
if (!environment_->IsValid()) {
FML_LOG(ERROR) << "Could not create an Android GL environment.";
return;
}
bool success = false;
// Choose a valid configuration.
std::tie(success, config_) =
ChooseEGLConfiguration(environment_->Display(), msaa_samples);
if (!success) {
FML_LOG(ERROR) << "Could not choose an EGL configuration.";
LogLastEGLError();
return;
}
// Create a context for the configuration.
std::tie(success, context_) =
CreateContext(environment_->Display(), config_, EGL_NO_CONTEXT);
if (!success) {
FML_LOG(ERROR) << "Could not create an EGL context";
LogLastEGLError();
return;
}
std::tie(success, resource_context_) =
CreateContext(environment_->Display(), config_, context_);
if (!success) {
FML_LOG(ERROR) << "Could not create an EGL resource context";
LogLastEGLError();
return;
}
// All done!
valid_ = true;
}
So maybe run code in function AndroidContextGLSkia construct something wrong, it leads valid_ is still wrong. i have no idea. can you give me some advice. look forward to your replay. thanks. @darshankawar

Thanks for the update @yann-q-20230331
If you could provide us a minimal reproducible code sample that we can directly use and run that shows the reported error, would be helpful to properly address the issue. You may also create a sample repo that we can clone.

fun createNewEngine(appContext: Context) : FlutterEngine {
val flutterEngine = FlutterEngine(appContext, null, false).apply {
plugins.removeAll()
}
flutterEngine.getNavigationChannel().setInitialRoute(skylinf)
flutterEngine.dartExecutor.executeDartEntrypoint(
DartExecutor.DartEntrypoint.createDefault()
)
flutterEngine.plugins.add(SharedPreferencesPlugin())
flutterEngine.plugins.add(DeviceInfoPlugin())
// Cache the FlutterEngine to be used by FlutterActivity.
return flutterEngine
}  we only construct flutterEngine when fragment onViewCreate, this crash occurs occasional and i have no way to reproduce it  frequently

Thanks for the update @yann-q-20230331
Check if this helps in your case or not ?

@darshankawar  i see the issue(https://github.com/flutter/flutter/issues/137639#issuecomment-1800107909)  has been closed and i can't see any resolution. Can you give me another idea. Thanks

@yann-q-20230331 Thanks for your patience. I see that the above linked issue was closed in favor of https://github.com/flutter/flutter/issues/139702 which is still open, so I think under the hood you might be hitting the same behavior as mentioned in that issue which you can check and confirm.


mr-runner: use SerializablePipelineOptions to serde PipelineOptions

R: @peihe

Changes Unknown when pulling aa0d7f9bcfe33704ae107500ec9520a547712f2e on huafengw:mr into ** on apache:mr-runner**.

retest this please

retest this please

Hey @peihe any progress on this?

R: @peihe any status on this PR?

retest this please

LGTM

merged, thanks @huafengw!
This PR can be closed.


Resolve #205: Add EarlyStopping callback

You are right, this is certainly a nice feature to have.
We could also add an epsilon parameter to Scoring. One can always add a second score with a higher tolerance if one wants both scores.

IMO, it would be nice if the callback had similar parameters as ReduceLROnPlateau, with the difference being that training is stopped instead of learning rate reduced.


"error: UnCSS: Configuration missed." on Travis CI

I'm setting up uncss-brunch with Travis on a test project. brunch build works well locally, but when I push changes, the build on Travis fails. The error line reads:
`18 Apr 22:38:59 - error: UnCSS: Configuration missed.`

Any ideas on what may be wrong, or how may I debug this?

Ah, I was hasty, error message is from the uncss-brunch project. Will close.


Add bindings for Tint

Summary of feature
Tint is Google's compiler for the WebGPU shader language and is used by libraries such as Babylon.js and Naga. It allows compilation of SPIR-V code to and from WGSL. Used in conjunction with Shaderc and SPIRV-Cross, it will enable a full compilation chain between GLSL/HLSL to and from SPIR-V then to and from WGSL.
Comments
Tint is available via Google Git: https://dawn.googlesource.com/tint

I dont feel Tint bindings are necessary. Both Dawn and wgpu-native are able to intake SPIRV directly without a conversion since Tint and Naga are builtin to the libraries. This doesnt cover the manually translating WGSL -> SPIRV case, however i dont believe that case would be very common, or has many uses.
With shaderc + wpgu-native/dawn, you can already compile GLSL to SPIRV, then pass that SPIRV into the respective implementation directly.

What about WASM?

What about WASM?

Both google and mozilla have shown interest in providing this to JS as well through an extension. I believe it already works with chromium behind the "unsafe webgpu support" flag (webgpu itself is also still behind a flag on some platforms on chromium, so thats doesnt mean much)
In either case, you probably dont want to be packing many-megabyte shader compilation and translation libraries into your game's WASM build, and should do any shader translations offline as a build step

What about WebKit?

What about WebKit?

Not sure about webkit, however it is extremely unlikely they will provide SPIRV support given apple is probably a very large reason we arent using SPIRV on WebGPU as the standard in the first place.
In that case it would make sense to provide Tint/Naga bindings, but we should try to steer users away from doing this at runtime in their WASM builds as much as possible, given the huge inefficiencies at play here in a web environment

Yeah absolutely agree.


[Help] Using the command line tools

What happened?
Hi! Can someone eli5 how to use the command line for vibe? Ideally would love to be able to trigger it through a raycast script. Loove the work you guys have done! Thanks so much!
Steps to reproduce

step one...
step two...

What OS are you seeing the problem on?
No response
Relevant log output
No response

Same... When I try to run the executable on osx it just opens the app... I can't run it with --server either

You need to run the app from CLI only after closing the app. if it's open it will simply bring the app to the front.
Right click on the app icon -> Quit.

macOS
/Applications/vibe.app/Contents/MacOS/vibe --help

Linux
vibe --help

Windows (cmd)
%localappdata%\vibe\vibe --help


CuteSpotify on ubuntu touch: asking to login almost each time I start it

When re-logging in it also loses the playlists I have set to be as available offline. Weird thing is that at least once it did save the login stuff and had the offline playlists available. Running CuteSpotify version 1.4 on bq Aquaris E4.5 Ubuntu Edition, OS version: Ubuntu 15.04 (r25).
I can provide additional debugging information.

Same here. I've tried the latest version in the Ubuntu Store as well as Open Store. BQ E4.5  Ubuntu Touch.