Dynamic Node Connection Feature + Flow Refactoring

Description
This PR introduces a dynamic node connection feature and refactors the Flow component.

Dynamic Node Connection: Users can dynamically connect nodes by dragging one near another within a 100-unit distance
Performance Improvements: Removed redundant logic, optimized edge updates, and improved code readability with comments
Add arrow marker to edges to show the direction
Rewrite variable names for better readability

Fixes #422 (added arrow for edges)
Type of change

[X] ✨  New feature (non-breaking change which adds functionality)
[X] Other 🗒 Refactoring

How Can this be tested? Testing Plan to review this PR

Spin up app
Create a LinktaFlow
Click a UserInput on SideNav
Accurate loading UI during data fetching state

Drag a node and drop it to a nearby node -> Observe: a dotted edge will show up between the dragged node and the new parent, after dropping the node a new connection between the dragged node and new parent will be formed

Checklist:

[X] I have performed a self-review of my own code.
[X] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.
[X] I have reviewed the Security Best Practices Document.
[X] I have followed the Naming Conventions Guide for my changes.
[X] I have ensured that my pull request title is descriptive.

Additional Information:

The new layout is currently temporary, we will need to refactor the save LinktaFlow feature to ensure that the updated node positions are correctly persisted in the database

Followup tickets re preventing cycles & fixing handleSave fn created #427 #426


Readd removed DTDs/XSDs from netbeans donation

The non-donateable files from
http://hg.netbeans.org/releases/rev/9098ef3e8662?revcount=1500
are readded. The primary files are compatibly licensed: EPL/EDL/ALv2.
The remaining files (checkstyle configuration dtds) are considered simple enough
not to be under copyright protection.

Great, thanks, merging.


Build errors on 0.5.1

When attempting to install this gem in my rails application, I am getting an error while installing with native extensions. I have installed clang:
root@2dea80f87d08:/app# clang --version
Debian clang version 11.0.1-2
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

And am running ruby 3.1 with RubyGems 3.4:
root@2dea80f87d08:/app# ruby --version
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [aarch64-linux]
root@2dea80f87d08:/app# rubygems
bash: rubygems: command not found
root@2dea80f87d08:/app# gem --version
3.4.15

Adding the gem to my gemfile and running bundle install results in a rust build error:
Compiling yrb v0.5.1 (/bundle/ruby/3.1.0/gems/y-rb-0.5.1/ext/yrb)
error[E0603]: struct `Subscription` is private
  --> src/yawareness.rs:5:60
   |
5  | use y_sync::awareness::{Awareness, AwarenessUpdate, Event, Subscription};
   |                                                            ^^^^^^^^^^^^ private struct
   |
note: the struct `Subscription` is defined here
  --> /bundle/ruby/3.1.0/gems/y-rb-0.5.1/ext/yrb/.rb-sys/stable/cargo/registry/src/index.crates.io-6f17d22bba15001f/y-sync-0.3.1/src/awareness.rs:10:26
   |
10 | use yrs::{Doc, Observer, Subscription};
   |                          ^^^^^^^^^^^^

error[E0308]: mismatched types
  --> src/utils.rs:24:18
   |
24 |         a.insert(k, v);
   |           ------ ^ expected `Arc<str>`, found `Rc<_>`
   |           |
   |           arguments to this method are incorrect
   |
   = note: expected struct `Arc<str>`
              found struct `Rc<_>`
note: method defined here
  --> /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/collections/hash/map.rs:1103:12

error[E0308]: mismatched types
  --> src/yattrs.rs:26:30
   |
26 |                 attrs.insert(Rc::from(k), avalue);
   |                       ------ ^^^^^^^^^^^ expected `Arc<str>`, found `Rc<_>`
   |                       |
   |                       arguments to this method are incorrect
   |
   = note: expected struct `Arc<str>`
              found struct `Rc<_>`
note: method defined here
  --> /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/collections/hash/map.rs:1103:12

error[E0308]: mismatched types
  --> src/yawareness.rs:69:38
   |
69 |         YAwarenessSubscription::from(subscription)
   |         ---------------------------- ^^^^^^^^^^^^ expected `YAwarenessSubscription`, found `Subscription<Arc<dyn Fn(..., ...)>>`
   |         |
   |         arguments to this function are incorrect
   |
   = note: expected struct `YAwarenessSubscription`
              found struct `Subscription<Arc<(dyn for<'a, 'b> Fn(&'a y_sync::awareness::Awareness, &'b y_sync::awareness::Event) + 'static)>>`
note: associated function defined here
  --> /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/convert/mod.rs:548:8
help: try wrapping the expression in `yawareness::YAwarenessSubscription`
   |
69 |         YAwarenessSubscription::from(yawareness::YAwarenessSubscription(subscription))
   |                                      +++++++++++++++++++++++++++++++++++            +

Some errors have detailed explanations: E0308, E0603.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `yrb` (lib) due to 4 previous errors
make: *** [Makefile:555: target/release/libyrb.so] Error 101

make failed, exit code 2

I'm not sure why this is attempting to build with native extensions in the first place, as far as I'm aware there should be an included binary for my setup. In any case, it seems as though I've installed all the dependencies, but am still unable to build, a use-case which ought to work.

@eliias sure thing, I'll test that out and come back.

Ah man, it is the new dependency for sure. It was released as a non-breaking change and I do not pin the patch version here https://github.com/y-crdt/yrb/blob/v0.5.1/ext/yrb/Cargo.toml#L14. Should be y-sync = "=0.3.0" (= is missing). When you have to build, you will get 0.3.1 instead.

@eliias makes sense. Building off of main worked perfectly. I really appreciate your responsiveness!
I'm still curious why I'm building from source at all --- I still think I should be able to hit a bundled binary. Any insights there? I can share anything else you might need about the environment I'm working in.

I'm still curious why I'm building from source at all --- I still think I should be able to hit a bundled binary. Any insights there? I can share anything else you might need about the environment I'm working in.

I haven't used any ARM 64 Linux builds myself, so it could be related to architecture/platform, but I think this is unlikely.
I don't know what specifically causes the issue here, but I have seen it before when:

A project Gemfile.lock specifically requires the ruby platform, like GitLab does https://gitlab.com/gitlab-org/gitlab/-/blob/master/Gemfile.lock#L1709
Older versions of RubyGems/bundler https://github.com/y-crdt/yrb/pull/100
User-specific settings, e.g., forcing it to build https://bundler.io/v1.14/whats_new.html#improved-platform-support

I have released 0.5.2 if you want to install from RubyGems again.

@wkirby I am going to close this issue. Let me know if you can find anything related to the installation problem (native extension compiling), otherwise I need to figure out how to reproduce.

A project Gemfile.lock specifically requires the ruby platform

This is it, thanks!


2 ways to make Quick Accent not trigger when it shouldn't.

Description of the new feature / enhancement
I have 2 ideas of settings that should be added.

Maximum button hold duration before not allowing quick accent for that key.
Quick Accent disable on key press while holding space or an arrow key until the key is released.

Scenario when this would be used?
If you're playing a game on a web browser, and it used WASD and Space controls, or letter keys and arrow keys controls, you wouldn't want to accidentally open the quick accent menu (as all inputs go to it instead of the intended application), so with max hold duration if you hold W for like a full second and then press space to jump, you would still jump instead of opening quick accent. For disable on key press, if you use ZXC and Arrow keys for an rpg, and you hold X to run and arrow keys to move, if you hold an arrow key and then hold X, if you switch direction, you would move in that direction instead of opening Quick Accent.
Supporting information
I thought of this idea while testing an RPG on Scratch, and I was running around and accidentally triggered Quick Accent.

I agree that we need a minimum threshold for triggering Quick Accent. I have it triggering while I'm typing normally, without holding down any keys, and it's really messing up my typing. And I'm a fast typer too (62 WPM = 271 CPM)!


feat: Release new version

Description
Would love to sue some of the features that are not yet released on pub.

Hi @renancaraujo 👋 , thanks for opening this issue 💙
As soon as #88 gets merged we'll release.
P.S. I hope you mean "see", we don't want our featured to be "sued" 😉 🙌


The Keda Redis list scale object returns a list length with "m"

Report
"I am using a KEDA scaleObject for a Redis list Typically, it returns an integer, but occasionally it provides values like '100m' or '245m'. These values with the 'm' suffix seem to represent milli-units. I would like to understand why these values are being returned and how to handle them appropriately in my application.
Expected Behavior
I expect the average value to be returned as an integer without any appended 'm' suffix.
Actual Behavior
The HPA is considered successful when the average value is an integer, but it does not trigger when the value includes "m".

Steps to Reproduce the Problem

Run K8s deployment
Create a Keda scale object that refers Redis list (The Redis list must be an active one which consuming data)

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: scaledobject-test-nginx
namespace: default
spec:
scaleTargetRef:
name: test-nginx
pollingInterval: 5
cooldownPeriod:  0
minReplicaCount: 3
maxReplicaCount: 20
fallback:
failureThreshold: 3
replicas: 6
advanced:
restoreToOriginalReplicaCount: false
horizontalPodAutoscalerConfig:
behavior:
scaleDown:
stabilizationWindowSeconds: 300
selectPolicy: Min
policies:
- periodSeconds: 60
type: Pods
value: 3
- periodSeconds: 60
type: Percent
value: 10
scaleUp:
stabilizationWindowSeconds: 0
selectPolicy: Max
policies:
- periodSeconds: 5
type: Percent
value: 60
- periodSeconds: 5
type: Pods
value: 3
triggers:

type: redis
metadata:
listName: queue-sql
listLength: "10"
address: "test.amazonaws.com:6379"

Logs from KEDA operator
There are no issues found in the logs of the Metrics Server and Operator.
---------------------------------------------------------------------------------
2023-06-16T18:41:31Z    INFO    Reconciling ScaledObject        {"controller": "scaledobject", "controllerGroup": "keda.sh", "controllerKind": "ScaledObject", "scaledObject": {"name":"scaledobject-zyde-py","namespace":"test"}, "namespace": "test", "name": "scaledobject-py", "reconcileID": "92524bd8-fbdf-4bd4-9c0b-530fb70ecb18"}

KEDA Version
2.8.2
Kubernetes Version
1.24
Platform
Amazon Web Services
Scaler Details
Redis List
Anything else?
No response

Hey,
I believe that you will find this discussion interesting: https://github.com/kedacore/keda/discussions/3299
There is explained your questions with some examples

Expected Behavior
I expect the average value to be returned as an integer without any appended 'm' suffix.

This isn't possible. If your redis list length is 3, and you have 2 instances, the average value is 1,5. K8s doesn't manage float numbers and that's why you see 1500m.

how to handle them appropriately in my application

You don't need to handle anything, this is something internal between k8s, HPA and KEDA and there isn't any option to change how it's displayed because it's part of the HPA controller design

I close this issue as it's the normal behavior by design. If after reading the discussion you still have doubts,  please reopen the issue again and we can continue 😄


Problem with Nested Tabs in CoreUI Angular

When trying to implement nested tabs in an Angular component using CoreUI Angular's c-tabs and c-tab-panel, the second-level tabs are not working as expected. Specifically:
When clicking on a top-level tab (first level), the nested tabs (second level) appear, but the content of the first nested tab (second level) does not load automatically.
After clicking on another nested tab (second level) and then switching back to the first nested tab, the content is displayed correctly.
<c-tabs [activeItemKey]="0">
    <c-tabs-list>
        <button cTab [itemKey]="0">Tab1</button>
        <button cTab [itemKey]="1">Tab2</button>
    </c-tabs-list>
    <c-tabs-content>
        <c-tab-panel class="p-3" [itemKey]="0">
            <c-tabs [activeItemKey]="0">
                <c-tabs-list variant="pills">
                    <button cTab [itemKey]="0">Home</button>
                    <button cTab [itemKey]="1">Profile</button>
                </c-tabs-list>
                <c-tabs-content>
                    <c-tab-panel class="p-3" [itemKey]="0">
                        Home tab content
                    </c-tab-panel>
                    <c-tab-panel class="p-3" [itemKey]="1">
                        Profile tab content
                    </c-tab-panel>
                </c-tabs-content>
            </c-tabs>
        </c-tab-panel>
        <c-tab-panel class="p-3" [itemKey]="1">
            Profile tab content
        </c-tab-panel>
    </c-tabs-content>
</c-tabs>

@oarque
Please try to import provideAnimationsAsync from @angular/platform-browser/animations/async and add it to the providers list in the bootstrapApplication function call.
See working example here https://stackblitz.com/edit/coreui-angular-tabs-as228v-2bwzdm-6cmeqg?file=src%2Fmain.ts

Now it works! Thank you!

@oarque
The parent animation has priority in Angular, and any child animations are blocked.
That's why inner c-tab-panel stays transparent.
As a temp workaround you can turn off transitions for inner tab panels.
<c-tab-panel [transition]="false">
  ...

We'll try to fix it

Thanks @xidedix!

@oarque fixed in @coreui/angular version ~5.2.24
please let us know if it works for you

It works!
Thanks


Concatenating non-pyam dataframes no longer works

Previously, one could pyam-concatenate pandas dataframes that can be cast to pyam format directly. However this now fails as the meta looks for a metadata index that isn't present. I assume this is an unintended bug rather than a safety feature, if not the documentation should be updated to make clear that concatenation only works on the pyam format itself.
The problem:
return IamDataFrame(
            pd.concat(ret_data, verify_integrity=False),
            meta=ret_meta,
>           index=ret_meta.index.names,
        )
E       AttributeError: 'NoneType' object has no attribute 'index'

I also noticed this but never got around to making an issue. Thanks @Rlamboll ! I agree, this felt like a regression to me..

I was going to write that we don't have a test for pd.DataFrame-only-concatenation, but I can't find a test for concat() at all... ?
Anyway, I think it should be sufficient to replace
https://github.com/IAMconsortium/pyam/blob/e7f0c3a2e8ba618e1b621333064657e38db898c4/pyam/core.py#L2935
with
index = df.index.names

and write a test for it...


can't reproduce the mAP  reported in readme, only 28.0 mAP in coco minival

hi:
I have run the traning code without change anyting for three times, but get lower mAP than you report in the readme, here's the details:
VOC:  07+12 trainval ,07test,  mine: 79.1        the reported: 79.4
COCO:  COCO 2014 train, COCO 2014 minival,  mine: 28.0 (with 1920000  iter)     the reported: 29.0 (though I test on 2014 minival, I think it won't be much different from the 2014 val )
my test env: python 2.7 ,  TITAN X (Pascal) 12G,
I also reset git 1a2be8e.
so  anything wrong? i wanna know what should i care to reproduce the results.
bests
jemmy li

i also have the problem....
in addition,did you meet the problem that the loss is nan(loss_bbox is nan),from Iteration  45000??


Feature request: Cross-post to microblogging sites (Twitter, Mastodon, Threads, etc)

Is your feature request related to a problem?
Been using Memos for personal note taking synced to Logseq, for which it's brilliant.
It can also work as a really nice, lightweight personal microblogging platform however (which should be even more capable once ActivityPub support is added! https://github.com/usememos/memos/issues/878)
It would be amazing if Memos could go a step further, and allow cross-posting memos to other sites (perhaps as an option that could be toggled on/off on each memo post). This would serve a further headache, which is that there are now a recent abundance of microblogging sites!
Describe the solution you'd like
Ideally cross-posting which supported:

Twitter / X
Mastodon
Threads
Bluesky Social
Tumblr?
Facebook?
Maybe micro.blog?

Could either be a toggle option for cross-posting on each memo, or a user-wide setting to automatically cross-post public memos?
Additional context
While this would be a really, really cool feature to have within Memos, I also understand if it was considered out of scope of the project. Also note that upcoming support for webhooks (https://github.com/usememos/memos/issues/1039) may enable this flow to be implemented by having Memos trigger a webhook on an external cross-posting service.

FYI, webhooks has been implement after v0.18.0. Some other content might be duplicated with https://github.com/usememos/memos/issues/878.


Add docker run support

This case turned into a more difficult task as Docker API doesn't have "run" from the box.
So we should:

Create container with custom command we have from "docker run"
Start container
It may be worth to pull the image if we don't have it as docker run does.
The solution somehow should look like this:

/ RunContainer works as Docker run command
func (d *Containers) RunContainer(ImageName string, options container.Config) error {
	// _, err := d.cli.ImagePull(d.ctx, ImageName, types.ImagePullOptions{})
	// if err != nil {
	// 	panic(err)
	// }

	resp, err := d.cli.ContainerCreate(d.ctx, &options, nil, nil, nil, "")

	if err != nil {
		return err
	}

	if err := d.StartContainer(resp.ID, types.ContainerStartOptions{}); err != nil {
		return err
	}

	statusCh, errCh := d.cli.ContainerWait(d.ctx, resp.ID, container.WaitConditionNotRunning)
	select {
	case err := <-errCh:
		if err != nil {
			return err
		}
	case <-statusCh:
	}
	return nil
}

If the config object contains the flag equivalent to --rm we should also remove the container again once the command is done executing.


Development Planning Meeting, Tuesday, Feb 20, 10:30 pm, Discord

Topics

[x] go over FR, NFR testing cases, document data if possible @jiaoa3 @yex33

[x] Create survey (google form) based on VnV plan description @qstommyshu

[x] add more frontend unit-testing @KehaoHuang

[x] #110

[x] #118

[x] 3d-pose @qstommyshu @yex33

Attendance

[x] @qstommyshu
[x] @yex33
[x] @marischan888
[x] @jiaoa3
[x] @KehaoHuang

all done marking as closed


Feature: Icon should change on pages where CE is blocking content

not sure design-wise, but I think we need 2 or 3 versions of the icon:

enabled/not-blocking (normal case)
enabled/blocking (attention-getting)
disabled (gray)

A few design options:

done. https://github.com/dhowe/ChinaEye/pull/31


[VTA] Bringing group convolution support

This PR brings group convolution operator support to VTA.

Added the tophub schedules for Pynq group convolutions running mobilenet-g from the VTA paper: https://github.com/uwsampl/tvm-distro/commit/9f9fdbab5df43f9052d1d344945cc4d6ef2e299c

Removed WIP tag; PR ready for review!

@tmoreau89 feel free to merge

Thank you @liangfu and @tqchen , the PR is merged.


As an investigator, I should be able to view cases that I want efficiently

User Stories:

As an investigator, I should be able to view all the cases in a calendar so I can have an overview of them (Issue #213)
As an investigator, I should be able to filter the cases according to the tags I want so I don't have to go through all the cases one by one (Issue #214)
As an investigator, I should be able to filter the cases in the calendar by its status (open/close) (Issue #215)
As an investigator, I should be able to change the status of the case to close so I can keep track of which cases are opened/closed (Issue #216)

all user stories implemented


[Feature Request] add a method to volume viewport like the method setImageIdIndex to stack viewport.

What feature or change would you like to see made?
Hello,
I'm currently facing a challenge in my project and I would appreciate your assistance. I need to find a way to programmatically change the image in a volume viewport. So far, I've been able to do this with stackviewport by calling the setImageIdIndex method. However, I've noticed that this approach doesn't work for volume, as there is no equivalent method available.
Do you happen to know of another way to achieve this goal? Any guidance or suggestions would be greatly appreciated.
Thank you in advance for your help!
Why should we prioritize this feature?
Prioritizing the requested feature to programmatically change images in the volume viewport is crucial for enhancing user control and flexibility. This feature interacts with existing functionality by extending image manipulation capabilities to volume rendering. Its implementation ensures consistency across viewports and improves user experience by empowering efficient data management and visualization. Prioritizing this feature reflects responsiveness to user needs and contributes to long-term project success and user satisfaction.

I think you can try the new setViewReference which accept the sliceIndex

@sedghi I try, but this not work. You can help-me?
My full code

My function to update index

can you please add the code instead of screenshot

@sedghi this is the repo: https://github.com/MrWerton/cornerstone-dicom-viewer
and the code:
import React, { useEffect, useRef } from "react";
import "./App.css";
import { createImageIdsAndCacheMetaData, initDemo } from "./core/helpers";
import {
  Enums,
  RenderingEngine,
  StackViewport,
  Types,
  VolumeViewport,
  cache,
  getRenderingEngine,
  setVolumesForViewports,
  volumeLoader,
} from "@cornerstonejs/core";
import * as tools from "@cornerstonejs/tools";

const { ViewportType } = Enums;
const renderingEngineId = "myRenderingEngine";
const volumeId = "cornerstoneStreamingImageVolume:myVolume";
const viewportId = "CT_AXIAL";
const studyInstanceUID = "1.2.640.0.310174<IP_ADDRESS>.9.1454914.1230185";
const seriesInstanceUID =
  "1.2.840.113619.2.507.7636706.3695232.30418.1697638227.903";
const wadoRsRoot = "http://localhost:8080/orthanc/dicom-web";
const { STACK_NEW_IMAGE, VOLUME_NEW_IMAGE } = Enums.Events;

const App: React.FC = () => {
  const isInitialized = useRef(false);
  const element = useRef<HTMLDivElement>(null);
  const range = useRef<HTMLInputElement>(null);

  useEffect(() => {
    if (!isInitialized.current) {
      isInitialized.current = true;
      initializeDemo();
    }
  }, []);

  const initializeDemo = async () => {
    try {
      await initDemo();
      initializeTools();
      await renderVolumeOrStack();
    } catch (error) {
      console.error("Initialization failed:", error);
    }
  };

  const initializeTools = () => {
    tools.addTool(tools.WindowLevelTool);
    tools.addTool(tools.ZoomTool);
    tools.addTool(tools.StackScrollMouseWheelTool);
  };

  const renderVolumeOrStack = async () => {
    const renderingEngine = new RenderingEngine(renderingEngineId);
    const { imageIds, metadataTags } = await createImageIdsAndCacheMetaData({
      StudyInstanceUID: studyInstanceUID,
      SeriesInstanceUID: seriesInstanceUID,
      wadoRsRoot: wadoRsRoot,
    });
    console.log(metadataTags);

    if (range.current) {
      range.current.max = (imageIds.length - 1).toString();
    }

    if (imageIds.length < 10) {
      await renderVolume(renderingEngine, imageIds);
    } else {
      await renderStack(renderingEngine, imageIds);
    }

    console.log("Cache Size:", cache.getCacheSize());
    console.log("Bytes Available:", cache.getBytesAvailable());
  };

  const renderVolume = async (
    renderingEngine: RenderingEngine,
    imageIds: string[]
  ) => {
    const volume = await volumeLoader.createAndCacheVolume(volumeId, {
      imageIds,
    });

    element.current!.addEventListener(VOLUME_NEW_IMAGE, ((
      evt: Types.EventTypes.VolumeNewImageEvent
    ) => {
      const { imageIndex, numberOfSlices } = evt.detail;
      console.log(
        "Volume New Image",
        imageIndex,
        numberOfSlices,
        imageIds.length
      );
      range.current!.value = (imageIndex - 1).toString();
    }) as EventListener);
    const viewportInput = {
      viewportId,
      element: element.current!,
      type: ViewportType.ORTHOGRAPHIC,
      defaultOptions: {
        orientation: Enums.OrientationAxis.AXIAL,
      },
    };

    renderingEngine.enableElement(viewportInput);
    const viewport = renderingEngine.getViewport(viewportId) as VolumeViewport;

    const toolGroup = tools.ToolGroupManager.createToolGroup("3d-group")!;
    // addManipulationBindings(toolGroup, { is3DViewport: true });
    toolGroup.addTool(tools.WindowLevelTool.toolName);
    toolGroup.addTool(tools.ZoomTool.toolName);
    toolGroup.addTool(tools.StackScrollMouseWheelTool.toolName);
    toolGroup.addViewport(viewportId, renderingEngineId);
    setToolBindings(toolGroup);

    await volume.load();
    await setVolumesForViewports(
      renderingEngine,
      [{ volumeId }],
      [viewportId]
    ).then(() => {
      viewport.setProperties({
        orientation: Enums.OrientationAxis.AXIAL,
      });

      viewport.render();
    });
    renderingEngine.renderViewports([viewportId]);

    console.log("Volume set for viewport", viewport);
  };

  const renderStack = async (
    renderingEngine: RenderingEngine,
    imageIds: string[]
  ) => {
    element.current!.addEventListener(STACK_NEW_IMAGE, ((
      evt: Types.EventTypes.StackNewImageEvent
    ) => {
      const { imageIdIndex } = evt.detail;
      range.current!.value = imageIdIndex.toString();
    }) as EventListener);
    const viewportInput = {
      viewportId,
      element: element.current!,
      type: ViewportType.STACK,
    };

    renderingEngine.enableElement(viewportInput);
    const viewport = renderingEngine.getViewport(viewportId) as StackViewport;
    viewport.setStack(imageIds);

    const toolGroup = tools.ToolGroupManager.createToolGroup("2d-group")!;
    toolGroup.addTool(tools.WindowLevelTool.toolName);
    toolGroup.addTool(tools.ZoomTool.toolName);
    toolGroup.addTool(tools.StackScrollMouseWheelTool.toolName);
    toolGroup.addViewport(viewportId, renderingEngineId);

    setToolBindings(toolGroup);

    viewport.render();
  };

  const setToolBindings = (toolGroup: tools.Types.IToolGroup) => {
    toolGroup.setToolActive(tools.WindowLevelTool.toolName, {
      bindings: [{ mouseButton: tools.Enums.MouseBindings.Primary }],
    });
    toolGroup.setToolActive(tools.ZoomTool.toolName, {
      bindings: [{ mouseButton: tools.Enums.MouseBindings.Secondary }],
    });
    toolGroup.setToolActive(tools.StackScrollMouseWheelTool.toolName);
  };

  const handleRangeChange = (event: React.ChangeEvent<HTMLInputElement>) => {
    const value = Number(event.target.value);
    updateImageIndex(value);
  };

  //here is the function to update the image index
  const updateImageIndex = (newImageIdIndex: number) => {
    const renderingEngine = getRenderingEngine(renderingEngineId);
    if (renderingEngine) {
      const viewport = renderingEngine.getViewport(viewportId)!;
      if (viewport instanceof StackViewport) {
        //here works for stack
        const numImages = viewport.getImageIds().length;
        newImageIdIndex = Math.min(newImageIdIndex, numImages - 1);
        viewport.setImageIdIndex(newImageIdIndex);

        viewport.render();
      } else if (viewport instanceof VolumeViewport) {
        viewport.setViewReference({
          FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
          sliceIndex: newImageIdIndex,
          volumeId: volumeId,

          referencedImageId: viewport.getCurrentImageId(),
        });
        viewport.render();
        console.log("VolumeViewport", viewport.getCurrentImageId());
      }
    }
  };

  return (
    <>
      <input ref={range} type="range" onChange={handleRangeChange} />
      <div style={{ width: "900px", height: "400px" }} ref={element} />
    </>
  );
};

export default App;

@sedghi  Thank you very much, it worked. I needed to define the viewplane. If you could help me with one more thing, I would be eternally grateful. In my code, I am checking if it is a stack or volume by the number of image IDs, but I don't think this is correct. I wanted to know if there is a more correct way to verify if the image can or cannot be rendered as a volume, because some images I was testing do not render as volume but do render as stack. Could you help me with this? Thank you very much in advance!
if (imageIds.length > 10) {
      await renderVolume(renderingEngine, imageIds);
    } else {
      await renderStack(renderingEngine, imageIds);
  }

I think you're judging by the imagePosition


numeric picture clause with usge display failed

I've got a picture clause like this
03 VALUE01    PIC +9999999,99 USAGE DISPLAY.
When reading the file I got this error:
za.co.absa.cobrix.cobol.parser.exceptions.SyntaxErrorException: Syntax error in the copybook at line 23: Invalid input ',' at position 23:46
IS this a correct picture clause ? and if so, how can I read this data with cobrix?
Thanks

Yeah, that's a correct picture clause.  Somehow I didn't add the comma as a valid separator. PR #241 fixes this.
@yruslan, are there any other valid separators? If so, I can add those to the PR before merging.

I never saw decimal separators other than . and ..

The @tr11 's fix is available in 2.0.2. It may take some time to get to Maven Central.
Please let us know if it worked for you.

thank you very much.
I've tested it today, and its working.
just i minor issue with the 'usage display' clause. If the picture is to long, the USAGE  is concatenated at the end of the picture (cfr. 99999U instead of 99999 USAGE.)

Could you give a concrete example of a copybook with that behavior?

This is a working example (partial copy book):
03 PERC-SE-WN_01      PIC +9999999,99 USAGE DISPLAY.
This one failed example (partial copy book): :
03 FFG-BV-SECUREX                 PIC +9999999999999999,99 USAGE DISPLAY.
with error :
(ef.length:,1)line 7:65 no viable alternative at input '+9999999999999999,99U'
za.co.absa.cobrix.cobol.parser.exceptions.SyntaxErrorException: Syntax error in the copybook at line 7: Invalid input 'U' at position 7:71

The issue is not with the parser but with the copybook:

za.co.absa.cobrix.cobol.parser.exceptions.SyntaxErrorException: Syntax error in the copybook at line 7: Invalid input 'U' at position 7:71

The typical rules for COBOL copybooks apply to this library by default; any character on positions 1-6 and 72+ are considered comments. You may want to deactivate that by using
.option("truncate_comments", "false")

or by manually editing your copybook so no relevant definitions are on columns 72+.
What's happening in your case is that the SAGE DISPLAY portion is stripped as it's past column 72, so the copybook only sees the +9999999999999999,99 U part.

yes, indeed. That part I had forget. You're completely right. Sorry for the effort on this.
I will correct my copybook.
thanks.


[CLI] question related to animations and forms

Command
new
Description
When create new app, similar to route should ask if want animation module as well as forms module.
Describe the solution you'd like
Similar to suggested in #25219.

should ask for animations and forms module
if one of them is No, should not install as well as should not be in package.json

This also related to #50305, because if you install Angular using npx, will take some time.
With this change will improve installation and setup time.
And best way when you want to start with the most simple way, to just test simple things or create simple apps.
Of course if later on , the user change their mind, should exist a command to install and setup the this modules.
And this indications should be in the docs.
Describe alternatives you've considered
No response

Let's combine this with https://github.com/angular/angular-cli/issues/25219


changed for ActivityID fix for hotfix 7.2.2

Copy of https://github.com/Microsoft/mssql-jdbc/pull/1020, except it's going into hotfix7.2.2 branch.

Codecov Report

Merging #1028 into hotfix7.2.2 will increase coverage by 0.33%.
The diff coverage is 25.77%.

@@                Coverage Diff                @@
##             hotfix7.2.2    #1028      +/-   ##
=================================================
+ Coverage          50.62%   50.96%   +0.33%
- Complexity          2923     2978      +55
=================================================
  Files                120      120
  Lines              27987    27997      +10
  Branches            4678     4686       +8
=================================================
+ Hits               14169    14269     +100
- Misses             11527    11536       +9
+ Partials            2291     2192      -99

Flag
Coverage Δ
Complexity Δ

#JDBC42
50.5% <25.77%> (+0.31%)
2934 <16> (+50)
:arrow_up:

#JDBC43
50.86% <25.77%> (+0.29%)
2976 <16> (+59)
:arrow_up:

Impacted Files
Coverage Δ
Complexity Δ

...oft/sqlserver/jdbc/SQLServerPreparedStatement.java
53.41% <0%> (ø)
216 <0> (ø)
:arrow_down:

...m/microsoft/sqlserver/jdbc/SQLServerStatement.java
61.29% <0%> (+0.28%)
144 <0> (+6)
:arrow_up:

...soft/sqlserver/jdbc/SQLServerDatabaseMetaData.java
35.19% <0%> (ø)
66 <10> (ø)
:arrow_down:

.../com/microsoft/sqlserver/jdbc/SQLServerDriver.java
81.61% <0%> (ø)
32 <0> (ø)
:arrow_down:

...m/microsoft/sqlserver/jdbc/SQLServerException.java
73.52% <0%> (-3.92%)
32 <0> (ø)

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
43.79% <0%> (-0.08%)
321 <0> (+2)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
63.36% <100%> (+0.86%)
95 <0> (+4)
:arrow_up:

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
57.96% <50%> (+2.18%)
0 <0> (ø)
:arrow_down:

.../microsoft/sqlserver/jdbc/SQLServerConnection.java
47.18% <51.85%> (+0.67%)
365 <0> (+23)
:arrow_up:

...m/microsoft/sqlserver/jdbc/ActivityCorrelator.java
78.37% <90%> (-15.91%)
9 <6> (+2)

... and 14 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5d592c0...d8e32cb. Read the comment docs.


Set map zoom level inside callback

Hi
I'm wondering if there is a way to set the map canter and zoom level inside callbacks.
For now I'm able to set the zoom level while creating the map, but not when I'm update the marker data. The idea is to reset the zoom level when markers are added.
Thanks in advance.

I spend some time now with that issue. I'm am able to change the zoom level inside a callback by registering the Output to the zoom attribute of the map. This works as expected until the user zooms on the map. From this point on I'm not able to change the zoom level by code.
Maybe you guys have some ideas?

I think I was able to track down the problem.
The main problem is, that the actual zoom level (zoomed by the user) is not updated in the zoom map state. So in my example there is still the zoom level, which is set on init. So while I'm trying to reset the zoom level to the default level nothing happens, because there is no value change in the zoom property.
I now have a workaround by reading the zoom level state and checking for equality to the default zoom level. I then slightly change that level to generate a change event.
In my eyes this is a bug.
@emilhe What is your guess about that.
Thanks!

Hi nistran,
I haven't had time to look into the code, but i suspect that what you are experiencing might not be a bug. Could it be related to the "Manipulating the viewport" comments here?
https://react-leaflet.js.org/docs/en/components
If so, it might help to set the viewport property directly (rather then the zoom). I'll take a look at the code when i find some time.
\emher

Hi emilhe
Thanks for your answer.
The "Manipulating the viewport" comments describes exactly my experience. As I understand it is only possible to solve this with callbacks to trigger on zoom and viewpoint changes.
So for now I'm good with my workaround.

dear all,
the page that was suggested as workaround for this problem
https://react-leaflet.js.org/docs/en/components
does not exisat NY MORE,
Can ypu describe what you did to solve the issue of getting the zoom level after user changes ?
Thanks
Alessandro


v-link issue on 0.6.2

1.When v-link's value is truly null, for example v-link="true ? null : null"
It will cause:
Uncaught TypeError: Cannot read property 'replace' of null

source code that caused error:
update: function update(path) {
var router = this.vm.$route.router;
this.replace = typeof path === 'object' ? path.replace : false;

2.When v-link="null", it will redirect to /undefined

Thanks, this is already fixed in dev, will be out in next release.


Move from frontrow-app to freckle-app.

frontrow-app is now in Hackage.
The command diff lts/18/2.yaml lts/18/2/FR1.yaml yields:
9a10
>   - freckle-app-<IP_ADDRESS>@sha256:2525db3c67b3be3f9ff36a1511901b3f237018c96aeab743c1c9cc28dea30e44,5318
15,18d15
<   # https://app.asana.com/0/1160405925455011/1200183896199567/f
<   - git: https://github.com/freckle/frontrow-app
<     commit: 0a283e6f5fbbe21d9f63438432137f38cce65a5d
<

Sounds like a better idea. I will give that shot.


Labelling pure functions

Went through model functions and added "pure" labels to the ones that qualified.
For some, moved error output to inside "error stop" command in order to make the function pure.

Thanks!


Fixed the theme icon alignment on smaller screens

Resolved #67
Fixed the theme icon on the navbar menu for smaller screen, It aligned to the center now. Just added flex properties to it.
Other than that there was only one small change was done in index file, on line number 65-66 there was one unnecessary li tag and one div tag. I removed them (I made sure it wasn't used or connected anywhere else).
If you see any other big changes in this commit, it only because of "format document" option in vs code, you may choose to ignore it.

Great Work @Lok-ii  ! I appreciate your contribution !! Give a star to the Repo and Leave a Follow to my Profile 🫂

Great Work @Lok-ii ! I appreciate your contribution !! Give a star to the Repo and Leave a Follow to my Profile 🫂

Thank you so much for your kind words and appreciation! @c4coderandcreator.  Keep looking for issues !!


Pod will not be deleted if it has been paused

I am testing this feature and it seems to do exactly what it is supposed to do: pause containers that are no longer receiving requests.
However, still with Knative, when my service receives no more traffic, the pods are submitted for deletion by the scheduler. But in my case, the pods being paused, they remain in Terminating state indefinitely: the queue-proxy already takes several minutes between the "Shutdown complete, exiting..." log message and the actual shutdown of the container (about 15 minutes in most cases). Then, the user-container never stops (I tried with a custom image and with traefik/whoami).
I think it is impossible to delete a container/pod paused by containerd (and Docker too for that matter) but I would like to have your confirmation.
So how do you get the (paused) pod to actually be destroyed when Knative requests it? Moreover, since the pod is terminating, if the traffic goes back up, new pods will be created, so new pods will be terminating indefinitely, etc.
Here is the manifest for the service:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: hello
  namespace: default
spec:
  template:
    metadata:
      name: hello-world
    spec:
      containers:
        - image: traefik/whoami
          ports:
            - containerPort: 80

That was fixed in https://github.com/knative/serving/pull/12319, which should be part of the next Knative release (v1.1) scheduled for Dec 14. If you wanted to try it out before that, you'd need to install Serving from HEAD to get that functionality.

It's working! Thanks for this bug fix 😄


feat(13295) - Change empty Analytics panel state

https://kontur.fibery.io/Tasks/Task/Change-empty-Analytics-panel-state-13295

Codecov Report

Merging #385 (96a3f40) into main (2c64431) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #385      +/-   ##
==========================================
+ Coverage   11.71%   11.72%   +0.01%
==========================================
  Files         544      544
  Lines       38891    38855      -36
  Branches     1167     1167
==========================================
  Hits         4557     4557
+ Misses      33889    33853      -36
  Partials      445      445

Impacted Files
Coverage Δ

...nalyticsEmptyState/AdvancedAnalyticsEmptyState.tsx
0.00% <0.00%> (ø)

...onents/AnalyticsEmptyState/AnalyticsEmptyState.tsx
0.00% <0.00%> (ø)

src/views/Map/Map.tsx
0.00% <0.00%> (ø)

src/core/app/features.ts
0.00% <0.00%> (ø)

src/utils/hooks/useShortPanelState.tsx
0.00% <0.00%> (ø)

src/widgets/PrimaryAndSecondaryPanel/index.tsx

...anel/components/PrimaryAndSecondaryPanelWidget.tsx

...idget/components/FullAndShortStatesPanelWidget.tsx
0.00% <0.00%> (ø)

... and 1 more


hardhat -> forge

pls ;_;

hardhat -> forge

np
On Mon, Sep 12, 2022 at 3:05 PM c r @.***> wrote:

hardhat -> forge
—
Reply to this email directly, view it on GitHub
https://github.com/banyancomputer/Rust-Chainlink-EA-API/issues/31#issuecomment-1244172352,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASH4FPXFG2IMN5UVGIO5LLLV555GZANCNFSM6AAAAAAQKXMGTE
.
You are receiving this because you were assigned.Message ID:
@.***>


HomeKit bridge has a limit of 149 accessories

Especially if you have a lot of other Homebridge sensors as well, it's likely that you'll (eventually) run into the per-bridge accessory limit of 149, like if you have 5 APs and 30 devices that have ever been been on your network, since sensors are not removed when a device disconnects, unless it's for a show-as-owner device (smartphones by default) and the owner's name could not be derived from the (host)name -- these show as  Guest: <device name>.
Homebridge supports Child Bridges, which help because we can actually get to 149 sensors for just this plugin, but I haven't yet looked into whether one plugin can use multiple child bridges. I suppose you could install this plugin multiple times with a different child bridge each, with each taking care of a predictable subset of APs and/of devices, based on configured rules or automatic distribution over N instances if each instance knows its own ID in the range 1..N.
Another option is to not eagerly create sensors for every AP for each device that connects, but only as they actually join APs. This would make it harder to move all the sensors to their appropriate room in the Home app, as this would now have to be done again each time the device roams to an AP it hadn't connected to before, instead of all at once.

To help with this, I implemented the "other option" as a lazy setting in v1.2.0.


feat(FieldTheory/PurelyInseparable): some more results for purely inseparable extension

perfectClosure.perfect(Ring|Field): if E is a perfect field of characteristic p, then the (relative) perfect closure perfectClosure F E is perfect.
Is[PurelyIn]separable.[fin][In]sepDegree_eq: various degrees of a [purely in]separable extension
IntermediateField.sepDegree_adjoin_eq_of_isAlgebraic_of_isPurelyInseparable[']: if K / E / F is a field extension tower, such that E / F is purely inseparable, then for any subset S of K such that F(S) / F is algebraic, the E(S) / E and F(S) / F have the same separable degree.
minpoly.map_eq_of_separable_of_isPurelyInseparable: if K / E / F is a field extension tower, such that E / F is purely inseparable, then for any element x of K separable over F, it has the same minimal polynomials over F and over E.
Polynomial.Separable.map_irreducible_of_isPurelyInseparable: if E / F is a purely inseparable field extension, f is a separable irreducible polynomial over F, then it is also irreducible over E.

[x] depends on: #10895
[x] depends on: #10896
[x] depends on: #10897

Do you think it is worth to add some of the results to the doc at the beginning of the file?

Sure, let me check it later.

Thanks!
bors merge


[iOS] Map correctly the Keychain Attributes for Passwords

Hi, I am not an iOS developer, but I was reading the Keychain docs here and looking at the source code of the lib, and I think there's a bug in it.

For iOS apps I think only the kSecAttrService and kSecAttrAccount are used.
Currently the lib has a variable called accountName that maps to kSecAttrService. I would like to have the opinion of an iOS developer experienced with Keychain, but IMHO I think it's wrong, as there's an attribute just for account names. The lib should change it's variable mappings:

kSecAttrService should map to a new parameter named service, and accountName should be deprecated, and later removed.
kSecAttrAccount shoud map to account. This ensures compatibility is not broken between versions.

I am closing all older issues. If this issue still exists in the latest version, please let me know.

It still exists in the latest version, the issue should be reopened.
However nothing should be done for the second point, since key is mapped to kSecAttrAccount which is correct, and it is platform agnostic:

kSecAttrAccount shoud map to account. This ensures compatibility is not broken between versions


Unable to import module 'vmx_packager': No module named 'phonenumbers'

I know this vmx2 (delivery to sfcase) is going away in a months time, however scv native vm to sfcase is still flaky (and there isn't a blog/document from sfdc to achieve this. the latest release 10.1 confirmed 10.0 did have some issue with vm)
As for vmx2 delivery to sfcase I am getting the following errors in the vmx packager logs:
[ERROR] Runtime.ImportModuleError: Unable to import module 'vmx_packager': No module named 'phonenumbers'
Comparing a successful install I did few weeks back it the .py has a date of 2022.03.23, where as current .py has 2022.04.15

reinstall the stack 2 times, error is not there anymore.
then I encountered the nasty Winter23 release that toggles all the __c created under Case that I stumbled for days.


Support for higher dimensional (4D or 5D)  volumes?

I am interested in visualizing some higher dimensional volumes. For example, fMRI is 4D since it has 3 spatial dimensions and a time dimension. Is this possible currently with vedo?

Yes... it depends on the format of the data and the way you wish to visualize is.. (e.g. by a slider, side-by-side etc)
Take a look at the example gallery at http://vedo.embl.es

@marcomusy Would you be able to point to relevant examples? For me, I want to visualize a technically 4D grid either as a 3D grid changing in time or shifting with a slider. How do you change the Volume 3D grid values?

..well I would create a time serie of volumes like in this example:


PythonTask - a task to just execute python code w/out calling the LLM

[ x] I have read and agree to the contributing guidelines.

Is your feature request related to a problem? Please describe.
Each task currently requires an LLM to execute it. It would be very handy to be able to have a task that just executes Python code w/out needing to ping the LLM.
Describe the solution you'd like
Simple PythonTask that takes an input and returns the output.
Describe alternatives you've considered
We could use ToolTask but from what I understand that still requires an LLM call.

Closed by https://github.com/griptape-ai/griptape/pull/541


Document how to build NIO 2 before Swift 5 is public

Seems like the steps are

new toolchain (currently 12th Dec)
switch to legacy build system in Xcode (in project settings)

CC @tanner0101

Yay, @tkremenek to the rescue: https://forums.swift.org/t/how-to-set-swift-version-5-for-recent-dev-snapshots-in-xcode-build-settings/18692/20

Done a while ago in readme


Error Compile OS Engine

Describe your problem here.
OS Engine Error: source/Discord.hx:4: 8-30 characters: ... referenced here
source/Main.hx:20: characters 8-15: ... referenced here
I use lime test neko
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
I edited nothing

try lime test windows

Got many mistakes

C:/HaxeToolkit/haxe/lib/discord_rpc/git/discord_rpc/DiscordRpc.hx:213: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
source/Alphabet.hx:200: characters 20-28 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:75: characters 8-22 : Type not found : vlc.MP4Handler
export/release/windows/haxe/ApplicationMain.hx:151: characters 5-36 : ... Called from macro here
source/editors/ChartingState.hx:149: characters 13-21 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:103: characters 40-48 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:150: characters 20-28 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:240: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/Main.hx:85: characters 61-65 : Float should be Int
source/Main.hx:85: characters 61-65 : ... For optional function argument 'updateFramerate'
source/Main.hx:85: characters 61-65 : ... For function argument 'child'
export/release/windows/haxe/ApplicationMain.hx:151: characters 5-36 : ... Called from macro here
source/FreeplayState.hx:242: characters 27-35 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PauseSubState.hx:27: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:103: characters 68-76 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:1762: characters 13-23 : Type not found : MP4Handler
source/FunkinLua.hx:2054: characters 18-26 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/FunkinLua.hx:2088: characters 18-26 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PauseSubState.hx:65: characters 20-28 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/FreeplayState.hx:346: characters 19-27 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/FreeplayState.hx:348: characters 19-27 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:602: characters 22-30 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2597: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2599: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2602: characters 27-35 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:1967: characters 22-30 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:1967: characters 37-45 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2014: characters 19-27 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2014: characters 34-42 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2085: characters 21-29 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/PlayState.hx:2085: characters 36-44 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/ChartingState.hx:1452: characters 16-24 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/ChartingState.hx:2311: characters 14-22 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/ChartingState.hx:2312: characters 14-20 : Cannot access private field _sound
source/editors/ChartingState.hx:2312: characters 38-44 : Cannot access private field _sound
source/editors/ChartingState.hx:2313: characters 29-35 : Cannot access private field _sound
source/editors/ChartingState.hx:2316: characters 12-18 : Cannot access private field _sound
source/editors/ChartingState.hx:2328: characters 14-22 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/ChartingState.hx:2329: characters 14-20 : Cannot access private field _sound
source/editors/ChartingState.hx:2329: characters 38-44 : Cannot access private field _sound
source/editors/ChartingState.hx:2330: characters 29-35 : Cannot access private field _sound
source/editors/ChartingState.hx:2333: characters 12-18 : Cannot access private field _sound
source/editors/EditorPlayState.hx:39: characters 13-21 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/EditorPlayState.hx:110: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/editors/EditorPlayState.hx:112: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
C:/HaxeToolkit/haxe/lib/flixel-ui/2,5,0/flixel/addons/ui/FlxUICursor.hx:564: characters 9-11 : Warning : Potential typo detected (expected similar values are flixel.addons.ui.SortMethod.ID)
source/TitleState.hx:329: characters 58-61 : Float should be flixel.util.FlxAxes
source/TitleState.hx:329: characters 58-61 : ...
OS Engine Error: source/Discord.hx:4: 8-30 characters: ... referenced here source/Main.hx:20: characters 8-15: ... referenced here I use lime test neko
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
I edited nothing

bro, it's psych engine and yes use flixel 4.11.0

now there are more errors:
source/editors/ChartingState.hx:1652: characters 27-54 : String should be flash.media.Sound
source/editors/ChartingState.hx:1670: characters 27-56 : String should be flash.media.Sound
source/editors/ChartingState.hx:1133: characters 22-51 : String should be flash.media.Sound
source/editors/ChartingState.hx:1146: characters 24-51 : String should be flash.media.Sound
source/editors/EditorPlayState.hx:89: characters 41-74 : String should be flash.media.Sound
source/editors/EditorPlayState.hx:153: characters 24-55 : String should be flash.media.Sound
source/LoadingState.hx:140: characters 10-41 : String should be flash.media.Sound
source/LoadingState.hx:145: characters 10-43 : String should be flash.media.Sound
source/FreeplayState.hx:673: characters 43-76 : String should be flash.media.Sound
source/FreeplayState.hx:685: characters 26-57 : String should be flash.media.Sound
source/DialogueBox.hx:145: characters 16-22 : flixel.addons.text.FlxTypeText has no field sounds
source/DialogueBox.hx:250: characters 16-25 : flixel.addons.text.FlxTypeText has no field resetText
source/DialogueBox.hx:251: characters 16-21 : flixel.addons.text.FlxTypeText has no field start
source/DialogueBox.hx:252: characters 16-32 : flixel.addons.text.FlxTypeText has no field completeCallback
source/DialogueBox.hx:229: characters 18-22 : flixel.addons.text.FlxTypeText has no field skip
source/PlayState.hx:2085: characters 41-74 : String should be flash.media.Sound
source/PlayState.hx:2090: characters 51-82 : String should be flash.media.Sound
source/PlayState.hx:2047: characters 24-55 : String should be flash.media.Sound

source/editors/ChartingState.hx:1652: characters 27-54 : String should be flash.media.Sound
source/editors/ChartingState.hx:1670: characters 27-56 : String should be flash.media.Sound
source/editors/ChartingState.hx:1133: characters 22-51 : String should be flash.media.Sound
source/editors/ChartingState.hx:1146: characters 24-51 : String should be flash.media.Sound
source/editors/EditorPlayState.hx:89: characters 41-74 : String should be flash.media.Sound
source/editors/EditorPlayState.hx:153: characters 24-55 : String should be flash.media.Sound
source/LoadingState.hx:140: characters 10-41 : String should be flash.media.Sound
source/LoadingState.hx:145: characters 10-43 : String should be flash.media.Sound
source/FreeplayState.hx:673: characters 43-76 : String should be flash.media.Sound
source/FreeplayState.hx:685: characters 26-57 : String should be flash.media.Sound
source/PlayState.hx:2085: characters 41-74 : String should be flash.media.Sound
source/PlayState.hx:2090: characters 51-82 : String should be flash.media.Sound
source/PlayState.hx:2047: characters 24-55 : String should be flash.media.Sound
source/OstPlayerState.hx:418: characters 44-77 : String should be flash.media.Sound
source/OstPlayerState.hx:430: characters 27-58 : String should be flash.media.Sound

C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/FlxBasic.hx:201: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/graphics/frames/FlxFrame.hx:680: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/graphics/frames/FlxFrame.hx:688: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/tweens/FlxTween.hx:24: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/input/FlxInput.hx:84: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/tile/FlxBaseTilemap.hx:1382: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/util/FlxDirectionFlags.hx:8: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/util/FlxDirection.hx:7: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/input/keyboard/FlxKey.hx:8: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/input/gamepad/FlxGamepadInputID.hx:12: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/input/mouse/FlxMouseButton.hx:85: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel/4,11,0/flixel/text/FlxText.hx:1153: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/discord_rpc/git/discord_rpc/DiscordRpc.hx:213: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel-addons/2,11,0/flixel/addons/transition/FlxTransitionSprite.hx:135: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel-addons/2,11,0/flixel/addons/transition/TransitionData.hx:11: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/flixel-ui/1,0,2/flixel/addons/ui/FlxUI.hx:2427: characters 8-16 : Expected expression

new error help me!^
I

one minute

https://github.com/ShadowMario/FNF-PsychEngine/wiki/Libraries-versions


add Temurin 19 linux installers

Draft until Linux s390x binaries are available

@gdams RH and Suse failing?

@gdams RH and Suse failing?

dont think OpenJDK19U-jdk_s390x_linux_hotspot_19_36.tar.gz is ready to be download ?


Grammatical Corrections in ora.md and supra.md Documentation

File: ora.md
Change: "help you to build" to "help you build"
Reason: For improved readability and conciseness.

File: ora.md
Change: "contracts interacted" to "contracts that interacted"
Reason: For grammatical accuracy.

File:
Change: "ICDCS 2023, oldest" to "ICDCS 2023, the oldest"
Reason: Added the article "the" for grammatical correctness.

Thanks @donatik27. We recently merged #840, which caught the proposed change to supra already. Thanks for the others. I resolved the conflicts that arose because of #840.


Add an option to Editor to specify path to custom executable of Dart source formatter.

This issue was originally filed by @mezoni

Code formatting tool that supplied with a Dart SDK is more like a mockery on the programmers whom use Dart Editor.
I want to write your Dart code formatter and I want use it in Dart Editor.
And I want to have a feature in Dart Editor that allows me to specify my own source code formatter (only path to it) that will be run by the command "Format".

This issue has been moved to dart-lang/dart_style#276.


How to add a footer

How to add a footer to each page in the case of automatic paging

@cjh-store Did you find anything?

We can add a footer with a little bit of bottom margin (using html-to-pdf-options) and beforeDownload method
An example of the automatic paging is given here using beforeDownload method
Another example of a footer at bottom of the page is here as follows:
Use bottom margin by html-to-pdf-options prop like this

and insert page number with the company name (for example) like this inside the beforeDownload method (this is an extended version of the example referred to above

Here is what is looks like

Hope it helps

How can we add a Vue component for footer and header?


allow for node version 6 and up to be used with Typemoq

Two changes:

yarn complains with node 7.2.0 that node version is incompatible:

error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^6.0.45".
error Found incompatible module

the engine 6.0.45 doesnt exist. I found 6.0.0 to be the closest and modified

For the last, Typemoq is probably also working with previous versions (we ran tests in a project on node 4.3.3/npm 2.10)
Altough that was the previous version, I dont think there should be any other breaking changes that require npm/node

@florinn Could you please advise: remove engine from package.json, or update as suggested above??

Thanks. Indeed typemoq should work fine with nodejs versions older than 6.0.0, the engine version is required only to be able to run the ES6 tests.


log-backup: misc enhance

What is changed and how it works?

Issue Number: Close #(TBD)
What's Changed:

remove temp files when stop.
rollback checkpoint to global checkpoint when leader change, for avoiding this scene:

remove temp files when stop && rollback local checkpoint to global checkpoint when leader change

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Integration test

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
None

/sig migrate
/component backup-restore
/cc kennytm 3pointer

/hold for the random checkpoint regression.


New rls. broken

After upgrading to the new version I get errors - lot's of them. Can't use Comet at all now. As new versions aren't released I don't think I can ever reverse to the previous version. Otherwise please tell me how.
2024-08-15 20:43:57 | ❌ ERROR | main.dispatch - Exception during request processing: argument of type 'NoneType' is not iterable
Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/anyio/streams/memory.py", line 105, in receive
    return self.receive_nowait()
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/anyio/streams/memory.py", line 100, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/anyio/streams/memory.py", line 118, in receive
    return receiver.item
AttributeError: 'MemoryObjectItemReceiver' object has no attribute 'item'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 159, in call_next
    message = await recv_stream.receive()
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/anyio/streams/memory.py", line 120, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/comet/main.py", line 27, in dispatch
    response = await call_next(request)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
    raise app_exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
    response = await func(request)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "/app/comet/api/stream.py", line 251, in stream
    filtered_torrents = await asyncio.gather(*tasks)
  File "/app/comet/utils/general.py", line 428, in filter
    if "\n" in title:  # Torrentio title parsing
TypeError: argument of type 'NoneType' is not iterable
2024-08-15 20:43:57 | 👾 API | main.dispatch - GET /eyJpbmRleGVycyI6WyJiaXRzZWFyY2giXSwibWF4UmVzdWx0cyI6MCwibWF4U2l6ZSI6MCwicmVzb2x1dGlvbnMiOlsiNzIwcCIsIjEwODBwIiwiMTQ0MHAiLCIyMTYwcCIsIjRLIl0sImxhbmd1YWdlcyI6WyJBbGwiXSwiZGVicmlkU2VydmljZSI6InJlYWxkZWJyaWQiLCJkZWJyaWRBcGlLZXkiOiJLVlFOQ1UyTEQ3UTVKSVZITlFRWFNHU0xIWDRKSkpDQVNBQTIyWkdBSUpRQ1lJM0FBTTJRIiwiZGVicmlkU3RyZWFtUHJveHlQYXNzd29yZCI6Ik1pVGExMjA1MDYifQ==/stream/movie/tt13433802.json - 500 - 5.73s
Exception in ASGI application
  + Exception Group Traceback (most recent call last):
  |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_utils.py", line 87, in collapse_excgroups
  |     yield
  |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__
  |     async with anyio.create_task_group() as task_group:
  |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 680, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
    |     result = await app(  # type: ignore[func-returns-value]
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    |     return await self.app(scope, receive, send)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    |     await super().__call__(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
    |     raise exc
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
    |     await self.app(scope, receive, _send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__
    |     await self.simple_response(scope, receive, send, request_headers=headers)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/cors.py", line 148, in simple_response
    |     await self.app(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
    |     with collapse_excgroups():
    |   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
    |     self.gen.throw(typ, value, traceback)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
    |     raise exc
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/app/comet/main.py", line 27, in dispatch
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
    |     raise app_exc
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    |     raise exc
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
    |     await route.handle(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
    |     await self.app(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
    |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    |     raise exc
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
    |     response = await func(request)
    |                ^^^^^^^^^^^^^^^^^^^
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    |     raw_response = await run_endpoint_function(
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    |     return await dependant.call(**values)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/app/comet/api/stream.py", line 251, in stream
    |     filtered_torrents = await asyncio.gather(*tasks)
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/app/comet/utils/general.py", line 428, in filter
    |     if "\n" in title:  # Torrentio title parsing
    |        ^^^^^^^^^^^^^
    | TypeError: argument of type 'NoneType' is not iterable
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in __call__
    await self.simple_response(scope, receive, send, request_headers=headers)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/cors.py", line 148, in simple_response
    await self.app(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
    with collapse_excgroups():
  File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/comet/main.py", line 27, in dispatch
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
    raise app_exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
    response = await func(request)
               ^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/comet-9TtSrW0h-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/comet/api/stream.py", line 251, in stream
    filtered_torrents = await asyncio.gather(*tasks)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/comet/utils/general.py", line 428, in filter
    if "\n" in title:  # Torrentio title parsing
       ^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

Sorry, I just downgraded Zilean and it seems the problem is only there when running the new Postgres versions of Zilean. The old Elasticsearch versions work perfectly with Comet.


Reduce mongoid_collection_names complexity

I was browsing Code Climate for some OSS repos to contribute to, and saw that database_cleaner was already on Code Climate with an excellent GPA! Not much to change here but I figured I'd help clarify a method that Code Climate flagged as complex. I also added our badge to your README. Cheers!

@mrb Cool, thanks!


A few tweeks to the SSO docs for Google Workspace (SAML)

We recently re-discovered that Buildkite is listed in the preconfigured app catalog in Google Workspace, so I've updated the docs to recommend that path.
It doesn't simplify the process like I hoped it would, but one day we hope to convince google to enable SCIM on our app so it'll be good to encourage folks to use it.
While testing the revised process out, I also discovered that it can sometimes take many hours for changes to the SAML app to take effect, and while you wait the errors are confusing. I've added a notice to warn future travellers.
Finally, I added a short note at the top that describes how users can login to Buildkite once the process is complete. It's kind of neat - a Buildkite icon appears in the same menu as gmail/calendar/youtube/etc.

Thanks a million for the added info, @yob! This should be super useful.
The PR is still marked as "draft" - is this still a work in progress or would you like me to tweak a couple of things to pacify the linter & merge?

Thanks @karensawrey!
I'm in your hands. I'm confident the changes here are technically accurate, and I'm happy with whatever process you think is best to land this in prod.
I can make any changes you'd like me too, or you can run with it and merge when you're ready ❤

Thanks all :heart:


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

chore(package): add ^3.8.1 remove ^3.8.0 (devDependencies.ava)

:tada: This PR is included in version 8.3.26 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


prisma .Disconnect() does not work properly

When an OS signal is sent, the query engine is immediately killed, so ongoing queries can't finish. The query engine should only be killed once .Disconnect() is called.

@matthewmueller Do you mean this https://github.com/prisma/prisma/issues/2917?

Some observations:

Right now all signals are forwarded to the query engine, as it is the default behaviour when spawning a child process. This means when a docker container is stopped or a user presses CTRL+C in the console, SIGINT is sent to the parent process (in this case Go), but also to the QE at the same time, as the signal is forwarded.
When a user intercepts the signal in the parent process, they may clean up things, but if database queries are still running, they are killed, as the query engine does not seem to check if queries are still running.
This is why the current implementation is broken, and when a user wants to gracefully exit their app including database queries, they can't.
I suggest to stop forwarding signals via Setpgid, so that signals sent to the parent process will NOT be forwarded to the query engine.
This means the user would need to listen for signals, then call Disconnect() manually after they make sure no queries are running anymore (e.g. by gracefully closing their http server, so that when all http requests are closed, it's almost certain that no queries are running anymore), then call prisma.Disconnect() to notify the query engine (which actually sends a SIGINT to the child process internally), and only then exit the process. It seems this is the only way to have a fully working graceful exit of a process with prisma.
A disadvantage of this approach is that when a user forgets to call prisma.Disconnect(), the query engine will continue to run in the background until manually killed or a machine restart.
Regardless, it seems that if a process is killed forcefully (SIGKILL), the query engine will not be killed either way.

Alternatives:

Add a config option whether to forward signals or not, something like "AutoDisconnect: bool"
The query engine could implement its own mechanism of existing once the parent process exits:

One option is PR_SET_PDEATHSIG, but I don't understand how that works or if that would solve the issue
Monitor actively running queries (or rather connected http clients when using the internal http engine) and if none are running/connected, exit. For non-http protocols like NAPI only watching queries would work.
One caveat: When the user wants to finish a process (like processing a MQ item which may do multiple queries), this my not work with NAPI, because the parent process runs longer and the child would need to wait for the parent to finish first, as watching queries would not be sufficient.

Proposed changes: #555

TLDR: This works as intended. The behaviour just seems to differ in terminals, because they send signals to both parent and child processes, whereas if you want to gracefully exit a process, a signal is just sent to the parent, which then can gracefully shutdown whatever it does and then call prisma.Disconnect() to gracefully shut down the query engine.

From the notes above, the best solution actually seems to be using setpgid: true. The user simply has to call .Disconnect(). Optionally I should potentially add an option to toggle of this behaviour, it might create problems with auto restart dev apps.

https://github.com/steebchen/prisma-client-go/blob/c207dc03a144cd310cdffd9cd50b8598a4a211b4/engine/lifecycle_unix.go#L9


Proxy video for IP-restricted sites

There are some streaming sites that are restricted by IP address. For example, I use streamtape.com to share videos with others. However, when I use the video URL extracted from the webpage in SyncTube, it will play fine on my end but will not for people with different external IP addresses.
I know that SyncTube has a proxy function. I have tested adding a URL with synctube.example.com:4200/proxy?url=[video_url] and this works for remote viewers. Would it be possible to have the browser fall back to using the proxy if the video fails to play? Or at least add an option when adding the video to playlist to use the proxy instead of directly connecting?
For Streamtape specifically, the connection in the browser returns HTTP error 403 for users with a different external IP address. Also, Streamtape was the only example I could find of this. Most other streaming sites use browser cookies instead of restricting IP address, but this would be much more difficult to implement. I can get by with Streamtape and SyncTube if I can get it working with the proxy function.

Not sure if there is other sites with ip restriction and this fallback should exist. Dont really know how bad would be for server to proxy big video file at least for ten users, because that function mostly for subs and other files, need some investigation. Also, should be easy to write plugin, that will listen to video.onerror and replace video.src to proxy version on that event, maybe that's a good way here.

Thanks for the reply.
I have taken your suggestion and written a plugin that works for me. I will share the repo tomorrow in case anyone else is interested.

As promised, here is the repo if anyone else stumbles across this looking for a solution. Going forward with the closure of this issue.


How do I get the top bar?

What program is the top bar?

The top bar is qtile's internal bar. Checkout .config/qtile/config.py. The bubble effect for the widgets is created by using eww windows that overlay on top of the bar. Check out autostart.sh in  the qtile directory as well as .config/eww/eww.xml.


Fix or remove flaky GC test

Issue summary
The db::gc::test::dont_gc_reachable_data test times out from time to time. It should either be fixed or removed.
Other information and links

#4403 failed: https://github.com/ChainSafe/forest/actions/runs/9449121784/job/26024651128#step:6:1

Is this still a problem?

Is this still a problem?

Yes, it is.
        PASS [   0.642s] forest-filecoin utils::db::car_stream::tests::stream_mainnet_genesis
        PASS [   0.786s] forest-filecoin utils::db::car_stream::tests::stream_calibnet_genesis
        PASS [   6.030s] forest-filecoin networks::drand::tests::test_drand_mainnet
 TERMINATING [> 30.000s] forest-filecoin db::gc::test::dont_gc_reachable_data
     TIMEOUT [  30.009s] forest-filecoin db::gc::test::dont_gc_reachable_data

--- STDOUT:              forest-filecoin db::gc::test::dont_gc_reachable_data ---

running 1 test

   Canceling due to test failure: 7 tests still running
 TERMINATING [> 30.000s] forest-filecoin db::gc::test::no_young_data_cleanups
     TIMEOUT [  30.009s] forest-filecoin db::gc::test::no_young_data_cleanups

--- STDOUT:              forest-filecoin db::gc::test::no_young_data_cleanups ---

running 1 test

 TERMINATING [> 30.000s] forest-filecoin db::gc::test::unreachable_old_data_collected
     TIMEOUT [  30.010s] forest-filecoin db::gc::test::unreachable_old_data_collected

--- STDOUT:              forest-filecoin db::gc::test::unreachable_old_data_collected ---

running 1 test

        PASS [   1.065s] forest-filecoin utils::db::car_util::tests::dedup_block_stream_tests_a_a
        PASS [   6.643s] forest-filecoin networks::drand::tests::test_drand_quicknet
        PASS [   2.528s] forest-filecoin utils::db::car_util::tests::blocks_roundtrip
        PASS [   2.039s] forest-filecoin utils::db::car_util::tests::car_writer_roundtrip
        PASS [   2.630s] forest-filecoin utils::db::car_util::tests::dedup_block_stream_tests_a_b
        PASS [   3.598s] forest-filecoin utils::db::car_util::tests::car_dedup_block_stream_tests
------------
     Summary [  35.599s] 387/447 tests run: 384 passed (4 slow, 1 leaky), 3 timed out, 5 skipped
     TIMEOUT [  30.009s] forest-filecoin db::gc::test::dont_gc_reachable_data
     TIMEOUT [  30.009s] forest-filecoin db::gc::test::no_young_data_cleanups
     TIMEOUT [  30.010s] forest-filecoin db::gc::test::unreachable_old_data_collected
error: test run failed
make: *** [Makefile:106: test] Error 100
Error: Process completed with exit code 2.

https://github.com/ChainSafe/forest/actions/runs/10199963174/job/28218330087?pr=4607

And again! https://github.com/ChainSafe/forest/actions/runs/10316587495/job/28559125156?pr=4632


can i manual set metric's timestamp like influxdb？

i want collect metrics by using application log time not now。can do it？

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Case of incorrect rendering of lottie graphics

mJgCB-JGDYU.json - 18 frame
thorvg (invalid)

rlottie (valid)

fixed:

thanks for reporting the issue, the fix will be applied in the next release (0.12.4)


Forge create sometimes ignores the --value parameter

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (9010e8b 2022-06-21T00:09:06.371658411Z)
What command(s) is the bug in?
forge create
Operating System
Linux
Describe the bug
I have an extremely boiled down contract:
// nonZero.sol
pragma solidity ^0.8.13;

contract NonZero {
    constructor() payable {
        require(msg.value != 0, "VALUE ZERO");
    }
}

I'm trying to deploy it using a command:
forge create --private-key "$KEY" --value 1 'nonZero.sol:NonZero'

I'm getting an error:
execution reverted: VALUE ZERO

This means that the --value parameter must be ignored.
But sometimes it work
This is weird because in a different script I've been able to run an almost identical command with a similar smart contract and it worked perfectly with $CON getting 1 wei:
// 7.force.sol
pragma solidity ^0.8.13;

contract Force {
    constructor(address payable forced) payable {
        selfdestruct(forced);
    }
}

forge create --private-key $KEY --value 1 '7.force.sol:Force' --constructor-args $CON

The full error
[⠊] Compiling...
[⠢] Compiling 1 files with 0.8.15
[⠆] Solc 0.8.15 finished in 7.56ms
Compiler run successful
Error:
   0: ProviderError(JsonRpcError(JsonRpcError { code: 3, message: "execution reverted: VALUE ZERO", data: Some(String("0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a56414c5545205a45524f00000000000000000000000000000000000000000000")) }))

Location:
   cli/src/cmd/forge/create.rs:234

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

I would assume it works in the second example because you don't check msg.value?

I've tried it again and you're right, the "working" example doesn't really work, selfdestruct always sends 0 wei to forced. I could swear that I've beaten an Ethernaut level using it :thinking:


Extract from library evrything related to the demo-app

Inside ScannerCompatActivity, some methods are related to the demo-app (or too restrictive).
Extract them to the MainActivity inside the demoscannerapp modulke.

Resolved by #207


Wrong Catalan locale when printing OS.get_locale() on macOS.

Godot version:
3.1.1.stable.official
OS/device including version:
MacBook Pro (Retina, 15-inch, Mid 2015)
macOS Mojave 10.14.6 (18G103)
Issue description:
I have my OS locale set to Català (you have it under Catalan) but when I print OS.get_locale() I get en_ES, which I don't think it even exists. It should return ca_ES (Catalan (Spain)) in my case.
Note:
I have Godot's locale set to en.
Steps to reproduce:
Set the OS locale to Català (ca_ES) and print OS.get_locale().
Minimal reproduction project:
Nothing to add here.

Does it work properly in 3.1.2 RC 1 or 3.2 beta 2?

Duplicate of #31673.
I have done some more testing, and I was able to reproduce it.
Running .app bundle always returns en_XX, running app from the console returns locale correctly.

Closing as duplicate then.


update config page

update config page to use new components and follow best practices

it is not working for me on grafana 9.5.13 for some reason, just opening the config page causes an An unexpected error happened message shown instead of the config page.


Updated At in Deployment Upsert

fix(backend): add updated_at into query for upsert

:tada: This PR is included in version 1.0.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


100% unit tests, text edited

Fixed unit tests, added few forgotten explanations in index.phtml

@Stanimirdim92 merged, thanks. I've removed phpunit.phar in LearnZF2AjaxImageGallery/test/PHPUnit directory during merge. We use vendor/bin/phpunit instead ;)

Oh, yeah forgot to remove it. Thanks!


What version of the crate to use after the upgrade to Stardust?

Issue description
I tried to use version 1.1.0, but it doesn't work with the public node: https://api.stardust-mainnet.iotaledger.net/api/core/v2/.
The only one that seems to work is the "develop" branch, which was initially for Shimmer.
Is this the right version?
If yes, is it not expected to be "production"?
Version
1.1.0
Expected behaviour
To be compatible
Actual behaviour
thread 'main' panicked at 'Got an unexpected error'
Can the issue reliably be reproduced?
Yes
Steps to reproduce the issue
No response
Errors
No response
Duplicate declaration

[X] I have searched the issues tracker this issue and there is none

thread 'main' panicked at 'Got an unexpected error'
Any code to reproduce this? Shimmer and IOTA now run with the stardust protocol, so the library can be used for both
1.1 should work fine and develop as well, we just didn't update all the branches yet

You're importing iota_client, not iota_sdk
Use
[dependencies]
iota-sdk = "1.1.0"

and for the node url provide just https://api.stardust-mainnet.iotaledger.net, not with the /api/core/v2/

Thank you @Thoralf-M !


Update analyzer dep to 0.27.4-alpha.8.

Allows us to:

use new EmbedderSdk (a step towards using SDK summaries)
enjoy analyzer perf improvements (https://codereview.chromium.org/2011183004/)

lgtm!

Holding off on merging pending resolution of this API breakage issue: https://github.com/dart-lang/sdk/issues/26562.

Closing in favor of a rework w/ a new alpha with restored embedder API (https://github.com/dart-lang/sdk/issues/26562).