Some word cannot be used as field of properties in object definition

Problem statement
Some alphabet could not be used as field in object definitions properties.
Steps to reproduce
I tried to make a object in definition section in swagger.yml, like this
definitions:
  key:
    description: key content
    properties:
      kty:
        description: type
        type: string
      e:
        description: key
        type: string
      use:
        description: sign
        type: string
      alg:
        description: algorithm
        type: string
      n:
        description: key
        type: string

But it reports error when validate the swagger.yml
swagger validate ./swagger/user_service.yml
2016/10/20 11:54:54 types don't match: expect map key string or int get: bool
make: *** [swagger-validate] Error 1

After I remove the
      n:
        description: key
        type: string

Then there is no error.
Some alphabets works, some not.

This is because a property name of n in yaml turns into a boolean.
 This is a bug in the YAML parser that go-swagger uses.
For comparison, try using this online YAML parser with map keys like n and y: http://yaml-online-parser.appspot.com/
I also want to point out: I think it is misleading to include this bug in the list of "fixed bugs" in the release notes for go-swagger version 0.7.4. I came to look for a new release because I encountered the same issue. I saw that note saying that the issue was fixed. Then I was confused when my problem persisted even after updating.


#175 Add AccessControlObject parameter to StartQuery and AlterQuery

Adjusting go sdk to work with newly introduced functionality from this PR: https://github.com/ytsaurus/ytsaurus/pull/190
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Closing in favor of https://github.com/ytsaurus/ytsaurus/pull/245


Support more tabs than can fit on the page

Select one ...  (check one with "x")
[ ] bug
[x] feature request
[ ] enhancement

Expected behavior

If I have more tabs to display than can fit on the page or in their container, they should either scroll, or wrap, or offer some way to access the last ones.
Actual behavior

At the moment, they simply overflow the <clr-tabs> element. If it scrolls, the whole content of the tabs scroll, the delimiter doesn't go across all the links, ... If it doesn't scroll, the last tabs are simply not accessible.
Reproduction of behavior

https://plnkr.co/edit/IMzGJy?p=preview
Environment details

Angular version: 2.4.X

Clarity version: 0.8.X

Browser: all

The recommendation here is to use vertical tabs instead of horizontal tabs when you have a long list of tabs.

@mathisscott this does not solve all use cases considering the responsive case (where you have more than few tabs on that page). We need a way to see additional tabs in the case of horizontal tabs.

@jaffoneh : I understand that. I was documenting our thought process because this was a known issue when tabs were released.
This is not a new discovery.

@yenmade and I talked about using the similar pattern to what is being developed in Button Groups (#247), the Overflow feature. When the fully responsive interaction is in place, it would also allow for responsive tabs

@reddolan : Could we get a few more details on this so we can prioritize the work and move it to the backlog?

Similar to the way additional button actions are placed in an overflow icon (ellipses) we could put additional tab items into an overflow (ellipses) that when it is clicked on, it can show a dropdown with remaining tabs inside

Here are design specs for both Tabs and Subnav

I was also looking for how to handle tabs in a responsive design where the tabs don't fit at some resolutions.  The only problem I have with the above design is that when an overflow tab is selected, it does not surface the tab name to be visible.  Highlighting the ellipsis is not very helpful.  Seems like the whole point of a tab bar is to show which tab you are on.  Adding a Page Title for the content is not a good answer for us because we are already using a page title above the tabs.  Have you considered other alternatives: 1) using arrows to scroll the tabs right and left?  2) always show the selected tab and swap other tabs into the menu if necessary?

Here's an example of scrolling tabs - need to make your browser smaller to squeeze some of the tabs out of view. https://material.angularjs.org/latest/demo/tabs

CC @reddolan to provide feedback on the above

@kevinmcbride It's a valid point. I will circle back with the devs and get back to you about whether this is possible

@kevinmcbride I talked with Dev about option 2. There are some issues with it though:

when pulling the selected value out of the overflow menu and making it a visible tab, there is a risk of there not being enough room to display the new tab. This would cause collision issues. The effort to figure out how to detect if there is enough room is challenging on top of that.
There is a usability issue of the tabs moving. There is quite a bit of context switching going on when moving tabs. Where did the tab go that vanished? Will the user know to look for it in the overflow menu?
There is an accessibility issue of moving the tabs, the DOM changes confusing users with screen readers.

Option 1 also has challenges:

Scrolling arrows are introducing a new overflow experience in Clarity, one that users have to understand and get used to
Scrolling gives the user no sense of the total number of tabs available (similar to infinite scroll)
A user has no idea what other tabs are available and have to scroll through the entire site at least once to understand which options are available to them.
The issue of clicking or holding down an arrow to get to the tab you need

I understand the need to display current location in navigation and agree it's important. Out of the three options presented, I still stand by my recommendation as it has the least amount of issues. I understand it isn't perfect though.
If the tab in question has a high amount of importance, it doesn't belong in the overflow to begin with. We recommend that tabs be in order of importance and use. That way overflow options are ones that are used infrequently are the ones that end up in overflow scenarios. This lessens the burden of a user not knowing where they are.

cc: @youdz ^

@reddolan: for active tab state in the overflow, are we adopting the active style of the regular dropdown? For example, when current tab is Tab 6 and the user again clicks on the ellipsis, should Tab 6 be highlighted?

@jeeyun yes, regular dropdown design and experience


Add spheron details in the service list

What kind of PR is this?
Select only one to speed up review/approval; i.e., don't lump an addition and a removal into a single PR.

[x] Adding something new to awesome-ipfs
[ ] Editing something already listed on awesome-ipfs
[ ] Removing something from awesome-ipfs
[ ] Something else (if so, please explain in the "Additional details" section below)

Pre-submit checklist
Please confirm ALL of the following before submitting your PR.

[x] This PR includes only one addition, removal, or edit.
[x] I edited the /data directory instead of the README.md.
[x] I reviewed the content policy and the and the IPFS Community Code of Conduct to ensure my submission meets the requirements.
[x] I have followed the CONTRIBUTING.md guidelines.

Additional details
Is there anything else we should know about this PR?

I've added Spheron in the service list and also added an interesting app built with Spheron SDK utilising IPFS and Lit for access control.
For new additions: What is your project's current size/reach?

Currently we have more than 5000 developers actively using Spheron platform.
For new additions: What is your project's potential size/reach?

Spheron has more potential to reach more than 1M developers.
For new additions: How critical is IPFS to your project?

[x] Essential
[ ] Somewhat critical
[ ] Useful, but not critical

For new additions: What core goal(s) does your project address?

[ ] Big-data solutions
[ ] Freedom from corporate/government interference
[ ] Data integrity
[x] Dev tools or other ways to enable developers
[ ] Disaster resilience/recovery
[x] File storage/retrieval
[ ] File streaming
[ ] Permanent archiving
[ ] Self-sovereign identity
[ ] Platforms that utilize consensus, reputation, or incentivization
[ ] Other (please list)

Is anything about IPFS blocking your project?

I am closing this PR as the repo has a new structure and your project has been added.


Prepare smokescreen better to be a documented feature

This PR has a couple items I wrote down while updating our changelog.

Document that smokescreen exists in a few more natural places.  I think this is probably the complete set of places we want to link, but perhaps it's worth your spending a few minutes thinking about adding more.
Move its configuration to the right directory.

@alexmv I don't love the documentation text, in part because many readers won't know what SSRF is (maybe a third-party link can help).  I'd appreciate it if you just did an edit pass and pushed back here, as I'm trying to juggle a dozen tasks like this.

Edited and re-pushed.

Merged, thanks @alexmv!
I think the smokescreen configuration removal mostly only affects us and other folks who've upgraded to master and then followed these instructions.
Want to do a post in #general asking for a few folks who are running master to test setting up smokescreen integration to make sure they can understand he documentation?  Or we can wait until -rc1 is out.

I think it probably makes more sense to do as part of the rc1.


Expo support ?

Hi guys, does this package work with the projects managed by expo ?

unsure as I don't use expo. No reasony why it shouldn't though


Attempting to speed up Start/stop service commands

Type of Change

[x] Bug fix (non-breaking change, fixes #4247)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
speed up the service commands, as they are too slow on machines with limited resources
Approach
Prevent multithreaded code from loading the module in every thread
Commands to test
Start/stop service

worked well for me last night, thank you!


Corr plot prerelase fixes

Fixes for visible nulls in stat_corr function

The branch can't be merged due to conflicts.

Removed the change that caused the conflict.


Readme updates, use stable channels

This PR overhauls the readme to add deployment instructions using clusterctl configs, and also updates channels from 1.27/edge to 1.27/stable where needed since stable is now available.

moved some of the developer-centric stuff to a contributing.md as well

@evilnick mind taking a look at this readme and what might need to change to adapt for diataxis docs

:cake:


support handling multiple events

resolves https://github.com/namely/chief-of-state/issues/259:

Call handleEvent for each event in events field.
fallback to event if events is empty.

Make sure to merge proto change pr before merging this PR.

Another thing I noticed is that you're calling .map multiple times. I don't believe there's a reason to not just combine your multiple .maps into one .map

but we still have to call map on the Seq twice, so what we are saving here is the map call on the Try?
Does that make a difference?

In my opinion, it is much more pleasant to read if you're not calling .map multiple times. For instance, this line is unpleasant  and it is hard to tell where it ends (on line 223).
I feel like your thought process by doing this is to physically segregate your transformations. If that's the case I would actually write out the mini testable functions where they're testable and plug them in directly into your map function. It allows for better unit tests.


LEXI-619: Add a new section "Semantics" for Info Panel Page

Please see LEXI-619 for more information.

Thanks David!
Merged


Add a testnet faucet

Probably can use https://github.com/cosmos/modules/tree/master/incubator/faucet

[ ] mint ATOM or STB, see https://github.com/okwme/modules/tree/master/incubator/faucet


Scope to sidebar panel the navbar dropdowns positioning on mobile

Fixed two issues:
1.- Dropdown menu on max-medium screen sizes were behaving like sidebar dropdown menus even they were not part of the sidebar.
This was the reason of this bug:
before

now

2.- For the same reason we were losing the arrow on this screen sizes.

Yes, the main purpose of this PR is to create the difference that you comment: to scope the dropdowns when they are inside the .navbar-collapse.
Currenctly all the dropdowns for the small mediaquery are behaving like they are inside the .navbar-collapse. This breaks all the dropdowns that we want to keep outside the sidebar. For instance:

This means that if a dropdown in not inside the navbar-collapse is going to maintain its original styles.

Demo: https://new-grasshopper-73.localtunnel.me/examples/nested-navbar/

Demo: https://itchy-dingo-15.localtunnel.me/examples/nested-navbar/


Open Recent menu is sometimes empty

reproduces on mac
open a window
in the current window, go to File > Open Recent  and pick a different folder
quickly, while the current window is still loading, press cmd+shift+n to open a new empty window
quickly go to the File > Open Recent menu when the new empty window is focused

Sometimes, the File > Open Recent list is empty.

I'm seeing this a lot lately (also macOS). I very often hit Cmd+Shift+N to get a new window then File -> Open Recent, but the menu is pretty much always blank the first time. I don't know whether it's a new issue or if startup got slower so it happens more, pretty frustrating though.

I can reproduce this also on Windows:

Ctrl+Shift+N
File > Open Recent
Oftentimes, the list is empty

Thanks for fixing!


Update package

I think there is a problem with laravel version, illuminate/support version of this package. That is causing error like following.
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: remove laravel/framework v5.0.33
- Conclusion: don't install laravel/framework v5.0.33
- Conclusion: don't install laravel/framework v5.0.32
- Conclusion: don't install laravel/framework v5.0.31
- Conclusion: don't install laravel/framework 5.0.30
- Conclusion: don't install laravel/framework v5.0.29
- Conclusion: don't install laravel/framework v5.0.28
- Conclusion: don't install laravel/framework v5.0.27
- Conclusion: don't install laravel/framework v5.0.26
- Conclusion: don't install laravel/framework v5.0.25
- Conclusion: don't install laravel/framework v5.0.24
- Conclusion: don't install laravel/framework v5.0.23
- Conclusion: don't install laravel/framework v5.0.22
- Conclusion: don't install laravel/framework v5.0.21
- Conclusion: don't install laravel/framework v5.0.20
- Conclusion: don't install laravel/framework v5.0.19
- Conclusion: don't install laravel/framework v5.0.18
- Conclusion: don't install laravel/framework v5.0.17
- Conclusion: don't install laravel/framework v5.0.16
- Conclusion: don't install laravel/framework v5.0.15
- Conclusion: don't install laravel/framework v5.0.14
- Conclusion: don't install laravel/framework v5.0.13
- Conclusion: don't install laravel/framework v5.0.12
- Conclusion: don't install laravel/framework v5.0.11
- Conclusion: don't install laravel/framework v5.0.10
- Conclusion: don't install laravel/framework v5.0.9
- Conclusion: don't install laravel/framework v5.0.8
- Conclusion: don't install laravel/framework v5.0.7
- Conclusion: don't install laravel/framework v5.0.6
- Conclusion: don't install laravel/framework v5.0.5
- Conclusion: don't install laravel/framework v5.0.4
- Conclusion: don't install laravel/framework v5.0.3
- Installation request for martinmarianetti/xml-rpc dev-master -> satisfiable by martinmarianetti/xml-rpc[dev-master].
- Conclusion: don't install laravel/framework v5.0.2
- Conclusion: don't install laravel/framework v5.0.1
- martinmarianetti/xml-rpc dev-master requires illuminate/support 4.1.* -> satisfiable by illuminate/support[v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.25, v4.1.26, v4.1.27, v4.1.28, v4.1.29, v4.1.3, v4.1.30, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9].
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.0
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.1
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.10
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.11
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.12
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.13
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.14
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.15
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.16
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.17
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.18
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.19
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.2
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.20
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.21
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.22
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.23
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.24
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.25
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.26
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.27
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.28
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.29
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.3
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.30
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.4
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.5
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.6
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.7
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.8
- don't install laravel/framework v5.0.0|don't install illuminate/support v4.1.9
- Installation request for laravel/framework 5.0.* -> satisfiable by laravel/framework[5.0.30, v5.0.0, v5.0.1, v5.0.10, v5.0.11, v5.0.12, v5.0.13, v5.0.14, v5.0.15, v5.0.16, v5.0.17, v5.0.18, v5.0.19, v5.0.2, v5.0.20, v5.0.21, v5.0.22, v5.0.23, v5.0.24, v5.0.25, v5.0.26, v5.0.27, v5.0.28, v5.0.29, v5.0.3, v5.0.31, v5.0.32, v5.0.33, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8, v5.0.9].

Yes, sorry for the late response.
This was intended to be used in Laravel 4, I can't update this to L5 right now but will accept a PR.
I'm going to update the readme.
Thanks for pointing this out!


Fix a few spelling and grammar issues in README.md

I tried to fix a few spelling and grammar mistakes in README.md.

I'd say project name should be fixed as well. BTW, GitHub will leave a redirect from the old name, so URLs will stil work.


App doesn't start correctly on iOS14 beta after Update

[X] Bug is not mentioned in the FAQ
[X] Bug is not already reported in another issue

Describe the bug
When opening the App on iOS14 it only shows a black/white screen (depending on dark/bright Theme).
Expected behaviour
Correct start of the app
Steps to reproduce the issue
Start the App on an updated iOS14 device
Technical details

iOS Version: 14.0
Device: iPhone Xs

Possible Fix
Maybe look at the Risk-Detection module.
After reinstalling the app risk detection can't be activated (ENErrorDomain-Fehler 3.)
Additional context
After Migration from iOS13 to iOS14

After Fresh install on iOS14

Duplicate of https://github.com/corona-warn-app/cwa-app-ios/issues/749 ✌

Duplicate... Sorry!


feat: Enable flash.nvim highlight on catppuccin integration

Since flash.nvim has already been the default one, and catppuccin already support it

This might be not needed as catppuccin activates flash support themselves by default


Feature | Display topic pills on the Blogcard

Current:
The /blogs frontend route shows a list of blogcard. Each blogcard looks like this:

Expectation:
Show topics / tags for each blogcard in the list.
Something like this:

Points to consider:

The /blog/bulk API endpoint already returns tags for each article like so:

Show min. 0 and max. any 2 topics ONLY (Even if an article is assigned more than 2 topics)
Each topic should be a pill (similar to the image shown above)
Consider responsiveness.

Hey, I can add the pill with the correct tag from the API. Mind assigning me this and ill get to work on it?

Sure

Does there need to be a single tag per post or all of them?

This ticket is for BlogCard component, it should have maximum 2 (due to space constraints)

@swastik4805 - The]is issue is assigned to @JoshuaMartinez1014 .
Please request for the issue before starting development on it to avoid redundancy of work.

Could you assign the issue to me.....

Sure


Added AbsoluteValue and its associated tests

Includes changes related to Issue: #10
Included a new maths function to calculate the absolute value of numeric values, as well as associated tests

@appgurueu I tried to include all examples for test cases, so someone completely new to the world of Typescript / Javascript would be able to easily understand what the function does with no prior knowledge. If you like, I can remove some of the tests / documentation, just let me know which ones you would prefer to keep, and which you think should be removed

Even though it is overkill, I guess there is no harm in keeping the tests.

I don't think abs is that hard to understand - even for someone new to JS.


Incorrect Information About My Website

Please remove the incorrect information about this website. It was previously hacked, but I have since removed all malware from the site. However, it still displays false information. https://northbeautycare.ca/
I have received a message from Google confirming that this site does not contain any harmful content. Please try to fix this on your side as well.
I also contacted virustotal.com, and they mentioned that these results were provided by different antivirus vendors. If you provide the correct information about my website, it will also display accurate information because you are providing the website details. Please help me remove this incorrect information.
Please help me to solve this problem as soon as possible, it is urgent to solve this problem.

Please help me to remove this wrong information about the website, it is important.


treewide: Switch to system users

Could somebody with Borg permission run the tests?
Motivation for this change
It's annoying to have users (actual people) with fixed UIDs and services clashing for UIDs.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Nice, I planned to do this as part of NixOS/rfcs#52. This should be backwards compatible as I check recently. Currently there is a limit of 100 dynamic system users, but https://github.com/NixOS/nixpkgs/pull/65698 will increase this, so this shouldn't be a problem.

@Infinisil Yes, it seems like switch-to-configuration prints a warning but doesn't change UIDs of existing users. Also, as this only modifys 47 users, I doubt this PR will be the cause of UID exhaustion ;)

Okay, I stand corrected. 100 is probably not enough. Looks like #65698 should be merged first

Well the system uid range isn't only for nixpkgs. People could define lots of services outside of nixpkgs. And 100 services being enabled over the lifetime of a system doesn't seem far fetched. So I'd like the PR for increasing this limit be merged first. Should be quick after the RFC is accepted, which will be in less than a week.

@asymmetric Unfortunately, the command is not in my shell history anymore. I was able to reproduce it, so this one is pretty similar: grep -R users.users nixos/modules -l | xargs grep -L isSystemUser | xargs grep -L 'uid *='
It still requires a lot of manual work in vim, but that takes less than 10 minutes.
Idk about the PR prefix, maybe someone with more experience can help me out here

So the new policy would be: Every service should use either isSystemUser or DynamicUser?
Is this documented in the manual? I couldn't see it at a glance (quick grep).

I mentioned in the RFC that something like this should be added to the manual, haven't done that yet


Added support for the NV12 format

This adds support for the NV12 format.

Thanks. The variable issue is probably due to the set-up I use at work. I
wouldn't worry about it if it works on your end.
Donavan Prieur, P. Eng.
Video & Software Engineer
Félix & Paul Studios
+1.514.331.7001
www.felixandpaul.com
On Fri, Dec 9, 2022 at 10:16 AM Andy Regensky @.***>
wrote:

Thank you for the addition of the NV12 format. I found a problem in case
multiple frames are unpacked, but it was a quick fix.
I did some tests on the issues regarding the naming of the variables that
you mentioned and couldn't reproduce them. Please let me know if this
continues to be a problem.
—
Reply to this email directly, view it on GitHub
https://github.com/labradon/yuvio/pull/2#issuecomment-1344431727, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AF3PTUXAYKSBA5NSCX3MDUTWMNEOLANCNFSM6AAAAAASYP2WQA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Downloading parts of repository is unsupported

Users cannot download single files or a part of the repository without using the RAW data or a third party application like curl or wget.

GitHub solved this a while ago


Updated readme.md and created fibonacci.c using dp

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
//C program to efficiently calculate the nth fibonacci term using DP memoization
Checklist

[✅ ] I've read the contribution guidelines.
[✅ ] I've checked the issue list before deciding what to submit.
[ ✅ I've edited the README.md and link to my code.

Related Issues or Pull Requests
#466  C language implementation

@Kajol-Kumari  @Abhijit2505 Please review this ,if any corrections are needed further please guide me.
Thanks

Done @Kajol-Kumari  @atarax665  @plazzy99


Department Page

Create a CRUD razor pages - use the contoso uni link to help create this functionality.

Make sure to edit the pages to match the wireframes that were created


Logs called from middleware aren't being uploaded.

I have config such as the following:
Log.Logger = new LoggerConfiguration()
	.MinimumLevel.Warning()
	.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
	.MinimumLevel.Override("System", LogEventLevel.Warning)
	.MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Warning)
	.Enrich.FromLogContext()
	.WriteTo.AzureTableStorage(azureStorage, LogEventLevel.Warning, null, "ProductionLogs", true, new TimeSpan(0, 0, 1), 10, new AzureStorageLogKeyGenerator())
	.CreateLogger();

And middleware like this:
public class SerilogMiddleware
{
	readonly RequestDelegate _next;

	public SerilogMiddleware(RequestDelegate next)
	{
		if (next == null) throw new ArgumentNullException(nameof(next));
		_next = next;
	}

	public async Task Invoke(HttpContext httpContext)
	{
		if (httpContext == null) throw new ArgumentNullException(nameof(httpContext));

		LogContext.PushProperty("User", httpContext.GetEmailOfContext());
		... Etc.

		try
		{
			await _next(httpContext);
		}
		catch (Exception ex)
		{
			Log.Error(ex, "Unhandeled Exception");  // <- Hit or miss on getting this log.
                        // But always shows in console.

			// await Task.Delay(100); <- If I un-comment this line..
                        // I get the logs in Azure Table Storage.

			httpContext.Response.StatusCode = 500;
		}
	}
}

I believe this is a bug, but perhaps I am implementing something incorrectly.  I would love to be able to await Log.Error somehow.  Either way, how do I address cause?  And how do I configure such that when saving to Azure Table Storage Fails, it produces a log in and of itself?
~Thx

Hi @ttugates - is your application exiting after the logging statement, without calling Log.CloseAndFlush()?

Eek, it sure is!  Sry for presumption it a bug and thanks for quick response!

For anyone else,
I had an additional issue that caused Logs to inadvertently not record in my IKeyGenerator Implementation.
In an attempt to get the LogEventPropertyValue from LogEvent, I was causing an error.  For some reason even when I wrapped it in a try catch, it was never being caught.
All the same, found it by reduction..

Great, glad to hear you've figured it out :+1:


Using TrainClassifier with class weights (including ClassBalancer)

Hi,
I am having a problem with using the TrainClassifier when the label's classes have weights (including instance weights generated by the MMLSpark Class Balancer class).
I am using Pyspark 3 on Spark 2.2.0.
The non-MMLSpark way of creating a classifier model with weights, for a table with labels defined by a variable label_col, feature column defined by a variable col, and weight column weight, would be something like:
LogisticRegression().setWeightCol("weight").setLabelCol(label_col).setFeaturesCol(col)
I tried different combinations to do it using MMLSpark:
#1:
base_model = LogisticRegression().setWeightCol('weight').setFeaturesCol(col).setLabelCol(label_col)
TrainClassifier(model=base_model)

will lead to the following error when training the model:
Py4JJavaError: An error occurred while calling o17763.fit.
: java.util.NoSuchElementException: Failed to find a default value for labelCol

presumably because the TrainClassifier constructor requires setLabelCol to be set explicitly.
#2:
base_model = LogisticRegression().setWeightCol('weight').setFeaturesCol(col)
TrainClassifier(model=base_model).setLabelCol(label_col)

will lead to a model with 2 coefficients for a single feature and 1 intercept. Presumably, because the weight column was used as a feature, and the feature column set by the base method's "setFeaturesCol" was ignored by TrainClassifier.
#3:
base_model = LogisticRegression().setWeightCol('weight')
TrainClassifier(model=base_model).setLabelCol(label_col).setFeaturesCol(col)

will lead to the following error when training the model:
Py4JJavaError: An error occurred while calling o17925.fit.
: org.apache.spark.sql.AnalysisException: Reference '_<value of col>_' is ambiguous, could be: _<value of col>_#13901, _<value of col>_#32151.;

presumably because the TrainClassifier constructor changes the names of the features, and the setFeaturesCol doesn't work properly it seems.

@edsonaoki
1.) Yes, TrainClassifier currently requires the label column to be set on it.  It seems like it would be a nice enhancement to have it get the label column from the underlying model if one wasn't specified on TrainClassifier.
2.) With TrainClassifier we currently include all columns other than label as features.  It would be good to allow the user to specify any columns that they should ignore and automatically ignore the weight column.
3.) Sorry why are you trying to set the features col on the underlying learner or TrainClassifier?  If you already have a features column there is no point in using TrainClassifier, because all it does is featurize the columns that you would otherwise have to do in spark into a single column.  Hence, this is by design, this is the name that we use for the features col on the underlying learner (but you already have a column with that name so there is a conflict), the documentation for TrainClassifier on features col is:
https://github.com/Azure/mmlspark/blob/master/src/train/src/main/scala/TrainClassifier.scala#L84
/** Optional parameter, specifies the name of the features column passed to the learner.
* Must have a unique name different from the input columns.
* By default, set to _features.
* @group param
*/
setDefault(featuresCol, this.uid + "_features")
That features column is created from all of the other columns excluding the label column.

Hi @imatiach-msft I actually wasn't trying to set a features col, I only did that after noticing that the weights are being included in the list of features. Perhaps the best thing would be for TrainClassifier to have its own setWeightCol() method, such that it's automatically excluded from the feature list?

@imatiach-msft - when using TrainClassifier with a weighted LGBM, is the weight column currently automatically included as a feature in the model? It appears to force it on the testing set too.
If I wanted to use Featurize, what is the correct input format for the featureCol dict?


Background Transparency

Hello, quick question. Is there a way to increase the transparency of just the background of the boxes without affecting any text or graphics? If not, I would love this feature. Thank you for all you do.

You can change background transparency by opening the global settings skin, clicking "edit settings file", then appending colorBg with ,150. Change that number to something between 0 and 255 to set the transparency you want.


repeat call writeGatewayTimeout() method after chainedproxy connect fail.

class ClientToProxyConnection:
    @Override
    protected void timedOut() {
        boolean clientReadMoreRecentlyThanServer =
                currentServerConnection == null
                        || this.lastReadTime > currentServerConnection.lastReadTime;
        if (clientReadMoreRecentlyThanServer) {
            LOG.debug("Server timed out: {}", currentServerConnection);
            currentFilters.serverToProxyResponseTimedOut();
            writeGatewayTimeout(currentRequest);
            // DO NOT call super.timedOut() if the server timed out, to avoid closing the connection unnecessarily
        } else {
            super.timedOut();
        }
    }

class ProxyToServerConnection:
    @Override
    protected void read(Object msg) {
        if (isConnecting()) {
            LOG.debug(
                    "In the middle of connecting, forwarding message to connection flow: {}",
                    msg);
            this.connectionFlow.read(msg);
        } else {
            super.read(msg);
        }
    }

class ProxyConnection:
protected void read(Object msg) {
        LOG.debug("Reading: {}", msg);

        lastReadTime = System.currentTimeMillis();

        if (tunneling) {
            // In tunneling mode, this connection is simply shoveling bytes
            readRaw((ByteBuf) msg);
        } else {
            // If not tunneling, then we are always dealing with HttpObjects.
            readHTTP((HttpObject) msg);
        }
    }

I found that the proxy will send too many http 504 response to the client on the idle connection, and after read the source code , I found :
if current state in ProxyToServerConnection is part of connect, and it connect failed. It will cause lastReadTime in proxyConnection.read() is not update, led clientReadMoreRecentlyThanServer  in ClientToProxyConnection.timeout() to be false. the client to proxy connection is keep-alived, proxy will send http 504 response to the client every 70s by default.
is this an issue?

I suspect this is fixed in PR #350.

@Weakie Can you test this against the latest 1.1.2 release, that contains the double-Gateway Timeout fix?

@jekh Hi, jekh, I test the latest 1.1.2 release, and review the code as well. this issue is fixed after @luleyl separate the timeout into two methods in ClientToProxyConnection, the writeGatewayTimeout() is only triggered when the clientToProxy detected timeout, thanks~


Link in readme for Version Switching does not go anywhere

Please fill out the issue checklist below and provide ALL the requested information.

[x] I reviewed open and closed github issues that may be related to my problem.
[ ] I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[ ] I attempted to run the command with CF_TRACE=1 to help debug the issue.
[x] I am reporting a bug that others will be able to reproduce.

Describe the bug and the command you saw an issue with
In the readme, the link for Version Switching points to https://github.com/cloudfoundry/cli#version-switching. However, there is no anchor that matches this. I'm not quite sure where it should point to (otherwise I would put in a PR).

Thanks @idavidmcdonald! Looks like this was fixed in this PR:
https://github.com/cloudfoundry/cli/commit/3c7fba497f614bf6f6b97a9caf3686da52947952
Going to close this now.


RNA Builder. Accordion component

Background
RNA tab should consist of the monomers from the file attached where "Monomer Type" is "RNA"
The implementation of the RNA builder is divided into several parts:

Collapsing panel with RNA components (Collapsed & Expanded states)
An accordion component for Sugars, Bases, Phosphates and Presets sections that allows the user to hide or reveal content
Edit RNA mode

Requirements
The following entities in the RNA builder should utilize the accordion component:

Presets,
Sugars,
Bases,
Phosphates

Accordion composes the following parts:

Title. Possible variants are Presets, Sugars, Bases, and Phosphates with particular icons.
Icon. Indicates what state the accordion is in.
Pane. Is hidden when the accordion is closed.
-           Presets tab. Contains RNA previously saved by user
-           Sugars tab. Sugars contain those monomers which 'MonomerNaturalAnalogCode' is 'R'
-           Bases tab. Bases contain those monomers which 'MonomerNaturalAnalogCode' are {'A', 'C', 'G', 'T', 'U', 'X'}. Each Base group has its own color
-           Phosphates tab. Phosphates contain those monomers which 'MonomerNaturalAnalogCode' is 'P'

Accordions will shrink when the builder is expanded

Accordions:
Presets

Sugars

Bases

Phosphates

Accordion states

Closed accordions

Tested


Enable/disable notifications by namespace

I'd like to disable notifications for the User: namespace, or to enable it just for the main namespace.
Rationale: people can be shy and avoid a wiki because they know that everyone else on the team will jump on their drafts immediately and start discussions prematurely. So I'd like to offer them a usage pattern where they write a draft in User:Username/Draft first and move it over to the main namespace when it's finished.

Just committed support for this and the parameter wgSlackExcludeNotificationsFrom is also now documented in readme file. Would be great if you could give it a try and let me know that it works, thanks! :)

Thanks! It works as expected.

Fantastic! Thank you for testing it out :)

I've found one minor issue: renaming a page still results in a notification.
I guess it would be better to do a check in that case too (for both an old name and a new name).

Pushed out version 1.13 which adds support for checking article names when moving them! :)


Syntax highlighting for Stan

Please add syntax highlighting for Stan, a state-of-the-art Bayesian modelling language.
The RStudio IDE supports Stan syntax out-of-the-box, there is also a Vim plugin stan.vim.
It would be great if CodeMirror could support Stan code.
Thank you!

We aren't going to add any more language modes to the main distribution. Fortunately, it is possible to write language modes as separate modules, so you're not dependent on us.

it is possible to write language modes as separate modules

What's the proper way to distribute language modes as separate modules? As an npm package?

What's the proper way to distribute language modes as separate modules? As an npm package?

Yes. You can take the elixir mode as an example.

Does this mean that you won't accept a PR to add another mode, or that you won't expend any work to create one yourself?

Both.


Fatal error: Invalid string length

I can run the program fine by installing via npm and running peerflix-server, but when I clone the git repository, run npm install and bower install, then try to stream a video file, the server console (grunt serve) waits for a little while before outputting Fatal error: Invalid string length and no other info... Not really sure what's going on. For what it's worth, if I start the stream in my browser with the peerflix-server started instance, close it and switch to the grunt serve version, I can skip around in the file correctly, implying it's streaming. It just can't get it started or something.
I'm using Windows 10 and Node 6, if it matters.
Edit: Non-video files can still be downloaded like normal (images, text files, etc)

Have you figured out what the issue was? Do you have any repro steps?


[8.x] Fixes getting the trusted proxies IPs from the configuration file

This pull request allows getting the trusted proxies IPs from the configuration file, like back in the days when we had Fideloper's package.

@nunomaduro Did you consider re-adding a default env('TRUSTED_PROXIES') ? This would be helpful in situations where Laravel is hosted in Docker for example and would not required to change the default installation anymore.
We could as well make a pull request if @taylorotwell sees changes to get that accepted?
See also https://github.com/laravel/framework/discussions/38974


ci: opt in to use multiple projects

Only 1 test is failing. I've filed a bug here to request help.

Looks like the tests are failing. Are there resources that need to be set up in the new projects?

Yea there are resources you need to add for the new projects, i don't think that this will solve the quota issue due to how Dialogflow ES works, this issue usually occurs when there are multiple PRs running at the same time. Since they're all referencing the same project then you get the quota limit, but this will also happen if you use multiple projects because the multiple projects will be called at the same time.

@busunkim96 Please could you review/approve?


Fix to issue 227 - External Views framerate

Fix to issue 227 - External Views framerate

ok, on my first pass, i had a few nit-picky things plus i'd rather deprecate the WebViewSceneObject rather than remove it outright.  We'll remove it later.

Thank you @thomasflynn,
I have applied  your comments.

ok, looks good.  thanks.


CLI sending message fails

I try to send a packet with the cli (evofw3):
sudo python3 client.py execute /dev/ttyUSB0 -x "RP 18:262143 21:033620 01FF<PHONE_NUMBER>D0000000143C80800000B40080800280FF80040000"

And get the following result:
client.py: Starting ramses_rf...
 - discovery is force-disabled
15:45:40.079 Best practice is exactly one gateway (HGI) in the known_list: []
15:45:40.079 It is strongly recommended to provide a known_list, and use it as a whitelist (device_id filter), configure: enforce_known_list = True

client.py: Starting engine...
15:45:40.680 The active gateway 18:262143: { class: HGI } (by signature) SHOULD be in the known_list
15:45:40.680 ||  18:262143 |  63:262142 |  I | puzzle_packet    |      || {'datetime': '2024-01-29T15:45:40.084', 'engine': 'v0.31.5', 'parser': 'v0.31.5'}

client.py: Engine stopped: ended without error (e.g. EOF)
 - finished ramses_rf.

I have a second HGI80 that is logging packets and I do not see the packets that I am sending.
What should I change in my bash call?
And is there documentation of the protocol to send packets directly with the serial port device?
I am trying to debug the flow of 01FF Spider protocol and would like to write a tool for RQ RP directly on serial.

If it is installed properly:
client execute /dev/ttyUSB0 -x "RP 18:262143 21:033620 01FF<PHONE_NUMBER>D0000000143C80800000B40080800280FF80040000"

The sudo is only needed if the current user is not a member of the dialout group.
The latest commit should address this - there's been a lot of mucking about with QoS recently.

I tested sending with the serial monitor of Arduino and the evofw3 echos the command, but the message is not received by the HGI80.
So I think it is a hardware problem or evofw3 bug.
Updated evofw3 to latest version, but no luck. I tried swapping the nanocul and the hgi80, but the driver of hgi80 does not work on my Macbook M2, because of Apple Silicon.

This works for me:
client execute /dev/ttyACM0 -x "RQ 01:145038 1F09 00"

and ...
client execute /dev/ttyACM0 --get-schedule 01:145038 01

Importantly, this also works:
client execute /dev/ttyACM0 -x "RP 18:262143 21:033620 01FF<PHONE_NUMBER>D0000000143C80800000B40080800280FF80
040000"

client.py: Starting ramses_rf...
 - discovery is force-disabled
16:51:47.301 Best practice is exactly one gateway (HGI) in the known_list: []
16:51:47.301 It is strongly recommended to provide a known_list, and use it as a whitelist (device_id filter), configure: enforce_known_list = True

client.py: Starting engine...
16:51:47.391 The active gateway 18:006402: { class: HGI } (by signature) SHOULD be in the known_list
16:51:47.391 ||  18:006402 |  63:262142 |  I | puzzle_packet    |      || {'datetime': '2024-02-03T16:51:47.305', 'engine': 'v0.31.6', 'parser':
16:51:47.411 Device 18:262143 is potentially a Foreign gateway, the Active gateway is 18:006402, alternatively, is it a HVAC device?, configure the known_list/block_list as required
16:51:47.460 ||  18:006402 |  63:262142 |  I | puzzle_packet    |      || {'datetime': '2024-02-03T16:51:47.411', 'impersonating': '01FF|RP|18:26
16:51:47.481 RP --- 18:262143 21:033620 --:------ 01FF<PHONE_NUMBER>727D0000000143C80800000B40080800280FF8004 < Payload doesn't match '^0[01][0-9A-F]{50}$':<PHONE_NUMBER>D0000000143C80800000B40080800280FF8004

client.py: Engine stopped: ended without error (e.g. EOF)
 - finished ramses_rf.

NOTE: The above packet is sent as expected.
The issue is that when the echo of the transmitted packet is received, it (like all packets that are received) is decoded by ramses_rf.
In this instance, the payload is - incorrectly - tagged as invalid.
That is addressed in another issue, #101, so this issue is closed.


Moving ChangeLog and Roadmap to separate files

This PR moves the ChangeLog and Roadmap from the README.md to separate files, CHANGELOG.md and ROADMAP.md respectively.

Coverage remained the same at 81.201% when pulling b4cfd447b5e9fb4759ba550b05ec2eae91291c26 on fishcharlie:changelog into c32afdd652cf467d4121cc461fa5fe43acf10cfd on automategreen:master.


firebase_auth SHA-1 fingerprint issue

I get SHA-1 from debug.keystore using this code
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

I've succesfully created Firebase project and used the SHA-1 fingerprint from debug.keystore. Then downloaded google-services.json and put it into the project. Everything (email auth, anonymous auth etc.) works fine but when I try to verify phone number it gives error.
final FirebaseAuth _auth = FirebaseAuth.instance;

Future<void> _testPhone() async {
    _auth.verifyPhoneNumber(
        phoneNumber: "xxxxx", //I use my personal phone number here
        timeout: Duration(seconds: 5),
        verificationCompleted: (d) {
          print(d);
        },
        verificationFailed: (d) {
          print(d.code + ": " + d.message);
        },
        codeSent: (d, [d2]) {
          print(d);
        },
        codeAutoRetrievalTimeout: (d) {
          print(d);
        });
}

This is the simple code which gives this error:
firebaseAuth: This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console. [ App validation failed. Is app running on a physical device? ]

I'm testing this on the real device. Version of firebase_auth plugin is 0.8.0. I've tried with the version 0.7.0 (last version that is pre AndroidX) and still gives the same error. Since my package name is correct and I'm using a real device, I guess it's a  SHA-1 fingerprint issue.
[√] Flutter (Channel beta, v1.1.8, on Microsoft Windows [Version 10.0.17134.523], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[!] Android Studio (version 3.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] IntelliJ IDEA Ultimate Edition (version 2018.2)
[√] VS Code, 64-bit edition (version 1.27.2)
[√] Connected device (1 available)

! Doctor found issues in 1 category.

You might have forgotten to add -exportcert when getting the fingerprint. See: https://developers.google.com/android/guides/client-auth

You might have forgotten to add -exportcert when getting the fingerprint. See: https://developers.google.com/android/guides/client-auth

Gives the same output. I've also used this method to get SHA-1 from generated apk. They are all same and correct.

Same error for me, using firebase_auth: ^0.8.1+1. Google sign in works fine

Same problem here using firebase_auth: 0.8.4+4. Debug keys are working but not release.

Same problem here using firebase_auth: ^0.11.1+5. I tried testing the debug version with a real device but then i get
I/flutter (21369): exception: This app is not authorized to use Firebase Authentication. Please verifythat the correct package name and SHA-1 are configured in the Firebase Console. [ App validation failed ]
I built a release version and uploaded to the app store, then added the SHA's from the play store into firebase and it works for the production app.
Please help. I need to test that this feature works before building a release version.

Ok but how would you test this integration with your UI during debug stage?

@easeccy
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/456. Any further collaboration will be done there.


Current version is blank in the output if the action exited silently

I like to automatically create a zip file of the build and attach to the workflow on completion using a file name of v{VERSION}-{COMMIT_HASH}.
Previously I'd read the package.json to get the version to use but I want to start automatically updating the semver so I don't have to manually figure it out.
In the workflow I've done the following:
  bump-version:
    name: "Bump Version"
    runs-on: "ubuntu-latest"
    needs: unit-test
    outputs:
      version: ${{ steps.semver.outputs.next || steps.semver.outputs.current }}
    steps:
      - name: Checkout Commit
        uses: actions/checkout@v3

      - name: Generate Version
        id: semver
        uses: ietf-tools/semver-action@v1
        with:
          token: ${{ github.token }}
          branch: ${{ github.head_ref || github.ref_name }}
          noVersionBumpBehavior: silent
          skipInvalidTags: true # because i accidentally did v16.1 at one point

 build:
    name: "Production Build"
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [16.x]
    needs: [bump-version]
    steps:
      ...
      - name: Upload build artifacts
        uses: actions/upload-artifact@v3
        with:
          name: ${{ needs.bump-version.outputs.version }}-${{ env.commit_hash }}

However it seems that both next and current are empty if there was no version change.  As the build job has the following in the logs:
Artifact -33336c0 has been successfully uploaded!

Added a new current option for the noVersionBumpBehavior parameter in v1.4.0, which will return the current version for both the current and next variables.

Great! Thank you 😊


Could chain(fn, m) dispatch also to m.flatMap(fn)?

Since Array.prototype.flatMap has arrived, one would perhaps expect that like map, filter, etc. chain(fn, anArray) dispatches to the native implementation anArray.flatMap(fn) as well?
That change would allow Ramda to work better on other types which still just expose a .flatMap method. (Kefir.flatMap, Bacon.flatMap).
Though the latter is the actually the reason I am asking. Because I am too lazy to motivate to add a chain alias to those libraries. 🙄
Of course it would break Ramda code which operates on a user type exposing a .flatMap which is not fantasy-land chain.

I'm mixed about this.  We haven't run into many problems with dispatching going too far -- #2223 is the only one that leaps to mind -- but it always could, and adding dispatch aliases would increase the chance of that.
But clearly it makes sense.  And there are others that would be more than reasonable:  map/fmap, and reduce/fold.  I'm not suggesting bringing back aliases for Ramda functions, only for their dispatching.
But I'm torn.
Do others have thoughts, @ramda/core?

A side note: I'm very slowly working on another library, one that has a good chance of never seeing the light of day.  That one simply lets you declare types, and the functions that operate on them.  The API is still in flux, but it will probably end up something like this:
const newLib = lib.addTypes([
  {
    name: 'Bacon',
    chain: (fn, val) => val.flatMap(fn),
    // ...
  }, //...
])

and you can choose to build your copy of the library with such types instead.  I really don't know if it's going anywhere, and clearly it's related in some ways to what Sanctuary and Bilby have done.

@CrossEye The problem your "side library" addresses is really of great concern: It's tedious to write a static function collection - much like a Static Land Module indeed - for every other useful type which only expose methods. But also for Static-Land-compatible libraries like @most/core you then to need to switch between those static functions depending on the current type:
import {map as mostMap} from 'most-core';
var incAllStream = Bacon.map(R.map(R.inc));
var incAllMStream = mostMap(R.map(R.inc));
var incAllPromise = R.andThen(R.map(R.inc));
incAllStream(Bacon.later(10, [1,2])) // -> B.Stream [2,3]
incAllPromise(Promise.resolve([1,2])) // -> Promise [2, 3]
// instead of
var incAll = R.map(R.map(R,inc))

With such an API as you laid out, it's the decision of the user if he/she want's e.g. Promises treated as monads.
I am curious how you plan to do type inspection on third-party objects in order to select the proper function from the API?
I've found Object.prototype.toString.call(obj) quite useful to distinguish between Promise, String etc. However the third-party type then must comply and implement [Symbol.toStringTag]

@semmel:
This library is only a handful of snippets beyond vaporware.  But I've been thinking about it for several years, and am hoping to start putting it together in the next few weeks.
This is the basic idea:
const newLib = lib.addTypes([
  {
    _name: 'My Type',  // possibly with some sort of namespacing: 'myTeam/project/type'?
    _extends: 'Other Type' // same namespacing considerations.
    _test: /* a unary predicate */,
    map: /*implementation of map*/,
    filter: /*implementation of filter*/,
    // ...
  }, //...
])

I will probably change that from a flat object to one in which the type functions are separated (and possibly grouped by typeclass) and the metadata doesn't need the underscore prefixes.
_test is required: this is how you tell me that a value is of your type.  _extends of course allows for a hierarchy; that would be used to sort the test invocations, so that I test Array of Integers before Array of Numbers, which I would test before Array to find the matching function.
There will also be an addTypeclass method.  Modules can be reopened, so you can add a function to, say, Arrays, although someone else created the main module for them. I haven't figured out the syntax for that yet.
This certainly overlaps a great deal with StaticLand.  When it came out, I put this aside for a long time.  I think it might have some advantages, but as much as anything, I simply like to try building out things myself.

Since Array.prototype.flatMap has arrived, one would perhaps expect that like map, filter, etc. chain(fn, anArray) dispatches to the native implementation anArray.flatMap(fn) as well?

To the best of my knowledge, map and filter don't actually call the Array native methods. I support dispatching to flatMap, but I don't think we should be doing it for native Array, only for custom types that have flatMap defined but not chain.

@Bradcomp

I don't think we should be doing it for native Array...

Is that because of the extra arguments (index and array) in the native callbacks? I was not suggesting to change the signature of map of course.
It‘s just that looking at the source code, it (perhaps wrongly) appeared to me that dispatching to one of the possible methods does not depend on the type but only on the presence of such a method. Thus dispatching to flatMap would include native Array as well. So I may have stated my issue backwards: Array.flatMap was just an argument for dispatching to flatMap in general.

See here: https://github.com/ramda/ramda/blob/master/source/internal/_dispatchable.js#L26
Because map et. al. on the native Array aren't lawful / aren't performant / are known entities on a native type we don't actually dispatch to them but allow for our own implementation.
Given how dispatchable works I would think that if we added a dispatch to flatMap it should be fine - the check in dispatchable would just cause it to use the current chain implementation.

@Bradcomp
Thanks for the reply, I see now that Array is exempt from dispatching.
That's ok - however it just should not be justified for the wrong reasons. I doubt that Array.map and Array.flatMap are in general "not performant".
I did some naive tests on my local machine with browsers and the result is not clear cut.

µsec / iteration  (size = 10e+6)
Array.flatMap
R.flatMap
Array.map
R.map

Firefox*
0.06
0.2
0.01
0.01

Chrome
0.6
0.22
0.025
0.014

Safari
0.04
0.06
0.007
0.005

iOS13**
0.36
0.56
0.05
0.013

* privacy.reduceTimerPrecision=false
** size = 10e+5
Obviously this is not benchmark code and memory effects may have an effect, but it's just Chrome where loops outperform the native .map implementations.

Looks like native map is at least as slow as R.map in all instances here, in most cases being slower, though only a little bit so. I'm surprised you mention Chrome but not iOS, where the difference between native and Ramda is greater than it is in Chrome, unless I am misreading something.
I have no experience with the native flatMap so I don't want to comment on performance there. I still think that if we know what a type is and how it's supposed to implement the function it's better to rely on our own stable implementation rather than make it dependent on the browser.

I'd like to retract my proposal of making R.chain(f, m) dispatch to m.flatMap(f), and close the discussion with a summary:

If m is an Array there are no reasons (e.g. performance) to switch to the native .flatMap implementation.

The second problem is addressed in Ramda since ever by dispatching to FantasyLand.


Fix stacktrace conversion

I faced an issue with stacktrace first entry being incorrect.
Say in application we have something like that:
gitlab.com/project/api/repositories.(*ModelTranslation).Create
 	/service/repositories/model_translation.go:33
gitlab.com/project/api/services.(*Model).Create.func1
 	/service/services/model.go:68
github.com/go-pg/pg.(*Tx).RunInTransaction
 	/go/pkg/mod/github.com/go-pg/pg@v8.0.4+incompatible/tx.go:79
...

But Sentry received an exception with a bit different trace:
  File<EMAIL_ADDRESS>line 151, in WithStack
    callers(),
  File "/service/services/model.go", line 68, in func1
    err = modelTranslationRepo.Create(txCtx, mt)
  File<EMAIL_ADDRESS>line 79, in RunInTransaction
    if err := fn(tx); err != nil {
...

So the first entry in Sentry's trace leads to pkg/errors, but originally it was referring to the application code.
While trying to find the reason behind that I noticed stacktrace conversion in raven-go looked almost the same as in logrus_sentry except for a - 1 part here.
To be honest I'm not sure how exactly it works, but I did the same change for logrus_sentry and now I get correct stacktrace and it seems like all tests here still pass.

i try. but it didn't work


Add flutter 1.20.0 requirement to pubspec

Noticed I couldn't build the package on Flutter 1.17.1.
Good to have for future compatibility so that users of older Flutter versions can check out the correct package version which is compatible.

Thanks for contributing @MrAlek. You're the best


Issues connecting to GPS device

Hi,
I'm trying to use PyGPSClient on Artix Linux and I'm encountering some issues. The GPS device I have is this one and I installed PyGPSClient using pip as described in the github readme (python -m pip install --upgrade PyGPSClient).
The first issue is that I can't seem to run the application without root/sudo. The docs say to add my user to the tty group (there is no dialout group on my system), and I did that but PyGPSClient still says it cannot connect to the device:

I also tried changing the permissions for /dev/ttyACM0 using udev rules, like this one
KERNEL=="ttyACM[0-9]*",NAME="tts/ACM%n",SYMLINK+="%k",GROUP="tty",MODE="0666"
but I still couldn't connect to the GPS device. Is something mis-configured on my machine or is there a PyGPSClient issue?
Another problem is that even if I connect as root, the connection to the device seems to drop at random. It takes anywhere between 2-3 seconds to 30 seconds to get a status bar message saying "End of file reached":

Sometimes I see an error saying that the device returned no data:

I also see this error printed out several times in the console where I start PyGPSClient from:
 Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
    return self.func(*args)
  File "/usr/lib/python3.10/site-packages/pygpsclient/serial_handler.py", line 324, in on_read
    self._parse_data()
  File "/usr/lib/python3.10/site-packages/pygpsclient/serial_handler.py", line 350, in _parse_data
    (raw_data, parsed_data) = self._reader.read()
  File "/usr/lib/python3.10/site-packages/pyubx2/ubxreader.py", line 130, in read
    raise ube.UBXStreamError(f"Unknown protocol {byte1 + byte2}.")
pyubx2.exceptions.UBXStreamError: Unknown protocol b'$6'.

Other GPS apps work fine, I'm seeing these issues only with PyGPSClient and I'm not sure if these are bugs or problems with my machine/OS. Any help is greatly appreciated.
Thank you.

Hi @invader-zimm,
I'm away from the office at the moment so these are just some preliminary observations/queries for now.

What version of PyGPSClient are you using?

is there a typo in your udev rule - did you mean tty rather than tts?

What happens if you try the following command and then run it as a normal user?

sudo chmod 0666  /dev/ttyACM0

Have you changed the default serial port timeout setting at all?

I'm not familiar with this particular GPS device. I presume it is based in a u-blox chip; probably the NEO-M6 or M7. Can you confirm the u-blox device version and protocol (it's shown on the PyGPSClient UBX configuration panel)?

This may just be an artefact of the screen print copy & paste, but I notice most of the fields in the settings panel do not appear to be populated, which would suggest the installation is corrupted. Are you seeing these fields populated on your screen?

Professor Membrane (aka semuadmin)

Hello,

I have a Thinkpad T460s laptop with an Intel i5-6300U CPU; The OS is Artix Linux, all packages are up to date
When I made the first post I was using v1.1.4. I updated to v1.1.7 but I get the same errors and behaviour
I'm not sure if there's a typo, I was following the instructions from this post and the udev rule seems to work as expected; I don't get any errors and the user/group permission are set correctly when I plug in the GPS
Manually setting the permission to 0666 doesn't change anything, I still cannot connect except as root
I have not changed any of the serial port settings, everything should be at default values
According to the U-Center utility from ublox (which I ran on a Windows machine), the device has a ublox M8/8 chip; I haven't found a way to get the firmware version though... The UBX config dialog in PyGPSClient shows this:

I have not changed the output type, it looks like only PyGPSClient shows UBX messages. For example, I used putty on Windows to connect to the GPS device using the serial connection, and the messages I see are all NMEA:

I noticed that in PyGPSClient, immediately after I click the connect button, the console shows a few NMEA messages but everything after that is UBX. I don't know how/why, I have not specifically configured it that way (at least not intentionally).
I was referring to utilities like cgps, gpsmon and xgps which are available from the official repos. I don't know if they use the UBX protocol (probably not). I also use an app called OpenCPN which for sure doesn't know about UBX, I was able to make it connect to the GPS using the gpsd protocol/daemon and the messages received by OpenCPN from the GPS are all NMEA
This might be a bug. It looks like the fields are populated, but they only show something if I click them first. I thought it might be an issue with the desktop color theme (I use the MATE Desktop environment) and I switched between dark and light themes a few times but it didn't help, most of the controls (edit fields, checkboxes, int/float fileds etc) do not update their contents properly. You can see that in the UBX config screenshot posted above, all UI controls look empty; The "ESF-ALG" parameter from the "CFG-MSG Message Rate Configuration" list in the bottom left corner of the dialog was invisible until I clicked on it.
Sure. Something like in the putty screenshot?

Thanks,
Z.

Ok something really bizarre is going on here which I've never seen before in any mainstream linux dist. It looks like PyGPSClient, Python or tkinter is not properly installed.
I'm not too familiar with Artix linux - is there any particular reason why you chose this over a more mainstream dist like Ubuntu? I'm not suggesting this is the source of the issue necessarily - just wondering if there's something peculiar about the Python and/or tkinter implementation on this distribution. Are you successfully running any other Python/tkinter GUI apps on this platform?
Your GPS device is a NEO-M8 running firmware SPG 3.01, UBX protocol version 18.0, which is perfectly standard.  PyGPSClient v1.1.7 can decode NMEA, UBX and RTCM3 GNSS protocols (the other utilities you mention only handle NMEA natively) but it only shows what the device has been explicitly configured to output. The UBX configuration panel does send a few UBX messages to the device when it's first opened to establish the current state of the device, but it will not leave the device outputting UBX navigation messages unless you explicitly configure it that way.
As I say, the fact that you're not seeing the panel entry fields displayed (until you click on them) suggests there's something seriously wrong with Python and/or tkinter.
When I'm back in the office I'll try to spin up an Artix VM and see if I can recreate the problem, but off the top of my head I'd say it was a Python/tkinter implementation problem.
Out of interest, have you tried installing PyGPSClient on a Windows platform and, if so, does it work OK with this GPS device?

PyGPSClient was originally designed as a kind of "u-center Lite" for Linux platforms. It has been rigorously tested on most mainstream Linux dists but not, admittedly, on Artix (that's an omission we'll endeavour to rectify in future releases).
 reply but in this case it may be worth a try. Uninstall PyGPSClient using pip uninstall, then reinstall ensuring that all the tkinter & python dependencies mentioned in the installation instructions are present.
As an aside, I normally install Python/tkinter from source on Linux platforms to take advantage of various performance optimisations. But PyGPSClient should run fine on the version of Python (>=3.7) supplied in the standard repos, though you do normally have to install all the tkinter dependencies separately.

Sigh... I must bow my head in shame... The suggestion "uninstall, reinstall and try again" was the right call. I had tried that a couple of times, but on a more thorough inspection it turned out i had multiple PyGPSClient versions installed in /usr/lib/python3.X/site-packages and ~/.local/lib/python3.X/site-packages, for python 3.9 and 3.10. I must have run the installation as root or with sudo a few times, then as a regular user and forgot all about it. Cleaning everything up and reinstalling again fixed all of the UI issues, everything looks and behaves as expected now. I don't see any more Tkinter errors in the console either.
For the intermittent disconnects, it turns out that gpsd was the culprit. It was configured to automatically start the daemon when the GPS was connected through USB and I guess it would put some sort of lock on /dev/ttyACM0. Disabling the service or killing the gpsd process after the GPS is connected solves the random disconnects and not being able to connect from PyGPSClient except as root.
The only issue remaining is the UBX messages instead of NMEA, but it doesn't look like that's a real problem since everything else seems to work fine. These are the settings in the main UI and in the config dialog:

As far as I can tell, the device is set to output NMEA as well but the only such messages I see in the PyGPSClient console are immediately after clicking the connect button. The NMEA messages are the ones mentioned at the bottom of my previous post, they're about the hardware/firmware versions, protocol, antenna etc. Everything else after that is UBX.
Do you think that's worth investigating further?
Lastly, Artix is pretty much Arch Linux with various choices for the init system. A lot of the packages I have installed come from the Arch repositories. I landed on it a while back when I was distro hopping and wanted to try new things. I kinda got used to it and never moved on...

Hi @invader-zimm OK, glad you got to the bottom of it - at least I know what to suggest if I get a similar issue in the future!
As to why the device is outputting UBX rather than (or as well as) NMEA data, that's another puzzler. Are you saying that it's ONLY outputting UBX messages, or NMEA AND UBX messages (your previous terminal screen shots seem to indicate that it is outputting NMEA data). Does it still do this even after powering off and on?
I can only image that either the device was configured that way out of the box (which seems highly unlikely) or you've inadvertantly sent one or more 'turn on UBX message' commands from the PyGPSClient UBX configuration panel.
Assuming PyGPSClient is connecting and working as expected now, you should be able to open the UBX Configuration panel and select from the various preset NMEA/UBX message options on the lower right. These allow you to quickly turn on or off all the NMEA and/or UBX message types supported by your receiver, or select a 'minimum set' of NMEA or UBX message types (i.e. just NMEA GSA & GSV OR UBX NAV-PVT & NAV-SAT). You should see a series of ACK-ACK or ACK-NAK responses (don't worry if you see some red ACK-NAK responses - this just signifies that your M8 receiver doesn't support all possible NMEA or UBX message types).

Suggest try this and let me know how you get on.

Hi @invader-zimm Are you happy for this issue to be closed?

Hi, sorry I was afk for a while. Yes the issue can be closed, the NMEA/UBX issue is not really a problem for me and your suggestion of using the presets from the UBX config dialog worked as well.
Thank you for the replies.


Testing: add some force unwraps for Android

Add some force unwraps to address nullability differences on Android from other platforms.

@swift-ci please test

@swift-ci please test


Could you please make multi-line text possible

Great job!
Could you please make multi-line text possible

Found this out by accident, but you can use | (pipe) to force newline as can be seen here

@Dovry Thanks. I'll have a try.


Implement Release Administrator UI - alpha

Is your feature request related to a problem? Please describe.
We'd like to create a new shiny app module: Release Administrator. (@lakikowolfe it turns out release coordinator is already taken by a different service in our INCLUDE project that does very different tasks).
This module addresses the user scenario here.
@lakikowolfe has completed requirements and stack research, and has developed initial design mockups #263.
Describe the solution you'd like
The alpha version of the Release Administrator UI should implement the design mock ups here.
How important is this feature? Select from the options below:
• 🌗 Medium - can do work without it; but it's important (e.g. to save time or for convenience)
When will use cases depending on this become relevant? Select from the options below:
• Mid-term - 2-4 months

Link the related tickets here

Related Issues:
#275
#276
#277


what's the purpose of add_gt_proposals in RPNPostProcessor?

❓ Questions and Help
There is a function called add_gt_proposals in RPNPostProcessor, located at rpn/inference.py. It seems like trying to add target bounding boxes to proposed bounding boxes. But if so, the model will directly get the answer, and as a result, bounding boxes loss will be very low, nearly zero. Then the model can't get trained properly. Then why we call this function?

https://github.com/pytorch/vision/blob/ab73b44887eb9d7566b2a80fd45cb5f68b11d643/torchvision/models/detection/roi_heads.py#L642
This function also exsits in roiheads.py.


Limit some functionalities?

Is there a way to limit some functionalities for instance, is there a way for participants to not download the data as a csv.
I'm hoping to create an interactive website for data exploration, but with the ability to download the data off. I love the UI of the package, but saw that you can download the data as a csv which would not be possible with our sensitive data.

@follhim This is a good idea. I plan to implement this recently, maybe in few weeks

@follhim I just released v0.1.5, with a new param toolbarExclude to indicate tools to be excluded from toolbar UI.
In your case, you can use gwalkr(df, toolbarExclude=list("csv")) to exclude the csv exporting function.
For keys of other tools, you can refer to the source code of graphic-walker.
However, please note that Kanaries brand info is not allowed to be removed or changed unless you are granted special permission.

Ahhh this is amazing!
I'll definetly have to try this out later this week. When I do, I'll have to share the link of the website to show my gratitude!

Okay, so this is perfect, I love that the data is interactive and yet also safe from download (I will not be using github to post).
But my main issue is that there doesn't seem to be a way to get a histogram of one variable on the x-axis. Am I doing something wrong? Like I can see the histogram on the "data" tab.
I can do a scatterplot, but that's not the same as a histogram. I choose bar, which kind of works. But not with one variable.
https://mediaspace.illinois.edu/media/t/1_jti8smmu Would love to hear your advice

Okay, so this is perfect, I love that the data is interactive and yet also safe from download (I will not be using github to post).
But my main issue is that there doesn't seem to be a way to get a histogram of one variable on the x-axis. Am I doing something wrong? Like I can see the histogram on the "data" tab.
I can do a scatterplot, but that's not the same as a histogram. I choose bar, which kind of works. But not with one variable.
https://mediaspace.illinois.edu/media/t/1_jti8smmu Would love to hear your advice

@follhim You want to visualize the distribution of a continuous measure, so actually the first step is to create the bins of that measure.

Then you can drag the bins to an axis, and drag the row count to another axis

Okay, so this is perfect, I love that the data is interactive and yet also safe from download (I will not be using github to post).
But my main issue is that there doesn't seem to be a way to get a histogram of one variable on the x-axis. Am I doing something wrong? Like I can see the histogram on the "data" tab.
I can do a scatterplot, but that's not the same as a histogram. I choose bar, which kind of works. But not with one variable.
https://mediaspace.illinois.edu/media/t/1_jti8smmu Would love to hear your advice

@follhim You want to visualize the distribution of a continuous measure, so actually the first step is to create the bins of that measure.

Then you can drag the bins to an axis, and drag the row count to another axis

And from there how do you do an Density plot ?
PS: Your work is amazing cheers !

Okay, so this is perfect, I love that the data is interactive and yet also safe from download (I will not be using github to post).
But my main issue is that there doesn't seem to be a way to get a histogram of one variable on the x-axis. Am I doing something wrong? Like I can see the histogram on the "data" tab.
I can do a scatterplot, but that's not the same as a histogram. I choose bar, which kind of works. But not with one variable.
https://mediaspace.illinois.edu/media/t/1_jti8smmu Would love to hear your advice

@follhim You want to visualize the distribution of a continuous measure, so actually the first step is to create the bins of that measure.

Then you can drag the bins to an axis, and drag the row count to another axis

And from there how do you do an Density plot ?
PS: Your work is amazing cheers !

@munoztd0 Thanks! Unfortunately, we don't support smoothing and proportion computation.
If you want to mimic a density plot in GWalkR, one workaround is to select line or area as your mark type, after you draw a histogram.

Oh that's clever, and good enough for what i need thanks !


add Creator field to Monitor struct

Hi @zorkian,
I'm trying to access the creator of a monitor, so I added this struct field. Let me know if there are any style changes you'd like me to make.

@seiffert please take another look when you have a chance, I think I got all of your suggestions in but let me know if there's anything else

Thanks, Looks good to me!

Sorry to nitpick the capitalization, but it'll bug me otherwise... :)
While you're in here, can you update .travis.yml and remove the line that says   - 1.4? We want to stop testing against Go 1.4 since golint now requires 1.5+ and that test will never pass.

Sorry to nitpick the capitalization, but it'll bug me otherwise... :)

No problem :)

While you're in here, can you update .travis.yml and remove the line that says - 1.4? We want to stop testing against Go 1.4 since golint now requires 1.5+ and that test will never pass.

Done

Great, thank you so much both of you!


FIX: TV Episode images missing language code

Fixes the issue described in #124.

Thanks for the pic @dcamenisch 🙏🏻


SELECT: Nested select example is broken

Describe the bug

2.9.6
To Reproduce
Steps to reproduce the behavior:

Go to repo locally
Add nested select example to api page
Run development locally
Scroll to example
Click on button to open dialog
Open dropdown of the select component
See error

Expected behavior

Example works and shows how a user can control the overflow of the select dropdown

This has been fixed and is no longer an issue.


Add support for code first configuration

Is your feature request related to a problem? Please describe.
I want to use Yarp-swagger and use code first yarp configuration. Currently this is done by building a custom IProxyConfiguration and adding RouteConfig and ClusterConfig's to it programmatically. The problem is that since these are all sealed classes i cannot in any way add the required Swaggers Property to the DestinationConfig object.
public static ClusterConfig Cluster() => new()
{
    ClusterId = ClusterId,
    Destinations = new Dictionary<string, DestinationConfig>(StringComparer.OrdinalIgnoreCase)
    {
        {
            "Destination1",
            new MyDestinationConfig()
            {
                Address = "https://localhost:8520",
                Swaggers = new SwaggerDestinationConfig // This doesn't work because DestinationConfig class is sealed
                {

                }
            },
        }
    }
};

Describe the solution you'd like
I would like some form of support to configure my yarp swagger in code just as i do with my clusters and routes.
I don't believe this is currently possible?
Describe alternatives you've considered
I tried extending DestinationConfig with a child class but the type is sealed so i cannot touch it. Nor are there any interfaces available for DestinationConfig

@Joren-Thijs-KasparSolutions The feature was added 🚀 Version 3.3.0 is available. Please star this project ⭐

@andreytreyt wow that was fast Thx! Is there any documentation on how to use it? I looked at the PR but i didn't see any changes to the readme?
Also regarding my star you already had it😉

@Joren-Thijs-KasparSolutions I updated README. Now it has From Code section.
Thanks for your issue and your star 👍


disconnect wallet

It seems like starknet-react doesn't support disconnecting the connected wallet. Would maintainers consider supporting a disconnect()?
Ref:
https://github.com/apibara/starknet-react/blob/main/packages/core/src/connectors/base.ts#L20=

I think this would be a welcomed contribution!

Yep, I'm happy to review a PR for this.


Feature Request - Categories/Folders

I think it would be nice to have folders inside of pocketbase, nothing crazy, just ability to group DBs
It could allow to have 1 group that is setted as production and second as development... basicaly a way to easier manage multiple projects...

Please use the repo search to minimize the noise. This was also discussed several times in the past and there are no plans, at least for v1, to allow multiple databases with 1 PocketBase instance.


Problem with changing the tilesource

We are working on osd for quite sometime, facing an issue with loading tiles for image when the tilesource is changed.
Ignoring tile a.Tile loaded before reset
We tried to remove the old tilessource before adding new one, tried replacing it with new one, but it takes time to do somethings with old tilesource before loading the new one
In the sample code you can zoom into the image and press next button to change tilesource but it takes time before new image is visible on screen.
Sample code:
https://codepen.io/AdnaanS/pen/EEvwye
Are we missing something?
Any help is appreciated.

It looks like your tile server is just really slow. Here's the initial load on my browser (Mac Firefox):

That's 5 seconds to load about 20 tiles.
Given that you've got that kind of delay, of course you're going to see blank for a little bit, since you are removing the previous image before the new one loads. Changing it like so should be better:
function next() {
  var self = this;
  self.imageCounter = (imageCounter+1)%9;
  // self.viewer.world.removeItem(self.viewer.world.getItemAt(0));
  self.viewer.addTiledImage({
      tileSource: {
          y: 0,
          x: 0,
          height: 3300,
          width: 2550,
          tileOverlap: 2,
          tileSize: 250,
          getTileUrl: function (level, x, y) {
              var url = base + (self.imageCounter+1) + "/" + level + "_" + x + "_" + y;
              return url;
          }
      },
      success: function () {
          self.viewer.world.removeItem(self.viewer.world.getItemAt(0));
      }
  });
}

Of course you might still want to let the user know that the change is happening, via a spinner or something, if you can't improve the server speed.
Also note that the success function just means the image has been added, not that any tiles have necessarily loaded. If you want to wait for the first tile to load, you can use the tile-loaded event. Here's an example: https://codepen.io/iangilman/pen/BrmLKP
...or if you want to wait for the image to be fully loaded (which will take longer, but you won't see it be blurry for a moment), you can use the fully-loaded-change event. https://github.com/openseadragon/openseadragon/issues/1257 has some examples for how to use that.
Another strategy is to preload the next image even before the user asks for it; this way it's already ready when they hit the button.

Thanks for the response, this helped alot

thanks for the help


[QUESTION] Concept of ::import and ::toArray

Versions
PHP version: 7.1.20-1
Laravel version: 5.6
Package version: 3.1
Description
It is not clear to me how to use the methods. If i do this
			$ts = Excel::toArray(new HImport1, $importFile);

			dd($ts);

i get an array as expected but the method "collection(Collection $collection)" in my import-class seems to be unused.
if if change it to
			$ts = Excel::import(new HImport1, $importFile);

			dd($ts);

i can dump the collection (of a tab) in the "collection"-method of my import-class. But i dont see a way to export it to my controller?
What to do?
Additional Information
Import-class:

namespace App\Imports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;
use Maatwebsite\Excel\Imports\HeadingRowFormatter;

HeadingRowFormatter::default('none');

class HImport1 implements ToCollection, WithHeadingRow
{

    public function collection(Collection $collection)
    {

    	dump($collection);

    	return "test";

    }
}```

It seems that i succesfully wrapped my mind around the new concept of laravel excel.
My problem: I need the sheet names and header row to let the user decide which sheet ist holding a specific kind of data.
With 2.1 i did this
function getSheets($EXCELFILE_READER){
	$sheetData = array();
	$sheetTitle = array();
	$sheets = array();
    foreach ($EXCELFILE_READER->getAllSheets() as $sheet) {
    	$sheetTitle[] = $sheet->getTitle();
        $sheets[] = array('title' => $sheet->getTitle(), 'rows' => $sheet->toArray());
    }
    $sheetData = array(
    	'names' => $sheetTitle,
    	'data' => $sheets
   	);
	return $sheetData;
}

Now i do it like this
Import Class
<?php

namespace App\Imports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;
use Maatwebsite\Excel\Imports\HeadingRowFormatter;
use Maatwebsite\Excel\Concerns\WithEvents;

use Maatwebsite\Excel\Events\BeforeImport;
use Maatwebsite\Excel\Events\AfterImport;
use Maatwebsite\Excel\Events\BeforeSheet;
use Maatwebsite\Excel\Events\AfterSheet;

// Überschriften werden genau so übernommen wie sie in der Datei angegeben wurden
HeadingRowFormatter::default('none');

class HImport1 implements ToCollection, WithHeadingRow, WithEvents
{
    public $sheetNames;
    public $sheetData;

    public function __construct(){
        $this->sheetNames = [];
	$this->sheetData = [];
    }
    public function collection(Collection $collection)
    {
    	$this->sheetData[] = $collection;
    }
    public function registerEvents(): array
    {
        return [
            BeforeSheet::class => function(BeforeSheet $event) {
            	$this->sheetNames[] = $event->getSheet()->getTitle();
            }
        ];
    }

}

^ Above way is the correct way for your user case then, yes.

@CaptainCannabis Thanks


MJML3 to MJML4

I added the migrate button on my project to convert the mjml3 code to mjml4. Please let me know which method I will call on click to migrate the code from mjml3 to mjml4.  Help Needed.

This is not related to MJML so i'm closing, the app should display the banner if you have mj-container in mj-body