BundleUtils.getBundleEntryByReference

I have a project where we need a function like this:
getBundleEntryByReference = (bundleEntry: any[], reference: string) {
return bundle?.entry?.find((x) => x['fullUrl'] === reference);
};
if you think this function could be useful for this project too, I could include it.
Another question I have, are the functions in the BundeUtils are called getResource(s) but both of them return a BundleEntry, not a resource. Am I missing something or is this a mistake?
Thanks!

Hello @maxi-smidt,
Sure that sounds reasonable. Feel free to create a PR for that.
Yes, atm BundleUtils methods do return BundleEntry but it might infact make more sense to return resources. I'm on opposed to that.
Thanks !

@AD1306 there is a pr now for it #96


[STREAM-212] Bump streaming-client to pick up fix

Closing in favor of another streaming-client bump to come for STREAM-218.


[FEA] DPDK Source Example

@raykallen  - Please add a general high-level description here, thanks!

Closing since DOCA feature has been completed


Refresh trust list content

Refresh trust list content on a recurring basis: fetch trust list file, compare timestamp, and update if newer

Fixed by PR #48


WhereBetween

There is no documentation on how to use whereBetween. Does anybody have any example on how to use Knex's whereBetween in Bookshelf?
http://knexjs.org/#Builder-whereBetween

@bliitzkrieg You must use query to acess knex methods.

I tried using query but its giving me a Unhandled rejection Error: SQL queries with undefined where clause option error.
  app.post('/api/v1/auth/get_event', function (req, res) {

    const from = req.user.dateFrom;
    const to = req.user.dateTo;

    return new Analytics()
      .query(function(qb) {
        qb.whereBetween('created', [from, to]);
      })
      .fetchAll({ columns: ['data'] })
      .then(function (data) {
        return res.status(200).send(data);
      });
  });

Nvm got it. Should of been using const from = req.user.attribubtes.dateFrom


[JBWS-4120] SOAP logging stopped working with WildFly 12 / JBossWS 5.2.0.Final (Apache CXF 3.2.2)

Jira: https://issues.jboss.org/browse/JBWS-4120
Added new dependency since old CXF logging feature has been moved to a separate library.

Retest this please


Fix https://github.com/duckdb/duckdb-web/issues/3249

Fix https://github.com/duckdb/duckdb-web/issues/3266
WARNING: I'm experiencing doc build issues, and I can't view the site locally on my machine anymore.
I recently upgraded to win11, that may be the cause.
I hope the commit is ok - apologies if there's an issue.

@rpbouman sorry about the build issues. You may try the dockerized build script (described in BUILDING.md). I built this one locally and it looks great.

Hi Gabor! No worries. I'll check out the dockerized build script. Thanks for merging!


Reset/Untoggle a checkbox

Hi,
I am a RUBY beginner using the glimmer-dsl-libui for a NLP-program and have a question:
how do I uncheck the checkboxes afterwards in the GUI? (even if I set the value checked to false, it is not possible to update the view) I've tried also data-binding, but there's no description in the documentary and i don't get the transfer.
Thanks

Thanks for the quick and detailed answer! Since the Application is mostly used on Windows and Mac systems, i circumwent the unchecking of the Basic Boxes, ment for resetting the Application, by restarting the Script.

Hey! can I know what's the limitation from libui that prevents a programmatic implementation of checking/unchecking a standard checkbox?


Correct parsing string interpolation with trailing newline

Fixed #4713

This fixes parsing
puts "foo #{"bar"
}"

to produce foo bar in stdout, however that example still can't be formatted.
If we can come to a quick consensus on how this should be formatted we should include that change in this PR, if it gets to be a lengthy discussion we can fix it later.

Also "Correctly parse ..." is correct English, instead of "Correct to parse ..."

I am not sure if the formatter should remove newlines even in the first case.

@straight-shoota Even if the first case's newline is intended, we can use backslash + newline escape in this case (and I think we should use it.)
puts "foo #{"bar"}\
"

@RX14 I can't understand the difference between "to do" and "doing"...

I considered some ideas to format string interpolation with newline:
Original source code:
"foo #{
  bar = 1
} baz"

Idea 1: keep
"foo #{
  bar = 1
} baz"

Idea 2: align with delimiter
"foo #{
       bar = 1
     } baz"

Idea 3: remove newline and indent
"foo #{bar = 1} baz"

I don't know which is the best and I can't decide it. I guess, the preference of idea 1 is unstable (and I don't like it). Idea 2 is the best if it follows no string, so:
"foo #{
       bar = 1
     }"

this indentation looks like foo = begin ... end pattern, so it is good enough. However when it follows any string, I think it is ugly. Idea 3, crystal tool format disallow newline inside string interpolation in other words, is good for me, because I think we shouldn't write too complex expression to need newline inside string interpolation, but I don't know this is general opinion.

I think the rule should be that if there's a newline after #{ we do idea 1 (indent 1 indent then format normally), otherwise keep it as-is. That means that the original example formats to
puts "foo #{"bar"}"

but
puts "foo #{
  "bar"
}"

formats as-is.

Ok. I implemented formatting string interpolation in this way.

Thank you @MakeNowJust!


Prevent the user from escaping a popup terminal with win_gotoid()

perhaps relevant https://github.com/vim/vim/pull/7555
// not sure if it was intended or not (escape from popup term by win_gotoid)
// and jump in to request a feature (maybe i'm a bit annoyed :-)) : can you add a key to control the popup scrollbar ?
// specially in tui vim, and it's not like up/down/pgdown/pgup keys, but some keys to move up/down the popup scrollbar (vs not the items in popup)


gdx-lwjgl3-glfw-awt-macos extensions to add support for mixing GLFW and AWT on macOS

What and why
GLFW and AWT both compete for the AppKit run loop. LWJGL3 apps on macOS thus need to specify the -XstartOnFirstThread JVM option. This prevents AWT (and by proxy Swing, ImageIO, etc.) from working together with LWJGL3 on macOS.
This commit injects a modified libglfw.dylib (see https://github.com/badlogic/glfw). The GLFW fork is modified such that all calls into AppKit APIs are expected to be performed on a thread != main thread. This way, AWT can take over the run loop, while GLFW (and libGDX LWJGL3) apps can live on a separate thread.
Usage
To use this, add gdx-lwjgl3-glfw-awt-macos as a dependency to your libGDX desktop project. You can now use both libGDX and AWT/Swing/ImageIO on macOS.
Remove the -XstartOnFirstThread JVM option from your run configurations/packr'ed apps/bash scripts.
Caveats

This extensions does NOT allow rendering your libGDX content to an AWT/Swing window.
This extension requires LWJGL 3.3.0-SNAPSHOT
This PR builds on top of this PR https://github.com/libgdx/libgdx/pull/6672

Hey @badlogic maybe I'm saying a stupid thing, but why TexturePacker cannot be used with current LWJGL3 and GLFW implementation on macOS?
I'm using many AWT classes (including TexturePacker and TextureUnpacker) without any issue on HyperLap2D, which is a 100% libGDX app running on current LWJGL3 backend... The only thing I've add is run AWT in headless mode (https://github.com/rednblackgames/HyperLap2D/blob/4a8214e1d44cf816745cec05b06346ceb90b9458/src/main/java/games/rednblack/editor/Main.java#L125)
This flag doesn't allow to render into a JPanel, but all utility classes I've used until now worked without problems 🤔

Does not work. This is what I got
2021-12-30 17:37:12.925 java[1845:57615] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'nextEventMatchingMask should only be called from the Main Thread!'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff4c026f3b __exceptionPreprocess + 171
	1   libobjc.A.dylib                     0x00007fff73383942 objc_exception_throw + 48
	2   AppKit                              0x00007fff49cc5297 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 4167
	3   libosxapp.dylib                     0x000000010f075699 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 121
	4   libglfw.dylib                       0x00000001145d68cf libglfw.dylib + 100559
	5   ???                                 0x000005a9596bddf7 0x0 +<PHONE_NUMBER>303
)
libc++abi.dylib: terminating with uncaught exception

That's not enough information. Please tell me your macOS version, your hardware specs, what the app you wrote does, preferaboy sharing code that lets me reproduce the issue, and what steps you took (window resize/move, clicks, key press, etc.) so this happened.

Running on High Sierra, MacBook Pro (quite old)
Basically crashes on start. Relevant code is here:
public class Lwjgl3Launcher {
	public static boolean maximized=true;
	public static void main(String[] args) {
		createApplication();
	}

	private static Lwjgl3Application createApplication() {
		TuxFight tuxFight=new TuxFight();
		tuxFight.loaderUtils=new JarUtils();
		return new Lwjgl3Application(tuxFight, getDefaultConfiguration());
	}

	private static Lwjgl3ApplicationConfiguration getDefaultConfiguration() {
		Lwjgl3ApplicationConfiguration configuration = new Lwjgl3ApplicationConfiguration();
		configuration.setTitle("TuxFight");
		configuration.setMaximized(true);
		configuration.setWindowIcon("resources/images/icon_desktop_128.png");
		configuration.setWindowListener(new Lwjgl3WindowAdapter(){
			@Override
			public void maximized(boolean isMaximized){
				maximized=isMaximized;
			}
		});
		return configuration;
	}
}

I tried rebuilding from this repo as a source repo in gradle and it has failed because of missing glfwGetPlatform.
Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.lwjgl.glfw.GLFW.nglfwSetErrorCallback(GLFW.java:1255)
	at org.lwjgl.glfw.GLFW.glfwSetErrorCallback(GLFW.java:1288)
	at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.initializeGlfw(Lwjgl3Application.java:87)
	at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:136)
	at com.customautosys.tuxfight.desktop.Lwjgl3Launcher.createApplication(Lwjgl3Launcher.java:26)
	at com.customautosys.tuxfight.desktop.Lwjgl3Launcher.main(Lwjgl3Launcher.java:20)
Caused by: java.lang.NullPointerException: A required function is missing: glfwGetPlatform
Caused by: java.lang.NullPointerException: A required function is missing: glfwGetPlatform

	at org.lwjgl.system.APIUtil.requiredFunctionMissing(APIUtil.java:129)
	at org.lwjgl.system.APIUtil.apiGetFunctionAddress(APIUtil.java:122)
	at org.lwjgl.glfw.GLFW$Functions.<clinit>(GLFW.java:47)
	... 6 more

Indeed, this function is missing when I run nm -gU libglfw.dylib:
00000000000070e0 T _glfwCreateCursor
0000000000007250 T _glfwCreateStandardCursor
000000000000a190 T _glfwCreateWindow
0000000000009df0 T _glfwCreateWindowSurface
000000000000a500 T _glfwDefaultWindowHints
0000000000007170 T _glfwDestroyCursor
000000000000a460 T _glfwDestroyWindow
00000000000041b0 T _glfwExtensionSupported
000000000000af40 T _glfwFocusWindow
0000000000008760 T _glfwGetClipboardString
000000000000f0a0 T _glfwGetCocoaMonitor
00000000000146a0 T _glfwGetCocoaWindow
00000000000043d0 T _glfwGetCurrentContext
0000000000006f90 T _glfwGetCursorPos
0000000000016420 T _glfwGetEGLContext
00000000000163e0 T _glfwGetEGLDisplay
0000000000016470 T _glfwGetEGLSurface
00000000000051f0 T _glfwGetError
000000000000ac90 T _glfwGetFramebufferSize
0000000000007fc0 T _glfwGetGamepadName
0000000000008060 T _glfwGetGamepadState
0000000000009720 T _glfwGetGammaRamp
00000000000066c0 T _glfwGetInputMode
0000000000009cf0 T _glfwGetInstanceProcAddress
00000000000075c0 T _glfwGetJoystickAxes
0000000000007690 T _glfwGetJoystickButtons
00000000000078f0 T _glfwGetJoystickGUID
0000000000007770 T _glfwGetJoystickHats
0000000000007840 T _glfwGetJoystickName
00000000000079e0 T _glfwGetJoystickUserPointer
0000000000006eb0 T _glfwGetKey
0000000000006df0 T _glfwGetKeyName
0000000000006e50 T _glfwGetKeyScancode
0000000000009300 T _glfwGetMonitorContentScale
0000000000009340 T _glfwGetMonitorName
00000000000092a0 T _glfwGetMonitorPhysicalSize
0000000000009200 T _glfwGetMonitorPos
00000000000093b0 T _glfwGetMonitorUserPointer
0000000000009240 T _glfwGetMonitorWorkarea
0000000000009160 T _glfwGetMonitors
0000000000006f20 T _glfwGetMouseButton
0000000000015020 T _glfwGetNSGLContext
0000000000016a50 T _glfwGetOSMesaColorBuffer
0000000000016bb0 T _glfwGetOSMesaContext
0000000000016b00 T _glfwGetOSMesaDepthBuffer
0000000000009d70 T _glfwGetPhysicalDevicePresentationSupport
00000000000091b0 T _glfwGetPrimaryMonitor
00000000000044c0 T _glfwGetProcAddress
0000000000009c80 T _glfwGetRequiredInstanceExtensions
0000000000008790 T _glfwGetTime
0000000000008950 T _glfwGetTimerFrequency
0000000000008920 T _glfwGetTimerValue
00000000000051b0 T _glfwGetVersion
00000000000051e0 T _glfwGetVersionString
00000000000094e0 T _glfwGetVideoMode
0000000000009430 T _glfwGetVideoModes
000000000000af70 T _glfwGetWindowAttrib
000000000000ad30 T _glfwGetWindowContentScale
000000000000acd0 T _glfwGetWindowFrameSize
000000000000b210 T _glfwGetWindowMonitor
000000000000ad70 T _glfwGetWindowOpacity
000000000000aa90 T _glfwGetWindowPos
000000000000ab00 T _glfwGetWindowSize
000000000000b300 T _glfwGetWindowUserPointer
000000000000af10 T _glfwHideWindow
000000000000adf0 T _glfwIconifyWindow
0000000000004d70 T _glfwInit
0000000000005120 T _glfwInitAllocator
00000000000050a0 T _glfwInitHint
0000000000007f00 T _glfwJoystickIsGamepad
0000000000007520 T _glfwJoystickPresent
0000000000004110 T _glfwMakeContextCurrent
000000000000ae50 T _glfwMaximizeWindow
000000000000b580 T _glfwPollEvents
000000000000b630 T _glfwPostEmptyEvent
0000000000006dc0 T _glfwRawMouseMotionSupported
000000000000aee0 T _glfwRequestWindowAttention
000000000000ae20 T _glfwRestoreWindow
0000000000007360 T _glfwSetCharCallback
00000000000073a0 T _glfwSetCharModsCallback
0000000000008730 T _glfwSetClipboardString
00000000000072f0 T _glfwSetCursor
0000000000007460 T _glfwSetCursorEnterCallback
0000000000007000 T _glfwSetCursorPos
0000000000007420 T _glfwSetCursorPosCallback
00000000000074e0 T _glfwSetDropCallback
0000000000005260 T _glfwSetErrorCallback
000000000000b500 T _glfwSetFramebufferSizeCallback
0000000000009520 T _glfwSetGamma
00000000000097c0 T _glfwSetGammaRamp
0000000000006760 T _glfwSetInputMode
0000000000007a30 T _glfwSetJoystickCallback
00000000000079a0 T _glfwSetJoystickUserPointer
0000000000007320 T _glfwSetKeyCallback
00000000000093f0 T _glfwSetMonitorCallback
0000000000009380 T _glfwSetMonitorUserPointer
00000000000073e0 T _glfwSetMouseButtonCallback
00000000000074a0 T _glfwSetScrollCallback
0000000000008830 T _glfwSetTime
000000000000ac20 T _glfwSetWindowAspectRatio
000000000000b140 T _glfwSetWindowAttrib
000000000000b3c0 T _glfwSetWindowCloseCallback
000000000000b540 T _glfwSetWindowContentScaleCallback
000000000000b440 T _glfwSetWindowFocusCallback
000000000000aa60 T _glfwSetWindowIcon
000000000000b480 T _glfwSetWindowIconifyCallback
000000000000b4c0 T _glfwSetWindowMaximizeCallback
000000000000b250 T _glfwSetWindowMonitor
000000000000ada0 T _glfwSetWindowOpacity
000000000000aad0 T _glfwSetWindowPos
000000000000b340 T _glfwSetWindowPosCallback
000000000000b400 T _glfwSetWindowRefreshCallback
000000000000aa00 T _glfwSetWindowShouldClose
000000000000ab40 T _glfwSetWindowSize
000000000000b380 T _glfwSetWindowSizeCallback
000000000000ab70 T _glfwSetWindowSizeLimits
000000000000aa30 T _glfwSetWindowTitle
000000000000b2d0 T _glfwSetWindowUserPointer
000000000000ae80 T _glfwShowWindow
0000000000004410 T _glfwSwapBuffers
0000000000004460 T _glfwSwapInterval
0000000000005080 T _glfwTerminate
0000000000007aa0 T _glfwUpdateGamepadMappings
0000000000009c50 T _glfwVulkanSupported
000000000000b5b0 T _glfwWaitEvents
000000000000b5e0 T _glfwWaitEventsTimeout
000000000000a610 T _glfwWindowHint
000000000000a930 T _glfwWindowHintString
000000000000a9d0 T _glfwWindowShouldClose

That must be a recent addition to GLFW that the latest LWJGL relies on in their 3.3.1 release. I'll update my GLFW repo.

I'm a big old dumdum. Closed in favor of this PR. https://github.com/libgdx/libgdx/pull/6772


Fix parsing of redis error message without space

And add unit tests of redis messages being parsed successfully
Add testcase of error with no space
The test case was cherry-picked from https://github.com/twitter/twemproxy/pull/406
The alternate fix a74db76ce816caa14e8a85548f34088f9c594e6e was used - both do the same thing, not subtracting is personal preferences
Amended to work with the updated test framework
The implementation/C unit test was amended to follow twemproxy's c style guide
Closes #404
Solution
Properly find the end of the line for a redis error when there's no space after the error type
Result
Redis errors that are just the error type will be processed by twemproxy correctly

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: TysonAndre:x: tom-dalton-fanduelYou have signed the CLA already but the status is still pending? Let us recheck it.

The original work on https://github.com/twitter/twemproxy/pull/406 seems to predate the addition of the CLAAssistant bot, so omitting the integration test amended for the updated integration test framework for now, the C unit test should cover it.
(The integration test and alternate fix approach was merged in and later reverted years ago when investigating something else, so this is probably excessive, I'll add the integration test if the CLA is signed)


Shutdown after sending message

I posted this on the chat channel also, but this is my full log.
So I got this to work!!! Kind of.
The server starts well:
2021-03-05 09:09:48.148 - OVOS - jarbas_hive_mind.master:start_announcing:176 - INFO - Registering zeroconf:HiveMind-websocket wss://<IP_ADDRESS>:5678
2021-03-05 09:09:48.177 - OVOS - jarbas_hive_mind.discovery.ssdp:register:108 - INFO - Registering upnp:HiveMind-websocket (http://<IP_ADDRESS>:8088/device.xml)
2021-03-05 09:09:48.184 - OVOS - jarbas_hive_mind:secure_listen:201 - INFO - HiveMind Listening: wss://<IP_ADDRESS>:5678

Connect the client and send a message:
2021-03-05 09:10:44.896 - OVOS - jarbas_hive_mind:secure_connect:68 - INFO - Connecting securely to wss://<IP_ADDRESS>:5678
2021-03-05 09:10:44.958 - OVOS - jarbas_hive_mind.slave.terminal:onConnect:20 - INFO - HiveMind connected: tcp4:<IP_ADDRESS>:5678
2021-03-05 09:10:44.960 - OVOS - jarbas_hive_mind.slave.terminal:onOpen:25 - INFO - HiveMind websocket connection open.
Input:what time is it

It sends it to the bus correctly, but then shuts down wit an error:
Traceback (most recent call last):
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/log.py", line 101, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/log.py", line 85, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py", line 83, in callWithContext
    return func(*args, **kw)
--- <exception caught here> ---
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/posixbase.py", line 687, in _doReadOrWrite
    why = selectable.doRead()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py", line 246, in doRead
    return self._dataReceived(data)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py", line 251, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py", line 324, in dataReceived
    self._flushReceiveBIO()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py", line 290, in _flushReceiveBIO
    ProtocolWrapper.dataReceived(self, bytes)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/policies.py", line 107, in dataReceived
    self.wrappedProtocol.dataReceived(data)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py", line 290, in dataReceived
    self._dataReceived(data)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py", line 1207, in _dataReceived
    self.consumeData()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py", line 1219, in consumeData
    while self.processData() and self.state != WebSocketProtocol.STATE_CLOSED:
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py", line 1579, in processData
    fr = self.onFrameEnd()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py", line 1704, in onFrameEnd
    self._onMessageEnd()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py", line 318, in _onMessageEnd
    self.onMessageEnd()
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py", line 628, in onMessageEnd
    self._onMessage(payload, self.message_is_binary)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py", line 321, in _onMessage
    self.onMessage(payload, isBinary)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py", line 33, in onMessage
    self.factory.handle_incoming_message(data)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py", line 154, in handle_incoming_message
    self.on_message(payload)
  File "/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py", line 180, in on_message
    msg_type = msg["msg_type"]
builtins.KeyError: 'msg_type'

2021-03-05 09:10:50.649 - OVOS - jarbas_hive_mind.slave.terminal:onClose:36 - WARNING - HiveMind websocket connection closed: connection was closed uncleanly (peer dropped the TCP connection without previous WebSocket closing handshake)
2021-03-05 09:10:50.650 - OVOS - jarbas_hive_mind.slave.terminal:clientConnectionLost:213 - ERROR - HiveMind connection lost: [Failure instance: Traceback: <class 'KeyError'>: 'msg_type'
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/log.py:85:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py:118:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py:83:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/posixbase.py:700:_doReadOrWrite
--- <exception caught here> ---
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/posixbase.py:687:_doReadOrWrite
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py:246:doRead
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py:251:_dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py:324:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py:290:_flushReceiveBIO
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/policies.py:107:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:290:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1207:_dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1219:consumeData
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1579:processData
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1704:onFrameEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:318:_onMessageEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:628:onMessageEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:321:_onMessage
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:33:onMessage
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:154:handle_incoming_message
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:180:on_message
] .. retrying ..
2021-03-05 09:10:50.651 - OVOS - jarbas_hive_mind.slave.terminal:clientConnectionLost:220 - ERROR - HiveMind connection lost: [Failure instance: Traceback: <class 'KeyError'>: 'msg_type'
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/log.py:85:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py:118:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/python/context.py:83:callWithContext
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/posixbase.py:700:_doReadOrWrite
--- <exception caught here> ---
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/posixbase.py:687:_doReadOrWrite
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py:246:doRead
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/tcp.py:251:_dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py:324:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/tls.py:290:_flushReceiveBIO
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/twisted/protocols/policies.py:107:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:290:dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1207:_dataReceived
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1219:consumeData
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1579:processData
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:1704:onFrameEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:318:_onMessageEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/websocket/protocol.py:628:onMessageEnd
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/autobahn/twisted/websocket.py:321:_onMessage
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:33:onMessage
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:154:handle_incoming_message
/home/jbrodie/Software/Mycroft/builderjer/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/slave/terminal.py:180:on_message
]

and on the server:
2021-03-05 09:10:17.101 - OVOS - jarbas_hive_mind.master:handle_incoming_mycroft:389 - INFO - Forwarding message to mycroft bus from client: tcp4:<IP_ADDRESS>:40358
2021-03-05 09:10:17.187 - OVOS - jarbas_hive_mind.master:unregister_client:273 - INFO - deregistering client: tcp4:<IP_ADDRESS>:40358
2021-03-05 09:10:17.192 - OVOS - jarbas_hive_mind.master:connectionLost:116 - INFO - WebSocket connection lost: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion: Connection lost.
]
Unhandled Error
Traceback (most recent call last):
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/__init__.py", line 222, in listen
    return self.secure_listen(factory=factory, protocol=protocol)
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/jarbas_hive_mind/__init__.py", line 203, in secure_listen
    reactor.run()
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/base.py", line 1423, in run
    self.mainLoop()
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/base.py", line 1433, in mainLoop
    reactorBaseSelf.runUntilCurrent()
--- <exception caught here> ---
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/twisted/internet/base.py", line 999, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/txaio/_common.py", line 136, in _notify_bucket
    notify_one_chunk(calls, self._chunk_size, max(0.0, delay_ms))
  File "/home/jbrodie/Mycroft/mycroft-core/.venv/lib/python3.7/site-packages/txaio/_common.py", line 130, in notify_one_chunk
    raise RuntimeError(msg)
builtins.RuntimeError: Error(s) processing call_later bucket:
'NoneType' object has no attribute 'shutdown'

Thanks for any help

Solved this by adding the --crypto_key option.


Automated cherry pick of #1815: fix: image add is_standard field, filter by is_standard=false|true

Cherry pick of #1815 on release/2.10.0.
#1815: fix: image add is_standard field, filter by is_standard=false|true

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@69fa66a). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #1816   +/-   ##
================================================
  Coverage                  ?   7.64%
================================================
  Files                     ?     410
  Lines                     ?   62764
  Branches                  ?       0
================================================
  Hits                      ?    4796
  Misses                    ?   57557
  Partials                  ?     411

Flag
Coverage Δ

#aFlag
7.64% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/storages.go
1.23% <0%> (ø)

pkg/compute/models/wires.go
2.09% <0%> (ø)

pkg/compute/models/vpcs.go
2.18% <0%> (ø)

pkg/compute/models/hosts.go
0.4% <0%> (ø)

pkg/compute/models/storagecaches.go
2.42% <0%> (ø)

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 69fa66a...b221a5c. Read the comment docs.

/lgtm
/approve


filename_format_linux does not handle templating

Running on ubuntu-latest
  steps:
    - name: Install sccache
      uses<EMAIL_ADDRESS>      with:
        github_token: ${{ inputs.token }}
        owner: mozilla
        repository: sccache
        name: sccache
        extract: true
        version: ${{ inputs.version }}
        os_linux: unknown-linux-musl
        arch_amd64: x86_64
        subdirectory: "{name}-{version}-{arch}-{os}"
        filename_format_linux: "{name}-{version}-{arch}-{os}.{ext}"
        check_command: sccache --version

Note that the above isn't strictly correct but is enough to illuminate the problem needs to really be :
"{name}-v{version}-{arch}-{os}"
It causes this in the workflow-run logging
Run<EMAIL_ADDRESS>  with:
    github_token: ***
    owner: mozilla
    repository: sccache
    name: sccache
    extract: true
    version: 0.7.0
    os_linux: unknown-linux-musl
    arch_amd64: x86_64
    subdirectory: {name}-{version}-{arch}-{os}
    filename_format_linux: {name}-{version}-{arch}-{os}.{ext}
    check_command: sccache --version
    tag_prefix: v
    arch_arm64: arm64
    os_macos: macos
    os_windows: windows
    extract_mode_linux: tar.gz
    extract_mode_macos: tar.gz
    extract_mode_windows: zip
    filename_format: {name}_{version}_{os}_{arch}.{ext}
Run action-stars/github-release-lookup@c86fa936d2dea43eac094b7d3e4ed486a93d1484
  with:
    github_token: ***
    owner: mozilla
    repository: sccache
    tag_prefix: v
    version: 0.7.0
Run ${GITHUB_ACTION_PATH}/scripts/lookup.sh
  ${GITHUB_ACTION_PATH}/scripts/lookup.sh
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    GITHUB_TOKEN: ***
    OWNER: mozilla
    REPOSITORY: sccache
    VERSION: 0.7.0
    TAG_PREFIX: v
Error: The template is not valid. action-stars/install-tool-from-github-release/v0.2.0/action.yml (Line: 109, Col: 20): The following format string is invalid: [https://github.com/${{](https://github.com/$%7B%7B) inputs.owner }}/${{ inputs.repository }}/releases/download/${{ inputs.tag_prefix }}{version}/%s

Looks like https://github.com/action-stars/install-tool-from-github-release/blob/58e2dd20166c0eb19ab9ac4d0966c930a647ee69/action.yml#L109C56-L111 doesn't like the extra templating {} that is being used. (no doubt because it's nested go templating).

The downstream pbrisbin/setup-tool-action doesn't say whether templating is supported or not when you specify the linux_url_.
It does work if you switch to using filename_format, because you don't use format()

think there might be some rogue "trying to copy from the webapp and it thinking its markdown" issues in the codeblock above... the error msg is this
The template is not valid. action-stars/install-tool-from-github-release/v0.2.0/action.yml (Line: 109, Col: 20): The following format string is invalid: https://github.com/${{ inputs.owner }}/${{ inputs.repository }}/releases/download/${{ inputs.tag_prefix }}{version}/%s


chore: fix implement --no-verify git commit option and fix gitlab hvc…

Implement --no-verify git commit option to enable configuring pre-commit local hook to create semantic release version. Update TokenAuth to support setting Gitlab REST API private access token authorization header.
Implemented get_release_id_by_tag method in Gitlab hvcs and updated edit_release_notes try catch logic to align with Github hvcs logic.
Changed pre-commit-config.yaml default_language_version from python3.8 to python3 to resolve:

RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8'
Updated github documentation comment args to match method signatures.

Merged --no-verify feature in separate PR #927 with some modifications, added testing and documentation of new configuration option.


[Bug] Error: EEXIST: file already exists, mkdir '.nyc_output' when test-runner with coverage=true executed in parallel

Describe the bug
Coverage output nyc results in same directory if running test-runner in parallel.
To Reproduce
Run same test-runner in parallel in a monorepo project. e.g.
Terminal A: yarn test-storybook --coverage --config-dir ./packages/project1/.storybook/ --coverageDirectory ./packages/project1/coverage/storybook/ .
Terminal B: yarn test-storybook --coverage --config-dir ./packages/project2/.storybook/ --coverageDirectory ./packages/project2/coverage/storybook/
See project steps below for example:

git clone git@github.com:psychobolt/vite-storybook-boilerplate.git
yarn install
Start all storybook environments in separate or a single terminal (e.g. yarn workspace $WORKSPACE_NAME start or yarn turbo run start --filter="*-ui" # serve storybook-static for each storybook-ui project)
Start test coverage: yarn turbo run coverage --force --filter="*-ui" # report coverage on all storybook-ui tests

Expected behavior
No runtime errors.
Screenshots

System
Environment Info:
System:
OS: macOS 13.2.1
CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Binaries:
Node: 18.18.0 - ~/.nvm/versions/node/v18.18.0/bin/node
Yarn: 3.6.4 - ~/.nvm/versions/node/v18.18.0/bin/yarn
npm: 9.8.1 - ~/.nvm/versions/node/v18.18.0/bin/npm
Browsers:
Chrome: 117.0.5938.149
Safari: 16.3
Additional context
Found a suggestion to create two separate directories for each coverage job: https://github.com/cypress-io/code-coverage/issues/276#issuecomment-731399008
However, that is not possible because test-runner is configured to use only process directory:
https://github.com/storybookjs/test-runner/blob/9db74b9290fbea6d5974f0db9cb412f948f29269/src/test-storybook.ts#L54
Workaround: Do not run test-runner in parallel. Execute tasks sequentially.

Actually I found a simple solution. Before running test-runner, just cd into the project.  For example: https://github.com/psychobolt/vite-storybook-boilerplate/blob/4f5c3af74b5daa7914e697e8562677d1c80e87a3/packages/commons/package.json#L12C28-L12C28


Examples don't work on windows

If I simply run npm start then I see 'BABEL_ENV' is not recognized as an internal or external command error. Ok, I fixed it in package.json - https://monosnap.com/file/Kaf4rRheIBFK8w6ogpSlHcLdT1CYzn
And when try to open any example I see in browser console:
app.js:1 Uncaught SyntaxError: Unexpected token import

Still doesn't work https://monosnap.com/file/Kaf4rRheIBFK8w6ogpSlHcLdT1CYzn

And when try to open any example I see in browser console:
app.js:1 Uncaught SyntaxError: Unexpected token import

Still doesn't work

Seems that babel doesn't transpile

Make sure you've updated your dependencies. We are using cross-OS safe environment settings now, and this works elsewhere.

But it doesn't work :)
So I'm doing the next:
To run the examples in your development environment:
Clone this repo   --- git@github.com:reactjs/react-router.git
Run npm install  --- done
Start the development server with npm start   ---- done
I see:

Point your browser to http://localhost:8080 ---- done
I see:

Seems work but if I go to any page I see an error:

cc @kentcdodds

cc @kentcdodds Am I using cross-env incorrectly here for the start script?

Looks like you're using it correctly. My guess is that cross-env is incorrectly detecting the environment.

Thanks! I'm going to re-close this unless I hear more reports of issues on Windows then.

Did you check it by yourself on windows?

Magic :)


Increased test coverage of pkg/httputils

Test coverage of pkg/httputils increased from 45 to 70%.
Unit tests would have been better implemented mocking http.Get

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "increase-test-coverage" git@github.com:Triara/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Awesome, thank you! LGTM

Thanks @Triara, one small comment, otherwise LGTM

I was wondering something about https://github.com/docker/docker/blob/master/pkg/httputils/mimetype.go#L24 : The documentation on http.DetectContentType state that DetectContentType always returns a valid MIME type: if it cannot determine a more specific one, it returns "application/octet-stream" ; so I was wondering if the check in mimetype.go on the error is necessary.
But, even with my few comments, :+1:.

We shouldn't be relying on the network for these tests.

@unclejack I do agree on this for unit tests. the "best" way would be to start a small http server before running the test and stopping it afterwards (and that way, beeing able to mock the http response and be sure that network or not there won't be a problem).

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "increase-test-coverage" git@github.com:Triara/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~12
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@Triara it looks like you merged master rather than rebase. Sorry for all the trouble.  I'm used to do rebase, my fault.
Thanks you all for the feedback as I'd like to contribute more :)
As for how to test the http, I think we should start by adding an integration test which can point to a stubby server instead to 'docker.com'. And at unit test level we can test (with a mocked http object) that all case scenarios.

@Triara you can do that with an http server in the tests. We've got some code in the integration-cli for http servers used in the tests. Perhaps you'd like to take a look at that?

thanks @Triara. As @unclejack mentions we already have some cases like that. Check out how we mock a web server to test external plugins with the httptest package:
https://github.com/docker/docker/blob/master/integration-cli/docker_cli_start_volume_driver_unix_test.go#L51

@Triara Seems like you need to rebase. Also you have some not related commits, like from bad previous rebase.

PR is fixed now, only my commits are included.
I'll have a look at the integration-cli for the next one, thanks.

Thanks @Triara !

can you squash 'em down to just one commit?

@Triara You could also start a small httpServer at start of the tests as it is done here : https://github.com/docker/docker/blob/master/pkg/plugins/client_test.go.

@Triara Would you mind to change your tests with httpServer? Or someone can carry your PR for you.

@LK4D4 okey!
@duglin since the regex which is presumably wrong is only for windows, is there a way to force a http windows requests in the tests?

I don't understand what you mean by the regex is only wrong for windows.

@Triara are you still interested in completing this?
there are some outstanding comments

I'm carrying this in. PR coming soon.

Carrying this in https://github.com/docker/docker/pull/15911


add constructor for streams please

I have a project with samba files... I found no way to use this nice lib because of the File Constructor only

ZipFile api, as the name suggests is for use with files. When using streams, you have to use zip4j's ZipInputStream/ZipOutputStream. I cannot merge these two, i.e., I cannot make ZipFile deal with streams, because as mentioned earlier, ZipFile deals with files.


royalty/splits code examples for FlipFam

need help in getting some code snippets together for FlipFam around splits and royalties.  The typescript examples I need:

Simple example of how a split royalty can be setup in SDK
They want the ability to change the royalty addresses on an existing split

@jakeloo @nkrishang what do we do about point 2.? I'm certain it isn't possible with the current implementation of the splits contract.

Are you talking about the royalty treasury address for a given module? (https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/ProtocolControl.sol#L24)
I believe they should be able to change the royalty contract address for any given module whenever they want - https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/ProtocolControl.sol#L87
However, right now we have no function that migrates all royalty funds in the appropriate manner (according to the shares set in the incumbent treasury) from one royalty treasury to another.
So, if the customer needs all royalty funds sitting in a single treasury after changing the royalty address, each shareholder will have to withdraw from the previous treasury and deposit in the new treasury. This seems like a hassle; I think our dashboard should make it easy enough to track all royalty treasuries that have funds, from a given module - we emit a TreasuryUpdated event to keep track of this - https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/ProtocolControl.sol#L40

Are you talking about the royalty treasury address for a given module? (https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/ProtocolControl.sol#L24)

No, I'm talking about updating this variable https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/Royalty.sol#L39

So, if the customer needs all royalty funds sitting in a single treasury after changing the royalty address, each shareholder will have to withdraw from the previous treasury and deposit in the new treasury. This seems like a hassle; I think our dashboard should make it easy enough to track all royalty treasuries that have funds, from a given module - we emit a TreasuryUpdated event to keep track of this - https://github.com/nftlabs/nftlabs-protocols/blob/main/contracts/ProtocolControl.sol#L40

Yeah, sounds like the approach they'll have to take.
@nkrishang

@atbe just to clarify, what they wanted is basically just updating treasury address for the module.
https://github.com/nftlabs/nftlabs-sdk-ts/blob/main/src/modules/app.ts#L317
for example, updating from Splits A -> Splits B.

Is there a split royalty example anywhere?

https://thirdweb.com/portal/learn/code-examples#deploying-a-splits-module

Thank you!


[Bug]: App_TITLE is not applied at the Login Screen

What happened?
I have changed the App Title but the Website Title on the Login Page stays LibreChat.
After Login the name from .env is applied.
Steps to Reproduce

change APP_TITLE in .env
build/run app

What browsers are you seeing the problem on?
Chrome, Safari, Microsoft Edge
Relevant log output
No response
Screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Closed by https://github.com/danny-avila/LibreChat/pull/2716


How to delete notification icon near app icon when geolocation is running in background

Not at all, but there are models where in addition to the notification there is also a badge next to the application icon. the client asks to pick it up, and I don't know how

Did you manage to solve it and how?


Add transform helper

There used to be a transform argument to plotting functions (maybe some stats too) which wasn't too useful as it only allowed a callable. I propose to instead create a transform helper.
def transform(idata, transform_funcs=None, group="posterior", return_dataset=False):
    if transform_funcs is None:
        transform_funcs = {}
    # loop over variables in `group` and check
    #    1) if there is a transform function mapped to it
    #    2) if there are transformed values in the unconstrained group use that

Thus, without arguments it would combine the samples in posterior and unconstrained posterior to have all the samples in the unconstrained space. Not 100% sure about how the output should look like. I think it would be useful to allow returning that dataset directly, but it should also return a modified inferencedata/datatree, maybe with the unconstrained_posterior group but no posterior group? or viceversa which might play nicer with defaults in the rest of the functions?
Also, feel free to propose other names, I don't think transform is a particularly good choice as it is too general, maybe get_unconstrained_samples is more clear?

If there are no arguments how does it transform the variables? Are we adding the metadata when creating the InferenceData?
get_unconstrained_samples is a better name if the purpose is to get unconstrained samples. If instead, we are contemplating a more general case of users wanting to perform arbitrary transformations, then transform sounds better.

If there are no arguments how does it transform the variables?

it doesn't "transform" them, it takes the transformed values stored in the unconstrained_posterior group (or relevant unconstrained_group)

makes sense. For some reason I assumed it was trying to get the function from the idata

It is possible to use the attributes of the unconstraned_group dataset (or even in the posterior itself) to store info about the transformations, but that was left for PPLs to handle as they want. We could try adding a function with the same name to pymc that checks the metadata (once we add that info to the converter) and does the transformations if any, otherwise calls this function so the manually provided transformation part is not duplicated


long stack traces assumption

Hi,
I am currently trying to figure out if its possible to modify https://github.com/facebook/dataloader to get full stack trace.
Basically my question is if I create var promise1 = new Promise(resolve,reject) and pass another promise2 to the resolve function. Lets assume that promise2 got rejected somewhere deep. Do you think that I still should get long stack trace?
Currently problem in dataloader is that promise chain got broken, because dataloader resolve the value and pass it to new promise.
So I was trying to pass promise to that resolve function instead of actual value, but did not help. So wondering if that situation is considered.

Maybe if there is some explanation somewhere how long stack traces work in bluebird that would probably give me clue what I can achieve. Did not find details in docs.

I think if you want to convert a non-bluebird promise/thenable use Promise.resolve(promise) and it should be converted to a bluebird promise and therefor get long stacktrace?

@felixfbecker thanks for response, but its all bluebird promises. Conversion is not the problem.
Maybe I just don't understand how long stack trace is created - if its somehow at the time when error occurs or its constructed when error is bubbling up through promise chain.
If its the first case I would understand why its not working, because at the time of the error there is just from dataloader down.

Under node you'd have to set BLUEBIRD_DEBUG=1. I don't know how you enable long stack traces in browser...

Long stack traces don't transfer over promise implementation boundaries, if you have:
bluebirdPromise1 -> bluebirdPromise2 -> bluebirdPromise3 -> promise/a+ promise -> bluebirdPromise4 -> bluebirdPromise5 ->bluebirdPromise6 -> error
then the long stack trace for error starts from bluebirdPromise4

@petkaantonov I am aware of that - I made sure that dataloader also use bluebird promise (by setting global.Promise = require('bluebird'). So I am pretty sure that in that chain was not non-bluebird promise.
Lets look at this chain:
bluebirdPromise1 -> bluebirdPromise2 -> bluebirdPromise3 -> bluebirdPromise4 (in Dataloader) -> bluebirdPromise5 ->bluebirdPromise6 -> error
I suspect that reason why stack traces stop in dataloader is that in time when error occurs there is only chain: bluebirdPromise4 (in Dataloader) -> bluebirdPromise5 ->bluebirdPromise6 -> error. Complete chain is created sometime after that.   This comes to my original question - is long stack trace created in time when error occurs? Or composed step by step when error is bubbling up?

Every promise contains a ._trace property that contains the stack trace when the promise is created. When an error happens, these traces are combined with the error's stack trace to create a long stack trace


Environmental Setup

Follow the instructions listed in the links below to get your local environment setup for Crate.

Follow the instructions here underneath the Install prerequisites section up to setup.
Follow the instructions here in the README.md in the Setup and Running section, and the setup bullet point.

Only have to follow the API and WEB folder instructions, mobile is not needed.

Everyone has been able to install the project locally on their machine and get it running. Closing this ticket.


Does this work with static blocks?

I have a static block from AT&T and was curious if this will work with static blocks at all.

Yes it should. EAP is independent of DHCP.
Also, even with a static block, doesn’t AT&T still issue it via DHCP? Surely they don’t expect you to manually configure your RG, do they?

So you plug the static config into the RG. It itself doesn't get a static IP (as far as I know, maybe it's the static block's gateway?) and you statics are handed out via DHCP to your clients. DHCP is required for your clients though. You can't statically assign one of these addresses. Without a lease the RG won't pass traffic for it. I'm not entirely sure what exactly is going on there.

Yes, you can get it to work. The following sets will use a VLAN to keep the traffic separated. Your network and devices must support this for it to work. You can change this around and not use VLANS but you are taking a security risk unless you configure firewall policies to do proper forwarding.
I am using a firewall after the edgerouter, and would recommend doing the same.
you may need to look at a subnet calculator to get the proper addresses if you do not know how to calculate.
http://jodies.de/ipcalc

Create an interface on you LAN with vlan 100 and set static IP address for the interface to the hostmax IP address in your block.

Under Firewall -> NAT, you will need two rules. One for source and one for destination.
Create a new source rule using the following settings.
Outbound interface will be your WAN interface vlan
Src Address is your network address/subnet

Create a destination NAT rule.
Inbound interface will be the WAN interface vlan again.
translations address will be the hostmax addres.
dest address will be your network address/subnet

You can now set a device to the proper VLAN and static assign an ip within your static block.

So your static IP has to be behind your street IP. This is opposite of what we normally think of static IP address but its how AT&T is configuring residential service.
Routing:
A&T Network - Router "Street IP" - Static Default Gateway (hostmax) - Static address.
Just a note, you could set each static address as a vlan interface and do port forwarding to a local machine. Outgoing connections will still show as your public IP unless you configure the NAT rules.

I have a VLAN capable switch and firewalls that would sit behind the ERL (They currently get statics from the RG) so I should be all set. This is perfect, thanks so much!!

Thank you for the assist @thford89.

All credit goes to mb300sd, his method doesn't involve using NAT twice.
You add the interface (VLAN 300 in my case), then create a basic firewall rule to allow from WAN out to in VLAN300.
He tested on pfSense, if anyone on here with Ubiquiti wants to test please do.
I'm using Mikrotik, the rule looks like this:

I don't mean to be such a bother, but I still don't understand how to apply this to my Edgerouter 4.
I followed the instructions to a Tee and yet I'm still having a hard time routing one of my static ips to one of my devices using a VLAN capable switch and assigning a VLAN to it.
(Using a TL-SG108E from TP-Link)

I don't mean to be such a bother, but I still don't understand how to apply this to my Edgerouter 4.
I followed the instructions to a Tee and yet I'm still having a hard time routing one of my static ips to one of my devices using a VLAN capable switch and assigning a VLAN to it.
(Using a TL-SG108E from TP-Link)

I can help you on discord screenshare or anydesk.

anydesk 234 466 603

We got it working on ER4. Had to add /27 with not default gateway but ip before that example: if .75-100 was usable with 101 being gateway, we made VLAN100 71.299.200.100/27 (example IP) then made two exclude NAT rules for 71.299.200.100/27 and put to top of exclude rule lists for SRC and DST.

Ramsaso figured out most of it all on his own, but I'm glad I was able to help. No double NATing needed for static IPv4!

I read through this issue, however I'm still having some trouble getting my block of static ip's assigned.
For reference I'm using a ER4 with eap_proxy in the configuration described in this projects README.
Any thoughts and/or help is greatly appreciated!

@nikolaishields --

I read through this issue, however I'm still having some trouble getting my block of static ip's assigned.
For reference I'm using a ER4 with eap_proxy in the configuration described in this projects README.
Any thoughts and/or help is greatly appreciated!

I just configured an ER-4 today using the documentation in the README.  I've got a /29 of static blocks, and I only had to make a minor change to the configuration to get it working:
First, I ensure the RG gets an IP address to make it happy:
set interfaces ethernet eth2 description 'AT&T router'
set interfaces ethernet eth2 address <IP_ADDRESS>/29

set service dhcp-server disabled false
set service dhcp-server hostfile-update disable
set service dhcp-server shared-network-name rg_dhcp authoritative enable
set service dhcp-server shared-network-name rg_dhcp subnet <IP_ADDRESS>/29 lease 1209600
set service dhcp-server shared-network-name rg_dhcp subnet <IP_ADDRESS>/29 default-router <IP_ADDRESS>
set service dhcp-server shared-network-name rg_dhcp subnet <IP_ADDRESS>/29 dns-server <IP_ADDRESS>
set service dhcp-server shared-network-name rg_dhcp subnet <IP_ADDRESS>/29 start <IP_ADDRESS> stop <IP_ADDRESS>
set service dhcp-server static-arp disable

Then you need to change the firewall so that only this network gets masqueraded:
set service nat rule 5010 description 'masquerade for WAN'
set service nat rule 5010 outbound-interface eth0.0
set service nat rule 5010 protocol all
set service nat rule 5010 type masquerade
set service nat rule 5010 source address <IP_ADDRESS>/29

Finally, all you need to do then is set eth2 to your /29 "gateway" address:
set interfaces ethernet eth1 address 99.69.300.400/29
set interfaces ethernet eth1 description LAN

I will note that, yes, you need to know what your public /29 network is.  It should be visible in the RG configuration screens, somewhere.  There is no NAT'ing at all of the public IPs.  AT&T will just route the /29 to your DHCP address.  There WOULD be double-NAT if someone used the private network from the RG.
There may be a security issue with someone on your RG being able to access your /29, because the ER-4 (in my case) would happily just route between the /29 and the 192.168.3.x address of the RG.  You could use VLANs (as suggested above) or a source-route firewall rule to block that.  Personally I would go with the source-route rules, only because I don't want to have to reconfigure all my /29 devices to be on a VLAN -- it would make it harder to quickly revert back to using the AT&T RG if things break.
PS: Sorry to touching such an old issue.

@derekatkins Really appreciate you posting your configuration here. Wondered if I could ask you a couple questions? I've had eap_proxy running for a couple of years now on an ER6P and I just ordered a /29 from ATT today.
Why is it necessary to give RG an IP address now? Is it just a coincidence that you created a /29 network for it now or is it related to the static block? Aren't we still only sending EAP packets there?
I may have a fundamental misunderstanding of what's happening here too, but I'm confused why you're only Source NAT'ng that new network now.
Then I think you have a typo when setting your public block address.  This part also confuses me because you're putting the public block on your LAN interface, when I would have expected it on you WAN VIF interface eth0.0
Again, I may be totally misunderstanding how this works. I'd really appreciate any clarification you could give.

@brettzink  --

Why is it necessary to give RG an IP address now? Is it just a coincidence that you created a /29 network for it now or is it related to the static block? Aren't we still only sending EAP packets there?

I give the RG an IP address so it actually shows a green service light.  Is it required?  Probably not.  It's just a coincidence that I gave it a /29.  I could have given it a /24, or even a /30.  I chose a /29 because there is only one device on that network (the RG), but I did have a SECOND device on that network at one point (my laptop), so just to ensure the RG ALWAYS got an IP I made it a /29, but really there's no reason it can't be a /24.  I updated my text above to make that more clear.

I may have a fundamental misunderstanding of what's happening here too, but I'm confused why you're only Source NAT'ng that new network now.

Because I don't want to NAT my public /29.
Basically, if a packet originates on the box, it uses the (DHCP-provided) public IP
If a packet comes from my LAN, it's using a public IP from my /29, so I just need to send that out.
If a packet comes from the RG (on the private /29, or /24, or whatever), THEN I need to NAT it.

Then I think you have a typo when setting your public block address.

Yep, that's a typo.  Fixed.

This part also confuses me because you're putting the public block on your LAN interface, when I would have expected it on you WAN VIF interface eth0.0

Why would I do that?  Then my LAN devices wouldn't have access to the Public IPs.  The whole point here is that this box is acting as a router for my public /29 -- so my LAN devices ARE the public /29 devices.  AT&T knows to route my public /29 to the public IP given by DHCP.  Then I use that /29 internally, the same way you'd use it if you were sitting behind the RG.

Again, I may be totally misunderstanding how this works. I'd really appreciate any clarification you could give.

Hopefully what I said above helps clarify.

@derekatkins Thanks for explaining. That makes perfect sense. I wasn't considering the public addresses getting applied to actual devices, I was only thinking about the opportunity to dNAT the addresses on the router. I really appreciate you taking the time to work through that with me.


Fetch storage-optimal integer types in Arrow

Fixes #129

Codecov Report

Merging #131 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #131      +/-   ##
==========================================
+ Coverage   97.87%   97.89%   +0.01%
==========================================
  Files         144      144
  Lines        2686     2706      +20
==========================================
+ Hits         2629     2649      +20
  Misses         57       57

Impacted Files
Coverage Δ

...pp/turbodbc_arrow/Library/src/arrow_result_set.cpp
98.41% <100%> (+0.07%)
:arrow_up:

cpp/turbodbc_arrow/Library/src/python_bindings.cpp
100% <100%> (ø)
:arrow_up:

python/turbodbc/cursor.py
100% <100%> (ø)
:arrow_up:

...urbodbc_arrow/Test/tests/arrow_result_set_test.cpp
100% <100%> (ø)
:arrow_up:

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 46e9c87...5f1fc2f. Read the comment docs.

Thanks @xhochy


Bug fixes, added enums ,added more alphabets in readme

Describes your contribution
Added enum for font names , also added a char generator , more alphabets in readme
Referenced Issues
closes #issue_number
#143

Hey @PranjalKhatri, as I mentioned in #151, this project is meant for beginners to contribute. That is why we designed this project in a way which is simple to understand yet has the contributor do at least some amount of thinking.
Having your character generator will make it simple copy-pasting. Which goes against the very idea of the project. So I would request you to remove that,
Also, the numbers in the banner font have already been added. So resolve those merge conflicts as well.
Apart from that everything is great. I like your proposition to use enums and we will move forward with that.
I hope you understand my point. Just make the necessary changes and I will merge your PR.

Hi @AnshumanMahato , I completely agree with you about the beginner project idea and their contribution, However just spending time on writing the character array is very annoying even for beginners , they can get help from char generator and can also contribute in making it better and spend time on actually thinking of some new ideas and implementing them or just open an issue about them and let others help in implementing that. There's still a lot we can do with this library like adding different styles Bold, Italics, Underline etc. or even add text emojis and change colors , play some simple console animations and what not. However i have resolved the conflicts as you said.🙂

ok cool... I'm merging this 👍


[mobile-practice] feat: removing relay unmock and rework relay usage in tests

This PR resolves []
Description

QA Test Case(s)

Test Case
Feature
Environment
Acceptance Criteria
Setup Instructions/Link

PR Checklist

[ ] I tested my changes on iOS / Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.
[ ] I added an app state migration.
[ ] I hid my changes behind a feature flag.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Closing this as well in favor of #8033


Fix ES authentication bug, add sg shortname

Fix problem with sg-core ES authentication configuration.
I am sneaking the short name 'sg' for the smartgateway CRs as well

Don't forget to run your operator-sdk command to sync the CRD changes!


Please do not call it "install"

AppImages do not need to be installed. They are just downloaded and made executable, and optionally integrated into the system.
Please do not use the verb "install". Maybe "get".

The term install was chosen as the tool does not just download the files but also puts them into ~/Applications and integrates them. get doesn't cover that. Unless there's a more suitable term, install is closest to what's actually happening.

Only that AppImages do not need to be installed. That is one of their main selling points.
In fact I made AppImage to not need the concept of "installation", repositories, and package managers.

Doesn't mean that these things can't be built on top. This tool's purpose is "be a client for a store that offers AppImages". The tool "installs" these and manages them.
If you want to change the nomenclature, please make a few suggestions. We haven't come up with anything better than what is used right now yet.

Above I had suggested to use the verb "get". Many users will know it from apt.

You know that the command to "install" packages is apt install, not apt get (or apt-get get)?

Yes, because those commands actually do install the software into the system.

So how is this tool differently? Just because "desktop integration" doesn't use the term "install", it doesn't mean that files aren't installed into the system. Also, when tools begin to add restrictions like "move into specific directory", they exceed the term "get". And app integrate XYZ (where XYZ is the AppImage to download and integrate) seems misleading.

"install" is exactly what it does as a mere get.
Get implies only download, install implies download and proper system integration like an icon in the menu etc.
The mere techncial fact that the app doesnt need to be "extracted" to be integrated is totally irrelevant for the user, ALL users of ALL operating system know that install = properly integrated end result of a software regardless its file format.


Remove tokio dependency from npk

The IO portion of the npk crate got concentrated some time agon in the "constructor" methods of npk::Npk. Since tokio itself
also doesn't do anything else than a block_in_place internally, removing tokio as a dep of npk shortens the list of dependencies and reduces compile time.

The "online" use case: read and parse an NPK spends most time in the io. The parsing of the yaml is fast so there's no real change on the performance topic.
"offline" means packing NPK isn't performance critical at all. Here the far most time is spent in mksquashfs.


Couldn't connect to Docker daemon..

running docker-osx-dev in one CLI tab is working, it says it is watching..  but then opening another terminal tab and running docker-compose up yields:
ERROR: Couldn't connect to Docker daemon - you might need to run docker-machine start default.
I don't have the default image because I completely uninstalled docker prior to installing docker-osx-dev.

Did you follow the docker-machine docs?


Update stable version in repo from 3.3.6 to 3.4.0

Think about update stable version to 3.4.0
Version: stable=3.3.6 (122 days old) => latest=3.4.0 (15 days old)
Installs: stable=510 (61.08%), latest=43 (5.15%), total=835
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 3.4.0 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 3.4.0 but the current stable version is already 3.4.0.
So this issue should be closed.
@mcm1957 for evidence


"duplicate listen options" config error when using wildcard ingress resource host

If I configure an ingress resource like this:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  name: nginx-non-ssl
  namespace: default
spec:
  rules:
  - host: '*.foo.com'
    http:
      paths:
      - backend:
          serviceName: kube-state-metrics
          servicePort: 8080
        path: /

nginx.conf is written successfully, but then I can see from the ingress controller logs that subsequent attempts to generate the config result in the error:
2017/03/01 22:42:51 [emerg] 697#697: duplicate listen options for [::]:80 in /tmp/nginx-cfg996042368:188
nginx: [emerg] duplicate listen options for [::]:80 in /tmp/nginx-cfg996042368:188
nginx: configuration file /tmp/nginx-cfg996042368 test failed

This only seems to happen if the "host" in the ingress resource is a wildcard name, though maybe it happens other times, too, that I'm not running into.
If I make further edits to the ingress resource, they show up, so whatever this is, it doesn't appear to make further updates block. But for some reason between the first successful write and the next edit, config generation fails in this way.
I'm attaching three files:

Generated working nginx.conf with one non-wilcard host: nginx.conf.non-wildcard-host.OK.txt
Generated working nginx.conf with one wildcard host: nginx.conf.wildcard-host.OK.txt
Generated (tmp) nginx.conf with one wildcard host, after initial successful write, with errors: nginx.conf.wildcard-host.BROKEN.txt

Apologies if what's happening here is obvious and I'm just not seeing it, or if what I'm trying to do here isn't meant to be supported.

@vdavidoff what is the version of your ingress? I guess this was already solved on #141

NGINX 0.9.0-beta.2 (note that I haven't had a chance to review the issue you pointed me at, yet)

I can't reproduce this, did you customize your template? Please paste your ingress config and the ingress deployment.

I have not modified the template.
The only customizations I have done are via the nginx.conf ConfigMap and annotations on the Ingress.
Here's the live Deployment. Note that I built the image from the 0.9.0-beta.2 release tarball, it was not pulled from an existing 3rd party repo or built from Git.
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "3"
  creationTimestamp: 2017-03-01T17:07:28Z
  generation: 3
  labels:
    k8s-app: kubernetes-nginx-ingress
  name: kubernetes-nginx-ingress
  namespace: default
  resourceVersion: "7472354"
  selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/kubernetes-nginx-ingress
  uid: 8c9e76af-fea1-11e6-bc59-00163e215c34
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: kubernetes-nginx-ingress
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: kubernetes-nginx-ingress
    spec:
      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=$(POD_NAMESPACE)/default-http-backend
        - --configmap=default/kubernetes-nginx-ingress
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: REDACTED/nginx-ingress-controller:0.9.0-beta.2
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 10254
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: kubernetes-nginx-ingress
        ports:
        - containerPort: 80
          hostPort: 80
          protocol: TCP
        - containerPort: 443
          hostPort: 443
          protocol: TCP
        - containerPort: 18080
          hostPort: 18080
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 10254
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        terminationMessagePath: /dev/termination-log
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      securityContext: {}
      terminationGracePeriodSeconds: 60
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: 2017-03-01T17:07:28Z
    lastUpdateTime: 2017-03-01T17:07:28Z
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  observedGeneration: 3
  replicas: 1
  updatedReplicas: 1

Here's the live ConfigMap
apiVersion: v1
data:
  enable-vts-status: "true"
kind: ConfigMap
metadata:
  creationTimestamp: 2017-03-01T17:07:11Z
  name: kubernetes-nginx-ingress
  namespace: default
  resourceVersion: "7472253"
  selfLink: /api/v1/namespaces/default/configmaps/kubernetes-nginx-ingress
  uid: 825de9ad-fea1-11e6-80cf-00163e215c2d

Here's the live Ingress - this is the version that results in the errors I'm reporting. Though again, to be clear, the config was written successfully once (what is described in this Ingress is reflected in the live nginx.conf), and if I modify the Ingress, those changes do appear. Only after the config is initially written do the errors start to appear.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
  creationTimestamp: 2017-02-07T17:50:23Z
  generation: 26
  name: nginx-non-ssl
  namespace: default
  resourceVersion: "7474656"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/nginx-non-ssl
  uid: e66e27b2-ed5d-11e6-a32d-00163e215c33
spec:
  rules:
  - host: '*.foo.com'
    http:
      paths:
      - backend:
          serviceName: kube-state-metrics
          servicePort: 8080
        path: /
status:
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>

I see the changes from issue #141 in the template in the running container:
root@kubernetes-nginx-ingress-1683316109-fbqsm:/# grep backlogSize /etc/nginx/template/nginx.tmpl
    {{ $backlogSize := .BacklogSize }}
        listen [::]:80{{ if $cfg.UseProxyProtocol }} proxy_protocol{{ end }}{{ if eq $index 0 }} ipv6only=off{{end}}{{ if eq $server.Hostname "_"}} default_server reuseport backlog={{ $backlogSize }}{{end}};
        {{ if not (empty $server.SSLCertificate) }}listen 442 {{ if eq $server.Hostname "_"}} default_server reuseport backlog={{ $backlogSize }}{{end}} ssl {{ if $cfg.UseHTTP2 }}http2{{ end }};

I also see them applied, as you'd suspect, in the newest config dropping in /tmp that fails validation:
root@kubernetes-nginx-ingress-1683316109-fbqsm:/# egrep 'backlog|listen \[::\]:80' /tmp/nginx-cfg602239601
        listen [::]:80 ipv6only=off;
        listen [::]:80 default_server reuseport backlog=511;
        listen 442  default_server reuseport backlog=511 ssl http2;
        listen [::]:18080 ipv6only=off default_server reuseport backlog=511;

I am not familiar with reuseport, but if it's only necessary after the initial listen directive, then it appears as though the "listen [::]:80" directives are in the proper order. If order applies here. I do see the note about it only working with kernels 3.9+, but that looks OK:
root@kubernetes-nginx-ingress-1683316109-fbqsm:/# uname -r
3.13.0-44-generic

@vdavidoff  thanks for the info, I'll take a look on this during the weekend

I am not familiar with reuseport,

This flag only can be defined once per listen port (that is why is defined in default_server).
The order is not important.

@vdavidoff I can confirm the issue on release 0.9.0-beta.2, but I can't reproduce on the master branch, so looks like it's fixed.
You can wait for the next release or build a custom ingress

OK, thanks. I appreciate you digging into this for me.

@vdavidoff I was able to reproduce this error. The issue is that the nginx template uses the position in the iteration to add a listen option (ipv6only) and we can specify options only in one listen per port. When the server name start with wildcard or numbers the server contains the ipv6only option and then in the default server the other options. This triggers the error.

Great, thanks again.


Got it to work, but had to overcome discrepancies

In our Windows 10 Azure-based client, the following steps made the shared license and roaming work using Group Policy and/or registry edits.  There are disconnects between this page's details, the ADMX files for Office 16, and what the programs are actually doing.  First, I tried using the registry instructions above, and they did not work. Then, I added the ADMX/ADML files to c:\Windows\PolicyDefinitions and used Group Policy to add entries.
I used procmon to show what registry keys were being queried.  I used Excel and later Word and traced what the programs were doing.
ClickToRun registry location:
The doc says to go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
But the key that Procmon showed being queried was
HKLM\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Common\Licensing
I did not attempt to go further with direct adds of registry entries, as I wanted the eventual solution to use Group Policy.
Next, I used Group Policy on the local machine to enable
"Use shared computer activation" and
"Specify the location to save the licensing token used by shared computer activation" - for this one, it lets you set a folder location.  For the Folder location I used %appdata%\Microsoft\Office\16.0\Licensing, which puts the two license files on the roaming profile.  In our Citrix setup, Citrix puts the roaming profile on a shared drive, so the user will get the same profile from any desktop.  Note: I used the same directory structure that the default setup uses, just to keep with the convention.  I found that the directory has to already exist, or else Excel would go back to the default of  %localappdata%\Microsoft\Office\16.0\Licensing
Those settings in group policy resulted in the following registry entries under HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\office\16.0\common\licensing:
sclcacheoverride   DWORD value 1
sclcacheoverridedirectory   REG_SZ value %appdata%\Microsoft\Office\16.0\Licensing
sharedcomputericensing   DWORD value 1
Shared Activation was working, but procmon showed that after reading sclcacheoverride, Excel never read sclcacheoverridedirectory, and therefore, it put the license files in the local profile.  I then manually deleted sclcacheoverride and added
sclcacheoverride REG_SZ 1 (a string value instead of a DWORD value)
Now everything worked, and the license files were placed on the roaming profile.  It seems like the DWORD value would be the more correct way to implement the sclcacheoverride flag, and that the implementation of Office in checking that flag is mistaken to look for a string.  To override the ADMX behavior, we will need to use "AdditionalRegistryEntries" in our OU group policy to see if we can deploy that string value to all desktops.
Ty

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8ab31873-7ad3-afde-3c72-8a7fb4f2e551
Version Independent ID: 19f7f483-9f53-f577-1cd4-d360c0b234fc
Content: Overview of shared computer activation for Office 365 ProPlus
Content Source: DeployOffice/overview-of-shared-computer-activation-for-office-365-proplus.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

With the latest ADMX sclcacheoverride is set as REG_SZ rather then DWORD. Version issue?


Support for unplugin-icons

Description
My project uses https://github.com/antfu/unplugin-icons which uses something like  <mdi-alarm-off /> which is translated to SVG. When I started using Oruga, I didn't need any icons. But now I have tables and noticing missing icons. I am not sure how to configure or overwrite this behavior.
Is there an easy way to do this?
Why Oruga need this feature
Not everybody uses css packs to do icons.

You can use the pack as you prefer and to use it you have to write your icon component wrappers.
There is an example in the docs!

Are you referring to "Custom icon component"?
 import Oruga from "@oruga-ui/oruga";
    app.use(Oruga, {
        iconComponent: "vue-fontawesome",
        iconPack: "fas"
    })

Or something else?
If I got the documentation for right, that calls something like  <font-awesome-icon icon="fa-solid fa-user-secret" />. How do I provide my own function?

Got it. Thanks. Will see if I can get that to work.

It works now. Thanks. Here is what I did for anybody else interested.
// OrugaIcon.vue
<template>
  <div>
    <mdi:arrow-up v-if="icon[1] == 'arrow-up'" />
  </div>
</template>

<script lang="ts" setup>
const { icon } = defineProps<{ icon: string[] }>();
</script>

<style scoped></style>

And
import { bulmaConfig } from "@oruga-ui/theme-bulma";
import OrugaIcon from<EMAIL_ADDRESS>export const install = (app: App) => {
  app
    .component("oruga-icon", OrugaIcon)
    .use(Config, { ...bulmaConfig, iconComponent: "oruga-icon", iconPack: "" });
};


one-way-select component should handle SafeString instances given as "prompt" parameter

Test case and removal of faulty promptText computed property doing primitive typeof check on passed prompt. Which was present since the component was created and, as far as I can recognise, is not needed for anything.
Related issue: #130 .

Thanks for fixing this!


Outlook Consume Graph API Login Frequency

Question
I am investigating how to convert an existing outlook add-in to authenticate to one of our APIs via AAD. The way the add-in works, it would severely limit the user experience if they were constantly  prompted with a dialog. If I were to base my solution off this sample project, how often could we expect the user to have to interact with a dialog or login?

Hi @nfgallimore - have you posted this question on Stack Overflow? Our engineers are very responsive there and will probably be able to assist with this! I could also move this issue to the office-js repo, where someone will be able to help you, but I think Stack might be faster and easier for you to get an answer. Thanks!

I'm very interested in a solution for this too. I have already created a Stack Overflow question, as was suggested by @mscharlock : https://stackoverflow.com/questions/62032994/office-ui-outlook-addin-using-auth-is-unstable?noredirect=1#comment109742168_62032994
The addin has been ready for weeks, but the auth/security part has become a roadblock to take the built addin to production which means an unhappy customer.

Hi @saberone - I will reopen this issue and transfer it to the office-js repo. Thanks!


How to calculate prize index & multi spin

Hey, I'm new here, I want to implement this roulette to my website but I can't understand how to calculate prize index. As example: I have 4 goods. My backend calculates random number between these items. And this number should win. How to calculate prize index, if my array has more than 4 times?
One more question, about multispin. My roulette can be opened a few times, this number is also on backend. As example, 4 times. It means that in prop onPrizeDefined I should setStart again to false unless times === 0. But when roulette stops and start sets to false, roulette switches to first item. It should switch only after user clicks "spin" but not after item is won. Can you please help me with using your package?

Hello, @leineveber! Thank you for your interest in this package.
There are 2 examples in the example folder. I'll try to explain with these examples but if you need more details just let me know.

Let's take a look on the "Advanced Usage" example.
There are functions: getPrizeIndex that calculates a random prize index and reproductionArray to full the roulette prize items space.
Using useEffect you can calculate the prize index value for each new spin.

"Advanced Usage" example. In my implementation I just set setSpinning(false) to allow users click on the spin button. All other actions I do in handleStart function.

I think the "Advanced Usage" example will help you, but if you still have any questions, just ask them here.

Thank you for fast reply. I faced a new problem. Roulette doesn't spins if prize index is same as previous prize index. But in real life two prizes can be the same.

To reproduce, please open Advanced usage example and edit getRandomGoodIndex function to () => 4 // as example

Thank you for your feedback. I’ll explore why does this happen. For now I think you can solve this by using ‘useState’ for prizes and set a new state of them for every new spin.
I’ll let you know when I get explore about this problem.

I've tried but nothing works, maybe I'm doing something wrong. Could you please explain in more details?

Hmm, well, calling setPrizeIndex(0) in onPrizeDefined solves the problem

But if I will add to useState key and set this key to roulette & in handleStart func call setKey(Math.random()) it spins :P

Please, add availability to add your own className to roulette wrapper. And, maybe, it will be more easier, if instead of prizeIndex we will use prizeId

I glad the problem with prizeIndex has been solved. I’ll keep this moment on mind when implement an example in React Roulette Pro 2.0.
An availability of adding your own className to the roulette will be implement in React Roulette Pro 2.0.
I’ll think about to use prizeId instead of prizeIndex. Thank you for your idea.
Do you have any more ideas or questions?

No, thank you a lot for your help and for your package. I'm looking forward for new version :)

Thank you for support. Feel free to open a new issue if you'll have any questions.
Cheers!


accidently installed from your repository, instead of my edited fork

do you have a script to revert to default values? :)

I don’t.


Add UpdateGuestNetworkInterface

Issue #, if available:
#66
Description of changes:
While both Drive and NetworkInterface can have RateLimiters on creation,
updating RateLimiters is only supported by NetworkInterface
(via PartialNetworkInterface).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Change looks good!
If possible, I think it's worth additionally adding a test for your change to machine_test.go. I don't think we need to necessarily test the rate limiting itself (as that is in all likelihood a huge undertaking out of scope of just adding this feature), but it would be good to even just have a test that calls the Patch api you added as a basic sanity check that it doesn't crash or something like that.