Etcd pre-upgrade fails on brand new VM

@mattymo I think this is something that you were working on. I'm seeing an error during the etcd pre-upgrade task where, with a single etcd node that has yet to be provisioned, the upgrade fails after ignoring an etcd member list. It seems correct that it ignores the member list error since there are no members yet, but the next task fails because it seems to set etcd_member_list regardless. I'm assuming to an empty array or something. Haven't yet confirmed. Here's a larger log output:
TASK [etcd : Pre-upgrade | check if member list is non-SSL] ********************
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (10 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (9 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (8 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (7 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (6 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (5 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (4 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (3 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (2 retries left).
FAILED - RETRYING: TASK: etcd : Pre-upgrade | check if member list is non-SSL (1 retries left).
fatal: [ip-10-223-11-170.us-west-2.compute.internal]: FAILED! => {"attempts": 10, "changed": false, "cmd": "/opt/bin/etcdctl --no-sync --peers=http://<IP_ADDRESS>:2379 member list", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}
...ignoring

TASK [etcd : Pre-upgrade | change peer names to SSL] ***************************
fatal: [ip-10-223-11-170.us-west-2.compute.internal]: FAILED! => {"failed": true, "msg": "The conditional check 'etcd_member_list is defined and \"http://\" in etcd_member_list.stdout' failed. The error was: error while evaluating conditional (etcd_member_list is defined and \"http://\" in etcd_member_list.stdout): Unable to look up a name or access an attribute in template string ({% if etcd_member_list is defined and \"http://\" in etcd_member_list.stdout %} True {% else %} False {% endif %}).\nMake sure your variable name does not contain invalid characters like '-': argument of type 'StrictUndefined' is not iterable\n\nThe error appears to have been in '/var/lib/awx/projects/_157__spencer_test/roles/kargo/roles/etcd/tasks/pre_upgrade.yml': line 50, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"Pre-upgrade | change peer names to SSL\"\n  ^ here\n"}

This is on AWS with CoreOS.

I believe this is because etcdctl doesn't actually exist yet in the process. It doesn't get dropped out of the container until the install.yml tasks that come a few steps later.
I can work around this by changing etcd_member_list is defined to etcd_member_list.rc != 2, but I'm not sure if that's the most ideal option.

We should skip if rc is 127 (file or command not found)

Will give that a try and PR if it works.

Looks like the return code is always going to be 2 if it doesn't exist. Here's a test with just trying to call etcdctl -v to get the version:
fatal: [ip-10-223-11-17.us-west-2.compute.internal]: FAILED! => {"changed": false, "cmd": "/opt/bin/etcdctl -v", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}

I'm going to throw in a PR to proceed if the rc isn't 2. We can chat more about it there if there are concerns around that.


Problems with Wine & Java apps

Using latest git.
When switching between apps in the taskbar, JWM ignores Wine & Java apps.
Wine & Java taskbar buttons don't get the focus, weird. When clicked, the main window is shown, but the titlebar still has the inactive color. Besides that, it's possible to work with those apps. But somehow the focus remains in other window.
Tray icons in Java: ok.
Tray icons in Wine: strange behavior, disappears when an application is minized to tray.
This is happening in an old system based on Ubuntu Precise, I haven't tested in another distro/version.
I remember that s871 didn't have this issue, something that I noticed appeared afterwards...
JWM is practically complete, I think this and the LXTerminal issue are the only ones worth taking care of...

This should be fixed now (in snapshot 1219).  It fixed the issue with Java programs for me, but I haven't tried wine.

Yes, the issue with taskbar buttons and window focus is fixed.
Java: ok (jdownloader)
Wine: semi ok (colors, chmdecoder,rufus,renamer,etc)
However, Wine apps that implement a Tray icon still have that problem, (emule, foobar2000, utorrent2.2.1).  The pointer disappears when is over the tray icon. No context menu.
I tested these versions:
wine-1.6.2-i486_v2.1-racy
wine-1.7.47-i486_v2.1-racy
It's not a big deal, I know wine is problematic, I'm quite happy with these results...

I can confirm this issue with 2.3.1 and with s1230 under FreeBSD 10.1.  I'm using WINE 1.7.33 and trying to run EditPad Pro 7 (a Windows text editor), but I simply can't get focus to the application. When I try and type in the editor, the keyboard input goes to the other focused application, not to EditPad Pro.  This bug means I would have to revert to 2.2.2 which was the previous JWM I used and that was working 100%.
I just tried with other Windows applications too. They all behave the same as EditPad Pro - I simply can't get focus to them - mouse or keyboard.

Due to popular demand I reopen this issue.

WINE
Some wine apps (those with a tray icon) don't get focus in taskbar.
Keyboard, mouse.. ok. But the window title remains with the inactive color... my brother (he is using Arch Linux) told me about the focus issues with Wine.
Tray icon is unclickable, mouse pointer disappears when it's over it. Though in foobar2000 it seems to respond sometimes.
It looks that lxpanelx can handle that situation, but there are rendering issues.
I also compiled latest version of gdb, but I still can't figure out how to use it, there are is no info output when I attach it to jwm's pid.
That's my report.

Unfortunately, I don't have wine installed (well, fortunately, from my perspective), but it sounds like the window is mapped with WM_HINTS indicating that the window does not accept input focus and without WM_TAKE_FOCUS set in WM_PROTOCOLS.  In this case JWM does not give the window focus because the window claims it does not want focus.  The same thing happens with xclock and xvkbd, for example.  With a program like xvkbd, it is certainly not desirable to give the window focus and this is the only way JWM knows not to give the window focus.

Are you suggesting that WINE (and apparently Java) is setting the wrong window hints? Something in JWM must have changed though, because in JWM 2.2.2 it works, switching to 2.3.1 it doesn't.  The version of WINE has not changed on my system, I'm only switch between JWM versions.  I haven't tested 2.3.0 yet.
Seeing as I can reproduce the issue, and compiling JWM on my FreeBSD system is simple enough, maybe I can use git bisect to find out exactly what commit causes this problem.
I'm assuming the build instructions for a release JWM archive is the same instruction I would use when compiling JWM from a git checkout?

My suspicion is WINE is setting WM_HINTS to say "Client accepts input or input focus: False" without setting WM_TAKE_FOCUS in WM_PROTOCOLS.  Running xprop and clicking on the window should show that.  I would be interested to see the output to see if there's anything JWM can do to attempt to identify that it should focus the window.
This is a change in behavior for JWM (to fix issue #185) in that JWM will no longer assign focus to such windows.

Here is the output for xwininfo and xprop. I tested with two different Windows applications I run under WINE. Both gave the same issue with JWM later than v2.2.2. From what I can see, both have class type as InputOutput which is expected, and both have WM_TAKE_FOCUS set. So I don't see a problem from WINE's side.
Hope this helps...
PINS
[~]$ xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x3400005 "Graeme_Geldenhuys.pins - PINs v.<IP_ADDRESS>"

  Absolute upper-left X:  498
  Absolute upper-left Y:  118
  Relative upper-left X:  5
  Relative upper-left Y:  24
  Width: 670
  Height: 595
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x3200001 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +498+118  -1392+118  -1392-727  +498-727
  -geometry 670x595+498+118

[~]$ xprop
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_ABOVE
_NET_FRAME_EXTENTS(CARDINAL) = 5, 5, 24, 5
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR
_NET_WM_ICON(CARDINAL) = 	Icon (16 x 16):

	          ████
	         █░░░░█
	█████████░░░░░░█
	█░░░░░░░░░░░██░█
	█░█░█░█░█░░░██░█
	 ████████░░░░░░█
	         █░░░░█
	         ░████░░
	░░░░░░░░░░░░  ░░
	░░░░░░░░░░░░  ░░
	 ░░░░░░░░░░░░░░░
	         ░░░░░░
	          ░░░░

_NET_WM_NAME(UTF8_STRING) = "Graeme_Geldenhuys.pins - PINs v.<IP_ADDRESS>"
WM_ICON_NAME(STRING) = "Graeme_Geldenhuys.pins - PINs v.<IP_ADDRESS>"
WM_NAME(STRING) = "Graeme_Geldenhuys.pins - PINs v.<IP_ADDRESS>"
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: False
		Initial state is Normal State.
		bitmap id # to use for icon: 0x3200055
		bitmap id # of mask for icon: 0x3200057
		window id # of group leader: 0x3400001
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_TRANSIENT_FOR(WINDOW): window id # 0x3400001
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x62ffb440, 0x10082
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified location: 694, 149
		window gravity: Static
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x3200023
XdndAware(ATOM) = ATOM
_NET_WM_PID(CARDINAL) = 87466
WM_LOCALE_NAME(STRING) = "en_GB.UTF-8"
WM_CLIENT_MACHINE(STRING) = "graeme-desktop"
WM_CLASS(STRING) = "pins.exe", "Wine"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, _NET_WM_PING, WM_TAKE_FOCUS

EditPad Pro v7
[~]$ xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x3800013 "EditPad Pro 7 - [*Untitled 1]"

  Absolute upper-left X:  232
  Absolute upper-left Y:  24
  Relative upper-left X:  5
  Relative upper-left Y:  24
  Width: 1524
  Height: 1313
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x3000001 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +232+24  -804+24  -804-103  +232-103
  -geometry 1524x1313+232+24

[~]$ xprop
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_STICK, _NET_WM_ACTION_BELOW, _NET_WM_ACTION_ABOVE
_NET_FRAME_EXTENTS(CARDINAL) = 5, 5, 24, 5
WM_STATE(WM_STATE):
		window state: Normal
		icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 0
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SKIP_TASKBAR
_NET_WM_ICON(CARDINAL) = 	Icon (32 x 32):

	           ░▒▓▓▓▓▓▓▒░
	         ▒▓▓▒▒▒▒▒▒▒▒▓▓▒
	       ░▓▒░░░░▒▒▒▒▒▒▒▒▓▓░
	      ░▓▒▒░▒░░░░░░░░▒▒▒▒▓░
	     ░▓▒▒▒░░ ░ ░ ░░░░░░░▒▓▒
	    ░▓░▒▒░ ░░░░░░░░ ▒ ░▒░▒▓░
	    ▓▒▒▒▒  ░ ░░░░░░░░ ░▒▒░▒▓░
	   ▒▒░▒▒░        ░░░░░░░░▒▒▓▒
	   ▓░▒▒▒░             ░ ▒░▒▓▓░
	  ░▓░▒▒░               ░▒░▒▓▓░
	  ▒▒░▒▒             ░░░▒░░▒▓▓▒░
	  ▓░░▓░░░         ░░░░░▒ ░▒▒▒▓░
	  ▓░▒▒░░░░    ░░░░░░░░▒░ ░▒▒▒▓░
	  ▓░▓░░░░░░░  ░░░░░░░░▒  ░▒▒▒▓░
	  ▓▒▒░░░░░░░░░░░░░░░░▒▒  ░▒▒▒▓░
	  ▓▓░░░░░░░░░░░░░░░░░▓   ░▒▓▒▓░
	  ▓▒░░░░░░░░░░░░░░░░▒▒░  ░▒▓▒▓░
	 ░▒░░░░░░░░░░░░░░░░░▓░  ░░▒▓▓▒░
	 ▒▒░░░░░░░░░░░░░░░░▒▒░  ░░▒▓▓▒░
	░▒░░░░░░░░░░░░░░░░░▓░   ░░▒▒▓░░
	▒░░░░░░░░░░░░░░░░░▒▒░░  ░▒▒▓▒░
	▒░░░▒░░░░░░░░░░░░░▓░░   ░▒▒▓░░
	▒▓▒▒░▒░░░░░░░░░░▒▒▒ ░  ░░▒▓▒░
	 ░▒▒▒▒▒▒░░░░▒░░▒░▒░░░  ░▒▓▒░
	   ░░░▒▓▓▒▒░░▒▒▒▒▒  ░ ░▒▓▒░░
	       ░▓▓▒▒▓▒▒░▒░░░░▒▓▓▒░░
	        ░▒▓▓▒▒▒▒▒░▒▒▓▓▒░░
	          ░░▒▓▓▓▓▓▓▒▒░░░
	            ░░░░░░░░░░

_NET_WM_NAME(UTF8_STRING) = "EditPad Pro 7 - [*Untitled 1]"
WM_ICON_NAME(STRING) = "EditPad Pro 7 - [*Untitled 1]"
WM_NAME(STRING) = "EditPad Pro 7 - [*Untitled 1]"
WM_HINTS(WM_HINTS):
		Client accepts input or input focus: False
		Initial state is Normal State.
		bitmap id # to use for icon: 0x3000238
		bitmap id # of mask for icon: 0x300023a
		window id # of group leader: 0x3800002
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_TRANSIENT_FOR(WINDOW): window id # 0x3800002
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x63139440, 0x2022c
WM_NORMAL_HINTS(WM_SIZE_HINTS):
		program specified location: 454, 58
		window gravity: Static
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x3000027
XdndAware(ATOM) = ATOM
_NET_WM_PID(CARDINAL) = 87547
WM_LOCALE_NAME(STRING) = "en_GB.UTF-8"
WM_CLIENT_MACHINE(STRING) = "graeme-desktop"
WM_CLASS(STRING) = "EditPadPro7.exe", "Wine"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, _NET_WM_PING, WM_TAKE_FOCUS

Well, that makes it easy. JWM must be only looking at WM_HINTS and not WM_PROTOCOLS to determine if it should assign focus.  I'll have a fix soon.  Thanks!

I don't know if it is relevant here, but there is a setting in winecfg->Graphics:
[X] Allow the window manager to control the windows
(and a few other settings that might have some effect)

Hi Jeff - Incidentally I have that option enabled. I guess it is a default WINE option. Still didn't make a difference here though.

So the issue with JWM not checking WM_PROTOCOL was what was causing the Java issue, and that was fixed in snapshot 1219 (it resolves the problem for me with Java apps).  This would be broken in 2.3.1.
I suppose it could be the case that an application claims to use TAKE_FOCUS and then doesn't actually grab the focus.  JWM used to assign the focus to the top-level window no matter what, now JWM only sends a TAKE_FOCUS client message.  If this is happening, the window will appear to be active (have the active window color), but key presses will go elsewhere.  I'll attempt to fix this issue by making JWM assign the focus as before (should be safe to do I think...).

@joewing Do you think this broke fixing the issue with virtualbox?  If there is no way to support both, I would say wine and java are more common for the average user, and I can work around the keyboard issues with virtualbox

I think it should be possible to make this work everything, it's just a little tricky.
So it turns out JWM used to assign focus to the parent window if TAKE_FOCUS was set and WM_HINTS specified no input focus. I don't know if that is an issue, but it was wrong behavior (fixed in 1242).

Ah ok... I am updating my PPA now, I will test it and see if virtualbox still performs the same

There is something going on with wine.. something totally insane..
After the last commit, some other apps in the taskbar get focus... ReNamer, utorrent 2.2.1 and eMule.  However (in eMule and utorrent) if a dialog appears (settings, etc), the app reverts to its previous behavior.. JWM ignores the app again (in the taskbar).
The combination Openbox + LXPanelX seem to overcome this issue just because of OpenBox, as LXPanelX also has issues with some Wine apps (can't receive focus in taskbar, completely ignores them)... so when pressing Alt + Tab, OpenBox shows a window showing all apps, just select one.
So.... my veredict is guilty. Wine is problematic...

I think this should work better as of snapshot 1244.  JWM wasn't restoring it's internal view of which window has focus correctly when a client updated motif hints.  APparently wine applications update motif hints a lot.
There is still an issue with the dock.  I think that's due to the fact that JWM doesn't support the XEmbed protocol (http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html).

Yes it's almost done, this is so exciting

JWM still lets VirtualBox have the keyboard in 1244, in all of the latest commits, I haven't had any regression.  I think 2.3.2 is going to be a great release for JWM.  The menus are better, icons are found automatically and there have been some really great bug fixes!
thanks @joewing

@joewing : Many thanks. I've tested with s1247 under FreeBSD, and my Windows applications now work perfectly. I also tested with a Java program, and that seems fine too. Thanks for all your effort. ;-)


Deprecated Input component variant "bottom-lined"

As the bottom-lined input components add a lot of development and maintainance and are barely (or not at all used), we decided to drop support starting in version 2 of wave. In this task, we will let the teams know about the deprecation and also mark the component as deprecated in the library.
Reasoning

Exponentially increasing complexity per component that supports bottom lined inputs
Rarely or not at all used in the tools

Components to Update

Input
Select
SelectList
DateRangePicker
DatePicker
PhoneInput

ToDos

Inform the team about the deprecations
Update the components to show a deprecation warning
Create a follow-up story to remove the components from the library

@nlopin should we close this issue in favour of the newer one?

Closing in favor of the newer one

I consider this as a subtask, but it is fine

We can reopen it later if we feel the need to have both to separate work more easily, just trying to clean up in the meantime to make issues more maintainable


Add option classes

Next to performance improvements shown in https://github.com/mapbox/mapbox-plugins-android/issues/679 and https://github.com/mapbox/mapbox-plugins-android/issues/680. We should expose builder classes. This allows to configure an annotation but not to dispatch any updates until the annotation is ready to be shown. This allows to minimise source updates as much as possible.

Happening in #700


Newtonsoft.Json serialization issue

On .NET Core 3 (checked on 3.1.201), when Newtonsoft.Json serializer is used, returned DTO from controllers is wrong:
{
  "Id": {
    "valueKind": 3
  },
  "CreatedOn": {
    "valueKind": 3
  },
  "CreatedBy": {
    "valueKind": 3
  },
  "LastSavedOn": {
    "valueKind": 3
  },
  "LastSavedBy": {
    "valueKind": 3
  },
  "Latitude": {
    "valueKind": 4
  },
  "Longitude": {
    "valueKind": 4
  },
  "links": [
    {
      "method": "GET",
      "uri": "http://localhost:2138/api/station/get/2af61203-e39f-4998-0be3-08d7e6a9860f",
      "relation": "Self"
    },
    {
      "method": "DELETE",
      "uri": "http://localhost:2138/api/station/delete/2af61203-e39f-4998-0be3-08d7e6a9860f",
      "relation": "DeleteStation"
    }
  ]
}

After using default serializer in .NET Core 3, i.e.,  System.Text.Json the DTO is serialized correctly:
{
  "Id": "2af61203-e39f-4998-0be3-08d7e6a9860f",
  "CreatedOn": "2020-04-22T10:40:06.9052182",
  "CreatedBy": "b2ac5452-e45c-4ed3-4d76-08d7dfa3a155",
  "LastSavedOn": "2020-04-22T10:40:06.9052182",
  "LastSavedBy": "b2ac5452-e45c-4ed3-4d76-08d7dfa3a155",
  "Latitude": 0,
  "Longitude": 0,
  "links": [
    {
      "method": "GET",
      "uri": "http://localhost:2138/api/station/get/2af61203-e39f-4998-0be3-08d7e6a9860f",
      "relation": "Self"
    },
    {
      "method": "DELETE",
      "uri": "http://localhost:2138/api/station/delete/2af61203-e39f-4998-0be3-08d7e6a9860f",
      "relation": "DeleteStation"
    }
  ]
}

Hello @adambajguz , thanks for your interest in the project!
I have identified the issue, and I'll be working on a fix right now. I let you know when it's ready.
Regards,
Alex

Hello @adambajguz, the issue has been fixed and released. This release allows you to configure the serialization settings in your side through Json.NET or System.Text.Json fluent configuration.
I will be closing this issue, and you can re-open if the problem persists.
Hopefully you enjoy the changes!


echo_op example

Set the reuse_address socket option to match the style of the other examples.

Add the ability to set the listening address and port through command line arguments. Print out usage and return error exit status on invalid or missing arguments.

Currently, the echo-op example uses the carriage return \r delimiter for async_read_until. Running the server and sending a message to it with curl or netcat:
printf 'Hello, World!\r\n' | nc <IP_ADDRESS> 8080

leads to some potentially confusing behaviour. The async_read_until function reads up to and including the first \r. When the message is received by the client and printed to stdout, the trailing \r ends up moving the cursor back to the start of the line, resulting in the prompt overwriting the message. It appears as if nothing has happened.
If async_read_until uses the newline \n as the delimiter, the echoed output will not be overwritten, regardless of whether the line ends in \n or \r\n.

Had a go at adding a synchronous echo op function #1275.

The sync echo-op needs exposition and documentation...


Adjust obs form system test expects

coverage: 93.484%. remained the same
when pulling b58156d0092cf0ece7a4462a9bd59a26ea491258 on adjust-obs-form-system-test-expects
into 2c8489c3d7504bdc4054536d1f4ad4542816acba on main.


Bump to pydantic 2.8.0

This PR includes the dependabot change from https://github.com/andrewthetechie/py-healthchecks.io/pull/700

Ran the bump-pydantic tool.
Add a few safety ignores: jinja2, and requests
Bump anyio dependency
Include packaging dependency. It seems to be required.

Closes #701

Thanks @andrewthetechie. I've updated the validate_uuid using field_validator decorator. Please check again.


[shared_preferences] Variable binding in a condition requires an initializer

Is there an existing issue for this?

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

Steps to reproduce
Add shared_preferences: 2.2.0 in dependencies.
Expected results
should working fine.
Actual results
I am getting this error after updating to shared_preferences: 2.2.0.
Swift Compiler Error (Xcode): Variable binding in a condition requires an initializer
/Users/appleapple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.0/darwin/Classes/SharedPreferencesPlugin.swift:57:21
Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code
Could not build the application for the simulator.
Error launching application on iPhone SE (3rd generation).
Code sample
Code
shared_preferences: 2.2.0

Screenshots or Video

Screenshots / Video demonstration

Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.5, on macOS 12.6.7 21G651 darwin-x64, locale en-US)
    • Flutter version 3.10.5 on channel stable at /Users/appleapple/Documents/flutterSdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (3 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/appleapple/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E500a
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Connected device (5 available)
    • Redmi Y2 (mobile)                   • 73e697d                              • android-arm    • Android 9 (API 28)
    • iPhone (mobile)                     • 00008020-001C4D3E0E52002E            • ios            • iOS 13.4.1 17E262
    • iPhone SE (3rd generation) (mobile) • DB6CD68A-5CED-4D74-A2E7-FFA249CC9A18 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • macOS (desktop)                     • macos                                • darwin-x64     • macOS 12.6.7 21G651
      darwin-x64
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

• No issues found!

I have also encountered this issue after the automatic upgrade to the new version. Please fix it as soon as possible.

Hi @amit-agendaboa, your flutter doctor shows that you are using an older version of Xcode. Kindly upgrade to the latest version of xcode to see if you still face this issue. @yoer, If you are also using an older version of xcode, kindly make sure you upgrade to the latest version of xcode.
I tested a sample app with the latest version of shared_preferences on iOS and it worked just fine for me.
I'm using xcode 14.3.1.

@tarrinneal It looks like if let foo is only supported in more recent language versions; we should change it to use the more compatible if let foo = foo.

i fixed this issue after opening project in xcode and generate error than after find where is issue and changed some thing
here is  error :
if let allowList  {
allowSet = Set(allowSet)
}
solved issue like this:
if let allowList =  allowSet {
allowSet = Set(allowSet)
}
kindly update code with solved issue i mentioned requir thing in blod

i fixed this issue after opening project in xcode and generate error than after find where is issue and changed some thing
here is error :
if let allowList {
allowSet = Set(allowSet)
}
solved issue like this:
if let allowList = allowSet {
allowSet = Set(allowSet)
}
kindly update code with solved issue i mentioned requir thing in bold

Hello there, I have some problem, but I'm using the easy_localization: ^3.0.0 package.
Please fix it sooner.

@danagbemava-nc my Mac does't support to upgrade new OS, it is 2015 early. hence I can't update Xcode to 14.3.1.

Hi @amit-agendaboa, i had the same problem as you and solved it, reply me if you have the same!

add "shared_preferences_foundation: 2.2.2" in Pubspec.yaml

Good luck to you.

yes I have already solved it by adding "shared_preferences_foundation: 2.2.2" in dependency_overrides in Pubspec.yaml.
Thanks @Yoon-Do

Thank you @Yoon-Do
I overridden the shared_preferences_foundation package in Pubspec.yaml.
dependency_overrides:
shared_preferences_foundation: "<=2.2.2"

This worked for me, Thanks man you saved my day 😀🙌

Hi @amit-agendaboa, i had the same problem as you and solved it, reply me if you have the same!

add "shared_preferences_foundation: 2.2.2" in Pubspec.yaml

Good luck to you.

This worked for me, Thanks man you saved my day 😀🙌


"Virtual" pages prototype

What kind of changes does this PR include?

Changes to Starlight code

Description
This pull request is an attempt to:

Closes #982
Fix integrations and plugins injecting routes using injectRoute() being broken starting with Starlight v0.14.0

Note: This PR is a draft as it is not ready to be merged and is still a work in progress regarding most aspects from code, to tests, to documentation which have been mostly put in place to get feedback on the approach which is what I'm mostly interested in before spending more time on this.
This PR introduces a new component <VirtualPage /> (name up for discussion if the approach is accepted, I didn't find anything better yet) that can be used by integrations and plugins injecting routes to render dynamically generated content using the Starlight layout.
The preview includes a set of pages generated by a plugin using this approach:

basic page with default sidebar
page with no sidebar
page with custom sidebar and a toc

Technical details
A lot of details are already included in the feature request but I'll provide some additional details here.
Before this PR, an integration or plugin injecting a new route would need to render the @astrojs/starlight/components/Page.astro and provide all the expected route data to it. This was mostly unsafe as there was no way for a plugin to provide all expected data and was a bit cumbersome, e.g. this example from my blog integration:
export function getPageProps(title: string, slug: string): Props {
  const entryMeta = getEntryMeta();

  return {
    ...entryMeta,
    editUrl: undefined,
    entry: {
      data: {
        head: [],
        pagefind: false,
        title,
      },
      slug,
    },
    entryMeta,
    hasSidebar: true,
    headings: [],
    id: slug,
    lastUpdated: undefined,
    pagination: {
      next: undefined,
      prev: undefined,
    },
    sidebar: [],
    slug,
    toc: {
      items: [],
      maxHeadingLevel: 0,
      minHeadingLevel: 0,
    },
  };
}

Another (and maybe more) important point is that this was impossible for a plugin to use the generated sidebar based on the Starlight configuration meaning all pages generated by a plugin would not have a sidebar, e.g. this breaking change in my OpenAPI integration:

Due to some API changes in Starlight, all OpenAPI documentation pages will no longer display a sidebar. If you wish to preserve a sidebar on these specific pages until this is fixed, please stick to the 0.2.2 release and Starlight <0.11.0 for the time being.

Starting with v0.14.0, the change that exposes localized UI strings in route data and having all internal components using the route data to access localized UI strings makes is now impossible for a plugin to use such an approach as it would require the plugin to provide localized UI strings which is not possible.
To address this, the proposed approach is to introduce a new component <VirtualPage /> that can (and should) be used by integrations and plugins to render dynamically generated content:

This component is a wrapper around the <Page/> component
It accepts a different (but slightly similar) set of props
Some optional props will be automatically provided by the component, e.g. if a page does not provide a custom sidebar and does not explictly hide it, the default sidebar will be used
It makes generating props a bit easier by removing the complexity of entry as they technically do not exist for virtual pages

Rendering a virtual page would look like this:
---
// plugin/src/Example.astro
import VirtualPage, {
  type VirtualPageProps,
} from<EMAIL_ADDRESS>import CustomComponent from './CustomComponent.astro';

export function getStaticPaths() {
	// Omitted for brevity...
}

const props = {
  title: 'My custom page',
  slug: 'custom-page/example',
  template: 'doc',
  hasSidebar: true,
  headings: [{ depth: 2, slug: 'description', text: 'Description' }],
  dir: 'ltr',
  lang: 'en',
  pagefind: true,
  head: [],
} satisfies VirtualPageProps;
---

<VirtualPage {...props}>

Description

  <CustomComponent />
</VirtualPage>

If this an approach that is found acceptable, there is still a lot of work to be done as I mentioned earlier but so far I have not been able to find a better approach to address these issues.

Thank you for working on this feature!
I just made another prototype with this prototype: https://github.com/withastro/docs/pull/5551
I think the approach works pretty well and injected pages are easy to write and add.
From DX point of view, making all props but title optional or providing a helper that returns a set of defaults would be nice, since only title is required in page frontmatter and it's a little confusing where should I get those values.
A lot of things are not working correctly in https://github.com/withastro/docs/pull/5551 right now, most of I assume are just because this PR is WIP and not implemented yet so I'm not too worried.
One that might need extra attention is, <Content/> from content collection entries are rendered as

.
Preview link: https://docs-n9dghxdqp-astrodotbuild.vercel.app/fr/reference/glossary/

Thanks for taking the time to try it out and the super valuable feedback, greatly appreciated! :raised_hands:
After seeing your PR, I understand what you meant the other day on Discord and I'm not sure what I read, but I totally did not imagine that ^^ This makes way more sense to me now :thumbsup:

From DX point of view, making all props but title optional or providing a helper that returns a set of defaults would be nice, since only title is required in page frontmatter and it's a little confusing where should I get those values.

My original thinking was that if a plugin emits a page with some content, the plugin must knows the content so it also knows the language, the text direction, if it should be searchable or not, etc. Another point is that I tried to minimize the changes for the initial draft (we basically get what is the minimal expected props to get it working).
That's definitely something to think about more just like the <Content/> component you mentioned, this is not something I even tried personally yet.

My original thinking was that if a plugin emits a page with some content, the plugin must knows the content so it also knows the language, the text direction, if it should be searchable or not, etc.

Although some websites don't have that information, or don't need to provide all of them because they are just adding a subset of the props.
The proposal looks sound to me and it's highly needed because v0.14.0 breaks the current usage of Page.

Thanks for the review :raised_hands: (and no worries, I think none of us thought about that potential change but imo, this was due to happen at some point anyway, as we have no dedicated story for the <Page/> component yet).
Considering the approach seems reasonable, I'll start thinking more about some of the raised points and will try to come up with an update to this PR. Regarding defaults, I'll review all the props and see what we can do, I would guess indeed title and slug could be the only required ones but I'll double check.
Regarding i18n, this is something I left as an open question for this first draft but indeed, definitely something to consider, although I'm not sure yet what the best approach would be.

Just updated the PR with various changes based on previous feedback.
The <VirtualPage /> component now only requires a slug and a title props and everything else is optional and will be inferred when not provided. This allows for a much simpler API and flexible usage.

For frontmatter, we could even parse it using Starlight’s frontmatter schema to ensure consistency and equivalent defaults.

I refactored the code to use this approach which makes a lot of sense (altho I left a GH comment regarding the ImageFunction as I'm not sure if there's a better way to do this).

One thing I’d push for us to think about is how this fits into our i18n system. [...] I wonder if we could provide helpers for getStaticPaths() that would handle that somehow?

This new update includes a makeVirtualStaticPaths() and getLocalizedSlugs() helper functions to generate dynamic localized routes for multilingual sites, supporting multiple languages and marking some routes as fallback routes. I'm not sure if this is what you had in mind but the approach allows to generate all localized routes from a plugin for monolingual and multilingual sites and marking some routes as fallback routes.
I don't think we can provide a magic helper that would handle all of this automatically while still allowing for flexibility as like you said, we’re not actually in charge of the routing and the content.
I updated the preview examples to use the new helpers (switching language in the preview examples won't 404 now, and will provide content in English and French as well as fallback English content for the other languages) and also added some documentation for it. If this is the approach we end up going with, I think the documentation should be improved but I'm not sure how to do that considering it's fairly "low-level" and also involves a lot of Astro specific concepts where I struggled to find the right balance between being too verbose and repeating some of the Astro documentation vs being too terse, not explaining enough and linking to the Astro documentation.

As a remark: I think this approach is too complex because of upstream design choices. The problem is that currently the hirarchy looks like this:
astro
  -> starlight
    -> blog

However I think would be much better if it looked like this
astro
  -> starlight
    -> docs
    -> blog

So basically starlight itself would be more of a basic website boilerplate which would only support pages with a nice header and footer which I potentially could customize with additional links, etc. Then "docs feature" would enable a route /docs with the docs and the "blog feature" would enable a route /blog with a blog functionality. I think right now a lot of complexity and fuctionality for the docs feature is bleeding into the code of the blog feature. I think docusaurus has solved these issues in a very nice way and one really should adapt their API for configuration of docs and blog. I cannot stress how much better I like their API over the API of astro at the moment. And I really think it would remove a lot of complexity removing the tight coupling of "theme / website boilerplate" (header, footer, navigation, styles) and "docs" (autogenerating sidebar navigation + some docs and i18n magic).

Thanks for the review, really appreciate it and very great comments as usual 🙌

As discussed earlier today, let’s remove the makeVirtualStaticPaths() routing helper for now to focus on the component. Once that’s shipped we can think about ways to help people with routing and i18n in particular.

This is now gone.

What do you think about centralising all the virtual page code in one place for now rather than mixing it into several modules? Basically wondering if instead of having some of our existing things extend the virtual versions (e.g. schema.ts and utils/routing.ts) we can flip that and omit the things unavailable to the virtual version? That way a single file could include the schema, types, and route data helpers and avoid leaking virtual page stuff into the default logic. Might not work as a refactor, but would be nice if it does, so all the feature code is together!

I'm fine with that, this keeps the virtual page code in one place and makes the diff way less scary as I mostly add 1 or 2 export to the mentioned files.
Type-wise, I think the approach I used before and the omit approach now used are the more practial ones, as picking instead of omitting would require to constantly making sure we pick new fields in the future. Now, VirtualPageProps is as most as possible based on PageProps.
Altho, the omit approach is not the easiest to read either and required a bit of "trickery" as we needed to remove an index signature and the final type was pretty much unreadable when hovering it so I added a small helper to "prettify" it so people hovering it from a plugin can have a better idea of what's inside.

Before
After

Because of this I do wonder whether keeping the frontmatter/other props separation would be good idea.

The frontmatter props are now in a frontmatter object, way cleaner and indeed, the documenation is now way more readable. I tried to emphasize the fact that title is required too with the new approach (not sure if the way I listed the differences is clear enough tho).

Couldn’t a virtual page theoretically provide a URL where it can be edited? e.g. if you knew a page was generated from a specific code file, you could link to that?

Excellent catch, this is now supported.

Question unrelated to the review: as we're moving towards with this solution, what do we do regarding the name? I picked "Virtual pages" as I failed to find a better name but I'm not sure at all it's the best one ^^

I did run into the frontmatter prop types being missing without astro:content types available. Definitely a small annoyance, but I think kind of inevitable (and not something users would experience directly mostly as they would have these types in their projects if they were using the component).

Yeah, we talked a bit about this one but like you said, I think we don't have a way to provide some sort of proper workaround for this. And indeed, this should only hit plugin developers and even in this case, if you use a monorepo approach similar to what we are doing, this could be mitigated.

I think we can improve error messages for malformated frontmatter using main/packages/starlight/utils/error-map.ts — but this can happen in a follow-up PR rather than adding extra work to this one, it’s just a nice quality of life add-on.

Excellent catch. Considering we still have some clean-up, renaming, doc'ing, etc. I think I would prefer to do that now as this should not be too much work and it would be a nice improvement.

I'll start working on the renaming and cleanup (and update this branch, did not even notice it has conflicts since I last worked on it) and let you know when I'm done.

Just updated the PR with the following changes:

Updated the development and starter templates version of Astro to 4.3.5

This would have been annoying to see red squiggly lines everywhere while renaming things without https://github.com/withastro/astro/pull/10022
Maybe this could be done in another PR too

VirtualPage is now StarlightPage

The only remaining references to "virtual" in the code and docs should be virtual modules.

I added better validation errors as suggested

I moved the throwValidationError() function we had for plugins to the file containing the errorMap as they are related and we often would want to use them together

I removed the virtual-pages-demo package

This is done last in a separate commit so it's easy to check it out and play with it with the renamed StarlightPage component

On the front of remaining tasks, I so far noted the following:

Docs obviously

Small note: while updating the existing docs to use StarlightPage instead of VirtualPage, I noticed that not having a specific keyword (not saying virtual was good, I'm the first one saying it's not, but something different from Starlight) may be confusing at some point. For example, if we ever say "pages generated by Starlight", a user might assume it's talking or including StarlightPage.

For sanity, I think I may want to test virtual-pages-demo (by checking out the commit removing it) when the language server is updated and contains the latest Volar fixes as seeing the red squiggly lines for the import was not reassuring even tho it should be fine.
Add a changeset

I thought the changeset may include a link to the new docs for the StarlightPage component so I figured it would be better to wait for the docs to be done and stabilized before adding the changeset

Updated the development and starter templates version of Astro to 4.3.5

Maybe this could be done in another PR too

I think it’s fine as part of this PR — it’s internal and we likely won’t need it urgently for other work I don’t think.

I added better validation errors as suggested

Looks amazing! 🤩

For sanity, I think I may want to test virtual-pages-demo (by checking out the commit removing it) when the language server is updated and contains the latest Volar fixes as seeing the red squiggly lines for the import was not reassuring even tho it should be fine.

This should be fixed and released in https://github.com/withastro/language-tools/releases/tag/astro-vscode%402.7.3 🎉

I thought the changeset may include a link to the new docs for the StarlightPage component so I figured it would be better to wait for the docs to be done and stabilized before adding the changeset

Sounds good 👍

Docs obviously

Small note: while updating the existing docs to use StarlightPage instead of VirtualPage, I noticed that not having a specific keyword (not saying virtual was good, I'm the first one saying it's not, but something different from Starlight) may be confusing at some point. For example, if we ever say "pages generated by Starlight", a user might assume it's talking or including StarlightPage.

Will look at docs now. Yes, I can see that concern — also perhaps in search results. Will keep it in mind as I review.

Took a pass at new docs for this feature:

Added a new “Pages” guide
Moved a lot of the “Add content” copy from the “Getting Started” guide to the new page as part of docs for “content pages” (not sure if that’s the best name)
Wrote a “custom pages” section which for src/pages/ routes, and moved the plugin reference docs about <StarlightPage> there
Did a pass at the prop docs standardising verb tense and tweaking a few things.

Pushed a new update following the conversation on Discord:

The slug is now inferred from Astro.url
Updated the associated doc (not sure if we should go into more details or if this what you had in mind)
Is it correct that we cannot properly stub import.meta.env.BASE_URL in our tests?

For sanity, I think I may want to test virtual-pages-demo (by checking out the commit removing it) when the language server is updated and contains the latest Volar fixes as seeing the red squiggly lines for the import was not reassuring even tho it should be fine.

This should be fixed and released in<EMAIL_ADDRESS>(release) 🎉

Took the opportunity to test this, works like a charm!

Unfortunately, yes, this is correct. (Or at least was when I last tested.)

Thanks for the confirmation, this is pretty much what I assumed altho turns out this may have changed and my understanding was based on an pretty weird behavior:

To test my vi.stubEnv('BASE_URL', '/base/');, I used a VSC snippet to insert the following code in urlToSlug()console.log('🚨 [slugs.ts:108] import.meta.env.BASE_URL:', import.meta.env.BASE_URL);

The log while running this specific test was showing me that the base was / so I assumed that the vi.stubEnv was not working.
Turns out that if you replace the log with the following code:console.log('🚨 [slugs.ts:108] SOMETHING ELSE:', import.meta.env.BASE_URL);

The log will show that import.meta.env.BASE_URL is /base/.

Super sketchy behavior so I think it's safer right now to keep this test as a test.todo and introduce base tests at a later time? Altho, the good news is that the test.todo test for the base seems to be working as expected.

Wow, now that is odd behaviour 😅 Thanks for testing though — I’ll mention this to the team as well in case there’s a simple way to unblock stubEnv support. Blu might know.


Support key based batch builder for Go Functions

Signed-off-by: xiaolong.ran<EMAIL_ADDRESS>Motivation
The changing base on #8523
Modifications
Support key_based batch builder for Go Functions

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

Could you please a unit test for this change?

In fact, in the integration test, we already test this case.
In generateCreateFunctionCommand(), we add the command as follows:
        if (batchBuilder != null) {
            commandBuilder.append("--batch-builder" + batchBuilder);
        }

And in create different language functions, we will use generateCreateFunctionCommand res to test different case.
        switch (runtime){
            case JAVA:
                command = generator.generateCreateFunctionCommand();
                break;
            case PYTHON:
            case GO:
                generator.setRuntime(runtime);
                command = generator.generateCreateFunctionCommand(functionFile);
                break;
            default:
                throw new IllegalArgumentException("Unsupported runtime : " + runtime);
        }

stderr:
Error:  Tests run: 20, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 889.319 s <<< FAILURE! - in TestSuite
Error:  testBookKeeperDown(org.apache.pulsar.tests.integration.cli.HealthCheckTest)  Time elapsed: 0.176 s  <<< FAILURE!
org.apache.pulsar.tests.integration.docker.ContainerExecException: pkill -STOP -f BookieServer failed on a7586c3276f50e9b34e60153710166022c4886da5f5b3f984e804cb8ee9cc99c with error code 1
	at org.apache.pulsar.tests.integration.utils.DockerUtils$2.onComplete(DockerUtils.java:259)
	at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec$1.onComplete(AbstrAsyncDockerCmdExec.java:51)
	at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:331)
	at java.lang.Thread.run(Thread.java:748)


Rename CfAppManager -> CFAppManager to fix a build error

This was preventing me from compiling on my machine. Perhaps an issue with the JDK versions?

Thanks, merged.


implement anyhow:error

to avoid e.into() and have just a map :)
    match client.create_device(&operation.payload.unwrap()).await {
        Ok(_) => {
            Ok(Outcome::Success(format!("Device created")))
        }
        Err(e) => Err(e.into()),
    }

you should be able to do:
Ok(client.create_device(&operation.payload.unwrap()).await.map(|_|Outcome::Success(format!("Device created")))?)

as ? automatically uses .into

Thanks for the tip !


Return the same type which was provided when transforming

Basically, instead of returning an NTuple, this returns the same type which was provided when calling t::Transformation.

The specific behaviour which I think caught me a bit off guard was that when I used to pass an array in, I would get an array out; however, this is no longer the case.  I think that was from the StaticArrays interface, which makes sense.
To me, the best way to move forward is probably to explicitly define transformations on Points in GeoMakie.

I have defined the following functions in GeoMakie:
function (transformation::Proj.Transformation)(coord::Point{N, T}) where {N, T <: Real}
    @assert 2 ≤ N ≤ 4
    return Point{N, T}(transformation(coord.data))
end

function (transformation::Proj.Transformation)(coord::Vec{N, T}) where {N, T <: Real}
    @assert 2 ≤ N ≤ 4
    return Point{N, T}(transformation(coord.data))
end

which seem to solve the issues I had previously.

Thanks! This PR still needs doc and test updates, but if this works well and is still fast I'm in favor.

The specific behaviour which I think caught me a bit off guard was that when I used to pass an array in, I would get an array out; however, this is no longer the case. I think that was from the StaticArrays interface, which makes sense.

I'd like to wrap proj_trans_array and proj_trans_generic to offer an alternative (optionally inplace) interface for transforming many points. Not sure yet how much of a performance boost that gives over broadcasting over proj_trans like we do now. Also not sure what the interface should look like.

To me, the best way to move forward is probably to explicitly define transformations on Points in GeoMakie.

To be clear, with this PR those function definitions are not needed anymore right?

oops...this PR doesn't really work yet, I will have to look some more into it.  I have a final coming up in two days but after that can definitely polish up a good system.  The main issue is that we don't know the form of the most efficient constructor for a given type - e.g., Point2 can take a tuple or just 2 args, as can any StaticArray-derived type, but regular Arrays cannot.

The main issue is that we don't know the form of the most efficient constructor for a given type - e.g., Point2 can take a tuple or just 2 args, as can any StaticArray-derived type, but regular Arrays cannot.

Ah yes I think I ran into this as well. Unless there is a general solution perhaps we should just go ahead with returning a tuple of  Float64 as in #64. It's easy enough to convert that tuple back into say a Point2f if that is what you want to continue working with. It's better to replace this:
https://github.com/JuliaPlots/GeoMakie.jl/blob/ea3e71baa108a90f924172bf59de3519380bd769/src/utils.jl#L72-L82
With just adding a convertion on the tuple that comes back. And if you own the types, you can always overload of course.

Makes sense - it will definitely cause less problems.  I can pretty easily generalize this in GeoMakie.


Rework the VM exit handlers

This patch addresses several regressions with the previous merge
as well as starts the process of our VM exit rework, which changes
the APIs that VM exit handler provide to be more flexible now that
Boxy has uncovered several shortcomings with the current API
structure.

@JaredWright thanks a ton for the review. I think I have addressed all of your comments. Huge help.

@connojd Thanks a ton as well. Also, a huge help

I'm happy with this PR, so I vote to merge it once CI finishes! @connojd?

@rianquinn I had just a couple follow up questions, but lgtm

Awesome. @rianquinn Do you want to squash these before we click merge?


Adding a Go API

Hey! I previously added jsh to this list, as you can see from the modifications, which is a good stand-alone solution for someone with an existing API. On top of it, I built an API which can also be used to perform most of the heavy lifting and is perfect for micro-services.

Very cool! Thanks @derekdowling :D


Lifetime with struct

Here's the simplest example to trigger the error:
 #[derive(Debug, thiserror::Error)]
 pub enum SessionError<'a> {
      #[error("WithDe")]
      WithDe(Deserializer),

      #[error("WithRequest")]
      WithRequest(Request<'a>),
 }

Error is: lifetime parameter 'a only used once.
Without thiserror everything is fine.
 #[derive(Debug)]
 pub enum SessionError<'a> {
      WithDe(Deserializer),
      WithRequest(Request<'a>),
 }

I was not able to reproduce any error. The file you gave only has some types missing:
error[E0412]: cannot find type `Deserializer` in this scope
 --> src/main.rs:4:12
  |
4 |     WithDe(Deserializer),
  |            ^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Request` in this scope
 --> src/main.rs:7:17
  |
7 |     WithRequest(Request<'a>),
  |                 ^^^^^^^ not found in this scope

but if I fill in some approximately correct ones then it builds.
#[derive(Debug, thiserror::Error)]
pub enum SessionError<'a> {
    #[error("WithDe")]
    WithDe(Deserializer),

    #[error("WithRequest")]
    WithRequest(Request<'a>),
}

#[derive(Debug)]
pub struct Deserializer;
#[derive(Debug)]
pub struct Request<'a>(&'a str);

I was not able to reproduce any error. The file you gave only has some types missing:
error[E0412]: cannot find type `Deserializer` in this scope
 --> src/main.rs:4:12
  |
4 |     WithDe(Deserializer),
  |            ^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Request` in this scope
 --> src/main.rs:7:17
  |
7 |     WithRequest(Request<'a>),
  |                 ^^^^^^^ not found in this scope

but if I fill in some approximately correct ones then it builds.
#[derive(Debug, thiserror::Error)]
pub enum SessionError<'a> {
    #[error("WithDe")]
    WithDe(Deserializer),

    #[error("WithRequest")]
    WithRequest(Request<'a>),
}

#[derive(Debug)]
pub struct Deserializer;
#[derive(Debug)]
pub struct Request<'a>(&'a str);


[BEAM-7287] Change JAVA_HOME to match new Jenkins agents

Please add a meaningful description for your change here

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

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Run seed job

Run Direct ValidatesRunner in Java 11

R: @yifanzou can you take a look?

@adude3141 Can you review it?

Apart from the minor nit above, this looks good to me. We should seed and do a test run before merging, though.

Run Seed Job

Run Direct ValidatesRunner in Java 11

Run Direct ValidatesRunner in Java 11

@adude3141 It seems that it works :)

Nice! Thanks for the quick fix, @mwalenia

Sorry, I jumped in late for the review. Thanks for the fix, @mwalenia .


mouse mutational signatures

Hello,
I would need a short information. Are the reference signatures assigned to mice fully generated in silico based on mouse mutational opportunities?
Cheers
Maria

Hi Maria,
I hope you are doing well, and thanks so much for your continuous interest in our tools! I think we discussed this topic in a previous email conversation a few months ago, but our reference signatures for mm9 and mm10 mouse genomes (available in the recently reformatted COSMIC Mutational Signature website here) were actually derived in silico based on the different trinucleotide/dinucleotide frequencies for the different genomes (which can be found as part of the SigProfilerMatrixGenerator here), with the GRCh37 signatures being the reference signatures.
Just in case, I would like to reiterate that there is a caveat with this approach, as it is worth noting that these are still human signatures lifted to other species. This means that some signatures related to certain biological processes exclusive from humans could actually not be meaningful for other species. More information can be found in this previous issue: https://github.com/AlexandrovLab/SigProfilerExtractor/issues/91#issuecomment-917743226.
I hope this helps, and please feel free to reach out by email or reopening this issue if you have additional questions.
Best wishes,
Marcos


Update: MichaelTippach.ASIO4ALL version 2.15

- [X] Have you signed the Contributor License Agreement?

[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.5 schema?

Resolves #136486

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Exception during executable launch operation System.AggregateException: One or more errors occurred. (An error occurred trying to start process 'C:\Users\VALIDA~1\AppData\Local\Temp\WinGet\MichaelTippach.ASIO4ALL.2.15\ASIO4ALL_2_15_English.exe' with working directory 'D:\TOOLS'. The system cannot find the file specified.)  ---> System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\Users\VALIDA~1\AppData\Local\Temp\WinGet\MichaelTippach.ASIO4ALL.2.15\ASIO4ALL_2_15_English.exe' with working directory 'D:\TOOLS'. The system cannot find the file specified.    --- End of inner exception stack trace ---    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)

(Automated response - build 661.)

@wingetbot waivers Add Validation-Executable-Error


Uncaught TypeError: Cannot read property 'apply' of undefined

Prerequisites

[x] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[x] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[x] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[x] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description
I have this simple GET request which returns 'Hello World!' upon request. When I test this with mocha and chai, I get this following error,

Uncaught TypeError: Cannot read property 'apply' of undefined
 at Immediate.<anonymous> (node_modules\express\lib\router\index.js:635:15)
 at processImmediate (internal/timers.js:463:21)

Steps to Reproduce
Fork this repo and run npm i & npm test inside the local dir of the repo.
Expected behavior: Test should run without any issue.
Actual behavior: Gives the above error.
Reproduces how often: All the time.
Versions

The output of mocha --version: 8.2.1
The output of node --version: 14.15.4
Your operating system

name and version: Windows 10
architecture (32 or 64-bit): 64bit

Your shell (e.g., bash, zsh, PowerShell, cmd): PowerShell
Your browser and version (if running browser tests): N/A
Any third-party Mocha-related modules (and their versions): N/A
Any code transpiler (e.g., TypeScript, CoffeeScript, Babel) being used (and its version): N/A

I guess throwing an error (if (err) throw err;) is not the correct way to notify Mocha about the (failing) end of the test.

I guess throwing an error (if (err) throw err;) is not the correct way to notify Mocha about the (failing) end of the test.

Happens to be the same with the line commented out,
describe("Entry point", () => {
    context("GET /", () => {
        it("should get greeting back", (done) => {
            chai.request(mainEntryPoint)
                .get("/")
                .end((err, res) => {
                    // if (err) throw err;
                    res.should.equal("Hello World!");
                    done();
                });
        });
    });
});

Uncaught TypeError: Cannot read property 'apply' of undefined
 at Immediate.<anonymous> (node_modules\express\lib\router\index.js:635:15)
 at processImmediate (internal/timers.js:463:21)

Happens to be the same with the line commented out,
describe("Entry point", () => {
    context("GET /", () => {
        it("should get greeting back", (done) => {
            chai.request(mainEntryPoint)
                .get("/")
                .end((err, res) => {
                    // if (err) throw err;
                    res.should.equal("Hello World!");
                    done();
                });
        });
    });
});

Uncaught TypeError: Cannot read property 'apply' of undefined
 at Immediate.<anonymous> (node_modules\express\lib\router\index.js:635:15)
 at processImmediate (internal/timers.js:463:21)

Now, you don't have any error handling at all. So again an uncaught exception.

Now, you don't have any error handling at all. So again an uncaught exception.

Can you please tell me how should I handle it? I have tried like this bellow, still same.
            chai.request(mainEntryPoint)
                .get("/")
                .then((res) => {
                    res.should.equal("Hello World!");
                })
                .catch((err) => {
                    throw err;
                });

Can you please tell me how should I handle it? I have tried like this bellow, still same.
            chai.request(mainEntryPoint)
                .get("/")
                .then((res) => {
                    res.should.equal("Hello World!");
                })
                .catch((err) => {
                    throw err;
                });

If your test uses a done callback, you have to call done() for a passing test or done(err) for a failing test.
The other option is to return a promise. In this case without defining a done  callback in your test.
Both ways are shown in the chai HTTP docs.
Probably there are more bugs in you app, since I can't see "Server started at port" printed anywhere.
I'm quite sure this has nothing to do with Mocha.

If your test uses a done callback, you have to call done() for a passing test or done(err) for a failing test.
The other option is to return a promise. In this case without defining a done  callback in your test.
Both ways are shown in the chai HTTP docs.
Probably there are more bugs in you app, since I can't see "Server started at port" printed anywhere.
I'm quite sure this has nothing to do with Mocha.

Well, the case should pass. So, its done(), and even if I check it for failing test (which it is not). It still doesn't work, any ways. Here's a snippet for not passing test (i removed the passing one),
describe("Entry point", () => {
    context("GET /", () => {
        it("should NOT get greeting back", (done) => {
            chai.request(mainEntryPoint)
                .get("/")
                .end((err, res) => {
                    // if (err) throw err;
                    res.should.not.be.equal("Hello");
                    done(err);
                });
        });
    });
});

And the server actually starts. Let's say if I start the server with npm run dev then try to run the test, it says port is in use. So, it starts or tries to start. I can strongly claim there is no bug in the code expect the test file.

Well, the case should pass. So, its done(), and even if I check it for failing test (which it is not). It still doesn't work, any ways. Here's a snippet for not passing test (i removed the passing one),
describe("Entry point", () => {
    context("GET /", () => {
        it("should NOT get greeting back", (done) => {
            chai.request(mainEntryPoint)
                .get("/")
                .end((err, res) => {
                    // if (err) throw err;
                    res.should.not.be.equal("Hello");
                    done(err);
                });
        });
    });
});

And the server actually starts. Let's say if I start the server with npm run dev then try to run the test, it says port is in use. So, it starts or tries to start. I can strongly claim there is no bug in the code expect the test file.

Listen @IamLizu , this is a issue tracker, not a help forum. You have to narrow down the problem yourself, I don't have time to make your app work.
I'm quite sure that your app never gets up to .end(). Try to console.log(res). If there is no res, why?
Also the error is thrown in express\lib\router.

Listen @IamLizu , this is a issue tracker, not a help forum. You have to narrow down the problem yourself, I don't have time to make your app work.
I'm quite sure that your app never gets up to .end(). Try to console.log(res). If there is no res, why?
Also the error is thrown in express\lib\router.

Alright.

Alright.

hi @IamLizu was the problem solved??


Cannot cast 'java.time.ZonedDateTime' to 'java.sql.Timestamp'

We are trying to update to the last version liquibase from 4.18.0 to 4.27.0
and we encountered this problem after the update:
How you see it in the screenshot - Cannot cast 'java.time.ZonedDateTime' to 'java.sql.Timestamp'

But when you change the type to ZonedDateTime, everything works as it should; by default, the function datetime() in neo4j returns ZonedDateTime. Any ideas?

Hello, thanks for the report.
This seems to be exactly the same as https://github.com/liquibase/liquibase-neo4j/issues/314.
The following documentation section explains how to configure the JDBC connector so that this particular conversion issue goes away.
Does that help?

Thanks, the driverClassName needs to change to liquibase.ext.neo4j.database.jdbc.Neo4jDriver.

Thank you it helped

Closing this for now, feel free to reopen the issue if you need a follow-up.


Migrate to Kafka's new java client

This pull request updates the Kafka sink to use the new Java client for Kafka. This is pretty straightforward, with the following caveats:

Although async in nature and API, some aspects of the new client are blocking.

The producer blocks on receiving cluster metadata before attempting to send.
The product can apparently block in some way when its internal buffer is full.

The new Java clients are not compatible with older server releases. Hence we use the 0.8 client instead of 0.9 for maximum server compatibility.
We now share a single producer amongst all threads, which may increase contention. (The Kafka folk believe that a single shared producer performs better than multiple producers, and it turns out that trying to use multiple producers results in exceptions as they collide try to register their JMX metrics.)
The new producer uses different property names to the old one. This means that upgrades from the old producer will need to rename some properties in their configuration.
We no longer fire-and-forget with messages to Kafka. This could result in a different performance profile.
We now LZ4-compress traffic that the producer sends to the brokers. This will increase the CPU consumption slightly, but we've noticed that often network bandwidth is at a higher premium than CPU.

Looks good to me.


Consider renaming kubevirt finalizers

What happened:
When creating a VMI we see this warning
2024-07-11T15:56:52+03:00	INFO	KubeAPIWarningLogger	metadata.finalizers: "foregroundDeleteVirtualMachine": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers

What you expected to happen:
We should do as the warning says, and rename the finalizer.
i.e kubevirt.io/foregroundDeleteVirtualMachine
How to reproduce it (as minimally and precisely as possible):
Create a VMI, and check logs.
During standalone VMI creation, it will be shown directly as part of kubectl command output.
Additional context:
Found at at least this two finalizers that should be renamed.
pkg/virt-operator/util/client.go:	KubeVirtFinalizer string = "foregroundDeleteKubeVirt"
staging/src/kubevirt.io/api/core/v1/types.go:	VirtualMachineInstanceFinalizer string = "foregroundDeleteVirtualMachine"

Need to create backward compatible code, that can remove those finalizers from old running machines.
Environment:

KubeVirt version (use virtctl version): N/A
Kubernetes version (use kubectl version): N/A
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: N/A
Others: N/A

When addressing this issue, please remember to consider the upgrade path. VMs created with the old finalizer name should shut down properly after kubevirt upgrade, at least for a while.


Updated travis to publish snapshots to maven on merge to master

Verified that @brianytang has signed the CLA. Thanks for the pull request!

+1


[Top-down movement animator] Change the animation according to the movement direction

Demo

https://github.com/GDevelopApp/GDevelop-examples/pull/485
https://github.com/GDevelopApp/GDevelop-examples/pull/483
https://github.com/GDevelopApp/GDevelop-examples/pull/484

Looking at this, I wonder:
- What is the top-down movement selector? (I don't know if we can hide it since I think there is no use in changing it for the user)
- Comparing to the platformer character animator:

I understand why you did it like that (easier with numbers I guess) but it seems a bit obscure from a non-programmer point of view I would say. Do you think it could be possible to have a similar interface as the platformer one?

Looking at this, I wonder: - What is the top-down movement selector? (I don't know if we can hide it since I think there is no use in changing it for the user) - Comparing to the platformer character animator:

It's a required behavior. It allows users to understand why this extension was added automatically and why they can't remove it while keeping this behavior.

I understand why you did it like that (easier with numbers I guess) but it seems a bit obscure from a non-programmer point of view I would say. Do you think it could be possible to have a similar interface as the platformer one?

It's not possible because 8 is not a hard limit. Analog sticks allow any direction so games could need 64 animations.
There is the same issue with path finding where more that 8 directions is the canonical case and I think it's best to have the same interface for both.
It's not easy to understand by just reading the description but looking at an example or a tutorial make it obvious.

In the case of this extension the movement angle is used which is kind of the same as using the acceleration vector. Characters rotate as soon as a key is pressed even if there inertial make them move in the opposite direction.
For other movements with indirect player control, the speed can be used. We could probably do a generic extension that is based on the change of position. It would make teleportation less intuitive though so it may not be a good idea. But, in another hand there is a lot of movement behaviors so a generic behavior could be interesting.
An animator behavior can be useful with:

Pathfinding
Forces
Phisics2
Predetermined paths

Curved movement
Ellipse movement
Rectangular movement
Boids
...

I'm merging it in the community list as it's a question that comes back from time to time.


WIP

Codecov Report

Merging #11727 (90d16f4) into main (0b2b7cd) will decrease coverage by 0%.
The diff coverage is 85%.

@@           Coverage Diff           @@
##            main   #11727    +/-   ##
=======================================
- Coverage     59%      59%    -1%
=======================================
  Files        483      487     +4
  Lines      34473    34625   +152
  Branches    5608     5622    +14
=======================================
+ Hits       20669    20702    +33
- Misses     11849    11972   +123
+ Partials    1955     1951     -4

Impacted Files
Coverage Δ

...ve-window/debugger/jupyter/debugCellControllers.ts
23% <0%> (ø)

...active-window/debugger/jupyter/debuggingManager.ts
30% <0%> (ø)

src/kernels/types.ts
100% <ø> (ø)

src/notebooks/debugger/debugCellControllers.ts
26% <0%> (ø)

src/notebooks/debugger/debuggingManager.ts
20% <0%> (ø)

src/notebooks/debugger/kernelDebugAdapterBase.ts
6% <0%> (ø)

src/notebooks/debugger/runByLineController.ts
13% <0%> (ø)

src/notebooks/debugger/debuggingManagerBase.ts
35% <33%> (-1%)
:arrow_down:

src/notebooks/debugger/helper.ts
18% <50%> (ø)

...ebooks/controllers/notebookIPyWidgetCoordinator.ts
83% <66%> (-2%)
:arrow_down:

... and 63 more


add visual for nested create

Any idea why the link check is failing here @jharrell? I don't think I touched the content/600-about/20-style-guide/01-writing-style.mdx file that's mentioned here 🤔

@nikolasburk first issue was a flaky issue. Now it looks like github docs is down: https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments
I'm ok continuing with merge.


Added FreshdeskTicketResource API class, tests.

This change is

Coverage increased (+0.5%) to 55.272% when pulling 99ec8e37f815c585b7dbe37072456d79b06a9223 on ropable:master into cd25b4e28f68d6a16b502f2913d00144c12a179c on parksandwildlife:master.


multiple daterange picker on the same page has conflicting onChange

When having 2 datepickers on the page, picking the 'to' date from the second datepicker will update the date of the first datepicker.
Any idea ?

Could you provide an example?  I checked but there wasn't any issue.
Are you sure that used different useState for each date-picker?


Change endpoint in meshconfig(platform: Docker)

Description
This PR changes the endpoint in the meshconfig when platform: Docker to reflect the port specified by the user(PORT) in meshconfig's endpoint. Changes the endpoint to http://localhost:PORT
Abstracts this into a function in platform.go to change based on the platform.
Screenshots

Before start:

After start:

Signed commits

[x] Yes, I signed my commits.

Yes, that's how it was earlier as well(for docker).
On Sun, 16 May 2021, 22:55 Navendu Pottekkat, @.***>
wrote:

@.**** commented on this pull request.
Does this mean that a user can only configure the port to which Meshery is
deployed to?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/layer5io/meshery/pull/2951#pullrequestreview-660451553,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALV2I525OKXO2T47WAXMPR3TN752DANCNFSM446ULU5A
.

@leecalcote could you review this pls?
Thanks!

Yes, I'm having a look now... Docker as a platform is a special case as we think of it today. If we hardcode localhost, we're assuming that all Docker-based deployments are to be done locally, which for now, is ok, and time will tell if any user ever has the need for remote administration of a Docker-based, Meshery deployment.

While our use case for Docker-based deployments is local-only, I think we want to avoid rewriting the hostname/IP address in the endpoint URL. As a user, I know that such an update would come as a surprise to me. If we really consider that the endpoint the user has listed should be updated, what do you think of prompting the user to confirm the change? Doing so hopefully has two positive effects:

Meshery gets to show off how intelligent it is to the user.
The user appreciates Meshery's intelligence and remains comfortable in the thought they are in control; that Meshery is there to help them, offering helpful suggestions. Trust is built with the user.

@leecalcote yes, that's a good point with regard to the user experience.
To that end, how about using the -y flag and asking for a confirmation before changing the endpoint to localhost? That way, a user has a choice to deny the change.

@leecalcote yes, that's a good point with regard to the user experience.
To that end, how about using the -y flag and asking for a confirmation before changing the endpoint to localhost? That way, a user has a choice to deny the change and this can be automated too, if required. It will also ensure a uniform UX across commands if we use the same flag.

This sounds spot on. 👍

Just a couple failing lint checks to be addressed here...

yes I didn't realise this, ill fix this one.

Just a couple failing lint checks to be addressed here...

@leecalcote I had run golangci-lint locally and it did not throw up any lint errors.
I remember the lint check failed because some package was missing...

Just a couple failing lint checks to be addressed here...

@leecalcote the lint checks passed for my commits till yesterday...

No sweat, @metonymic-smokey. They were a very simple gofmt -s  check. This note was in part for Abishek to consider as the PR is/was merged.


The wordpress's page feature to transformer-remark.

Summary
The wordpress's page feature.
Basic example
Add the isPage option to transformer-remark.
and If isPage is true, disable allBlogPost so that it can not be retrieved, and blogPost should be able to obtain it.
Motivation
Because source-wordpress has this feature but transformer-remark does not.

I created page directory and separate the transformer-remark and solved.


Make all struct fields embedded or defined inline inline

Codecov Report

Merging #84 into master will increase coverage by 0.09%.

@@            Coverage Diff             @@
##           master      #84      +/-   ##
==========================================
+ Coverage   77.77%   77.87%   +0.09%
==========================================
  Files          15       15
  Lines        2227     2237      +10
==========================================
+ Hits         1732     1742      +10
  Misses        331      331
  Partials      164      164

Impacted Files
Coverage Δ

generator/types.go
85.01% <100%> (ø)
:white_check_mark:

generator/processor.go
90.58% <100%> (+0.38%)
:white_check_mark:

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 6103af1...2fb3ffd. Read the comment docs.

@dpordomingo yes, this case has to be removed

Now it can be reviewed again @Serabe @dpordomingo


RUM-4369: Support additional properties in Telemetry Error events

What does this PR do?
This PR adds support for the additionalProperties for the TelemetryErrorEvent. They are already supported in TelemetryDebugEvent, but were missing for the errors.
Code is updated to propagate these additional properties to the telemetry.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report
Attention: Patch coverage is 59.37500% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 83.21%. Comparing base (3d0a4d2) to head (9b200e9).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2025      +/-   ##
===========================================
- Coverage    83.31%   83.21%   -0.10%
===========================================
  Files          485      486       +1
  Lines        17671    17680       +9
  Branches      2685     2687       +2
===========================================
- Hits         14722    14712      -10
- Misses        2213     2232      +19
  Partials       736      736

Files
Coverage Δ

...lin/com/datadog/android/rum/internal/RumFeature.kt
93.90% <100.00%> (+1.24%)
:arrow_up:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
86.71% <100.00%> (+0.95%)
:arrow_up:

...tlin/com/datadog/android/core/SdkInternalLogger.kt
90.11% <87.50%> (-2.11%)
:arrow_down:

...android/rum/internal/monitor/AdvancedRumMonitor.kt
66.67% <66.67%> (ø)

...ndroid/telemetry/internal/TelemetryEventHandler.kt
79.59% <50.00%> (+1.47%)
:arrow_up:

...om/datadog/android/telemetry/internal/Telemetry.kt
11.11% <0.00%> (-1.39%)
:arrow_down:

... and 25 files with indirect coverage changes


scaleQuantize doesn't work as expected with reversed domain

Using https://d3js.org/d3.v4.min.js:
fwd = d3.scaleQuantize().domain([0,1]).range([0,1,2])
bwd = d3.scaleQuantize().domain([1,0]).range([0,1,2])
pts = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
pts.map(fwd)
=> [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2]
pts.map(bwd)
=> [0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2]

Other d3 scales with continuous domain seem to happily support the first endpoint greater than the second (super handy for swapping axes around etc), but scaleQuantize didn't do what I expected.

Correct—the code currently assumes that the domain is in ascending order, and the behavior is undefined if it’s not. (It uses d3.bisect internally.)
There are other scales that require ascending domains, namely d3.scaleThreshold. (d3.scaleQuantile internally computes a sorted array of quantile thresholds from an unsorted domain, so it’s likewise not possible to have a “descending” quantile scale.)
That said it seems reasonable here to support a descending quantize scale. However, I’m not sure what quantize.invertExtent should return in this case. Should it return [x0, x1] where x0 < x1 for a descending domain, or x0 > x1? My intuition is the latter, so that the order of the array returned by invertExtent is consistent with the domain. But I’m not entirely sure.


only can send to store chats

It can send only to store chats, how can i send a message if i do not have the chat open, in js file there are this line
var Chats = Store.Chat.models;
It take only chats that are open

I'm not aware of how the store is populated. If it's populated by opening the chat. Then I'll have to make a check and then manually trigger loading the chats. I'll test this.

there store are populated from the active chats in the left side, i discover that if you enter to the contact you are able to send the message, the solution is add to the js code the posibility to enter automatically to the contact ,i was trying to do this but i can´t

Was this fixed?

No, I'll try to fix this today.

Was this fixed?

I hope to resolve this issue soon

Was this fixed?

same thing here. I'm trying to solve it as well. If anyone got success with this issue, please, share with us.

I was "debugging" whatsapp web objects in console and I realized that all of the contacts are located in Store.Contact.models variable. Now, I'm trying to add some contact to Store.Chat.models which holds sendMessage method. Is there any method to add contact to chat models?

Hi guys, I think this problem is solved in my pull request. Check it out :)


Make function definitions non-recursive (unless defined with rec let)

cc https://github.com/gluon-lang/gluon/pull/686#discussion_r256141657

If not, it would be helpful to improve the error message.


Move popobs cache unzip from server to client

The raw popobs cache for geoId/06 is 9.7Mb, which is not bad. Unzip it on flask server is very slow and leads to timeout.
This way reduces the memcache object size, also user can leverage the browser cache which also use a smaller object.
Tested this on local instance, California page loads in about 15s, compared with timeout after 40s.

Do we know of any other users of that API?

Do we know of any other users of that API?

Do we know of any other users of that API?

nope, this is the only one

Do we know of any other users of that API?

nope, this is the only one


Provide dependacy check for Jekyll instaltion

If the proper dependencies are not met Jekyll installation could waste a lot of time. So include list of dependencies. Sabry will do this for Ubuntu  17.04

sudo apt-get install jekyll did not work?

It did not install all dependences. Casing errors like "Gem::Ext::BuildError...failed native extensions" ....an error occurred while installing,,,.
I will keep the procedure in my private repo so can be integrated later if needed. I have removed the branch to keep things clean.

But will you share your docs? Please do. There is no doubt that these are useful for others. The only doubt was whether this is the right place. Please share them.

Of course, I am not a Ruby person and notes were to start from nothing. My principle is one should not need to know Python to learn Git, and does not need to know Jetty to contribute to the course materiel.
I will find a suitable place (not a priority at the moment though) , but now I am more focused on the course materiel  it self.

I agree but reiterate: your doc is useful, please share it.


exaile: add python3 to PATH

Description of changes
Resolves #169031.
If Python 3 is not available on the system PATH, exaile will not launch successfully. Adding python3 while wrapping fixes this problem.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 169494 run on x86_64-linux 1

1 package built:

exaile

/results/exaile/bin/exaile
INFO    : Loading Exaile devel...
INFO    : Using Python 3.9.12
INFO    : Using PyGObject 3.42.0
INFO    : Loading settings...
INFO    : Using Locale en_US UTF-8
INFO    : Using Mutagen 1.45.1
INFO    : Using GStreamer 1.20.1
INFO    : Reconfiguring crossfading
INFO    : Crossfade: disabled
INFO    : Using GTK+ 3.24.33
INFO    : Using GTK+ theme Adwaita
WARNING : Icon "starred" not found
ERROR   : Unhandled exception
Traceback (most recent call last):
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xl/main.py", line 561, in __init__
    self.__init()
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xl/main.py", line 629, in __init
    from xlgui.widgets.info import Splash
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/widgets/info.py", line 36, in <module>
    from xlgui.widgets import playlist
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/widgets/playlist.py", line 41, in <module>
    from xlgui.widgets.common import AutoScrollTreeView
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/widgets/common.py", line 42, in <module>
    from xlgui import icons
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/icons.py", line 760, in <module>
    MANAGER = IconManager()
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/icons.py", line 536, in __init__
    self.rating_active_pixbuf = ExtendedPixbuf(
  File "/nix/store/87vyfan5qchph46zyp3i629zxmg293gq-exaile-4.1.1/lib/exaile/xlgui/icons.py", line 62, in __init__
    pixbuf.get_colorspace(),
AttributeError: 'NoneType' object has no attribute 'get_colorspace'

Hmm, I can't reproduce that error. I wonder if there are some under-specified system requirements for the icon theme to work.
The number of wrappers I don't find surprising. One is the executable produced by exaile's Makefile, one is the wrapper in the postInstall hook to set the PATH and PYTHONPATH, and another is added by the wrapGAppsHook.

I'm running KDE Plasma, so that may be the cause. If it works for you and the submitter then at least that should be an improvement, I'd say.

Hm, I'm on a different and significantly more stripped down machine than I was originally and I'm facing the same problem, so there are definitely more deps needed here.

@ofborg eval


rename celery.py

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Renamed the cellery.py file and related references

Why was this change needed? (You can also link to an open issue here)
I encountered an error when starting the project，most likely due to a circular import

Other information:

for fix：#992

Hi @xucailiang
Thank you for your commit, can we fix tests for it so we can merge.

Hi @xucailiang Thank you for your commit, can we fix tests for it so we can merge.

yes, i think you can merge after the authorization is completed。

Hi @xucailiang Thank you for your commit, can we fix tests for it so we can merge.

I realized that there was a missing change in the test_cellery.py file that caused the execution of the testing task to fail. I have fixed it and submitted it. I apologize for my carelessness

Thank you so much @xucailiang
Happy to have you!


refactor(payment): INT-1866 Update Visa Checkout to Visa SRC

What? INT-1866

Replace the Visa Checkout text with Click to pay.
Show the logo and name aside.

Why?
As part of the transition to Visa SRC.
Testing / Proof
Before:

Now:

Sibling PR
👉 https://github.com/bigcommerce/bigcommerce/pull/44010
@bigcommerce/apex-integrations @bigcommerce/checkout

I know this is the requirement in the ticket but it seems a bit weird to me. Visa's examples [consumer, merchant] make a lot more sense to me. Unless there's a lot of brand awareness of the term "Click to Pay" (across different countries), I'd say sentences like "Doorgaan met Click to pay" seem like an unusual experience for shoppers. I imagine Visa's desires are to just replace the "VISA Checkout" logo with the squiggly line, like here:

No blocker if we're sure this is the desired new look. cc @knowakowski @bc-erich

I know this is the requirement in the ticket but it seems a bit weird to me. Visa's examples [consumer, merchant] make a lot more sense to me. Unless there's a lot of brand awareness of the term "Click to Pay" (across different countries), I'd say sentences like "Doorgaan met Click to pay" seem like an unusual experience for shoppers. I imagine Visa's desires are to just replace the "VISA Checkout" logo with the squiggly line, like here:

No blocker if we're sure this is the desired new look. cc @knowakowski @bc-erich

@TomA-R That button is what shows on the cart, quick cart and Customer section of checkout.
However, for the Payment section, Visa has a different requirement which is #1 boxed in red here:

the problem is that when we implemented that, it made the alignment look off:

So, we decided to go with #2 here instead:

:green_heart: tested
QA Details: Logo showing as expected on checkout page


"USBD_CDC_EP0_RxReady" not working at all

stm32_mw_usb_device/Class/CDC_ACM/Src/usbd_cdc_acm.c:
I think the following lines should be removed:
if (hcdc == NULL)
{
return (uint8_t)USBD_FAIL;
}

yes, it should be after hcdc = &CDC_ACM_Class_Data[i];
line 1979

I think there is no need to check (hcdc == NULL) since it will never be NULL.

In this case all instances are statically allocated. But ST uses malloc and set the pointer to NULL in deinit.
It is sanity check if we also use malloc.


fix(style): remove sidebar item extra padding and gap

remove the pt-1 from the div itself
apply the pt-1 when the div container is open
remove the gap-1 from the li item as we set it in the ul already

Before:

After:


Add warning about incorrect aspect ratio of container

TODO:

How to disable warnings from production build?
Is this really needed?

This is useful for development. Merging it for now, the warning should be fixed before production deployment anyway so let it be always in the code.


added benchmark for serializers

this should be the baseline for optimizing the serializer.
goal should be to optimize perf and reduce allocations per message

this are the baseline results

Method
Mean
Error
StdDev
Gen 0
Allocated

Serialize_10000_Messages
3.401 ms
0.0663 ms
0.0737 ms
835.9375
3.36 MB

Deserialize_10000_Messages
8.870 ms
0.2068 ms
0.2124 ms
2828.1250
11.33 MB


cmake: do not add -std=c++11 to opts_cxx

Nevermind, this is unlikely to be correct. @epmikida, can you post the command line and output of :

a charmc -verbose command that fails (with the new build system)
a charmc -verbose command that succeeds (with the old build system)

Nevermind, this is unlikely to be correct. @epmikida, can you post the command line and output of:

a charmc -verbose command that fails (with the new build system)
a charmc -verbose command that succeeds (with the old build system)

Updated https://github.com/UIUC-PPL/charm/issues/2839 with the output you were looking for. In summary, the -no-use-new-std and -use-new-std don't seem to have any effect, and the ./buildold never causes charmc to add -std=c++11, where as ./build always adds it. Trying out this change now.

This patch does seem to fix the issue I was seeing.
./build charm++ mpi-linux-x86_64 --build-shared -j8 no longer causes charmc to add -std=c++11. The output from -verbose:
charmc -c hello.C -verbose
Verbose mode set
OpenMP support not enabled
charmc> ----------- Module dependency search complete ------------
charmc> All libraries are: -L../../../bin/../lib -lckmain -lck -lmemory-default -lthreads-default -lconv-machine -lconv-core -ltmgr -lconv-util -lconv-partition -lhwloc_embedded -lm -lmemory-default -lthreads-default -lldb-rand -lconv-ldb -lckqt -lz -ldl -lmoduleNDMeshStreamer -lmodulecompletion -lz -lm ../../../bin/../lib/conv-static.o
Compiling hello.C
charmc: Executing rm -f hello.o hello.f.o
charmc: Executing mpicxx -fPIC -DCMK_GFORTRAN -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -I../../../bin/../include -D__CHARMC__=1 -U_FORTIFY_SOURCE -fno-stack-protector -fno-lifetime-dse -c hello.C -o hello.o
charmc> No target object-- finished
rm -f moduleinit18119.C moduleinit18119.o

Closing this, as the workaround in #2839 seems to have worked.


Same hole may have different fillings depending on context

The program below:
id<A:Type>(x:A): A
  x

T Bool
| true;
| false;

T The(A: Type) ~ (x: A)
| new(x: A) ~ (x);

foo: Bool
  id<Bool>(?a)

bar: The(Bool, Bool.true)
  The.new<Bool>(foo)

Type-checks, but the generated .fmc files don't. The reason is that ?a is filled as Bool.false when foo is type-checked. Then, when type-checking bar, that information is lost and it is filled as Bool.true. The generated foo.fmc gets ?a = Bool.false, causing bar not to type-check.
This can be solved by reusing past hole fillings when type-checking separate definitions.

Fixed on https://github.com/moonad/Formality/commit/9632c2de326d938b9a12e5787f8f68dae5dcc9f4!


pull request for e2e test at 01/29/2017 09:56:11

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Options menu at installation

Hello there,
I just found the options menu. First I tried to search them by typing "Hash" into the Windows 10 search bar, but no results. Then I checked the "Apps & features" in Windows 10. HashCheck was listed as a program, but "Modify" was greyed out (disabled).
Maybe you can show the options together with the installation? (I am looking for MD5)
Maybe the options menu can be made accessible via the Apps & features "Manage" button?

Hi @PhoenixIV,
just right click on a file, select the Properties item at the bottom and then the Checksums pane: at your bottom right corner you'll find the Options button.
HTH,
Matteo

Hi Matteo (@scara),
thanks. I found the options after reading the issue thread I linked. This is only to make them more accessible and give users the chance to activate MD5 right from the beginning.
If it wasn't clear: I did find the menu, but had troubles (I was a little blind).
Tobias

My apologies for having quickly read your message at the time of my first reply 😄 .

Thanks for your help, though! 😊


Automated cherry pick of #273: fix: running guest count incorrect if containers running on

Cherry pick of #273 on release/2.8.0.
#273: fix: running guest count incorrect if containers running on

/lgtm
/approve