Cut-off thumbnail render

Both in light table and in editing any picture, jpg or raw is cut-off at the end. Zooming makes no difference. Only when actually changing the developing parameters is the full image rendered. Going back to the light table renders a broken image again. I guess it's only the thumbnail render?

Running on a AMD Laptop with dedicated AMD GPU.
It seems to make no difference what GPU i select with DRI_PRIME (except for performance.)
DRI_PRIME=1 vkdt --version
vkdt 0.5.0+git14.d8d8a1a-0+102.1 (c) 2020--2023 johannes hanika

lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy

DRI_PRIME=1 vulkaninfo --summary
[...]
VULKANINFO
==========

Vulkan Instance Version: 1.3.204

Instance Extensions: count = 19
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6

Instance Layers: count = 6
--------------------------
VK_LAYER_MESA_device_select       Linux device selection layer 1.3.211  version 1
VK_LAYER_MESA_overlay             Mesa Overlay layer           1.3.211  version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer          1.3.207  version 1

Devices:
========
GPU0:
	apiVersion         = 4206796 (1.3.204)
	driverVersion      = 92274693 (0x5800005)
	vendorID           = 0x1002
	deviceID           = 0x731f
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD RADV NAVI10
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 22.0.5
	conformanceVersion = <IP_ADDRESS>
	deviceUUID         = xxx
	driverUUID         = xxx
GPU1:
	apiVersion         = 4202700 (1.2.204)
	driverVersion      = 1 (0x0001)
	vendorID           = 0x10005
	deviceID           = 0x0000
	deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	deviceName         = llvmpipe (LLVM 13.0.1, 256 bits)
	driverID           = DRIVER_ID_MESA_LLVMPIPE
	driverName         = llvmpipe
	driverInfo         = Mesa 22.0.5 (LLVM 13.0.1)
	conformanceVersion = <IP_ADDRESS>
	deviceUUID         = xxx
	driverUUID         = xxx
GPU2:
	apiVersion         = 4206796 (1.3.204)
	driverVersion      = 92274693 (0x5800005)
	vendorID           = 0x1002
	deviceID           = 0x1636
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = AMD RADV RENOIR
	driverID           = DRIVER_ID_MESA_RADV
	driverName         = radv
	driverInfo         = Mesa 22.0.5
	conformanceVersion = <IP_ADDRESS>
	deviceUUID         = xx
	driverUUID         = xx

heya, thanks for the detailed report.
not sure DRI_PRIME does anything, vulkan is pretty free at selecting the gpu. see vkdt -d qvk for an output which one it's actually selecting (you can force it in ~/.config/vkdt/config.rc).
these render artifacts look really strange. the thumbnails are written in bc1/block based, maybe that's what we're seeing here? but you mentioned it happens when editing for real too. so maybe it's more an amd specific way of storing images? i'm guessing randomly here. did you build from source? maybe your driver has instructive validation layer output if you
make clean
make debug -j20
vkdt -d qvk

(i.e. compile with validation layer/debug support and run with vk output enabled)

OK, it gets a little more reproducible. Before each run i rm -rv ~/.cache/vkdt
setting the card to 0 via config.rc i get sluggish, almost unresponsive performance and vkdt is at 90% cpu load.
However, the thumbnails are rendered correctly, just very slowly.
[gui] glfwGetVersionString() : 3.3.6 X11 GLX EGL OSMesa clock_gettime evdev shared
[gui] monitor [0] eDP at 0 0
[gui] vk extension required by GLFW:
[gui]   VK_KHR_surface
[gui]   VK_KHR_xcb_surface
[qvk] dev 0: vendorid 0x1002
[qvk] dev 0: AMD RADV RENOIR
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] selecting device 0 by explicit request
[qvk] dev 1: vendorid 0x10005
[qvk] dev 1: llvmpipe (LLVM 13.0.1, 256 bits)
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range 65536
[qvk] device 1 does not support requested feature shaderSampledImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature shaderStorageImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature inheritedQueries, trying anyways
[qvk] dev 2: vendorid 0x1002
[qvk] dev 2: AMD RADV NAVI10
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] num queue families: 2
[qvk] picked device 0 without ray tracing and without float atomics support
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[gui] no joysticks found
[gui] no display profile file display.eDP, using sRGB!
[gui] no display profile file display.eDP, using sRGB!
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0

Setting the device to 2 i get great performance, but the thumbnails get cut-off and some images even have more glitches. I also notice "green" overall UI render glitches when moving around the light table.
When adjusting any sliders in develop mode the image does fully render without glitches.
[gui] glfwGetVersionString() : 3.3.6 X11 GLX EGL OSMesa clock_gettime evdev shared
[gui] monitor [0] eDP at 0 0
[gui] vk extension required by GLFW:
[gui]   VK_KHR_surface
[gui]   VK_KHR_xcb_surface
[qvk] dev 0: vendorid 0x1002
[qvk] dev 0: AMD RADV RENOIR
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] dev 1: vendorid 0x10005
[qvk] dev 1: llvmpipe (LLVM 13.0.1, 256 bits)
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range 65536
[qvk] device 1 does not support requested feature shaderSampledImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature shaderStorageImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature inheritedQueries, trying anyways
[qvk] dev 2: vendorid 0x1002
[qvk] dev 2: AMD RADV NAVI10
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] selecting device 2 by explicit request
[qvk] num queue families: 2
[qvk] picked device 2 without ray tracing and without float atomics support
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[gui] no joysticks found
[gui] no display profile file display.eDP, using sRGB!
[gui] no display profile file display.eDP, using sRGB!
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
Invalid SOS parameters for sequential JPEG
Invalid SOS parameters for sequential JPEG
RawSpeed:Compressor Version: CanonCR3_001/00.09.00/00.00.00
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
[ERR] input hilite:input not connected!
[qvk] error VK_INCOMPLETE executing record_command_buffer(graph, graph->node+nodeid[i], run_all || (graph->node[nodeid[i]].module->flags & s_module_request_read_source))!
[ERR] kernel hilite_01_half:input is not connected!
[ERR] kernel hilite_01_doub:input is not connected!
 Only happens with the initial thumbnail generation)
Using the OBS ppa at the moment, but I'll try the debug build.

OK, another odd but reproducible behavior that might narrow it down.
Initial state after opening a DNG in develop mode with cut-off image (and some histogram glitches)

I move the strength slider a little and the image renders correctly.
If i move the strength slider back to zero, the cut-off image glitch re-appears(!).

Touching any other sliders in favorites simply renders the full image, even when reset to default value.

the make debug build fails to load vulkan
file bin/vkdt
bin/vkdt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=57bf5662d752759f128deffaf7cb3101a107e738, for GNU/Linux 3.2.0, with debug_info, not stripped

./bin/vkdt -d qvk
[gui] glfwGetVersionString() : 3.3.6 X11 GLX EGL OSMesa clock_gettime evdev shared
[gui] monitor [0] eDP at 0 0
[gui] vk extension required by GLFW:
[gui]   VK_KHR_surface
[gui]   VK_KHR_xcb_surface
[qvk] error VK_ERROR_LAYER_NOT_PRESENT executing vkCreateInstance(&inst_create_info, NULL, &qvk.instance)!
[ERR] init vulkan failed
[ERR] failed to init gui/swapchain

the normal release build shows the same cut-off behavior at 12fa3f9823b64d17c6a2442bcba3e9c16585fb3a
file bin/vkdt
bin/vkdt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=49ff41b0fad85d51bf9e70319ed4625f9e020e60, for GNU/Linux 3.2.0, stripped

./bin/vkdt -d qvk
[gui] glfwGetVersionString() : 3.3.6 X11 GLX EGL OSMesa clock_gettime evdev shared
[gui] monitor [0] eDP at 0 0
[gui] vk extension required by GLFW:
[gui]   VK_KHR_surface
[gui]   VK_KHR_xcb_surface
[qvk] dev 0: vendorid 0x1002
[qvk] dev 0: AMD RADV RENOIR
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] dev 1: vendorid 0x10005
[qvk] dev 1: llvmpipe (LLVM 13.0.1, 256 bits)
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range 65536
[qvk] device 1 does not support requested feature shaderSampledImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature shaderStorageImageArrayDynamicIndexing, trying anyways
[qvk] device 1 does not support requested feature inheritedQueries, trying anyways
[qvk] dev 2: vendorid 0x1002
[qvk] dev 2: AMD RADV NAVI10
[qvk] max number of allocations -1
[qvk] max image allocation size 16384 x 16384
[qvk] max uniform buffer range<PHONE_NUMBER>
[qvk] selecting device 2 by explicit request
[qvk] num queue families: 2
[qvk] picked device 2 without ray tracing and without float atomics support
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[gui] no joysticks found
[gui] no display profile file display.eDP, using sRGB!
[gui] no display profile file display.eDP, using sRGB!
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0
[qvk] available surface formats:
[qvk] B8G8R8A8_SRGB
[qvk] B8G8R8A8_UNORM
[qvk] colour space: 0

./bin/vkdt --version
vkdt 0.5.0-23-g12fa3f98 (c) 2020--2023 johannes hanika

from the vulkaninfo for the device 2
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT

shaderBufferFloat32Atomics = true
shaderBufferFloat32AtomicAdd = false
shaderBufferFloat64Atomics = true
shaderBufferFloat64AtomicAdd = false
shaderSharedFloat32Atomics = true
shaderSharedFloat32AtomicAdd = true
shaderSharedFloat64Atomics = true
shaderSharedFloat64AtomicAdd = false
shaderImageFloat32Atomics = true
shaderImageFloat32AtomicAdd = false
sparseImageFloat32Atomics = true
sparseImageFloat32AtomicAdd = false

VK_ERROR_LAYER_NOT_PRESENT means you have to install the vulkan-validationlayers package (whatever it is called in your distro).
ah, shaderImageFloat32AtomicAdd is actually what i need, so it doesn't have atomics after all.
one of your images looked like the local contrast was applied to an incomplete/blocky image. also the histogram render has the blocks (and that's certainly not coming from an earlier module). that looks like a generic problem with barriers/image format conversion to me. might it be a driver issue?

I installed vulkan with the amdgpu-pro stack and the cut-off artifacts do disappear.
amdgpu-install --vulkan=pro --no-dkms --accept-eula  --no-32 --usecase=graphics
vulkaninfo reports the same set of VkPhysicalDeviceShaderAtomicFloatFeaturesEXT features.
Devices:
========
GPU0:
	apiVersion         = 4206824 (1.3.232)
	driverVersion      = 8388855 (0x8000f7)
	vendorID           = 0x1002
	deviceID           = 0x1636
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = Unknown AMD GPU
	driverID           = DRIVER_ID_AMD_PROPRIETARY
	driverName         = AMD proprietary driver
	driverInfo         = (AMD proprietary shader compiler)
	conformanceVersion = <IP_ADDRESS>
[..]
GPU1:
	apiVersion         = 4206824 (1.3.232)
	driverVersion      = 8388855 (0x8000f7)
	vendorID           = 0x1002
	deviceID           = 0x731f
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 5600M
	driverID           = DRIVER_ID_AMD_PROPRIETARY
	driverName         = AMD proprietary driver
	driverInfo         = (AMD proprietary shader compiler)
	conformanceVersion = <IP_ADDRESS>
[...]

I'll try some more driver combinations and maybe a mesa update.
Closing since nothing to fix on vkdt end.


Duan/e2ee upgrade

To be merged later, I'm compiling WebRTC-SDK and upgrading to M114.5735.08

done, the UI should no longer be stuck, even if ratchetWindowSize > 0 is set


Incorrect schema generation for Realm models in Flutter

What happened?
I have encountered an issue with the schema generation for Realm models in Flutter. When using the app services to generate the schema for Flutter, the generated code contains a discrepancy in the ObjectType for embedded objects.
The generated code is as follows:
import 'package:realm/realm.dart';
part 'realm_models.g.dart';

@RealmModel()
@MapTo('firstmod')
class _Firstmod {
  @PrimaryKey()
  @MapTo('_id')
  ObjectId? id;

  @MapTo('__v')
  int? v;

  _FirstmodSecond? second;
}

@RealmModel(ObjectType.embedded)
@MapTo('firstmod_second')
class _FirstmodSecond {
  _FirstmodSecondThird? third;
}

However, the correct code should be:
import 'package:realm/realm.dart';
part 'realm_models.g.dart';

@RealmModel()
@MapTo('firstmod')
class _Firstmod {
  @PrimaryKey()
  @MapTo('_id')
  ObjectId? id;

  @MapTo('__v')
  int? v;

  _FirstmodSecond? second;
}

@RealmModel(ObjectType.embeddedObject)
@MapTo('firstmod_second')
class _FirstmodSecond {
  _FirstmodSecondThird? third;
}

As you can see, there is a discrepancy in the ObjectType for the _FirstmodSecond class. It should be embeddedObject instead of embedded.
This inconsistency in the generated code can lead to issues when working with embedded objects in Realm models.
Additional Information:

The correct ObjectType for embedded objects in Realm models is embeddedObject.
The discrepancy in the generated code can cause issues when working with embedded objects in Realm models.

Thank you for your attention to this matter. Please let me know if you require any further information.
Repro steps
Steps to Reproduce:

Use the app services to generate the schema for Flutter Realm models.
Observe the generated code and check the ObjectType for embedded objects.

Expected Behavior:
The generated code should correctly set the ObjectType to embeddedObject for embedded objects in Realm models.
Actual Behavior:
The generated code incorrectly sets the ObjectType to embedded for embedded objects in Realm models.
Version
1.2.0
What Atlas Services are you using?
Both Atlas Device Sync and Atlas App Services
What type of application is this?
Flutter Application
Client OS and version
Android
Code snippets
No response
Stacktrace of the exception/crash you're getting
No response
Relevant log output
No response

Hi @erdzan12!
Thank you for reporting this issue! We appreciate it.
Based on your report we created a private ticket for the app service team and it will be handle in some of the next Atlas UI releases!
I'm closing the issue.


Fix workflow prio comparison

That explains why we are updating workflow priority all the time, we were comparing long with int.
@ticoann please review

Looks good to me.


Invoice exception statuses are ignored

Exception statuses on the invoices are not handled.  To recreate, simply post a valid IPN with an exception status set to anything.  It is logged in the IPN table but not handled.

Current system is working as intended in regards to invoice exception statuses from BitPay.


Fixed some issues found by static analysis.

This contains fixes for a lot of other kinds of resource leaks, but not memory leaks. Facebook Infer generally checks until it finds an error invalidating one value in a graph, and refuses to report the others. Will look into these lower priority memory concerns in a future PR.

closing stale PR


[Idea/Suggestion] Minimum and Maximum Hit chance per weapon

That way AWP doesn't shoot so soon with visible only off

This would be pretty cool, thanks for the suggestion!


Parameter --kerneltz not working

Hi,
First off, thank you for providing this nice tool!
I've been testing a little bit, and I noticed that the timing is not correct; I need to use a 1 hour offset (UTC-time?) to get it working on the times I want. I guess the use of the above parameter does not function (in my case?)
I'm on trunk, r48259, arokh's build for the WDR4900.

I know about the problem. It  arrived with OpenWrt CC. There is probably a bug in new kernel/iptables. My program works proerly on BB.
It's no easy way to fix the iptables bug in my soft, so let's be patient and wait for next release of OpenWrt.

Ok, thanks for letting me know :)

Hi Krzysztof. Thank you for creating this app, could be very useful for parental control. I am with CC 15.05.1. I can not have it working for some reason. It changes the firewall settings and creates entry there, but it still does not block the access. I am wondering if this is same issue as described above from Bouwew. If I have to do 1 Hrs offset, in which direction it should be? I am UTC-5 Eastern time.Thanks

Presumably the CC kernel problem is not fixed yet.
You should set times in UTC zone. It you want to set 12:00 local time, you need to enter 7:00.

 I put it in firewall.user and restart firewall.  Looks like –kerneltz is not the problem. It takes my router time,which is UTC-5hrs( Eeastern Standart time).
I am with Chaos Calmer 15.05.1
Thanks,
Lyudmil
From: Krzysztof Szuster<EMAIL_ADDRESS>Sent: Friday, April 01, 2016 11:17 AM
To: k-szuster/luci-access-control<EMAIL_ADDRESS>Cc: baipesho2<EMAIL_ADDRESS>Subject: Re: [k-szuster/luci-access-control] Parameter --kerneltz not working (#2)
Presumably the CC kernel problem is not fixed yet.
You should set times in UTC zone. It you want to set 12:00 local time, you need to enter 7:00.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub https://github.com/k-szuster/luci-access-control/issues/2#issuecomment-204456698


nixos/osmo-hlr: init. nixos/osmo-msc: init

Description of changes

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)
[X] 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

[X] 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/)
23.11 Release Notes (or backporting 23.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
[X] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Gonna close it for now, gonna repopen it once I have more time to work on it again.


LSP mode disabled in C/C++ buffers when project root not specified

What did you expect to happen?
LSP mode is enabled in buffer even when root folder is not in lsp-workspace-folders
What actually happened?
I'm working on a c++ file, which is standalone i.e, project root is not required. On the initial prompt to select project root, I selected to ignore the folder as a project. Now, LSP is disabled by default in the buffer, and I have to manually enable each time
Additional details:

This has been recreated with minimal config file i.e, no custom configs, only the defaults

Steps to reproduce:

Enable LSP for cc-mode in init.el
Create a new c++ file
On the prompt, choose to ignore folder as project
Close and reopen the file

Sounds related to https://github.com/hlissner/doom-emacs/issues/3880

As far as I know, the C/C++ LSP servers require a project. If you tell it to ignore the current project, you don't get LSP support. You could try enabling :tools (lsp +eglot) and see if eglot handles things any differently, but otherwise this isn't a bug, nor is it something I can fix on my end. Better to bring this up upstream.


ES6 module export

I'm using Rollup to build my project. It would be good if AJV had ES6 module exports so that it could make full use of Rollup.
I could have a go at implementing this if you like

It's been migrated to typescript, so should be an issue of changing the compilation target probably. Please check v7-alpha and comment if something is still needed - closing


Allow Juno to be configured by using environment variables

So instead of using flags or config file, we should be able to use environment variables as configuration as well.
see viper.AutomaticEnv

I would like to work on this issue

I would like to work on this issue

Sure, go ahead :+1:

Is it still open ? I'd like to work on this @omerfirmak

@lazyfuhrer it is still open, please go ahead.

check #988 @omerfirmak

I've seen this issue inactive for about 2 months, so I'm trying to fix it.
pr: https://github.com/NethermindEth/juno/pull/1286


Investigate problem after #200

Seems to be some sporadic CI failures after #200 got merged.
Error seems to be this:
Install Rust for Xtensa
Run esp-rs/xtensa-toolchain@main
[...]
Run curl -L https://github.com/esp-rs/embuild/releases/latest/download/ldproxy-x86_64-unknown-linux-gnu.zip
[...]
Run curl -L https://github.com/esp-rs/espup/releases/latest/download/espup-x86_64-unknown-linux-gnu  -o
[...]
Run bash /home/runner/work/_actions/esp-rs/xtensa-toolchain/main/install.sh all latest
  bash /home/runner/work/_actions/esp-rs/xtensa-toolchain/main/install.sh all latest
  [[ "true" = true ]] && rustup default esp || true
  [[ "true" = true ]] && rustup override unset || true
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    rust_toolchain: nightly
jq: error (at <stdin>:4): Cannot index string with string "prerelease"
ERROR: version number is not correctly formatted:
Error: Process completed with exit code 1.

This is a transient failure we've being seeing from the xtensa-toolchain action, the failing jobs just need to be rerun. I think @jessebraham or @SergioGasquez is looking into it.


float: inline-start only supported by FF

https://github.com/C-Lodder/lightning/blob/920bfd1bee9e106e56e1a1ef46c8eca127b2e30b/src/css/utility/float.css
Ref: https://caniuse.com/#feat=mdn-css_properties_float_flow_relative_values

Damn, that's not good.

reverted back to standard properties


Move 29 files from framework/app-domains to standard/assembly

Per User Story https://mseng.visualstudio.com/TechnicalContent/_workitems/edit/1576023

Move 29 files from framework/app-domains to standard/assembly
Update TOCs
Add redirects

@rpetrusha - I've double-checked the links and verified that the move happened correctly, so this is ready for your review. Please see @mairaw comment and let me know how you'd like to proceed.
I can easily use the same tool to rename files as I did to move them, but if we start renaming the files, there might be other filename issues like small words that we need to consider.

Yes, removing the small words would also be ideal. Given that we're moving and renaming we have a chance to fix these files that were migrated as-is from MSDN.
But I'll let @rpetrusha since he's the one who's driving this.

Thanks, @v-thepet. I agree with what @mairaw said. This is a chance to simplify after migration while addressing many of the side effects of assorted migration. Duplication of "assembly" in the file path and filename can be eliminated, and filenames can be condensed, especially by removing articles, and possibly by removing "how-to" from titles. The titles need to remain contextually meaningful without being verbose and don't need to mirror the topic title exactly.

@rpetrusha @mairaw - What do you think of the proposed renames attached? (This is the whole folder, which already had 3 files in it before the move.) Some of these seem uncomfortably brief, but I suppose with the whole folder path they make sense?
assembly-renames.xlsx

Some of them are a bit terse (like names.md), but given the full path, I think that that's OK. Except for the issue of terseness, the filenames are really good.

Per email I'm going to close this PR and open a new one to do all the moves and renames at once.

See PR https://github.com/dotnet/docs/pull/13851.


Can’t use custom loss or metrics in Director-Based workflow

Describe the bug
Can’t use custom loss or metrics to train a model with tf.keras.Model APIs in Director-Based workflow.
Configurations:

OpenFL workflow: Director-Based
Model to train: 3D U-Net
Loss function: dice loss
Metric: dice coefficient

I was training 3D U-Net with OpenFL. The loss function I used is dice loss.
To improve the training performance on Intel Xeon CPUs, I compiled my model with tf.keras.Model.compile() and did the training task with tf.keras.Model.fit(). These methods execute my model in “graph execution mode”, improving the training performance in Director-Based workflow. This is the training task:
# Register FL training task
@TI.register_fl_task(model='model', data_loader='data_loader', device='device', optimizer='optimizer')
def train(model, data_loader, device, optimizer, loss_fn=loss_fn):
    history = model.fit(data_loader, epochs=1, verbose=1)

    return dict(zip(['loss'], [np.mean([history.history['loss']])]))

However, I couldn’t use the custom loss function, dice loss, in this approach. The collaborator failed with the error:
Unknown loss function: dice loss
           INFO     🧿 Starting a Collaborator Service.                                                                                envoy.py:159
           INFO     Building 🡆 Object CloudpickleSerializer from openfl.plugins.interface_serializer.cloudpickle_serializer Module.                  plan.py:173
           ERROR    Collaborator failed with error: Unknown loss function: dice_loss. Please ensure this object is passed to the `custom_objects`    envoy.py:93
                    argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.:

I also tried disabling __reduce__ override on tf.keras.Model, but the collaborator keeps failing.
To use the custom loss function, I must define it in keras_adapter.py on the director. Then, the collaborator will know what dice loss is and start training. The code will be like this:
class FrameworkAdapterPlugin(FrameworkAdapterPluginInterface):
    """Framework adapter plugin class."""

    def __init__(self) -> None:
        """Initialize framework adapter."""
        pass

    @staticmethod
    def serialization_setup():
        """Prepare model for serialization (optional)."""
        # Source: https://github.com/tensorflow/tensorflow/issues/34697
        import tensorflow as tf
        from tensorflow.keras.models import Model
        from tensorflow.python.keras.layers import deserialize
        from tensorflow.python.keras.layers import serialize
        from tensorflow.python.keras.saving import saving_utils

        # MODIFICATIONS
        def dice_coef(target, prediction, axis=(1, 2, 3), smooth=0.0001):
            """
            Sorenson Dice
            \frac{  2 \times \left | T \right | \cap \left | P \right |}{ \left | T \right | +  \left | P \right |  }
            where T is ground truth mask and P is the prediction mask
            """
            prediction = tf.round(prediction)  # Round to 0 or 1

            intersection = tf.reduce_sum(target * prediction, axis=axis)
            union = tf.reduce_sum(target + prediction, axis=axis)
            numerator = tf.constant(2.) * intersection + smooth
            denominator = union + smooth
            coef = numerator / denominator

            return tf.reduce_mean(coef)

        # MODIFICATIONS
        def dice_loss(target, prediction, axis=(1, 2, 3), smooth=0.0001):
            """
            Sorenson (Soft) Dice loss
            Using -log(Dice) as the loss since it is better behaved.
            Also, the log allows avoidance of the division which
            can help prevent underflow when the numbers are very small.
            """
            intersection = tf.reduce_sum(prediction * target, axis=axis)
            p = tf.reduce_sum(prediction, axis=axis)
            t = tf.reduce_sum(target, axis=axis)
            numerator = tf.reduce_mean(intersection + smooth)
            denominator = tf.reduce_mean(t + p + smooth)
            dice_loss = -tf.math.log(2.*numerator) + tf.math.log(denominator)

            return dice_loss

        def unpack(model, training_config, weights):
            restored_model = deserialize(model)

            # MODIFICATIONS
            custom_obj = {'dice_loss': dice_loss, 'dice_coef': dice_coef}

            if training_config is not None:
                restored_model.compile(
                    **saving_utils.compile_args_from_training_config(
                        training_config, custom_objects=custom_obj    # MODIFICATIONS
                    )
                )
            restored_model.set_weights(weights)
            return restored_model

To Reproduce
custom_loss_error.zip

Reproduce the error:
(1) Download custom_loss_error.zip and unzip it
(2) Start the director with the config file in director folder
> fx director start --disable-tls -c director.yaml
(3) Start the envoy with the config file and the shard descriptor in envoy folder
> fx envoy start -n NAME --disable-tls --envoy-config-path envoy_config.yaml -dh HOSTNAME -dp 54003
(4) Start experiment with the Jupyter notebook and model definition in workspace folder
> jupyter lab
(5) Run all Jupyter notebook cells to start the experiment

Use custom loss function for training tasks:
(1) Open keras_adapter.py in openfl/plugins/frameworks_adapters folder
(2) Modify keras_adapter.py...

class FrameworkAdapterPlugin(FrameworkAdapterPluginInterface):
    """Framework adapter plugin class."""

    def __init__(self) -> None:
        """Initialize framework adapter."""
        pass

    @staticmethod
    def serialization_setup():
        """Prepare model for serialization (optional)."""
        # Source: https://github.com/tensorflow/tensorflow/issues/34697
        import tensorflow as tf
        from tensorflow.keras.models import Model
        from tensorflow.python.keras.layers import deserialize
        from tensorflow.python.keras.layers import serialize
        from tensorflow.python.keras.saving import saving_utils

        # MODIFICATIONS
        def dice_coef(target, prediction, axis=(1, 2, 3), smooth=0.0001):
            """
            Sorenson Dice
            \frac{  2 \times \left | T \right | \cap \left | P \right |}{ \left | T \right | +  \left | P \right |  }
            where T is ground truth mask and P is the prediction mask
            """
            prediction = tf.round(prediction)  # Round to 0 or 1

            intersection = tf.reduce_sum(target * prediction, axis=axis)
            union = tf.reduce_sum(target + prediction, axis=axis)
            numerator = tf.constant(2.) * intersection + smooth
            denominator = union + smooth
            coef = numerator / denominator

            return tf.reduce_mean(coef)

        # MODIFICATIONS
        def dice_loss(target, prediction, axis=(1, 2, 3), smooth=0.0001):
            """
            Sorenson (Soft) Dice loss
            Using -log(Dice) as the loss since it is better behaved.
            Also, the log allows avoidance of the division which
            can help prevent underflow when the numbers are very small.
            """
            intersection = tf.reduce_sum(prediction * target, axis=axis)
            p = tf.reduce_sum(prediction, axis=axis)
            t = tf.reduce_sum(target, axis=axis)
            numerator = tf.reduce_mean(intersection + smooth)
            denominator = tf.reduce_mean(t + p + smooth)
            dice_loss = -tf.math.log(2.*numerator) + tf.math.log(denominator)

            return dice_loss

        def unpack(model, training_config, weights):
            restored_model = deserialize(model)

            # MODIFICATIONS
            custom_obj = {'dice_loss': dice_loss, 'dice_coef': dice_coef}

            if training_config is not None:
                restored_model.compile(
                    **saving_utils.compile_args_from_training_config(
                        training_config, custom_objects=custom_obj    # MODIFICATIONS
                    )
                )
            restored_model.set_weights(weights)
            return restored_model

(3) Download custom_loss_error.zip and unzip it
(4) Start the director with the config file in director folder
> fx director start --disable-tls -c director.yaml
(5) Start the envoy with the config file and the shard descriptor in envoy folder
> fx envoy start -n NAME --disable-tls --envoy-config-path envoy_config.yaml -dh HOSTNAME -dp 54003
(6) Start experiment with the Jupyter notebook and model definition in workspace folder
> jupyter lab
(7) Run all Jupyter notebook cells to start the experiment
Expected behavior
Custom loss functions should be deserialized correctly on the envoy (or collaborator) and the training runs smoothly.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 18.04
Python: 3.7.5
OpenFL: 1.3
TensorFlow: 2.7.0

Additional context
The dataset I used is private, I couldn’t share it at this moment. Thus, the shard descriptor in custom_loss_error.zip generates random data to simulate the workflow and reproduce the error.
Traceback of the error:
           INFO     🧿 Starting a Collaborator Service.                                                                                envoy.py:159
           INFO     Building 🡆 Object CloudpickleSerializer from openfl.plugins.interface_serializer.cloudpickle_serializer Module.                  plan.py:173
           ERROR    Collaborator failed with error: Unknown loss function: dice_loss. Please ensure this object is passed to the `custom_objects`    envoy.py:93
                    argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.:
                    Traceback (most recent call last):
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/component/envoy/envoy.py", line 91, in run
                        self._run_collaborator()
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/component/envoy/envoy.py", line 162, in
                    _run_collaborator
                        self.certificate, shard_descriptor=self.shard_descriptor)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 448, in
                    get_collaborator
                        model_provider, task_keeper, data_loader = self.deserialize_interface_objects()
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 554, in
                    <genexpr>
                        return (self.restore_object(api_layer['settings'][filename]) for filename in filenames)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 574, in
                    restore_object
                        obj = serializer_plugin.restore_object(filename)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/plugins/interface_serializer/cloudpickle_s
                    erializer.py", line 27, in restore_object
                        return cloudpickle.load(f)
                      File
                    "/home/user/Desktop/Github/director_DM/venv/lib/python3.7/site-packages/openfl/plugins/frameworks_adapters/keras_adapter.py",
                    line 28, in unpack
                        training_config
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/saving/saving_utils.py",
                    line 213, in compile_args_from_training_config
                        loss = _deserialize_nested_config(losses.deserialize, loss_config)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/saving/saving_utils.py",
                    line 254, in _deserialize_nested_config
                        return deserialize_fn(config)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/losses.py", line 2109, in
                    deserialize
                        printable_module_name='loss function')
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py",
                    line 709, in deserialize_keras_object
                        .format(printable_module_name, object_name))
                    ValueError: Unknown loss function: dice_loss. Please ensure this object is passed to the `custom_objects` argument. See
                    https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.
           INFO     Send WaitExperiment request                                                                                director_client.py:80
           INFO     WaitExperiment response has received                                                                                director_client.py:82

@sky712345678 This looks like a serialization issue.
Tensorflow 2.7 had issues supporting native serialization and requiring overrides on __reduce__. This was fixed in later Tensorflow releases https://github.com/keras-team/keras/pull/14748.
Can you quickly check if you see the same issue with Tensorflow 2.8 (with default adapter)? That will help us narrow down the issue.

After switching to TensorFlow 2.8 (or 2.9) with default adapter, I got the same issue in https://github.com/intel/openfl/issues/422. The collaborator failed with BatchNormalization layer.
           INFO     🧿 Starting a Collaborator Service.                                                                                envoy.py:159
           INFO     Building 🡆 Object CloudpickleSerializer from openfl.plugins.interface_serializer.cloudpickle_serializer Module.                  plan.py:173
           ERROR    Collaborator failed with error: Unknown layer: BatchNormalization. Please ensure this object is passed to the `custom_objects`   envoy.py:93
                    argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.:
                    Traceback (most recent call last):
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/component/envoy/envoy.py", line 91, in run
                        self._run_collaborator()
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/component/envoy/envoy.py", line 162, in
                    _run_collaborator
                        self.certificate, shard_descriptor=self.shard_descriptor)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 448, in
                    get_collaborator
                        model_provider, task_keeper, data_loader = self.deserialize_interface_objects()
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 554, in
                    <genexpr>
                        return (self.restore_object(api_layer['settings'][filename]) for filename in filenames)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/federated/plan/plan.py", line 574, in
                    restore_object
                        obj = serializer_plugin.restore_object(filename)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/openfl/plugins/interface_serializer/cloudpickle_s
                    erializer.py", line 27, in restore_object
                        return cloudpickle.load(f)
                      File
                    "/home/user/Desktop/Github/director_DM/venv/lib/python3.7/site-packages/openfl/plugins/frameworks_adapters/keras_adapter.py",
                    line 24, in unpack
                        restored_model = deserialize(model)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/layers/serialization.py",
                    line 127, in deserialize
                        printable_module_name='layer')
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py",
                    line 678, in deserialize_keras_object
                        list(custom_objects.items())))
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/functional.py",
                    line 668, in from_config
                        config, custom_objects)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/functional.py",
                    line 1278, in reconstruct_from_config
                        process_layer(layer_data)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/engine/functional.py",
                    line 1260, in process_layer
                        layer = deserialize_layer(layer_data, custom_objects=custom_objects)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/layers/serialization.py",
                    line 127, in deserialize
                        printable_module_name='layer')
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py",
                    line 660, in deserialize_keras_object
                        config, module_objects, custom_objects, printable_module_name)
                      File "/home/user/Desktop/Github/director_CM/venv/lib/python3.7/site-packages/tensorflow/python/keras/utils/generic_utils.py",
                    line 561, in class_and_config_for_serialized_keras_object
                        .format(printable_module_name, class_name))
                    ValueError: Unknown layer: BatchNormalization. Please ensure this object is passed to the `custom_objects` argument. See
                    https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.
           INFO     Send WaitExperiment request                                                                                director_client.py:80
           INFO     WaitExperiment response has received                                                                                director_client.py:82

Hi @sky712345678, I was able to reproduce the error. I bumped the TF version to 2.8 and instead got this error:
ValueError: Unable to restore custom object of type _tf_keras_metric. Please make sure that any custom layers are included in
                    the `custom_objects` arg when calling `load_model()` and make sure that all layers implement `get_config` and `from_config`.

For TF version 2.8 or above, serialization_setup() isn't called, so that's not the issue. The issue is that if custom objects are serialized, they need to be defined during deserialization/loading the model.  When you define custom loss as a part of the model, then during deserialization,  cloudpickle calls native keras load_model() which needs the definition of custom loss. Hence the error.
A 'hacky' way that works: Don't used compiled model with ModelInterface class, instead put model.compile(loss=loss_fn, optimizer=optimizer, loss_weights=[3], metrics=[dice_coef]) inside the train task before model.fit(). Compile defines the loss function, optimizer and metrics and doesn't affect the weights in any way.

Hi @mansishr ,
I forgot to mention, I also got the same _tf_keras_metric error with TensorFlow 2.8. It is because that I used custom metric dice_coef for the training.
Unset the argument metrics in model.compile() and the error of _tf_keras_metric should disappear.
I've tested the hacky way with 1 aggregator and 1 collaborator (run with 2 terminals). Putting model.compile() inside the train task did work. The model converged.
I think I will test it with more collaborators next. See if losing optimizer states influence the training process.
Also, if there are any better ways to solve the problem, please share with me. Thank you.

Closing this issue, as the Interactive API is being deprecated in favor of Workflow API.


Auth::routes() doesn't work when placed AFTER Route::resource()

//Example routes/web.php:
Route::resource('admin/group', 'Admin\GroupAdminController');
Auth::routes();

It looks like Auth::routes() doesn't work as expected when placed AFTER a call of Route::resource() in the routes file.
Calling php artisan route:list shows that except for the password reset routes no auth routes are generated anymore.
Placing Auth::routes() at the top of the file fixes the problem.
Is this intended? If yes, I would consider it a really strong sid effect of Route::resource() that should be mentioned in the docs.

I'm using Laravel 5.3.4 and it doesn't matter where I put the Auth::routes, it generates correct set of routes:
+--------+-----------+--------------------------+---------------+------------------------------------------------------------------------+------------+
| Domain | Method    | URI                      | Name          | Action                                                                 | Middleware |
+--------+-----------+--------------------------+---------------+------------------------------------------------------------------------+------------+
|        | POST      | admin/group              | group.store   | App\Http\Controllers\Admin\GroupAdminController@store                  | web        |
|        | GET|HEAD  | admin/group              | group.index   | App\Http\Controllers\Admin\GroupAdminController@index                  | web        |
|        | GET|HEAD  | admin/group/create       | group.create  | App\Http\Controllers\Admin\GroupAdminController@create                 | web        |
|        | GET|HEAD  | admin/group/{group}      | group.show    | App\Http\Controllers\Admin\GroupAdminController@show                   | web        |
|        | PUT|PATCH | admin/group/{group}      | group.update  | App\Http\Controllers\Admin\GroupAdminController@update                 | web        |
|        | DELETE    | admin/group/{group}      | group.destroy | App\Http\Controllers\Admin\GroupAdminController@destroy                | web        |
|        | GET|HEAD  | admin/group/{group}/edit | group.edit    | App\Http\Controllers\Admin\GroupAdminController@edit                   | web        |
|        | POST      | login                    |               | App\Http\Controllers\Auth\LoginController@login                        | web,guest  |
|        | GET|HEAD  | login                    | login         | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest  |
|        | POST      | logout                   |               | App\Http\Controllers\Auth\LoginController@logout                       | web        |
|        | POST      | password/email           |               | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest  |
|        | GET|HEAD  | password/reset           |               | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest  |
|        | POST      | password/reset           |               | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest  |
|        | GET|HEAD  | password/reset/{token}   |               | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest  |
|        | GET|HEAD  | register                 |               | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest  |
|        | POST      | register                 |               | App\Http\Controllers\Auth\RegisterController@register                  | web,guest  |
+--------+-----------+--------------------------+---------------+------------------------------------------------------------------------+------------+

Could you provide some reproducible example of this error?

Please discuss on the forums,


0 depth reported across many genes in the pandora consensus

Putting this here as a reminder until I am able to get a minimal example showing this. It seems that the quality string in the pandora consensus file says that all bases are 0 depth for many genes. I do not think it is a major issue because most people will not be using Pandora at the same level as me but it is something to be aware of. My work around is remapping all of my reads to the pandora consensus using minimap2 and estimating the coverage of each base from that.

Just a reminder we need a small example


docs: import-url: document remote notation

Report
E.g.
[core]
    remote = myremore

['remote "myremore"']
    url = azure://mycontainer
    account_name = myaccount1

['remote "myraw"']
    url = azure://myrawcontainer
    account_name = myaccount2

and now instead of
dvc import-url azure://myrawcontainer/file.parquet

and having to set, AZURE_STORAGE_ACCOUNT env var, you would just
dvc import-url remote://myraw/file.parguet

@efiop Do you think it's needed in the docs? Do you want to add an example to import-url?


Text replacing issues in post requests

Gitea version (or commit ref): 1.8
Git version: 2.17.1
Operating system: Ubuntu 18.04.2
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
https://try.gitea.io/marcs/bug_test/compare/master...issue%232
If we try to pull-request branch "issue#N" into "master" we got error 404.
We can see from the log on our own server (caption below) that the issue is with the post request text replacing %23N (#N) by %2523N.
...
Screenshots
Apr 16 17:15:02 rd1 gitea[19212]: [Macaron] 2019-04-16 17:15:02: Started GET /DSP/Prometheus/compare/develop...feature/issue%235 for <IP_ADDRESS>
Apr 16 17:15:02 rd1 gitea[19212]: [Macaron] 2019-04-16 17:15:02: Completed GET /DSP/Prometheus/compare/develop...feature/issue%235 200 OK in 190.126663ms
Apr 16 17:15:06 rd1 gitea[19212]: [Macaron] 2019-04-16 17:15:06: Started POST /DSP/Prometheus/compare/develop...feature/issue%25235 for [::1]
Apr 16 17:15:06 rd1 gitea[19212]: [Macaron] 2019-04-16 17:15:06: Completed POST /DSP/Prometheus/compare/develop...feature/issue%25235 404 Not Found in 53.722988ms

Hmm on try that appears to be working. Could you attempt to replicate on try?

https://try.gitea.io/marcs/bug_test/compare/master...issue%232
If you just try to create a pull request to merge "issue#2" into "master" i got a error 404

Ah I see! Sorry I just did that!

And if you look at the URL when getting the error it replaces %232 (which represents #2 correctly) with %25232.

I just noticed another issue try creating a file using the editor with a new branch say #3. You're redirected to something awful too.

Yeah, we also saw that problem! So it suggests it's somewhere in http text replacement.

OK, so this one is due to:
https://github.com/go-gitea/gitea/blob/8d01b9857ffeb1408b3fe6ca2007de5a81eaacd6/templates/repo/issue/new_form.tmpl#L1
Here the link is being twice escaped.

I'm fairly certain that that should never need to be EscapePounded

So, creating that template under /custom/templates/repo/issue and remove the escaping should do the trick?

yeah

I'm gonna try it tomorrow then.
Thank you so much, I'm quite new on gitea but loving it so far. 😄

The other bug I mentioned should be fixed by #6657


Add onLongPressURL

Add a method onLongPressURL. That would be useful (for example) to copy the URL

Labeling it, since this property isn't added yet.


unable to login

Hi Dude,
I am having issues with a script i am trying to make is it me being a noobie or is it the site?
Website: http://www.celticfc.tv/login
HTML of site: http://pastebin.com/raw/0VYjJfnm
import cfscrape
import requests
scraper = cfscrape.create_scraper()

scraper.get("http://www.celticfc.tv/login", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Accept": "*/*", "Referer": "http://www.celticfc.tv/login"})

grabbedcookies = cfscrape.get_tokens("http://www.celticfc.tv/login", user_agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36")

loginok = scraper.post("http://www.celticfc.tv/login", headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Accept": "*/*", "Referer": "http://www.celticfc.tv/login","Content-Type": "application/x-www-form-urlencoded"}, data={"usernamecfc": "konrad", "password": "konrad"})

if 'logout' in loginok.text:
	print loginok.text
else:
	print "Login Failed"

The account works and when i've proxied the requests i notice that when it sends the post it still ends up back at the login page even though the login works.

Nothing to do with Cfscrape : the endpoint for the login payload is not /login but /loggingin. I was able to login using this simple code :
domain = "http://www.celticfc.tv"
loginUrl = domain+"/loggingin"
payload = {"usernamecfc": "konrad", "password": "konrad"}

scraper = cfscrape.create_scraper()
scraper.get( domain )
loginok = scraper.post( loginUrl, data=payload ).content

if 'logout' in loginok:
    print loginok
else:
    print "Login Failed"


Add --region and --path-style for other S3 compatible services

Oracle Cloud ObjectStorage
minio

Please wait merging. There are some points to fix to use pathStyle.

Now works fine.


Hide the sidebar TOC for the Interactive Scenarios

Based on discussions with @steveperry-53 and @heckj
These changes forces the existing tablet view (with TOC hidden) on the interactive scenarios. The change will give the content and terminal window more space making it easier for users to understand Kubernetes. Users will be able to navigate to the next page in the tutorial via the button underneath the existing scenario.
Current site:

Changed - by default, sidebar will be hidden:

Changed - Main View:

Changed - With sidebar open via hamburger menu in the corner:

The other pages on the site remain unchanged.

This change is

nice.
/lgtm

Thanks @BenHall and @tengqm.


BUG: Include the model name when logging to external

Move to Apoch, option to add prefix or suffix to logging


Mobile compatibility Issue

First of all, super well done on this power-up. Genius idea, and works really well on the desk to version.
However, I'm struggling to get it to work on the mobile IOS version. I have an iPhone 11. Just doesn't seem to recognise the power up...
Is it working for others...
Do you have any tips on how to get it to work for myself?
Kind regards,
Hayden

(Btw I'm using version 1.9.12)

Thanks for your kind review! I'm glad it helped you.
I tested the app on my iPhone and iPad (replay), and it works as expected.
I'm also using version 1.9.12 in the TestFlight program.
I think something went wrong, but it's hard to say why. As you know, the mobile app is still in the testing phase and not yet stable. The development team is aware of the issues and working on fixing them.
Best regards,


Zebra KR403 on ubuntu

Hello,
do you have any idea if the KR403 printer can work with Ubuntu 16.04
thanks you

It looks like this printer supports ZPL, so it should work, but we have never tested it.


Download failed

I'm getting download failed in some posts, no matter if they are public or private. Can you fix that?
I'm using Firefox 123.0 on Android 11

Hello, you can try the latest version(2.0.5) to see whether the problem still exists.


Real Time Messages

Description
With this PR I'm trying to make the current generate_labgraph_monitor() include the message data content, such as it will send the quantitative data to the front-end. In other words, I'm trying to update the structure of the WebSocketsAPI Message from this:
"Attenuator": [{
		"name": "RandomMessage",
		"fields": {
			"timestamp": {
				"type": "float"
			},
			"data": {
				"type": "ndarray"
			}
		}
	}
]

to this:
"Attenuator": [{
		"name": "RandomMessage",
		"fields": {
			"timestamp": {
				"type": "float",
				"content":<PHONE_NUMBER>.474803,
			},
			"data": {
				"type": "ndarray",
				"content": array([0.77135353, 0.61299748, 0.34146919, 0.46154968, 0.19577749],
			}
		}
	}
]

It will fix #53 once finished (should only be merged after #58)
How To Run
By running this from your LabGraph root directory
labgraph$ python labgraph/examples/labgraph_monitor_example.py

you will start getting the following print result:
"name": "WSSenderNode",
    "nodes": {
        "Serializer": {
            "upstreams": {
                "NoiseGenerator": [
                    {
                        "name": "RandomMessage",
                        "fields": {
                            "timestamp": {
                                "type": "float",
                                "content":<PHONE_NUMBER>.0660968
                            },
                            "data": {
                                "type": "ndarray",
                                "content": [
                                    0.43446801511555844,
                                    0.12821419443680548,
                                    0.15750558665376602,
                                    ...
                                ]
                            }
                        }
                    }
                ],
...
}

Type of change
Please delete options that are not relevant.

[X] New feature (non-breaking change which adds functionality)
[X] This change requires a documentation update

Feature/Issue validation/testing
Once finished, a good test would be to visit each field in fields and check content based on the given type (i.e. using python's type())
Checklist:

[ ] Have you added tests that prove your fix is effective or that this feature works?
[x] New and existing unit tests pass locally with these changes?
[x] Has code been commented, particularly in hard-to-understand areas?
[x] Have you made corresponding changes to the documentation?

Blockers

As far as I could understand, the current YAML extension doesn't run the graph to produce data (i.e. lg.run(Demo)), but instead it runs the WSSenderNode. https://github.com/facebookresearch/labgraph/blob/52719689e242a2684283307477cc7b08a0654f34/extensions/yaml_support/labgraph_monitor/server/lg_monitor_server.py#L83 So I'm trying generate the data with NoiseGenerator within that graph and then publish it to the Seralizer.
Having published that data to the Serializer, https://github.com/facebookresearch/labgraph/blob/52719689e242a2684283307477cc7b08a0654f34/extensions/yaml_support/labgraph_monitor/server/lg_monitor_server.py#L75 I'm trying to read it in that node and update the SerializerConfig with received data from the NoiseGenerator https://github.com/facebookresearch/labgraph/blob/52719689e242a2684283307477cc7b08a0654f34/extensions/yaml_support/labgraph_monitor/server/serializer_node.py#L32
Unfortunately, I'm failing to use the updated SerializedGraph from update() when creating the WSStreamMessage

Any help would be appreciated :)

As to my previous blocker, I'm trying a little bit of a different approach now.
Please see my code comments for the step-by-step approach.

Update
I used the last commit to convert the graph to send the following serialized real-time message. Look for "data_content"
It works by running the graph simultaneously with the WebSockets node, which helps us subscribe to all of the topics and then put the information in the serialized message.

Click to view
  {
      "stream_batch": {
          "stream_id": "LABGRAPH.MONITOR",
          "labgraph.monitor": {
              "samples": [
                  {
                      "data": {
                          "name": "WSSenderNode",
                          "nodes": {
                              "Serializer": {
                                  "upstreams": {
                                      "NoiseGenerator": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "0.9776421478209004"
                                              }
                                          }
                                      ],
                                      "RollingAverager": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "0.5336320474273315"
                                              }
                                          }
                                      ],
                                      "Amplifier": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "1.1731705773850805"
                                              }
                                          }
                                      ],
                                      "Attenuator": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "1.738520901856136"
                                              }
                                          }
                                      ]
                                  }
                              },
                              "WSAPIServerNode": {
                                  "upstreams": {
                                      "Serializer": [
                                          {
                                              "name": "WSStreamMessage",
                                              "fields": {
                                                  "samples": "float64",
                                                  "stream_name": "str",
                                                  "stream_id": "str"
                                              }
                                          }
                                      ]
                                  }
                              },
                              "NoiseGenerator": {
                                  "upstreams": {}
                              },
                              "RollingAverager": {
                                  "upstreams": {
                                      "NoiseGenerator": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "0.9776421478209004"
                                              }
                                          }
                                      ]
                                  }
                              },
                              "Amplifier": {
                                  "upstreams": {
                                      "NoiseGenerator": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "0.5336320474273315"
                                              }
                                          }
                                      ]
                                  }
                              },
                              "Attenuator": {
                                  "upstreams": {
                                      "NoiseGenerator": [
                                          {
                                              "name": "RandomMessage",
                                              "fields": {
                                                  "timestamp": "float",
                                                  "data": "ndarray",
                                                  "data_content": "1.1731705773850805"
                                              }
                                          }
                                      ]
                                  }
                              }
                          }
                      },
                      "produced_timestamp_s":<PHONE_NUMBER>.1736534,
                      "timestamp_s":<PHONE_NUMBER>.1736543
                  }
              ],
              "batch_num": 21
          }
      }
  }

Added an Example
I just added an example of using the graph topology along with real-time messages to labgraph/examples/labgraph_monitor_example.py
I'm hoping to add some logic behind assigning values and adding INPUT channels in serialier_node.py. Right now it is very manual.

@bennaaym do you think you could give me a quick review? I'm trying to finish up this PR, so would love some feedback. The most useful way to check it would be here: labgraph_monitor_example.py

@jfResearchEng this PR is ready for review. you can find the latest documentation with examples here: https://github.com/facebookresearch/labgraph/blob/4751118039e1bea0ea0468cc27ef44755d2e224f/extensions/yaml_support/README.md

Description
With this PR I'm trying to make the current generate_labgraph_monitor() include the message data content, such as it will send the quantitative data to the front-end. In other words, I'm trying to update the structure of the WebSocketsAPI Message from this:
"Attenuator": [{
		"name": "RandomMessage",
		"fields": {
			"timestamp": {
				"type": "float"
			},
			"data": {
				"type": "ndarray"
			}
		}
	}
]

to this:
"Attenuator": [{
		"name": "RandomMessage",
		"fields": {
			"timestamp": {
				"type": "float",
				"content":<PHONE_NUMBER>.474803,
			},
			"data": {
				"type": "ndarray",
				"content": array([0.77135353, 0.61299748, 0.34146919, 0.46154968, 0.19577749],
			}
		}
	}
]

It will fix #53 once finished (should only be merged after #58)
How To Run
By running this from your LabGraph root directory
labgraph$ python labgraph/examples/labgraph_monitor_example.py

you will start getting the following print result:
"name": "WSSenderNode",
    "nodes": {
        "Serializer": {
            "upstreams": {
                "NoiseGenerator": [
                    {
                        "name": "RandomMessage",
                        "fields": {
                            "timestamp": {
                                "type": "float",
                                "content":<PHONE_NUMBER>.0660968
                            },
                            "data": {
                                "type": "ndarray",
                                "content": [
                                    0.43446801511555844,
                                    0.12821419443680548,
                                    0.15750558665376602,
                                    ...
                                ]
                            }
                        }
                    }
                ],
...
}

Type of change
Please delete options that are not relevant.

[x]  New feature (non-breaking change which adds functionality)
[x]  This change requires a documentation update

Feature/Issue validation/testing
Once finished, a good test would be to visit each field in fields and check content based on the given type (i.e. using python's type())
Checklist:

[ ]  Have you added tests that prove your fix is effective or that this feature works?
[x]  New and existing unit tests pass locally with these changes?
[x]  Has code been commented, particularly in hard-to-understand areas?
[x]  Have you made corresponding changes to the documentation?

Please make sure the description here is updated.
For example, labgraph$ python labgraph/examples/labgraph_monitor_example.py
the path seems to have changed.

Does this PR need to be merged first before your PR is launched?

Thank you for contributing to this important PR on LabGraph Monitor!

Thank you @jfResearchEng. I will make the changes you suggested as soon as I'm done with my finals this week :)


Solarized dark does not work

'colorscheme': 'solarized' uses the solarized light colors even if background is set to dark.

I cannot reproduce.
I started Vim by vim -u ./.vimrc with the following vimrc.
set nocompatible
filetype off
set background=dark
set runtimepath+=/Users/itchyny/.vim/miv/lightline
let g:lightline = { 'colorscheme': 'solarized' }
set laststatus=2
filetype plugin indent on
syntax enable

same problem here. solarized_dark doesn't work any more but solarized works.

I'm having the same problem.  The .vimrc you provide works correctly and loads the dark solarized lightline.  However, when you include
set runtimepath+=/path/to/solarized
colorscheme solarized

The lightline reverts back to light.  If I remove the colorscheme definition from the .vimrc file and just set it once vim is open it works fine, though.

I have the same issue. Switching the global theme to solarized, switch lightline theme to light.

I cannot reproduce this problem. I confirmed with the following configuration today and the lightline theme keeps dark. Changing the &background to light changes the both themes light.
set nocompatible
filetype off
set runtimepath+=/path/to/colors-solarized
set runtimepath+=/path/to/lightline
set background=dark
let g:lightline = { 'colorscheme': 'solarized' }
set laststatus=2
filetype plugin indent on
syntax enable
colorscheme solarized

Please upload a minimal vimrc to reproduce the behavior and I'll investigate then.

I can confirm that lightline doesn't switch to solarized light when background changes to light. This issue is related: https://github.com/itchyny/lightline.vim/issues/188

Yes, lightline does not support changing the solarized highlight by switching background afterwards . I'm not sure this issue is related to it.

Sorry, this isssue is indeed is not related to mine. I've edited my post already. Regarding to my problem, I have to use "runtime autoload/lightline/colorscheme/solarized.vim" trick to get it work.

I'm also struggling to find a solution that makes it possible to switch from light to dark. I currently do it simply via set bg=dark and set bg=light. As noted, this doesn't update lightline. Is there a simple function one could write that facilitates switching? Or does it still involve some patching?


Created the score version dependence, and wrote the test cases

Closes #39
Test cases written in Tests/Evaluator.spec.ts. The Evaluator tests can be expanded upon if needed.

Tests pass, Nice work!


Add docs clarifying list-doc and install-doc

Fixes https://github.com/miurahr/aqtinstall/issues/753

@ddalcino thanks. So one thing I noticed is list-doc does not accept --archives. So for example the qtmultimedia module consists of 2 archives - qtmultimedia and qtspatialaudio.
So if I only want the qtmultimedia docs, I need to do install-doc mac 6.6.1 --modules qtmultimedia --archives qtmultimedia - if I just do install-doc mac 6.6.1 --modules qtmultimedia then it installs all the default archives plus qtmultimedia and qtspatialaudio docs.
But I don't see a way to figure this out from list-doc. I would just have to install --modules qtmultimedia and realize it is installing multiple modules, then run it again filtering down the archives I guess.
So basically the archives that make up a module are hidden from list-doc - it can only show the default set of archives, or the list of modules. But not the archives that a module consists of.

You are correct. In general, there is only a single archive for each module, except for the base module and the debug_info module, which only exists for some platforms when installing Qt (not src/doc/examples).
There are a few edge cases, like this one, where a module contains 2 or more archives.
The purpose of the --archives command is really to help reduce download times and data usage, and I think it does that well enough. I don't think it's worth the maintenance cost to enable it for a couple edge cases here to save a couple kilobytes.
You're welcome to document this as well if it really bothers you.

A GitHub pro tip for @rectalogic:
We are able to apply a batch of changes during code reviewing: Incorporating feedback in your pull request - GitHub Docs.


Unknown version requirements for dependencies

Neither the dune-project nor the install-ocaml-deps.sh state which versions/ranges of the dependencies are needed (other than for ppxlib).
If ranges are not known, it would be good to at least know which versions austral is tested/developed/known to work with.

Yeah I don't know how to build an opam file. In practice the versions are what's pinned in shell.nix.


update ectd.yaml

using localhost causes error "connection refused"

This change is

saw that i needed to accept forward in iptables to node-servers. This is an error on my side.


UI developer guide

Integration guide from the UI developers PoV.

@HunnySajid will show how to migrate from the default white labeling (KERI based) to a customization (using Provenant colors, etc) as a vendor provided example.

@HunnySajid i forgot to include the link to the provenant.net theming here: https://provenant.net/

@2byrds @rodolfomiranda
JSON Link: https://www.npoint.io/docs/d59bd3ab0b31de863a20
Following is the JSON structure
{
  "title": "Provenant",
  "logo": "https://media.licdn.com/dms/image/C4E0BAQG2_zXeSh-Qdw/company-logo_200_200/0/1663180132032/provenant_inc_logo?e=1715212800&v=beta&t=yINW7CaXVG50h3Ay7vu13OpY4mAu30qpijZwJAe5g-I",
  "icon":"https://cdn-icons-png.flaticon.com/128/3291/3291695.png",
  "theme": {
    "colors": {
      "primary": "#004DB5",
      "secondary": "#F0F6FF",
      "error": "#ec576d",
      "heading": "#004DB5",
      "text": "#333333",
      "subtext": "#004DB5",
      "white": "#ffffff",
      "black": "#373e49",
      "bodyBg": "#FBFBFB",
      "bodyBorder": "#004DB5",
      "bodyColor": "#004DB5",
      "cardColor": "#004DB5",
      "cardBg": "#E4F3FE"
    }
  }
}

title
This attribute is used to indicate the vendor name.
logo
This attribute is used to indicate the vendor icon.
title and logo are shown at:

sign in

top of the sidebar

heading of content script dialog

icon
This attribute is used to set the icon provided by the vendor as extension icon.
theme
this attribute is the essence of colors (and others e.g. spacing, fonts, etc in the FUTURE) customization.
To keep it simplistic, the colors are designed to work in a two-tone fashion.

bodyBg and bodyColor have been used for base colors of screens e.g. sign in, sidebar, and content-script dialog. These should be contrasting and complimenting as these are used for background and text respectively.
primary is primarily used for buttons
secondary is used as a contrasting color to make it distinct from bodyBg. It is used for the listings and modal background.
cardColor and cardBg are used for the list items e.g. identifier card or credential card.
heading, text, and subtext have been used for label and value pairs on each listing item.

JSON Theme Annotation
Sign in

Main View

Content Script Dialog

The following set of JSON can be analyzed as multiple vendors (use the bin link provided at the bottom of the page).

https://www.npoint.io/docs/1d388b8942c4ec3ed763
https://www.npoint.io/docs/a75a0383d2820a2153c1
https://www.npoint.io/docs/d59bd3ab0b31de863a20

Great job with the screenshots @HunnySajid !

UI Developer | Web Client Guide
Installation
Install polaris-web from npm
npm install polaris-web --save
Usage
import following methods from polaris-web
import {
  requestAid, // call to select aid for signing in
  requestCredential, // call to select credential for signing in
  requestAidORCred, // call to select either aid of credential
  attemptAutoSignin, // call for auto signin
} from "polaris-web";

Usage requestAid
requestAid is usually called when authentication with AID is required, e.g:
<button onClick={requestAid}>Request AID</button>

Usage requestCredential
requestCredential is usually called when authentication with Credential is required, e.g:
<button onClick={requestCredential}>Request CREDENTIAL</button>

Usage requestAidORCred
requestAidORCred is usually called when authentication with either AID or Credential is required, e.g:
<button onClick={requestAidORCred}>Request AID or CREDENTIAL</button>

Usage attemptAutoSignin
attemptAutoSignin is called to auto-sign in with an already selected pair. The app asks to select one from the extension if there is no auto sign-in pair.
const handleAutoSignin = async () => {
    const resp = await attemptAutoSignin();
    if (resp?.data) {
       alert(
          "Signed headers received\n" +
            JSON.stringify(resp?.data.headers, null, 2)
       );
     }
  };

The web app developer guide should be at the root level of the Repo, and be called GETTING_STARTED_WEB_CLI.md. It should detail every part of the demonstration webapp that is necessary for a different web client developer to integrate and use the signify browser extenstion.
@HunnySajid will create another issue in this milestone to created a GETTING_STARTED_VENDOR.md that will detail the vendor customization of the extension and how they will provide it to to their customers. This should result in the extension looking like their vendor web app.

Reviewed and merged with https://github.com/WebOfTrust/signify-browser-extension/pull/90


[Feature] Dependency management

One of my long-term goals for nasher is for authors to be able to publish nasher packages for easy discovery and inclusion in other projects. This would be especially useful for scripts. If you wanted to publish several packages that depend on a script library, you could just publish the library separately and add it as a dependency to the other projects rather than including that library in each separate package and updating all of them when the dependency changes.
The current workaround is to use a monolithic repository: nasher can allow multiple build targets, so each system could be a separate target but they could all reference the same source file. However, you might want to include someone else's code and receive updates or bugfixes they publish; this could be especially useful for module authors.

Was just playing around with this, but you can look at the work I've done so far and see if it's worth using as a base for this feature.
Still very much a work in progress that I've basically been using to learn some nim concepts (I learn better by doing than reading).
https://github.com/tinygiant98/nasher.nim/tree/libraries


[On Hold - June 22] Pre commit hooks

added necessary pre-commit hooks mentioned in the issue #49 under ./githooks
added a .pre-commit-config.yaml file where we can modify any configuration of the hooks
added a make script that shall be run to enable these hooks to run, ref: https://www.viget.com/articles/two-ways-to-share-git-hooks-with-your-team/

make enable-git-hooks

Why not use husky? Our main repo already uses it.

@debdutdeb we could totally do that, I've added this according to the issue description but let me know if we want to use husky instead

Please focus your energy on the huge list of project contents TODOs instead of adding project infra elements.

Sure!


html5.js:1227 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.

When the vjs-media is changed we get the the following error:
html5.js:1227 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.
Its seams that a player is being added before its being disposed.

@nbplopes I can try to replicate this. If you could pass a long a code snippet that would be helpful!


[nuget] configuration profile UI missing default types when consuming MRTK as nuget package

Describe the bug
When consuming MRTK as a nuget package, the configuration profile inspector doesn't seem to be able to locate the default MRTK system types (e.g. MixedRealityCameraSystem) and so the dropdowns are not populated.
To reproduce
Steps to reproduce the behavior:

Create a new project, and add MRTK as a nuget package.
From the MRTK menu -> Add to Scene and Configure
Clone the MRTKConfigurationProfile
Select the Camera configuration and clone it
Note that Camera System Type is "MixedRealityCameraSystem {Missing}"
Click "Try Repair" -> error "No types with the name 'MixedRealityCameraSystem' were found"
Try to select a type with the dropdown -> "None" is the only option

This also happens with input providers in the input system configuration (and probably others, but those are all I've tried).
Expected behavior
Default/built-in MRTK system types are selectable through the configuration profile inspector.
Screenshots

Your Setup (please complete the following information)

Unity 2018.4.0f1
Microsoft.MixedReality.Toolkit/2.0.0-20190517.1

Target Platform (please complete the following information)

Unity editor

blocks nuget consumption

@Yoyozilla I think this is more Andrei's area of expertise. I'm going to reassign to him.


Minor dashboard tweaks, fix flex-list margins

Some small dashboard tweaks:

Remove margin-bottom from divider so first item does not appear to have un-equal margins
Restore previous icon color
Add slight margin-right to icon

Before:

After:

This problem with divider followed by flex-list is seen on a number of pages:

It could be fixed by using margin instead of padding for the item.

@wxiaoguang I changed your fix in https://github.com/go-gitea/gitea/pull/26779 to be more generally useful and work seamlessly with .ui.divider which is a very common layout in many places (dashboard, org page):

I guess it breaks other UI.

Any ideas where it could break?

I think I have explained in #26779 : "It's better to keep children elements simple, and let parent containers layout the necessary padding/margin."
If we removal all the padding-top/padding-bottom of a flex-list by default, it's different to control its behavior.
For example, the page "org/member" doesn't have padding-top now
And you can see there are many (not only a few ...) gt-m?-4 and gt-p?-4 in code to "fine tune", they are all quite fragile.
To make the things clear, my option:

Make the flex item all have the same padding by default
Remove all gt-m?-4 and gt-p?-4 for the flex lists
Make the flex list work for what it really knows:

Use .ui.segment > .flex-list:first-child > .flex-item:first-child  (the approach in #26779)
Try to use + to make it work with divider
Introduce a special CSS class for flex-list to remove the padding explicitly, eg: flex-list no-padding-y (there could be a better name)

If you don't mind, I can help to work with this PR and clean the legacy gt-m?-4 and gt-p?-4 usages.

Did a quick test, this change seems working, and the gt-mb-4 / gt-pt-4 could be removed from templates:
/* Fomantic UI segment has default "padding: 1em", so here it removes the padding-top and padding-bottom accordingly */
.ui.segment > .flex-list:first-child > .flex-item:first-child {
  padding-top: 0;
}

.ui.segment > .flex-list:last-child > .flex-item:last-child {
  padding-bottom: 0;
}

/* If there is a divider besides the flex-list, some padding/margin are not needs */
.divider + .flex-list > .flex-item:first-child {
  padding-top: 0;
}
.flex-list + .divider {
  margin-top: 0;
}

I guess that may work, but if we let flexlist provide padding in other cases, the changeset will be bigger an as you said, we need to remove a lot of pt-4 like on issuelist which currently also suffers from this double padding. Likely better in the long run.

the changeset will be bigger an as you said,

I have confidence that it won't be long (we only need to handle divider and segment). For other rare cases, it could use class="flex-list no-padding-y"  (or name it something like flex-parent-padding)

I managed to make some changes by https://github.com/silverwind/gitea/pull/4 , it doesn't change too much (including a new demo), while I think the new code is more readable than before:

No need to do class="{{if .PackageDescriptors}}flex-list{{end}} gt-pt-4", just use flex-list
No need to do class="{{if not .HasError}}gt-hidden{{end}} gt-mb-4"
Introduce flex-space-fitted to remove the padding-top/padding-bottom (ps: Fomantic UI also has fitted classes)

One more thought, IMO "padding" is not the right approach for the space layout between elements. The right approach should be "margin".
By using "margin" correctly, we do not need to fine-tune every space. I would like to refactor some "padding" styles to "margin" style.
In short, if I understand correctly:

"margin" is good for the space between sibling elements.
"padding" is good for the space between parent and children.

wait on https://github.com/silverwind/gitea/pull/4

Appears to wo work well enough. I fixed it on user profile page as well.
Also, https://github.com/go-gitea/gitea/pull/26829/commits/65d6fa73f43e5351073aa30af636b706937c9e37 removes some dead css I forgot in https://github.com/go-gitea/gitea/pull/26830.


Extend coverage for SDL-0264 Preparation to testing of Separating the change of Audible status [internal review]

ATF Test Scripts to check FORDTCN-12446
This PR is [not ready] for review.
Summary
Extend coverage for [SDL-0264] Preparation to testing of Separating the change of Audible status
ATF version
[develop]

PR can be moved to Open


Update "feedback-forms" page

Automatically generated by Netlify CMS

This was removed in https://github.com/cfpb/design-system/commit/4f637433f7a3d6183e0abb0c82f8ace2fa26b9b9


[WIP] Create and update flows should survive restarts

We should put this into the interface too.

Already done :)

As per our latest discussion, this won't be part of the release.


Updates to Deltaglider.netkan

Changes by @RacerXx, being tested by me now. :)

Hooray! Tests passed, and this looks good to me; merging. :)


chore: update master version to 0.5.0-alpha

Looks like we're still having disk issues
       > parallel: Error: Output is incomplete.
       > parallel: Error: Cannot append to buffer file in /build.
       > parallel: Error: Is the disk full?
       > parallel: Error: Change $TMPDIR with --tmpdir or use --compress.

https://github.com/fedimint/fedimint/actions/runs/9999539009/job/27640713943#step:11:190

Funky, GH autodismisses once I approve.
@dpc halp


systemctl-tui: 0.2.2 -> 0.2.4

Description of changes

0.2.4 was released 27 days ago on crates.io. Does anyone know why it might have been missed by @r-ryantm?
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[x] Fits CONTRIBUTING.md.

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

Upstream commits look good, merging.


mirror sentry-cli

https://github.com/getsentry/sentry-cli/releases
closes https://github.com/cnpm/cnpm/issues/438#issuecomment-1903706987

https://registry.npmmirror.com/-/binary/sentry-cli/2.26.0/


AttributeError when modifying landcover array to bool

Very minor issue that simply required me to set it to an empty array instead of False, it was just a little confusing because this use-case is in the documentation.
Setting
custom_lc_classes["urban"]["building"] = False

(as in the documentation) does work but setting
custom_lc_classes["urban"]["landuse"] = False

leads to
Traceback (most recent call last):
  File "/mnt/map.py", line 19, in <module>
    df = get_osm_geometries(aoi=aoi, landcover_classes=custom_lc_classes)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prettymapp/osm.py", line 83, in get_osm_geometries
    tags = get_osm_tags(landcover_classes=landcover_classes)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prettymapp/osm.py", line 27, in get_osm_tags
    tags.setdefault(k, []).extend(v)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'extend'

Nice! Thanks for reporting, fixed in https://github.com/chrieke/prettymapp/pull/71


.net 6 Process finished with exit code 137.

The application hangs with a 137 after I upgraded to .net 6 OSX arm
    <PackageReference Include="LigerShark.WebOptimizer.Core" Version="3.0.348" />
    <PackageReference Include="LigerShark.WebOptimizer.Sass" Version="3.0.82-beta" />

      services.AddWebOptimizer(pipeline =>
            {
                pipeline.AddScssBundle("/css/all.css", "/css/partials/*.scss", "/css/global.scss");
            });

With lower versions, the error I get is file not found in this folder /css/partials/*.scss, this worked just fine in .net core 3.1 in windows, currently on mac arm, thanks

Error detail:
`TypeLoadException: Cannot load ClearScript V8 library. Load failure information for ClearScriptV8.osx-arm64.dylib:
/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/runtimes/osx-arm64/native/ClearScriptV8.osx-arm64.dylib: Unable to load shared library '/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/runtimes/osx-arm64/native/ClearScriptV8.osx-arm64.dylib' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/runtimes/osx-arm64/native/ClearScriptV8.osx-arm64.dylib, 0x0001): tried: '/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/runtimes/osx-arm64/native/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/local/lib/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/lib/ClearScriptV8.osx-arm64.dylib' (no such file)
/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/ClearScriptV8.osx-arm64.dylib: Unable to load shared library '/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/ClearScriptV8.osx-arm64.dylib' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/ClearScriptV8.osx-arm64.dylib, 0x0001): tried: '/Users/omer/RiderProjects/companyweb/CompanyWeb/bin/Debug/net6.0/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/local/lib/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/lib/ClearScriptV8.osx-arm64.dylib' (no such file)
/System/ClearScriptV8.osx-arm64.dylib: Unable to load shared library '/System/ClearScriptV8.osx-arm64.dylib' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(/System/ClearScriptV8.osx-arm64.dylib, 0x0001): tried: '/System/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/local/lib/ClearScriptV8.osx-arm64.dylib' (no such file), '/usr/lib/ClearScriptV8.osx-arm64.dylib' (no such file)
Microsoft.ClearScript.V8.V8Proxy.LoadNativeLibrary(string baseName, string platform, string architecture, string extension)
JsEngineLoadException: Failed to create instance of the V8JsEngine. Most likely it happened, because the 'ClearScriptV8.osx-arm64.dylib' assembly or one of its dependencies was not found. Try to install the Microsoft.ClearScript.V8.Native.osx-arm64 package via NuGet.
JavaScriptEngineSwitcher.V8.V8JsEngine..ctor(V8Settings settings)
SassCompilerLoadException: During loading of Sass compiler error has occurred. Failed to create instance of the V8JsEngine. Most likely it happened, because the 'ClearScriptV8.osx-arm64.dylib' assembly or one of its dependencies was not found. Try to install the Microsoft.ClearScript.V8.Native.osx-arm64 package via NuGet.
DartSassHost.SassCompiler.InitializeCompiler()`

Did anyone ever figure this out?
I'm having the issue with all versions above 3.0.77-beta, with both .net 6 and .net 7, on an Intel Mac.