SMPTE Timecodes & Timelines, Sequences and Keyframes.

I'm making this a draft for now, this PR is to document the progress i've been making so far with this experiment.
This experiment can also fail. If you see any kind of flaw, please feel free to point it out.
The final goals of this (if succeeds) are:

Allow Interpoli to be more general-purpose, so it can be used for animation, video editing, motion graphics, videogames, sound design, etc.
Allow for both developers and people with expertise in other artistic areas to have the same concepts.
Allow for potential optimizations with interpolations at a large-scale (lots of characters being animated at once in a videogame, a big timeline that contains a lot of properties, etc.)

Progress.

[x] Learn how to rebase this PR to upstream Interpoli.
[x] Rebase.
[x] SMPTE Timecodes (Basics).

[x] Basics.
[x] Make it run on full integers (frames being isize instead of f64).
[x] Add syncronization based on nanoframes (to allow 23.97fps, 23.98fps, 29.97fps, ... to run properly).
[x] Add '==' functionality (specially for asserts).
[x] Make as_string() prettier (print out '00:00:00:00' instead of '0:0:0:0').
[x] Jump to specific parts of the Timecode.
[x] Add Utilities (will be useful for Timelines & Tweening).

[x] Timelines (Basics).

[x] Get basic time functionality.
[x] Create new(...) functions.
[x] Add Sequences to the mix.
[x] Add Timeline Nesting
[x] Add AnimationEngine for Tweening
[x] Get Animated Values

[x] Timelines (Extras).

[x] ~Add OpenTimelineIO Compatibility. (https://github.com/AcademySoftwareFoundation/OpenTimelineIO)~ (Definetly in a later PR, because this current one is getting really big).
[x] Add being able to go backwards.
[x] Add thread-safety.
[x] Being able to resume the sequence after hitting a sequence end.

[x] Sequence (Basics).

[x] Add tree functionality.
[x] Get and/or create keyframes.
[x] Be able to use it with all types available.
[x] Add ways to get keyframes between timestamps.
[x] Add multiple keyframe support.

[ ] Keyframes.

[x] Basic storage functionality.
[ ] Add States. (Easing, Hold, etc.)
[ ] Add functions to make API easier.

[x] AnimationEngine (Basics).

[x] Basic Tweening Functionality.
[x] Add states.

[x] SMPTE Timecodes (Extras)

[x] ~Sync based on denominators (Get help from @xorgy for this).~ (Probably in a later PR)
[x] Better utility implementations.
[x] Search for edge-use cases.

[x] For review

[x] Fix errors and apply recommendations detected via clippy
[x] Make sure to apply cargo fmt (i always forget about that command ;_;)
[x] Remove unwraps or functionality that can trigger a panic.

TO-DO In Review

[ ] Start documenting.
[ ] Wait for Code Reviews (i need everyone's w i s d o m).

SMPTE Timecodes (Update 2).
SMPTE Timecodes are time units that are set like a clock: HH:MM:SS:FF (Hours, Minutes, Seconds, Frames).
For convenience, there's a macro that helps visualize this concept better in code:
tcode_hmsf!(01:23:45:01) // A timecode with Hours (h), Minutes (m), Seconds (s) and Frames (f).

~(Sadly, Rust's macros don't allow me to use ":" so i have to use ";" instead, if there's a workaround for this, please let me know)~
EDIT: I fixed it!
Timecodes can be used as a Timestamp, or as a value for a Timeline, by setting the Framerate:
tcode_hmsf_framerate!(00:01:02:56, Framerate::Fixed(20.0))

There's Framerate::Fixed(n) and Framerate::Interpolated(n). Once Timelines become a thing, fixed framerates will round up to the nearest frame when the tween is calculated, which will be useful for frame-by-frame animations. Interpolated frames on the other hand, will interpolate regardless of the framerate you're running (unless you explicitly set "hold" frames).
Timecodes with a framerate can advance and reverse by frames, seconds, minutes, hours and use Duration (Instant coming soon).
Example: Play one second frame-by-frame.
let mut time = tcode_hmsf_framerate!(00:00:00:00, Framerate::Fixed(24.0));

for i in 0..24 {
    time.next_frame();
}

println!("{:?}", time.as_string()); // Outputs "00:00:01:00 (24.0)"

Example: Add by Duration.
use std::time::Duration;

let mut time = tcode_hmsf_framerate!(00:00:00:00, Framerate::Fixed(24.0));

time.add_by_duration(Duration::from_millis(999));

println!("{:?}", time.as_string()); // Outputs "00:00:00:23 (24.0)"

Example: Sub by Duration.
use std::time::Duration;

let mut time = tcode_hmsf_framerate!(01:00:00:00, Framerate::Fixed(24.0)); // 1 hour

time.sub_by_duration(Duration::from_secs(1800));

println!("{:?}", time.as_string()); // Outputs "00:30:00:00 (24.0)" (30 minutes)

The draft repository contains more examples in form of tests inside of lib.rs.
This is all of the progress for now, for any questions, please feel free to ask :)

Alright, i think this is ready for review! :D
In here i'll show how the Timelines & Sequences API works:
Timelines
A timeline is like a director: It takes care of storing the sequences and it contains a "Sequence Player" that allows you to play all of the animations that are stored in a specified framerate.
let mut timeline_one = Timeline::new(Framerate::Fixed(24.0)); // Fixed Timeline
let mut timeline_two = Timeline::new(Framerate::Interpolated(24.0)); // Interpolated Timeline

You can play forwards, and backwards based on what you want, and you can use Timestamps, Timecodes and Durations.
let mut timeline = Timeline::new(Framerate::Interpolated(24.0));

// If you're in a game/real-time context, you can use
// your engine's delta time to play the timeline.
timeline.add_by_duration(time.delta());

// And also play it backwards.
timeline.sub_by_duration(time.delta());

Sequences
Sequences store all of the keyframes of the animation of a specific variable.
This is an example for creating sequences in a timeline:
let mut t = Timeline::new(Framerate::Interpolated(12.0));

// Let's create a Sequence called "count", that'll be an 'f64'.
let s: &mut Sequence<f64> = t.new_sequence("count").unwrap();

// "count" will be an animation that goes from 0 to 1 in one second.
s.add_keyframe_at_timestamp(Keyframe { value: 0.0 }, tcode_hms!(00:00:00));
s.add_keyframe_at_timestamp(Keyframe { value: 1.0 }, tcode_hms!(00:00:01));

As long as the type contains interpoli's Tween trait, it can be animated.
Here's an example with kurbo's Vec2:
let s: &mut Sequence<Vec2> = t.new_sequence("position").unwrap();

s.add_keyframe_at_timestamp(
    Keyframe {
        value: Vec2::new(200.0, 200.0),
    },
    &tcode_hms!(00:00:00),
);
s.add_keyframe_at_timestamp(
    Keyframe {
        value: Vec2::new(300.0, 200.0),
    },
    &tcode_hms!(00:00:01),
);
s.add_keyframe_at_timestamp(
    Keyframe {
        value: Vec2::new(800.0, 400.0),
    },
    &tcode_hms!(00:00:02),
);
s.add_keyframe_at_timestamp(
    Keyframe {
        value: Vec2::new(700.0, 500.0),
    },
    &tcode_hms!(00:00:03),
);

To finally use the animation's result, by taking the Vec2 example, you can get the value via tween_by_name():
let player_position: Vec2 = t.tween_by_name::<Vec2>("position");

If you're aiming for performance, you can get the sequence's pointer and store it as a reference.
let pointer = t.get_sequence_pointer("position");

// More code here...

let player_position: Vec2 = t.tween_by_pointer::<Vec2>(pointer);

Here's an example of the Timelines that you can see and run for yourself in here.
(TODO for myself: Add instructions and record video).
Stuff that i didn't add yet (Otherwise this PR was going to be really big to review).

Animating on one's, two's, three's, etc.
Different Keyframe States (Easing, Hold, Trigger)
Editing the sequences while the timeline is running (doesn't work 100%).
OpenTimelineIO compatibility.
Syncing based on denominators (i don't know if its necessary, because nanoframes help a ton with the syncing).

I'm gonna need a ton of help and wisdom from everyone, because there's probably a lot of stuff that i'm doing wrong or can be handled much better. So any kind of input is appreciated c:


Follow the build logs

Similar to BinderHub, it would be useful to be able to follow the build logs after adding a new image:

We should look into reusing some parts of the BinderHub frontend, especially the one that uses xterm.js to display the logs. A couple of links:

the BinderImage abstraction, that would hide implementation details such as the use of an EventSource
building a new Terminal to show the logs

Also the build endpoint could follow the one from BinderHub and emit events.

Hi @jtpio
I totally agree. Logs are also usefull for the end user to indicate that something is doing something somewhere.

Will it be possible to also store this log as a file on the server? This file should be accessible only to the admin through SSH connexion onto the server, for post-mortem analysis.

Will it be possible to also store this log as a file on the server? This file should be accessible only to the admin through SSH connexion onto the server, for post-mortem analysis.

Since repo2docker is started in its own Docker container, it should be possible to retrieve the logs, maybe by mounting a volume from the host and telling repo2docker to log there.

Although just like Binder, the way to troubleshoot build issues at the moment would be to run repo2docker locally (or on the server directly), which would give access to the logs.


Python debugger becomes unresponsive (windows)

Type: Bug

Behaviour
Running the following code
import moderngl_window as mglw
import matplotlib

class Test(mglw.WindowConfig):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def render(self, time: float, frametime: float):
        pass

mglw.run_window_config(Test)

with a breakpoint in the init of class Test, i.e. break on super().init(**kwargs), causes the debugger to break on the line, but the debugger becomes unresponsive. Its not possible to enter debug console commands or step the program.
Steps to reproduce:

I isolated the problem to moderngl_window and matplotlib.
if the import of matplotlib is removed the debugger works as expected.
I realize im using 2 packages external to VScode to reproduce this error, but my testing shows that the error only occurs on windows (on linux the debugger works fine).
I also tested with the built in python pdb debugger and the pdb debugger can break in the init function without problem. So even though two external dependencies are used, I believe the issue must be a problem with vscode debugpy on windows.

To reproduce, please run (in a virtual environment)
pip install moderngl-window==2.4.5
pip install matplotlib==3.8.4

my python version is 3.11, Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\python.exe

Diagnostic data

launch.json configuration

"version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debugger: Current File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "env": {"PYTHONPATH": "${workspaceFolder}/python"}
        },

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

2024-04-15 22:54:55.642 [info] Send text to terminal:
2024-04-15 22:54:55.642 [info] Send text to terminal:  c:; cd 'c:\mygits\deepose'; & 'c:\mygits\deepose\.venv\Scripts\python.exe' 'c:\Users\IvanL\.vscode\extensions\ms-python.debugpy-2024.4.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher' '52449' '--' 'C:\mygits\deepose\python\experimental\debugger_issue.py'

Output for Python Debugger in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python Debugger)

2024-04-15 22:53:16.347 [info] DAP Server launched with command: c:\mygits\deepose\.venv\Scripts\python.exe c:\Users\IvanL\.vscode\extensions\ms-python.debugpy-2024.4.0-win32-x64\bundled\libs\debugpy\adapter

# Behaviour
Debugger freezes. Debug console input is ignored and the step/ play etc debug commands stop working.
Extension version: 2024.4.0
VS Code version: Code 1.88.1 (e170252f762678dec6ca2cc69aba1570769a5d39, 2024-04-10T17:41:02.734Z)
OS version: Windows_NT x64 10.0.22631
Modes:

Python version (& distribution if applicable, e.g. Anaconda): 3.11.9
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): VirtualEnvironment

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 x 2803)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.73GB (0.46GB free)

Process Argv
--crash-reporter-id 799a61cb-faff-4879-ae9f-0711229a9745

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
d34g3935:30971562
fegfb526:30981948
bg6jg535:30979843
ccp2r3:30993541
dsvsc020:30976470
pythonait:31006305
jchc7451:30973076
gee8j676:31009558
showvideoc:31016891
dsvsc021:30996838
gd77d436:30999572
0ee40948:31013168

I made some more testing and found that the freezing of vscode python debugger is related to what backend is used in the matplotlib package. The default backend of matplotlib is QtAgg. If a different backend is used, such as TkAgg
import moderngl_window as mglw
import matplotlib
matplotlib.use('TkAgg')

class Test(mglw.WindowConfig):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def render(self, time: float, frametime: float):
        pass

mglw.run_window_config(Test)

vscode can break correctly on the
super().init(**kwargs)
line.
I can use TkAgg as the backend for matplotlib, so this workaround solves my issue at the moment. It still seems weird to me though that the usage of QtAgg backend in Matplotlib should cause the vscode debugger to become unresponsive.

@int19h do you know what is happening?

Thanks for your bug report, that is manage by debugpy, could you fill an issue there?


PeoplePicker returns no results with webAbsoluteUrl and ensureUser

Category
[ ] Enhancement
[X] Bug
[ ] Question
Version
Please specify what version of the library you are using: [ 3.15.0 ]
Expected / Desired Behavior / Question
When setting webAbsoluteUrl prop to a different site and setting ensureUser = true results are expected to be returned.
Observed Behavior
No results are returned.

If both the webAbsoluteUrl prop is pointing to a different site than the current one, and ensureUser is set to true, no results are returned in the picker. Instead, the console shows the error: PeopleSearchService::searchTenant: error occured while fetching the users.
A deeper error says Cannot read properties of undefined (reading 'push'), which I've tracked down to PeopleSearchService.ensureUser:295. The object cachedLocalUsers assumes it already contains the webAbsoluteUrl as a key but it does not.
Steps to Reproduce

Add PeoplePicker control to a component
Provide a webAbsoluteUrl value that points at a different site than the current one
Set ensureUser={true}
Attempt to search for users in the people picker

Hello @argofgra
I replicated the issue. I will be creating a PR on this soon.
@joelfmrodrigues or @AJIXuMuK kindly assign this to me.
Thanks,
Nishkalank Bezawada

Hello @argofgra
I have created a PR #1693 which will resolve the issue.
The solution is as below.
Solution
When checked, in the method ensureUser, the user object is pushed into this.cachedLocalUsers. But this is empty because the user is given webAbsoluteUrl to fetch the users from other site collection, for which it is erroring out as Cannot read properties of undefined (reading push) as shown in the below figure.

By checking if this.cachedLocalUsers and initializing it as empty array (as below), this is working as expected.

Screenshot with working example

Thanks,
Nishkalank Bezawada

Hi @argofgra & @NishkalankBezawada, fix has been merged to dev branch, it should be available soon in the next beta release!
Thanks to both of you 🙂


Navigation - Localization

Can someone please - from the orchard team - inform me official

If the menu/menuitems can be localized.
If yes i must add the localization part to both Menu and MenuItems or only menuitems?
If yes what is the purpose of attaching localization part to menus? (it creates a new menu!!!) as the navigation widget displays only hierarchical menuitems?
If the Culture picker module/Culture switcher widget (from orchard team) work

It is terrible to search the entire internet for solution and/or answers for these major issues and in the new versions of orchard to only see meaningless  enhancements like "Layout in pages" !!!

I suggest that we create a recipe that would configure things like that automatically for multi-culture websites. Maybe include that in the setup of the website so that we don't have to tweak those things afterward. That and a better documentation or "wiki", how-to do multi-culture websites with Orchard.

From my own experience the solution is to create two distinct menus, as they can have difference contents. But some scenarios might require the same structure and could use a simplified experience then. Not that is impossible with two menus still. You can filter which menu to display using a custom layer with the culture verb in its rule.
However, a menu item is always associated to a culture. And it will be filtered automatically. So if you add several menu items of different cultures to the same menu, they will be removed automatically at rendering if they don't match the current culture. This only works for simple websites obviously, so I'd still recommend to use separate menus for each culture.

Problem
The problem with localized Taxonomies (even when you use the Localization synchronization module) is that in every place you want to use a taxonomy you must select the Culture Specific Taxonomy.
For example suppose we have two localized taxonomies
"Product Categories en-US"
"Product Categories el-GR"
With this structure

the "Product" Content Type must have TWO DISTINCT taxonomy fields "Product Category en-US" and  "Product Category el-GR"
The razor views must handle those two fields based on the current  user's culture.
If i want to make a sidebar widget that shows the product categories (based on the current user's culture) i have to write 2 Culture specific sidebar widgets because in projection-->query--->you must select terms from only ONE TAXONOMY.
In General if you have 2 DIFFERENT TAXONOMIES (although they are each other translations), YOU MUST MAKE EVERYTHING TWICE

Solution

You create only one "Product Categories" taxonomy. YOU DO NOT ADD localization part
You edit content definition of term "Product Categories Term"  and ADD localization part
You add terms terms to "Product Categories". In the editor of each term you can switch to other culture and add a translation
When you click "List terms" in orchard admin the orchard displays only the terms in default site language but when you open the editor for each term the translations are available.

If you go to the "Product" and add a taxonomy field "Product Category" of taxononomy  "Product Categories", the editor of the product shows only the terms of one language...NOT GOOD when you make a translation for a product.
In English product you can select an english term...GOOD
In Greek product, you cannot select a Greek term. The list keeps displaying only english terms (although there are greek terms!!!!). BAD
WITH JUST 5 LINES OF CODE (the correct LINQ query) the orchard team could solve this issue (filtering the terms according to content items culture) and never have the problem of keeping 2 distinct taxonomies just for translation.
WITH JUST 2 LINES OF CODE (no LINQ query) the orchard team could solve this issue (no filtering) and display ALL THE TERMS in every language (English + Greek) and never have the problem of keeping 2 distinct taxonomies just for translation.
My solution
Do not use taxonomy field "Product Category"
Replace it with Content Picker Field and add as a filter to display on "Product Category Term" type. That way the user can select one or more corrent localized versions.

In my little experience in orchard that solution works perfect.

You keep using Taxonomies
You have localized versions of terms
You have ONLY ONE taxonomy (for all the cultures) to pick for in Queries, Fields, Query Menu Items.
You have ONE UNIFORM BASE CODE

What do you think? Do you suspect some kind of drawbacks using this approach?


Prepare for the deprecation of system extensions through config file

With the deprecation of installing system extensions through config file, I made a change (the easiest way to get it done) by allowing per node installer image with nodes[].talosImageURL (https://github.com/budimanjojo/talhelper/commit/6c098210bc457eeb6a66df757d41a1acd43a4ef7).
But I think I should prepare for Talos v1.6 which will highly likely to remove machine.install.extensions completely and have everybody using their image-factory to generate installer url (I need to confirm with people from Talos to make sure).
My current thought is to change the default installer image url from ghcr.io/siderolabs/installer to factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba where the hash id is coming from the customization that we give it. I will add nodes[].schematic.customization so you can do something like this:
nodes:
  - hostname: node1
    schematic:
      customization:
        extraKernelArgs:
          - net.ifnames=0
        systemExtensions:
        officialExtensions:
            - siderolabs/intel-ucode

and the generated manifest will have machine.install.image value to be factory.talos.dev/installer/9e8cc193609699825d61c039c7738d81cf29c7b20f2a91d8f5c540511b9ea0b4:v1.5.4.
You can still provide nodes[].talosImageURL to override it with your own image in case you don't want to use the image-factory or you build your own image.
This will also mean that providing nodes[].extensions will be ignored so this will be a breaking change, I'll make this verbose when the program detects it.
Please provide your feedback below before I start working on this.

There will also be a new subcommand genurl to generate url like image factory.
talhelper genurl installer

will print out this:
factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.5.4

And
talhelper genurl iso

will print out this:
https://factory.talos.dev/image/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba/v1.5.4/metal-amd64.iso

Found a blocker though: https://github.com/siderolabs/image-factory/issues/45
Looks like the current image factory doesn't generate image for alpha version


⚠ Bofrost.de has degraded performance

In 43dcc42, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1167 ms

Resolved: Bofrost.de performance has improved in f183fd3.


Minor Import Guard issue

Description
In some format checkers, the code below creates a warning, since it doesn’t adhere to general import guard guidelines.
Steps to reproduce
#define DOCTEST_PLATFORM_LINUX
#endif // DOCTEST_PLATFORM

Simple fix (since it is a chain of ifdef-elif-else:
#define DOCTEST_PLATFORM_LINUX
#endif // __MAC_OS_X_VERSION_MIN_REQUIRED

Extra information

doctest version: v2.4.11
Operating System: macOS Sonoma 14.5
Compiler+version: clang++, Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)

@waveman68 Do you get a warning when you import the doctest header? Please provide a minimal reproducible example showing how to trigger the warning.


added pxt thirdpartynotices command

refreshes THIRD-PARTY-NOTICES automatically

Is<EMAIL_ADDRESS>registered?

Need to figure out our external email. Employee emails should not be used in source code.


Reading of metadata from table header; validation of input data; introduction of data_reader

Improves reading of input data and metadata and validation of schema:

metadata can now be read as an additional option from an astropy table header (table.meta); before: metadata had to be given as separate yaml file.
reading of astropy table now through a generic module simtools/data_model/data_reader.py, which provides both reading of input data and metadata plus validation. In the simplest case, this command will return a table which has been verified against a schema listed in the table.meta of the ecsv file:

table = data_reader.read_table_from_file(file_name=telescope_list_file, validate=True)

This will be extended in future to reading of json-type structures (as given for single values from the DB), so don't worry about a single-function module in this case of simtools/data_model/data_reader.py.
This brought up the follow issue:

the schema validation of the input files revealed that many of the test files don't follow the expected standards (pos_x vs position_x etc.). This is fixed now, but quite a number of layout files have been touched. You only have to look at one during the review!

This pull requests tries also to improve the coverage of the unit tests for the modules touched.

@VictorBarbosaMartins - ignore the failing test for docker-simtools. This is related to #755 and is solved elsewhere.

@VictorBarbosaMartins - I tried to look and answer / follow up all your comments. Please let me know.
And thanks for the review!

Hi @GernotMaier, thanks for looking into the comments. I closed the conversations that I could see you already addressed, but I did not see the answers to the many remaining comments. Is this still coming?

@VictorBarbosaMartins - don't see this, which conversations are not addressed?


IEEE 802.15.4 driver API changes to match OT certification requirements

Ok, I had issues with the FCS commit: basically the current buffer management being what it is (aka "not so smart"), I had to make a very crude hack in net_pkt when allocating tx data. Please see relevant commit.
This will hopefully disappear in a next-to-come PR where I'll switch net_pkt to use variable size memory allocator for data fragments.

I am not super happy about that hack. I might revert to #ifdef in drivers instead. (which would disappear once we get a proper buffer management in the core)

Ok I removed the patch making L2 aware of FCS, the hack was way too crappy and this will be fully solved in net buffer management change. currently OT enabled drivers do already what's supposed to be done (aka: passing the FCS to OT's L2) so it's fine.


CAT CLI <IP_ADDRESS>

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hi @petriparik,
This PR appears to modify multiple manifest versions. We have a limit of 1 manifest change per PR. Could one of the manifest changes be moved to another PR?


Add personal information text

Continue paste info: about, experience, skills, education.

All text info replaced


Language sources

I am trying to find the language file with the references (source) column. I can not find it. Help @StasReichert @xrotwang

@StasReichert deleted the file 3 days ago: https://github.com/tupian-language-resources/tuled/commit/c38b7a65b46d1b065dc925fa6f3d86a09b3974e3
Not clear why, was it by accident?

dann füge ich die sources wieder hinzu.
On Fri, Dec 18, 2020 at 7:36 PM Johann-Mattis List<EMAIL_ADDRESS>wrote:

@StasReichert https://github.com/StasReichert deleted the file 3 days
ago: c38b7a6
https://github.com/tupian-language-resources/tuled/commit/c38b7a65b46d1b065dc925fa6f3d86a09b3974e3
Not clear why, was it by accident?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tupian-language-resources/tuled/issues/24#issuecomment-748249785,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALNZPK5HXC7X6WFIQJVREGDSVOOKVANCNFSM4VBQQW5Q
.


Can't get have_enqueued_email to work in 3.9.0

It's probably something trivial, but I can't get the new have_enqueued_email matcher to work in 3.9. It looks as if the matcher wasn't available for RSpec.
What Ruby, Rails and RSpec versions are you using?
Ruby version: ruby 2.6.3p62
Rails version: Rails 6.0.0 (also tried on 5.2.3)
RSpec version: RSpec 3.9 (rspec-core 3.9.0, rspec-expectations 3.9.0, rspec-mocks 3.9.0, rspec-rails 3.9.0, rspec-support 3.9.0)
Observed behaviour
When running a following super simple test using have_enqueued_email
RSpec.describe ApplicationMailer, type: :mailer do
  describe '#test_email' do
    it { expect { ApplicationMailer.test_email }.to have_enqueued_email }
  end
end

RSpec returns the following message:
You must pass an argument rather than a block to `expect` to use the provided matcher (have enqueued email), or the matcher must implement `supports_block_expectations?`.

Expected behaviour
The expected behavior would be for the test to pass (or fail) using a normal message.
Can you provide an example app?
Here's a fresh Rails 6 app with only one method added in ApplicationMailer and a spec for it - https://github.com/pkotnis/have_enqueued_email-test
Additional input
When I added those two lines to the spec
RSpec.describe ApplicationMailer, type: :mailer do
  describe '#test_email' do
    it do
      puts RSpec::Core::Version::STRING
      puts RSpec::Rails::Version::STRING

      expect { ApplicationMailer.test_email }.to have_enqueued_email
    end
  end
end

RSpec returned the following error
NameError:
       uninitialized constant RSpec::Rails::Version

Even tho I can see the RSpec::Rails::Version::STRING constant in the source code of the gem.
Thank you for your help in advance.

For some reason, lib/rspec/rails/matchers/have_enqueued_mail.rb is not loaded, and that results in a predicate matcher (have_*) being used instead of rspec-rails' provided have_enqueued_mail.
I'd suggest to re-generate your config files for the project. Random observations - you require 'rails_helpermanually, while RSpec evaluates.rspecfile, and requiresspec_helper` as it suggests.

@pirj The repo is as we setup as we suggest, which is to load spec_helper with .rspec and require rails_helper as needed.

@pkotnis This is fixed in 4.0.0.beta3 theres a require missing for the matcher

Thank you @JonRowe <3


IncludeCSIDE and EnableSymbolLoading should be ignored for v15 containers

If you set IncludeCSIDE or EnableSymbolLoading to YES for v15 containers setup will fail.
I think the template should ignore these properties.

If you use http://aka.ms/getbc or http://aka.ms/getbcext - you won't have these properties and the default image is business central latest
If you use http://aka.ms/getnav or http://aka.ms/getnavext - you will have these properties and the default image is nav latest
if you want BC 13 or 14 with CSIDE or symbolloading - you should use getnav.

Im using (kind of) http://aka.ms/getnavworkshopvms.
I used PowerShell and had to add IncludeCSIDE and IncludeAL course the latest modification are a breaking change. Thought we can fix this...
$TemplateParameterObject = @{
  AcceptEula='Yes'
  vmName=$RgName
  TimezoneId='W. Europe Standard Time'
  RemoteDesktopAccess='*'
  vmAdminUsername='***'
  navAdminUsername='***'
  adminPassword= '***'
  AssignPremiumPlan= 'Yes'
  CreateTestUsers= 'Yes'
  navDockerImage= 'mcr.microsoft.com/businesscentral/sandbox'
  RunWindowsUpdate='No'
  FinalSetupScriptUrl='https://raw.githubusercontent.com/ChrisBlankDe/nav-arm-extensions/master/AdditionalAppsViaChoco.ps1'
  EnableSymbolLoading = 'No'
  IncludeCSIDE = 'No'
  IncludeAL= 'Yes'
  LicenseFileUri = '***'
  count=78
  offset=10
}
New-AzureRmResourceGroupDeployment -TemplateUri "https://raw.githubusercontent.com/Microsoft/nav-arm-templates/master/getnavworkshopvms.json" -ResourceGroupName $RgName  -TemplateParameterObject $TemplateParameterObject -Name "$($RgName)Deploy" -Mode Incremental

got you - yes, for that one you probably need:
$Parameters.Add("RunWindowsUpdate", "Yes")
$Parameters.Add("IncludeAL", "No")
$Parameters.Add("IncludeCSIDE", "Yes")
$Parameters.Add("ClickOnce", "Yes")
$Parameters.Add("AssignPremiumPlan", "No")
$Parameters.Add("CreateTestUsers", "No")
$Parameters.Add("EnableSymbolLoading", "No")

I might create a BC version of that as well.
BTW - this morning I checked in a change, which allows you to transfer a series of passwords seperated by comma to the adminpassword field.
Passwords will be assigned to the VMs from this list using $passwords[$no -mod $count] - meaning if you have just one password, nothing changes - but you can supply unique passwords for all VMs
Only thing that doesn't work is that you cannot have a comma in a password.

Just an Idea: Maybe we should change this in navcontainerhelper or docker image.
Just throwing a warning when a user is using an parameter which makes no sense and ignore it.
This would make standardization much easier. Currently i have three different property sets (hybrid/FullApp/IsvEmbed) for container creation.

Only thing that doesn't work is that you cannot have a comma in a password.

Saw it. Hope this wont be the source of to many error. Maybe we should pair this with an yes/no property?!

It is only for the navworkshops template - it doesn't affect the other ones (which are the ones being used mostly).
IMO the properties are not due to container version - it is whether or not you use that in a project.
If your project is hybrid you need some settings - and cannot live without them. This is really the reason for the error - if you ask for symbolloading, then containerhelper should fail. Else you will discover something not working much much later.


returning Result<impl Trait> from a #[autometrics]'d function results in compile error

if one has a function that looks like this:
#[autometrics]
async fn hello() -> Result<impl ToString, std::io::Error> {
    // ...
}

the compiler will fail to compile it with:
error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable bindings
  --> src/main.rs:11:28
   |
11 | async fn hello() -> Result<impl ToString, std::io::Error> {
   |                            ^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0562`.
error: could not compile `playground` (bin "playground") due to previous error

removing the #[autometrics] macro ends up making the program compile successfully.
playgrounds:

smallest example: https://www.rustexplorer.com/b/52t7cy
with actix-web: https://www.rustexplorer.com/b/4vsrgc

looking at what code autometrics generates using cargo expand reveals the culprit pretty easily:
let result: std::result::Result<impl ToString> = autometrics::__private::CALLER
                                ^^^^^^^^^^^^^

Yeah, I should have seen that coming.
The fix is "basically" expanding this match statement so that when the return type is a generic type, it also checks all the type arguments to make sure there's no impl either


Issue raised by Swan User

Message from Reed in Hexa + Swan Channel (that a user sent him):
We have a new bug report from user  ID: ba71d6aa-e4c0-4477-ba8c-db3e49afb3b5
“Hi!
By the way, I’m a seed investor in Hexa wallet.
I am unable to connect my Swan account to my Hexa wallet through the link provided within in Hexa.
Here’s the background. I’ve been doing weekly buys on Swan for 1-1/2 years and already had auto-withdrawals set up at the 0.05 threshold to other wallets. I tried the instructions provided within Hexa to link my Swan account and was unable to do so. I deleted all addresses within Swan and turned off auto-withdrawals and still was unable to succeed. I assumed the Hexa link would auto-fill the wallet address into Swan, but I’m unable to see what the address even is. Of course, I do know that I could “manually” connect my “checking account” within Hexa to Swan by using a Receive address from within the app....but newbies might be frustrated that Swan is not automatically linking to Hexa with the designated Swan wallet. By the way, I am using an older iPhone 6S which may be a factor. Let me know if you need any other info.”
Anant: "Yes, would like to know what happens on the Swan side when someone disconnects or deletes old address and then tries to connect Hexa wallet"
Reed has tagged Pablo. Reply expected from Pablo next.

No further update, already sent a msg https://bithyve-workspace.slack.com/archives/C02H7PTBXQX/p1641471750000400?thread_ts=1639168951.100100&cid=C02H7PTBXQX

Asked again, not reply

No further updates from swan.Closing this issue for now.


feat(decode): support arbitrary blank_id during decoding

follow this PR https://github.com/wenet-e2e/wenet/pull/2157

等解码结果出来再merge


1.16.5 - PR Coming ASAP, Mixin Conflict on RecipeManager

Class RecipeManagerMixin
The line linked above is where the issue lies and conflicts with the mod Portable-Stonecutters
value#get is where it's causing the crash.
value.getCraftingResult(inventory)
Reproducing the error

Latest ItemBlacklist and Portable Stonecuttter mod.
Requires server instance to test this bug as it does not seem to happen on single player.
Load server with ItemBlacklist and Portable Stonecutter
Load the client with just Portable Stonecutter
Join server and find a way to give your self 2 redstone dust, 1 pressure plate, 1 stone cutter, and one anvil.
Throw redstone, pressure plate, stone cutter into one block then drop the anvil on the grounded.

At this point those items will go away and you will have a Portable Stonecutter, however thanks to the Mixin clashing with this, we actually crash instead.
I've gone ahead and sent a PR right after this to fix this issue, review as needed, test if you wish, I have currently tested this on the latest E6E modpack in which I run a server for it with a bunch of people over at the devious network.
It is all working on my end now with no crashing.
This whole Mixin return method can be fixed as follows,
cir.getReturnValue().ifPresent(value -> {
       Item items = cir.getReturnValue().get().getRecipeOutput().getItem();
       cir.setReturnValue(ItemBlacklist.shouldDelete(items.getDefaultInstance()) ? Optional.empty() : Optional.of(value));
});

@pitbox46 , you may close this issue when you feel it's time too! I am personally confident the PR solved this for good!
Although we know well enough that mixins can be oh so very picky at times XD.


Unclear: on VMWare or in Windows?

In the section Some network traffic could not be analyzed some settings are referred to:

TsoEnable
LargeSendOffload(IPv4)
IPv4 TSO Offload
IPv4 Giant TSO Offload

Of this list, only the second and third can be found on the configuration of the NIC in Windows.
In VMWare documentation only LargeSendOffload(IPv4) and LargeSendOffload(IPv6) are mentioned.
Other settings are mentioned (like Jumbo packets) but that does not align with the terminology used in this article.
Could you please clarify what exactly is meant? Which must be set in Windows and which in VMWare VSphere?
What would be the best or recommended approach to solve the issue "Some network traffic could not be analyzed"?

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

ID: b79c7f20-b009-da8a-5fdd-13f5902e772f
Version Independent ID: 6c6fa2c6-1d3c-f8b3-af9a-9a6b7ca0d4af
Content: Microsoft Defender for Identity health alerts
Content Source: ATPDocs/health-alerts.md
Service: microsoft-defender-for-identity
GitHub Login: @dcurwin
Microsoft Alias: dacurwin

Thank you for your comment. We'll investigate and get back to you.

Hi @andrePKI ,
from my experience the settings has to be disabled in the Windows VM, not VMware itself.
The exact cmdlets are described in the troubleshooting section "VMware virtual machine sensor issue".
Get-NetAdapterAdvancedProperty | Where-Object DisplayName -Match "^Large*"
Disable-NetAdapterLso -Name AdapterName

Ok, thank you, I am aware of that.
But 4 settings are mentioned by name, of which only 2 I can find in the adapter config, so the other 2 remain a mystery.
Hence, please clarify or update the doc, please

Thanks for your comments. The document has been updated to improve the clarity.


Remove C# auto-initialization check for reflection

Remove
if (Assembly.GetEntryAssembly() != Assembly.GetExecutingAssembly())
{
    return;
}

shortcircuit as it casts too wide a net right now. That catches loading for reflection AND for common test cases e.g.
te.exe foo.dll

as auto-initialization isn't restricted to exes (i.e. it gets compiled into foo.dll) and then Entry!=Executing.
Revert this for now and restore later when #2456 is addressed (by restricting auto-init by default to only compile into EXEs; require explicit opt-in to compile into DLLs)

/azp run

/azp run


Update the doc based on the findings

[Enter feedback here]
Please update the document.
Read more : https://learn.microsoft.com/en-us/answers/questions/323253/clear-current-state-and-restart-synchronization-ch

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

ID: 8f6960e6-1a0c-267f-4ec4-2ff7574b1f09
Version Independent ID: b08f7ae9-2b9a-c629-74e8-71a403543b97
Content: Configure SCIM provisioning using Microsoft Azure Active Directory - Azure Databricks
Content Source: databricks/administration-guide/users-groups/scim/aad.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@syedhamjath
Thanks for your feedback! We will investigate and update as appropriate.


[Feature] If the device is powered off for 12 hours and then powered on again, it takes a long time for HomeKit to reconnect the device

Feature description
I ran into a problem using Matter to control my air conditioner using the Apple HomeKit APP. Here's how:

The HomePod and air conditioner have been added to Apple HomeKit
The device is powered off for 12 hours and then powered on
After 14 minutes, the APP changed from unresponsive state to normal and controllable state

We found that after the air conditioner was restarted and connected to wifi, it was waiting for the Sigma1 message and did not receive the Sigma1 message sent by HomeKit APP. After receiving the Sigma1 message from the HomeKit APP, sessions based on the Matter protocol are resumed, and the air conditioner is connected back.

Is this a normal phenomenon?
What is the interval for evaluating the HomeKit APP to send Sigma1?

@bzbarsky-apple
Platform
all
Platform Version(s)
v1.0-branch
Anything else?
No response

Is this a normal phenomenon?

Yes, depending on what exact version of the OS your HomePod is running.  In 16.4 and earlier this is normal.  16.5 should be doing better.  What exact version is being used here?

What is the interval for evaluating the HomeKit APP to send Sigma1?

In 16.4 it's retried periodically, with a backoff.  After a while the backoff gets to about "once an hour" on average.  You probably did not reach that if the device was only off for 12 hours, but 14 minutes is not at all unexpected.
In 16.5 there is some checking for new operational advertisements, but how often that happens depends on the various bits of dns-sd infrastructure involved.
Note that the device itself can reach out when it comes up and say that it's up, but it presumably does not have subscription persistence enabled.

bzbarsky, thank you very much, you help me a lot.
What exact version is being used here?
I think its 16.4， I'm confirming.
Note that the device itself can reach out when it comes up and say that it's up, but it presumably does not have subscription persistence enabled.
This feature is in Mater 1.0 spec ?
can you tell me where to check it.

bzbarsky, thank you very much, you help me a lot.

What exact version is being used here?

I think its 16.4， I'm confirming.

Note that the device itself can reach out when it comes up and say that it's up, but it presumably does not have subscription persistence enabled.
This feature is in Mater 1.0 spec ?
can you tell me where to check it.

bzbarsky, thank you very much, you help me a lot.

What exact version is being used here?

I think its 16.4， I'm confirming.

Note that the device itself can reach out when it comes up and say that it's up, but it presumably does not have subscription persistence enabled.

This feature is in Mater 1.0 spec ?
can you tell me where to check it.

This feature is in Mater 1.0 spec ?

In the sense that it's allowed by the spec, yes.  It's not in the 1.0 SDK, though.  It was implemented for the spring 2023 SDK release.

can you tell me where to check it.

See CHIP_CONFIG_PERSIST_SUBSCRIPTIONS or the chip_persist_subscriptions gn option.

This should be supported in the latest iOS releases, and is supported in the SDK on the device side per @bzbarsky-apple's advice above. Closing this, but please let us know if you have any issues here.


Develop

The pull request will be closed without any reasons if it does not satisfy any of following requirements:

Please make sure you are targeting the develop branch.
Please read contributing guidelines:
https://github.com/gogits/gogs/wiki/Contributing-Code
Please describe what your pull request does and which issue you're targeting
... if it is not related to any particular issues, explain why we should not reject your pull request.

You MUST delete above content including this line before posting; too lazy to take this action considered invalid pull request.

merge develop


Spark fuzzer failure: Expression:  Timepoint is outside of supported year range: [-32767, 32767], got 4325638

Description
A similar issue was closed a while back: https://github.com/facebookincubator/velox/issues/10989
The issue seems to have started reoccurring.
Error Reproduction
mkdir -p /tmp/spark_fuzzer_repro/logs/
chmod -R 777 /tmp/spark_fuzzer_repro
chmod +x spark_expression_fuzzer_test
./spark_expression_fuzzer_test
--seed ${RANDOM}
--enable_variadic_signatures
--lazy_vector_generation_ratio 0.2
--velox_fuzzer_enable_column_reuse
--velox_fuzzer_enable_expression_reuse
--max_expression_trees_per_step 2
--retry_with_try
--enable_dereference
--duration_sec $DURATION
--minloglevel=0
--stderrthreshold=2
--log_dir=/tmp/spark_fuzzer_repro/logs
--repro_persist_path=/tmp/spark_fuzzer_repro
&& echo -e "\n\nSpark Fuzzer run finished successfully."
shell: bash --noprofile --norc -e -o pipefail {0}
env:
DURATION: 900
RETENTION: 1
E20241106 17:15:41.925009    40 Exceptions.h:66] Line: /__w/velox/velox/velox/velox/type/tz/TimeZoneMap.cpp:259, Function:validateRangeImpl, Expression:  Timepoint is outside of supported year range: [-32767, 32767], got 4325638, Source: RUNTIME, ErrorCode: UNSUPPORTED_INPUT_UNCATCHABLE
E20241106 17:15:41.933817    40 Exceptions.h:66] Line: /__w/velox/velox/velox/velox/type/tz/TimeZoneMap.cpp:259, Function:validateRangeImpl, Expression:  Timepoint is outside of supported year range: [-32767, 32767], got 4325638, Source: RUNTIME, ErrorCode: UNSUPPORTED_INPUT_UNCATCHABLE
Error: The operation was canceled.
Relevant logs
https://github.com/facebookincubator/velox/actions/runs/11707749878/job/32610598033?pr=10767

CC: @pedroerp @kagamiori @kgpai

CC: @rui-mo

This one got merged today and seems suspicious since it touches the validateRange() method:
https://github.com/facebookincubator/velox/pull/11447
@kevinwilfong could you check if this is related?

I tried the fuzzer test locally and found the exception message was printed out but did not lead to a failure. Thanks.
E1107 18:21:48.668174 3559404 Exceptions.h:66] Line: /home/sparkuser/velox/velox/type/tz/TimeZoneMap.cpp:251, Function:validateRangeImpl, Expression:  Timepoint is outside of supported year range: [-32767, 32767], got 3271991, Source: RUNTIME, ErrorCode: UNSUPPORTED_INPUT_UNCATCHABLE
E1107 18:21:48.808140 3559404 ExpressionFuzzerVerifier.cpp:408] Total iterations: 604141
E1107 18:21:48.808153 3559404 ExpressionFuzzerVerifier.cpp:409] Total failed: 103706
[==========] Running 0 tests from 0 test suites.
[==========] 0 tests from 0 test suites ran. (0 ms total)
[  PASSED  ] 0 tests.

This one got merged today and seems suspicious since it touches the validateRange() method:
#11447
@kevinwilfong could you check if this is related?

I don't think this is related, it didn't touch the validateRange() method, it just moved the calls to validateRange() from getShortName and getLongName into a common getName function.

I tried the fuzzer test locally and found the exception message was printed out but did not lead to a failure.

So it looks like we used to catch this exception and now somehow it is bubbling up?

@pedroerp The VELOX_FAIL_UNSUPPORTED_INPUT_UNCATCHABLE is designed to be allowed in expression fuzzer test, and should not cause a fuzzer failure (link: 8a6ab15). The error messages are printed out since they are VeloxRuntimeError. It should be fine if we are receiving the error messages and no fuzzer failure.
https://github.com/facebookincubator/velox/blob/c5232cd3174998a7834551783ae95776949c9da8/velox/common/base/Exceptions.h#L65-L66
I notice the relevant log https://github.com/facebookincubator/velox/actions/runs/11707749878/job/32610598033?pr=10767 shows the spark fuzzer test is timeout for some reason, so I wonder if the relevant failure is caused by some timeout issue rather than the function itself. Thanks!


Fix comment

The friction mixing law should allow the combination of friction parameters (as in the example).

Implemented. Thanks!


Announce API

Send out API announcement and write blogpost with Andrew and Scott.

This is done: https://coralnet.ucsd.edu/blog/automatically-annotating-175000-images-with-the-coralnet-api/


Support specifying a KMS Key to be used when remediating AFSBP EC2.7 (EBS Volume Encryption)

Is your feature request related to a problem? Please describe.

While working with the auto-remediations, I discovered a requirement to be able to specify a KMS key to be used for
performing EBS Volume encryption.  There is no parameter or input setting to specify this in the
auto-remediation settings.
Describe the feature you'd like

Please enable a way to specify which KMS key to use for EBS volume encryption when auto-remediation is performed.
Additional context

The specification of the KMS key can, admittedly, get complex when considering multiple-accounts and multiple AWS regions over which the auto-remediation needs to be performed.

@climbertjh Thanks for the request. This added been added to our backlog and prioritized for a future release.

Thank you.


Error at flutter/ephemeral/.plugin_symlinks/quick_scanner/windows/CMakeLists.txt:13

Debug
Launching lib\main.dart on Windows in debug mode...
lib\main.dart:1
NUGET.EXE not found.
CMake Error at flutter/ephemeral/.plugin_symlinks/quick_scanner/windows/CMakeLists.txt:13 (message):
Please install this executable, and run CMake again.
Exception: Unable to generate build files
Exited (sigterm)
Issue
Dependency that isn't part of the standard tools required by Flutter (NuGet). If that plugin doesn't tell you in its README that you need to install that extra dependency, you should report that to the developer of the plugin.

Duplicate of #95898

You'll need nuget for C++/WinRT
Ref: https://github.com/woodemi/quick_notify/discussions/8


setup: validate fields in the front end

Signed-off-by: Maximilian Meister<EMAIL_ADDRESS>

You are only validating some of them though. You could use the required HTML attribute to force that users actually insert some data.


Date formatting and default calendar app

Would be nice to

be able to customize date format
open definable application on calendar click

This issue is outdated and not focused on a single feature.
If really needed, let's create a new one for one feature only.
Please note that we have related #216 for displaying day of week...


Public cannot open link to project space

ownCloud Web UI 5.7.0-rc.10
Infinite Scale 2.0.0-beta.7
Steps:

admin creates project space
admin creates public link to project space
public try to open link

Actual:

regression. it's strange why the api tests didn't detect it. i'll find out.

I can't reproduce this.

Me neither.

rm -rf ocis, make clean, make build, make generate on fresh master. Start ocis again and I could reproduce it:
https://user-images.githubusercontent.com/84779829/186431751-d3967ba9-7afc-471f-b06e-b8a68e9058f0.mov

Nope, I still can't reproduce it.
But in your video there is this strange UI glitch and error message. Did you generate first and then build? Because that is the correct order.

Nope, I still can't reproduce it. But in your video there is this strange UI glitch and error message. Did you generate first and then build? Because that is the correct order.

Now it's all good. Thanks @C0rby


Polymorphism issue in ReflectionGenerator

After upgrading the version from 5.30 to 5.31 the project build fails due to a problem in ReflectionGenerator.
I have created a sample project to replicate the problem scenario.
The build fails with error
ReflectionData.g.cs(33,39): Error CS0144 : Cannot create an instance of the abstract type or interface 'Animal'

We have the same issue, please fix it.

thanks for reporting and the repro.
should be sorted with v<IP_ADDRESS>-beta

thanks for reporting and the repro.
should be sorted with v<IP_ADDRESS>-beta

Thanks!


Updates to make this work in Monterey

A dependency ('typing') was missing, and a couple needed updates to continue to work. Added the lib directory to the scripts' os.path and removed the extra copy of urllib3 from lib/lib. Assuming that dependency or API changes occurred, I had to add Content-Type to the headers passed to the Slack API.

Hi, merged.

(first time i do merge from interface, let me know if i miss anything)


Write storage units in projection EPSG:3577

Reprojection from ingest projection to new projection

Done. Should be able to support projected CRS' now


Support for Rich Text annotations

In PDF annotations an HTML code can be used. Such annotations are not processed correctly in PDF.js (nothing is displayed).

The situation is better in version 2.12.211 - some formatting is supported (e.g., bold, italics).
However, it seems that text size isn't respected as the following images show:
First from Acrobat Reader:

Then from pdf.js:

Notice how the superscript and subscript sizes is screwed up.

@qwer1304, please open a new issue with the pdf containing those annotations.


security nist incident response

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf

https://nvd.nist.gov/800-53/Rev4/family/Incident Response


Invalid parameter: 'response_format' of type 'json_object' is not supported with this model.

Is it possible to the set the response format as JSON for the new gpt-4-1106-preview model?

This is an error from OpenAI. Please ask here: https://community.openai.com/


Fix _async_add_entity (EntityPlatform) polls entity state of push platforms

Description:
_async_add_entity (EntityPlatform) should only poll entity state if entity uses polling. Push platforms will update HA state when received from device.
Related issue (if applicable): fixes #21893
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

This is wrong. async_update_ha_state writes the state to the state machine. Updating only happens when True is passed in

@balloob But at this point in time it reads a state from the entity, which might not yet been updated from device. This way a random state is written to the state maschine (see #21893). It is just the state value the platform code chooses to initialize its member variable with.

I don't think you understand what polling means. Polling means asking the entity to get the latest data from its integration. It has nothing to do with entity writing data to the state machine.

Yes, you are right. My wording was not accurate. And thanks for commenting the underlying issue.


Dynamic image size [batch, None, None, 3] error.

Hi thank you for releasing this implementation.
I try to evaluate the model on images with different size, so I would like to define a placeholder as:
t_image = tf.placeholder('float32', [1, None, None, 3], name='input_image')

then when I use the subpixel layer, I will get:
    X = tf.reshape(I, (bsize, a, b, r, r))
  File "/ssd2/Workspace/env3/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2451, in reshape
    name=name)
  File "/ssd2/Workspace/env3/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 508, in apply_op
    (input_name, err))
ValueError: Tried to convert 'shape' to a tensor and failed. Error: None values not supported.

Do you have any idea to solve this problem? if we cannot use dynamic size, we need to define different inference for different image, which is resource and time consuming.
Many thanks in advance.

I got same problem.

@riokt I solved this problem, please check the SRGAN implementation https://github.com/zsdonghao/SRGAN

@zsdonghao Nice. Thank you

@zsdonghao  Thank, I solved this problem
@riokt You can simply use tf.shape(X) to substitute X.get_shape() in PS() function, and set input placeholder to be shaped [None, None, None, 3]

@zsdonghao @SystemErrorWang
Hi, good day. As the implementation of Tensorlayer, if I understand correctly, the function of_phase_shift() is equal to "depth_to_space"?
https://www.tensorflow.org/api_docs/python/tf/nn/depth_to_space

@lhanappa I didn't test this function myself, but I think they are theorically the same. Guess you can do some experiments.

@SystemErrorWang  Thanks, yes, I already did.
"depth_to_space" and "space_to_depth" are two reciprocal functions for expanding/compressing channels in native tensorflow.


Merlin can breath on land

First time using Origins on fabric and not forge and i choose my favorite Merlin but i have no reason to stay in water since i can breath on land just as well as in water

Merling's water breathing works as it's supposed to for me (just tested on 1.18 with Origins 1.3.1). That means this is likely an incompatibility with another mod.


Update jsch to 0.1.67

Updates com.github.mwiede:jsch from 0.1.66 to 0.1.67.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.mwiede", artifactId = "jsch" } ]

labels: library-update, semver-patch

Superseded by #517.


Unexport RPRT member functions used within resources pkg only

Changes

Some member functions of ResolvedPipelineRunTask are exported but they are used within the resources package only: IsDone, IsSuccessful, IsFailure, IsRunning, HasRemainingRetries, IsCancelled, IsConditionStatusFalse, and IsStarted.
These functions, except IsDone, are not tested but the exported functions that use them within the resources package are tested.
In this change, we unexport the above member functions that are used within resources package only. We do not add tests for the now-unexported functions as recommended in guidelines, but we can add them later if we change the guidelines.
Follow up to refactor done in PR: https://github.com/tektoncd/pipeline/pull/4943
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[n/a] Docs included if any changes are user facing
[n/a] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in (if there are no user facing changes, use release note "NONE")

Release Notes

NONE

cc @pritidesai

/kind cleanup

/test pull-tekton-pipeline-go-coverage

@imjasonh @abayer @dibyom - had to rebase to fix merge conflicts when https://github.com/tektoncd/pipeline/pull/4950 got merged, please take another look

/retest

/lgtm

/retest


Need FB pages code for my page & community so I can implement ad's

Im new at all this

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

ID: 06813350-a37b-a4a2-fdbc-a59caefb9f32
Version Independent ID: 29787958-5b4e-efc2-2af5-2af0ee53216e
Content: App Center Build - Visual Studio App Center
Content Source: docs/build/index.md
Service: vs-appcenter
GitHub Login: @siminapasat
Microsoft Alias: siminap

@karmadotcom The comments feature of our documentation is intended to enable customers to suggest changes to the docs or ask clarifying questions about the docs.
I'm not sure I understand how this question applies to App Center. If you have a question about App Center, App Center support is provided directly from within the App Center portal. Any time you need help, just click the blue chat button in the lower-right corner of any page and our dedicated support team will respond. For additional information, see the App Center Help Center.


Add setup to download test data from Zenodo

[x] Configure test coverage measurements correctly
[x] Pooch download setup to use the test datasets
[x]  Integrate those test datasets in the test setup

Ok, I'm giving up on making the coverage comment action work... 🤷🏻♂ The tests run, we'd currently have 94% coverage. If anyone wants to figure out on how to make the coverage action work, great. Otherwise, at least we have CI testing.

What this PR now actually brings:
The test data from @nrepina is integrated (see https://github.com/m-albert/fractal-ome-zarr-hcs-stitching/issues/4).
On the search-first data, the task is working very well!
For 2D data:
Pre registration:

After registration:

For 3D data:
Pre registration:

After registration:

The task runs on grid data. But the parameters don't appear optimal and we may need some of the work in https://github.com/m-albert/fractal-ome-zarr-hcs-stitching/issues/9 to improve that. The registration does something, but it's not perfect
Pre-Registration:

After Registration:

That test case is available in test_stitching_grid.py and we can use it to validate whether new developments in #9 have the desired effect :)

@m-albert I suggest we remove the old test case and rely on those new test cases. See commit https://github.com/m-albert/fractal-ome-zarr-hcs-stitching/pull/15/commits/15b940106966aa79a67a368133969e951d89985d that removes that old test. If you see use in keeping it, let's revert that one commit and add the test back.
Besides that, this PR is ready to be merged whenever you have a chance to review & merge

Also, if you want to see current coverage, go on the action page. It does display it there:
https://github.com/m-albert/fractal-ome-zarr-hcs-stitching/actions/runs/10113484152


Repair DOI link (off-by-one error?)

See diff ;-)

PS regarding: https://github.com/NCEAS/metajam/blob/0ebea0d460cf8455feec59d0bfd53c84f5550e12/R/get_pkg_pids.R#L27
What exactly do you need here? Since dx. is outdated, do you maybe need a reg-ex for testing DOI URLs?

Thank you for catching this @katrinleinweber.
Regarding your question  about dxURL support. Yes, it is mainly a reminder for us to implement some testing on this type of URL. More generally, we have on our to do list to make the extraction of the IDs from the URL more efficient.
Question of my own, were you using / testing the package? If so, we would love to hear about your feedback.

You're welcome, and thanks for merging :-)
I'm not using the package per se, sorry. I just hunt old dx.doi.org links sometimes. For example when demo-ing GitHub's PR workflow to librarians.


Need your help

Hi  Marius! First of all thank you very much for your burp-cph,it helps me a lot ! But i meet a  scenario that seems can't be solved by this burpsuite extension
Scenario description likes below:

In this kind of scenario , how could i use this extension to issue a right request!
I read all your document,but it seems can't solve my problem!
I'm looking forward to your reply😊😊😊😊

Hi, @ba1ma0
Thanks for reaching out, and I'm happy the extension has helped you =)
To clarify, are token, publickey, challenge, and validate found in the responses to requests 130 and 139?
If that's the case, you can target those requests for caching in order to obtain those values later for request 140:
https://github.com/elespike/burp-cph/wiki/08.-Utilizing-cached-responses

Hi, @ba1ma0
Thanks for reaching out, and I'm happy the extension has helped you =)
To clarify, are token, publickey, challenge, and validate found in the responses to requests 130 and 139?
If that's the case, you can target those requests for caching in order to obtain those values later for request 140:
https://github.com/elespike/burp-cph/wiki/08.-Utilizing-cached-responses

Ok thank you very much !☺😊

👍 happy to help

Hi Marius, thank you for giving more explanation on cph.
I have an internal website which passes almost 5 parameters for login and two along the Url
Got an error while caching the first parameter as preliminary scope check negative!
Can you please help me to understand more on overcoming this?


promql: Fix subqueries to be really left-open

Previously, we managed to get rid of the sample on the left bound later, so the problem didn't show up in the framework tests. But the subqueries were still evaluation with the sample on the left bound, taking space and showing up if returning the subquery result directly (without further processing through PromQL like in all the framework tests).
Fixed #15412.

/cc @charleskorn

@jan--f thanks for tagging. I first thought this isn't impactful enough to add it to v3.0.1, but in the end, it's a relatively simple change, plus it is a bugfix for a feature introduced with v3.0. I'll change the base of this PR to the release branch.


Better l10n support

Is it possible to change these lines to make them easily translatable in a separate language file?:
\content\themes\default\views\read.php

Line 108: var gt_key_suggestion = '<?php echo addslashes(_("Use W-A-S-D or the arrow keys to navigate")) ?>';
Line 109: var gt_key_tap = '<?php echo addslashes(_("Double-tap to change page")) ?>';
Line 197: create_message('is_spread', 3000, 'Tap the arrows twice to change page');

content\themes\default\views\latest.php

Line 26:
' . _('by') . ' ' . $chapter->team_url() . ', ' . $chapter->date() . ' ' . $chapter->edit_url() . '

content\themes\default\views\comic.php

Line 16: <?php if ($comic->author) : ?><?php echo ''._('Author').': '.$comic->author; ?>
<?php endif; ?>
Line 17: <?php if ($comic->artist) : ?><?php echo ''._('Artist').': '.$comic->artist; ?>
<?php endif; ?>
Line 45: echo '
'._('Chapters').'
';
Line 51:
' . _('by') . ' ' . $chapter->team_url() . ', ' . $chapter->date() . ' ' . $chapter->edit_url() . '

content\themes\default\views\adult.php

Line 9: <?php echo _('This series contains mature contents and is meant to be viewed by an adult audience.
	If you are of legal age, click on continue.'); ?>
Line 12: <a href="<?php echo site_url() ?>">Back to index or
Line 15: echo form_submit('', _('Continue'));

application\models\chapter.php
too much lines, basically every set_notice, a few echo and return, and strings from function help_lang()
I may have forgot some but if these strings were translatable, maintenance and update would be extra-easier.

AFAIK, it should be possible but would require quite a bit of work to implement it.
This is a bit of a CANNED response, but we don't have any plans on doing it though and will welcome any PR submitted for this implementation. There hasn't been any motivation to maintain this code base for various reasons (lack of motivation, time, etc). So I wouldn't put much hopes on any future development with this code base. It is possible that we might rewrite the entire project in a more modern framework, but there aren't any guarantees on that. Open for thoughts/ideas/collaboration to an extent though.


remove unnecessary ending slash (/) in endpoint URLs

Closes PROD-2178
Description Of Changes
Many of our endpoints in Fides Admin UI are pointing at a URL unnecessarily ending with / which ends up being redirected in the browser behind the scenes to the same URL without it.
Fixing these URLs in the code is a quick way to optimize our response time!

Steps to Confirm

Open DevTools to the Network tab
Visit Fides Admin UI and click around to various pages
Endpoints should be getting called directly without redirecting

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
[x] Issue Requirements are Met
[x] Update CHANGELOG.md

@galvana Probably not worth the time to try to enforce URL string patterns in endpoint calls. If I had to guess, someone did it once on accident and others mimicked. We'll see if the pattern returns, but I'm hopeful it's a fluke.


Add seurat configs

So for Seurat, I tested both Louvain and Leiden clustering implemented in Seurat. Both of which I generated 4 configurations.
The configurations were based on their vignettes. Check the reference links in each config for details.

I'd say having both leiden and louvain is overkill, as they are very similar.
Both n_genes and n_pcs should be input params, and a highly variable genes step could also be useful. Binary_search should preferably also be imported from script. I can add those later if you are pressed on time.

I agree....I configured it this way as I want to compare a bit both louvain and leiden. Maybe we can delete the louvain configs as Leiden supersedes them.

Both n_genes and n_pcs should be input params, and a highly variable genes step could also be useful.

Agree! Should n_pcs and n_genes be input params in general? I can adjust other method configs that only distinguish by n_pcs. Thanks for reminding we omit the hvg part.

Binary_search should preferably also be imported from script.

Agree...Probably didn't keep everything up to date due to that project time limit. Same for Stardust I will point it out.

I can add those later if you are pressed on time.

That will be great. If I have time to do it I will also lyk. :)) Thanks a lot!!

Hi, I've updated Seurat:

delete all louvain configuration
Adding n_pcs and n_genes into input params
Added an HVG selection procedure.

But is an HVG selection procedure necessary? Check the two vignette that uses scTransform, they didn't have any HVG selection processes (Vignette1, Vignette2). The only one using HVG selection (Vignette3) doesn't use scTransform.

SCTransform uses 3000 variable features by default: https://satijalab.org/seurat/reference/sctransform
Perhaps that is where n_genes should be used? I.e., variable.features.n = n_genes


consecutive rt scans in ion mobility trace builder

Ion mobility trace build now takes the number of censecutive frames into account, not just the total number of frames.

looks good

looks good

👍🏻

👍🏻


[Feat] Add 'max_coalesce_distance_bytes' as a gflag.

As general work toward improving S3 performance this gflag will be useful to improve request sizes. (Issue# 3938)

cc @Yuhta

@paul-amonson any reason why you cannot set max_coalesce_distance_bytes as a ReaderOption in your application?
Changing the default value using a gflag seems odd to me.

See setMaxCoalesceDistance API.

See setMaxCoalesceDistance API. Your application can use a gflag to set this.

I am confused as to why max_coalesce_bytes is a gflag but max_coalesce_distance_bytes should not be a gflag. If the preferred configuration method in Velox is API, then why have gflags at all? Shouldn't that always be the apps responsibility? I may need help figuring out where and how to call this API.

max_coalesce_bytes is a gflag

This is only on Orri's branch. It should be an option/config when it lands on the main branch.
All configuration parameters in Velox must be options/config. Velox clients could be setting these in a variety of ways.
For example, Prestissimo sets some of these options via Presto client session parameters.
Unfortunately, not all options are plumbed through today as you can see with maxCoalesceDistance_.
I see that your goal is to configure maxCoalesceDistance_ in  TpchBenchmark.
I propose to add a ReaderOptions field to HiveConnectorSplit struct.
Once this is done, you can add a max_coalesce_distance_bytes flag to TpchBenchmark and pass it to
HiveConnectorTestBase::makeHiveConnectorSplits
@Yuhta, @oerling do you have other thoughts on this approach?

I missed mentioning the main step, which is to pass the readerOptions to the reader inside HiveDataSource::addSplit

Unfortunately, not all options are plumbed through today as you can see with maxCoalesceDistance_. I see that your goal is to configure maxCoalesceDistance_ in TpchBenchmark. I propose to add a ReaderOptions field to HiveConnectorSplit struct. Once this is done, you can add a max_coalesce_distance_bytes flag to TpchBenchmark and pass it to HiveConnectorTestBase::makeHiveConnectorSplits

Actually I am NOT trying to expose this for the TpchBenchmark but for Spark+Gluten. To me gflags are options but your text seems to imply that config/options != gflags. Let me study your response here and see if it makes any sense from the gluten perspective.

By config/options I mean the API provided by Velox such as ReaderOptions in this context.
maxCoalesceDistance_ is a member of velox::dwio::common::ReaderOptions.
ParquetReader constructor consumes ReaderOptions
https://github.com/facebookincubator/velox/blob/main/velox/dwio/parquet/reader/ParquetReader.h#L37
We must be passing a value for maxCoalesceDistance_ via ReaderOptions. Adding another gflag to change the default value is not the right pattern.

BTW: 'max_coalesce_bytes' IS a gflag defined/declared in CachedBufferInput which IS in the main branch.

Can you point me to the code? Search does not list anything https://github.com/search?q=repo%3Afacebookincubator%2Fvelox max_coalesce_bytes&type=code

HiveConnectorSplit

https://github.com/facebookincubator/velox/blob/main/velox/dwio/common/CachedBufferedInput.cpp

Thanks! Wonder why the search would not show this.
We must add max_coalesce_bytes to ReaderOptions as pass it an argument to the CachedBufferedInput constructor just like maxCoalesceDistance


Filter checkbox to show only available services

I would add a checkbox or toggle on the top right that says "Show only available services" that hides all the not usable services. It's ok to start "un-checked" or "un-toggled"

Duplicated https://github.com/premAI-io/prem-app/issues/413


Update github tree links to use a valid version

The page.version variable is set to a value like "1.x", while github
releases always have a version with 3 parts (like "1.x.y"). Using
page.version by itself in a kubernetes tree link does not work and
each of the changed links below 404s right now.
In the future, it might make sense to instead have a version variable
that includes the patch number as well.
It's possible I'm missing something and the page.version variable is of a different form in some cases.

Thanks, @euank !


Bulk operation - qualifed name

Hello.
The problem with PostgreSQL. For him the qualifier name is the '"' symbol, not '[]'. In Sql Server qualifier name server can also act as the '"' symbol.
You can fix this?
The problem arose in the syntax of the query after an UPDATE statement to the instruction INNER JOIN
This DELETE statement is formed correctly, with USAGE, etc.
UPDATE A  SET A.[custom_attributes] = $1, A.[modified_user_id] = $2, A.[modified_date] = $3 FROM [public].[service] AS A INNER JOIN ( SELECT "Extent1"."service_id", "Extent1"."service_number", "Extent1"."service_type_code", "Extent1"."department_type_code_create", "Extent1"."department_type_code_assigned", "Extent1"."department_type_code_reestr", "Extent1"."prepare_target_date", "Extent1"."created_user_id", "Extent1"."created_date", "Extent1"."modified_user_id", "Extent1"."modified_date", "Extent1"."reg_date", "Extent1"."reg_num", "Extent1"."custom_attributes", "Extent1"."output_target_date", "Extent1"."prepare_fact_date", "Extent1"."output_fact_date" FROM "public"."service" AS "Extent1" WHERE "Extent1"."service_id" = $4            ) AS B ON A.[service_id] = B.[service_id]

Thank you for reporting this issue.
We will work on it very soon.


How to Use Vanilla Jasmine with Meteor?

I'd prefer to see the regular Jasmine pass/fail info in a separate window.  How can I implement this using meteor-jasmine?

Maybe try this fork of the html-reporter: https://github.com/kingkevin/html-reporter/commits/devel (clone it into your packages folder).
You can also modify the styling of the html-reporter to be full screen.

Thanks Jonas!
On Jul 2, 2015 5:55 AM, "Jonas Aschenbrenner"<EMAIL_ADDRESS>wrote:

Maybe try this fork of the html-reporter:
https://github.com/kingkevin/html-reporter/commits/devel (clone it into
your packages folder).
You can also modify the styling of the html-reporter to be full screen.
—
Reply to this email directly or view it on GitHub
https://github.com/Sanjo/meteor-jasmine/issues/245#issuecomment-118023172
.


chore(governance): add link to tx details, add error details

Related issues 🔗
Closes #6240
Description ℹ

add links to the tx detail page
adds error details

Demo 📺

Technical 👨🔧
N/A

looks good


Unable to find Application

Is your feature request related to a problem? Please describe.
Love the app, went to install an FTP client, searched for 'FTP' and 'ftp', none, I can't believe with all the programs in the winutil not one FTP client exists.
Describe the solution you'd like
Keyword search, or search/filter for what the application does and not just its name.
Describe alternatives you've considered
I'll need to figure out how to use ftp in terminal.
Additional context
Thanks for reading post from a ranting noob

Hello @andrewcollier-com-au
Thanks for reporting this issue. This issue is similar to issue #2478, where in the previously reference issue ticket, it gives suggestions and details this problem of searching through apps in the Install tab.
Linking this issue to #2226


[WIP]apidocs: Document Changes in /api as per API changelog.

The /api documentation was missing a lot of Changes that
have been done over time. Manually audited the Changelog
to document all the Changes.

Testing plan:
GIFs or screenshots:

@MSurfer20 a few requests:

Can you carefully clean up the styling of the text?  I notice a lot of inconsistencies in whitespace, formatting, etc.
Can you make this one commit per feature level?  That will make it a lot easier to verify each individual change is correct and complete.

@MSurfer20 is this ready for a review?

@timabbott  This needs some more auditing. I'll fix this up soon.


Return JSON on the console

e.g.
multichain send_url —json sam http://metrics.theodi.org/metrics.json
Seems like this might be a useful thing

Resolves #12


Way to upload body from non-static &[u8]?

The way I currently understand it, Body needs to be constructed from either an owned vector or a 'static construct. Assuming I'm making a synchronous call in the same thread, I believe it makes sense to allow a non-static reader or &[u8] to reduce memory footprint in case of retries or big uploads. Is there a way to do this at the moment?

Nope, there isn't currently a way to do this...


retrieve proper message and reason when response can't be loaded to json

I couldn't reproduce the throwing of BrokenPipeError reported in #633, but noticed that the SpotifyException that was being thrown instead had None as reason. I then noticed that both msg and reason could possibly be retrieved from the response's raw, so I created a method to do it (only if loading to json fails). I also extracted a method from the original code.

The requests documentation for the raw property of Response says:

#: File-like object representation of response (for advanced usage).
#: Use of raw requires that stream=True be set on the request.
#: This requirement does not apply for use internally to Requests.
self.raw = None

But stream is not set to True on the request. Have you actually tested this?

The requests documentation for the raw property of Response says:

#: File-like object representation of response (for advanced usage).
#: Use of raw requires that stream=True be set on the request.
#: This requirement does not apply for use internally to Requests.
self.raw = None

But stream is not set to True on the request. Have you tested this?

Oh, nice catch. I'll look into it.

You should just return the text of the response if it can't be converted to JSON. Raw data is unlikely to be useful and I can't image a scenario where spotify returns data that can't be converted to a string.

I see that that there is a reason property in the Response. Maybe use that as reason, and use the text property as msg (if empty use 'error'). What do you think?

reason is just a string describing the status code, which is already provided to the initializer for SpotifyException, so I think this is redundant.

Ok, just to make sure we are on the same page: the response has a reason, but isn't being added to the SpotifyException because the json() method fails, causing the reason to receive None from:
https://github.com/plamere/spotipy/blob/c4f6a3fa4b4e5e13d78594c33874a0e6cb18361e/spotipy/client.py#L256

Debugging before the json conversion error (notice that the reason could be retrieved at this moment):

The stack trace itself (notice how the HTTPError shows the reason Request Entity Too Large but SpotifyException does not):
HTTP Error for PUT to https://api.spotify.com/v1/playlists/1fYfHp88zjW0kVZItm20gu/images returned 413 due to error
Traceback (most recent call last):
  File "D:\Users\gustavo\PycharmProjects\spotipy\spotipy\client.py", line 245, in _internal_call
    response.raise_for_status()
  File "D:\Users\gustavo\PycharmProjects\spotipy\venv\lib\site-packages\requests\models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 413 Client Error: Request Entity Too Large for url: https://api.spotify.com/v1/playlists/1fYfHp88zjW0kVZItm20gu/images

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:/Users/gustavo/PycharmProjects/spotipy/t.py", line 46, in <module>
    upload()
  File "D:/Users/gustavo/PycharmProjects/spotipy/t.py", line 14, in upload
    spotify.playlist_upload_cover_image(playlist_id, encoded_image)
  File "D:\Users\gustavo\PycharmProjects\spotipy\spotipy\client.py", line 697, in playlist_upload_cover_image
    content_type="image/jpeg",
  File "D:\Users\gustavo\PycharmProjects\spotipy\spotipy\client.py", line 306, in _put
    return self._internal_call("PUT", url, payload, kwargs)
  File "D:\Users\gustavo\PycharmProjects\spotipy\spotipy\client.py", line 266, in _internal_call
    headers=response.headers,
spotipy.exceptions.SpotifyException: http status: 413, code:-1 - https://api.spotify.com/v1/playlists/1fYfHp88zjW0kVZItm20gu/images:
 error, reason: None

And instead of retrieving the reason and adding it to the SpotifyException, it should only set the response.text to msg?

response.text may throw an error if the data cannot be decoded into a string. You'll have to test this.


[Feature Request] Image Digest Vulnerability Scan Caching

Objective: Optimize the vulnerability scanning activity taking place within the kubernetes cluster.
Problem Statement: In kubernetes cluster deployments with high-volume actions (create, modify, delete) of resources that use the same image references (e.g., creating several replicaset resources with the same image references), there is overhead incurred due to the churn of re-scanning images that have already been scanned in a different context (e.g., namespace or resource).
Proposed Solution: Implement a vulnerability scan caching solution that will store scan results based on the image digest of container images. Prior to the operator executing a scan job, a caching check can occur to determine if the image digest has been scanned in the last N hours/days (configurable). If the image is in cache, the previous scan data is used for the resource vulnerability report, otherwise a scan is executed (similar to what was proposed in: https://github.com/aquasecurity/trivy-operator/blob/main/docs/docs/design/caching_scan_results_by_repo_digest.md).
Expected Outcome: The proposed feature should optimize the vulnerability scanning process by leveraging a cache that is referenced prior to instantiating pod resource to support scanning activities of a previously scanned image.

I actually think this feature functionality has been introduced via clustersbomcache, but please confirm.


Change the column type from string to jsonb and cast the previous value to a new json

For example I've a column that's name (type string) and I'd like to change the type to jsonb, and keep the news values like this
{ first_name: PREVIOUS_NAME_COLUMN, last_name: "" }

Do anyone had this issue before?

Yes, I have the same problem, we have a varchar column and we want to change the type to jsonb, the tool migration generated this script:
knex.schema.alterTable('table_name', table => {
   table.jsonb('column_name').alter();
});

And we are receiving this message error:
alter table "table_name" alter column "column_name" type jsonb using ("column_name"::jsonb) - invalid input syntax for type json
For this kinda change we should use using to_jsonb(message);  but how can we add this sentence to the script?


bkontur: retain at rank1

Rendered

Hey @anaelleltd, just one small improvements, I think you can use also "Squash and Merge" when merging, then the history of main branch would look little bit nicer: 1 commit per evidence instead of branch spaghetti :)

I think you can use also "Squash and Merge" when merging, then the history of main branch would look little bit nicer: 1 commit per evidence instead of branch spaghetti :)

Oh, thanks for letting me know about this! I had no idea these commits were overlapping!  🙏


About synopsis

I got this warn: "synopsis not requested or missing"

This is because by default not all possible fields are requested when searching information on an anime or manga. The idea is to minimize the data transfer by requesting only the data that is going to be used. If you want all the fields you can specify so on a per request basis by passing it to the method you are calling or setting it in the client once
to use them in all subsequent requests, see examples below.
# all fields requested in all subsequent requests
client.anime_fields = Field.all_anime()

# all fields only in this request
client.get_anime(16498, fields=Field.all_anime())

# can use an arbitrary list of fields, only the specified ones will be requested
my_fields = [Field.num_episodes, Field.start_season, Field.broadcast, Field.source]
client.get_anime(16498, fields=my_fields)

Look into Fields.default_anime() and Fields.default_manga() to see which ones are requested by default.


God Mode doesn't work.

Hello, I am doing everything correctly. "Infinite Ammo, Rapid Fire etc." works fine but not God Mode. Would really nice if it would be fixed!

Also could you make this work on any other browser and not Firefox? It's the worst browser possible for gaming, Atleast Brave & Microsoft Edge are fine. Personally I use Microsoft Edge. If you can make it compatible with that it would be nice.

Firefox is the easiest to use cheat engine on since it doesn't launch a bunch of processes.
I'll go see if I can fix god mode sometimes today

Also, I ever make a v2 I'll add brave support

Ok so I just got on my PC and checked, god mode still works for me. Idk why it's not working for you, maybe redownload it and try again?

Weird, I'll try later. But I will be thankful if you added Brave support :)


Bug: adding int8 vector does not add arr[0], but adds arr[:, 0], how to solve it?

Describe the bug
The bug is strange, it does not cause the same error with a regular numpy array (hence I cannot simply reproduce it with a random numpy vector), but this is what I am getting:
Steps to reproduce
>>> import numpy as np
>>> from usearch.index import Index
>>> import random

>>> index = Index(
    ndim=384, # Define the number of dimensions in input vectors
    metric='cos', # Choose 'l2sq', 'haversine' or other metric, default = 'ip'
    dtype='i8', # Quantize to 'f16' or 'i8' if needed, default = 'f32'
    connectivity=16, # Optional: How frequent should the connections in the graph be
    expansion_add=128, # Optional: Control the recall of indexing
    expansion_search=64, # Optional: Control the quality of search
)

# this is the array i want to add to the index
>>> quantized_tfQ = quantized_tfQ.astype(np.int8)
>>> quantized_tfQ
array([[  95,  -67,   77, ...,    1,   -4,  -34],
       [  48,  -37,  -41, ...,   54,   97,  -22],
       [-128,   93,  -20, ...,    3,   68,   18],
       ...,
       [  15,  -27,   40, ...,  -14,  -66,   33],
       [ -17,  -71,   49, ...,  -47,  -44,  -26],
       [  55,  -29,   52, ...,    6,   18,  -69]], dtype=int8)

# indexing the array
>>> index.add(list(range(len(quantized_tfQ))), quantized_tfQ)

>>> index.get(0)[0:5]
array([  95,   48, -128,   65,   60], dtype=int8)

If I compare it with the first 5 elements in the first sample:
>>> quantized_tfQ[0][0:5]
array([ 95, -67,  77, -52, 101], dtype=int8)

The data I am getting from the index are the exact elements of quantized_tfQ[:, 0] (up to 384), why is this happening? Have I been processing the numpy in a different way?
When trying to get index n. 1:
>>> index.get(1)[0:5]
array([  48, -128,   65,   60,  -66], dtype=int8)

The behavior is even more strange, it shifts the data of one vertical position
Expected behavior
The indexing should add each sample with its corresponding index
USearch version
2.16.8
Operating System
Windows
Hardware architecture
x86
Which interface are you using?
Python bindings
Contact Details
<EMAIL_ADDRESS>Are you open to being tagged as a contributor?

[x] I am open to being mentioned in the project .git history as a contributor

Is there an existing issue for this?

[X] I have searched the existing issues

Code of Conduct

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

@arditobryan, thanks for opening the issue! I suspect the issue is coming from the layout of the matrix, being a transposed view of column-major matrix, rather than a row major one. Can you double check that?

Check arr.flags['C_CONTIGUOUS']: Tells you if it’s laid out in a way that standard row-major functions can iterate without extra copying.
Check arr.base: Tells you if it’s a view of another array.
Inspect arr.strides: Gives deeper insight into how data is actually arranged in memory.

Thank you @ashvardanian it worked!
This was the issue:
>>> quantized_tfQ.flags['C_CONTIGUOUS']
False

To turn it True:
>>> quantized_tfQ = np.ascontiguousarray(quantized_tfQ)
>>> quantized_tfQ.flags['C_CONTIGUOUS']
True

Now the indexing works properly

I'll merge patch that raises an exception when the input is not continuous. Thanks for help, @arditobryan!


Fix issues with Subscription ID

Fix #8358. The resource commands were not making use of the *_by_id SDK methods and the methods that worked by name weren't subscription aware. This fix ensures that if IDs are passed, the *_by_id methods are called.
Fixes #8437. Fixes an issue where passing --subscription NAME often throws an error. This PR adds an action to the global _subscription argument to convert subscription names to IDs so that in any validators etc. all subscriptions provided are subscription IDs. This may be able to replace some duplicate logic elsewhere that does similar things (such as in az account set).

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[X] I adhere to the Command Guidelines.

ping @yugangw-msft


[Foundation] Reorder _DataStorage to save 14 bytes of overhead

Shepherds #14989

@swift-ci please test and merge

Is this ABI compatible? can we have some verification this does not muck with that?

@phauser The class is not @frozen, so all stored property access is performed via accessor methods. Re-ordering stored properties should be OK.