Example uses a REPLICATE distribution with CCI which can set wrong precedent for best practices

As per article - https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/cheat-sheet#distributed-or-replicated-tables, A clustered columnstore index should not be built on a table with REPLICATE distribution. However, the example used in current article under section - https://docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/design-guidance-for-replicated-tables#convert-existing-round-robin-tables-to-replicated-tables violates the same best practice.
Can you please confirm if it is fine to build CCI on replicate distribution tables?

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

ID: 51d332d1-7b6a-bdcc-f50a-d796c3c6e7c5
Version Independent ID: ec158270-0be7-4353-61f1-f1c122ac48c9
Content: Design guidance for replicated tables - Azure Synapse Analytics
Content Source: articles/synapse-analytics/sql-data-warehouse/design-guidance-for-replicated-tables.md
Service: synapse-analytics
Sub-service: sql-dw
GitHub Login: @XiaoyuMSFT
Microsoft Alias: xiaoyul

@mkumar1212
Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

@mkumar1212 I've put in a PR to change the code sample to use HEAP as is consistent with the rest of the documentation. It will go live once the doc author has reviewed and approved the change. I'm going to close this issue.


Class 'Modules\Sprokets\Providers\SproketsServiceProvider' not found

I'm trying to install a module through Packagist.
https://packagist.org/packages/invoiceninja/sprockets
When installing using php artisan module:install invoiceninja/sprockets I see the following:
[Nwidart\Modules\Exceptions\ModuleNotFoundException]
Module [Sprockets] does not exist!

By changing the command to php artisan module:install invoiceninja/sprockets --type=github the module installs but I still see an error:
Cloning into '/Users/hillel/Dropbox/MacBook/ninja/Modules/Sprockets'...
Already on 'master'
Your branch is up-to-date with 'origin/master'.

[Nwidart\Modules\Exceptions\ModuleNotFoundException]
Module [Sprockets] does not exist!

From this point forward all requests result in the following error:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'Modules\Sprokets\Providers\SproketsServiceProvider' not found

'Modules' was added to the composer.json file. I've tried running composer dump-autoload and php artisan optimize but no luck. Any tips how on how to track this down would be very much appreciated.

I've also tried composer dump

Hello,
Might be something related to case sensitivity. Have you checked modules and Modules?

Thanks for your quick reply!
This was caused by a typo in the module\class name.

Ah cool ok. 👍

i have the same problem

same issue here, name's are correct


Updating results around using unscaled y and changing funcitons accor…

…dingly.

merged branch, scaled y should now be fixed and estimates should not be biased lower.


Add Codemotion presentation link

Add link to Codemotion Milan presentation.

Coverage remained the same at 80.756% when pulling fd3131d5f364d7ef22d81cd43db0d6e435e070bd on update-readme-codemotion into 72cd5ea292d0642ef898fcde6a4826513d9d7c99 on master.

👍


Doesn't support MacOS

Environment
Flutter version - Channel stable, 3.16.2
Plugin version  - flutter_inappwebview: ^6.0.0-beta.30
macOS version - 14.1.1
Device information: MacBook Pro 14-inch 2023
Description
Expected behavior:
As it's mentioned that the package works on macOS, it should run without any problem.
Current behavior:
The package is not running in macOS
"createPlatformInAppWebViewWidget is not implemented on the current platform."
Images

MacOS is supported, but not the InAppWebView widget. You can use for example InAppBrowser and CookieManager.
You should check the official API reference to see the main class that are supported by the various platforms.

Ah okay thanks for the info. I will check that out (y)


Request for Including Registry Component in arm-machinelearning

Package Name: arm-machinelearning
Package Version: 2.2.0
Operating system: MacOS Sonoma 14.5
[ ] nodejs

version: 18.19.0

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://learn.microsoft.com

Describe the bug
In the current arm-machinelearning version 2.2.0, the registry component is missing. As a result, it is not possible to implement SDKs related to the Registry.(for example: https://learn.microsoft.com/en-us/rest/api/azureml/registries/list-by-subscription?view=rest-azureml-2024-04-01&tabs=HTTP#code-try-0)
To Reproduce
Steps to reproduce the behavior:
1.
Expected behavior
The arm-machinelearning package should include the registry component to facilitate the implementation of Registry-related SDKs.
Screenshots
Additional context
I noticed that the package mentioned in this issue comment includes the registry component.

will check

we need to wait for service team to request a new sdk for that version

Thanks for the reply.
Could you please provide us with an ETA for the resolution of the issue? Additionally, is there any known workaround that we could use in the meantime? 🙇♀

there's a release request https://github.com/Azure/sdk-release-request/issues/5422 here

new package released here<EMAIL_ADDRESS>


Folder Structure

Description
Folder structure and empty files as place holders to write to after we check that this is what we need.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as
expected)
[x] Documentation (update or new)

Great idea !


Add mixer-adapter.yaml file path

Purpose

Deploy mixer adapter when observability is turned on

Goals

Add mixer-adapter.yaml file path

Codecov Report

Merging #663 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #663   +/-   ##
=======================================
  Coverage   66.82%   66.82%
=======================================
  Files          36       36
  Lines        1248     1248
  Branches      108      108
=======================================
  Hits          834      834
  Misses        375      375
  Partials       39       39

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 c18dc29...1834ca7. Read the comment docs.


Feature azure data explorer

This PR fixes #

So after talking to @gupta1 about this I recommended that they abandon this branch and remake a new one with only the relevant changes.
A squash and merge caused this weird history syncing issue to come up, and it's pretty hard to verify that the changes are actually 0-diff from what main is.

Coverage decreased (-0.03%) to 37.51% when pulling 913bdad47f3efae6aea9011d20da446a7f8d1165 on feature-AzureDataExplorer into c7799168b0be6bd4d6f699763887632b6a410f9b on main.


clean generatemindocs problem/solution

Fixed spelling of 'InnerSource` and improved readability through a couple of changes.

LGTM  👍  merging...Thx @rodmachen !


Fix resetting color and variable scope

Fixes #14
Fixes #15
I tried a few things to reset the color after cancelling the progress. This seems to be the least obtrusive and avoids adding variables like originalColor etc. I think it fits the temporary nature of the color change.

Now that I think about it. This setup could pose a problem when a few is left cancelled and should remain in this state through window resizes etc...

I've switched to using originalColor. This isn't as minimalistic, but should be more rigid.

I've switched to using originalColor. This isn't as minimalistic, but should be more rigid.

👍 This looks good.


EGL_NOT_INITIALIZED issue

Hi,
I'm testing the wekbit on rockchip px30 with yocto kirkstone.
When launching cog, it returns an EGL_NOT_INITIALIZED error:
root@rockchip-px30-evb:~# cog --platform=fdo www.google.com
Rga built version:274b345f976a

(cog:529): Cog-Core-WARNING **: 09:24:35.947: Platform module name 'fdo' is deprecated, please use 'wl' instead.
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.

(cog:529): GLib-GIO-WARNING **: 09:24:36.030: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
Rga built version:274b345f976a
Rga built version:274b345f976a
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.
EGLDisplay Initialization failed: EGL_NOT_INITIALIZED
Cannot create EGL context: invalid display (last error: EGL_SUCCESS)
Cog-Core-Message: 09:24:36.487: <http://www.google.com/> Load started.
Cog-Core-Message: 09:24:36.502: <https://www.google.com/> Redirected.
Cog-Core-Message: 09:24:36.784: <https://www.google.com/> Loading...
Cog-Core-Message: 09:24:38.639: <https://www.google.com/> Loaded successfully.

The system variables are:
export COG_PLATFORM_FDO_VIEW_FULLSCREEN="1"
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
export EDITOR="vi"
export HOME="/home/root"
export HUSHLOGIN="FALSE"
export LANG="C"
export LOGNAME="root"
export MAIL="/var/spool/mail/root"
export MOTD_SHOWN="pam"
export OLDPWD
export OPIEDIR
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
export PS1="\\u@\\h:\\w\\\$ "
export PWD="/home/root"
export QPEDIR
export QTDIR
export SHELL="/bin/sh"
export SHLVL="1"
export SYSTEMD_PAGER=""
export TERM="linux"
export USER="root"
export XDG_RUNTIME_DIR="/run/user/1000/"
export XDG_SESSION_CLASS="user"
export XDG_SESSION_ID="c2"
export XDG_SESSION_TYPE="tty"

The local.conf variables are:
MACHINE = "rockchip-px30-evb"

DISTRO_FEATURES:remove += " x11"

IMAGE_INSTALL:append = " wpewebkit cog "
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
PREFERRED_PROVIDER_virtual/libwpe = "wpebackend"

PARALLEL_MAKE = "-j 8"
DISTRO_FEATURES:append = " gles2 opengl wayland "

My linux version is:
Linux rockchip-px30-evb 5.10.110-rockchip-standard #1 SMP Mon Jun 5 14:26:06 UTC 2023 aarch64 GNU/Linux

What it's wrong ?

I'm Sorry ,  I forget the cog and webkit versions:
root@rockchip-px30-evb:~# cog --version
Rga built version:274b345f976a
0.16.1 (WPE WebKit 2.38.2)

Are you running this in a wayland compositor?

Yes , cog is running on wayland composerInviato dal mio Galaxy
-------- Messaggio originale --------Da: Philippe Normand @.> Data: 19/06/23  16:48  (GMT+01:00) A: Igalia/meta-webkit @.> Cc: MATTEO LISI @.>, Author @.> Oggetto: Re: [Igalia/meta-webkit] EGL_NOT_INITIALIZED issue (Issue #476)
Are you running this in a wayland compositor?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I don't see a WAYLAND_DISPLAY  variable in the list of environment variables you posted above. Defining this one is key to be able to connect to the compositor.

Hi,
I set the WAYLAND_DISPLAY as:
export WAYLAND_DISPLAY=wayland-0
but cog still give me the same error
many thanks

Export the env var G_MESSAGES_DEBUG=all and run Cog again. Paste here the output

Hi
I lauched the application with commands
export XDG_RUNTIME_DIR=/run/user/1000/
export COG_PLATFORM_FDO_VIEW_FULLSCREEN=1
export WAYLAND_DISPLAY=wayland-0
cog --platform=fdo www.google.com  >file.txt 2>&1

And this is the log:
Rga built version:274b345f976a
(process:567): Cog-Core-DEBUG: 15:56:00.038: ensure_extension_points: Extension points registered.
(process:567): Cog-Core-DEBUG: 15:56:00.039: cog_modules_add_directory: Scanning '/usr/lib/cog/modules'
Cog-INFO: 15:56:00.062: com.igalia.Cog.Platform:
Cog-INFO: 15:56:00.063:   wl - 500/CogWlPlatform
Cog-INFO: 15:56:00.063:   drm - 200/CogDrmPlatform
Cog-INFO: 15:56:00.063:   headless - 100/CogHeadlessPlatform
(cog:567): GLib-GIO-DEBUG: 15:56:00.076: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
(cog:567): Cog-DEBUG: 15:56:00.093: platform_setup: Platform name: fdo

(cog:567): Cog-Core-WARNING **: 15:56:00.094: Platform module name 'fdo' is deprecated, please use 'wl' instead.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.101: Initializing Wayland...
(cog:567): Cog-Wayland-DEBUG: 15:56:00.102: Using 'wl_compositor' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Using 'wl_subcompositor' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'wp_viewporter' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'zxdg_output_manager_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Using 'wp_presentation' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'zwp_relative_pointer_manager_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'zwp_pointer_constraints_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'zwp_input_timestamps_manager_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Ignoring 'wl_data_device_manager' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.103: Using 'wl_shm' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'mali_buffer_sharing' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Using 'wl_seat' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'zwp_linux_dmabuf_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'weston_direct_display_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'weston_content_protection' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Using 'wl_output' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'zwp_input_panel_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'zwp_input_method_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Using 'zwp_text_input_manager_v1' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Using 'xdg_wm_base' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.104: Ignoring 'weston_desktop_shell' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.105: Ignoring 'weston_screenshooter' interface obtained from the Wayland registry.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.105: Initializing EGL...
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.
Cog-Wayland-INFO: 15:56:00.131: EGL version 1.4 initialized.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.131: Creating Wayland surface...
(cog:567): Cog-Core-DEBUG: 15:56:00.157: gamepad setup: none
(cog:567): Cog-DEBUG: 15:56:00.157: platform_setup: Selected CogWlPlatform @ 0x55aaa16260

(cog:567): GLib-GIO-WARNING **: 15:56:00.169: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.169: Enumerating seat capabilities:
(cog:567): Cog-Wayland-DEBUG: 15:56:00.169:   - Keyboard
(cog:567): Cog-Wayland-DEBUG: 15:56:00.170:   - Touch
(cog:567): Cog-Wayland-DEBUG: 15:56:00.170: Done enumerating seat capabilities.
(cog:567): Cog-Wayland-DEBUG: 15:56:00.170: Seat name: 'default'
Cog-Wayland-INFO: 15:56:00.171: Got scale factor 1 for output 0x55aaa20140

Cog-Wayland-INFO: 15:56:00.171: Output 0x55aaa20140 is 1024x600 @ 60.72Hz
(cog:567): Cog-Wayland-DEBUG: 15:56:00.199: New XDG toplevel configuration: (0, 0)
(cog:567): Cog-Wayland-DEBUG: 15:56:00.200: Resized EGL buffer to: (1024, 768) @1x

Rga built version:274b345f976a
(process:581): GLib-GIO-DEBUG: 15:56:00.329: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
(process:581): GLib-GIO-DEBUG: 15:56:00.354: Failed to initialize networkmanager (GNetworkMonitorNM) for gio-network-monitor: NetworkManager not running
(process:581): GLib-GIO-DEBUG: 15:56:00.355: _g_io_module_get_default: Found default implementation netlink (GNetworkMonitorNetlink) for ?gio-network-monitor?
(process:581): GLib-GIO-DEBUG: 15:56:00.360: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
(process:581): GLib-GIO-DEBUG: 15:56:00.380: _g_io_module_get_default: Found default implementation dummy (GDummyProxyResolver) for ?gio-proxy-resolver?
(process:581): GLib-GIO-DEBUG: 15:56:00.381: GSocketClient: Starting new address enumeration
(process:581): GLib-GIO-DEBUG: 15:56:00.389: GSocketClient: Address enumeration succeeded
(process:581): GLib-GIO-DEBUG: 15:56:00.390: GSocketClient: Starting TCP connection attempt
EGLDisplay Initialization failed: EGL_NOT_INITIALIZED
(process:581): GLib-GIO-DEBUG: 15:56:00.412: GSocketClient: TCP connection successful
(process:581): GLib-GIO-DEBUG: 15:56:00.413: GSocketClient: Starting application layer connection
(process:581): GLib-GIO-DEBUG: 15:56:00.413: GSocketClient: Connection successful!
Rga built version:274b345f976a
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.

According to that log Cog is able to open succesfully the EGLDisplay but then the WebProcess fails to do that.
This comes from Cog:
Cog-Wayland-INFO: 15:56:00.171: Got scale factor 1 for output 0x55aaa20140

Cog-Wayland-INFO: 15:56:00.171: Output 0x55aaa20140 is 1024x600 @ 60.72Hz
(cog:567): Cog-Wayland-DEBUG: 15:56:00.199: New XDG toplevel configuration: (0, 0)
(cog:567): Cog-Wayland-DEBUG: 15:56:00.200: Resized EGL buffer to: (1024, 768) @1x

And the fatal error comes later from the WPEWebProcess at Source/WebCore/platform/graphics/PlatformDisplay.cpp
EGLDisplay Initialization failed: EGL_NOT_INITIALIZED

Not sure why.
Can you please try with the last version of WPEWebKit? you are using 2.38.x but the last stable is 2.40.x
Try to apply also this patch to wpewebkit that looks relevant:
https://github.com/WebKit/WebKit/commit/6410ba3f6f3bdc37e5bdc53803b8418a83e3c433.patch
And if it continues to fails can you provide this extra info?:

build into the image the utility waylandeglinfo (the recipe is provided in this layer), execute it under the wayland environment and paste the output of it?
what is the output of the command ls -l /dev/dri/ ?

i think we had bad experiences in the past with the mali drivers, so this is not very surprising to me...

Hi,
I applied the patch :
https://github.com/WebKit/WebKit/commit/6410ba3f6f3bdc37e5bdc53803b8418a83e3c433.patch
But it doesn't resolt the issue , cog gives the same error.
Next , I tried to build the wpewebkit 2.40 version but I receive some linking error on gbm_create_device function, and I need to investigare on it...
Below the output of commands that you asked:
root@px30-evb:~# ls -l /dev/dri/
drwxr-xr-x    2 root     root            80 Jun 21 09:07 by-path
crw-rw----    1 root     video     226,   0 Jun 21 09:07 card0
crw-rw-rw-    1 root     render    226, 128 Jun 21 09:07 renderD128

root@px30-evbt:~# waylandeglinfo
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.
EGL_VERSION = 1.4 Bifrost-"g2p0-01eac0"
EGL_VENDOR = ARM
EGL_EXTENSIONS = EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_EXT_swap_buffers_with_damage EGL_KHR_swap_buffers_with_damage EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness
EGL_CLIENT_APIS = OpenGL_ES
GL_VERSION: OpenGL ES-CM 1.1 v1.g2p0-01eac0.7abca4a459ce7997f20ab707543ff422
GL_RENDERER: Mali-G31
GL_EXTENSIONS:
    GL_OES_byte_coordinates, GL_OES_fixed_point, GL_OES_single_precision,
    GL_OES_matrix_get, GL_OES_compressed_paletted_texture,
    GL_OES_point_size_array, GL_OES_point_sprite, GL_OES_read_format,
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, GL_OES_stencil8,
    GL_OES_framebuffer_object, GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8,
    GL_EXT_read_format_bgra, GL_OES_matrix_palette,
    GL_OES_extended_matrix_palette, GL_OES_draw_texture,
    GL_OES_blend_equation_separate, GL_OES_blend_func_separate,
    GL_OES_blend_subtract, GL_OES_stencil_wrap,
    GL_OES_texture_mirrored_repeat, GL_EXT_texture_format_BGRA8888,
    GL_OES_query_matrix, GL_OES_EGL_image, GL_OES_EGL_image_external,
    GL_OES_EGL_sync, GL_OES_texture_npot, GL_OES_vertex_half_float,
    GL_OES_required_internalformat, GL_OES_vertex_array_object,
    GL_OES_mapbuffer, GL_OES_fbo_render_mipmap, GL_OES_element_index_uint,
    GL_ARM_rgba8, GL_EXT_blend_minmax, GL_EXT_discard_framebuffer,
    GL_EXT_texture_storage, GL_OES_texture_compression_astc,
    GL_KHR_texture_compression_astc_ldr, GL_KHR_texture_compression_astc_hdr,
    GL_KHR_texture_compression_astc_sliced_3d,
    GL_EXT_texture_compression_astc_decode_mode,
    GL_EXT_texture_compression_astc_decode_mode_rgb9e5,
    GL_OES_surfaceless_context, GL_EXT_multisampled_render_to_texture,
    GL_OES_texture_cube_map, GL_KHR_debug, GL_EXT_sRGB, GL_EXT_robustness

many thanks

Can you try the patch from https://github.com/Igalia/meta-webkit/pull/477  to see if that allows building 2.40? Note: disable the gbm PACKAGECONFIG option on your build

With the previous patch I have another error:
| /home/matteo/thirdroot/yocto/px30-kirkstone/yocto/build/tmp/work/armv8a-poky-linux/wpewebkit/2.40.2-r0/wpewebkit-2.40.2/Source/WTF/wtf/glib/Sandbox.cpp:49:13: error: 'BWRAP_EXECUTABLE' was not declared in this scope
|    49 |             BWRAP_EXECUTABLE,
|       |             ^~~~~~~~~~~~~~~~

Many thanks

After some tricks I was able to build the 2.40.2 webkit version...
Unfortunatelly it still not working...
The error seems to be the same:
root@px30-evb:~# cog --platform=fdo www.google.com
Rga built version:274b345f976a

(cog:327): Cog-Core-WARNING **: 16:16:32.081: Platform module name 'fdo' is deprecated, please use 'wl' instead.
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.
Rga built version:274b345f976a

(cog:327): GLib-GIO-WARNING **: 16:16:32.521: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
Rga built version:274b345f976a
arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '7'.
EGLDisplay Initialization failed: EGL_NOT_INITIALIZED
Cannot create EGL sharing context: invalid display (last error: EGL_SUCCESS)
Cannot create EGL context: invalid display (last error: EGL_SUCCESS)

I seem to be having similar issues. enabling debugging shows that cog starts up EGL ok, but the EGL_NOT_INITIALIZED errors come later. If I run just with drm:
(cog:31286): Cog-DRM-WARNING **: 00:22:56.580: failed to import a wl_buffer resource into gbm_bo
(cog:31286): Cog-DRM-WARNING **: 00:22:59.039: failed to import a wl_buffer resource into gbm_bo
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
(block screen, I'm not sure why it's giving the numeric code 12289, aka 0x3001, aka EGL_NOT_INITIALIZED, rather than the string)
and If I run with renderer=gles
(cog:31286): Cog-DRM-WARNING **: 00:22:56.580: failed to import a wl_buffer resource into gbm_bo
(cog:31286): Cog-DRM-WARNING **: 00:22:59.039: failed to import a wl_buffer resource into gbm_bo
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
ERR: Display.cpp:1014 (initialize): ANGLE Display::initialize error 12289: Failed to get system egl display
(Working display)

It seems that when first starting, the wayland backend gets used. But at some point some element requires accelation, (webgl?) and something tries to open EGL with EGL_PLATFORM_SURFACELESS_MESA which fails on my platform.

I'll jump in on this one. I have similar issues on rk3288 (Mali T760)
At compile time, I had the same  linking error on gbm_create_device function errors. libgbm was in the sysroot, but the gbm functions were in libmali and libmali-hook. After some fiddling around, I ended up compiling webkit. But I face the same issues as @russdill. Is there any progress on this one?
Weston is running, gstreamer is running on top, glmark2 is running. Only webkit is lacking me

@woutervanh
Hi,
how can you fix-up linking error on gbm_create_device function errors  with libmali ? I'm facing the same issue when compiling.

@woutervanh Hi, how can you fix-up linking error on gbm_create_device function errors with libmali ? I'm facing the same issue when compiling.

It was a hacky way. If I remember well it was a matter of renaming libmali to libgbm etc (symbols are in there). But was a wrong approach, didn't work anyway.
Really take mainline, it's dead simple

@woutervanh Hi, how can you fix-up linking error on gbm_create_device function errors with libmali ? I'm facing the same issue when compiling.

It was a hacky way. If I remember well it was a matter of renaming libmali to libgbm etc (symbols are in there). But was a wrong approach, didn't work anyway. Really take mainline, it's dead simple

But the mainline panfrost + mesa3d + wayland  having poor performance then libmali. So, I want to have the libmali + wpewebkit.

Did you test it? For me it was working very well on rk3288.
Nevertheless, I did not get wpewebkit to work on libmali

Did you test it? For me it was working very well on rk3288. Nevertheless, I did not get wpewebkit to work on libmali

Yes, I tested it for both rk3288 and rk3326(PX30) :

panfrost + mesa3d + wayland + wpewebkit(0.42.0) + cog(0.18.0) + libwpe( 1.15.1 ).
libmali + wayland + wpewebkit(2.38.6) + cog(0.16.0) + libwpe( 1.12.3 )

I point out one of  test result for pointing out the  performance match:
The rk3326(PX30)  glmark2-es2-wayland testing result are:
panfrost:
kernel 5.10 glmark2 Score: 117
new version buildroot + kernel 5.10 glmark2 Score: 115
new version buildroot + kernel 5.10 with new mesa3D 23.1.6 glmark2 Score: 130
new version buildroot + kernel 5.10(upgrade panfrost) with new mesa3D 23.1.6 glmark2 Score: 139
new version buildroot + kernel 5.10(upgrade panfrost) with new mesa3D 23.1.6 + CPU performance glmark2 Score: 146
new version buildroot + kernel 5.10(upgrade panfrost) with new mesa3D 23.1.6 + CPU performance + GPU performance glmark2 Score: 209

Mali:
kernel 4.4 g2p0  glmark2 Score: 370
kernel 5.10 g2p0 glmark2 Score: 197
kernel 5.10 g13p0 glmark2 Score: 193
kernel 5.10 g13p0 + CPU performance glmark2 Score: 256
kernel 5.10 g13p0 + GPU performance glmark2 Score: 193
kernel 5.10 g13p0 + CPU performance + GPU performance glmark2 Score: 256

For the browser（cog）, running this link https://threejs.org/examples/physics_ammo_cloth.html
panfrost + mesa3d + wayland + wpewebkit(0.42.0) + cog(0.18.0) + libwpe( 1.15.1 ) in wayland mode: 30 FPS

libmali + wayland + wpewebkit(2.38.6) + cog(0.16.0) + libwpe( 1.12.3 ) in drm mode: 60 FPS

I must use the wayland mode , because the fllowing:

I have some wayland patchs from rockchip offical. I can speed up the software running faster.
for some vertical display screen, we can use the RGA for rotation.

However,  wpewebkit(2.38.6) + cog(0.16.0) + libwpe( 1.12.3 ) not support the wayland mode, so I have to upgrade wpewebkit + cog + libwpe to last. when I compile it, I got the 'linking error on gbm_create_device function'.


[Bug][Sort] Fix missing some connector table factory error after packaging

What happened
Running the sort-dist-[version].jar package will report the error that the relevant table factory cannot be found.
What you expected to happen
Running the sort-dist-[version].jar package all right.
How to reproduce
It occurs when running the sort-dist-[version].jar every time.
Environment
No response
InLong version
master
InLong Component
InLong Sort
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

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

It is not a problem.


Generic tertiary portal hand-off

┆Issue Number: HCAB-4

spam the whole HCA and ask who's interested in making a portal and register your interest in interacting/training with HCA... talk to Fabian about this.... Tim and Irene about generating this list.
Jenn is checking into a jamboree in early april
late april there's a red box meeting that I asked to present this at

Update: above items are complete and Done means completion of Collections API and integration with at least one tertiary portal.
Need another demo from Carlos and Tim/Marcus on how to program to portal/Collections API.

@briandoconnor status on this?

https://github.com/HumanCellAtlas/data-portal-content/issues/19 asks about hand-off, so please comment there when this is ready.  Or ping me, and I'll do so!

HCA Functional requirements (https://docs.google.com/document/d/1dvz7ij5JDAHSFZmpAHsw3_xbDge-EEhuLcvA5SIkhc8) states on p5: "Tertiary Analysis portals that will take the file manifest produced by orange box search and run additional analysis". I believe this is the intended solution before Data Browser integration with the Collections API is available.

➤ Trevor Heathorn commented:
Hand-off to Terra is covered under epic AZUL-380.

Priorities:

Terra (databiosphere/azul#606)
SCP (#606)
Max Haeussler's UCSC Cell Browser

From @hannes-ucsc :
I would not consider the spec officially released. Note that the spec still resides in the rfc folder of the source tree. I do not feel comfortable releasing the spec until we have fully implemented all endpoints. Until we have done so, the spec should be considered a draft because the implementation may require changes to the spec.
The location of the draft on the develop branch is https://editor.swagger.io/?url=https://raw.githubusercontent.com/DataBiosphere/azul/develop/rfc/portal-registration-api.yaml

Obsolete


The uglifyjs module used is outdated, API has changed

Updated the handler to use the new minify() function in updated API.

@mape: dont u have time to merge this? Or there is some other module achieving the very same so connect-assertmanager-handlers is not mantained anymore?


Add a node.js installation command within a dockerfile

Correct errors that occur during the creation of a docker image.

Thanks for the contribution!


on exemples comment typo error on header file name must be changed by #include "Dx_Slow_PWM.h"

Describe the bug
Not correct information on file name description
Steps to Reproduce
bad comment typo
Expected behavior
line 23 in comment swap #include "megaAVR_Slow_PWM.h" by #include "Dx_Slow_PWM.h".
Actual behavior
N/A
Debug and AT-command log (if applicable)
N/A
Screenshots
N/A
Information
N/A
Example
Additional context
N/A

Thanks. This will be fix in next release.

Done..

Release v1.0.2

Minor cosmetic fix


Bug: live_grep resume doesn't work if skim is used

RTFM Checklist

[X] I have searched exisiting issues / discussions
[X] I have read the Wiki including the Advanced section
[X] I have read man fzf / I am well versed in shell fzf

Operating system
Linux
Shell
zsh
Neovim version (nvim --version)
NVIM v0.10.1
Fzf version (fzf --version)
sk 0.10.4
Output of :lua print(os.getenv('FZF_DEFAULT_OPTS'))
nil
Is the problem reproducible with mini.sh?

[ ] My issue is reproducible with mini.sh
[X] My issue IS NOT reproducible with mini.sh
[ ] I have not tested with mini.sh (not relevant, requires LSP, Windows, etc)

Fzf-lua configuration
mini.sh + `:lua require('fzf-lua').setup({'skim'})`

Describe the bug / steps to reproduce
FzfLua resume shows empty window when used with the skim backend due to https://github.com/ibhagwan/fzf-lua/blob/a34542d466b46be19198d16199e5245d27e89a9e/lua/fzf-lua/core.lua#L461
I think it should be noted in the documentation (if you prefer to close this issue).
This is because skim doesn't print commands with --print-query, only query: https://github.com/lotabout/skim/issues/437.

I think it should be noted in the documentation (if you prefer to close this issue).

As I mentioned in https://github.com/ibhagwan/fzf-lua/issues/963#issuecomment-2366808781, skim is a dead project and I highly recommend using only fzf.
We can add this (and other skim limitations) to the Wiki (it’s open edit to all btw) but it’s not high on my priority list as almost nobody uses skim (for a good reason), this issue in and of itself can be considered said documentation :)


mangago encryption

Nee solve matrix.
Image examples:

Link examples:
Enc:
http://iweb7.mangapicgallery.com/r/cspiclink/lookism/443703/dbdf873a11bafad56c41ff7fbed622aa76e19f3564e5d52a6688d6d9e3c57fb2.jpeg
Not enc:
http://iweb7.mangapicgallery.com/r/newpiclink/lookism/188/092627e2b8795ced4cb3e80ff189b972.jpeg

You also need to decrypt the variable imgsrcs.
Link example: www.mnggo.net/c/23177/443703/1/

How did you find that the site has Lookism in it?

Just see the list of forbidden resources for the site.
You will see used js / css / jpg files.

Solved on kotlin:
https://github.com/inorichi/tachiyomi-extensions/blob/master/src/en/mangago/src/eu/kanade/tachiyomi/extension/en/mangago/Mangago.kt

Solved:
https://codepen.io/1271/pen/mKYLrG


No completion for list function argument

def foo(a: list[str]):
  a[0].

expected: str members

I think you're supposed to use typing.List, not list.

If I run mypy on the code above, I get this:
PythonApplication82.py:7: error: "list" is not subscriptable, use "typing.List" instead

What if you omit list?
def foo(a: [str]):
  a[0].

If you do that, we show completions for str. However, MyPy doesn't like it.
PythonApplication84.py:2: error: Invalid type

PyCharm (and also Jedi)


⚠ Native Cart Drawer has degraded performance

In b9683e3, Native Cart Drawer (https://nativecart.peasisoft.com/ult-upsell/login) experienced degraded performance:

HTTP code: 200
Response time: 12350 ms

Resolved: Native Cart Drawer performance has improved in 451c7b6 after 23 minutes.


Improved Test Coverage and Code Standard

Made the following changes:

Modified model schema to support detecting bad request.
Added lots of test cases to test CRUD, error handling, model schema, QUERY endpoint and so on.
Modified code format and added some docstring to meet PEP8 Python standard.
Fixed a bug in LIST endpoint.

Surprisingly, the project will reach a 95% coverage and a 10/10 in make lint, after this is merged.

what is the effect of test_unknown_method in test_routes.py?

Thank you for pointing out my mistake! It seems that the test_unknown_method does the same thing as the test_method_not_allowed. I will create a new pull request for this.


root.createBindGroup API replacing layout.populate

closes #631

Great! Are we replacing the populate API or is this just an additional way? I don't see it hidden here.

We're gonna be deprecating it, but only on the 0.3 branch for now so that it still looks fine in the examples.


WiZ Lights Support

Feature request

What problem does this feature solve?
Adds the support of WiZ lights.
Those lights have pretty good reputation, and are one of the rare that have a local API, making cloud integration virtually optional.
On the contrary of the many, many Tuya-based bulbs...
The product lines is also pretty complete, and the company is now backed by Philips (acquired in 2019).
What does the proposed API look like?
The local API is not officially documented, but it has been reverse-engineered.
It is possible to find some information on the Internet through many  project.
Examples:

https://github.com/sbidy/pywizlight
https://github.com/sbidy/wiz_light

I also built somehow an OpenAPI Spec using Online AI (Perplexity), not sure if it's 100% accurate, but it seems to be a good start.
WiZ-OpenAPI - v2.yml.txt
It's possible to easily browse it via Swagger Editor: https://editor.swagger.io/
How should this be implemented in your opinion?
It should be added as a new Hardware LED Instance / Controller Type: Network
Are you willing to work on this yourself?
I'm no Professional developer, but I can try.
I would need to learn the Hyperion-ng Code at first.
Anagorn did some effort a few years ago: https://hyperion-project.org/forum/index.php?thread%2F12411-connect-wiz-light-to-hyperion%2F=

@Z3r10 I am happy to provide you some guidance if you would like to take the endeavour providing Wiz Light support.
Experience tells that without sample devices at hand, it is hard to get an integration up and running (esp. if there is no official documentation). Therefore, I would not spend effort myself  on this one...
You might want reaching out to the Wiz customer/sales team and check, if they would like to share some samples for integration development (and maybe the specs...). For other devices this worked out nicely before....


python312Packages.tencentcloud-sdk-python: 3.0.1165 -> 3.0.1166

Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/refs/tags/3.0.1165...3.0.1166
Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.0.1166/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

4 packages built:

python311Packages.tencentcloud-sdk-python
python311Packages.tencentcloud-sdk-python.dist
python312Packages.tencentcloud-sdk-python
python312Packages.tencentcloud-sdk-python.dist


Add cosign in compose

Fix #607.
Similar to ##556, #606, #628, this PR adds cosign support to compose:

[x] Support cosign in compose run, compose up, compose push, compose pull.
[x] Refactor cosign related functions to its own package, so they can be used by both nerdctl and nerdctl compose.
[x] Add tests.
[x] Update doc.
[x] Figure how to add --experimental for cosign support in compose commands.
[x] Rebase.

I'm more towards the below method from #607 discussion, since it's less error-prone than cli args and more flexibile (my understanding is we should provide the capability to sign/verify individual images per services and cannot assume user will use the same pair for all images in a compose yaml).
services:
  foo:
    image: bar
    x-nerdctl-verify: cosign
    x-nerdctl-cosign-public-key: /path/to/cosign.pub
    x-nerdctl-sign: cosign
    x-nerdctl-cosign-private-key: /path/to/cosign.key

A running example:
➜  compose-cosign cat docker-compose.yml
services:
  svc0:
    build: .
    image: docker.io/djdongjin95/svc0_image
    x-nerdctl-verify: cosign
    x-nerdctl-cosign-public-key: ./cosign.pub
    x-nerdctl-sign: cosign
    x-nerdctl-cosign-private-key: ./cosign.key
    ports:
    - 8080:80
  svc1:
    build: .
    image: docker.io/djdongjin95/svc1_image
    ports:
    - 8081:80

# compose push
➜  compose-cosign sudo env "COSIGN_PASSWORD="$COSIGN_PASSWORD"" nerdctl compose push
WARN[0000] build.config should be relative path, got "/home/ec2-user/tmp/compose-cosign"
...
elapsed: 0.2 s                                                                    total:  9.3 Ki (46.2 KiB/s)
INFO[0001] cosign: WARNING: Image reference docker.io/djdongjin95/svc0_image uses a tag, not a digest, to identify the image to sign.
INFO[0001] cosign:
INFO[0001] cosign: This can lead you to sign a different image than the intended one. Please use a
INFO[0001] cosign: digest (example.com/ubuntu@sha256:abc123...) rather than tag
INFO[0001] cosign: (example.com/ubuntu:latest) for the input to cosign. The ability to refer to
INFO[0001] cosign: images by tag will be removed in a future release.
INFO[0001] cosign: Pushing signature to: index.docker.io/djdongjin95/svc0_image
WARN[0001] build.config should be relative path, got "/home/ec2-user/tmp/compose-cosign"
INFO[0001] Pushing image docker.io/djdongjin95/svc1_image
...
elapsed: 0.2 s                                                                    total:  9.3 Ki (46.3 KiB/s)

# compose pull
➜  compose-cosign sudo env "COSIGN_PASSWORD="$COSIGN_PASSWORD"" nerdctl compose pull
WARN[0000] build.config should be relative path, got "/home/ec2-user/tmp/compose-cosign"
INFO[0000] Pulling image docker.io/djdongjin95/svc0_image
INFO[0000] cosign:
INFO[0000] cosign: [{"critical":{"identity":{"docker-reference":"index.docker.io/djdongjin95/svc0_image"},"image":{"docker-manifest-digest":"sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9"},"type":"cosign container image signature"},"optional":null}]
INFO[0000] cosign:
INFO[0000] cosign: Verification for index.docker.io/djdongjin95/svc0_image@sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9 --
INFO[0000] cosign: The following checks were performed on each of these signatures:
INFO[0000] cosign:   - The cosign claims were validated
INFO[0000] cosign:   - The signatures were verified against the specified public key
docker.io/djdongjin95/svc0_image@sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9: resolved       |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9:                         done           |++++++++++++++++++++++++++++++++++++++|
config-sha256:abcd9b97b24c8f2f763d937a726a62e39c1ef39574a6c24cc779bea8e08c2519:                           done           |++++++++++++++++++++++++++++++++++++++|
elapsed: 0.3 s                                                                                total:  1.7 Ki (5.8 KiB/s)
WARN[0000] build.config should be relative path, got "/home/ec2-user/tmp/compose-cosign"
...
elapsed: 0.2 s                                                                    total:   0.0 B (0.0 B/s)

# pulled images
➜  compose-cosign sudo nerdctl images
REPOSITORY                TAG       IMAGE ID        CREATED           PLATFORM       SIZE        BLOB SIZE
djdongjin95/svc0_image    <none>    4329abc3143b    15 seconds ago    linux/amd64    24.5 MiB    9.4 MiB
djdongjin95/svc1_image    latest    4329abc3143b    15 seconds ago    linux/amd64    24.5 MiB    9.4 MiB

# compose up
➜  compose-cosign sudo env "COSIGN_PASSWORD="$COSIGN_PASSWORD"" nerdctl compose up
...
INFO[0000] Ensuring image docker.io/djdongjin95/svc0_image
INFO[0000] cosign:
INFO[0000] cosign: [{"critical":{"identity":{"docker-reference":"index.docker.io/djdongjin95/svc0_image"},"image":{"docker-manifest-digest":"sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9"},"type":"cosign container image signature"},"optional":null}]
INFO[0000] cosign:
INFO[0000] cosign: Verification for index.docker.io/djdongjin95/svc0_image@sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9 --
INFO[0000] cosign: The following checks were performed on each of these signatures:
INFO[0000] cosign:   - The cosign claims were validated
INFO[0000] cosign:   - The signatures were verified against the specified public key
INFO[0000] Ensuring image docker.io/djdongjin95/svc1_image
INFO[0000] Creating container compose-cosign_svc1_1
INFO[0000] Creating container compose-cosign_svc0_1
INFO[0001] Attaching to logs

# compose run
➜  compose-cosign sudo env "COSIGN_PASSWORD="$COSIGN_PASSWORD"" nerdctl compose run svc0 -- echo "hello"
...
INFO[0000] Ensuring image docker.io/djdongjin95/svc0_image
INFO[0000] cosign:
INFO[0000] cosign: [{"critical":{"identity":{"docker-reference":"index.docker.io/djdongjin95/svc0_image"},"image":{"docker-manifest-digest":"sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9"},"type":"cosign container image signature"},"optional":null}]
INFO[0000] cosign:
INFO[0000] cosign: Verification for index.docker.io/djdongjin95/svc0_image@sha256:4329abc3143b1545835de17e1302c8313a9417798b836022f4c8c8dc8b10a3e9 --
INFO[0000] cosign: The following checks were performed on each of these signatures:
INFO[0000] cosign:   - The cosign claims were validated
INFO[0000] cosign:   - The signatures were verified against the specified public key
INFO[0000] Creating container compose-cosign_svc0_run_a516dddd5769
hello
INFO[0000] Stopping containers (forcibly)
INFO[0000] Stopping container compose-cosign_svc0_run_a516dddd5769

Signed-off-by: Jin Dong<EMAIL_ADDRESS>

cc @AkihiroSuda @developer-guy @Dentrax @ktock. I think the functionality should work now, but thanks for any comments&suggestions as I don't have much experience with cosign :)
Also any suggestion on how to check experimental (from cmd) for compose cosign? In compose the cosign feature is visible till in pkg (i.e., not in cmd). One way might be passing experimental to related Options (e.g., PullOptions, UpOptions, etc), but it'll change every compose Options struct (pull, push, up, run).
Thanks!
(I'll update related docs after the implementation looks okay :))

Thanks!

One way might be passing experimental to related Options (e.g., PullOptions, UpOptions, etc)

Yes, should be added in Options

If people are going to try that feature in lima VM, they will fail as we did not add cosign binary into the VM image yet 👇
_https://github.com/containerd/nerdctl/pull/680_

If people are going to try that feature in lima VM, they will fail as we did not add cosign binary into the VM image yet 👇
#680

Thanks for pointing this out! This will be the same for cosign support in other commands right? (e.g. nerdctl push|run|pull)? If so, maybe we can just track the cosign support for lima as a whole in #679/#680.


BaseAddress  vs. *BaseAddress

Shouldn't this sentence:
"If the MEM_RELEASE flag is set in the FreeType parameter, BaseAddress must be the base address returned by ZwAllocateVirtualMemory when the region was reserved."
be:
"If the MEM_RELEASE flag is set in the FreeType parameter, *BaseAddress must be the base address returned by ZwAllocateVirtualMemory when the region was reserved."
?
There is a couple of similar issues in the text, same as for NtAllocateVirtualMemory() description -- the text should make it clear that it is always *BaseAddress and *RegionSize you are talking about, not the pointers themselves.

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

ID: dc08af12-0480-fba3-7498-98545e6a62a4
Version Independent ID: f5771ed8-3447-68a9-e548-0709cfd13587
Content: NtFreeVirtualMemory function (ntifs.h) - Windows drivers
Content Source: wdk-ddi-src/content/ntifs/nf-ntifs-ntfreevirtualmemory.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @lorihollasch
Microsoft Alias: loriwhip

@mikrosk , thanks for flagging this. The language was indeed unclear - fixed now in in NtAllocateVirtualMemory and NtFreeVirtualMemory.

@lorihollasch thanks for such prompt response! I don't want to ruin the moment but it is still not perfect. ;)
In NtFreeVirtualMemory:
If the MEM_DECOMMIT flag is set in the FreeType parameter, NtFreeVirtualMemory decommits all memory pages that contain one or more bytes in the range from the BaseAddress parameter to (BaseAddress + *RegionSize)
[...]
If you specify this flag, *RegionSize must be zero, and BaseAddress must point to the base address returned by NtAllocateVirtualMemory when the region was reserved. NtFreeVirtualMemory fails if either of these conditions is not met.
Also, while we are on the topic:
You can use NtAllocateVirtualMemory to put committed memory pages into either the reserved or free state.
"NtAllocateVirtualMemory" in this sentence (and few others) points for some reason here: https://msdn.microsoft.com/library/windows/hardware/ff566416 (ZwAllocateVirtualMemory) while it should point here: https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ntifs/nf-ntifs-ntallocatevirtualmemory (NtAllocateVirtualMemory).
Also it is quite strange that https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/ntifs/nf-ntifs-ntallocatevirtualmemory (NtAllocateVirtualMemory) refers to itself as ZwAllocateVirtualMemory, while NtFreeVirtualMemory is consistent in this matter.

@mikrosk , so sorry! Just now seeing that you provided additional feedback after I closed this. I'll reopen and look at this within the next couple of weeks. :)

No problem Lori, if you need something to clarify more, feel free to ask. :)

@mikrosk, think I got all the pointer language this time, and also fixed copy-and-paste Zw errors - thanks for pointing them out!


Revert "[nrf noup] soc: flash: Add tfm read service to nRF SoC Flash …

revert [nrf noup] soc: flash: Add tfm read service to nRF SoC Flash.
It has several problems:
The patch adding tfm_read_service should be in a fromlist commit using DT[0].
The patch adding PM support should be in a noup commit that removes the DT references.
The patch adding SPM support should be in it's own noup commit.
[0] Something like this: https://github.com/zephyrproject-rtos/zephyr/pull/41756

The commit that is being reverted did not have a corresponding manifest update (was closed), so it is safe to revert without any manifest changes.
Revert was suggested by @carlescufi and I agree. I am assuming that nothing in the upmerge requires this commit.
The commit will be removed from the upmerge PR as well.

I don't get it. If it is removed from the upmerge, then why is this needed? sdk-zephyr is blocked from merging by the upmerge.
Reverted in the upmerge and not-reapplied should be enough.

I've deleted it from the upmerge history.
I want a revert commit so it doesn't look like we accidentally dropped a commit.
The history will be re-written in the upmerge.

too late for this.


Question: AngularJS $http API compatibility?

For my hy-res hypermedia client library, which also has a thin AngularJS wrapper angular-hy-res, most of the library expects an $http-like API for making and consuming requests. For the most part, I can interchange axios (e.g. in my integration tests for the hy-res core library) and $http in the angular-hy-res case without problem.
The only area where I have hit a true API incompatibility is with the handling of the headers in either the resolved promises, or the parameters for things like transformRequest. You can see an example here.
Question: Is axios' goal to be as API compatible with $http as possible? If so, would you consider changes to the headers instances to match AngularJS?

It's not necessarily a goal to be 100% API compatible with $http, at the same time, if it's easy enough to support I'm not against it.
Would you mind elaborating a bit more on where the incompatibility lies? From your example, it looks like headers can be a function?

AFAICT, headers is always a function in AngularJS. Here's the relevant source:
https://github.com/angular/angular.js/blob/master/src/ng/http.js#L192
You can either do:
headers('location')
=> '/foo'

or:
headers()
=> { 'location': '/foo', 'content-type': 'application/json' }

The headersGetter function is only used internally by Angular. This allows either getting the entire headers object passed in the config, or a specific header value by name (case insensitive).
The config itself expects an object of key/value pairs https://docs.angularjs.org/api/ng/service/$http#setting-http-headers.

It is not only internal. See:

https://github.com/angular/angular.js/blob/master/src/ng/http.js#L1268 - passed as headers field of response promise.
https://github.com/angular/angular.js/blob/master/src/ng/http.js#L918 - passed into transformation function.

You can see this in the docs here: https://docs.angularjs.org/api/ng/service/$http under the Usage of $http(config) for transformRequest, transformResponse, and the return value.
Those are in fact the two cases where the API differs between $http and axios.

Are there any plans to create a $httpBackend type feature so you can mock out http requests?  $httpBackend also makes testing synchronous with $httpBackend.flush().  Are there any plans to follow this way of testing?

@patrickliechty I don't know the exact implementation that will be used, but there are plans to make testing less painful.

So is there any intention to change this difference in API between the two? This was closed without explanation...

Reopening... Let me take a closer look at this.

@patrickliechty check out moxios for testing axios.

It is not the intention of axios to function exactly the same as $http. This lib was definitely inspired heavily by $http, but I am okay with it diverging from here. If there is a strong argument for a feature that you think would make sense in axios I am happy to discuss, but I am not interested in copying $http feature for feature.

I will look into moxios thanks.  Ya I don't think it has to work just the same as $http


don't reimplement GenServer - use it

Pull Request Test Coverage Report for Build 0bd559bae68660b2b39325f881723a4081de1fab-PR-51
Details

15 of 18 (83.33%)  changed or added relevant lines in 1 file are covered.
13 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.3%) to 72.184%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/kubereq/watcher.ex
15
18
83.33%

Files with Coverage Reduction
New Missed Lines
%

lib/kubereq/watcher.ex
13
69.81%

Totals

Change from base Build a6ae15850c5384abf6185f0f1a0eeac39b4703ec:
0.3%

Covered Lines:
423

Relevant Lines:
586

💛  - Coveralls


[native_pdf_view] How to get last page read of pdf save with sharedpreferences ?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

 onPageChanged: (int page) {
        _lastPage = page;
      // save on SharedPreferences
}

// load _lastPage on initState and then setState whit the pdfController.

 _pdfController = PdfController(
        document: PdfDocument.openFile(filePathOnRam),
        initialPage: _bookmarkPosition ?? 0,
      );


aarch64 builds

metac should have support for aarch64 (arm64)

For this we may need to use a new base image as distroless does noct have arm64 builds atm


"cargo install cargo-bpf" failing with LLVM_SYS_110_PREFIX error

In an Ubuntu box after installing the dependencies as mentioned in README, cargo install cargo-bpf fails.
apt-get install -y curl \
	wget \
	gnupg2 \
	software-properties-common \
	build-essential \
	clang-10 \
	llvm-10 \
	libelf-dev \
	linux-headers-$(uname -r) \
	zlib1g \
	ca-certificates

I think this could be happening because of the recent update to use llvm11.

llvmenv also does not support 11.0.0 (cargo install llvmenv).. 11 is supported in the master branch of llvmenv though..

Oh yeah the top part of the README does mention LLVM 11, but then the bottom part still refers to LLVM 10. This needs to be fixed.

@alessandrod  Can you please let me know if you are using llvmenv or custom LLVM builds in your CI or dev env?

The README is outdated, you need llvm 11. So that's the llvm-11-dev and libclang-11-dev packages. If you install those, either from your distro directly or from https://apt.llvm.org/, then it'll work.


Help: Can't include multiple directories with CLI flag, or exclude node_modules with config

Thanks for making this tool, it's great! This is more of a question or request for help. I would've made a discussion instead of an issue if they were enabled.
I'm basically trying to run this plugin recursively on a few select folders in my repo: src, unit, and e2e. Here's the setup I have:
package.json
{
  "scripts": {
    "sort-imports": "npx format-imports --config ./import-sorter.json --log ./src",
  }
}

import-sorter.json
{
  "autoFormat": "off",
  "emptyLinesBetweenGroups": 0,
  "formatExports": false,
  "wrappingStyle": "prettier",
  "groupRules": ["^vue", "^\\w", "^@\\w", "^@\\/", { "flags": "scripts" }]
}

I've looked through the docs and tried a few things. If I append ./unit ./e2e to the command, like the docs say I can do, I simply get errors like Command failed with exit code 1.. I've also tried using the exclude and excludeGlob config options to exclude the most time consuming directories, node_modules and dist, but no matter what variation I try, the plugin runs on node_modules and takes an impractical amount of time.
One thing to possibly note is that I'm running this in a subdirectory in a monorepo, /frontend. I'm running the commands and everything relative to this directory, but in VS Code the project folder I have open is one level up, so maybe that is messing things up.
Could you advise some things to try?

Thanks for the feedback!
Could you share more details about:

The rough folder structure of your projects, including files you do or don't want format,
The position you are running the command, and
The effect you expect.

Indeed, I'll try to get back to you with a minimum reproducible example soon. I was just wondering if you could spot any errors in my config above or your code just off the cuff.

Here is a minimal reproducible example:
repo.zip
First, cd into /frontend.
I want to format /src, /e2e, /unit, but NOT /node_modules.
This works, if I just want to format /src:
npx format-imports --config ./import-sorter.json --log ./src

This part of the docs suggests you can specify multiple directories in a single command, but apparently only with --check and not formatting:
npx format-imports --config ./import-sorter.json --log ./src ./e2e ./unit

It'd be nice if this worked the same way as --check.
As an alternative, with "exclude": ["node_modules"] in the config file, I should be able to do this:
npx format-imports --config ./import-sorter.json --log ./

... but this still seems to scan node_modules anyway. Maybe it doesn't actually format it, but it still takes a really long time and shouldn't be scanned.

For 2, it's a design decision to support single directory because you can't specify -o if there are multiple directories. The workaround is format-imports dir1/ && format-imports dir2/ && ....

This is understandable.

For 1, I don't think node_modules/ are formatted after testing your repo on my laptop. The long time is because the tool needs to find out all files (including node_modules/) and check if they need process.

In my repo, it takes ~2 minutes to complete scanning node_modules on a (very fast) M1 Macbook. I'd expect exclude to ignore matches completely, like a .gitignore, and not just ignore them for formatting.

format-imports dir1/ && format-imports dir2/ && ...

This is fine but will get pretty lengthy and full of code duplication with a longer command: npx format-imports --config ./import-sorter.json --log dir.

Here is the code for handling exclude: https://github.com/daidodo/format-imports/blob/main/src/lib/config/index.ts#L39
Happy to receive PRs if you think it can be improved.
Thanks!

In my repo, it takes ~2 minutes to complete scanning node_modules on a (very fast) M1 Macbook. I'd expect exclude to ignore matches completely, like a .gitignore, and not just ignore them for formatting.

I'm in the same boat. Doing something like "exclude": ["node_modules"] in my import-sorter.json file does prevent the tool from reformatting the sources in node_modules, but doesn't prevent the tool from scanning the directory, which takes O(minute).

For what it's worth, I ended up switching to a prettier plugin for this, @ianvs/prettier-plugin-sort-imports. It works really well for me, integrating into a tool I'm already using for formatting and testing formatting, instead of a separate command I have to run. It also makes sense to me to be a Prettier plugin since it's just formatting and doesn't affect code functionality.
I appreciate the hard work that went into this library, but that plugin ended up being a smoother experience, both with integration and configuration. I think this library has more options though. Perhaps the author here could consider porting this to a Prettier plugin.


update envs to CI

in short: added iojs and<EMAIL_ADDRESS>

I don’t understand why AppVeyor build failed, sorry =(

polite ping

Sorry for the delay @matmuchrapna. Your changes are merged into the devel branch with another tweak or two. Once Travis gives me the green light it'll be merged and published.

No, It‘s fine and cool. I definitely like the way it’s processing. Looking forward to see these changes in master =)


fix(@angular-devkit/schematics): export task executor

Not being imported is intentional.  Those are only relevant to node environments.

@clydin My understanding is: Those are executors, which are necessary for external workflow. Especially, BuiltinTaskExecutor.RunSchematic should be useful for all workflows. If you'd prefer access the executors through tasks/node/index.ts, I'd suggest reverting the module_root change here(https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/schematics/BUILD#L74)

This was done by #12008
Close this PR right now.


lhist negative ranges

lhist accepts negative numbers but drops the sign internally, which leads to unexpected behaviour:
root@ubuntu-bionic:~/build# sudo ../bpftrace -e 'i:ms:1 { @=lhist(-10, -10, 100, 1); }'
lhist() too many buckets, must be <= 1000 (would need 464824020)
lhist() min must be less than max (provided min<PHONE_NUMBER>1488 and max 100)
lhist() step is too large for the given range (provided step 1 for range -93943354841388)

root@ubuntu-bionic:~/build# sudo ../bpftrace -e 'i:ms:1 { @=lhist(-10, -10, -1, 1); }'
Attaching 1 probe...
^C

@:
[103233936, 103233937)      91 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@|

sudo ../bpftrace -e 'i:ms:1 { @=lhist(-10, 0, 10, -1); }'
lhist() step is too large for the given range (provided step<PHONE_NUMBER>5168 for range 10)

What I'd expect would be something like:
sudo ../bpftrace -e 'i:ms:1 { @=lhist(-10, -10, 10, 1); }'
lhist(): range must be postive (min >0; max > min)`

right, with the current lhist() it should throw such a warning.

I'm digging into this right now. Yikes, upcasts using static_cast. I tested with dynamic_cast and the casts fail.

drops the sign internally

Actually this is not the case. I think the parser is broken. We're just reading random memory. If you run your test multiple times, you'll get different error numbers each time.

Looks like we should be checking that the arguments to lhist are literals, as well as being integers too.
e.g. https://github.com/iovisor/bpftrace/blob/0e2ce5ffad1f6a80e91f2d5d525da667025dfbd5/src/ast
/semantic_analyser.cpp#L212
check_arg(call, Type::integer, 1); -> check_arg(call, Type::integer, 1, true);
We've got at least one other bug where we don't check for literals too - might be a common issue in there.


Scrapli not honouring system ssh config

Describe the bug
SSH from system:
ssh<EMAIL_ADDRESS>hello, this is banner
from human
Password:
Scrapli script:
./cisco_scrapli.py
No matching key exchange found for host, their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
To Reproduce
Steps to reproduce the behavior:

Your script

#!/usr/bin/python3
import json
from scrapli import Scrapli

# sandbox-iosxe-recomm-1.cisco.com - <IP_ADDRESS>
# sandbox-iosxe-latest-1.cisco.com - <IP_ADDRESS>

cli_username = 'developer'
cli_password = 'C1sco12345'
platform = 'cisco_iosxe'

device = {
            'host': '<IP_ADDRESS>',
            'auth_username': cli_username,
            'auth_password': cli_password,
            'auth_strict_key': False,
            'platform': platform
}
try:
    with Scrapli(**device) as conn:
        interfaces = conn.send_command('show version')
        output = interfaces.textfsm_parse_output()
        print(
            json.dumps(output, indent=4),
        )
except Exception as error:
    print(error)

What you're connecting to (vendor, platform, version) Cisco CSR(1000v) Version 16.9.3

OS (please complete the following information):

OS: Debian 11.1
scrapli version: 2021.7.30

Additional context
Add any other context about the problem here.

You need to tell scrapli to use the ssh config file. docs


Add build step for Swift package

Resolves #137.
This adds a build step to the Makefile in libs/sdk-bindings which will create a fully configured Swift package in libs/sdk-bindings/bindings-swift.
This package can then be added to any Xcode project by simply dropping the folder bindigns-swift folder into the project. It can also be used by other Swift packages as a local dependency. The approach is inspired by the way bdk ships its Swift bindings.
Another cool thing that bdk does is automatically push a fully configured Swift package to a separate repository using GitHub Actions. It would be cool if we could do that to. That way the Breez SDK could be used without anyone needing to build it manually. Instead, people could just add the repo URL to their project and Xcode/SPM would do the rest.
I'd say we do this step by step, though. This PR only adds the build step to create a local Swift package. Imo, setting up and configuring the hosted package in a separate repo can be a follow up PR if we agree that it makes sense.

👉 I removed the old swift-ios and swift-darwin build steps. Let me know if I should add them back.

I'd say we do this step by step, though. This PR only adds the build step to create a local Swift package. Imo, setting up and configuring the hosted package in a separate repo can be a follow up PR if we agree that it makes sense.

Sure thing! here is the repo for the following PR: https://github.com/breez/breez-sdk-swift

@cnixbtc @dangeross once the swift package is uploaded to a public repo it would be great also to change the react native plugin to use that url. This way we can publish the plugin without uploading the binaries

@cnixbtc @dangeross once the swift package is uploaded to a public repo it would be great also to change the react native plugin to use that url. This way we can publish the plugin without uploading the binaries

Sounds good. Any plans for a similar kotlin library so the react native module can be completely without binaries? Would be nice to automate it also based off of breez-sdk-swift releases but all the bridging and mapping is currently manually written.

@dangeross Yes we have also plan to do the same for android. @cnixbtc is leading this and going to handle it after we finish with swift.


Minor tweaks to T13 on ASE

Some minor tweaks to Tom's tutorial T13

Oooh, I may have moved to fast on this -- sorry.

No worries - nothing controversial in the changes. I was planning to let Tom have a look before accepting the request but no need really.


Problems opening the controller window

Hi Fabi,
Mysteriously, scAnt controller window is not opening in either one of my computers now...  we can still use scripts manually, like stacking and masking, but the controller widow does not open.  We don't get an error message or anything, just no window.  we tried the Liver view FLIR script and it does not open either.  We have restarted everything and the problem persists...  Would appreciate any thoughts! We can zoom if you can afford some time and you can look around to see if you can diagnose the problem.
Thanks!
Patty

Update: Sometime it works! But we would like to figure out why it does not sometimes...

Hi Patty!
How are things with your system?
I am now finally getting around to helping out with more scAnt requests, as we slowly ramp up developement work on that front again.
Let me know how things are on your end! I would love to see some of the models you have produced
All the best
Fabi


Update with meeting minutes

Minutes from Monday's HTTP kick-off meeting.
@swift-server/stakeholders please review.

I've tried to merge in everyones feedback and comments where possible (not always in the same level of detail). Any further discussion is best done via the mailing list.


Fix: Bootstrap ^5.2.0 autoplaying issue

If you compare the Bootstrap carousel docs between version 5.0 and 5.3 you will see that the option "interval" can't be false to disable autoplay anymore. This pull request fixes this issue by removing data-bs-ride="carousel" from the HTML and data-bs-interval which could be defined in options instead.
Fixes: https://github.com/trvswgnr/bs5-lightbox/issues/62

@SpiZeak thanks for this fix! @trvswgnr can we get a merge soon?

I confirm the change to index.js fixes the issue. I'm not sure about adding the bun.lockb file in this commit. @SpiZeak can you explain?

@jakublipinski bun.lockb is the lock file generated by bun, a drop-in replacement for npm. Since there's no package-lock.json, it can be removed from the PR.
Among other things, it's just a really quick way to install the node_modules folder.

I found i had to also add ride: true, to the options for autoplaying to start.
bootstrap 5.3.3


Update config.js

don't initialize window.Audio as part of an automatic setup, it will Barf in packagers such as webpack et.all.
instead make it part of the init call - like so:
 Amplitude.init({
      audio: new Audio(),
      bindings: {
        37: 'prev',
        39: 'next',
        32: 'play_pause',
      })

or alternatively wrap it in a conditional if(window && window.Audio)

Thank you for submitting your PR! I'll make the change to initialize the audio on init.

With the last PR of #420 , we can set this to null and the audio will get initialized through the changeSong method. This is convenient since we change the song to be the initialized song.


Create new cluster in existing AWS VPC

We already existing VPCs for dev/staging/prod environments. Instead of the Flynn installer creating a new cluster in its own VPC, it'd be ideal if I could create it inside one of my existing VPCs.

We have an issue for tracking this feature request: #2832
Feel free to drop a thumbs up over there and any additional comments, thanks!


Add support for consul version 1.x.x

Consul 1.0.0 has breaking API changes, see CHANGELOG and PR
Starting from this release it's not possible to use GET to update health checks. While trying do it we're getting: "Received 405 trying to update health".
It is necessary to use PUT verb for updating health checks.

fixed w/ #62


Failure within the chain

Hello, is there an ability to rollback previous services from call chain, e.g. similar to interactor gem?
Current docs don't have mentions such ability, but I just found it as part of your earlier presentation.
Thanks

Hi Ilya,
Could you please tel me what you want to rollback? Database insert?
Benjamin

On 6 Oct 2017, at 12:20, Ilya Hritsuk<EMAIL_ADDRESS>wrote:
Hello, is there an ability to rollback previous services from call chain, e.g. similar to interactor gem?
Current docs don't have mentions such ability, but I just found it as part of your earlier presentation.
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

No, for db your example with transaction is clear. My particular case is about stripe payment:
At first I want to do external call stripe_charge = Stripe::Charge.create(stripe_charge_params), since it's the least failsafe(not enough money or something like this) and than save payment to db, so if something went wrong with saving phase I'd like to refund stripe_charge

Ok :) what about adding this in a on_dam ?

That will work, but I guess it'd be better to place rollback logic to stripe charge subchain/service or to metaservice. Is it a way to propagate error to top of chain and catch it there? I suppose it's quite similar to what Interceptor gem does

These are super interesting discussions :)
What is tricky when you start using service objects is that they are supposed to be self contained.
Why not creating your own service object to handle the rollback of, but you would rather call it from the service where the charge is created, in the on_dam as we saw.
This should answer your short term need.

I understand the need for the rollback, it is very convenient. I am not sure I like the interactor's approach for it but I get it. I even did code it https://github.com/apneadiving/waterfall/tree/promises_syntax but I ditched it some time after.
A rollback would currently clash with the undam method provided: if the service was dammed then undammed, then should it be rolled back? what about sub services?
I am in the middle of considering to remove undam because it can lead people to undesired situations.
What is your take about it?

Here is an implementation, it is named reverse_flow. I have to think about it a little more.
https://github.com/apneadiving/waterfall/pull/9

I've released 1.2.0, where you have reverse_flow.
I have written a quick explanation here: https://github.com/apneadiving/waterfall#undo
The main benefit is whenever you have cases like:
def call
  chain { Service1.new }
  chain { Service2.new }
  on_dam { }
end

if Service2 fails, it opens the door to undo things in Service1.
All good for you?

It seems great, that's what I've mentioned. Thanks for you efforts

cool I guess I can close the issue then :)


(PE-31710) Remove backticks from bolt-server error messages

Standardize on using single quotes instead of backticks in error messages.

Folded in to https://github.com/puppetlabs/bolt/pull/2842/files