CNC hardware source missing drill file

Noticed that the CNC does not include the drill file.  It would be great to have that file included in the hardware sources, so that the holes needed can be drilled and properly tapped with threads using MFG services.

Thanks for the input!
I am not quite familiar with the CAM drill file, and how it can be generated with Fusion360. Usually, I would just need to point out where to tap and my local CNC services does it.
In terms of drill file maybe a little more info and direction on what kind of files is needed. I might be able to figure it out on how to generate with Fusion 360.
Or, I could generate 2D PDFs indicate drill and thread size.

If we're going to the trouble of a PCB & enclosure redesign, why not also include analog audio I/O on 3.5mm also?
Using a shield PCB with all these I/O, midi & audio, works with headless m8.  ie: https://codeberg.org/dcoredump/TeensyMIDIAudio/src/branch/master/T4.1-Adapter-Board_Rev-1.0
Seems like it would be worth the efforts?

@Synthesizer-repair I see, CAM and G-code I do familiar. But G-code and tool paths this usually generated by the CNC fab house. Since the tools, and machines are different. Some more qualified CNC fab house even have auto tool change for tapping. Some do it at post manually. For automated tool change or tapping This requires custom G-code commands and database of their tool-sets. And not all fab house have same tooling and capabilities. It's impossible to generate on G-Code/Drill file to fit all.
What I can do with my local CNC shop is to provide 3D STEP and 2D CAD notes for the parts. And fab house decides how to do their tool paths and how they want to tap the holes.

@DOSputin I've heard that Dirtywave removed their MIDI support with their M8 headless firmware. I'm not sure if the MIDI would still work.

@DOSputin I've heard that Dirtywave removed their MIDI support with their M8 headless firmware. I'm not sure if the MIDI would still work.

Umm, you heard?
It works.  There is nothing preventing, you simply have to connect the proper hardware.
Install headless firmware on an official M8 massively overpriced hardware, the MIDI I/O works.  It's on pins 1 & 28...

@DOSputin  Here more information on the MIDI being removed in headless version that greater than V2.0.
Source: Youtube
https://www.youtube.com/watch?v=BEqFc5MtHGY

Source: Discord User Group


DRACO compression for VRM

Hmm good looks
@intelliverse777
VRM support was merged into meshoptimizer https://github.com/infosia/meshoptimizer/tree/VRM
Let's use this and kill draco


Implement lifetime-free ref and mut casts for unsized type

The TryCastMutLifetimeFree and TryCastRefLifetimeFree trait implementations have default Sized bound on the T and U generics, which prevents unsized types not defined as static from casiting.
This PR adds ?Sized bound to T and U generics in TryCastMutLifetimeFree and TryCastRefLifetimeFree trait implementation.
For example this makes it possible to specialize slices without restricting the source slice item type to be static:
fn func<T>(slice: &[T]) {
    if let Ok(byte_slice) = cast!(slice, &[u8]) {
        // specialized impl...
    } else {
        // default impl...
    }
}

Thanks for the idea and working on this! If that's alright, I am going to release https://github.com/sagebind/castaway/pull/25 as a more urgent patch release, and then review this PR a bit later to include in a subsequent minor version feature release.

Rebased to upstream/master.


Finishes async work for CLI

Changed "Creating service foo" to "Creating service instance foo"
Changed "Updating service foo" to "Updating service instance foo"
Suggested commands to run after creating a service are highlighted instead of quoted.
cf delete-service passes along accepts_incomplete=true to perform async deprovision.

[#86668046, #88279874, #87584124]
@gtona & Jeff

Looks good, merging


Ship bundle without dependencies built in

See comment here: https://github.com/pedronauck/docz/issues/118#issuecomment-403176115
I can't test a fix in a dependency because it's is bundled into docz's dist files. Webpack should be able to pull these in on their own.

I'm bundling docz with rollup, react and react-dom are peerDependencies, so they are not being included in the bundle, but the rest of the dependencies end up being included by the rollup in the bundle.
I do not know, but I'll test putting all dependencies as external to see what happens and if this bug is fixed.

I released a new version v0.5.4 with all dependencies updated. And when I have more time I'll see a permanent solution for that ✌

The downsides are the consumer loses control over what versions are being used (which allows them to lock to versions that work), and the bundler can no longer dedupe if the consumer also uses the same library docz does (e.g. prop-types).

I agree with that, I think that we could found a better solution for this and maybe rethink some architecture decisions. Actually, I think that the biggest pain around docz it's about controlling dependencies (e.g. webpack and babel conflicts) 😕


Camera preview upsidedown

Captured image from camera looks upsidedown. I think you should check Exif rotation.

Hi @abalta
This issue should be fixed with below method: https://github.com/alhazmy13/MediaPicker/blob/master/libary/src/main/java/net/alhazmy13/mediapicker/Utility.java#L71
What's the android version that you are using? and what type of device? is it Samsung or emulator?

Android version is 7.1.2 with real device.

Right now, it is working thanks.


Replace HC with either bump or manually written collision detection system.

When using HC to rebound the ball, sometimes (when frame rate drops) the ball can ignore wall collision response, causing some weird behaviors… like losing the ball. I've noticed you're updating the Wiki with new content (such as using LÖVE's default physics).
Since love already has its own game loop function (update), do we need also to calculate the fixed timestep for updating the resolve_collisions? Or by using LÖVE's physics this problem should be already fixed?

When using HC to rebound the ball, sometimes (when frame rate drops) the ball can ignore wall collision response, causing some weird behaviors… like losing the ball.

Yes, this is also one of the reasons I want to replace HC with something different.
The problem is following: during the update cycle, I update the positions of the game objects
and after that check for overlaps between them. For the ball I calculate
function Ball:update( dt )
   self.position = self.position + self.speed * dt
   .....
end

If the product self.speed * dt becomes large, the ball can cover large enough distance to
get through other objects (such as walls), without causing a collision.
This can happen in two cases. The first one is when the dt is large.
I believe, this is what happens when the frame rate drops.
It is possible to remedy this by setting minimal value for dt in love.update and love.draw, i.e.
do something like
function love.update( dt )
   local min_dt = 0.01
   if (  dt > min_dt ) then
      dt = min_dt
   end
   ball:update( dt )
   platform:update( dt )
   .....
end

I believe, that way the collisions on low framerate should be resolved correctly.
However, the bug also can happen when the speed of the ball becomes high enough.
It is possible to test it by inserting the following function in the main.lua.
function love.keyreleased( key, code )
   if key == 'up' then
      ball.speed = ball.speed + 100 * ball.speed:normalized()
      print( "current ball speed: ", ball.speed )
   end
end

On my machine, the ball passes through the walls somewhere around current ball speed:     (-1431.3708498985,-1431.3708498985). Unfortunately, I can't think of any modifications to dt, that can solve this problem.
The correct solution requires to implement a more complicated collision detection algorithm, e.g. continuous collision detection.
The simple collision detection algorithm I describe in parts 1-3 and 1-4 is also susceptible
to this bug. But I do plan to improve it and switch to CCD in later chapters. Probably, I'll
use Bump library, which implements it.
Hope, this answers your question.
Regarding the simple code for collisions I use in parts 1-3, 1-4, I would prefer to avoid the term "LÖVE's default physics" because it can be confused with love.physics module, which I don't use. This module handles both collision detection and collision resolution, but does it in physically realistic way. This requires to deal with a lot of additional parameters. It can be a great choice for more advanced games, but definitely not necessary for such a simple one that I describe.

Yeah, now that I've finished replacing HC library, I can see that indeed we're not using the love.physics module, instead doing the detection and resolving by ourselves.
Thank you for the detailed answer…
Keep up the great work!

Hi! I am now following this tutorial (great job by the way!) and I encountered the same problem: when the speed of the ball increases the ball sometimes goes beyond the walls.
I think that this problem happens in 4 cases:

The ball collides against the left wall but the ball's x coordinate is greater than  the wall's center x
coordinate, in this case the ball_shift_x is positive instead of negative and so the ball_position_x
increases and the ball exits the screen.

The ball collides against the right wall and the ball's x coordinate is lesser than the wall's center x
coordinate.

The ball collides against the top wall and the ball's y coordinate is lesser than the wall's center y
coordinate.

The ball collides against the bottom wall and the ball's y coordinate is greater than the wall's center y
coordinate.

In all this cases the shift sign is not the one that it should be in order for  the ball to bounce on the wall.
I managed to solve this issue manually with this function:
`function ball.bad_position()
if ball.x >= love.graphics.getWidth() - walls.wall_thickness then
ball.x = love.graphics.getWidth() - walls.wall_thickness - 1
elseif ball.x <= walls.wall_thickness then
ball.x = walls.wall_thickness + 1
end
if ball.y <= walls.wall_thickness then
ball.y = walls.wall_thickness + 1
elseif ball.y >= love.graphics.getHeight() - walls.wall_thickness then
ball.y = love.graphics.getHeight() - walls.wall_thickness - 1
end
end`
The function is called in the main.lua file after the ball.update function in love.updte function so if the ball is bad positioned it is  positioned again in a way that it can bounce on the wall.
At least for me this is working, but I just started learning lua and LOVE and I'm not a programmer so I'm not really an expert or anything, I just hope this is somehow useful.
(I'm not english so I apologize for any grammar mistakes, I tried to be as clear as possible)

when the speed of the ball increases the ball sometimes goes beyond the walls.

Yes, the current collision detection algorithm doesn't work correctly for objects moving at high speed. It seems to me, the problem is not limited to ball-walls collisions but also concerns ball-platform and ball-blocks collisions. That is, at high enough speed the ball can pass not only through walls, but also through platform and blocks.

I managed to solve this issue manually with this function:

While the solution you propose allows to keep the ball inside the game area, it seems it won't handle ball-blocks and ball-platform collisions correctly.
One way to deal with this problem for all types of collisions is to determine whether or not a path the ball covers during a single update cycle intersects any other objects.
I believe, this can be implemented in the following way.
Position of the ball at the beginning of the update cycle is known.
A new position the ball should be placed at if there are no collisions can be computed in the ball.update:
function ball.update( dt )
   ball.possible_position_x = ball.position_x + ball.speed_x * dt
   ball.possible_position_y = ball.position_y + ball.speed_y * dt
end

Before actually placing the ball into this possible new position
function ball.move_to_possible_position()
   ball.position_x = ball.possible_position_x
   ball.position_y = ball.possible_position_y
end

it is first necessary to check for intersections of the line segment between the old and new positions and any other game objects.
This can be done in the functions responsible for collisions between various objects
-- (this is a pseudocode, not an actual code).
function collisions.ball_platform_collision( ball, platform )
   local intersects = collisions.check_trajectory_intersections( platform, ball )
   if intersects then
      ball.resolve_intersection( platform )
   end
end

In the collisions.check_trajectory_intersections both old and possible new ball positions are used (ball.position_x and ball.possible_position_x).
I believe such method should work, but I'm not sure about details. I'll try to implement it and if there is any noticeable improvement I'll include it as an appendix.

I noticed the problem only with the ball-walls collision so I tried to solve only that.
Thank you for your detailed replay!
Are you also going to wright the appendices about classes implementation ? I would be very interested in them.

Are you also going to write the appendices about classes implementation ? I would be very interested in them.

Yes, I have been thinking to write a couple of appendices illustrating a typical implementation of classes in Lua and how to use them to represent game objects. Lua is a bit different from other programming languages in it's approach to classes and it has taken me quite some time to understand how it works.
Actually, in the initial version of this tutorial classes have been introduced early on.
This version is still available in the Archive section; classes are discussed in the third part.
While I have been thinking to illustrate classes implementation, I don't think I'm going to discuss usual OOP design issues (inheritance, etc).
In any case, regarding the classes and OOP, I would suggest to consult Programming in Lua (the first edition is available online ), numerous tutorials on Lua-users wiki or, probably, this more recent introductory article.


ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded

Triyng install yabsnap with pikaur and getting this error:
ERROR: ld.so: object 'libfakeroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Full log is here: https://0x0.st/HJkP.txt
And the second point is - in README file in Quick Start /etc/configs/yabsnap/CONFIGNAME.conf but right path is: /etc/yabsnap/configs/CONFIGNAME.conf Please fix the path.
Log:
$ sudo yabsnap create-config config
[sudo] password for nebulosa:
Config directory does not exist. Use 'create-config' command to create a config.
Created: /etc/yabsnap/configs/config.conf
Please edit the file to set 'source = ' field.

Ack on both. Should now be fixed, with commit d01ab67e45d257e42d2c64b5604d0656e7e2e7f5 released as v2.0.7.
Thank you!


Repo naming regex breaks deploy

We have been using the repo name nz--urls since Docker 1.6 and it also worked with 1.7, but a recent update to 1.8.2 caused us to start seeing this error.
ERROR: repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*"

I don't know what the reasoning was for the change, but I think it should be reverted. Someone mentioned that a reason might have been that adjacent hyphens weren't allowed in hostnames, but I can't find that in the RFC: https://tools.ietf.org/html/rfc952

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Fixed by #16867


[chartdir] use versioned download link

The original download link is a generic link that points to the latest version of the software. The download content can change from time to time, and this will break the SHA512 hash in the port. This update change the download link to a link that points to the real file with version number, which will not change. This makes the port more stable.

@cd-pkwan I assume you're the author, since the website has been changed to mention vcpkg; would it be possible for you to do the same for the macOS and Linux versions?

@cd-pkwan ,Thanks for your pr, could you please sign in CLA first?

I removed the skips from https://github.com/microsoft/vcpkg/commit/671db8ae9d4b62d1c4303332144dd493da7d4057 from ci.baseline.txt , so if we get versioned links for MacOS and Linux we can finally start testing chardir regularly :)

Building package chartdir[core]:x64-windows-static...
-- Note: chartdir only supports dynamic library linkage. Building dynamic library.
CMake Error at scripts/cmake/vcpkg_check_linkage.cmake:61 (message):
  Refusing to build unexpected dynamic library against the static CRT.

      If this is desired, please configure your triplet to directly request this configuration.
Call Stack (most recent call first):
  ports/chartdir/portfile.cmake:1 (vcpkg_check_linkage)
  scripts/ports.cmake:145 (include)

Should we add "supports": "!staticcrt" to vcpkg.json?
The other platforms are broken because:
if(TRIPLET_SYSTEM_ARCH MATCHES "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL static)

    set(VCPKG_POLICY_EMPTY_PACKAGE enabled)

is entered, so SOURCE_PATH does not get set, so
file(COPY "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright")

fails.
Proposal:
From 7d16e8044a677537c24564cce898ebdedeed3772 Mon Sep 17 00:00:00 2001
From: Billy Robert O'Neal III<EMAIL_ADDRESS>Date: Tue, 29 Mar 2022 10:52:41 -0700
Subject: [PATCH] Guard with supports rather than making the package empty.

---
 ports/chartdir/portfile.cmake | 6 +-----
 ports/chartdir/vcpkg.json     | 3 ++-
 versions/c-/chartdir.json     | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/ports/chartdir/portfile.cmake b/ports/chartdir/portfile.cmake
index bfeb10699..b263588f3 100644
--- a/ports/chartdir/portfile.cmake
+++ b/ports/chartdir/portfile.cmake
@@ -1,10 +1,6 @@
 vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

-if(TRIPLET_SYSTEM_ARCH MATCHES "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL static)
-
-    set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
-
-elseif(VCPKG_TARGET_IS_WINDOWS)
+if(VCPKG_TARGET_IS_WINDOWS)

     vcpkg_download_distfile(ARCHIVE_FILE
         URLS "https://www.advsofteng.com/vcpkg/chartdir_cpp_win_7.0.0.zip"
diff --git a/ports/chartdir/vcpkg.json b/ports/chartdir/vcpkg.json
index 425a2ca91..b6a1cfa0a 100644
--- a/ports/chartdir/vcpkg.json
+++ b/ports/chartdir/vcpkg.json
@@ -3,5 +3,6 @@
   "version": "7.0.0",
   "port-version": 4,
   "description": "ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications.",
-  "homepage": "https://www.advsofteng.com/"
+  "homepage": "https://www.advsofteng.com/",
+  "supports": "!staticcrt & !arm & !uwp"
 }
diff --git a/versions/c-/chartdir.json b/versions/c-/chartdir.json
index a8aeb8aab..d7186fafa 100644
--- a/versions/c-/chartdir.json
+++ b/versions/c-/chartdir.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "470db0162f8e6a30ded91a22d8611e1a2fee2aac",
+      "git-tree": "6b1b1029aa38c2a698a4cd6e3cfa7104a3580baf",
       "version": "7.0.0",
       "port-version": 4
     },
--
2.35.1.windows.2

My understanding of x64-windows-static is that the package should work with the static C runtime. In this case, the chartdir, though being a DLL,  should work with the CRT static library. I often create projects in Visual Studio that use the /MT option to link with the static C runtime and it works normally. Does the x64-windows-static actually test if the package itself is a static library?

My understanding of x64-windows-static is that the package should work with the static C runtime.

We have blocks around attempting to use DLLs with the static CRT because it gives each DLL their own copy of the CRT. So the DLL interface can't contain std::string* or FILE* or otherwise interact with any CRT entity, which substantially all libraries we have seen are unprepared to deal with.

Does the x64-windows-static actually test if the package itself is a static library?

I don't know if we have an explicit post-build check for it but if a port does otherwise that port is extremely badly behaved. People who pick static want single-exe deployment.

We have blocks around attempting to use DLLs with the static CRT because it gives each DLL their own copy of the CRT. So the DLL interface can't contain std::string* or FILE* or otherwise interact with any CRT entity, which substantially all libraries we have seen are unprepared to deal with.

That said it looks like bchartdir.h indicates that this is intentionally done at the moment.
I think you can just do:
# ChartDirector's DLL interface only contains primitive types, so it is CRT agnostic.
if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
    message(STATUS "Note: ${PORT} only supports dynamic library linkage. Building dynamic library.")
    set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()

or similar in portfile.cmake rather than using vcpkg_check_linkage. vcpkg_check_linkage is the 99% case but you're kinda juggling razor blades :)

@cd-pkwan, Could you consider @BillyONEal's suggestion?

Yes, I will try to include @BillyONeal's suggestion.
Actually I have never used vcpkg. One day my client told me our software ChartDirector is available in vcpkg but the checksum is incorrect due to we updated our release file. That's why I am here. I will download vcpkg and try it myself to make sure any I  would not break something by modifying the package script.

@cd-pkwan Thanks so much for helping fix the situation :D
vcpkg requires exact SHA matches to deliver on the "no changes means no changes" policy.

@cd-pkwan ,Can you please resolve the conflicts against master?

I am embarassed to say that I am not familiar with vcpkg or github. I think the conflict is resolved, but there is still a checksum problem with versions/c-/chartdir.json. Can someone help to fix this problem as well?

The SHA listed there is the git-tree of the portfile directory. You can fix it with (assuming https://github.com/microsoft/vcpkg/ is your origin and your stuff is the current branch):
git merge origin/master
git checkout origin/master -- versions
.\vcpkg x-add-version chartdir
git commit -am "Update version database."

I just ran this for you.

I am embarassed to say that

No need to be embarrassed! In a perfect world we would give you one button to just fix this...


Added Genres to the User's About Tab

[x] Read CONTRIBUTING.md.

Adding this first section as is in AniList's user "Overview" page.
Summary of changes:

Created an enum to switch between tabs.
API integration for genres.
Sanitize ViewerQuery.Viewer.
Filter out genres that contribute to less than 5% of watched shows.
Created a vertical bar graph for the rest of the genres.

Tested changes:
Yeah


microk8s.status doesn't list kubeflow

The latest beta has support for kubeflow but it's not listed in status:
$ snap list | grep microk8s
microk8s          v1.17.0-beta.1  1037  1.17/beta  canonical*  classic
$ microk8s.status | grep kubeflow | wc -l
0
$ microk8s.enable kubeflow
Enabling dns...
Enabling storage...
Enabling dashboard...
Enabling rbac...
Enabling juju...
Deploying Kubeflow...
...

Thanks for the great work with microk8s!

Thank you for reporting this @iatrou , a fix should be available on the edge channel within the day (sudo snap install microk8s --classic --edge).


Update to 4.2.8

4.2.8
Bugfixes

[x] Fix timeline pagination always starting at 0 (fixes #126)

/release 4.2.8

/release 4.2.8


New VU Player no longer "stays on top" in Windows 10

Just curious--I've used VU player (the old 32-bit version)  over the years because it was the only one that could remain on top (in focus) when typing in Microsoft Word on the same screen to transcribe recordings. Now with two screens, it's not such a big issue, but does the capability still exist? If not, can it? I'm running 64-bit Windows 10. BTW: the earlier version played well with Microsoft Word running in WINE on Ubuntu 16 and 18--also remaining on top.

Hi,
Always on top is one of the things I never got around to copying over from the old version. It's a simple thing to do, so I'll add it to the next version.
Thanks,
James

Hi James,
I’m sure not too many people need that sort of thing, but I used to tell people it was the  only player I could find with “always on top” capability—back when we only had  one screen. Those players that didn’t have always on top would lose the control capability once you started typing in Word. So for transcribing, it was perfect!  I would set up F7, F8 and F9 function keys for  back 5 seconds—play-pause—and forward five seconds, which kept them near my normal typing keys. J
Thanks for responding!
Wayne
From: James Chapman @.***
Sent: Wednesday, July 21, 2021 1:48 AM
To: jfchapman/VUPlayer
Cc: 027Wayne; Author
Subject: Re: [jfchapman/VUPlayer] New VU Player no longer "stays on top" in Windows 10 (#23)
Hi,
Always on top is one of the things I never got around to copying over from the old version. It's a simple thing to do, so I'll add it to the next version.
Thanks,
James
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jfchapman/VUPlayer/issues/23#issuecomment-883908946 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AU4XMIQHWYV5VW4LEK6B7I3TYZNPFANCNFSM5ATUJEEA .  https://github.com/notifications/beacon/AU4XMIRUZMKRGAGHV2QCHPTTYZNPFA5CNFSM5ATUJEEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGSXWCUQ.gif

Hi,
The latest release (v4.14) now has an 'Always on Top' setting in the View menu.
Thanks,
James

Thanks so much.
I’ll check it out.
Wayne
From: James Chapman @.>
Sent: Saturday, May 28, 2022 8:14 AM
To: jfchapman/VUPlayer @.>
Cc: 027Wayne @.>; Author @.>
Subject: Re: [jfchapman/VUPlayer] New VU Player no longer "stays on top" in Windows 10 (#23)
Hi,
The latest release (v4.14) now has an 'Always on Top' setting in the View menu.
Thanks,
James
—
Reply to this email directly, view it on GitHub https://github.com/jfchapman/VUPlayer/issues/23#issuecomment-1140249415 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AU4XMIX7L5CPSFBMKHLVOZTVMIE2HANCNFSM5ATUJEEA .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AU4XMIXIJD5VPHWOBEQ7EJLVMIE2HA5CNFSM5ATUJEEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOIP3NGRY.gif Message ID: @.*** @.***> >


rejected promise not handled within 1 second

I am using the lib in a vscode extension.
I'm doing something like that :
import * as rp from 'request-promise';
//[...]
rp({method: "GET",
		uri:  <URL>,
		headers: {
			"Authorization": <OPTIONS.AUTENTIFICATION_TOKEN>,
			"User-Agent": <OPTIONS.USER_AGENT>,
			"Accept": <OPTIONS.CONTENT_TYPE>,
			"Content-Type": <OPTIONS.CONTENT_TYPE>,
		},
		body: {},
		json: true
	}).then(r => {
            //log
        }).catch(e => {
            //log
});
//[...]

so if I call it 3 time.

1st time without error.
-- It goes well
2nd time with an error in the uri (wrong link or wrong target)
-- seems to go well go in the catch and log correctly
3rd and after with or without error
-- doesn't get to the then or catch only log : rejected promise not handled within 1 second.

I've never created an extension for vscode... if someone can confirm if this is a bug from the lib or from vscode.
Thanks!

Did you manage to solve this? I am having the same issue!

For me it seems that my logic was not good folloing callback ...
I solved this be changing the order I was doing my call
try adding async for all your call instead of doing the .then
speculating ... (if this is a real bug?? could it be that the current request instance is not closed before the other are called ?)


Fix backward compatibility of jsx ppx v4

Fix issues in #615

[x] Conversion for the alias
[ ] Backward compatibility for passing the optional expression to prop
[ ] Raise error with loc

I think the code is correct, and can be cleaned up later (in one place, the constraint is used to determine the type of props, an in a different place of the ppx, the already used constraint is now removed).
Just, for each such change a test file should be checked in.

I think the code is correct, and can be cleaned up later (in one place, the constraint is used to determine the type of props, an in a different place of the ppx, the already used constraint is now removed). Just, for each such change a test file should be checked in.

Sorry for making confusion.
Got it, I'll clean up. Thanks for catch the point.

I think what's needed is a parsing test, see how the 2 cases in the example are parsed differently.

I think what's needed is a parsing test, see how the 2 cases in the example are parsed differently.

Got it, added.

There's no reason the 2 examples should be treated differently. This looks like a parsing issue.
Though then V3, with the new compiler, should have the same problem. Does it?

Yes, it is. The difference between V3 and V4 for this case is the location of prop value. In V3, it is used by value for labeled argument, instead in V4, it is used by value for a field in record. In my guess, the parsing issue occurs due to where it is used.

Not sure what's going on. Parsing is done once it reaches the ppx.
Will investigate later.

OK so here's a real self-contained example, which I think was the intended example:
let optionMap = (x, f) =>
  switch x {
  | None => None
  | Some(v) => Some(f(v))
  }

module Parens = {
  @react.component
  let make = (~id=?) => {
    <div id=?{id->optionMap(x => x)} />
  }
}

This compiles with V4 and works just fine:

This compiles just fine with V4:

But one thing I have noticed. Check out this effect of having nominal types:

Going forward, I think it's more efficient to take a look directly at the project that does not compile, instead of trying to extract examples.

@mattdamon108 thanks for the great work on all of this.
I think there are a couple more subtle issues to look into. Nearly there.

But one thing I have noticed. Check out this effect of having nominal types:

Yes, it's nominal type effect. Expected usage might be this. 🤞

self-contained example

I think I didn't exactly understand what self-contained example stands for. Now I get it. You will get my self-contained example next time you need from me. 😄

@mattdamon108 thanks for the great work on all of this. I think there are a couple more subtle issues to look into. Nearly there.

It won't happen without your help and lead. You might remember my first suggestion was just the spread props support. 😆 Thank you for all of this.

But one thing I have noticed. Check out this effect of having nominal types:

Yes, it's nominal type effect. Expected usage might be this. 🤞

Because the type definition is implicit, one needs to be careful in documenting V4.
Also, that is one example that compiles in V3 and not V4. So one needs to document that it's going to happen.
We can worry about that later, once the last implementation issues are done.


_CxxThrowException not recognized as a terminating call

It seems that RetDec only has a static list of terminating functions:
https://github.com/avast-tl/retdec/blob/418b84ab8fc5976a5963f0dc9ca0791f50b02c99/src/bin2llvmir/providers/fileimage.cpp#L566-L573
I have a DLL importing _CxxThrowException from VCRUNTIME140.DLL. This function isn't on the list, so I have a bunch of functions where the end isn't recognized correctly and the following function isn't decoded (considered unreachable code, because of the int 3 instructions between functions).

Going through the headers looking for noreturn attribute, I could identify additional MSVCP140.DLL imports missing on this list:

_Xbad_alloc@std@@YAXXZ
_Xinvalid_argument@std@@YAXPBD@Z
_Xlength_error@std@@YAXPBD@Z
_Xout_of_range@std@@YAXPBD@Z
_Xoverflow_error@std@@YAXPBD@Z
_Xruntime_error@std@@YAXPBD@Z
__ExceptionPtrRethrow@@YAXPBX@Z
_Xbad_function_call@std@@YAXXZ
_Throw_future_error@std@@YAXABVerror_code@1@@Z
_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
_XGetLastError@std@@YAXXZ
_Rng_abort@std@@YAXPBD@Z
_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z

Also a missing KERNEL32.DLL import: FreeLibraryAndExitThread. And in RPCRT4.DLL function RpcRaiseException.


pipenv install foo installing to unexpected directory

Two pipenvs, btest and ctest, corresponding to two parallel dev directories.
cd btest
pipenv shell
# command prompt displays (btest-x_1phj8d), showing that it's active
cd ../ctest
pipenv install foo
cat Pipfile
> [packages]
> foo = "*"

foo gets installed into the ctest venv, even though I never exited the btest venv, and the command prompt says btest is still active.
Not clear if this is a bug or a feature. If a feature, I find it very confusing, as I trust what the modified command prompt is telling me.

this is a feature.

pipenv always works out of your current directory, not out of your virtualenv, if it is active.

I understand, thanks. In that case, it seems that the  command prompt is "lying" as soon you cd out of the dir - It's saying btest is still active when it's not. Is there anything that can be done to improve this?

it is still active. pip install will install things into that virtualenv.

do you not know how virtualenvs work?

pip install will install things into that virtualenv.

That is not correct. Hence this ticket! (see my OP).
And yes I've used virtualenvs for many years.

yes, it will.

I've reproduced the problem twice now. Is my documentation in the OP lacking?

pipenv always works out of your current directory, not out of your virtualenv, if it is active.

Right, I understand, but with traditional virtualenvs, when the marker in the command prompt tells you that 'btest' is currently active, you can believe it - it means your pip installs will be put into the btest virtualenv. That's the opposite of what's happening here.
I understand that pipenv works on a directory basis, but am wondering if there's something that can be done to prevent this situation where the command prompt is incorrectly telling you where a package will be installed (the prompt says btest but is actually installing into ctest).

pipenv is not pip. they are different tools.
pip will install things into the virtualenv.


There is no failover or protection when events fail to be sent from the RabbitMQ Source:

Describe the bug
When there is an error sending the events from the Source to a Sink they just keeps getting reqeued and RabbitMQ goes crazy:

When the peak in message rate in the graph starts to go down is when we configured the Knative DNS in the Cluster.
Expected behavior
When message are not been sent, that the Source stops and wait for the Sink to be available. And maybe that the source (if the sink is a Ref) checks that a resolvable Ref.
To Reproduce

Spun up a Cluster environment with knative, but do not configure the DNS
Create a RabbitMQ cluster
Create a Broker with a sink (uri or ref)
Create the sink (optional)
Get to the RabbitMQ Management UI and see how the image above gets replicated

Knative release version
1.0.0

/assign

I'm thinking of implementing the same strategy as the Broker's dispatcher, don't know what you all think @ikvmw @xtreme-sameer-vohra @benmoss. Even when that imply giving an extra (no-required) argument to the source config

@gabo1208 Could you expand on what you mean as the same strategy as the Broker's dispatcher ?

Here is the same case with no Requeue, using CloudEvents HTTP retries + backoffPolicies

Hey @gabo1208 is this the same as https://github.com/knative-sandbox/eventing-rabbitmq/issues/504 ?

Yep it is @xtreme-sameer-vohra ! I missed that one


Swift UI Previews are crashing in Xcode 15.3 (worked fine in 15.2).

How frequently does the bug occur?
Always
Description
Swift UI previews started crashing somewhere in Realm when initializing the configuration. We are using in-memory Realm for previews. Used to work before upgrading to Xcode 15.3
Stacktrace & log output
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Incident Identifier: 5F489663-385A-4AA3-BE9E-05CC06931387
CrashReporter Key:   54FBA5B8-80CA-4028-04C0-C0F05C4D7D20
Hardware Model:      MacBookPro18,2
Process:             Tezza [3963]
Path:                /Users/USER/Library/Developer/Xcode/UserData/Previews/Simulator Devices/D932BB63-490F-40AA-88FD-38183AFE80FD/data/Containers/Bundle/Application/180A7B93-D16E-4125-8FE1-F71B9D58EE05/Tezza.app/Tezza
Identifier:          com.tezzanyc.Tezza
Version:             8.4 (2152)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [2460]
Coalition:           com.apple.CoreSimulator.SimDevice.D932BB63-490F-40AA-88FD-38183AFE80FD [1383]
Responsible Process: SimulatorTrampoline [2055]

Date/Time:           2024-03-13 14:28:58.5303 -0700
Launch Time:         2024-03-13 14:28:57.0829 -0700
OS Version:          macOS 14.4 (23E214)
Release Type:        User
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes: 0x0000000000000001, 0x0000000000000000
VM Region Info: 0 is not in any region.  Bytes before following region:<PHONE_NUMBER>
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->
      __TEXT                      100680000-1025d8000    [ 31.3M] r-x/r-x SM=COW  /Users/USER/Library/Developer/Xcode/UserData/Previews/Simulator Devices/D932BB63-490F-40AA-88FD-38183AFE80FD/data/Containers/Bundle/Application/180A7B93-D16E-4125-8FE1-F71B9D58EE05/Tezza.app/Tezza
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [3963]

Triggered by Thread:  0

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libswiftCore.dylib            	       0x11b8966d8 swift::TargetMetadata<swift::InProcess>::getGenericArgs() const + 20
1   libswiftCore.dylib            	       0x11b8be2c8 instantiateWitnessTable(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolConformanceDescriptor<swift::InProcess> const*, void const* const*, void**) + 140
2   libswiftCore.dylib            	       0x11b8b605c swift::_getWitnessTable(swift::TargetProtocolConformanceDescriptor<swift::InProcess> const*, swift::TargetMetadata<swift::InProcess> const*, void const* const*) + 4360
3   Tezza                         	       0x100ef59e0 lazy protocol witness table accessor for type LinkingObjects<Project> and conformance LinkingObjects<A> + 72
4   Tezza                         	       0x10127bd60 AudioItem.init() + 956 (AudioItem.swift:26)
5   Tezza                         	       0x10127c16c @objc AudioItem.init() + 20
6   Tezza                         	       0x1018f0a84 @nonobjc RLMObjectBase.init() + 24
7   Tezza                         	       0x1018ef2e4 RLMObjectBase.__allocating_init() + 32
8   Tezza                         	       0x1019091fc getProperties(_:) + 340 (SchemaDiscovery.swift:218)
9   Tezza                         	       0x101909714 static ObjectUtil.getSwiftProperties(_:) + 144 (SchemaDiscovery.swift:240)
10  Tezza                         	       0x10193dfe4 static RealmSwiftObject._getProperties() + 68 (Object.swift:137)
11  Tezza                         	       0x10193e01c @objc static RealmSwiftObject._getProperties() + 40
12  Tezza                         	       0x10160c79c +[RLMObjectSchema propertiesForClass:isSwift:] + 104 (RLMObjectSchema.mm:222)
13  Tezza                         	       0x10160ac30 +[RLMObjectSchema schemaForObjectClass:] + 1216 (RLMObjectSchema.mm:154)
14  Tezza                         	       0x101816e60 registerClass(objc_class*) + 324 (RLMSchema.mm:118)
15  Tezza                         	       0x101817cc4 __25+[RLMSchema sharedSchema]_block_invoke + 88 (RLMSchema.mm:305)
16  CoreFoundation                	       0x111d2646c __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 16
17  CoreFoundation                	       0x111e4eaec -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 260
18  Tezza                         	       0x101817a38 +[RLMSchema sharedSchema] + 460 (RLMSchema.mm:304)
19  Tezza                         	       0x1017e0284 +[RLMRealm realmWithConfiguration:confinedTo:error:] + 1952 (RLMRealm.mm:458)
20  Tezza                         	       0x1017dfa00 +[RLMRealm realmWithConfiguration:queue:error:] + 172 (RLMRealm.mm:395)
21  Tezza                         	       0x10189f0ec @nonobjc RLMRealm.__allocating_init(configuration:queue:) + 144
22  Tezza                         	       0x10197ae18 Realm.init(queue:) + 220 (Realm.swift:78)
23  Tezza                         	       0x100ce8fb0 static Realm.withRealm<A>(action:) + 208 (Realm+Extension.swift:37)
24  Tezza                         	       0x100d1ef14 RealmServiceType.withRealm<A>(action:) + 220 (RealmServiceType.swift:125)
25  Tezza                         	       0x100d1f928 RealmServiceType.allObjects() + 348 (RealmServiceType.swift:104)
26  Tezza                         	       0x101022654 RealmUserService.activeUser.getter + 132 (RealmUser.swift:56)
27  Tezza                         	       0x100efbd40 AuthProvider.getUser() + 116 (AuthProvider.swift:24)
28  Tezza                         	       0x100f6b198 CleverTapTrackingService.updateUserProfile(withSubscriptionDetails:) + 236 (CleverTapTrackingService.swift:40)
29  Tezza                         	       0x100f6ae18 CleverTapTrackingService.().init() + 312 (CleverTapTrackingService.swift:28)
30  Tezza                         	       0x100f6ac54 CleverTapTrackingService.__allocating_init() + 44
31  Tezza                         	       0x100f6ac14 one-time initialization function for shared + 28 (CleverTapTrackingService.swift:23)
32  libdispatch.dylib             	       0x11a5c3d3c _dispatch_client_callout + 16
33  libdispatch.dylib             	       0x11a5c5530 _dispatch_once_callout + 28
34  Tezza                         	       0x100f6acb0 CleverTapTrackingService.shared.unsafeMutableAddressor + 80 (CleverTapTrackingService.swift:23)
35  Tezza                         	       0x1014573f4 PurchaselyPresenter.().init() + 684 (PurchaselyPresenter.swift:58)
36  Tezza                         	       0x101456f00 PurchaselyPresenter.__allocating_init() + 44
37  Tezza                         	       0x101456ec0 one-time initialization function for shared + 28 (PurchaselyPresenter.swift:47)
38  libdispatch.dylib             	       0x11a5c3d3c _dispatch_client_callout + 16
39  libdispatch.dylib             	       0x11a5c5530 _dispatch_once_callout + 28
40  Tezza                         	       0x101456f5c PurchaselyPresenter.shared.unsafeMutableAddressor + 80 (PurchaselyPresenter.swift:47)
41  Tezza                         	       0x101457118 static PurchaselyPresenter.setup() + 116 (PurchaselyPresenter.swift:50)
42  Tezza                         	       0x10093c5c4 AppDelegate.application(_:didFinishLaunchingWithOptions:) + 416 (AppDelegate.swift:36)
43  Tezza                         	       0x10093e824 @objc AppDelegate.application(_:didFinishLaunchingWithOptions:) + 196
44  UIKitCore                     	       0x130bf9cfc -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 312
45  UIKitCore                     	       0x130bfb15c -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 2788
46  UIKitCore                     	       0x130bffc7c -[UIApplication _runWithMainScene:transitionContext:completion:] + 856
47  UIKitCore                     	       0x1302ad820 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 148
48  UIKitCore                     	       0x130bfcf70 -[UIApplication _compellApplicationLaunchToCompleteUnconditionally] + 44
49  PreviewsOSSupportUI           	       0x15da5e7f8 -[UVAgentSceneEntryPoint _forceApplicationLaunchCompletion] + 36
50  PreviewsOSSupportUI           	       0x15da5e724 -[UVAgentSceneEntryPoint initWithScene:] + 268
51  UIKitCore                     	       0x13011323c __66+[UIScene _sceneForFBSScene:create:withSession:connectionOptions:]_block_invoke_3 + 84
52  CoreFoundation                	       0x111d2646c __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ + 16
53  CoreFoundation                	       0x111e4eaec -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] + 260
54  UIKitCore                     	       0x130112cac +[UIScene _sceneForFBSScene:create:withSession:connectionOptions:] + 648
55  UIKitCore                     	       0x130bfe644 -[UIApplication _connectUISceneFromFBSScene:transitionContext:] + 804
56  UIKitCore                     	       0x130bfe92c -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 356
57  UIKitCore                     	       0x1306edcc4 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 260
58  FrontBoardServices            	       0x11dee8190 -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] + 296
59  FrontBoardServices            	       0x11df113d4 __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.82 + 224
60  FrontBoardServices            	       0x11def4d6c -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 160
61  FrontBoardServices            	       0x11df1114c __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke + 284
62  libdispatch.dylib             	       0x11a5c3d3c _dispatch_client_callout + 16
63  libdispatch.dylib             	       0x11a5c7c4c _dispatch_block_invoke_direct + 376
64  FrontBoardServices            	       0x11df34b24 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 44
65  FrontBoardServices            	       0x11df34a00 -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 196
66  FrontBoardServices            	       0x11df34b58 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 24
67  CoreFoundation                	       0x111d3df18 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
68  CoreFoundation                	       0x111d3de60 __CFRunLoopDoSource0 + 172
69  CoreFoundation                	       0x111d3d5d0 __CFRunLoopDoSources0 + 232
70  CoreFoundation                	       0x111d37cb8 __CFRunLoopRun + 768
71  CoreFoundation                	       0x111d375a4 CFRunLoopRunSpecific + 572
72  GraphicsServices              	       0x11c9f7ae4 GSEventRunModal + 160
73  UIKitCore                     	       0x130bfd2e4 -[UIApplication _run] + 868
74  UIKitCore                     	       0x130c00f5c UIApplicationMain + 124
75  Tezza                         	       0x100941644 main + 64 (AppDelegate.swift:19)
76  dyld_sim                      	       0x107151544 start_sim + 20
77  dyld                          	       0x106b520e0 start + 2360

Can you reproduce the bug?
Always
Reproduction Steps
Just try to preview any Swift UI view in Xcode
Version
10.48.0
What Atlas Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
iOS, any version of the simulator
Build environment
Xcode version: 15.3
Dependency manager and version: ...

We may need a bit more info to go on - I have an app running, XCode 15.3, SDK 10.48, iOS, SwiftUI, in-memory realm and it previews and runs correctly.
I then created a fresh project with same config just a simple "Hello World" and a button that writes data to in memory realm, and that works correctly and previews as well.
Perhaps including the code that's crashing would narrow down the cause?
Here's a screenshot of the preview

We may need a bit more info to go on - I have an app, XCode 15.3, SDK 10.48, iOS, SwiftUI, in-memory realm and it previews and runs correctly.
I then created a fresh project with same config just a simple "Hello World" and a button that writes data to in memory realm, and that works correctly and previews as well.
Perhaps including the code that's crashing would narrow down the cause?
Here's a screenshot of the preview

HI @Jaycyn

Thank you replying @Jaycyn .
Yes I understand it might be specific to our code structure. I will try to narrow it down some more, just wanted to check first if something like that is already on your radar. Will do some more digging.
The frustrating part is that it all works perfectly with Xcode 15.2 and earlier.

Looking at the stacktrace, it appears it might be related to the existence of a LinkingObjects property in the model.

Yes it doesn't like LinkingObjects and the List types, either one leads to a crash.  But I finally found the reason!!!!
This is clearly an Xcode 15.3 bug.
The issue was that for whatever reason my unit tests target had only Realm added to its  dependencies but didn't have RealmSwift (Frameworks and Libraries panel in General tab for that target's settings).   To solve the issue I had to either add RealmSwift dependency or remove the existing Realm one. Apparently RealmSwift contains definitions for Swift-Only List and LinkingObjects generic protocols and Xcode wasn't able to resolve them.
Why does it need to build unit tests target for previews, and why does it even use its dependencies for symbol look up, is unwon to me. But this has fixed the issue which was plaguing me for several days.

Happy to hear you were able to sort it out. This is indeed unexpected behavior and hopefully something Apple will address with a future release.


Expand the Style Guide to improve consistency in docs and comms

We should expand the Contributor Style Guide so that contributors have a reference for common terms and phrases.
Some examples of what we could add:

Making the distinction between "deprecating" an API and "removing" an API (#28690)
Saying "manifest" vs "definition" or "spec" and other terms with multiple technically correct alternatives
Pod vs pods (capitalization especially w.r.t the plural version of a word)
When to use inline codeblocks vs just saying the resource name (eg: VerticalPodAutoscaler vs Vertical Pod Autoscaler) and whether to use the word "object" or "resource" after a code-blocked mention (eg: Create a Service object vs Create a Service)

A lot of the groundwork already exists in the current Style Guide, but it could use expansion and potential reorganization.
We could, for example, organize into sections based on type of style issue (grammar/accessibility & inclusion/formatting/API).
This may be a long term priority but I thought it might be a good discussion point for a future meeting as it has the potential to be a pain to maintain as it grows, but would be invaluable for new contributors (like me!).
Related issues

#26190
#18231
#14101
#7030
#5234
#20862
#20925

Tasks

[ ] Expand capitalization rules and use cases
[ ] Expand/create an API conventions and formatting guide (see #26190)
[ ] Review list of current Hugo shortcodes and prune/update
[ ] Add content from the k/community style guide (see #14101)
[ ] Expand use cases for bold, italics, and other formatting/readability components (see #7030)
[ ] Add style guide entry for Release Notes (see #5234)
[ ] Document label names (see #20925)

/cc @sftim

/assign
/sig docs

/triage accepted
/lifecycle frozen

/priority backlog
/sig contributor-experience

@shannonxtreme I'd love to hear from you if you think this issue is worth reviving. At the moment, many of the relevant issues you've mentioned have been closed due to inactivity, and this umbrella issue would need an overhaul to have it linked to relevant work in flight (or not). While I do think this work is important, we can absolutely reflect as such in a new issue

Coming back to this issue, and in the interest of cleaning up some of our older work, I am in favour of closing this given the amount of inactivity in the linked relevant work, and the overhaul required to make this umbrella issue suitable for our current docs scope.
Happy to hear feedback from others!

Yeah I think we should close this. If I have more time down the line I'll bring it up at a sig meeting 😁 I think that we covered a lot of this in the linked issues so I see it as a win still!

Agreed, thanks @shannonxtreme! 🎉
/close


Update to July 5.0.205 release.

-Update hashes and version numbers.

Update ASP.NET Core patch.
Patch MSBuild to not build samples to skip a VS prebuilt.
Update online prebuilt baseline.

the nuget-client.log from the failing bootstrap offline job shows this error message:
/bst/bootstrap_dir/final-sdk/src/nuget.client.d525b0e670f3b6cbd5c73a35f04730a9f658c852/src/NuGet.Core/NuGet.CommandLine.XPlat/NuGet.CommandLine.XPlat.csproj : error NU1101: Unable to find package Microsoft.Extensions.CommandLineUtils. No packages exist with this id in source(s): prebuilt, previously-source-built, reference-packages, source-built [/bst/bootstrap_dir/final-sdk/src/nuget.client.d525b0e670f3b6cbd5c73a35f04730a9f658c852/build/restorehelper.targets]

Looking at this now.


Don't use 'userID/roomID' concatenated string for cursor store dictionary keys

What?
See title
Why?
In preparation for allowing custom room IDs

CC @hamchapman

          1 Warning

:warning:
Any changes to library code should be reflected in the Changelog. Please consider adding a note there. \nYou can find it at CHANGELOG.md.

  Generated by :no_entry_sign: Danger


Fixed cloud-init tests.

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[X] The toolchain has been rebuilt successfully (or no changes were made to it)
[X] The toolchain/worker package manifests are up-to-date
[X] Any updated packages successfully build (or no packages were changed)
[X] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[X] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[X] All package sources are available
[X] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[X] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[X] All source files have up-to-date hashes in the *.signatures.json files
[X] sudo make go-tidy-all and sudo make go-test-coverage pass
[X] Documentation has been updated to match any changes to the build system
[X] Ready to merge

Summary

Recently ptests for cloud-init started to fail. The culprit seems to be an update to jsonschema - one of the test dependencies. I'm freezing the version of that module to 4.20.0 (last version when the tests were still green).
Change Log

Froze ptest dependency to version 4.20.0.
Fixed the source URL.

Does this affect the toolchain?

No.
Test Methodology

Local test run.
Buddy build.

oh man, uh, could we not do this but instead fix it so pip doesn't pull it at all please? e.g. #7328
freezing the version still results in pip getting it which really we shouldn't be doing at all.
but if you like this way better it will work too i suppose.

oh man, uh, could we not do this but instead fix it so pip doesn't pull it at all please? e.g. #7328
freezing the version still results in pip getting it which really we shouldn't be doing at all.
but if you like this way better it will work too i suppose.

I'd also prefer to use our own packages wherever possible, but we're way behind with jsonschema, so I'd prefer to avoid introducing other breaking changes and spending more time on this than necessary. This is only meant to be a quick fix for a failing test. Feel free to continue on with your work in the other PR, however.


[BUG] longhorn-manager is unable to initialize after upgrade

Describe the bug
After upgrading from version 1.4.4 to version 1.5.5, the longhorn-manager was unable to initialize, reporting errors related to the mutation webhook.
To Reproduce
Upgrade from version 1.4.4 to version 1.5.5. Nothing else was done.
Expected behavior
The expectation was that the Longhorn-manager would start successfully.
Support bundle for troubleshooting
I can't generate the Support Bundle because the longhorn-manager doesn't start. Error 502 when I trying to generate it.
Environment

Longhorn version: 1.4.4
Impacted volume (PV): None
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: Vanilla k8s - 1.28.10

Number of control plane nodes in the cluster: 1
Number of worker nodes in the cluster: 3

Node config

OS type and version: Rocky Linux 8.10
Kernel version: 4.18.0-513.24.1.el8_9.x86_64
CPU per node: 12
Memory per node: 32
Disk type (e.g. SSD/NVMe/HDD): HDD
Network bandwidth between the nodes (Gbps): 1 Gbps

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster: 15

Additional context
Apparently, it fails the HealthCheck:

But we can see in the logs that the webhook started:

Then we find this failure message when accessing the webhook:

And longhorn-manager keeps restarting:

We also tried to increase webhook timeout to 30s, but we had the same problem.
Workaround and Mitigation
None

Hi @dopic Can you upload the logs from the 3 longhorn-manager pods?

Thanks @dopic
I checked the code base and looks like the logs message Webhook admission is ready is doesn't not exsit in Longhorn v1.5.5 version.

I am wondering if the images of Longhorn components are up to date. For example, this user discovered that the image is not uptodate due to old Helm value https://rancher-users.slack.com/archives/CC2UQM49Y/p1726088763371659. Can you provide:

kubectl get ds longhorn-manager -n longhorn-system -oyaml
kubectl get svc -n longhorn-system -oyaml

Thank you, @PhanLe1010!
To keep things working here, we had to roll back longhorn to 1.4.4, but we updated again to get this information.
I haven't seen this message again, but the problem persists.
I'm sending the DaemonSet and Service configuration, and also new logs.
Configuration
ds-config.yml
svc-config.yml
Logs
longhorn-manager-w01.log
longhorn-manager-w02.log
longhorn-manager-w03.log
longhorn-manager-w04.log

Thanks @dopic
I think this logs {"file":"/go/src/github.com/longhorn/longhorn-manager/upgrade/upgrade.go:126","func":"github.com/longhorn/longhorn-manager/upgrade.upgrade.func1.1","level":"error","msg":"Upgrade failed: upgrade resources failed: Internal error occurred: failed calling webhook \"mutator.longhorn.io\": failed to call webhook: Post \"https://longhorn-admission-webhook.longhorn-system.svc:9502/v1/webhook/mutation?timeout=30s\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)","time":"2024-09-19T12:11:39Z"} is indicating that the kubernetes API server cannot talk to Longhorn admission webhook (which is longhorn-manager pods). Is there any network policy or firewall in your cluster which prevent this communication?

Hi, @PhanLe1010. You were right.
We had a network policy that was blocking access from the API Server. It was applied to the longhorn-manager pods, allowing access only from the same namespace. When the Webhooks were moved to the manager, the problem started.
Thank you for your help!


Using imapfw to analyze attachements

My goal is to bundle an IMAP proxy usable by endusers to sanitize email attachments transparently.
I am the maintainer of PyCIRClean and I'm going to write a python script that takes an email as input, lookup the attachment(s) with a script similar to this one, reattach the payload and return a "sanitized" email.
My question is the following: is there an easy way to hook a module to imapfw? I didn't find it in the documentation, sorry if I missed it.

imapfw is not ready to download emails.
I'd be happy to know more on your use case to get a bigger picture of your expected use case. What do you mean by "hook a module"? What module(s) would you hook?

My idea is the following:

The users install and configure imapfw to connect to their imap server
The users configure their email client (Thunderbird, outlook,...) to connect to imapfw
imapfw acts as a transparent proxy for all messages except for the ones with attachments. In that case, it gives the whole source of the message to my script that check the sanity of the attachment and returns a message (after having changed the attachment if needed)

Thanks.

The other thing I'm not sure about is how an IMAP server would handle a message modified by the client. Do you have an idea?

emails are mapped with their UID. Changing the email invalidates the UID. So the changed email must be removed from server and re-uploaded as a new email.

Forgot to say our (WIP) documentation is available on the website

Thanks, I'll look at the doc and the code.
Do you think having such a module is doable with imapfw in the future? I'm comfortable working on a project under heavy development but I simply want to make sure it is possible before I start allocating time on it.

I think it is possible in two ways:

if you need the "real" IMAP server to take changes into account, the proxy has to propagate the changes (download, make the change, delete old on server, create new on server).
if there's no need for the IMAP server to be aware of the changes, the proxy could be an IMAP server like Dovecot or internal (must be implemented). In this case, imapfw would sync both IMAP servers (and possibly make changes on the emails). Since Dovecot works on Maildir, imapfw could also sync the "real" IMAP server to the Dovecot database (Maildir).

There another possible way: write a real proxy. This would be the hard path but very interesting, BTW.
In this case, imapfw should create a socket and allow triggers on IMAP requests.

Solution 1 seems to be the best one in my case (I don't really understand the difference with solution 3).
The goal is to be able to propose such a solution for occasional users of webmails too, so the changes need to be somehow synchronized back to the "real" IMAP server.

There are different levels a proxy could act:

high-level (solution 1): the proxy exposes/tunes emails "on demand" when they are first downloaded and propagates changes back on "real". This could mean long waiting time responses for the client since it has to wait for a new UID (re-upload) on updates. In this case, discovering new emails is triggered by the client. The proxy implements almost a full IMAP server but the emails aren't stored locally. The database is the "real" server. In this case, the provided UIDs could be different from "real".
high-level (solution 2): imapfw syncs emails to a local maildir and then exposes them via IMAP which requires local disk space to store the emails. Discovering and updating emails is done by the proxy without connected client.
low-level (solution 3): proxy works on IMAP requests and commands. The proxy doesn't interpret the IMAP requests from the client. They are blindly relayed to the server. The exposed UIDs are the "real" UIDs. However, downloaded emails can be updated and propagated back on "real" before they are exposed to the client. This would mean long delays for plenty of IMAP commands because any discovered UID requires each email to be checked first in case they need changes. This likely requires a local database of known (already checked) UIDs and regexp on IMAP commands from the client.

There could be other ways of working for your proxy. For example, a monitor could regularly request "real" for new emails so they are checked and updated if needed. The proxy would only expose pre-validated UIDs.

BTW, I wonder the update on emails is best done on the IMAP server at delivery time (MDA). I think most IMAP servers allows to do this kind of things. ,-)

Definitely, a postfix script will also happen, and it is the cleanest way, but the goal is to support user with no specific knowledge, infrastructure or support team at-hand (webmail users working in small organisations receiving all kind of ransomwares).
Just to make sure I got it right:
(everything time I say mail client, I mean Thunderbird/Outlook/...)
Solution 3
The mail client uses the imapfw as an actual proxy and connects to it to get the emails, imapfw is the only one connecting to the imap server.
Every email passing through is send to the sanitizing module. If it is has an attachment, it is sanitized (optionally: the original email is sent in quarantine), the sanitized email is tagged as sanitized, synced on the server and passed to the email client.
Solution 1
imapfw acts as a mail client and modify the emails on demand, the mail client still connects to the remote IMAP server so it will still receive unprocessed malicious attachments if imapfw didin't had time to update the email.
Solution 2
imapfw does the the same as solution 1 but with a local storage. If the email clients connects directly to imapfw, it will only see the emails in the local storage ans not the ones on the server.
Solution 3 is most definitely the best one, because even if it is a bit slower at fetching the emails, the mail client will still do all the caching it was doing before (let's say the last 30 days and all the subjects) so the extra hop isn't critical.

Solution 3
The mail client uses imapfw as an actual proxy and connects to it to get the emails, imapfw is the only one connecting to the IMAP server.

Same goes for 1 & 2.

Every email passing through is send to the sanitizing module. If it is has an attachment, it is sanitized (optionally: the original email is sent in quarantine), the sanitized email is tagged as sanitized, pushed back to the server and passed to the email client.

Same goes for 1 & 2.

Solution 1
imapfw acts as a mail client and modify the emails on demand

imapfw is an IMAP client in all the alternatives.

Downside: the mail client still connects to the remote IMAP server

No, the mail client connects to the proxy.

so it will still receive unprocessed malicious attachments if imapfw didn't had time to update the email.

Same goes for 2 & 3.

Solution 2
imapfw does the the same as solution 1 but with a local storage.

No, it doesn't do the same as solution 1. Solution 1 is about using IMAP as a language for the remote database. Solution 2 is about syncing both server and proxy.

Downside: If the email clients connects directly to imapfw, it will only see the emails in the local storage and not the ones on the server.

True, the latest emails on the server must be processed at regular intervals to update the local and remote databases.

Solution 3 is most definitely the best one, because even if it is a bit slower at fetching the emails, the mail client will still do all the caching it was doing before (let's say the last 30 days and all the subjects) so the extra hop isn't critical.

Caching can be done with solution 1, too.
However, I don't think solution 3 will be "a bit" slower. I think this can become a lot slower. For example, if the mail client only requests for the list of UIDs, the proxy must first download ALL the unkown emails to process them and then return the correct list of numbers.
I don't know which option is the best. I'd say it depends on what users expect. Solutions 1 and 3 are hard because IMAP is client side while the purpose is to apply changes on the server. Each solution has downsides. Proxying IMAP is "easy" as long as no modifications are made on the emails.

Ok, I understand now.
What the users expects is to receive their messages in their email client and not changing their habits. They also have multiple devices (PCs, phone, ...) and use a webmail from time to time so having a local cache isn't the goal, and we need to sync the changes back to the server (so the other clients also have the sanitized version).

Now a very practical question: is it something you think will be doable with imapfw in a near-ish future? Or should I look at an other library?
I'd very happy to participate to the development but right now, I don't really understand where I should look at in the code, as the framework seems very extensive.

I can't tell how much time this would require since it depends on contributions (myself included). Also, this depends on your own knwoledges of Python and how "production ready" you expect it.
For now, imapfw is still early stage so you should expect to write quite some code. OTOH, this means you have more degrees of liberty to implement what you want.
I think imapfw has the best extensibility compared to any other library due to the design and the Python metaprograming capabilites.
I'd say imapfw can be a good long-time solution if you have enough time to spend on the code.
For a starter, I'd first look the screencast. Next, you should look at the code and request me on gitter. You can ask any question, as much as you want, so you can get a better picture of the current state and have a better overview of what you could do with imapfw.

What the users expects is to receive their messages in their email client and not changing their habits. They also have multiple devices (PCs, phone, ...) and use a webmail from time to time so having a local cache isn't the goal, and we need to sync the changes back to the server (so the other clients also have the sanitized version).

Pushing back improves safety but most email clients will need 2 different accounts (one for the real remote and another for the proxy) so that the local caching of the clients won't be usefull while switching between both.
Whatever the solution, accessing the real would expose to un-checked emails.

Great, I'll dig into imapfw more and look for a way to implement it. I have decent skills in python so I'll definitely contribute as much as I can.
FYI, I wrote a quick&dirty script that takes a mail as input and returns a sanitized version: https://github.com/Rafiot/PyCIRCLean/blob/mail/bin/mail.py
It is far from being production ready, but this is the idea.
Regarding the 2 different accounts, I still don't get it :/
To me, it should work that way:

Of course, if the users uses any other device at the same time they use the proxy, they will get the un-sanitized version but as soon as the sanitizing is done, the only version that stays on the server is the sanitized one.
And on the machine where the proxy is running, they only get to see the mail when the sanitizing is done.

Things are worse because the clients can connect more than once and this should not trigger twice the same checks.

The more I think about this, the more I'm convinced you should use both a proxy and a monitor. The proxy would only hides unchecked UIDs while the monitor (IDLE mode?) would sanitize the emails.

Okay, my idea was to have no database at the proxy's level and just look at the content of each email passing through, but your approach is probably more efficient.
I would still prefer, or at least have the possibility, to look at the original email in a quarantine folder but that's a detail at that point.

Okay, my idea was to have no database at the proxy's level and just look at the content of each email passing through, but your approach is probably more efficient.

But you have to know which emails are already checked to avoid scanning them more than once.

I would still prefer, or at least have the possibility, to look at the original email in a quarantine folder but that's a detail at that point.

This is something I'd suggest at some point. Blindly trusting a sanitizer is crazy. ,-)

Sounds great, I now have a beta version of the mail parsing script: https://github.com/CIRCL/PyCIRCLean/blob/mail/bin/mail.py
I tested it on junk mails (~50k) and it works properly. Now we need to get the proxy together :)
Can you tell me what imapfw can do and can't do right now based on your last graph? This will help me to prepare my roadmap.

You should look at the code. For IMAP sessions, see https://github.com/OfflineIMAP/imapfw/blob/master/imapfw/imap/imap.py#L108

very simple script to process a directory of emails: https://github.com/Rafiot/imapfw/blob/msghook/rascals/dev.messagehook.rascal


fix: memory leak

🔗 Linked issue

#2612
#2034

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
It is unlikely that this fixes all present memory leaks in the module, but this small change appears to have a measurable impact on the memory usage.
I ran the reproductions with the latest release rc.9, and took memory snapshots with chrome. First without any requests, then running siege for 10 seconds with 10 concurrent users (siege -t 10s -c 10 "http://localhost:3000/") after which I took another snapshot. After waiting for a short moment I took another snapshot in case any more memory was cleared 🤷♂. Then I installed my local modified @nuxtjs/i18n and went through the same steps.
My testing isn't exactly thorough, but it was a reliable way to see the memory usage go up and stay up, it's possible memory will still increase after longer usage and uptime, it's something that takes time and patience.
Below a comparison of the snapshots before and after installing the modified package:

I also tested https://github.com/nuxt-modules/i18n/issues/2034#issuecomment-1659386170 (or https://github.com/danielroe/i18n-memory-leak) after making this comparison image, memory usage went from ~121mb to ~33mb.
While profiling I kept seeing nuxtI18Options and baseUrl, based on thismy theory is that the nuxt context is not being disposed of correctly as it is being set on nuxtI18nOptions in the i18n.ts plugin.
For example here:
https://github.com/nuxt-modules/i18n/blob/4bf4f5013a68a9fa7dcf0d7035d367cd40710eb1/src/runtime/plugins/i18n.ts#L86-L91
nuxtI18nOptions.baseUrl is being set to a function returned from extendBaseUrl, the returned function makes use of the passed nuxt context (options.nuxt), nuxtI18nOptions is not defined in the scope of the plugin so I can imagine it would be hard to know when to dispose/free the memory? Based on this assumption I instead create a new object using nuxtI18nOptions, which since it's scoped to the plugin should be easier to safely dispose/free.
I don't know enough about memory management or garbage collection in Javascript, but I have experience optimizing memory usage for mobile games in C#, to provide a background for my reasoning. If someone has good resources on this please share them so I can form more informed conclusions 😅
Update
Based on the testing I did, I changed the way the Nuxt context is used/retrieved. Instead of passing it to functions/closures and potentially causing leaks the useNuxtApp composable is used where possible.
There is still a small and slow increase in memory usage for every few 1000s of requests, will look into that as well.
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Wow, I just found the same cause and wanted to report it! :joy: Good thing this PR was a bit quicker than me :wink: I'll try it in my project now.

That's amazing work! ❤
The causing of memory leaks is very difficult since the code must be checked.
I appreciate your efforts 🙇

I don't know enough about memory management or garbage collection in Javascript, but I have experience optimizing memory usage for mobile games in C#, to provide a background for my reasoning. If someone has good resources on this please share them so I can form more informed conclusions

As far as I know, I think you can control GC in Javascript by using WeakRef or FinalizationRegistry to get around it.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakRef
However, unlike C# and other languages, JavaScript does not currently provide a mechanism to release resources like the dispose / descructor pattern.
So, I think the only way to intentionally control memory release in JavaScript is to use those APIs.
Once again, thank you so much!

There seems to be another leak in some head / pinia related files in my project though 😅 but that's unrelated to nuxt-i18n.

@dargmuesli
Happy to hear it's working, thanks for testing! I do think there is a smaller memory leak related to the head tags, still need to check if it is present without @nuxtjs/i18n, it may be caused by nuxt itself.

As far as I know, I think you can control GC in Javascript by using WeakRef or FinalizationRegistry to get around it.

@kazupon
I still need to learn more about those APIs, as well as WeakSet and WeakMap, maybe it would be easier to prevent leaks with those 😅


19 implement interaction with pull resp packet

Coverage increased (+0.4%) to 98.339% when pulling 02caf96d658d0f8cb14504170ea137439abafe6e on 19-implement-interaction-with-pull-resp-packet into 9895368d126bf54b0b231dd482d5c087e1408980 on dev.

Coverage increased (+0.4%) to 98.346% when pulling 434b2e0b53ef3b7426a54a23c3e06ba32a456c3e on 19-implement-interaction-with-pull-resp-packet into 9895368d126bf54b0b231dd482d5c087e1408980 on dev.


What prevents organizational capture of the foundation?

We have endeavored to construct the Foundation such that there are a plurality of voices on the board and those voices have power.
Unlike many software foundation boards, the project itself will appoint a significant number of directors to the board to sit alongside the corporate directors, as we mentioned in the answer to “Will Rust maintainers have a voice in the foundation?”.
Additionally, the board is structured in a way that has limits on the power that any one particular entity can have. While the bylaws are still in draft, they contain several rules to prevent organizational capture, for example:

Limits to the number of directors that can be employed by a single entity
Limits to the number of votes an entity has, if it there are multiple legal subsidiaries represented on the board
Quorum and voting decisions requiring majorities from both project directors and corporate directors

We weren’t entirely sure that this is what you meant by organizational capture. If this doesn’t address your concerns, please follow up by filing a new more detailed question!

We weren’t entirely sure that this is what you meant by organizational capture.

I think you got the gist of it. I was also wondering about the communities ability to hold board members accountable but that seems to have been answered in https://github.com/rust-lang/foundation-faq-2020/issues/41


reducer test for RATE_LIMIT_EXCEEDED

all good to go!

Thanks Sweeney, LGTM.
If you have the time, maybe you can fix the super low idle time (in a new
PR to rainforestapp)?
On Sep 12, 2016 13:55, "Paul Sweeney Jr"<EMAIL_ADDRESS>wrote:

all good to go!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/helloworld111gh/tester-chrome-extension/pull/2#issuecomment-246490145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJs-6W7korHsc56z3riiwkq9niFuaPyPks5qpbxDgaJpZM4J66Ry
.

@helloworld111gh  your welcome, now it's 6 minutes for idle time..   https://github.com/rainforestapp/tester-chrome-extension/pull/547  (merged)


DAT 4119

##Overall:
--schemas will only work for snapshot when to the right of the command, but for other liquibase commands, like generatechangelog, it works and is documented as working to the left (in the "global commands" space). we need to make sure --schemas works to the standard usage (to the left of the command).
Context
A Liquibase client was having issue running a diff between a snapshot and multiple schemas.
The user workflow was as follows:

Snapshot the target database with multiple schemas using the flags: "--schema=<schema1,schema2,schema3>"
The user conducts a few changes to the target database.
The user then runs a diffChangeLog between the snapshot and the target database.
Unfortunately the resulting diffChangeLog did not carry all the changes that were made in all of the schemas specified while doing the original snapshot.
After support conducted a few tests, it appears that when running the snapshot command, Liquibase does NOT include all the schemas specified with the "--schema<schema1,schema2,schema3>" flag in the snapshot file.
Instead, it only contains the default schema.

This change breaks anyone currently using --schemas after the snapshot command which we cannot do.
We also need to make sure it is used for snapshotReference and dropAll commands.


Tabs title render

Hi, is this a bug? when page is loaded, i can catch moment when tabs dont have title, and after one sec they are shown.
Can i render tabs title manually? I'm looked in docs, but nothing found

Bug reports must include a live demo of the issue. Per our contributing guidelines, please create a reduced test case via CodePen or JS Bin and report back with your link, Bootstrap version, and specific browser and Operating System details.
This is an automated reply

Closing due to lack of response. You can comment here and we can re-open the issue.
This is an automated reply


nixosTests.kdenlive: 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 sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[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

[ ] 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.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

@ofborg test kdenlive

I'd rather not add an entire VM test just to ensure it kinda sorta runs.

I was considering adding more content to have a regression test for https://github.com/NixOS/nixpkgs/issues/323296 and https://github.com/NixOS/nixpkgs/issues/323309. But I couldn't solve those issues yet.

Also you should really be testing kdePackages.kdenlive.

Also you should really be testing kdePackages.kdenlive.

Good to know, thanks! To be honest, I don't really know the difference. Can I read up on that somewhere?
And shouldn't the top level package then be inherit (kdePackages) kdenlive;?

kdePackages is the Qt6 version, I'll drop the Qt5 version and the toplevel aliases along with Plasma 5.


Error creating bean with name 'errorChannel' because of ClassCastException occurred in BeanPostProcessor globalErrorChannelCustomizer

If 'errorChannel' bean has a custom definition, for example of amqp PointToPointSubscribableAmqpChannel, then an application fails to start because of thrown java.lang.ClassCastException happens in BeanPostProcessor globalErrorChannelCustomizer in BindingServiceConfiguration auto-configuration.
Actual behavior: globalErrorChannelCustomizer doesn't verify if errorChannel bean is of PublishSubscribeChannel before casting object:
@Bean
public static BeanPostProcessor globalErrorChannelCustomizer() {
    return new BeanPostProcessor() {
        @Override
        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
            if ("errorChannel".equals(beanName)) {
                ((PublishSubscribeChannel) bean).setIgnoreFailures(true);
            }
            return bean;
        }
    };
}

Expected behavior: errorChannel object type must be verified before doing any cast on it to avoid java.lang.ClassCastException on application startup.
Version of the framework: tested on v.3.2.10, but this unsafe BeanPostProcessor declaration exist in main.

@KirillMakrutin Thanks for reporting this. It is now addressed on the main branch (4.1.1-SNAPSHOT) and backported to 4.0.x.


Unsupported Jest version warn outputted on every test execution.

🐛 Bug Report
Actually a warning concerning unsupported jest version is outputted in the console for every test case which pollute the console even if tests are green.

To Reproduce
Steps to reproduce the behavior:
Update ts-jest to 26.1.0 with jest 25.5.4
Expected behavior
Just log the warning once at test suite initialization and not on every test execution.

This we cannot do, the only way is using the version which is compatible.

You can disable this warning message via environment variable introduced in #1821


feat: Table widget V2 Inline editing validation for plain text & number column

Description
Now editable column has the option to validate the input text before saving.
Fixes #13670
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Cypress test cases were added to verify the feature
Table widget inline editing validation functionality

should check that validation only appears when editable enabled
should check that validation only appears for plain text and number
should check that regex, valid & required appear for the plain text column
should check that min, max, regex, valid & required appear for the number column
should check the validation property for the plain text column
a. Regex
b. Valid
c. Required
should check validation property for number column
a. Min
b. Max
should check the error message property
should check the editable cell actions when there is a validation error
a. save should only work when there is no error
b. discard should only work when there is no error
should check that the save/discard button is disabled when there is a validation error

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=382a612

/ok-to-test sha=50013f6

/ok-to-test sha=50013f6

/ok-to-test sha=f635463

Observation:

Regex validation is not working for Number column type

Valid field is not working for Number type column
https://www.loom.com/share/aa6a2da4ae004ab1923b645b4caa2d9f

Error on the Table cell can seen outside the canvas as well
https://www.loom.com/share/cebd81a7029d46579472d4137fd285c7

There is no auto-suggestion for configuring valid field on Number or Plain text column type.
Like using {{editedValue.length < 10}}  no auto-suggestion was suggesting these

/ok-to-test sha=db95e0c

@ashit-rath Regarding your two points

I just zoomed in and had a closer look. the border seems to be fine. Can you try once as well?
Binding is incorrect you should use editedValue instead currentRow.step. while entering value currentRow.step value points to older value.

A couple of observations here:
Can we have the error toast to read "This field is required" instead of invalid text when a field is set to required. That would be consistent with the other widgets and differentiate from an actual invalid input.
Invalid values are being allowed even when the valid condition is set https://www.loom.com/share/26d45749c5c4467f90be537d70634191
The error text is seen on the canvas on re-sizing https://www.loom.com/share/4b607ba78f6f424e9b73552cec075e4c

@laveena-en
#1 - fixed
#2 - not reproducible
#3 - not an issue. checked with @dilippitchika . we can ignore this.

LGTM!

/ok-to-test sha=b29cdf4


Inference on K80/M60

Hi, I'm trying to do some inference on M60/K80 while always get issue like this:
"triton.code_gen.OutOfResources: out of resource: shared memoryRequired: 65536Hardware limit: 49152"
While training on A100 is ok because of bigger shared memory.
Just want to know is there any hard limit on GPU hardware? Is there any suggestions that we can skip this issue and enable inference on M60/K80/T4 ?

Hi! It is possible for sure.  Where are you getting the error specifically? You'd just need to edit the autotuner's config so it doesn't use anything that your hardware doesn't support

@ptillet Thanks a lot. This issue happens at below code:
line 551 of /python/triton/code_gen.py
        tt_device = _triton.driver.cu_device(device.index, False)         # Compile to machine code         mod, ker, shared_mem, ir_asm = _triton.code_gen.add_passes_to_emit_bin(generator.module, tt_device, num_warps, num_stages)         if shared_mem > tt_device.max_shared_memory():             raise  OutOfResources(shared_mem, tt_device.max_shared_memory(), "shared memory")         return Binary(mod, ker, num_warps, num_stages, shared_mem, ir_asm)
I tried on M60&K80. tt_device.max_shared_memory() is 49152 and has this issue. For V100. seems like it's enough

Hi, @ptillet
I find the following information from the readme. Seem that triton only supports GPU with Compute Capability >= 7.0?
The compute capability of M60 is 5.2 and K80 is 3.7
Compatibility
Supported Platforms:

Linux

Supported Hardware:

NVIDIA GPUs (Compute Capability 7.0+)
Under development: AMD GPUs, CPUs

Yes, this is correct. For Triton we've been focusing mostly on server GPUs, so V100 and A100. It's probably not much work to get it to work on M60 and K80 though. I'll leave this open in case anyone wants to take up this issue :)

I'm guessing K80 support for Google Colab. They have been providing T4 more (anecdotally), last 4 notebooks I got were all T4 so maybe just asking for a new kernel if you get a K80. T4 worked just fine with Triton and got some modest speedups on the vector add tutorial at large sizes


Fixes #31722 - RangeWidget produces 1 subwidget, itself

MultiWidget should return it's subwidgets as it's subwidgets

Closing per ticket.


Shield will not block projectile when moving toward projectile

Shield will not block projectile when moving toward projectile

Got advice concept from following
// from https://www.fiverr.com/nathanwfranke
// from https://www.fiverr.com/nonunknown

Update better logic and implemented. So close the defect for now


Tech/Civic Tree Related Fixes and Additions

Makes the following modifications:

Fixes the panel tooltip in the WorldTracker_CQUI file to properly show the tech/civic info when hovering over

Fixes selecting Future Tech or Future Civic in the Tech/Civic trees. Also comments out playing sound when selecting these as this sound is already played by the base file.

Adds in a setting to automatically repeat repeatable techs and civics. In the case of the base game, this is just Future Tech and Future Civic, but should work for custom techs and civics that are repeatable too. Another solution to this that may look nicer would be to have a small button on the tech/civic nodes that can be repeated that can be clicked to repeat that tech/civic. I may look into doing this later, but for now, I think this is suitable. This feature was requested in the comments of #54 , but does not implement the main request of that issue, so it shouldn't be closed yet.

As always, I can made changes or give more info if requested!

1 and 2 are ok.
Re: 3 - I have a question about such situation. In Civics tree one can get to the end but not research all civics (there leaves, mostly govs). Can you still manually select such a leftover? Or is this auto-repeat forcing you to just do Future Tech/Civic?
This could also be problematic in the Shuffle Mode.

Oh, that's a good question! The way I intended it to work is that it will only repeat a tech/civic if that tech/civic was just finished and it is repeatable. It should still let you manually select others that you may have passed on earlier. I will test this soon to be sure though and make any changes if necessary!


Document checkout patterns

This issue was originally created at: 2009-03-05 09:56:07.
This issue was reported by: gregnoel.
gregnoel said at 2009-03-05 09:56:07

Document patterns to allow a VCS tree to be checked out and used.  See issue
1905 for some possible starting points.

gregnoel said at 2009-03-19 02:32:15

Bug party triage.  Document the serial pattern using Requires(), then reassign
the milestone to be the same as the TaskmasterNG issues and revise the pattern
to use whatever API is used for before/after serialization.

garyo said at 2012-09-01 10:04:01

de-assigning all tickets assigned to Greg Noel (no longer working on SCons)

Move to github didn't preserve links to other issues, adding one back: see #1905

Find this issue a bit confusing... it doesn't say so explicitly, but this has to do with having a project using SCons be able to do checkouts when building, right (and not working on SCons itself)?  But then I didn't understand the initial response - why is such usage tied to TaskmasterNG, which did not hatch into existence anyway?  What would we document? What does "serial pattern using Requires" translate into in documentation-ese?

There used to be env methods to checkout from revision control systems.
They've been long removed.
# from /usr/local/CVSROOT/foo/bar/src.c.
env.SourceCode('.', env.CVS('/usr/local/CVSROOT'))

This issue can be closed.