Landscape mode and responsive framework

Intro
This framework works flawlessly for small screen devices, but when you turn your device into landscape mode the situation also becomes upside down.
The Problem
Although this is able to hand my approximately 450x850 mobile, but when I turn it in landscape mode then all the ui elements are too big and some are even overflowing cause of the less dpi in small screen but that's not the case in portrait mode.
You can also try this on the recreated flutter website, when you turn your phone with any resolution into landscape mode then everything becomes too big to handle event the bottomNavigationBar also doesnt respect the small screen.
It seems like it doesn't respect nor recognize small screens in landscape mode cause it thinks that the width is higher so that is true in landscape but it should also consider that the height is low in landscape mode cause the resolution becomes 850x450(in my small screen case)
Suggestion / Possible Solution
Give us the option to specify other properties for landscape mode or by default respect landscape mode cause even if the width is high in it but the height is very low in that mode, or it should understand landscape mode by itself by checking the aspect ratio which is my case is approx 2:1 in landscape mode.
Enough Talk, Show me your code
This is the code of my builder inside MaterialApp
builder: (context, widget) => ResponsiveWrapper.builder(
  BouncingScrollWrapper.builder(context, widget),
  minWidth: 450,
  defaultScale: true,
  breakpoints: [
    ResponsiveBreakpoint.resize(500, name: MOBILE),
    ResponsiveBreakpoint.autoScale(800, name: TABLET),
    ResponsiveBreakpoint.autoScale(1000, name: TABLET),
    ResponsiveBreakpoint.resize(1200, name: DESKTOP),
    ResponsiveBreakpoint.autoScale(2460, name: "4K"),
  ],
),

Great issue. Thanks for providing a good explanation. I think I understand what you're saying but if you could provide some images of layouts that don't look right in landscape mode, that'd be great.
Thanks for using this library!

Great issue. Thanks for providing a good explanation. I think I understand what you're saying but if you could provide some images of layouts that don't look right in landscape mode, that'd be great.
Thanks for using this library!

Great issue. Thanks for providing a good explanation. I think I understand what you're saying but if you could provide some images of layouts that don't look right in landscape mode, that'd be great.
Thanks for using this library!

Ok let me capture the issue

Great issue. Thanks for providing a good explanation. I think I understand what you're saying but if you could provide some images of layouts that don't look right in landscape mode, that'd be great.
Thanks for using this library!

Ok let me capture the issue

@searchy2
Portrait

Landscape

Although it fits in landscape in my other 1280x720 mobile and other tablet but the 450x850 mobile doesn't fits it well.

@searchy2
Portrait

Landscape

Although it fits in landscape in my other 1280x720 mobile and other tablet but the 450x850 mobile doesn't fits it well.

Thanks, I will take a look and add a landscape param most likely.
For now, can you take a look at ResponsiveRowColumn to see if it suits your needs?

Thanks, I will take a look and add a landscape param most likely.
For now, can you take a look at ResponsiveRowColumn to see if it suits your needs?

For now, can you take a look at ResponsiveRowColumn to see if it suits your needs?

Thanks for the info about ResponsiveRowColumn, previously I was using a Similar setup as a widget cause their is not much info about this in the READme.
But this also doesn't do much and the problem still remains.. :(,
I hope this gets solved soon till then I am attaching the code of my responsive builder below:
builder: (context, widget) => ResponsiveWrapper.builder(
  BouncingScrollWrapper.builder(context, widget),
  minWidth: 450,
  defaultScale: true,
  breakpoints: [
    ResponsiveBreakpoint.resize(500, name: MOBILE),
    ResponsiveBreakpoint.autoScale(800, name: TABLET),
    ResponsiveBreakpoint.autoScale(1000, name: TABLET),
    ResponsiveBreakpoint.resize(1200, name: DESKTOP),
    ResponsiveBreakpoint.autoScale(2460, name: "4K"),
  ],
),

For now, can you take a look at ResponsiveRowColumn to see if it suits your needs?

Thanks for the info about ResponsiveRowColumn, previously I was using a Similar setup as a widget cause their is not much info about this in the READme.
But this also doesn't do much and the problem still remains.. :(,
I hope this gets solved soon till then I am attaching the code of my responsive builder below:
builder: (context, widget) => ResponsiveWrapper.builder(
  BouncingScrollWrapper.builder(context, widget),
  minWidth: 450,
  defaultScale: true,
  breakpoints: [
    ResponsiveBreakpoint.resize(500, name: MOBILE),
    ResponsiveBreakpoint.autoScale(800, name: TABLET),
    ResponsiveBreakpoint.autoScale(1000, name: TABLET),
    ResponsiveBreakpoint.resize(1200, name: DESKTOP),
    ResponsiveBreakpoint.autoScale(2460, name: "4K"),
  ],
),

Will create a fix for this issue soon.

Good news! MediaQuery contains the landscape and portrait orientation property.

MediaQuery.of(context).orientation
https://api.flutter.dev/flutter/widgets/MediaQueryData/orientation.html

Good news! MediaQuery contains the landscape and portrait orientation property.

MediaQuery.of(context).orientation
https://api.flutter.dev/flutter/widgets/MediaQueryData/orientation.html

The ResponsiveFramework resolves the correct values to MediaQuery so you can confidently use that property.

Can you elaborate more?

If you use MediaQueryData's orientation property, you will get Orientation.landscape and Orientation.portrait which is what you wanted right?

Hey @searchy2,
Sorry for late reply, that's not what I wanted.
If you read my problem again then it when I set the breakpoints of responsive framework then it treats like 450x850(widthxheight) in portrait but in landscape it will become 850x450 so the breakpoints will think its a Tablet and will not apply the responsive breakpoint formula (hence some of my objects will come out of the screen as I reported in start of this issue), Code reference below
builder: (context, widget) => ResponsiveWrapper.builder(
  ...
  breakpoints: [
    ResponsiveBreakpoint.resize(500, name: MOBILE),  // my 450x850 mobile will behave as a mobile in portrait
    ResponsiveBreakpoint.autoScale(800, name: TABLET), // same 450x850 mobile will behave as a tablet \
        in landscape as in this mode width and height are switched(850x450),
    ...
  ],
),

I hope you can understand the underlying issue, It is not doing what it should do i.e. become responsive on all form factors and orientations.
Regards Prateek.

My apologies, I thought I reopened this issue already.

@searchy2
I also have the same issue. when turning my devices into landscape mode, the responsiveness is not working (everything is not fitting the screen properly). Any idea when a fix will be out?

This'll be the next thing I look at.

@searchy2 Any timeline for the fix?

Not at the current time. This is an involved issue that needs quite a bit of thought to fix.
Do you have any suggestions?

@searchy2 Are you using MediaQuery.of(context).size.width to determine the width? If so, you could change that to MediaQuery.of(context).size.shortestSide which will ensure the width is never changing even if they switch to landscape.

I am not. That's a good suggestion, thank you!

Any timeline for a fix @searchy2 ?

? @searchy2

@searchy2 any luck?

@searchy2 ??

@searchy2 If you don't have the time to fix this, could you please tell us what is the proper way to do it, so that we can submit a PR?

@searchy2 my team and i are getting close to launch and this is one of the few missing pieces. please update when you can.

My apologies, the solution here is to add a landscape breakpoints param and switch based on the media query returned orientation value.
I don't have time today but I'll try this weekend.

Good news, I've added support for landscape breakpoints with the v0.1.1 release!
Landscape mode support was as extensive as I imagined and really needed a good think through.
The crux of the issue is that Flutter has no REAL landscape mode detection. The orientation is virtually computed based on if width > height. This means that landscape mode makes no sense on desktop or web. By default, the ResponsiveFramework only applies landscape breakpoints on iOS, Android, and Fuchsia. However, to keep things customizable, the supported landscape platforms can be customized by passing a list of supported platforms to landscapePlatforms.
Please test and let me know your thoughts and suggestions.
This is not full landscape support as it is missing minWidthLandscape, maxWidthLandscape, defaultScaleLandscape, defaultScaleFactorLandscape, etc. Any help adding support for those features is appreciated!

i think the issue still exists? i entered the following
landscapePlatforms: [
TargetPlatform.android,
TargetPlatform.iOS,
],
landscapeBreakpoints: [
ResponsiveBreakpoint.autoScaleDown(450,
name: MOBILE, scaleFactor: 0.73),
ResponsiveBreakpoint.autoScaleDown(800,
name: TABLET, scaleFactor: 0.73),
ResponsiveBreakpoint.autoScaleDown(1000,
name: TABLET, scaleFactor: 0.73),
ResponsiveBreakpoint.autoScaleDown(1200,
name: DESKTOP, scaleFactor: 0.73),
ResponsiveBreakpoint.autoScaleDown(2460,
name: "4K", scaleFactor: 0.73),
],
and it's still not working when i switch from portrait to landscape
anyone else?
@searchy2

@fdarsot I could be wrong here but wouldn't the width change when in landscape so I don't think it'd be the same breakpoint numbers as portrait.

ohhh good point. i think you are correct @HasanMuslemani i was going based on the example in the repo. let me try new breakpoints

tried with different breakpoints, it still isnt working

is it working for anyone else?

is it working for anyone else?

What are your new breakpoints?

@prateekmedia i checked what my screen width was when it was in landscape mode and adjusted it to that.
landscapePlatforms: [
TargetPlatform.android,
TargetPlatform.iOS,
],
landscapeBreakpoints: [
ResponsiveBreakpoint.autoScaleDown(640,
name: MOBILE, scaleFactor: 0.73)
],

Hmmm.. I'll find out the issue with some tests.
For now, you need to test on a target device in order to have landscape apply.
Landscape mode isn't enabled by default on Web or Desktop.
You CAN enable it by adding windows, web, or macOS into the landscapePlatforms.

@searchy2 im testing on a real device with targeted breakpoints
im only developing for Android and IOS btw

Well, that's unfortunate.
I'll take a look tomorrow, the bulk of the work is done so it's probably a quick fix.
And can add some tests!

Thank you for all your work btw! i think we're close. this is one of the few last things needed before we launch and it would be great to have.

I believe the problem is that flutter does not trigger MaterialApp.builder when orientation changes

@fdarsot @prateekmedia
v0.1.2 Released!

Full support for landscapeBreakpoints - breakpoints in landscape mode. Create landscape overrides with minWidthLandscape, maxWidthLandscape, defaultScaleLandscape, etc.
Use ResponsiveTargetPlatform to enable landscape support for platforms including web.

I've verified through tests that landscape mode now works correctly.
Please note that landscape can be VERY confusing, especially when testing on desktop or web.
To test on desktop or web:

Add ResponsiveTargetPlatform.windows or the test platform to landscapePlatforms
Add landscape breakpoints to breakpointsLandscape.
Shrink the window height to something small like 200px. If the height is too large such as 600px, any width smaller than 600px activates portrait mode instead of landscape.
Check the maxWidth, minWidth, etc settings. You must override them with maxWidthLandscape if you want to use different values in landscape mode. Otherwise, the values default to the portrait values.

Please test and hopefully everyone's issues are resolved.

In spite of the seemingly complex concepts here, landscape and portrait breakpoints switch seemlessly and it's a beauty to behold.

In spite of the seemingly complex concepts here, landscape and portrait breakpoints switch seemlessly and it's a beauty to behold.

Ok looks great, although I will test it when I'm free. If anyone has any query then I will reopen it.

@elvosparsley You need to specify different breakpoints for both breakpoints and breakpointsLandscape.
Here's how I am doing it in my app: https://github.com/marchellodev/sharik/blob/master/lib/main.dart#L63

Closing again as issue is answered.

@elvosparsley You need to specify different breakpoints for both breakpoints and breakpointsLandscape.
Here's how I am doing it in my app: https://github.com/marchellodev/sharik/blob/master/lib/main.dart#L63

Many thanks for the example, I was missing the scaleFactor in the breakpoints, works great now!

I think if you want to get the best result of landscape mode, use this website's information about the resolution of devices you are targeting with: click this link
You can see the list that the most wide device has resolution of 3120 pixel.
This is the complete list for all the tablet with landscape mode:
768, 800, 1024, 1280, 2048, 2732
But on smartphone list, the width of all devices are all started with:
640, 800, 960, 1136, 1334, 1440, 1920, 2340, 2560, 3040, 3120
So, I think you have to combine the both lists into like this:
640, 768, 800, 960, 1024, 1136, 1280, 1334, 1440 , 1920, 2048, 2340, 2560, 2732, 3040, 3120
You need to compare the list data against your testing device.
For example,
If my testing device is smartphone with resolution: 720 x 1440
Then the width is 720 and the height is 1440.
Your current width on device (720) will become the minWidth and current height (1440) will be come minWidthLandscape. You don't have to specify its name whether it is TABLET or MOBILE. You just need to count the scaleFactor value against the minWidth and minWidthLandscape. Like this code below:
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      builder: (context, child) {
        return ResponsiveWrapper.builder(
          BouncingScrollWrapper.builder(context, child!),
          minWidth: 720,
          maxWidth: 3120,
          defaultScale: true,
          landscapePlatforms: [ResponsiveTargetPlatform.android, ResponsiveTargetPlatform.iOS],
          breakpoints: [
            const ResponsiveBreakpoint.autoScaleDown(640, scaleFactor: 0.89),
            const ResponsiveBreakpoint.autoScale(768, scaleFactor: 1.067),
            const ResponsiveBreakpoint.autoScale(800, scaleFactor: 1.11),
            const ResponsiveBreakpoint.autoScale(960, scaleFactor: 1.33),
            const ResponsiveBreakpoint.autoScale(1024, scaleFactor: 1.42),
            const ResponsiveBreakpoint.autoScale(1136, scaleFactor: 1.57),
            const ResponsiveBreakpoint.autoScale(1334, scaleFactor: 1.85),
            const ResponsiveBreakpoint.autoScale(1440, scaleFactor: 2),
            const ResponsiveBreakpoint.autoScale(1920, scaleFactor: 2.67),
            const ResponsiveBreakpoint.autoScale(2048, scaleFactor: 2.84),
            const ResponsiveBreakpoint.autoScale(2340, scaleFactor: 3.25),
            const ResponsiveBreakpoint.autoScale(2560, scaleFactor: 3.56),
            const ResponsiveBreakpoint.autoScale(2732, scaleFactor: 3.79),
            const ResponsiveBreakpoint.autoScale(3040, scaleFactor: 4.19),
            const ResponsiveBreakpoint.autoScale(3120, scaleFactor: 4.33),
          ],
          minWidthLandscape: 1440,
          maxWidthLandscape: 3120,
          defaultScaleLandscape: true,
          breakpointsLandscape: [
            const ResponsiveBreakpoint.autoScaleDown(640, scaleFactor: 0.44),
            const ResponsiveBreakpoint.autoScaleDown(720, scaleFactor: 0.5),
            const ResponsiveBreakpoint.autoScaleDown(768, scaleFactor: 0.53),
            const ResponsiveBreakpoint.autoScaleDown(800, scaleFactor: 0.55),
            const ResponsiveBreakpoint.autoScaleDown(960, scaleFactor: 0.67),
            const ResponsiveBreakpoint.autoScaleDown(1024, scaleFactor: 0.71),
            const ResponsiveBreakpoint.autoScaleDown(1136, scaleFactor: 0.78),
            const ResponsiveBreakpoint.autoScaleDown(1334, scaleFactor: 0.926),
            const ResponsiveBreakpoint.autoScale(1920, scaleFactor: 1.33),
            const ResponsiveBreakpoint.autoScale(2048, scaleFactor: 1.42),
            const ResponsiveBreakpoint.autoScale(2340, scaleFactor: 1.625),
            const ResponsiveBreakpoint.autoScale(2560, scaleFactor: 1.77),
            const ResponsiveBreakpoint.autoScale(2732, scaleFactor: 1.89),
            const ResponsiveBreakpoint.autoScale(3040, scaleFactor: 2.11),
            const ResponsiveBreakpoint.autoScale(3120, scaleFactor: 2.167),
          ],
          background: Container(color: const Color(0xFFF5F5F5)),
        );
      },
      initialRoute: Routes.home,
      onGenerateRoute: (RouteSettings settings) {
        return Routes.fadeThrough(settings, (context) {
          switch (settings.name) {
            case Routes.home:
              return const ListPage();
            case Routes.post:
              return const PostPage();
            case Routes.style:
              return const TypographyPage();
            default:
              return const SizedBox.shrink();
          }
        });
      },
      debugShowCheckedModeBanner: false,
    );
  }

I think that is the best solution for your case.
I hope I don't misunderstand the function I wrote above.


rpm: use nftables as default for f41

Use nftables as default driver for fedora 41.
https://fedoraproject.org/wiki/Changes/NetavarkNftablesDefault

@lsm5 @mheon PTAL

LGTM but someone more familiar with RPM should review this

change LGTM. I'd like to manually verify as well with the copr build.
@Luap99 @mheon what's a definitive check I can use for this?

And if you follow https://fedoraproject.org/wiki/Changes/NetavarkNftablesDefault#How_To_Test then do not create the containers.conf file as this change should switch the default when no config file is set.

Container networking seems fine too.
Also, PTAL if it matters:
$ sudo nft list table inet netavark
table inet netavark {
	chain INPUT {
		type filter hook input priority filter; policy accept;
		ip saddr <IP_ADDRESS>/16 udp dport 53 accept
	}

	chain FORWARD {
		type filter hook forward priority filter; policy accept;
		ct state invalid drop
		jump NETAVARK-ISOLATION-1
		ip daddr <IP_ADDRESS>/16 ct state established,related accept
		ip saddr <IP_ADDRESS>/16 accept
	}

	chain POSTROUTING {
		type nat hook postrouting priority srcnat; policy accept;
		meta mark & 0x00002000 == 0x00002000 masquerade
		ip saddr <IP_ADDRESS>/16 jump nv_2f259bab_10_88_0_0_nm16
	}

	chain PREROUTING {
		type nat hook prerouting priority dstnat; policy accept;
		fib daddr type local jump NETAVARK-HOSTPORT-DNAT
	}

	chain OUTPUT {
		type nat hook output priority dstnat; policy accept;
		fib daddr type local jump NETAVARK-HOSTPORT-DNAT
	}

	chain NETAVARK-HOSTPORT-DNAT {
	}

	chain NETAVARK-HOSTPORT-SETMARK {
		meta mark set meta mark | 0x00002000
	}

	chain NETAVARK-ISOLATION-1 {
	}

	chain NETAVARK-ISOLATION-2 {
	}

	chain NETAVARK-ISOLATION-3 {
		oifname "podman0" drop
		jump NETAVARK-ISOLATION-2
	}

	chain nv_2f259bab_10_88_0_0_nm16 {
		ip daddr <IP_ADDRESS>/16 accept
		ip daddr != <IP_ADDRESS>/4 masquerade
	}
}

looks good

/hold cancel


[21.05] Backport cpython updates

(cherry picked from commit 3898eb189762f5e83ed4b617c58711ceae29e9fa)
Motivation for this change
Backport, what are hopefully "stable" bumps :thinking:
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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 packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build python36.tests python37.test python38.tests python39.tests


Ensure NODE_OPTIONS is the same on local and CI

We will force merge it because the current failures are unrelated and this on fixes the OOM issue with webpack.


[ZF3] [RFC] Removal of ServiceManager initializers auto-registration

As discussed today with @weierophinney and @spabby, we should move towards cleaning up initializers and late initialization of components in general.
The problem
The problems with service initializers are following:

they are overhead that is proportional to the amount of services
they make any initialized object lose the dependencies defined by factories (if any), if there are collisions
they confuse most users:

entry-level users try to access dependencies injected via *AwareInterface in __construct (obvious mistake, but they do it a lot)
users attempt to instantiate objects and expect the *AwareInterface to "work" out of context
users are confused when an *AwareInterface does not produce the expected results because initializers are missing/not registered
initializers are statically bound to services being instantiated, making it impossible to reduce their scope of action to only a group of services (see #6025)

These are only some of the major problems with initializers. There are some exceptions that are actually very useful to us:

Zend\ServiceManager\ServiceLocatorAwareInterface - for those who want to use service locators (purists, please close an eye on this!)
Zend\EventManager\EventManagerAwareInterface - the event manager being non-shared and auto-injected with correct identifiers has demonstrated to be a VERY powerful/flexible technique, if not THE single most relevant killer-feature of ZF2.

Sanitizing
The approach is like following:

keep the various *AwareInterface interfaces wherever they are
remove implementation of *AwareInterface wherever it is not necessary (loggers, caches, mailers, etc - likely keep it only in controllers and few other places)
remove calls to Zend\ServiceManager\ServiceManager#addInitializer() wherever not strictly necessary (likely keeping only initializers for Zend\ServiceManager\ServiceLocatorAwareInterface and Zend\EventManager\EventManagerAwareInterface)

Goals

performance improvements
ease of use
much less magic
much less pain with inconsistent state of our objects

Alternatives
As seen in #6025, delegator factories are a viable alternative to initializers, and that without their overhead. That should be a good alternative wherever on-spot initialization is needed.

Any state about this?
From my point of view, initializers are really bad. The default service manager as shipped with the MVC module comes with 3 initializers (that we cannot disable). Thus, this involves 3 (instanceof) tests for all services that are created by the SM and this is really useless in most of cases.
I would prefer force the developers to use factories to create services and let them set hard dependencies in constructors (less overhead - same result).

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


Video Conferencing (MANY_TO_MANY)	 not working anymore

I developed a web application using the library and since a while the Video Conferencing (MANY_TO_MANY) is not working anymore.
I tried the https://muazkhan.com:9001/demos/ and I have the same issue. One video is displayed (the one incoming from the device) but the second stream is not loaded and it's displayed a loading video forever.
I tried different stun configuration but no luck.
The Video Conferencing is working only if the two devices are in the same sub network (under the same wifi)

TURN was down, but I have restarted it. Please test again.

Same problem, Please do that again please


Update to launchy 2.0

I've done a major update to launchy and noticed that github-gem depended on launchy. I believe this is the appropriate patch that is necessary to update github-gem to the latest version of launchy.
enjoy,
-jeremy

Yep, would be great as for example Terminitor gem depends on github-gem...


Documentation: Content option explanation improvement

Operating System: Ubuntu 16.04.3 LTS
Node Version: v8.9.4
NPM Version: 5.6.0
webpack Version: 2.2.1
webpack-serve Version: ^0.3.0

This issue is for a:

[ ] bug
[x] modification request
[ ] feature request

New Feature Use Case
Need more info on content option https://github.com/webpack-contrib/webpack-serve#content

The path, or array of paths, from which content will be served.

I must disagree that this is unclear. This is a basic feature of any webserver application, ever. What is unclear about this?

I'm in agreement with wzup that the documentation would benefit from further explanation, and/or a usage or use-case example, especially since the option name 'content' little insight.
I'm sure most users will be able to figure out how content works but an additional sentence or two for clarity would prevent any potential confusion, e.g. when might you specify multiple paths, how do they interact, etc.
As an aside, I'd question the assumption that users of webpack-serve should be familiar with server conventions. I think this project will naturally attract a lot of devs with mostly front-end experience.

@lloydh I'm honestly not sure how more crystal clear that can be. A server serves content. That's its job, that's basic info. I'd happily review a pull request that contained additions or expansions (within reason) to the docs and README.

As an aside, I'd question the assumption that users of webpack-serve should be familiar with server conventions. I think this project will naturally attract a lot of devs with mostly front-end experience.

I cannot abide the idea that tools should be so easy to use it requires zero knowledge from users. If one is wading into the arena of using a server, one should educate - and the location from where content for a site is served is the most basic of settings. When I first started using server applications, I had to learn and understand concepts like wwwroot (IIS) and /var/www/html (Apache+DocumentRoot) in order for me to effectively work as a front end engineer. There's no way to make this sound any less harsh - folks can't be lazy when they start using a new technology, and it's not the responsibility or job of tools to enable them to be. Tools are there for convenience and ease of use, to wrap harder sets of tasks, but they don't exist to excuse users from learning.
That said, I would prefer no further delving into that tangent and for the thread to remain on topic with yours and @wzup's request for enhanced documentation.
I'm always open to expanding the documentation, so please submit a PR with the changes you feel would benefit users, and we'll have a look.

@shellscape

content
The path, or array of paths, from which content will be served.

Well, precisely I don't understand the following about content option.
What path do you mean? Is path

a url path, like foo/bar below:

http://www.myapp.com/foo/bar

or a OS filesystem path, like examples below?

/home/user/app.com/dist/
/home/user/app.com/dist/index.html
/home/user/app.com/public/
/home/user/app.com/public/index.html

I'm always open to expanding the documentation, so please submit a PR with the changes you feel would benefit users, and we'll have a look.

Folks, I don't know how many other ways to say that. If you'd like to see that expanded, do the work and contribute.

I admit I had to do some tests with the content setting in order to understand the behavior.
If I understand well, correct me if I'm wrong, it is the nginx root directive equivalent.
So every files located in this path will be served.
Since I love this project, I'll try to find some time and propose a PR.


Block outgoing account restriction

Outgoing account restriction
Added new account restriction type for Outgoing restrictions.

Outgoing restriction only apply to Address and TransactionType
AccountRestrictionType has been refactored with new names.
Temp enum class left in codes before catbuffer applied.

Issue: #218

Pull Request Test Coverage Report for Build 597

29 of 29 (100.0%)  changed or added relevant lines in 8 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.05%) to 60.503%

Files with Coverage Reduction
New Missed Lines
%

src/core/utils/DtoMapping.ts
1
26.92%

Totals

Change from base Build 595:
0.05%

Covered Lines:
6375

Relevant Lines:
9106

💛  - Coveralls


[Style] Adopt eslint-config-xo-space/esnext

This PR gets rid of jshint and implements ESlint (with the xo-space/esnext config) in its place.
I did have to make one modification to the config to disable the new-cap rule. Normally I'd keep that rule, but given the way that obs-websocket's calls are named I think it makes sense for us to use the exact same method and event names here.
This PR also adds a rudimentary npm test command which simply runs static analysis via ESlint. It's a start!
Closes #27.

Looks good to me. Not opposed to differing from the plugin's naming convention if it makes consumer code cleaner, though.

For now, I think it's okay to stick with the plugin's exact naming convention. If we find that this isn't optimal for whatever reason, we can change it.

Though, that said, everyone who uses this library and also has an eslint config with new-cap will get linter warnings on every method call, which will get annoying. That might be enough reason to go ahead and switch over to camelCase for the method names.

Either switching to .requestName or .sendRequestName or something similar.

Yeah, seems better to just differ a bit than impose bad style.

For compatibility's sake, I'll probably make both UpperCamelCase and lowerCamelCase versions available -- it doesn't really hurt anything or cost any extra resources to do so, and it's only one or two extra lines of code. I'd also update the README to encourage the use of the lowerCamelCase variants.
Sound good? If so, I'll add that to this PR.

Yeah that sounds like a reasonable solution. Appreciate it.

Should be good to merge now.
I also changed the MethodBinding lib to be methodBinding, and I refactored the AuthHashing lib to return a proper class.

Awesome thanks for adjusting that.


[5.9] [ConvertService] Support resolving images referenced in content

Cherry-pick of https://github.com/apple/swift-docc/pull/539

Explanation: Enable convert service requests to resolve assets that are referenced in content.
Scope: Convert Service requests for content with media references.
Radar: rdar://107531364
Risk: Low.
Testing: New tests verify that ConvertService request for content with various kinds of image references (![](), @Image, and @PageImage) result in DocC resolving those image references and returning a render node with the resolved image information.
Reviewer: @franklinsch

@swift-ci please test

@swift-ci please test


Graphics issue on Intel GMA4500M (invisible geometry)

Hello,
I've experiencing problems on a laptop with Intel GMA4500M while Cube 2 Sauerbraten works fine:

Could you add a screenshot of the problem from RE?

Does Sauerbraten also work fine with shaders enabled? Are the settings the same?

Sauerbraten works well with all shaders enabled.

Intel are known for their processors, not graphics cards.
Unfortunately, this seems like a pretty bad bug. Also, that graphics card chipset is integrated. :(
What a bummer.

@rv4Flyver Are you using the latest Collect edition (there were some patches as download packages) or the svn version?

@Calinou, frankly speaking I do not know as I've downloaded it from https://inexor.org/download

Ah no @Croydon meant the Sauerbraten version you were taking as comparison.
But it's alright, won't make a difference probably.
It won't be fixed too soon though, since the system beneath changes anyways.

That Intel IGP is very old and its drivers are really bad (it doesn't really support OpenGL 2.x anywhere now); newer Intel graphics (starting from Haswell) are much better in that regard.

Closing because of missing feedback.

Official it should support OpenGL 2.1.
@rv4Flyver What operating system and version are you using?
It was Windows 7 x64.

Sorry for the late response, I've got a new laptop and have no access to old one atm, so the problem is no more relevant for me. And on the other hand you also have other tasks that are more important that support of outdated hardware.


New command: Convert to LaTeX (active line)

Thanks for the awesome plugin!
It would be really helpful if there is a way to only convert the asciimath equation in the current line or selection to LaTeX. Sometimes there are other equations in the file that I don't want to convert yet.

I will try to add this command after fixing the 26 issue. Thanks for your report.

Thanks!


[Request] Pretrained Download Links

Thank you for your awesome work! I'm very interested in the paper. I saw that you planned to publish the pre-trained model, will you upload it soon? I'm very excited to test the models tbh.
Thanks again!

Yes, the works has been accepted by NeurIPS 2023, and we will share the pre-trained models pretty soon.

Sorry for the delay due. Checkpoints will be updated to this link https://huggingface.co/zhendongw/patch-diffusion/tree/main. Now ckpts for ImageNet, LSUN-Bedroom and LSUN-Church are shared.


nx monorepo

@easybsb/core (main bsb protocol)
@easybsb/server (nestJS 8 REST API)
@easybsb/web (angular frontend)
Unit Tests & e2e test (playwright)
TypeORM & sql.js

added devices with

connection for each device (serial with port, TCP)
heater settings
favourite settings

API token (read / readwrite)

GitPod
OUTPUT
-> npm package @core
-> docker images (contains core, server & web)
-> electron app    (contains core, server & web)

vue currently not working very good, i try to use vue-plus but this is not compatible together with nx@13, an bigger update will come maybe some time they working on it last update was on january.
There is another library out i found, but this one try to install picolors, a package what not exists on npm i think it is a private one and failed completly after this. Also installed a ton of dependencies i do not know we really want it. So i skip it.
So for this now i just kick vue and used angular for that reasons above.

@r-hannuschka updated ticket


test translation

I don't see any translations at all in the RTD builds 🤔 am I missing something?

yeh I'm not sure why that is, can you try locally

I'll try again when I'm at my computer

Its probably because I think you have to set up your project to be in the language in RTD (as well as in the conf.py?): https://docs.readthedocs.io/en/stable/localization.html#single-project-in-another-language

closing this one as I think this is resolved


[gitlab] sometimes tsrc push does not see all merge requests

Environment
tsrc version 0.3.2 - git: 6d50779
Steps to reproduce

Create a merge request (let's say for feat/foo branch)
Wait until many merge requests are opened

$ git checkout feat/foo
$ tsrc push

Actual output
Error message about merge request already existing
Expected result
Previous merge request should be found and updated instead of trying to create a new one

Note: it seems the request we make to the gitlab API does not return all merge requests, but just a fraction on them. To be investigate


Support performSegueWithIdentifier:sender with UIStoryboard.Segue types

it would be great if I could call performSegueWithIdentifier with the segue enum type instead of having to call rawValue.
// this
performSegueWithIdentifier(UIStoryboard.Segue.Main.ViewAnnouncement, sender: nil)

// instead of
performSegueWithIdentifier(UIStoryboard.Segue.Main.ViewAnnouncement.rawValue, sender: nil)

Good suggestion!
I'm focused on #24 which will be a big refactor that would allow people to use templates for generating the code. This will make it way easier to fix missing stuff like this in the generated code.
You could either make a PR now if this need is urgent, or wait until I introduce Stencil and the use of templates to fix the template (which would probably be way easier, but will need #24 to be done first)

Now that #24 is fixed and that SwiftGen now uses templates, it should be very easy to make a PR to add support for this!
Probably by making the same trick with the Segue enum that is done with Scene enum, by making it conform to a StoryboardSegue protocol and provide an extension StoryboardSegue where Self.RawValue == String so that those segues can have the implementation for performSegueWithIdentifier(…) method for free.


feat(icons): add JSM icon

Infos
Task
What is being delivered?

Adding JSM icon on Atomium Icons

What impacts?

Icons

Reversal plan

Revert this merge

Evidences
Media(images, gifs or videos) that shows the result of your work.

@RodrigoRVSN done :)


CLI to generate pyi

Currently we cannot provide static analysis for RxConf instance.
Idea: according to the state of rxconf generate pyi file contains annotations for attributes' tree.
Do this via CLI: rxconf annotate <path/to/config> <destination/config.pyi>

After working on this issue I found out that it is difficult implement such suggestions in IDE. The reasons are:

IDE does not know what will be stored in your rxconf variable, so you have to create something which can describe your variable before running code.
You cannot describe your variable just in .pyi file because it is an interface and your object should exist in python file. Creating a .py file is a bad idea.
We can implement dir method overriding. The object will suggest proper attributes when being dynamically analyzed. However, there is not much sense because it can be used only in jupiter notebooks and rxconf lib is not supposed for them.


Added Cloud 66 Redeployment Support

Cloud 66 is a application deployment service across different cloud providers. It builds, provisions and manages your app for you on any cloud. You can think of it like Heroku on your own servers.
This service integration allows simple post-commit deployment with Github as part of a Continuous Deployment solution.

@atmos @kdaigle we now have the full integration (I know, it's been a while!) with the deployment API and it works like a charm!
What are the next steps? Is there a way to see the deployment status on the commit details page? Is there a page for list of projects supporting the deployment API?


Bad Pixel Mask - manual flags

Certain pixels or groups of pixels on a given detector are known to be bad. Rather than tweaking an algorithm to try and get these pixels to be properly flagged, add the ability to input a list of bad pixels and a flag type/value, and have the code do the flagging.
Examples:
MIIR - first row and column should be flagged as UNRELIABLE SLOPE
NIRCAM A1 - blob of bad pixels
My first thought is that there should be a baseline set files for this that are included in the repo, so that everyone working on a given instrument will be starting from the same set of pixels.
Format suggestion of the ascii file:
Allow entries to be single indexes, or ranges

X
Y
Flag

1020
225
Dead

0
4:2044
Unreliable_slope

4:2044
0
Unreliable_slope

540:560
854:874
Dead

@jemorrison @arminrest What do you think?

This sounds good!!
On 4/30/19 2:48 PM, Bryan Hilbert wrote:

Certain pixels or groups of pixels on a given detector are known to be
bad. Rather than tweaking an algorithm to try and get these pixels to
be properly flagged, add the ability to input a list of bad pixels and
a flag type/value, and have the code do the flagging.
Examples:
MIIR - first row and column should be flagged as UNRELIABLE SLOPE
NIRCAM A1 - blob of bad pixels
My first thought is that there should be a baseline set files for this
that are included in the repo, so that everyone working on a given
instrument will be starting from the same set of pixels.
Format suggestion of the ascii file:
Allow entries to be single indexes, or ranges
X 	Y 	Flag
1020 	225 	Dead
0 	4:2044 	Unreliable_slope
4:2044 	0 	Unreliable_slope
540:560 	854:874 	Dead
@jemorrison https://github.com/jemorrison @arminrest
https://github.com/arminrest What do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/spacetelescope/jwst_reffiles/issues/66, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFTXPU7LBFREELBTQKQ4H2LPTCIA5ANCNFSM4HJPHNTQ.


Evaluating only on English

Hello,
We are interested in evaluating MTEB only on English (our model is neither multi- nor cross-lingual). That is, for multi-lingual datasets, we would only like to select the "eng" subset, and for cross-lingual datasets, we would only like to evaluation on "en-en".
This used to be possible, in a roundabout way, like so:
task_names = [task for task in mteb.MTEB_MAIN_EN.tasks if mteb.get_task(task).metadata.type in args.task_types]

evaluation = mteb.MTEB(tasks=task_names, task_langs=["en"])
evaluation.run(embedder, eval_splits=["test"], output_folder=f"results/{name}")

Removing crosslingual and multilingual tasks doesn't work, as this removes entire tasks, not subsets of tasks.
But this gets me a bunch of DeprecationWarnings now. Is there a nice way to replicate the behavior of this piece of code? I think it would be nice to still have a good way of running just the English MTEB tasks, without having to run on a lot of languages that won't work anyway.

The intended use is:
import mteb
from mteb.benchmarks import MTEB_MAIN_EN

evaluation = mteb.MTEB(tasks=MTEB_MAIN_EN)
evaluation.run(embedder, eval_splits=["test"], output_folder=f"results/{name}")

And yes this results in some deprecation warnings as some of the datasets now have been updated (e.g. to be run faster). All the tasks are still runable. We will soon release a v2, zero-shot, and notably faster version of the English benchmark. This will use the updated tasks. However, we will maintain support for MTEB v1.

To make this slightly easier I have updated the interface in #1208, once merged is should be (though the old approach will still work).
import mteb

benchmark = mteb.get_benchmark("MTEB(eng)")
evaluation = mteb.MTEB(tasks=benchmark)
evaluation.run(embedder, eval_splits=["test"], output_folder=f"results/{name}")

Closing this for now as the referenced PR is merged. Feel free to reopen if there is anything unclear.


Add afc GitHub topic

It would be great to add the afc GitHub topic to this repository to make it consistent with other asus-fan-control related projects.

Yeah, but I don't know how to add it

Yeah, that's fine! :smile: This link should help you. Let me know if you need further assistance... :rocket:

Thanks, added to afc


overridePermissions - allow notifications

Puppeteer version: 1.10
Platform / OS version: win10 64
Node.js version: 10.13

await context.overridePermissions("https://puush.pw:443", ["notifications"]);
or
await context.overridePermissions("https://puush.pw", ["notifications"]);
Why don`t allow page notification? I must allow by myself => https://ibb.co/hExF20

"notifications" is for normal notifications it seems while the "push" permission is for push notifications: https://pptr.dev/#?product=Puppeteer&version=v1.10.0&show=api-browsercontextoverridepermissionsorigin-permissions
But it's not working - related to #3432

I have the same issue. Even though 'push' appears as an overidePermissions option in the puppeteer docs it throws this error for me. Protocol error (Browser.grantPermissions): Unknown permission type: push

Not sure why, but the list of permission in browserContext.overridePermissions(origin, permissions) andChrome DevTools Protocol PermissionType now differ. The latter does not include push. It seems this is still an experimental part that recently has been changed.

Under Chrome's settings I don't see anything that would correspond to push:

Then click on "site settings".
In my case, I was able to enable notifications properly by changing the domain name from https://facebook.com to https://www.facebook.com

@aslushnikov
I think, The puppeteer docs need to be updated wrt https://pptr.dev/#?product=Puppeteer&version=v1.19.0&show=api-browsercontextoverridepermissionsorigin-permissions
As per chrome devtools protocol, the list of permissions has changed. https://chromedevtools.github.io/devtools-protocol/tot/Browser#type-PermissionType
I have tried,
await context.overridePermissions(pageUrl, ['notifications']);

and found that for overriding push notifications, u need to override notifications

You just have to pass args
like this
const browser = await puppeteer.launch({         headless: false,         args: [             "--disable-notifications"         ]     });

@mqasim1990 it does not work with headless

@neekey, It works for me

@neekey can you share your code here?

@iqasim-com
can you please share your code?

@aslushnikov

It does not work in headless mode for me either. Is there any fix / workaround for that?

bump

bump

It looks like notifications are covering push notifications. The following works in the latest versions.
const puppeteer = require('puppeteer');

(async() => {
    const browser = await puppeteer.launch();

    const domain = 'https://simple-push-demo.vercel.app/'
    const context = browser.defaultBrowserContext();
    const page = await context.newPage();

    await context.overridePermissions(domain, ['notifications']);

    await page.goto('https://simple-push-demo.vercel.app/', {
        waitUntil: "networkidle2"
    });

    await new Promise(resolve => setTimeout(resolve, 1000));

    await page.locator('.c-toggle').click()
    await new Promise(resolve => setTimeout(resolve, 1000));
    await page.locator('#push-payload').fill('test');
    await new Promise(resolve => setTimeout(resolve, 1000));
    await page.locator('.js-send-push-button').click()

    setInterval(async () => {
        const notifications = await page.evaluate(() => {
            return navigator.serviceWorker.ready.then(function(registration) {
                return registration.getNotifications().then(function(notifications) {
                    return notifications;
                })
            })
        });

        console.log(notifications.length + ' Notifications');
    }, 5000)
})();


XeLaTeX: There is no (U+0020) in font SimpleIcons Filtered

\documentclass{article}
\usepackage{simpleicons}
\begin{document}
\end{document}

compiled with XeLaTeX gives:
Missing character: There is no   (U+0020) in font SimpleIcons Filtered!
Missing character: There is no   (U+0020) in font SimpleIcons Filtered/OT!
Missing character: There is no   (U+0020) in font SimpleIcons Filtered/OT:language=dflt;!
Missing character: There is no   (U+0020) in font SimpleIcons Filtered/OT:language=dflt;!
Compiling with LuaLaTeX or pdfLaTeX does not give any of these errors.

Is this related to #17? I hope this is resolved is v9.3.0 if you'd like to confirm

This bug seems to be fixed in v9.4.0.

When compiling  (with XeLaTeX) the document  given in my first post, I still get:
This is XeTeX, Version 3.141592653-2.6-0.999995 (TeX Live 2023) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./Namenlos-1.tex
LaTeX2e <2023-06-01> patch level 1
L3 programming layer <2023-06-30>
(m:/2023/texmf-dist/tex/latex/base/article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(m:/2023/texmf-dist/tex/latex/base/size10.clo)) (m:/2023/texmf-dist/tex/latex/simpleicons/simpleicons.sty
(m:/2023/texmf-dist/tex/generic/iftex/iftex.sty) (m:/2023/texmf-dist/tex/latex/fontspec/fontspec.sty
(m:/2023/texmf-dist/tex/latex/l3packages/xparse/xparse.sty (m:/2023/texmf-dist/tex/latex/l3kernel/expl3.sty
(m:/2023/texmf-dist/tex/latex/l3backend/l3backend-xetex.def))) (m:/2023/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(m:/2023/texmf-dist/tex/latex/base/fontenc.sty) (m:/2023/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
Missing character: There is no   (U+0020) in font [SimpleIcons.otf]/OT!
Missing character: There is no   (U+0020) in font [SimpleIcons.otf]/OT!
Missing character: There is no   (U+0020) in font [SimpleIcons.otf]/OT:language=dflt;!
(m:/2023/texmf-dist/tex/latex/simpleicons/simpleiconsglyphs-xeluatex.tex)) (./Namenlos-1.aux)
(m:/2023/texmf-dist/tex/latex/base/ts1cmr.fd) (./Namenlos-1.aux) )
No pages of output.
Transcript written on Namenlos-1.log.

This bug seems to be fixed in v9.4.0.

Sorry, I was wrong, Rimole's previous comment is correct!

This bug seems to be fixed in v9.4.0.

Sorry, I was wrong, Rimole's previous comment is correct!

So we can close this?


SPIKE: Document all existing routing operations required by the COVID pipeline

To effectively ensure the universal pipeline is able to do routing, we need to document the existing routing capability in the COVID pipeline. Look at the types of routing options (e.g. jurisFilter, qualityFilter, etc.). - we need to specifically know each of the filters used within those categories and what they do (greaterThan, isWithin, etc...)
Dev Hints:

Look in ReportStreamFilterDefinition.kt, all of the filter types are within this file and implement a shared interface
the code that actually does the filtering is Translator.kt
Document each item, and then go figure out which ones are actually used in prod at this time

AC:

A list of each routing option and a short description of what it does, along with any strangeness / oddness that could be confusing to someone making the filter work for the universal pipeline.

Design is attached:
https://app.zenhub.com/files/304423150/b0f41580-4e93-4b6d-957f-f752698796dc/download
https://app.zenhub.com/files/304423150/1e85fda6-1c2a-4768-ae1a-1865e2bb244f/download

Results of the spike:https://app.zenhub.com/files/304423150/cd842617-64f6-48b6-a8b0-febc0b7bba85/download


SOP and Tags approach

https://github.com/BeerLiftersAssociation/infrastructure/wiki
Please let me know if you see any issues with these proposed policies.
Targeting 12/7 for implementation.

@majway27 I see this ticket (I think it's a ticket) but I am not sure what needs to be done and where?
Also, I am a fresh off the press newbie with GitHub, so I am not sure 100% how to use GitHub in terms of completing a request
Thanks Robbie

@vedran3, thanks for looking at this.  The first comment of this issue has a link to two wiki pages on the infrastructure repo.  If you could look at those and let me know if they look good.  Feel free to update, add, etc.
I'm targeting 12/7 to call those official.
@JBluesify - same :)

The 2 docs look good to me. As an SOP topic, what IDE would you recommend we use for this work? There might be one you worked with before that would work well for this. If this is not relevant as we may only be using text files to push up to git locally, then let me know.
The only other thing is we could add the tools that we would be using for the scope of the project. I can add some also.

Good questions.  For AWS configuration and python stuff, I think pycharm is a great tool.
For front end work, I like using cloud9, since all the npm stuff just works.  If you get involved in the front end stuff, I can offer assistance getting a Dev environment setup.
Tool suggestions sound good.


Improve documentation.

Currently, lack of documentation is the major problem of Kita.

[ ] Finish all sections

[ ] Routing
[ ] Learn By building

[x] setup
[ ] api routes
[ ] frontend

[ ] Learn by example

[ ] file uploads
[ ] authentication
[ ] logging

[ ] Guide
[ ] Templating (Should we have this? Probably fit better in kitajs/html)
[ ] Integrations

[ ] auth
[ ] (what more?)

[ ] Have at least 3 grammar revisors.

[ ] 1. ? (I'd love help of anyone in this)
[ ] 2. ?
[ ] 3. ?

Hello @arthurfiorette will like to work with you on this project

Hello @arthurfiorette , is this still open? Would like to help you with the documentation project.

Hello @arthurfiorette , is this still open? Would like to help you with the documentation project.

Hi, will like to connect with you, I'm a technical writer also

Working on it! :)


fix(logger): Support .info("foo %s", "bar") formatting

Issue #, if available: N/A
Description of changes:
This adjusts the default logging formatter (LambdaPowertoolsFormatter)
to handle non-structured logs with formatting, like:
logger.info("foo %s", "bar")

This allows the formatter to be used in more situations, such as the
universal formatter for all log messages coming out of a system, even
libraries using the normal logging functionality, without explicit
support for aws-lambda-powertools.
If formatting is performed, this is taken as a hint that the value
probably isn't semantically JSON, even if it's syntactically valid as
JSON.
(I've called this a bug fix in the title but could be a 'feat' too, I guess?)
Checklist

[x] Meet tenets criteria
[x] Update tests
[ ] Update docs
[x] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #: N/A

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hey @huonw thank you so much for this ;)

Thanks for merging so quickly! (And thanks for your efforts on this library, it makes our app noticeably smoother.)


Support for NGINX 1.7.10

Agreed this module works great.  Any chance you'd have time to upgrade to the 1.7.10 version?  Thank you.

Apologies for the super-long delay! I'm afraid I'm not actively using this module at the moment so I probably won't have the time to look into this, but any pull requests for compatibility with other nginx versions are welcome.

Hi Nick
Thanks for the response and no worries.  I had to migrate over to using jdomain since this version was giving me segfaults under high load.  My setup can reach up to 800TPS and I noticed it crashing after a day.  Things seem pretty stable now.  I appreciate your work on this.  It certainly helped me evolve my understanding of how to configure this.
thx
john
From: Nick Muerdter
Reply-To: GUI/nginx-upstream-dynamic-servers
Date: Monday, November 23, 2015 at 4:16 PM
To: GUI/nginx-upstream-dynamic-servers
Cc: John Peak
Subject: Re: [nginx-upstream-dynamic-servers] Support for NGINX 1.7.10 (#4)
Apologies for the super-long delay! I'm afraid I'm not actively using this module at the moment so I probably won't have the time to look into this, but any pull requests for compatibility with other nginx versions are welcome.
—
Reply to this email directly or view it on GitHubhttps://github.com/GUI/nginx-upstream-dynamic-servers/issues/4#issuecomment-159066504.
CONFIDENTIALITY
NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.

It is working with 1.7.10, at least with this branch

Thanks to @wandenberg's efforts, the sporadic segfaults fixes should now be on master. Thanks @wandenberg! Let us know if you're still seeing any issues, though.


Optimistic concurrency failure upon using RoleManager DeleteAsync!

My implementation,
ApplicationRole Class
  public class ApplicationRole: IdentityRole
    {
        public string Description { get; set; }
    }

ApplicationRoleViewModel class
public class ApplicationRoleViewModel
{
    public string RoleId { get; set; }
    [Required]
    [DataType(DataType.Text)]
    [Display(Name = "Role Name")]
    public string RoleName { get; set; }
    public string Description { get; set; }
}

Registering Identity Service
 services.AddIdentity<ApplicationUser, ApplicationRole>

Registering RoleManager Service
services.AddScoped<IRoleManager, RoleManager>();

RoleManager Service
public interface IRoleManager
    {
        Task<IdentityResult> CreateAsync(ApplicationRoleViewModel model);
        Task<IdentityResult> DeleteAsync(ApplicationRoleViewModel model);
    }
    public class RoleManager : IRoleManager
    {
        private readonly RoleManager<ApplicationRole> roleManager;
        public RoleManager(RoleManager<ApplicationRole> roleManager)
        {

            this.roleManager = roleManager;

        }
        public Task<IdentityResult> CreateAsync(ApplicationRoleViewModel model)
        {
            ApplicationRole role = new ApplicationRole();
            role.Name = model.RoleName;
            return this.roleManager.CreateAsync((role));
        }
        public Task<IdentityResult> DeleteAsync(ApplicationRoleViewModel model)
        {
            ApplicationRole role = new ApplicationRole();
            role.Name = model.RoleName;
            return this.roleManager.DeleteAsync((role));
        }

    }

UserManagementController
[HttpDelete]
 public async Task<IActionResult> DeleteIdentityRole([FromBody] ApplicationRoleViewModel model)
    {
        if (!ModelState.IsValid)
            return BadRequest(ModelState);
        IdentityResult result = await this.roleManager.DeleteAsync(model);
        if (result.Succeeded)
            return Ok(model.RoleName + " role has been created successfully");

    return BadRequest(result.Errors);

}

I keep receiving this error by calling DeleteAsync

Optimistic concurrency failure, object has been modified.

It was a wrong implementation in the service,
buggy code of mine,
I am closing this issue

For anyone else who stumbled on this before solving the problem, here is the solution:
            ApplicationRole role = await roleManager.FindByNameAsync(model.RoleName);
            return this.roleManager.DeleteAsync(role);

Creating a new instance of the role creates a new entity object that is in a new state which then is added to the manager context when delete is called. This is why the "object has been modified" error occurs.


FImGuiContext::Initialize(): Call BeginFrame()

This allows a static context to be used as soon as it is created.

Hey @ColdenCullen, thanks for all the PRs! Slowly looking through them as and when I get free time :)
This was originally the intended behaviour but I found that windows created on that frame are displaced - you can observe this behaviour by keeping an ImGui window docked inside the viewport and restarting PIE. With each session it keeps moving further whereas it should spawn in the same position it was left at last session. This is likely because SImGuiOverlay::OnPaint uses last frame's transform and I've not yet figured out a way around that.

Hey @ColdenCullen, thanks for all the PRs! Slowly looking through them as and when I get free time :)

No worries, and thanks for looking!
Oh interesting, I didn't notice but that's a good note! Do you have a suggested solution to creating PIE contexts before using them? It seems tricky, especially without explicit knowledge of how many active PIE sessions there are.
For the non-PIE context (INDEX_NONE), would it maybe make sense to create that context in StartupModule()? (This could combine with #10 quite nicely).

There's no inherent requirement to create them ahead of time, they get created on-demand as and when a ImGui::FScopedContext is constructed. Do you have a particular use case for needing to create them ahead of time?

We were running into an assert in ImGui::Begin() where it would claim to not be within a frame scope if the context had just been created via FScopedContext's constructor. This was happening in code as simple as the demo code in the README file. From my understanding of not calling BeginFrame(), the context is unusable until the current frame ends and the next begins, which would necessitate pre-creating a context before actually needing it.

The scoped context has an implicit bool operator that checks if you're within an ImGui frame, hence the example code checking the scoped context before calling any drawing code. See below for a slightly more detailed breakdown:
ImGui::FScopedContext Context; // Automatically finds an existing context for this session or creates one
if (Context) // Checks if context is within a frame. It will be false on the first frame since we don't BeginFrame until the next tick
{
    // Safe to draw here!
}

I realise that there is one frame that's missed in the current implementation but running on the assumption that you're drawing something for more than a frame it shouldn't be a huge issue, right? I would definitely like to fix this but haven't found a neat solution yet!

Great! I'll close this for now but feel free to reopen if you do find a solution for the overlay displacement issue :)


Build Failed with OSX10.9.5 and Ubuntu14.04?

Here's the log:
Weis-MacBook-Pro:AppChromerino Wei$ npm install serialport
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN package.json<EMAIL_ADDRESS>No README data
-
><EMAIL_ADDRESS>install /Users/Wei/Xproject/AppChromerino/node_modules/serialport
> node-pre-gyp install --fallback-to-build

  CXX(target) Release/obj.target/serialport/src/serialport.o
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace
      'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note: candidate
      function not viable: no known conversion from 'uint32_t'
      (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/Wei/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note: candidate
      function not viable: 2nd argument ('const char *') would lose const
      qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/Wei/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note: candidate
      function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/Wei/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note: candidate
      function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:676:12: error: no viable conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st
      argument
class Local {
      ^
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st
      argument
class Local {
      ^
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate template
      ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate template
      ignored: could not match 'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace
      'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/Wei/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
      'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro
      'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/Wei/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
      'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro
      'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/Wei/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
      'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro
      'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/serialport.cpp:3:
In file included from ../src/serialport.h:5:
In file included from ../node_modules/nan/nan.h:24:
In file included from /Users/Wei/.node-gyp/4.1.1/include/node/node.h:42:
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
      'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/Wei/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from macro
      'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template
      specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/serialport/src/serialport.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 13.4.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64/serialport.node" "--module_name=serialport" "--module_path=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64"
gyp ERR! cwd /Users/Wei/Xproject/AppChromerino/node_modules/serialport
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64/serialport.node --module_name=serialport --module_path=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/Wei/Xproject/AppChromerino/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:817:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Darwin 13.4.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/Wei/Xproject/AppChromerino/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/Wei/Xproject/AppChromerino/node_modules/serialport
node-pre-gyp ERR! node -v v4.1.1
node-pre-gyp ERR! node-pre-gyp -v v0.6.7
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64/serialport.node --module_name=serialport --module_path=/Users/Wei/Xproject/AppChromerino/node_modules/serialport/build/serialport/v1.7.4/Release/node-v46-darwin-x64' (1)
npm ERR! Darwin 13.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "serialport"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.4
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the serialport package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls serialport
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/Wei/Xproject/AppChromerino/npm-debug.log
Weis-MacBook-Pro:AppChromerino Wei$

node-serialport doesn't support Node.js v4.1.1 yet. See https://github.com/voodootikigod/node-serialport/issues/578 for further information.
There are currently two pull requests for Node.js 4 support, https://github.com/voodootikigod/node-serialport/pull/566 and https://github.com/voodootikigod/node-serialport/pull/571.
https://github.com/voodootikigod/node-serialport/pull/566 can be installed with npm install "git://github.com/ghostoy/node-serialport.git#nan1to2"
https://github.com/voodootikigod/node-serialport/pull/571 can be installed with npm install "git://github.com/julianduque/node-serialport.git#master"
You could try either or both of them and report your findings :+1:

Both #566 and #571 build succeed on my OSX10.9.5 with node v4.1.1, did not test on ubuntu. Thank you!

Thank you for the confirmations
On Sat, Sep 26, 2015 at 12:34 AM, Wei Wang<EMAIL_ADDRESS>wrote:

5 with node v4

Not work in Raspberry Pi2 :-(

@LeandroFavero what issues have you seen on the Raspberry Pi 2?

Neither works on me on Arch Linux :(
Logs: https://gist.github.com/tmladek/eba28cb6f7ff3033120f

Both #566 and #571 builds succeed on machine. Using Ubuntu 14.04 with IO.js 3.2.0. Will be upgrading to nodejs 4.x.x to to test this further. Will be testing the port on real hardware soon.

@kammce thanks for the feedback :)
Please let us know how the tests go.

Continuing to use io.js 3.2.0 on ubuntu 14.04LTS, both #566 and #571 work to read and write information to an arduino.
Nodejs Program:
var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/ttyACM0", {
baudrate: 9600
});
serialPort.on("open", function () {
console.log('open');
serialPort.on('data', function(data) {
console.log('data received: ' + data);
});
setInterval(function() {
serialPort.write("hello serial port\n");
}, 1000);
});
used example Arduino SerialEvent.

@kammce Excellent :+1:

And finally, I can confirm that with nodejs v4.1.1 with the same setup both #566 and #571 it works.

@kammce Even better :+1:

Thanks for all the reports, closing this for the main node 4 ticket.


Notify level='DEBUG', 'TRACE' not producing notification window

Thank you for your time and effort.
THE ISSUE
:lua require'notify' ('Foo.', 'DEBUG' ) fails to produce a notification window, but the notification is logged and accessible via :Telescope notify. Any choice of vim.log.levels.DEBUG, vim.lsp.log_levels.DEBUG or the digit 1 for the level argument produces the same. The same is also true for variations of 'TRACE'.
EXPECTED BEHAVIOUR
Some sort of notification window. I could see this being the design, but I can't find anywhere in the source or documentation that suggests it is.
VERSIONS & CONFIG

Running on

> lsb_release -a

No LSB modules are available.
Distributor ID:	Pop
Description:	Pop!_OS 22.04 LTS
Release:	22.04
Codename:	jammy

with neovim version:

> nvim --version

NVIM v0.8.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -g -O2 -ffile-prefix-map=/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19/build/cmake.config -I/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19/src -I/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19/.deps/usr/include -I/usr/include -I/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19/build/src/nvim/auto -I/build/neovim-DFNyWP/neovim-0.8.0~ubuntu1+git202208232347-6cc6e1192-c99271b19/build/include
Compiled by buildd@lcy02-amd64-074

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

nvim-notify installed with packer from current master.
No additional configuration of nvim-notify
Tested without colourschemes.
Nothing in checkhealth that sends any red-flags.
:lua vim.notify(vim.inspect(vim.log.levels)) produces
{
DEBUG = 1,
ERROR = 4,
INFO = 2,
OFF = 5,
TRACE = 0,
WARN = 3
}
:lua vim.notify(vim.inspect(vim.lsp.log_levels)) produces
{ "DEBUG", "INFO", "WARN", "ERROR", "OFF",
[0] = "TRACE",
DEBUG = 1,
ERROR = 4,
INFO = 2,
OFF = 5,
TRACE = 0,
WARN = 3
}

You're looking for the level config option, see :h notify.config

You're looking for the level config option, see :h notify.config

Oh, for goodness sake. Thank you. I am sufficiently embarrassed to have not seen that either in the documentation or the code. And on the principle that “I'm rarely the first person to notice a bug and file,” I knew it was probably something obvious I was missing.
Thanks again.
And thanks for all your work.


Update artifacts fetcher to download artifacts locally using FileSystems

fixes: https://github.com/apache/beam/issues/30191

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

converting this to draft.

https://github.com/apache/beam/actions/runs/7805971680 - IT test run

https://github.com/apache/beam/actions/runs/7817704461

https://github.com/apache/beam/actions/runs/7819538959/job/21332179529

R: @tvalentyn


ImportError: attempted relative import with no known parent package

according to the README, the binary release is supposed to be straight forward
generator-bin/protoc --nanopb_out=. myprotocol.proto

there is no generator-bin, so i'm assuming its   ./generator/protoc   ,  but that doesnt work
aep@stark: ~/Downloads/nanopb ./generator/protoc

         ********************************************************************
         *** Failed to import the protocol definitions for generator.     ***
         *** You have to run 'make' in the nanopb/generator/proto folder. ***
         ********************************************************************

Traceback (most recent call last):
  File "./generator/protoc", line 4, in <module>
    from nanopb_generator import invoke_protoc
  File "/home/aep/Downloads/nanopb/generator/nanopb_generator.py", line 42, in <module>
    from .proto import nanopb_pb2
ImportError: attempted relative import with no known parent package

note that doing what the fat warning says, has no effect
aep@stark: ~/Downloads/nanopb/generator/proto make
make: Nothing to be done for 'all'.

Hmm, if there is no generator-bin, it sounds like you have the plain source package instead of the linux binary package.
But even then, it should work the way you call it if you happen to already have either binary protoc or grpcio-tools Python package installed. The error you received seems to occur only with Python 3. I have fixed it now in revision 96670da.

i dunno what i did with the binary, but your latest commit fixes it with from-source builds, thanks

I'll reopen this until fix is released, to make it easier to find for others hitting the same problem.


add P-touch CUBE Plus PTP710BT to list of supported devices

the raster command reference for the PT-E550W, PT-P750W and PT-P710BT is here: https://download.brother.com/welcome/docp100064/cv_pte550wp750wp710bt_eng_raster_101.pdf
Looking through, the command set seems to be nearly identical to that of the PT-H500/PT-P700/PT-E500 whose command reference is located here: https://download.brother.com/welcome/docp000771/cv_pth500p700e500_eng_raster_110.pdf
In testing (along with my bluetooth backend in #3), it seems to mostly work. the issues i've noticed are

the leading whitespace on the label is not trimmed before printing (not sure whether this is an issue with PT700 too?)
There is an error at the end of printing when trying to fetch the final status. I believe this is occurring because the code assumes the printer is operating in "Concurrent printing" mode (which seems to be the default over USB), but when connected over bluetooth, it seems to operate in "Buffered printing" mode. Increasing the timeout on the serial connection seems to fix the issue, but then causes delays with the _debug_status() checks (since they seem to usually not return any data). So probably best would be to just increase the timeout for that final status check (or to fully implement the status messages and phase changes to completely support buffered printing mode, but that seems like a fair bit of work)

Thanks for testing!


Testing: Add Unit Tests

What are these?
Why are they important?
Guidelines for what goes here versus the other types of tests

Maybe a note on London vs Detroit for historical? https://zone84.tech/architecture/london-and-detroit-schools-of-unit-tests/


export of SimpleApp missing

In the code block just underneath 'Introducing Stack Navigator' there is a missing export statement that makes this all very confusing for a beginner. With the addition of the line it is made clearer that the const SimpleApp needs to be exported.
Please provide enough information so that others can review your pull request:
Explain the motivation for making this change. What existing problem does the pull request solve?
Prefer small pull requests. These are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise split it.
Test plan (required)
Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
Make sure you test on both platforms if your change affects both platforms.
The code must pass tests and shouldn't add more Flow errors.
Code formatting
Look around. Match the style of the rest of the codebase.

imho the export is not needed in the example. if you want to export, maybe it would make sense to also do the import as well, but that seems like an unnecessary complication to me..

Hi! This was completed in #2491.


[SPARKR-154] Phase 2: implement cartesian().

Thanks @sun-rui, I think this overall looks good.
Would be good if others who're familiar with serialization modes can also take a look. /cc @shivaram @cafreeman

Latest changes look good - I will take another look at serialization-related changes if others don't have free cycles; otherwise this should be good to go in.

Sorry for the delay -- The serialization changes look good. One minor comment I had was that it might be good to refactor zipRDD and cartesian to reuse the same code by pulling the common parts to a function in utils.R

@sun-rui Can you bring this up to date with master branch ?
@concretevitamin Will be great if you take another look before merging.

Thanks @sun-rui -- LGTM. @concretevitamin you can take a final look and merge !

LGTM, merging this into master and sparkr-sql.


[WFLY-19378] HostExcludesTestCase assumes that org.wildfly.extension.elytron.jaas-realm is a regular extension

Jira issue: https://issues.redhat.com/browse/WFLY-19378

Thanks @yersan


Write a future review

"I want you to pretend it's the end of next year. You're giving yourself a performance review, and it has been an absolutely amazing year for you professionally. What three to five things did you do that made it so amazing? So you can write next year's performance review now."
Laura Wanderkan

Given I am me
When I in the end of the year
Then I want to write a review pretending I'm one year ahead, to help me elicit my goals for the next year

This feature will look somewhat like Futureme.org, but we'll be able to read the review (letter to the future) at any time.


Adding functionality for ceph backend in glance

Enhance glance Ursula so that it leverages swift when present, ceph when present (but not swift), or default local file system when neither swift nor ceph are enabled. To enable ceph, set glance.store_ceph to True.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test

This looks good now, would like to see the tests run, but it does look fine.


Video streams are not loading

For some reason, video streaming works when I load the instrument page immediately after starting the server. But then after I load the home page and leave it there for a few minutes, I'm no longer able to receive any video frames in the browser. There is also the same error message which gets emitted around the same time that the failure starts, though I'm not yet sure if it's related:
2022-12-03T05:18:55.637426589Z {"time":"2022-12-03T05:18:55.63722478Z","level":"WARN","prefix":"echo","file":"hub.go","line":"189","message":"removing subscription for /video-streams/external-stream/source.mjpeg?url=http%3A%2F%2Fpendelcam.kip.uni-heidelberg.de%2Fmjpg%2Fvideo.mjpg due to message receiver error: context canceled"}

I'm unable to reproduce this on the dev deployment (https://pslive-dev.cloud.syngnathus.sargassum.world/) on my development computer and on the prod deployment (https://live.sargassum.world), with my development database. It would be useful to try to determine whether adding instruments and cameras on my dev computer to match the configuration on the dev deployment enables me to reproduce the problem.

Another error message I'm seeing, which may or may not be related, is:
2022-12-13T22:38:02.759391619Z {"time":"2022-12-13T22:38:02.758445763Z","level":"ERROR","prefix":"echo","file":"cable.go","line":"53","message":"couldn't unmarshal client message: couldn't read websocket message: websocket: close 1005 (no status)"}

The prod deployment seems to also have failed, though I'm not sure whether the same error messages were emitted when it failed.

Something we can do to determine whether the issue is coming from WebSockets or elsewhere: in the broken dev deployment, try to load the MJPEG routes for proxied video streams, and see what happens

When I restart pslive on the cloud server and load https://pslive-dev.cloud.syngnathus.sargassum.world/video-streams/external-stream/stream.mjpeg?url=http://tenearth-3.prakashlab.d.live.fluitans.org:8000, it works fine; however, after I load the home page, it stops working. Similarly, if I open https://pslive-dev.cloud.syngnathus.sargassum.world/instruments/2 immediately after restarting pslive, it works fine, and refreshing it is fine too; when I open the homepage, everything is still fine.
In other words, I'm unable to reproduce the problem at all on the cloud deployment now.

The cloud deployments on both dev and prod seem to work fine (on v0.3.2) - in other words, the problem has gone away by itself and I can't fix it. The possible explanations I have are:

Something I fixed in #205 also fixed this behavior
There was something about the deployment environment (e.g. RAM constraints?) which transiently caused problems

For now I will close this issue; we can reopen it if the behavior appears again.


Week 2 crashing

Describe your bug here.
So i was testing week 2 for a mod im making, i added a song between south and monster, and after it ended, the game crashed before monster could load, i also changed the stage in monster if it helps
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
added a song before monster, changed the stage of monster

Issue with your stage lua or json maybe.

You can't change Monster's stage, it is needed for the Thunder sound effect to load.

k thanks


bump Linux to kernel v5.15 and OpenSBI to v1.0

This PR bumps the Linux kernel and OpenSBI versions.
Multicore SMP Linux has been tested up to 8-cores on FPGA successfully; Single core linux tested on Zynq.
Depends on:

[x] https://github.com/black-parrot-sdk/bp-linux/pull/8

Suggest merge squash for cleaner history

If it's tested on FPGA, 🚢


WIP: test runtimes

Will fix: #9782 As this has been going on a while I'm opening a PR so you can see the work that's been done so far. (I have been pushing my branch up but this makes it more visible).

There's a babe-grandpa runtime and client that's compiling called runtime-grandpa.
There's a babe only runtime and client called runtime (that will be renamed runtime-babe), (compiles but needs a better implementation of TestSessionManager before it starts producing blocks)

The third and easiest runtime (and client) will be called runtime-aura (that should be fairly simple as it will follow the existing setup of node-template).
(Sorry maybe I should have raised this PR a couple of weeks ago once I got the runtime-grandpa compiling...)

@bkchr can you let me know if this is in the direction that you were expecting? I'm sorry it's taken so long. There's a lot of pallet interactions and it's taken me a while to get to grip with creating clients as well.


Unable to pickle dynamically created Inherited model

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
I am trying to save my class, which has a dynamically created pydantic model. However, there are several issues trying to serialize <cyfunction BaseModel.validate. I have tried using pickle, cloudpickle, and 'dill` and they all have a similar issue
Here are my data structures:
class ModelOutput(BaseModel, ABC):
    class Config:
        arbitrary_types_allowed = True
        schema_extra: Dict[str, Any] = {}

    @classmethod
    def custom_schema(cls) -> str:
        model = create_model(f"Dynamic{cls.__name__}", __base__=cls)
        model.Config.schema_extra["example"] = cls.example()
        return model.schema_json()

    @classmethod
    @abstractmethod
    def example(cls) -> Dict:
        ...

class ModelOutputWrapper(BaseModel):
    prediction: ModelOutput
    metadata: Dict

class ModelSignature:
    def __init__(self, output_type: Type[ModelOutput]) -> None:
        if not issubclass(output_type, ModelOutput):
            raise Exception

        self._output_type = output_type

        self._output_wrapper_type = create_model(
            "CustomModelOutputWrapper",
            prediction=(output_type, ...),
            metadata=(dict, ...),
            __base__=ModelOutputWrapper,
            __module__=__name__,
        )

        setattr(
            sys.modules[__name__], "CustomModelOutputWrapper", self._output_wrapper_type
        )

and here is one of the ways I am attempting to serialize it
import cloudpickle as cp
from pathlib import Path

signature = ModelSignature(MyOutput)
cp.dump(signature, Path("./dump.pkl").open("wb"))

which yields
Traceback (most recent call last):
  File "c:\Users\dmsfa\code\dstools\github\pydantic\serialization.py", line 68, in <module>
    cp.dump(signature, Path("./dump.pkl").open("wb"))
  File "C:\Users\dmsfa\ds310\lib\site-packages\cloudpickle\cloudpickle_fast.py", line 57, in dump
    ).dump(obj)
  File "C:\Users\dmsfa\ds310\lib\site-packages\cloudpickle\cloudpickle_fast.py", line 632, in dump
    return Pickler.dump(self, obj)
_pickle.PicklingError: Can't pickle <cyfunction BaseModel.validate at 0x00000290118D3C60>: it's not the same object as pydantic.main.BaseModel.validate

Example Code
No response
Python, Pydantic & OS Version
            pydantic version: 1.10.7
            pydantic compiled: True
               install path: C:\Users\df89291\Code Environment\mlopso\.env\Lib\site-packages\pydantic
               python version: 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)]
               platform: Windows-10-10.0.19041-SP0
     optional deps. installed: ['typing-extensions']

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .dict() and .json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[X] Other Model behaviour - construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

works for me:
import sys
from abc import ABC, abstractmethod
from typing import Dict, Any, Type

from pydantic import BaseModel, create_model

class ModelOutput(BaseModel, ABC):
    class Config:
        arbitrary_types_allowed = True
        schema_extra: Dict[str, Any] = {}

    @classmethod
    def custom_schema(cls) -> str:
        model = create_model(f"Dynamic{cls.__name__}", __base__=cls)
        model.Config.schema_extra["example"] = cls.example()
        return model.schema_json()

    @classmethod
    @abstractmethod
    def example(cls) -> Dict:
        ...

class ModelOutputWrapper(BaseModel):
    prediction: ModelOutput
    metadata: Dict

class ModelSignature:
    def __init__(self, output_type: Type[ModelOutput]) -> None:
        if not issubclass(output_type, ModelOutput):
            raise Exception

        self._output_type = output_type

        self._output_wrapper_type = create_model(
            "CustomModelOutputWrapper",
            prediction=(output_type, ...),
            metadata=(dict, ...),
            __base__=ModelOutputWrapper,
            __module__=__name__,
        )

        setattr(
            sys.modules[__name__], "CustomModelOutputWrapper", self._output_wrapper_type
        )

import cpickle as pickle
from pathlib import Path

class MyOutput(ModelOutput):
    pass

signature = ModelSignature(MyOutput)
pickle.dump(signature, Path("/tmp/dump.pkl").open("wb"))

@commonism I have updated the issue so that it includes the python version (3.8)

I ran @commonism's code in python 3.8.16 and it didn't error (though I replaced import cpickle as pickle with just import pickle).
Considering how much of an edge case this is — issues with pickling caused by cython only on specific python versions and/or with cloudpickle(?) when using dynamic models created inside function calls — combined with the fact that I think this will be resolved with v2 (due to dropping cython, if nothing else) and our attention is mostly focused on v2, I'll be honest and say I think this is not something that is likely to get much attention from the pydantic maintainers.
I think we'd be open to a PR fixing it if you can figure out what's going wrong and it doesn't require any major changes, but I suspect v2 will already fix this.

I'll also note that I don't get errors using pickle instead of cloudpickle in python3.8 with the following code:
import sys
from abc import ABC, abstractmethod
from typing import Dict, Any, Type

from pydantic import BaseModel, create_model

class ModelOutput(BaseModel, ABC):
    class Config:
        arbitrary_types_allowed = True
        schema_extra: Dict[str, Any] = {}

    @classmethod
    def custom_schema(cls) -> str:
        model = create_model(f"Dynamic{cls.__name__}", __base__=cls)
        model.Config.schema_extra["example"] = cls.example()
        return model.schema_json()

    @classmethod
    @abstractmethod
    def example(cls) -> Dict:
        ...

class ModelOutputWrapper(BaseModel):
    prediction: ModelOutput
    metadata: Dict

class ModelSignature:
    def __init__(self, output_type: Type[ModelOutput]) -> None:
        if not issubclass(output_type, ModelOutput):
            raise Exception

        self._output_type = output_type

        self._output_wrapper_type = create_model(
            "CustomModelOutputWrapper",
            prediction=(output_type, ...),
            metadata=(dict, ...),
            __base__=ModelOutputWrapper,
            __module__=__name__,
        )

        setattr(
            sys.modules[__name__], "CustomModelOutputWrapper", self._output_wrapper_type
        )

import pickle
from pathlib import Path

signature = ModelSignature(ModelOutput)
pickle.dump(signature, Path("./dump.pkl").open("wb"))

(I did need to change ModelSignature(MyOutput) to ModelSignature(ModelOutput), not sure if that's right.. but MyOutput was not defined.)

And I can confirm it also works for me with import pickle changed to import cloudpickle as pickle after pip installing cloudpickle.

Given that we are unable to reproduce it, I'll be closing the issue.
If you want to continue here, let me know, and I'll reopen it. 🙏


fix(wallets): add error handling to WalletConnectReceiverScreen and related modules

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3412  👈
#3411
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @gregfromstl and the rest of your teammates on  Graphite