Tabs

This PR introduces a new tabline UI to replace PSMTabControl.
Rather than trying to mimic the ever-changing style of macOS, these tabs look like tabs. The rollover animations fade in & out instead of simply toggling on & off and there are some animations for closing and adding tabs as well.
Unlike PSMTabBarControl, there is no overflow menu. Instead, tabs scroll horizontally when there are too many to fit in the window at once.
There are properties for colors that match the Tabline* highlight group so that the tabs can match the user's colorscheme. However, I couldn't figure out how to get colorscheme colors programatically so for now colors are algorithmically generated based on the default foreground and background colors set in MMVimView.m.
The implementation uses ARC. It was build on macOS Mojave with Xcode 10.
I realize no one asked for this. I made it to scratch an itch and learn a little about MacVim. I'm putting it here in case others find it interesting or useful. This seems to work for me so far, but I'm no Vim or MacVim expert so it is possible I've majorly missed the mark!

Hi, I haven't taken a close look yet, but is there a reason you are implementing a new tab control instead of using an external third party one like those used by iTerm?

A couple reasons: ease and functionality.
Ease: The variant of PSMTabBarControl in iTerm2 is pretty big: 33 files (16 objc, 17 header) and 6,200 lines of code. My implementation is 6 files (3 objc, 3 header) and 660 lines of code. It was a lot easier and less work starting from scratch than understanding and customizing a large codebase just for tabs with the specific functionality I was targeting. It is easier to debug and maintain a significantly smaller base.
Functionality: I was targeting specific functionality. I wanted to eliminate the overflow menu that MacVim and iTerm2 have when there are too many tabs for the window. With scrolling tabs, you always see the selected tab. You can always drag to reorder any tab, not just those that aren't hidden in a menu. It means the + tab button is always available and never overloaded with the >> menu button.
Since MacVim is Vim, I wanted to design tabs that would work with Vim's Tabline highlight group so users could customize their tabline in MacVim just as they do in Vim. So the parts of my tabs correspond to Tabline, TablineSel, and TablineFill. The MMTabline class has properties for these. I couldn't figure out how to access these colors from MacVim, so for now I generate these properties algorithmically based on MMVimView's default foreground and background colors. It seems to work for the ones I tested:
Default:

Solarized Light

Solarized Dark

Monokai

For closing multiple tabs, I wanted to mimic Chrome's behavior where tabs conveniently slide under your mouse and then resize when you leave the tabline. I don't think I could do this with PSMTabBarControl:

Overall, I was looking for specific functionality and it was a lot easier to achieve what I was after by starting from scratch. At around 660 lines of code, I don't think it resulted in a lot of new code. FWIW, I believe the executable is also around 300K smaller.

I see. Ok it will probably take me some time to review this and there's a backlog of other PRs and issues to fix for Big Sur so this will likely not make it in the next release. I'll get to it though.

I was playing around with the new tabs and they look pretty good! I'll dig deeper to give feedbacks but I think we do want this. Meanwhile, you are still working on it right? Let me know when it's no longer WIP.
Couple comments so far:

If you have too many tabs you will need to scroll since the implementation is avoiding making the tabs too small. However, I couldn't find a way to scroll without a trackpad. I think we should think about how to allow the user to select off-screen tabs. We should at least make sure scrollwheel would scroll the tabs. For users without tabs, in the native tabs / Safari implementation, they would bundle the tabs to one side so you could click on it to pan left without needing a trackpad or scrollwheel, as follows:

Alternatively, in iTerm2 implementation uses a dropdown:

Note that we can't do drag-to-pan easily because dragging is already used for re-ordering tabs which I think makes sense. Not saying we should do the same thing, but we should provide some way to select / scroll to those tabs without a requirement of a scrolling device.

I find the top part slightly distracting as there is some empty space there. Is there mostly a stylistic choice? Have you tried it out to not have those empty space and how it looks?

I like that it's using the colorscheme for coloring. I'm debating if we need some ways to allow customization of the tab bar or lay the groundwork for that. No concrete thoughts on this yet.

Thank you for taking the time to look at this. I know you're busy and no one asked for tabs - I was just scratching my own itch.

You are right. I've been using a laptop for so long, I sort of forgot about mice! I will think about this and get back to you. One of the points of this implementation was to not have an overflow dropdown menu. I think those are sort of like hamburger menus - a place to put the UI you couldn't solve properly. Right now I don't even own a mouse so I might have to get one...
I started without any space above the tabs, but added it after I switched to Big Sur since the titlebar now renders in a color similar to the background. Having the tab background color (TablineFill) above the tabs adds contrast and visually separates the selected tab from the titlebar. It's similar to how Chrome and Sublime Text render tabs. I think it looks better and is easier to parse visually. It's easy to change, but I'd suggest getting functionality nailed down (like mouse UI!) before aesthetics since one can go down a rabbit hole iterating tweaks.
My aim was to use the existing Vim Tabline, TablineSel, and TablineFill highlight groups. People have already spent a lot of time customizing their themes. Furthermore, terminal Vim does it this way so I think this would be expected behavior for a GUI. But I didn't know how to access these values from code (help!), thus my colorscheme hack.

I don't think you need a mouse. Just use a trackpad but try to navigate the tabs without the scroll gesture :). Some suggestions:

Reserve some space on the left/right edges so if you click on them you will scroll the tabs instead (if there are more tabs on that side). This is kind of how macOS handles tabs anyway, except it also bunches up the tabs to make it clear in the UI there are more tabs to access.
Overflow dropdown menu: To be fair I think the main issue with the menu was that it's the only way to access the overflow tabs, since the old tabs could not be scrolled. Now that they could be scrolled it would more be an optional use (maybe it's optional to show) in case someone is using a mouse without a scrollwheel.
Support right-drag or middle-drag to pan. I don't love this because right-click should be for the menu, and middle click usually means close tab on a browser.

FWIW I think the behavior works pretty well right now. We should just give something to make it usable for people who don't have the ability to scroll. (Well, technically, they could use the :tab commands, but that would defeat the pt of the UI)

Huh, let me take a look at Big Sur. I was using Catalina when I looked at your change. Yeah the behavior is more important to get right first. Also, if you are using Big Sur, make sure it works with/without toolbars (set guioptions+=T).

Let me take a look at how you did it again.

I'd add an option for this. I think macOS defaults will be a good storage for this

I'll try some things out.
I'll check the T guioption.
Take a look at MMVimView.h Inside -setDefaultColorsBackground:foreground: I call my method -setTablineColorsBasedOnBackground:foreground. There, I infer colors for the tab parts based on the foreground and background parameters. But I'd prefer to just set them according to the user's colorscheme.

Ah right yeah that's kind of hacky. If you want to pass the highlight colors for Tabline/etc up you would have to add some hooks. Vim lives in a different process from MacVim, and the Vim-side code gui_macvim.m and MMBackEnd.m sends messages to MacVim. For setting the normal colors, gui_macvim.m's gui_mch_new_colors() calls MMBackEnd's setDefaultColorsBackground, which sends an IPC message over to MacVim of type SetDefaultColorsMsgID. You could either add to that message or make a new one.

If you want to see to see how gui_mch_new_colors() gets called to begin with and where it got the colors from, if you look around, it's called by set_normal_colors() in highlight.c, and you can look at set_groupd_colors to see how it does the lookup. You could just look up the colors similarly.
That said, I was looking at builtin and other popular colorschemes, and I'm not 100% their tabline colors would look good in the GUI. I recommend manually plugging in the color for debugging first to see if it even looks good. It sounds good in theory but those colors were designed with the terminal-based tablines in mind and may not look as good as you hope.

I've added some tab scroll buttons to the left of the tabline. There is a user default (MMShowTabScrollButtonsKey) that can be used to hide them since they aren't needed for trackpad users. They are shown by default.

I looked at highlight.c and gui_macvim.c but wasn't able to reliably get Tabline colors. I'll keep looking at the Vim source, but right now I'm stuck. Instead, I found a formula from the W3C that calculates perceptual brightness and used it to improve the algorithmic color selection based on the default foreground and background colors. I agree that some of the tabline colors in the color schemes might not look great whereas I think the algorithmic colors work pretty well now. I'm thinking in the future, it would be nice if the tabs provided a good default experience (algorithmic colors), but afforded motivated users the option to override the default experience. I imagine a check box (NSUserDefault BOOL property) where a user could indicate they opted to use their own color scheme's Tabline highlight group colors instead of the default algorithmic colors. I've also reverted the extra space above the tabs.

I looked at highlight.c and gui_macvim.c but wasn't able to reliably get Tabline colors. I'll keep looking at the Vim source, but right now I'm stuck. Instead, I found a formula from the W3C that calculates perceptual brightness and used it to improve the algorithmic color selection based on the default foreground and background colors. I agree that some of the tabline colors in the color schemes might not look great whereas I think the algorithmic colors work pretty well now. I'm thinking in the future, it would be nice if the tabs provided a good default experience (algorithmic colors), but afforded motivated users the option to override the default experience. I imagine a check box (NSUserDefault BOOL property) where a user could indicate they opted to use their own color scheme's Tabline highlight group colors instead of the default algorithmic colors. I've also reverted the extra space above the tabs.

OK that sounds good. Yeah if some of the tabline colors don't look good let's just stick with the algorithmic one for now. I could wire in the Vim binding stuff if you couldn't quite figure it out (there are quite a few bits of indirections there) and we could add that later.

OK that sounds good. Yeah if some of the tabline colors don't look good let's just stick with the algorithmic one for now. I could wire in the Vim binding stuff if you couldn't quite figure it out (there are quite a few bits of indirections there) and we could add that later.

I was playing with your scroll buttons, and they seem to  work well! Did you try only making them show up if we are overflowing? Also, I was debating to myself whether I think it belong to the left or right side.

I was playing with your scroll buttons, and they seem to  work well! Did you try only making them show up if we are overflowing? Also, I was debating to myself whether I think it belong to the left or right side.

The buttons automatically enable/disable if there is scrollable content. I did try having them show/hide, but it makes the UI seem glitchy. I think for interfaces like this, having them enable/disable is most natural. I initially had the scroll buttons on the right with the "+" button but it looked busy. I also did end up buying a mouse for testing, but I got stuck on getting the scroll wheel on the mouse to scroll the tabs horizontally. I feel like there is something obvious I'm missing, but I don't have any idea what it might be.

The buttons automatically enable/disable if there is scrollable content. I did try having them show/hide, but it makes the UI seem glitchy. I think for interfaces like this, having them enable/disable is most natural. I initially had the scroll buttons on the right with the "+" button but it looked busy. I also did end up buying a mouse for testing, but I got stuck on getting the scroll wheel on the mouse to scroll the tabs horizontally. I feel like there is something obvious I'm missing, but I don't have any idea what it might be.

Ok, I just learned that to scroll horizontally with a scroll wheel, you hold down the shift key. So it actually does work, I just didn't know how to use a mouse. :)

Ok, I just learned that to scroll horizontally with a scroll wheel, you hold down the shift key. So it actually does work, I just didn't know how to use a mouse. :)

Mouse wheel scrolling: Yeah but most users are not going to know to do that (holding shift). It's just unnecessarily difficult. So here's my suggestion: On trackpad / magic mouse, use horizontal scrolling just like now because it's more intuitive. On a regular mouse, use vertical scrolling because most mouse only have that. The best way I know to tell whether it's a regular mouse or a trackpad is by using hasPreciseScrollingDeltas, so I think you can use that to decide whether to use X or Y axis scrolling.
For reference, this behavior also seems to be how native tabs work.

Mouse wheel scrolling: Yeah but most users are not going to know to do that (holding shift). It's just unnecessarily difficult. So here's my suggestion: On trackpad / magic mouse, use horizontal scrolling just like now because it's more intuitive. On a regular mouse, use vertical scrolling because most mouse only have that. The best way I know to tell whether it's a regular mouse or a trackpad is by using hasPreciseScrollingDeltas, so I think you can use that to decide whether to use X or Y axis scrolling.
For reference, this behavior also seems to be how native tabs work.

Left/right buttons: I see. Hmm, I can kind of see that. I'm still wonder what "glitchy" means in this case. Are the tabs jumping around? I was imagining it would just push the tabs to the right, so I'm curious. Is the code easy to enable in the code right now? I may play around with it.
Otherwise, I think maybe we could make it disabled by default. I definitely think we should keep the feature but most people may not need it, so we just want to have the option for those who do.

Left/right buttons: I see. Hmm, I can kind of see that. I'm still wonder what "glitchy" means in this case. Are the tabs jumping around? I was imagining it would just push the tabs to the right, so I'm curious. Is the code easy to enable in the code right now? I may play around with it.
Otherwise, I think maybe we could make it disabled by default. I definitely think we should keep the feature but most people may not need it, so we just want to have the option for those who do.

Mouse wheel scrolling: How do I get the scrolling deltas? I had tried overriding -scrollWheel: but it was never called. So that's where I was stuck.
Left/right: By glitchy I meant having the buttons continually appear and disappear as you scrolled back and forth. It's more jarring than having them dim. I think it's also a bit of an anti-pattern to have UI controls just disappear. For example, browser back/forward buttons don't disappear when there is no history, they just dim.
For sure, you can certainly play around with it!
I noticed once I plugged in my mouse that scroll bars appeared on all my windows. Unplugging the mouse made them automatically disappear. I wonder how the presence of the mouse was detected and if the buttons could automatically toggle based on that.

Mouse wheel scrolling: How do I get the scrolling deltas? I had tried overriding -scrollWheel: but it was never called. So that's where I was stuck.
Left/right: By glitchy I meant having the buttons continually appear and disappear as you scrolled back and forth. It's more jarring than having them dim. I think it's also a bit of an anti-pattern to have UI controls just disappear. For example, browser back/forward buttons don't disappear when there is no history, they just dim.
For sure, you can certainly play around with it!
I noticed once I plugged in my mouse that scroll bars appeared on all my windows. Unplugging the mouse made them automatically disappear. I wonder how the presence of the mouse was detected and if the buttons could automatically toggle based on that.

Hmm, I think it has to do with how the NSWindow is configured. I thought you are overriding scrollWheel: event, but it may be because you just make it a scroll view and macOS is handling for you automatically. I need to take a look at how you are organizing the windows but I imagine you could override scrollWheel: at the correct place, and maybe just send deltaY to deltaX and that should work.

Hmm, I think it has to do with how the NSWindow is configured. I thought you are overriding scrollWheel: event, but it may be because you just make it a scroll view and macOS is handling for you automatically. I need to take a look at how you are organizing the windows but I imagine you could override scrollWheel: at the correct place, and maybe just send deltaY to deltaX and that should work.

When I overrode -scrollWheel: in MMTabline.m, it was never called. So then I tried creating my own NSScrollView subclass and overriding it there instead. In that case, my -scrollWheel: override was called, but trackpad scrolling no longer worked. Someone actually mentions this behavior on StackOverflow (https://stackoverflow.com/q/43854025/111418) but the question has no responses. I know the underlying scrolling machinery was heavily modified in macOS 10.9 for responsive scrolling and I wonder if that has something to do with it?
https://developer.apple.com/library/archive/releasenotes/AppKit/RN-AppKitOlderNotes/index.html#10_9Scrolling

When I overrode -scrollWheel: in MMTabline.m, it was never called. So then I tried creating my own NSScrollView subclass and overriding it there instead. In that case, my -scrollWheel: override was called, but trackpad scrolling no longer worked. Someone actually mentions this behavior on StackOverflow (https://stackoverflow.com/q/43854025/111418) but the question has no responses. I know the underlying scrolling machinery was heavily modified in macOS 10.9 for responsive scrolling and I wonder if that has something to do with it?
https://developer.apple.com/library/archive/releasenotes/AppKit/RN-AppKitOlderNotes/index.html#10_9Scrolling

Mouse wheel scrolling: I think I've got it working. Rather than overriding -scrollWheel:, I'm using something called an event monitor to watch for scroll wheel events. I take the original scroll wheel event and create a new one based on it where the delta X value is the original event's delta Y. Scrolling with the SHIFT key also still works.

Mouse wheel scrolling: I think I've got it working. Rather than overriding -scrollWheel:, I'm using something called an event monitor to watch for scroll wheel events. I take the original scroll wheel event and create a new one based on it where the delta X value is the original event's delta Y. Scrolling with the SHIFT key also still works.

Hi @sfsam  I haven't checked up on the progress here much. Is this ready to merge and should I take a closer look? Was just curious since the title still says "WIP"

Hi @ychin. Yes it's ready for you to take a closer look.

I would like to add my five cents...
One of the reasons why I like MacVim so much is due to how it seamlessly integrates with the macOS design language.

So you have beautiful, and then boom— you go from this to that

However, by now we're somewhat used to this uglyness, for long-time MacVim users it's natural, isn't it? If the tabs were to change, I personally should prefer them to follow the "transparent" title bar logic that is how tabs are implemented in iTerm 2. This is something that would feel 100% natural and a reasonable, improved alternative to the long-term ugliness that we have now. So please if you're going to be changing tabs, if you do, please make it look like this! @ychin

(I would love to send a patch for it, but I don't know anything about Object-C so it may be problematic.)

This is a pull request that I need to get back to since I kind of let it sit and didn't have time to visit / review the change. @sfsam did a fair bit of work on this so I kind of want to take a look to see how extensible it is in case we want to support a minimal tab bar style like iTerm.
This PR did put forth some argument why we don't want to just use iTerm's tab bar solution though (in particular, if you have too many tabs, iTerm has the same issue as MacVim where it just kind of puts all the extra tabs in a menu). @tucnak have you tried this PR? I think it does do a good job introducing a new tab bar that respects the color scheme while being relatively minimalistic.
Also, one unfortunate thing is that  macOS doesn't really have a native UI toolkit for building tabs. They really want you to use native tabs but it has quite a lot of constraints, which is why everyone ends up building their own tabs control which really sucks for consistency.
I'm trying to push some other features through right now so won't have time to look at this in maybe 1-2 releases.

Yes, I've tried this PR, but my main issue with it is that it doesn't follow the transparent title bar logic. And this is something I genuinely love about MacVIm. I'm sure @sfsam did a great job, and if anything this looks better than what we have now, but just falls short of perfection due to the inability of this design to adapt whenever the title bar is transparent. This is what this PR looks like on my machine & my config:

Note: the left and right buttons in the left do nothing.

What does not following transparent title bar logic mean? You want the gray area to the right to be just the background color? Note that the above proposal of "tabs in titlebar" is something else (e.g. iTerm calls them "minimal style")

When I say transparent title bar logic, I have in mind the "Titlebar appearance -> Transparent" setting, which displays the title bar within the canvas of the editor and embeds into hi Normal or whatever. (And in iTerm they have this too, they call it "minimal," correct.)

You want the gray area to the right to be just the background color?

I say simply move the existing tab bar in the proposal to the title bar, and yes, make its background transparent, not gray.

When I say transparent title bar logic, I have in mind the "Titlebar appearance -> Transparent" setting, which displays the title bar within the canvas of the editor and embeds into hi Normal or whatever. (And in iTerm they have this too, they call it "minimal," correct.)

Sure, that's not really what transparent titlebars are for. It's a new feature request to embed the tab bars without the titlebars. But I don't think embedding the editor within the titlebar makes sense, because you won't be able to click on things. You can already set MacVim titlebar to "hidden", with the obvious drawback that you can drag it around.

I say simply move the existing tab bar in the proposal to the title bar, and yes, make its background transparent, not gray.

That could be a future option but definitely not the default. It breaks what the default assumptions of how tabs should work in most applications. FWIW Safari during Monterey beta tried doing that and it was so unpopular that they reverted back to the regular tabs, with the "compact" mode as an option.

@sfsam thank you to Keep working on that feature!

I'm sorry that this has fallen by the wayside for me. I need to get back to taking a look and merging this. Since you seem to have kept up merging from upstream is this ready to go @sfsam ?

Hi. Yes @ychin it is ready for you to take a look. I've just been sporadically keeping it up to date with the current state of MacVim. Since this is a big change, I'm nervous about it and hope it can be tested by folks who use GUI tabs regularly, both for functionality as well as for bugs. On a personal note, I have some "family/life things" that I need to take care of. They are starting to swallow me up and consequently most of my attention and energy is focused there.

On a personal note, I have some "family/life things" that I need to take care of. They are starting to swallow me up and consequently most of my attention and energy is focused there

Oh sure that's fine. Given that this pr has sat unreviewed for so long I do appreciate you having merged and kept it up to date so far.
If you do not mind me fixing up the PR here and there I may do so just so we can merge it.

Thanks @ychin. Sounds good.

@ychin ping :)

@ychin ping :)

Sorry for the slow update. I had been procrastinating on this. I have been running this and reviewing the change and it should be merged soon. There are some issues with backwards compatibility when testing on older macOS and also some minor behavior decisions that I want to change (scrolling behavior) but for the most part this is fine. I'm not proud that this has be languishing this on the PR queue for so long.


Refactored into sketch & src files

@bellahenkel, this compiles, but I have no idea if it works! Also, I moved the src files out of subdirectories to avoid over-complicating the .ini file.

closing this, because I didn't first move the files, comment, then edit them, so the git history was lost.


[Color Picker] Improve discoverability of color tweak UI

As @jay-o-way rightfully pointed out in #9726: the tab to tweak color values is hard to discover. Would be good to add an edit symbol when hovering over the color.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

Then we need different symbols for the editable and selectable colors. What about the hand cursor for all colors?

Can we show a checkmark (or other symbol which means "selecting something") on hovering the selectable colors on the right and left side of the editable color?

We are adding additional tooltips to all color shades that explain what the colors do. Additionally OOBE explains this feature and we have improved the mouseover state of the buttons to better show interactivity. On top of that, the WinUI and Windows Community Toolkit have similar controls and do not show icons.
Therefore I believe this issue can be closed.

I was using Skype lately and by coincidence the profile picture has the exact same icon and action (to change the picture). Just saying :)


WIP: DO_NOT_MERGE: debug PR#64

The following PR:
STOR-1065: Rename node-driver-registrar RBAC and Rework sidecar bindings to bind common ClusterRoles
started failing ci/prow/e2e-ibmcloud-csi as soon as I added the patch titled "Rework sidecar bindings to bind common ClusterRoles". The logs look like ClusterRoles from CSO manifests/ are not available at all:
level=info msg=Cluster operator insights SCAAvailable is False with Forbidden: Failed to pull SCA certs from https://api.openshift.com/api/accounts_mgmt/v1/certificates: OCM API https://api.openshift.com/api/accounts_mgmt/v1/certificates returned HTTP 403: {"code":"ACCT-MGMT-11","href":"/api/accounts_mgmt/v1/errors/11","id":"11","kind":"Error","operation_id":"0680db61-06ab-4f59-a365-06b46a6400e3","reason":"Account with ID 2DUeKzzTD9ngfsQ6YgkzdJn1jA4 denied access to perform create on Certificate with HTTP call POST /api/accounts_mgmt/v1/certificates"}
level=info msg=Cluster operator network ManagementStateDegraded is False with :
level=error msg=Cluster operator storage Degraded is True with IBMVPCBlockCSIDriverOperatorCR_IBMBlockDriverStaticResourcesController_SyncError: IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/main_attacher_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-main-attacher-role" not found
level=error msg=IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/main_provisioner_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-main-provisioner-role" not found
level=error msg=IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/volumesnapshot_reader_provisioner_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-provisioner-volumesnapshot-reader-role" not found
level=error msg=IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/configmap_and_secret_reader_provisioner_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-provisioner-configmap-and-secret-reader-role" not found
level=error msg=IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/main_resizer_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-main-resizer-role" not found
level=error msg=IBMVPCBlockCSIDriverOperatorCRDegraded: IBMBlockDriverStaticResourcesControllerDegraded: "rbac/main_snapshotter_binding.yaml" (string): clusterroles.rbac.authorization.k8s.io "openshift-csi-main-snapshotter-role" not found

(https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/openshift_ibm-vpc-block-csi-driver-operator/64/pull-ci-openshift-ibm-vpc-block-csi-driver-operator-master-e2e-ibmcloud-csi/1676468811848486912/build-log.txt)

/test e2e-ibmcloud-csi

/test e2e-ibmcloud-csi

The issue was resolved by https://github.com/openshift/cluster-storage-operator/pull/386. Nothing to debug here anymore. Closing...


CAG Enhancement for toPoints()

So, CAG.toPoints() is not part of the library. This has been asked for by several users, and makes perfect sense. In addition, to/from and from/to points is reciprocal. Testing for this has been added.
As part of the testing, I found out that CAG.circle() was using fromSides(). Although, there's very little difference to fromPoints((), there are differences internally.

The order of vertexes are very different
canonicalized() is not called
So, the resulting CAG objects are really non-CAG.

Last, there were changes to the tests as the new CAG.circle() produced slightly different results.
NOTE: I dropped the new version of CSG.js into OpenJSCAD.org, rebuild, and ran all examples. Looks fine.

Btw @z3dev  if you want to avoid headaches (copy & paste etc) in testing how things break OpenJscad.org, just use this command inside your local folder of OpenJScad.org (if csg.js is in the same 'containing' folder ie:
someFolder
-->csg.js folder
-->OpenJSCAD.org folder (do this here)
)
npm link ../csg.js/ @jscad/csg

Done. I believe this is ready for merge now. Please review one last time.


VSCode flickers opening the css file

VSCode Version: 1.44.0
OS Version: macOS 10.15.4

Steps to Reproduce:

open css file
change editor width

VSCode will flicker.
font-awesome.min.css.zip

@kzhui125 How do you mean? I cannot reproduce any flickering:

@alexdima
It looks like this:
https://streamable.com/tproo5
Thanks,

This reproduces with the following:
"editor.wordWrap": "on", // or a file with minified code which gets wrapping turned on automatically
"editor.minimap.enabled": true,
"editor.minimap.size": "fit",

And it reproduces at the boundary where the minimap switches scales. It looks like the layout is in some kind of loop:


feat: find real project name for managed project

related to #15

ill have to review again to see if i need to make any changes @khalilou88


Enable weight compression in GPU

This PR enables weight compression in GPU. Previously the weight
compression is run in CPU because the uncompressed weight is too large
to fit in GPU, and running on CPU is pretty slow in fp16 case. Now we
switch to GPU. The technique we use to fit the uncompressed weight into
GPU memory is lazy loading. We load the weight right before the first
use, and instantly free it after the last use.
By testing, this PR reduces the quantization computation time by 6 min
on Linux machine with RTX 4090, and reduces the time by 40 sec on Mac
Studio with 32 GB of memory.

Updated, validated and now ready for review.


fix: final bundle size

So, while testing out Nuxt Hub, I've noticed that this module alone boosts the size of at least 1.4MB, exceeding Cloudflare's free Worker's Plan.

Ok, now I understand why it is suggested to load only what you want with shiki...


AppVeyor breaks on Node.js v14

I think this may be the issue.

Fixed in https://github.com/bitjson/typescript-starter/commit/b48eec599c43a7d373497b971ca1ed50547cecb2 🎉


Use "{0}" instead of "{ {0} }" for struct init

Clang gives "error: braces around scalar initializer [-Werror,-Wbraced-scalar-init]"
for the previous approach.

Oh interesting, this throws -Wmissing-braces because EVP_CIPHER_CTX ctx is the first member of the s2n_drbg struct


Add implicit patch during dev to unset readOnlyRootFilesystem

Is your feature request related to a problem?
Our base Helm chart has securityContext.readOnlyRootFilesystem set to true on its container to improve production security. During development with devspace dev, this causes the following error message:
start_dev: start sync: error executing tar: tar: can't remove old file devspacehelper: Read-only file system
: command terminated with exit code 1
fatal exit status 1

Which solution do you suggest?
The docs describe a number of implicit patches applied by DevSpace to dev containers: https://www.devspace.sh/docs/configuration/dev/modifications/patches#implicit-patches
I propose adding the following patch:
- op: remove
  path: spec.containers[].securityContext.readOnlyRootFilesystem

In my opinion, this makes sense since a read-only filesystem could never work with DevSpace, so this should be unset by default.
Which alternative solutions exist?
We are currently applying this patch manually, which works fine, but clutters devspace.yaml. For reference, this is part of our devspace.yaml:
dev:
  app:
    patches:
      - op: remove
        path: spec.containers.name=${DEVSPACE_NAME}.securityContext.readOnlyRootFilesystem

Additional context
I'm using DevSpace version 6.3.0.

Hey @meyfa ! Thanks for opening up this issue! Yes I agree, that makes sense, we will add this as an implicit patch.


App not being redirected to the right redirectUri

BACKGROUND
I'm relatively new to Flutter and trying to build a new app from scratch (currently just in development and only testing on Android right now) using the oauth2_client package to allow the user to connect the app with their Intuit Quickbooks account. The app correctly opens the authentication window and allows the user to log in to their Quickbooks.
ISSUE
After log in, Android navigates back to the app but it doesn't navigate back to the correct screen based on the redirectUri passed to the OAuth2Client, it instead navigates back to the screen where the user initiated the authentication. I can't figure out why this is happening.
CODE
app_routes.dart
final router = GoRouter(
  routes: [
    GoRoute(
      path: '/',
      builder: (context, state) => const AuthGate(),
      routes: [
        GoRoute(
          path: 'about',
          builder: (context, state) {
            if(state.uri.queryParameters['realmId'] != null)
            {
              Provider.of<BooksmartOAuthHelper>(context, listen: false).setQuickbooksRealmId(state.uri.queryParameters['realmId']!);
            }

            return const AboutPage();
          },
        ),
      ],
    ),
  ],
);

The authentication is initiated with this code from my HomeScreen:
onTap: () {
  Provider.of<BooksmartOAuthHelper>(context, listen: false).authenticateOAuth2Helper(app, context);
},

And here's BooksmartOAuthHelper (I just made this wrapper so I could use it in a Provider at the top level of my app without having to instantiate the OAuth2Helper):
class BooksmartOAuthHelper {
  OAuth2Helper? oauth2Helper;
  String? quickbooksRealmId;

  BooksmartOAuthHelper();

  void authenticateOAuth2Helper(String accountingApp, BuildContext context) async {
    switch (accountingApp) {
      case 'Quickbooks':
        IntuitOAuth2Client client = IntuitOAuth2Client(
          redirectUri: 'https://booksmart-6870c.web.app/about',
          customUriScheme: 'https'
        );

        oauth2Helper = OAuth2Helper(
          client,
          grantType: OAuth2Helper.authorizationCode,
          clientId: intuitClientId,
          clientSecret: intuitClientSecret,
          scopes: ['com.intuit.quickbooks.accounting', 'com.intuit.quickbooks.payment'],
        );

        await oauth2Helper!.fetchToken();
    default:
      throw UnimplementedError('$accountingApp is not supported yet');
    }
  }
}

The authentication window correctly pops up when authenticateOAuth2Helper is called and allows the user to log in.
Here's my custom OAuth2Client:
class IntuitOAuth2Client extends OAuth2Client {
  IntuitOAuth2Client({required super.redirectUri, required super.customUriScheme}):
  super(
    authorizeUrl: 'https://appcenter.intuit.com/connect/oauth2',
    tokenUrl: 'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer'
  );
}

Here's a code snippet from my AndroidManifest.xml:
<manifest ...>
    <application ...>
        <activity android:name=".MainActivity" ...>
        </activity>
        <meta-data android:name="flutter_deeplinking_enabled" android:value="true" />
        <activity android:name="com.linusu.flutter_web_auth_2.CallbackActivity" android:exported="true">
            <intent-filter android:label="flutter_web_auth_2" android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="https"
                    android:host="booksmart-6870c.web.app"
                    android:pathPrefix="/about" />
                <data android:scheme="http" />
            </intent-filter>
        </activity>
</manifest>

Also, since Quickbooks requires an http or https scheme, I've set up my callback URI as an App Link. I'm hosting a dummy website on Firebase Hosting (https://booksmart-6870c.web.app) and the web server contains the /.well-known/assetlinks.json so Android knows to redirect these URL calls to my app.
Last possibly interesting piece:
Before I added the " ... " to the AndroidManifest.xml and instead had the same intent-filter in the MainActivity, the authentication wasn't working but after the authentication failed I would still get redirected to my AboutPage with the correct query parameters.
PROBLEM QUESTION
Does anyone know why my app isn't correctly redirecting to the AboutPage (the end of the redirect URI based on my GoRouter)? It's instead redirecting back to the HomePage on the app (where the authentication was initiated). I need to get the query parameters from the redirect URI, but because the redirect URI isn't being handled by my app correctly I'm unable to get those parameters.

I have the same problem.
After login, redirect failed with following exception :
No stored state - unable to handle response
I think the problem is general, I tried flutter_appauth package and got the same exception.

There seems to be a solution in MaikuB/flutter_appauth/issues/503, thanks to @leutbounpaseuth.


Update readme

Updated brand names, included additional information on contents of the repo, and added clarifying information on submission of sensitive information.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

@dougelliott please take a look at the small edits.


Enter the annotation interface，Model call failure

Please supply more info, like web console logs, container logs etc.

Enable model services
Make sure you have installed NVIDIA Driver and NVIDIA Container Toolkit. But you do not need to install the CUDA Toolkit, as it already contained in the model image.
You need set "default-runtime" as "nvidia" in /etc/docker/daemon.json and restart docker to enable NVIDIA Container Toolkit
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  },
  "default-runtime": "nvidia"
}

For more info, see docs


[proposal] load-aware descheduling

What is your proposal:
Support load-aware descheduling
Why is this needed:
Although Koordinator now has load-aware scheduling capabilities, but it is a best-effort mechanism. Whether it is a latency-sensitive application or a best-effort workloads, it is always possible to generate local hot spots in actual operation. At this time, it is necessary to optimize local hot spots by rescheduling
Is there a suggested solution, if so, please add it:

/area koord-descheduler

ref #196


Add eqc trim tests to machi_file_proxy

QuickCheck took me to the maze of my code.

csum_table:all_trimmed/3 says
all_trimmed(#machi_csum_table{table=T}, Left, Right) ->

(I guess Left and Right here are both offset (instead of length) only from the variable names)...
And then, file_proxy:handle_call({trim, ...) calls it as
case machi_csum_table:all_trimmed(CsumTable, Offset, Size) of

Making testing time to 600 sec, following errors happened.
** Reason for termination ==
** too_many_errors
...
=ERROR REPORT==== 4-Nov-2015::17:12:11 ===
** Too many db tables **

(x10).....(x1)........machi_file_proxy_eqc:41: eqc_test_...*failed*
in function eqc:quickcheck/1 (../src/eqc.erl, line 1276)
in call from machi_file_proxy_eqc:'-eqc_test_/0-fun-1-'/1 (test/machi_file_proxy_eqc.erl, line 41)
**exit:{system_limit,[{ets,new,[machi_csum_table,[private,ordered_set]],[]},

Changed a parameter to make more contention between planned_writes
and planned_trims as [1]
Then got an error (longer version [2]):
Sequential prefix:

   machi_file_proxy_eqc:start(#state{
	 pid = undefined,
	 prev_extra = 0,
	 planned_writes = [{1025, 4}, {1029, 1}],
	 planned_trims = [{1030, 1}],
	 written = [{0, 1024}],
	 trimmed = []}) ->
       <0.1338.0>
   machi_file_proxy_eqc:write(<0.1338.0>, 1025, {<<0, 0, 0, 0>>, 0, <<>>}) -> ok
   machi_file_proxy_eqc:append(<0.1338.0>, 0,
       {<<0, 0, 0, [snip] 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>,
	0, <<>>}) ->
       {ok, "eqc_data7130.627044", 1029}
   machi_file_proxy_eqc:trim(<0.1338.0>, 1030, 1) -> ok
   machi_file_proxy_eqc:write(<0.1338.0>, 1029, {<<0>>, 0, <<>>}) -> {error, written}

Reason:
  Post-condition failed:
  {error, written} /= ok
machi_file_proxy_eqc:40: eqc_test_...*failed*
in function machi_file_proxy_eqc:'-eqc_test_/0-fun-1-'/1 (test/machi_file_proxy_eqc.erl, line 40)
**error:{assertEqual_failed,[{module,machi_file_proxy_eqc},
                     {line,40},
                     {expression,"eqc : quickcheck ( eqc : testing_time ( 15 , ? QC_OUT ( prop_ok ( ) ) ) )"},
                     {expected,true},
                     {value,false}]}

[1] https://gist.github.com/shino/7e77c2fac3af4e3a7c85
[2] https://gist.github.com/shino/ef91a984c5582d09f963

It looks file_proxy is behaving correctly. I think the verification is wrong.

Self comment to the above diff. It uses shorter intervals and makes each intervals filled. It will be useful to generate overlapped planned_writes and planned_trims but, downside is it does not have wide variety.

I think @kuenishi is right - the proxy is behaving correctly and the eqc test is not validating this case properly.

file_proxy returns {error, written} when a client tried to write to a written chunk (same size and offset, regardless of bytes and checksum), but write_ok believes it's okay if size and offset are exactly same as already written chunk.

Test passed for several runs, diff looks nice :+1:
Feel free to merge after one tiny comment above :golf:

Comments outside of this RP, just for future note, not mandatory for this PR to be merged.

Are filenames in PB high clients string()?

https://github.com/basho/machi/pull/35/files#diff-84643a086b4e4b105b74001aa044e0ffR130
https://github.com/basho/machi/blob/master/test/machi_pb_high_client_test.erl#L67-L69

ETS tables owned by file proxy processes are not closed
read_args uses offset(), which likely reterns < 1024

@shino "Are filenames in PB high clients string()?" I would like to keep file names as binary() in all code except the PB interface.

@slfritchie May I ask you a question, why use different types?

Hrm, well, all of the library code is assuming a binary().  But the PB definition file uses "string", which the PB compiler converts to & from list()/string().  Since our conversation a week (?) or so ago in the office about valid char types for filenames, using a bytes type in the PB definition feels to me to be too big


rwinrm won't take .'s in username

https://github.com/WinRb/WinRM/blob/master/bin/rwinrm#L35
first.last@host doesn't work.

Bummer, that's a pretty common character for user names too.
From Creating User and Group Accounts
Logon names can't contain certain characters. Invalid characters are
" / \ [ ] : ; | = , + * ? < >
Logon names can contain all other special characters, including spaces, periods, dashes, and underscores. But it's generally not a good idea to use spaces in account names.

Fixed


Suppress MsgBox when Wizard is running in silent mode

Fixes https://github.com/microsoft/vscode/issues/75281
I have been able to reproduce the issue with both system and user installers of last stable version (1.35.1).
I have been testing building the setup binary with the fix and the bug is fixed. Following the steps in the issue with this fixes results with exit code 1 with no message boxes or dialogs (as expected, because other installation for other arch is installed).

Awesome, thanks! 🍻


libmusl with static OpenSSL?

This looks really cool!
There's a nice trick with musl-libc, where you can build a 100% static Rust executable that works on any distro with a reasonably modern kernel. It's also more-or-less possible to make this work with static OpenSSL.  For an example, see https://github.com/emk/rust-musl-builder.
Is there any support for doing something like this with cross? If so, I'd be happy to retire rust-musl-builder and point people at cross!

It ... already works? cross build --target x86_64-unknown-linux-musl on the Cargo repo gives me a statically linked Cargo.
If you find sometimes that doesn't work, let me know and I'll look into it!

Sweet!

Follow up to this: Is there a reason OpenSSL is not included in the non-x86 musl targets? I'm interested in using cross to create static binaries targeting Raspberry Pi 3, but need OpenSSL. Previously I've used https://github.com/clux/muslrust for creating static binaries, but that project does not support multiple architectures. In clux/muslrust#11, we discuss this project superseding that one.

Is there a reason OpenSSL is not included in the non-x86 musl targets?

I couldn't get OpenSSL to compile using the MUSL toolchains last time I tried (and the alternative of compiling OpenSSL using the glibc toolchain resulted in link errors when trying to produce binaries, iirc). Sadly, I don't remember the details :-(.

@clux Any insight here?

Hi.
No, not really. OpenSSL is difficult. In all my attempts at getting the linux musl build to work, I had to get OpenSSL compiled correctly with musl-gcc. Any attempt where I accidentally/purposefully used native gcc, I'd end up with link errors at the end of cargo build.
Also, I just gotta say that I really like how the docker images in here are set up. The tricks to compile then apt purge build dependencies for instance. Nice way of minimising dependencies and not accidentally relying on the wrong things (I ended up spending way too much time getting pkgconfig to do the right thing with custom prefixes).

FYI, I submitted this issue to This Week in Rust cause it's something that I really want for my home Kubernetes on Raspberry Pi 3 cluster, but it's far beyond my own knowledge. Hoping someone with the right skills will bite. :}

This was fixed by https://github.com/rust-embedded/cross/pull/218.


docs: boards: sort the board architectures alphanumerically

Sort the list of board architectures alphanumerically except for shields, which are still listed at the very end.

@henrikbrixandersen I think this PR could also be marked as trivial :)

Thank you, @henrikbrixandersen! I wonder if I could interest you in pushing the clean-up slightly further, as I don't think having all the board types in UPPERCASE is particularly pleasing to the eye (plus, some are plain and simple misspelled, ex RISCV).

"NIOS II" --> "Nios II"
"XTENSA" --> "Xtensa"
"POSIX/NATIVE" --> "POSIX/Native"
"RISCV" --> "RISC-V"

Thanks!

Thank you, @henrikbrixandersen! I wonder if I could interest you in pushing the clean-up slightly further, as I don't think having all the board types in UPPERCASE is particularly pleasing to the eye (plus, some are plain and simple misspelled, ex RISCV).

"NIOS II" --> "Nios II"
"XTENSA" --> "Xtensa"
"POSIX/NATIVE" --> "POSIX/Native"
"RISCV" --> "RISC-V"

Thanks!

Sure, added a commit for fixing the board architecture titles as well.


Locking wallet automatically/manually

@justinvforvendetta I really like you, but next time leave a todo 💃 😆

well you know why i havent been going too crazy on this repo lately anyway ;]

ugh osx is having issues with autoconf and berkeleydb 4.8

lol


Add inactiveClass to NavLinks component

With windi/tailwind it's easier to have inactive classes than working against specificity. Added "inactive" default for symantics.
This wont do anything:
<NavLink href="/some-page" class="no-underline" activeClass="underline"
    Some Page
</NavLink>

So we introduce this:
<NavLink href="/some-page" inactiveClass="no-underline" activeClass="underline"
    Some Page
</NavLink>

Sorry for not getting to this earlier. Thank you.


neomutt: add smime_keys optional

Description of changes
This enables smime_keys from the neomutt source repository (found under
/contrib, not to be confused with the neomutt-contrib repository).
Unlike mutt, which adds smime_keys to the build output /bin by default,
neomutt currently doesn't even provide an option to expose it, and that is even
though we default to adding man smime_keys_neomutt!
I've set this optional to default to true, but that can be discussed ofc!
My reasoning was:

It's prominently displayed on https://neomutt.org/man
We alrady default to shipping its man pages, it would be confusing (and was
to me) confusing why I didn't have the binary in path.

I've also formatted the source file in a separate preceeding commit, I know
this can be optional, but I do feel it made optionals a lot more readable... so
I'd really prefer to keep it this way >_>
Commits:

neomutt: apply nixfmt-rfc-style
neomutt: add smime_keys optional

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.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.

Add a :+1: reaction to pull requests you find important.

The formatting change probably makes this diff really annoying to review, you can see the actual changes that matter here e37215d0b82a36925778b66bcb0f0e53fa3c3813

Diff LGTM, feel free to merge, but it would be nice to replace --replace with --replace-fail.

(I can't self merge when there is a change-request still hanging btw :p)


In-memory Engine: use a more crossbeam-like skiplist

What is changed and how it works?

Issue Number: Ref #16141

What's Changed:
use a more crossbeam-like skiplist

tikv/skiplist-rs change the skiplist to the crossbeam-like and thus some API changed. This PR modify the code accordingly.
Also, this PR construct a type InternalBytes to be used as the generic type in skiplist. The Ord trait of it is implemented to reflect the comparison with sequence number.
Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

None

add a issue #

/run-test

/run-clippy-darwin-amd64

/merge


Log errors, does not update sensors and unknown values

Log errors, does not update sensors and unknown values

Home Assistant 2023.2.3
Supervisor 2023.01.1
Operating System 9.5
Frontend 20230202.0 - latest
This error originated from a custom integration.
Logger: custom_components.octopus_energy.api_client
Source: custom_components/octopus_energy/api_client.py:361
Integration: Octopus Energy (documentation, issues)
First occurred: 11:18:49 am (6 occurrences)
Last logged: 11:19:52 am
Request failed (https://api.octopus.energy/v1/products/TESLA-IMPORT-12M-FIX-22-07-28): 404; {"detail":"Not found."}
Request failed (https://api.octopus.energy/v1/products/TESLA-EXPORT-12M-FIX-22-07-28): 404; {"detail":"Not found."}
This error originated from a custom integration.
Logger: custom_components.octopus_energy.api_client
Source: custom_components/octopus_energy/api_client.py:268
Integration: Octopus Energy (documentation, issues)
First occurred: 11:18:49 am (8 occurrences)
Last logged: 11:19:52 am
Request failed (https://api.octopus.energy/v1/products/TESLA-IMPORT-12M-FIX-22-07-28/electricity-tariffs/E-1R-TESLA-IMPORT-12M-FIX-22-07-28-E/standard-unit-rates?period_from=2023-02-09T00:00:00Z&period_to=2023-02-11T00:00:00Z): 404; {"detail":"Not found."}
Request failed (https://api.octopus.energy/v1/products/TESLA-EXPORT-12M-FIX-22-07-28/electricity-tariffs/E-1R-TESLA-EXPORT-12M-FIX-22-07-28-E/standard-unit-rates?period_from=2023-02-09T00:00:00Z&period_to=2023-02-11T00:00:00Z): 404; {"detail":"Not found."}
Request failed (https://api.octopus.energy/v1/products/TESLA-EXPORT-12M-FIX-22-07-28/electricity-tariffs/E-1R-TESLA-EXPORT-12M-FIX-22-07-28-E/standard-unit-rates?period_from=2023-02-08T00:00:00Z&period_to=2023-02-09T00:00:00Z): 404; {"detail":"Not found."}
Request failed (https://api.octopus.energy/v1/products/TESLA-IMPORT-12M-FIX-22-07-28/electricity-tariffs/E-1R-TESLA-IMPORT-12M-FIX-22-07-28-E/standard-unit-rates?period_from=2023-02-08T00:00:00Z&period_to=2023-02-09T00:00:00Z): 404; {"detail":"Not found."}

Hello, sorry to see you're having issues.
I don't think I can fix this issue, as I'm just using the data that is being returned by Octopus. The fact it can't even find the product suggests a configuration issue. Have you only just started using the integration or switched tariffs? You might need to contact them directly.

thanks Dave, it has been working without any problems previously, however my tariff changed on the 3rd Feb, I will reach out to Octopus

I do am getting this same error, with the same log errors too, i suspect there is an issue there side.

Similar issue. I have copied and pasted my API key, so there is no error there. My account was just switched from Bulb to Octopus, so I will wait a bit before trying again.
Last logged: 13:20:54

Request failed (https://api.octopus.energy/v1/products/BULB-CRED-VAR-V1/electricity-tariffs/E-1R-BULB-CRED-VAR-V1-M/standard-unit-rates?period_from=2023-02-18T00:00:00Z&period_to=2023-02-20T00:00:00Z): 404; {"detail":"Not found."}
Request failed (https://api.octopus.energy/v1/products/BULB-CRED-VAR-V1/electricity-tariffs/E-1R-BULB-CRED-VAR-V1-M/standard-unit-rates?period_from=2023-02-18T00:00:00Z&period_to=2023-02-20T00:00:00Z): 502;  <title>502 Bad Gateway</title>
502 Bad Gateway

nginx
Request failed (https://api.octopus.energy/v1/products/BULB-CRED-VAR-V1/electricity-tariffs/E-1R-BULB-CRED-VAR-V1-M/standard-unit-rates?period_from=2023-02-18T00:00:00Z&period_to=2023-02-20T00:00:00Z): 401; {"detail":"Invalid API key."}

This is the exact same issues for myself, the API key is corretc but in the logs it says the same as yours. wil keep trying.
2023-02-21 09:39:18.519 ERROR (MainThread) [custom_components.octopus_energy.api_client] Request failed (https://api.octopus.energy/v1/products/BULB-CRED-VAR-V1): 404; {"detail":"Not found."}
2023-02-21 09:39:18.648 ERROR (MainThread) [custom_components.octopus_energy.api_client] Request failed (https://api.octopus.energy/v1/products/BULB-CRED-VAR-V1/electricity-tariffs/E-1R-BULB-CRED-VAR-V1-G/standard-unit-rates?period_from=2023-02-21T00:00:00Z&period_to=2023-02-23T00:00:00Z): 404; {"detail":"Not found."}
2023-02-21 09:39:18.651 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved

thanks, its looking good for me.


SD3 different inference result using sd3_minimal_inference.py and diffusers

Using sd3_minimal_inference.py and diffusers to inference open source sd3 model can get totally different result, is it because of the scheduler? it seems that you use your own-written scheduler rather than the scheduler from diffusers.

The scheduler is copied from Diffusers, so it might not cause it. Does 'different' mean the quality or the content (pose, angle and composition etc.)? If the overall quality is similar, the content may be different by the random generator (on cpu or gpu) even with the same seed.

I used sd3_minimal_inference.py  to generate image prompt like “a cat holding a sign that says hello world”，it outputs only a cat，it seems like the text has been truncated，the model of sd3_medium_incl_clips_t5xxlfp16.safetensors and sd3_medium.safetensors I have tried and turns out the same result. and it is different from the results of diffusers.

The scheduler is copied from Diffusers, so it might not cause it. Does 'different' mean the quality or the content (pose, angle and composition etc.)? If the overall quality is similar, the content may be different by the random generator (on cpu or gpu) even with the same seed.

i mean the quality is quite different, it seems the source code of yours doesn't match the diffusers.

A bug was fixed in sd3_minimal_inference.py where the sigma shift parameter was set to 1.0 instead of a higher value (i.e. 3.0) recommended by the SD3 paper. Try updating and retest?


Timeout Configuration

Allow users to set custom timeout values for requests to accommodate different network conditions and response times.

@theinit01 - Hello, can you assign this to me please?


nixos/physlock: add suspend-then-hibernate to lockOn.suspend units

Motivation for this change
I set services.logind.lidSwitch = "suspend-then-hibernate"; which unexpectedly nullified services.physlock.lockOn.suspend = true; I figure since it's a "suspend and then hibernate", we should lock before systemd-suspend-then-hibernate.service too.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
N/A

Until this commit is merged (or in case it wont), one can set services.physlock.lockOn.extraTargets = [ "systemd-suspend-then-hibernate.service" ]; in the meanwhile.


retry on 'no such pool' import error

'no such pool available' failure occurs occasionally when trying to import zpool that should exist. Retry import once.

This change is

Do we know why this happens?  Has an issue been filed upstream about this?  If not, please file one and leave reference to it in a comment in the code here.

I think need to take a moment and characterize why this is happening. We need be sure we understand the problem before introducing the fix.


Clear Queue message and Dequeue Queue message is enabled even if there is no message in the queue

Environment: Windows/IntelliJ14
Sign in Subscription.
Click Azure.
Click storage.
Expand a Storage Account.
Expand a particular Storage.
Expand queue.
Select a particular queue.
Delete all the messages in the queue.
Even if there is no message,Clear Queue message and Dequeue Queue message is enabled.
PFB the screen shot.

This issue if fixed and the functionality is working as expected in the latest build.


trying  to execute db.getCollection() commond on scrapbook but getting below error

Repro steps:

Action: cosmosDB.executeMongoCommand
Error type: ENOENT
Error Message: Could not find Mongo shell. Make sure it is on your path or you have set the 'mongo.shell.path' VS Code setting to point to the Mongo shell executable file. Attempted command: "ENter"
Version: 0.8.0
OS: win32

Hi,
Do you have details of where you have installed the mongo shell?

Closing for lack of response.


Investigate prev epoch HEAD miss ratio metric

Describe the bug
At some points, 30% of our attestations are missed due to incorrect head in previous epoch
http://<IP_ADDRESS>:3000/d/V0c7Qyink/lodestar2?orgId=1&refresh=30s

Expected behavior
Should be as small as possible
Steps to Reproduce
Run altair-devnet-1

Notice that devnet forked to altair at ~20:10 (in the timezone of the chart above).
All 5 nodes we are running showed the same uptick in HEAD miss ratio on those epochs. Note that there was an issue with Prysm that destabilize the network a bit.

there is an issue that we receive gossip blocks so late although validator published it on time, see https://github.com/ChainSafe/lodestar/issues/2908#issuecomment-893930201
this seems to be the root cause

duplicated to #3084


WIP: assertion messages embedded in the circuit

Description
Problem*

Resolves
Summary*

Additional Context

PR Checklist*

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Note that this is a breaking PR for the serialization so we're going to need to go through the full updates to barretenberg, etc, etc.

Oops, I have to update some tests that were not expecting the fancy new errors 🤓


Create relationship between otel/apm app and elasticache memcache

Relevant information
For any service instrumented using Otel or New Relic APM, a service map is shown in the new relic dashboard which displays the relationship between the service in question and other entities it is dependent on.
In case a service calls a memcache cluster on AWS, this relationship is not shown in the service map. Instead, it shows that the service calls an external entity.
With the code changes in this PR, the user can correctly see the relationship between the Otel/APM service and memcache cluster.
For more details and the links to the test entities in NR dashboard, please see this doc:
https://newrelic.atlassian.net/wiki/spaces/FDN/pages/3385720904/Otel+Service+-+AWS+Elasticache+Memcached+Cluster+Relationship+Definition+-+CDD
Checklist

[x] I've read the guidelines and understand the acceptance criteria.
[x] The value of the attribute marked as identifier will be unique and valid.
[x] I've confirmed that my entity type wasn't already defined. If it is I'm providing an explanation above.

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

Also, I'd split relationships/synthesis/EXT-SERVICE-to-INFRA-ELASTICACHEMEMCACHEDCLUSTER.yml in two and would move the rule for APM to a new relationships/synthesis/APM-APPLICATION-to-INFRA-ELASTICACHEMEMCACHEDCLUSTER.yml file, so filenames are consistent with their content.


Use svg icons instead of ionicons font

Pretty self-explanatory.
We not only use a tiny subset of that font, but there are advantages to using svg over font for icons.
Some further insight into this here.
Ionicons in svg: https://github.com/driftyco/ionicons/tree/master/src

@nielsenramon, do you want me to use css or import the .svg directly?
.icon-github {
     background-image: url('icons/github.svg');
}

or

I prefer importing them directly :-)

Small update to this: https://github.com/nielsenramon/chalk/commit/24206151fce134c1788e2aef90879dfa61d46aeb vastly reduces css, though still depending on the font files.

@migueldemoura have you thought about compiling all the design specific SVG files for Ionicons into a single SVG and then providing cross browser support of these with the svgxuse Yarn package?

@madcatsu, I stopped working on this after that commit, but feel free to make a contribution :)
As for the cross-browser support, that package seems interesting and may even be useful for the other svgs.

I'll submit a PR once I've finished testing :)

Before I fork and submit a PR, @nielsenramon & @migueldemoura do you have a suggestion on what icons could be bundled into the SVG? Currently the SVG on my own site has the following icons with file size coming to 24KB :

Right arrow (pagination and article links)
Left arrow (pagination)
Twitch
Stack Overflow
Bitbucket
Spotify
About (sphere with person outline as negative space)
Medium
Bitcoin
Flickr
Youtube
Dribbble
Ethereum
Email envelope
Buffer
RSS
Keybase
Facebook
Github
Gitlab
Instagram
LinkedIn
Steam
Tumblr
Twitter
Discord
Docker

Open to suggestions but don't want to boil the ocean with too many

What about separating the svgs? HTTP/2 kinda solves the multiple requests issue

@migueldemoura no problem with implementing in that manner. I just personally preferred the method of using an individual SVG file and a symbol reference in the xlink:href request. Can we come to consensus on suitable icons and then I can put forward some modifications this weekend?

PR #102 has been submitted for review

@madcatsu, just pointed that out since I'm guessing most people would only use a couple of those icons :)

@madcatsu Big thanks for your help and sorry for the delay!


pg_config editting

It's not possible to edit the pg_config but you can edit the Makefile.global where the values are.

Are you referring to this snippet?

$ $EDITOR Makefile # edit PG_CONFIG iif necessary

PG_CONFIG in uppercase letters means the variable not the binary pg_config.


WIP: Initial informal proposal

(Reseved for rendered link)

This is my first attempt of an informal MSC so please be gentle :D


Opens two modals, One on top of the other.

I have using Bootstrap 3.3.7 How I can fix this?

Resolved!


(do) function not working in TypeScript 2.3.4

res.do line gives an error :
[ts] Property 'do' does not exist on type 'Observable'.
httpInterceptor.response().addInterceptor((res, method) => {       return res.do(r => console.log(method, r));     });
Please help.
Thanks.

That is probably related to how RxJs works.
You have to make sure you imported do operator:
import 'rxjs/add/operator/do';

Thanks, It worked..


Dependencies in package.json changed to be same as in bower.json

Hi,
there are differences in dependecies versions of package.json and bower.json files. Additionaly current version of daterangepicker needs to use

Bootstrap Datepicker v 2.0.0 and newer

so ... i've changed package.json file.

+1

Hello,
thank you for this!
Lukas


Fix ES6 Map comparison in jest-diff #2091

Summary
#2091 Fix ES6 Map comparison in jest-diff
Solution:

Recognise Map as map in getType method.
In case if it is map, sort map keys
Use the same comparator which is being used for object comparison

@dmitriiabramov Done. Also had to use Array.from instead ...map due to support of node 4

Ohh, tried to remove obsolete snapshots, now I have a conflict. :D

thank you for working on it!
i resolved the conflicts and opened a PR https://github.com/facebook/jest/pull/2120


Improve GetInnerVertex() by querying local fragment only

What do these changes do?
The current implementation of GetInnerVertex() is to query all the fragment, it's not needed as we only need the inner vertex

Codecov Report

Merging #2772 (6f0e497) into main (bf8d7b0) will increase coverage by 26.05%.
The diff coverage is n/a.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #2772       +/-   ##
===========================================
+ Coverage   41.39%   67.45%   +26.05%
===========================================
  Files          99       99
  Lines       10381    10381
===========================================
+ Hits         4297     7002     +2705
+ Misses       6084     3379     -2705

see 60 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Rename bsd -> bsd3

@nikitavoloboev This accidentally slipped through the cracks when I was working on #17 ... bsd should now be renamed to bsd3.

@nikitavoloboev How does this look?

@nikitavoloboev How does it look?


Do not try to attach to RTT if the elf doesn't advertise using RTT

Is your feature request related to a problem? Please describe.
As described in more details in #1863, if I compile my program without defmt-rtt then probe-rs will try for an excessively long time to connect to the RTT, while probe-run used to check the binary to see if it was compiled with RTT support.
Describe the solution you'd like
I'd like probe-rs to also check the binary to guess whether RTT should be used or not (and when not, just look until the device halts, e.g. with a semi-hosting command).
Describe alternatives you've considered
I've considered using defmt-rtt for my production binaries, but I don't like that too much.

probe-rs run checks the binary just like probe-run. The only difference is that we scan the memory for 10 seconds if we can't find the SEGGER_RTT block because that's a valid usecase of RTT in the original standard, if you do not have any debug symbols.
I am happy to change this behavior or at least enable this only via a flag, because I think most people have ELF debug info if RTT is enabled.

probe-rs run checks the binary just like probe-run.

What is checked exactly? probe-run checks the ELF, not the runtime memory.

I think most people have ELF debug info if RTT is enabled.

Exactly, so it would make sense to not try to connect to RTT if the ELF doesn't have debug symbols. That would be a first simple check. This check could be further improved by checking for an _SEGGER_RTT symbol in the ELF like probe-run does, but I don't need this and would be fine if it's not implemented.

We check the ELF symbols :) That's something we did long before probe-run. We are just compatible with the Segger RTT standard while they went a more opinionated route.
How our RTT impl goes about this is like so:

Check the ELF for the SEGGER_RTT symbol.
If it's not there, scan the live chip memory if we can maybe find the RTT header.

We could make step 2 optional. Or we deprecate it alltogether in probe-rs run.

Oh I see, so the only difference is that probe-run checks for _SEGGER_RTT which is what defmt produces, while probe-rs checks for SEGGER_RTT. I see a few options to solve my problem then:

Make defmt-rtt produce SEGGER_RTT (either in addition to or instead of _SEGGER_RTT) based on a feature to preserve backward compatibility.
Make probe-rs also check for _SEGGER_RTT in additional to SEGGER_RTT, possibly gated by a feature but this doesn't seem necessary.
Make probe-rs skip step 2 either based on a flag and/or based on whether the presence of debugging symbols in the ELF.

Sorry, I was imprecise in my answer, the header symbol value in memory is SEGGER_RTT the DWARF symbol in the ELF is _SEGGER_RTT. You can find the code here. https://github.com/probe-rs/probe-rs/blob/50a89a73ea63c86e2f79d901c3ef99d663bfe1bd/target-gen/src/parser.rs#L95
The only real fix here is 3. Because you compile in release mode - seemingly without debug symbols (you could ofc. generate them :)) - we cannot find the symbol and we start looking in RAM. Which doesn't have the header either (because you don't initialize it in release?) or it cannot find it within 10 secs. Dependent on memory size and where you start the scan this will take forever to find :D Maybe we should just patch this in the RTT code so there is a connect function that does not perform the scan if no symbol is found and use this. But maybe the flag would actually be a great choice so people that want to run without the debug info can still use it.

I see, indeed only (3) is an option.
I tried generating debug symbols but same issue. It looks to me that probe-rs doesn't check whether there are symbols but _SEGGER_RTT is absent as a signal that it should not scan the memory.

Maybe we should just patch this in the RTT code so there is a connect function that does not perform the scan if no symbol is found and use this.

Yes that would be the behavior of probe-run as far as I understand. What do you mean by "patch this in the RTT code"?

But maybe the flag would actually be a great choice so people that want to run without the debug info can still use it.

Yes, I don't mind setting a flag to only rely on the debug symbols (my probe-rs command line is generated anyway so it has no cost on my side and will always be set). I never want to scan the memory, I always set the symbol when I use RTT.

It looks to me that probe-rs doesn't check whether there are symbols but _SEGGER_RTT is absent as a signal that it should not scan the memory.
That is correct.
Yes that would be the behavior of probe-run as far as I understand.
Yup.
What do you mean by "patch this in the RTT code"?
I mean in the rtt module in probe-rs we could add this :)

Yes, I don't mind setting a flag to only rely on the debug symbols
I would make it so it needs to flag for the additional memory scan and otherwise just scans the ELF.

Perfect, thanks a lot!

YW!


Replace numeric sql filter text with input boxes

Allow user entry of numeric values bounded by data range
Shows helper text when input is focused

Did not add a test, there is an existing histogram test, but
it is commented out.

+1


normformer-style norm support

Adding normformer-style layer normalization, which seems to be helpful.

smoke tested on mahti, doesn't crash and seems to be running through the expected bits of code.


Do not manage old Caskroom location

Description
Homebrew-Cask has changed the default Caskroom location (see
caskroom/homebrew-cask#21857). This cookbook
should no longer attempt to manage the legacy location
(/opt/homebrew-cask/Caskroom).
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD

There are some tests that will likely not pass, as they have not been passing on master.

[X] New functionality includes testing.
[X] New functionality has been documented in the README if applicable
[X] The CLA has been signed. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

Addresses #100
In the vein of #70, this PR might be better done as just removing the entire recipe, or having it just be a stub. The three directories it manages are only valuable if your cask installation is using the outdated directories, and today's homebrew auto-taps caskroom/cask whenever brew cask * is run.
This PR tries to do the least-disruptive thing, though that doesn't make it the right approach. Thoughts?

Thanks for working on this! I'm in support of these changes, but I would also support removing the recipe entirely. I'm a little confused, though — after the changes, why does the recipe continue to attempt to manage /opt/homebrew-cask/Caskroom?

#103 (already merged) addresses this same issue. No need for this.


Error when starting project which with provider and consumer in the same project

As the title, error log shows as below:
Caused by: java.lang.IllegalStateException: Failed to check the status of the service my.service.ActivityService. No provider available for the service my.service.ActivityService from the url zookeeper://localhost:2181/com.alibaba.dubbo.registry.RegistryService?application=my-dubbo&dubbo=2.0.1&interface=my.service.ActivityService&methods=sayHello&pid=37318&register.ip=myip&side=consumer&timestamp=1520507541192 to the consumer myip use dubbo version 2.0.1
	at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:422)
	at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:333)
	at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:163)
	at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)

dubbo config
dubbo.scan.base-packages=my.service
dubbo.application.id=my-dubbo
dubbo.application.name=my-dubbo
dubbo.protocol.id=dubbo
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.registry.id=my-registry
dubbo.registry.address=zookeeper://localhost:2181
dubbo.registry.client=curator

Seems the reason is consumer is inited in front of provider, after set
@Reference(check = false)

and the program is as expected now.

Another question.
when provider and consumer are in the same project, how to ensure provider is inited before consumer?

And dubbo use zkclient as default client of zk, but the dependency in dbbo-spring-boot-starter is
<dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
        </dependency>

Suggest changing document(README) to give tips by setting below code to user:
dubbo.registry.client=curator

@luffyke Are there some service both  @Service or @Reference on same project, If yes, @Reference field can't reference no ready @Service

@mercyblitz Yes, In same project, make sense with your answer.
Any suggestion for this situation?
set check = false or lazy = true for Reference?

Finally i use dubbo.consumer.check=false for this issue.


Rename Py{Callable, Iterable} to Arg{..}

which were not a python object but just argument helper

+1 but naming convention seems to better favor CallableArg and IterableArg imho. We already have PosArg and KwArg so following that convention makes sense (it also reads better, with Callable/Iterable/Pos/Kw acting as qualifiers for the Arg.

Hmm, I didn't thought about that way but it also sounds reasonable.
In this PR, I simply followed ArgBytesLike, ArgMemoryBuffer and ArgStrOrBytesLike which I renamed from Py* in other patch.
When I wrote the previous patch, I preferred prefix way because they give better sort for use statements.
I didn't think about args/kwargs at that time because I always regarded them as python special terms. So this is a new point of view.
I don't have strong opinion for prefix/suffix. But if we want to change them to suffix, I want to to it in separate job because byteslike types also need to be changed.

I don't have strong opinion for prefix/suffix. But if we want to change them to suffix, I want to to it in separate job because byteslike types also need to be changed.

Yup, agreed. I think a common pattern for naming these is warranted, would make the intent of the types much more clear.


disable default clap features and add std

Fedimint did not compile on my machine on master anymore:
https://github.com/sunfishcode/io-lifetimes/issues/51
https://github.com/sunfishcode/io-lifetimes/pull/53

Codecov Report
Base: 66.55% // Head: 66.52% // Decreases project coverage by -0.02% :warning:

Coverage data is based on head (560d7b2) compared to base (dc40baf).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1042      +/-   ##
==========================================
- Coverage   66.55%   66.52%   -0.03%
==========================================
  Files         116      116
  Lines       17749    17749
==========================================
- Hits        11812    11807       -5
- Misses       5937     5942       +5

Impacted Files
Coverage Δ

client/client-lib/src/mint/mod.rs
77.40% <0.00%> (-0.79%)
:arrow_down:

fedimint-server/src/net/peers.rs
90.29% <0.00%> (-0.59%)
:arrow_down:

fedimint-server/src/net/connect.rs
95.01% <0.00%> (-0.25%)
:arrow_down:

fedimint-api/src/macros.rs
13.07% <0.00%> (+0.20%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@NicolaLS LGTM, but can you explain why and what is going on here? Seems like things are working in our Nix env, so what's different/what changed?

@NicolaLS had the error described in https://github.com/sunfishcode/io-lifetimes/issues/51#issue-1442950303. cargo clean did not help and he was on the same version as me (works for me). This lack of reproducibility is described in the issue too. The same error also appeared with another clap dependency so I proposed to reduce the clap deps to a minimum to see if it helps.
Since we should try to reduce our deps anyway that seems like a reasonable fix. Ideally we'd deactivate default features globally and check what we actually need.

Oh, so it's some caching issue in Rust it seems.


Error encountered using yeti 5.0

Hi Detlef,
when using your version with the files I copied from the page 'Parsing C types' on Tcl's wiki I got the following error:
missing close-brace: possible unbalanced brace in comment
while executing
"itcl::class CParser {"
(file "tmp/cparser.tcl" line 13)
invoked from within
"source tmp/$file.tcl"
("foreach" body line 11)
invoked from within
"foreach {file class} {cscanner CScannerGenerator cparser CParserGenerator} {
if {![file exists tmp/$file.tcl]
|| [file mtime $file.tcl] > [fi..."
(file "driver.tcl" line 221)
Wenn I used my previous version of Yeti the error was gone.
Maybe you can have a look.
Best regards
Helmut
PS: My email address is<EMAIL_ADDRESS>

Hmm, I have as well with yeti-0.4.1, the oldest version I have, the same error, the problem is in the array yytrans which contains a lot of very likely unbalanced braces. Could you send me your yeti version which does not have this error.

In LUCK, http://www.ch-werner.de/cgi-bin/luck.pl , I found version 0.4.2. this contains my bugifx for ylex.tcl and a bugfix for yeti.tcl which should covers the cparser.tcl problem, at least I can create now the cparser using this version which is now on my repo here, To avoid confusion I give it the same version numbers as the version you get from LUCK.


feat: support uploading different bundle combos

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
Expo Router defaults to shipping with universal Metro support (ios, android, web) which means eas update breaks by default if it asserts that web is not supported.
How

This PR also adds the ability to upload single platforms.
The --platform flag is a bit more flexible/sensible now. If your project only has android and you run eas update --platform ios --skip-bundler then the error will be about how no bundles were uploaded rather than some mysterious metadata validation issue.
Simplified spinners a bit.
Made a few errors more contextual.

Test Plan
Web:

npx create-react-native-app -t with-router
eas update → works

Single platform:

yarn expo export -p ios
eas update -p ios --skip-bundler → works

Better errors:

rm -rf dist
eas update --skip-bundler → tells you to either change the --input-dir or disable --skip-bundler.

/changelog-entry new-feature support uploading different platform combinations

https://github.com/expo/eas-cli/issues/1484


fix build

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@62a8b3a). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #376   +/-   ##
========================================
  Coverage          ?   4.97%
========================================
  Files             ?       1
  Lines             ?    4483
  Branches          ?       0
========================================
  Hits              ?     223
  Misses            ?    4251
  Partials          ?       9

Continue to review full report at Codecov.

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


Search for PF, MM, LP, etc

Steal from ~ooc ideally. Maybe make them able to have sub-categories (split serious & silly, for instance)?
Try to make a completely generic list module that can be aliased once that system is in place.

Once again other bot authors have gotten to this before me, so I won't be doing it anytime soon.


Wrench compat

Adds back COFH hammer to the Configurator & adds generic (and extensible) 3rd party wrench handling.

Awesome!


[Feature] Search feature for piskel-website (piskelapp.com)

could someone who can code and change the piskelapp site pls add in a way to search for sprites via name?

Hi!
Thanks for logging. For the record the project related to the actual piskelapp.com website is actually https://github.com/piskelapp/piskel-website
I'll keep the issue here for now though since the other project is not much maintained. Searching public sprites is definitely on the todo list but it's a big change for piskelapp.com and also has privacy implications. I am not sure all users would be happy if all their public sprites became discoverable/searchable all of a sudden.
The plan I had in mind:

[ ] add user settings where users can toggle on/off the discoverability of their public galleries
[ ] add a gallery of highlighted sprites, picked from users
[ ] add a gallery listing the latest public sprites
[ ] add search features

So it's really on the todo list but needs a big chunk of work.

K, the highlights gallery and toggling sprite and gallery discoverability options sound like they would be great. take as much time as you need to make piskel as good as it can be

im posting this here. its great to know that this is going to have a search button!

I've seen that the web version is shutting down? don't say it's true?!


howto interact with database

Thanks for your effort on this package! I have the setup up and running on a remote host, and would like to import a database dump to the MariaDB instance.. but I am at a loss as to how I should go about this?
Where can I run mysqldump? Do I have to attach to the mariadb container, use docker exec, or run from another context entirely? Do I transfer dump files to the db_1 or dbdata_1 container?
I realize these might be generic docker questions, but some usage examples would make this repo a lot more accessible to people wanting to explore docker multi container setups.

I finally managed to get this done; but if there are better ways please enlighten me!
# In regular terminal on main server, use 'docker cp' to copy between containers:
$ docker cp /var/www/user/mage/var/backups/dump.gz othercontainer_db_1:/var/backups/dump.gz

# Open a terminal on db_1, CTRL-D to detach:
$ docker exec -t -i othercontainer_db_1 /bin/bash

db_1: $ mysql db_name < /var/backups/dump.gz -u root -p

Hi @ccondrup. That's a good suggestion with some more help docs. For important database backups I think that we typically use magerun which is available in the cli container
docker-compose run cli magerun2 db:import dump.sql

The cli container shares the same volume as web so you should be able to find your dump.sql file if it's in your project root.


[WIP] Temporary scala_binary target for running arbitrary scala_libraries on demand

Fixes #247
This PR introduces a new RunConfiguration creator that generates in-memory scala_binary entries, pointing to existing scala_library targets in scope. A custom pre-run task is responsible for actually creating the BUILD file on disk before the configuration is executed.
The BUILD files are being written to a directory ijwb_tmp in the root of the current workspace.
Open issues found:

[ ] Debug option does not appear after run configuration was created (see below)
[x] Unable to sync the project due to visibility issues to the newly created BUILD file
[ ] When the build file is first created, IntelliJ prompts to add it to git. Should be ignored.
[ ] temp. directory and the targets inside it need to be excluded from project view (i.e. .blazeproject)

@hmemcpy awesome!
Is this still WIP?

@ittaiz sigh, unfortunately, yeah... found an issue where "Debug" entry does not appear for an existing run target. So if you create it the first time, then try to run it again, no way to debug. Still investigating...

About the missing debug: the problem stems from a missing targetKind value in the selected configuration, after loading a solution. The reason is, during loading, all configurations are updated (from BlazeRunConfigurationSyncListener#updateExistingRunConfigurations), and it attempts to update the target kind, by looking up existing targets.
Our newly created temporary target does not appear in the targetsMap, even after re-synching, and returns null from the query in updateTargetKindAsync.
Need to understand how to add this target to all targets.

Regarding the prompt to add the file: adding the directory ijwb_tmp to .gitignore would solve this, however we can't assume such file exists. Alternatively, we could put it in IntelliJ's own "ignored files" for Version Control, but I don't know how to do it programmatically. Also, this would not prevent these files from appearing in git changed files.

@chaoren @brendandouglas any thoughts?
On Tue, 17 Apr 2018 at 16:43 Igal Tabachnik<EMAIL_ADDRESS>wrote:

Regarding the prompt to add the file: adding the directory ijwb_tmp to
.gitignore would solve this, however we can't assume such file exists.
Alternatively, we could put it in IntelliJ's own "ignored files" for
Version Control, but I don't know how to do it programmatically. Also, this
would not prevent these files from appearing in git changed files.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/pull/288#issuecomment-381997091,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIFz5fSy3fBd5nkKMcJ0RRSM0Urkbfks5tpfF4gaJpZM4TWq05
.

An update on the status (and proposed operation) of this PR:
Given a new object Foo extends App anywhere inside a Scala library, if no corresponding scala_binary target exists, will do the following:

create a run configuration for the target, executing a target located in //ijwb_tmp, with a custom before-launch command, that, when executed, will:
create a file in <workspace_root>/ijwb_tmp/BUILD, adding a load statement for rules_scala, and a scala_binary target, containing the reference to the library where the main() was defined.
the target will be executed with --nocheck_visibility
to prevent sync issues (due to visibility), an additional --delete_packages=ijwb_tmp should be passed to all commands, skipping the temp target.

Open issues:

When creating the temp ijwb_tmp/BUILD, IntelliJ will prompt to add it to git. The directory ijwb_tmp/ should be explicitly ignored by the user in .gitignore
Due to --delete_packages, the newly created target is not processed during sync. This causes, among other things, the Debug operation on that target to stop working. Without this flag, however, sync will fail due to missing visibility rule from the actual scala_library target to our temporary one.
The temp directory is not currently being ignored by the project view, has to be manually added to .bazelproject with a - prefix.

Would appreciate any input/ideas on how to solve these issues (#2 is critical)

After giving it some further thought, and taking into account the suggestions by @chaoren in #247, there are 4 possible courses of action we can take:

Use the current proposal as (with limitations, but they can be addressed)
Build a //:foo_deploy.jar with an additional main_class entry (passed in via --define, requires a small change in rules_scala), then execute it with java -jar bazel-bin/foo_deploy.jar (via JAR Application run configuration)
Conditionally delegate to a custom rule within rules_scala (from a custom implicit output target)
Modify scala_library to conditionally generate an executable output

Definitely welcome any other ideas that minimize modifications!

To make it extra clear, we think there's no way currently to do 3 and 4 in bazel, but perhaps you have some ideas if/how that's indeed possible.

How about changing 4 to 'always generate an executable output, but put it in a custom output group'?
Then the action won't be run unless that output group is requested (which it wouldn't be, except in this one particular situation).

Alright, after a lot of back and forth, this PR is ready for review.
Thanks!

@brendandouglas can we advance this?

Brendan,
Can we get this forward? Part of the problem is that after this lands it still takes ~ a month before we can use it

I've applied the patch upstream -- it will be in the next release (scheduled for June 1st).

Thanks!
On Thu, 17 May 2018 at 20:56 brendandouglas<EMAIL_ADDRESS>wrote:

Closed #288 https://github.com/bazelbuild/intellij/pull/288.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/pull/288#event-1632595113, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABUIFwPGNFuwMvMlonDt-K5DVlAmUzs7ks5tzbnUgaJpZM4TWq05
.


Structure of Apex test cases around Exception handling

Cross posting https://github.com/trailheadapps/dreamhouse-sfdx/issues/65

This issue was fixed in dreamhouse-lwc version, so closing it.


[issue 60] - Remove the cause triggering unwanted connections to OCP cluster from IntersmashConfig

Description
Fix #60
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] Feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change
[x] Chore (non-breaking change which doesn't affect codebase;
test, version modification, documentation, etc.)

Checklist

[x] Code contributed by me aligns with current project license: Apache 2.0
[x] Pull Request contains a description of the changes
[x] Pull Request does not include fixes for multiple issues/topics
[x] Code is self-descriptive and/or documented
[ ] I have implemented unit tests to cover my changes
[] I tested my code in OpenShift

LGTM, merging, thanks!


HDDS-10639. Add config for whitelisting hdds.secret.key.algorithm

What changes were proposed in this pull request?
I added config option to be able to whitelist the algorithms defined in hdds.secret.key.algorithm, defaults to *.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10639
How was this patch tested?
This config is not used currently, CI on my fork (unrelated failure): https://github.com/dombizita/ozone/actions/runs/8540401619

On a related note, do we need one PR per config key before it's even used anywhere?


Inconsistent camelCase use for datetime in schema

Environment
Knex version: 0.21.2
Bug

Explain what kind of behaviour you are getting and how you think it should do

The docs describe creating a datetime column by using table.datetime(): http://knexjs.org/#Schema-datetime
However, the TypeScript definition and tests seem to indicate it should be table.dateTime():
https://github.com/knex/knex/blob/b59161f9944acf858b149a6c2901b14fcd4ba8aa/types/index.d.ts#L1560
https://github.com/knex/knex/blob/b59161f9944acf858b149a6c2901b14fcd4ba8aa/test/integration/builder/selects.js#L743
as a matter of fact, I was only able to find a single reference that seems to use datetime in schema building:
https://github.com/knex/knex/blob/b59161f9944acf858b149a6c2901b14fcd4ba8aa/test/unit/schema/mysql.js#L832
Are the docs wrong, or is there something bigger here I'm missing? (Also, how does that last test pass when using datetime() instead of dateTime()? Are both valid? @lorefnon

The same method is aliased as datetime and dateTime.
The TS defs should mention both - but currently doesn't.

Ahh I see. Thanks for the heads up @lorefnon 👍
Shall I open a PR to extend the index.d.ts file?
Do we want to update the docs to mention these aliases somewhere consistent?

@rijkvanzanten Sure. That would be cool. The knex docs are maintained in this repository, and can be updated there.


added docs/changes

AM trying to follow the QCoDeS wiki to make a manual release

@RasmusBC59  The CI failure is probably related to the release of hypothesis 6.0.0. This pr from qcodes should give you a clue of how to fix it https://github.com/QCoDeS/Qcodes/pull/2601

@RasmusBC59  The CI failure is probably related to the release of hypothesis 6.0.0. This pr from qcodes should give you a clue of how to fix it https://github.com/QCoDeS/Qcodes/pull/2601

@jenshnielsen  Thanks! it was very helpful :-)

@jenshnielsen  Thanks! it was very helpful :-)