Why is the reconstruction PSNR of dynamic scenes so much higher than that of static scenes?

Thank you for your work, I am so impressed with your multi-view reconstruction result!
I wonder why, with the same 5 cameras, the dynamic scene's PSNR of Table 1 is so much higher than the static scene of Table 2. Static scenes should be an easier case but show poor PSNR. Are there any differences in settings between the experiments on the two tables?
I also conducted related experiments on Waymo, but when going from 3 cameras to 5 cameras, the reconstruction deteriorated significantly. Could you tell me which model design allows you to maintain the best results with 5 cameras?

Thank you for your work, I am so impressed with your multi-view reconstruction result!
I wonder why, with the same 5 cameras, the dynamic scene's PSNR of Table 1 is so much higher than the static scene of Table 2. Static scenes should be an easier case but show poor PSNR. Are there any differences in settings between the experiments on the two tables?
I also conducted related experiments on Waymo, but when going from 3 cameras to 5 cameras, the reconstruction deteriorated significantly. Could you tell me which model design allows you to maintain the best results with 5 cameras?

Hi, have you tried to implement PVG by yourself? I'm also trying to implement it by myself, but the result is so poor and I'm not sure what caused this. Could you tell me how you implemented it? Thanks.

No, I applied vanilla 3DGS on the Waymo data. Since I just selected static scenes, those dynamic-object designs are not necessary.

No, I applied vanilla 3DGS on the Waymo data. Since I just selected static scenes, those dynamic-object designs are not necessary. @sonnefred

Ok, thanks.

@yifanlu0227 We are very sorry for the late reply. In the initial implementation, we normalized the camera poses. This leads to the selection threshold of clone and split being too large in the long drive scenario, resulting in a somewhat reduced reconstruction ability. Dynamic scenes we selected contains 50 frames while static scenes contains 100-200 frames with longer trajectory of the ego car. We fixed the shrinkage ratio of camera translation to solve this problem (the parameter --fix_radius). We will update our paper in arxiv, and the results of the dynamic and static scenes are similar.

Great! @519401113


Two way binding in Angular?

Is it possible to enable two-way binding between the data in handsontable view and the application?

Hi @jackxxu,
you can use observeChanges option.
Here's an example: https://stackblitz.com/edit/handsontable-angular-observechanges


Handle using the sync client in an async context for local tokenizers

Addressing this: https://github.com/langchain-ai/langchain-cohere/issues/19

We discussed and you'd like to try an alternative approach. Let me know when you'd like a review!

Looking good, thanks!
Would you be able to add integration tests?

@harry-cohere I added a test but it doesn't make a lot of sense, now that we have split the functions (just like the rest of the SDK).
The test would need to be something like:

async test (in terms of the test context itself)
initialize sync client
run all the sync client calls (defined in the test_client.py in the test's async context)

Looking good, thanks!
Would you be able to add integration tests?

@harry-cohere I added a test but it doesn't make a lot of sense, now that we have split the functions (just like the rest of the SDK). The test would need to be something like:

async test (in terms of the test context itself)
initialize sync client
run all the sync client calls (defined in the test_client.py in the test's async context)

Perhaps just integration tests around the functionality, as it's intended to be used? Up to you though.


Can't use mount with Chimp

Trying to run the full dom rendering example gives me:
Uncaught Error: It looks like you called mount() without a global document being loaded..
I run tests with Chimp, which runs the test in Chrome. So the document should be loaded, right?
import React from 'react';
import { mount } from 'enzyme';
import sinon from 'sinon';

const Foo = (props) => (
  <button onClick={props.onButtonClick}>Foo</button>
)

const MyComponent = (props) => (
  <div>
    <Foo className="icon-star" />
    <Foo />
    <Foo />
    {props.children}
  </div>
)

describe.only('<Foo />', () => {

  it('allows us to set props', () => {
    const wrapper = mount(<Foo bar="baz" />);
    expect(wrapper.props().bar).to.equal("bad");
    wrapper.setProps({ bar: "foo" });
    expect(wrapper.props().bar).to.equal("foo");
  });

  it('simulates click events', () => {
    const onButtonClick = sinon.spy();
    const wrapper = mount(
      <Foo onButtonClick={onButtonClick} />
    );
    wrapper.find('button').simulate('click');
    expect(onButtonClick.calledOnce).to.equal(true);
  });

  it('calls componentDidMount', () => {
    sinon.spy(Foo.prototype, 'componentDidMount');
    const wrapper = mount(<Foo />);
    expect(Foo.prototype.componentDidMount.calledOnce).to.be.true;
    Foo.prototype.componentDidMount.restore();
  });

});

Thanks for the issue @Moezalez! If you console.log out global.window and global.document what do you get? Also, can you log out window and document as well?

@Moezalez You should be using browserify to run things in a browser environment, which converts global to window for you.

@Aweary
global.window: undefined
global.document: undefined
window: ReferenceError
document: ReferenceError
So this might actually be an (config) issue with chimp.

Interesting, I'm not at all familiar with chimp so I can't comment on what might be going on there, but it does seem like enzyme is working as expected so far.
@ljharb on the topic, should we have some documentation on using enzyme in a browser environment? I don't think we explicitly say anywhere that we have a hard dependency on the global object in node? Might be worth documenting or reconsidering if people are using alternatives other than browserify for browser testing.

It's an npm package - the default is that all of them require browserify (or webpack, etc - ie, a module system) to be used in a browser.
We can certainly document it in the readme, but this shouldn't be surprising to anybody.

Hello, I'll chime in on this as the author of Chimp :)
Chimp is an acceptance/integration/e2e testing framework. It runs in a node context (so no browsers) and gives you a client object which you can use to control a Selenium browser with (using webdriver.io)
Enzyme is not really applicable in this context hence the issues you're facing above.
There may be an opportunity for integration around creating PageObjects from React components using Enzyme, but that's another issue for another day :)
If you need any Chimp help or want to brainstorm some integration ideas, please feel free to join our xolv.io/community slack channel.

Thanks @samhatoum for chiming it, much appreciated. I'm going to close this issue @Moezalez as there's nothing actionable here for enzyme, but if anything changes that indiciates an enzyme problem let us know 👍


need to update line version which supported chef 12

Hi team,
we are using NFS cookbook as a dependency in our cookbook , it downloading during runtime but we are supporting chef 12 but NFS depends Line latest version which support Chef 13
how I can change the line version or
could you please update acoordingly

Line 2.0.1 was just released to supermarket.chef.io has been tested with chef 12.13.37. It passes the integration tests.  I plan to use it on servers running chef-client 12.  Line 2.0.1 doesn't have chef spec matchers. Those were removed as  unneeded in chef 13 with current versions of chef spec.

I need more information on how the version constraints are affecting you @yogeshrathore15?
Can you propose a version constraint for line that will work for you, so that I can review it for compatibility?

IMHO a simple change to >= 1.0.6 would be sufficient. Let the end user lock down the version if they desire. You have effectively locked the community to the 1.0.x versions of line. 2.x of line has been out there for two months now. Thanks in advance!
Bump

Fixed in v2.6.0


Resolve compile errors for Linux Kernel 6.6

I am getting compile errors for Linux Kernel 6.6. See #433 and NixOS/nixpkgs Issue 265868. This PR applies fixes that I think are correct based on the changes made to Linux Kernel 6.6.
Specifically, the changes made in this patch are

drm_gem_prime_fd_to_handle and drm_gem_prime_handle_to_fd are no longer exported as these are the defaults (if I understand correctly), so .prime_fd_to_handle and .prime_handle_to_fd no longer need to be set.
FBINFO_DEFAULT is no longer defined as it was defined as 0 and this is the default value (assuming the info struct is zero initialised)

I have done limited testing on my system and it seems to work and the CI build against Linux Kernel 6.6 passes.
Mirrors PR436

@Varun-garg will you merge this?

Upstream has already merged this.

Merged. I am sorry for delayed response. I replaced one of my monitors and displaylink dock with this monitor: https://www.amazon.in/LG-2560x1440-Pixels-IPS-sRGB-Display/dp/B0BRQV14YD
It has eliminated need of displaylink which was a huge PITA. Also its one power brick and dock less, saving some cabling space.
I would something like this to anyone facing difficulty.
Setup:

Daisy chain this monitor with other monitor(s).
Connect this monitor to PC with display port.
Connect this monitor to laptops with usb c alt mode.
Add peripherials like keyboard, webcam directly to this monitor.

Switching:

From laptop to PC: disconnect usb-c cable from laptop and connect it to PC (for peripherials). Monitor will automatically switch to display port or will give a prompt if we want to switch (just press one button - OK)
From PC to laptop: disconnect uisb-c cable from PC and connect it to laptop (for peripherials and display). Monitor will again give a prompt that usb-c display detected and if we want to switch (same just press one button - OK).

Note that this specific monitor does not support HDR and freesync while in daisy chain mode (although I could hardly see any difference). For those features we have to turn daisy chain off / use one monitor only. It could be issue from some. Although from what I read displaylink too struggles with these.
Overall switching experience is pretty seamless.
I will mark the package as deprecated too, and if someone wants to adopt it they are welcome.


preprocessor: support caching of multi-step scripts

We support caching of runnable nodes, we should do the same for multi-step scripts.
This should include the step of formatting any upload directives.

This has been supported for some time: https://github.com/cue-lang/cuelang.org/blob/bcf703c3b2d4cfbbab3d0b5cb779534793d4c223/content/docs/tutorial/loading-cue-go-api/gen_cache.cue#L13


Short doc about (acceptance) testing?

I writing tests for the new Nextcloud storage driver. Is there any short doc about the different kind of tests that exist for reva and how they interrelate?
I understand that Reva's acceptance tests are a fork of the ownCloud10 core API tests?
What are the litmus tests? Why are there old and new litmus tests?
make test-acceptance-api fails with "/bin/bash: /tests/acceptance/run.sh: No such file or directory" on my computer.

Ah,
export PATH_TO_CORE=../../owncloud/core/
make test-acceptance-api

works better.
Is there a way to run these tests for only my own storage driver?

As you already discovered, you need a local clone of owncloud/core. The test runner (run.sh script and the PHP Behat Gherkin framework and the code for the test steps) comes from there. The feature files are mostly the ones from owncloud/core - the aim is to get the reva implementation to pass the end-to-end API tests that should also pass for owncloud/core
Have a look in https://github.com/cs3org/reva/tree/master/tests/oc-integration-tests/drone for toml  files that exist for each of the storages that are currently tested. You should be able to add toml files for a new storage.
Basically, you need to have a "reva" running (with whatever back-end storage and mix of micro-services talking to each other...) that ultimately provides external APIs for doing the "file sync and share" stuff.
The end-to-end API tests just expect to "blindly" access an implementation that is waiting for those API requests.

Great, thanks! That helps. I'll also see if I can add some docs about this on https://reva.link/docs/


[BUG] Cannot save "File template" when using nunjucks expressions

Describe the bug
When I try to customize the FIle template, the input box, gets a red border and doesn´t save even with the default template that I got from the source code. It works fine if I don´t use an nunjucks expressions like {%
Method of syncing

[x] Amazon Kindle Reader
[ ] My Clippings file (please attach file that can be used to recreate issue)

To Reproduce
Steps to reproduce the behaviour:
Go to plugin settings and try to customize "File template" using nunjucks expressions
Expected behaviour
The template should be saved correctly
Screenshots

Metadata

OS: Linux Fedora 36
Plugin version 1.6.2
Obsidian version 0.14.15

Can you share the exact template that you were trying to use, or a template that reproduces the issues please.

I can reproduce the issue with the default template:
# {{title}}
## Metadata
{% trim %}
{% if authorUrl %}
* Author: [{{author}}]({{authorUrl}})
{% elif author %}
* Author: [[{{author}}]]
{% endif %}
{% if asin %}* ASIN: {{asin}}{% endif %}
{% if isbn %}* ISBN: {{isbn}}{% endif %}
{% if pages %}* Pages: {{pages}}{% endif %}
{% if publication %}* Publication: {{publication}}{% endif %}
{% if publisher %}* Publisher: {{publisher}}{% endif %}
{% if url %}* Reference: {{url}}{% endif %}
{% if appLink %}* [Kindle link]({{appLink}}){% endif %}
{% endtrim %}

## Highlights
{{highlights}}
``

Thanks for sharing. Will check it out.
Do you care about the trim block? It is a custom block that I made to remove empty white lines. But I was thinking of removing it. Thoughts?

not really.  I just wanted a base template to start defining my own and copied the one from the repository. I removed it and did my changes and it is looking fine for me.

@brpaz I haven't been able to replicate this issue. Are you able to use the latest version and confirm that you are still getting the same problem please?


Run "make benchmarks" on GitHub Actions

While we might not be able to trust the numbers, this will help us to make sure that the target doesn't have any build errors.
Signed-off-by: Kazuyoshi Kato<EMAIL_ADDRESS>Issue #, if available:
Description of changes:
Testing performed:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

We actually have build errors right now.
@sbuckfelder or @hanyuel - Would it be fixed by one of your PRs?

Also, I think to do this we need to investigate if we can use a public repo (I think Docker might support referrers now?)

It will be, according to https://www.docker.com/blog/announcing-docker-hub-oci-artifacts-support/

But, our mission doesn’t end here! We’re continually working to bolster our OCI support. While the OCI Artifact Specification is considered a release candidate, full Docker Hub support for OCI Reference Types and the accompanying Referrers API is on the horizon. Stay tuned for upcoming enhancements, improved repo organization, and more.

We also could consider https://github.com/opencontainers/distribution-spec/blob/main/spec.md#backwards-compatibility. oras-go is supporting that apparently (see https://github.com/oras-project/oras-go/issues/354).

So just to confirm we are agreed that this PR is on hold until we can get images and soci artifacts in a public repo?

#239


Update contact links in resume

This PR contains:
Updated links to all social contacts in the resume. Refactored all the hardcoded contact links using computed property, which will generate contactLinks object having all contact links and will be easier to use while developing a new template.

Looks great. Merged :+1:


Regression: wildcard values don't work for the host of certificates

Expected Behavior
Wildcard values such as *.mydomain.com should work for host matching certificates for mTLS
Actual Behavior
Wildcard values don't match properly and each subdomain must be added individually.
Seems to be a regression of https://github.com/Kong/insomnia/issues/243
Reproduction Steps
No response
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
8.6.1
What operating system are you using?
macOS
Operating System Version
Sonoma 14.4
Installation method
insomnia.rest
Last Known Working Insomnia version
No response

This regression may have been introduced by #6274. Test cases that validate the wildcard matching have been removed.

There is no much context on the PR description of why this feature has been removed as part of the electron bump

I'm debugging issue and that regression is being cause by this line, which on building an URL object is encoding the hostname characters so that https://*.myhost.com/ is turned into https://%2A.myhost.com and the latter won't match with the actual url being requested and thus won't attach the certificate into the request


Remove action no longer strips rest of schema.required

Fixes #53
I'd add a test but can't get tests running. :(

@mrclay Thank you for your support. I've merged your request and fixed the running tests.
Let me create another test for this issue and I'll push patched version to npm.


MudElement: Fix ElementReferenceCapture

Description

Resolves #9544 (see comment). I guess because the attributes should all be 1, not incremented to be different numbers.
How Has This Been Tested?

Type of Changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

[X] The PR is submitted to the correct branch (dev).
[X] My code follows the code style of this project.
[ ] I've added relevant tests.

I guess because the attributes should all be 1

It seems like using:
builder.AddMultipleAttributes(seq++, UserAttributes!);

with leaving the seq++ change is working as well, and as I can see the tabindex is getting removed correctly. Please, double check that.

Lets also add a small test to this, in case someone ever decides to refactor it.

Lets also add a small test to this, in case someone ever decides to refactor it.

What kind of test are you thinking of? @ScarletKuro


Feature Request: Other Apps

I specifically would like this same functionality for PlexAmp, but I'm sure other people would like it for other apps.

Yeah, I use Tidal and would love this to work.

+1 (For Roon)

I specifically would like this same functionality for PlexAmp, but I'm sure other people would like it for other apps.

Second PlexAmp

+1 for https://github.com/jpochyla/psst
rather than add/maintain a long list of music apps, is it possible to add a config option that includes the path to the app the user wants to launch and have that triggered when needed?

Yeah, I use Tidal and would love this to work.

Same here! I've recently started using Tidal, and would love to have this as an option, instead of having to keep the “Pause if no other player is running” toggled and risking having the media player controls targeting Safari instead…


feat(www): add component status page

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@wzpo can you adjust these tabs to fit the current type of tabs being used on the site?

@kbsmth I will update accordingly.

@pauljeter fixed

@wzpo, you need to resolve the conflicts before this PR can be merged.

@pauljeter It seems everything is updated and I cannot rebase to solve the conflicts.


feat: Alexandrov-discrete spaces

We define Alexandrov-discrete spaces as topological spaces where the intersection of a family of open sets is open.
This PR only gives a minimal API because the goal is to ensure that lemma names like isOpen_sInter are free to use for AlexandrovDiscrete. The existing lemmas are getting prefixed by Set.Finite or suffixed by _of_finite.

LGTM
maintainer merge

Thanks!
bors merge

bors d+

Not sure it'll go through but the queue is empty, so let's try.
bors merge


Minor changes to improve readability

Mostly just small grammatical changes.

@tgreenyc Thanks for sending in several PRs. Would you mind signing CLA so I can merge them?

Please reopen once CLA all ok.


Only send public params to datadog

Update DatadogMetricsCollector to respect HIDDEN and PRIVATE param visibility

Description
This PR updates the DatadogMetricsCollector to respect HIDDEN and PRIVATE params and not send those as tags to Datadog.
Debatably, params should not be used as tags at all (or at least not by default) as params tend to have high cardinality (dates, ids, etc) which is not recommended by datadog: https://docs.datadoghq.com/tagging/#defining-tags (see item 6)
Motivation and Context
Per my reported issue: https://github.com/spotify/luigi/issues/2738 using the datadog metrics collector has the potential to leak secrets to datadog as tags
Have you tested this? If so, how?

Added unit tests

@cabouffard given your contribution of Luigi's datadog integration, perhaps you can discuss the use of params as tags. If this is a deficiency of the implementation, do either of you have suggestions on how to allow tag assignment to be configurable?

I agree the ideal solution seems to be to make the tags configurable. Perhaps another visibility enum entry: ParameterVisibility.METRIC, which behaves the same as PUBLIC, but is also intended to be visible to metrics collectors?


Update to the JupyterLab 3.0 prebuilt extension system

Fixes #10
Using the upgrade script to do most of the lifting.

@jtpio this is up on pypi, mind testing to make sure it works as expected?

Thanks @timkpaine :+1:
Looks good when installing on Binder:

Although some styling persists after switching back to the light theme:

Although some styling persists after switching back to the light theme:

To fix this, likely you just need to install the style and styleModule keys in the package.json:
https://github.com/timkpaine/jupyterlab_miami_nights/blob/c5ce7911967dd3f30f25d916237381c73f6843b9/package.json#L32
https://github.com/timkpaine/jupyterlab_miami_nights/blob/c5ce7911967dd3f30f25d916237381c73f6843b9/package.json#L96
See https://github.com/telamonian/theme-darcula/pull/33 for a similar change for another theme.


Update pvo.oefd_2.0.xml to 2.1

Edited vers id, Title, instrument name, added mod history and instrument desc

🗒 Summary
Edited vers id, Title, instrument name, added mod history and instrument desc
⚙ Test Data and/or Report
♻ Related Issues
None

Changed destination branch to https://github.com/NASA-PDS/EdWG/tree/chimpdog_updates so we can consolidate and update these all together


Build on MacOS

When i try to build using cmake 3.10 it returns this error on macOS 10.12.
The C compiler identification is AppleClang <IP_ADDRESS>00039
The CXX compiler identification is AppleClang <IP_ADDRESS>00039
Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Version 1.0.0
building RELEASE targets
Installation location: /Users/user/Desktop/sidecar/builds/20180323
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find ACE (missing: ACE_INCLUDE_DIR ACE_LIBRARY)
Call Stack (most recent call first):
/Applications/CMake.app/Contents/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
CMakeStuff/FindACE.cmake:10 (find_package_handle_standard_args)
CMakeStuff/Configuration.cmake:52 (find_package)
CMakeLists.txt:32 (include)
Configuring incomplete, errors occurred!
See also "/Users/user/Desktop/sidecar-master/build/CMakeFiles/CMakeOutput.log".

Hi. I have updated the build instructions with additional details pertaining to macOS. From the above, CMake is not able to find an installation for ACE.

The others work right but I got this new errorCMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
ascope.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/AScope/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
bscope.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/BScope/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
master.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/Master/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
ppidisplay.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/PPIDisplay/CMakeLists.txt:5 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
priemitter.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/PRIEmitter/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
spectrum.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/Spectrum/CMakeLists.txt:8 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
Cannot find source file:
zcm.icns

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
GUI/ZeroconfMonitor/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: ascope
Call Stack (most recent call first):
GUI/AScope/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: bscope
Call Stack (most recent call first):
GUI/BScope/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: master
Call Stack (most recent call first):
GUI/Master/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: ppidisplay
Call Stack (most recent call first):
GUI/PPIDisplay/CMakeLists.txt:5 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: priemitter
Call Stack (most recent call first):
GUI/PRIEmitter/CMakeLists.txt:6 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: spectrum
Call Stack (most recent call first):
GUI/Spectrum/CMakeLists.txt:8 (add_gui)
CMake Error at CMakeStuff/GUI.cmake:51 (add_executable):
No SOURCES given to target: zcm
Call Stack (most recent call first):
GUI/ZeroconfMonitor/CMakeLists.txt:6 (add_gui)

Thanks for following up. I also got that error, but I thought I had fixed it. Do you have the latest version of the sources (do a git pull if you cloned the repo). I added missing *.icns files for the GUI apps (they are generated from *.opacity files).

Ah. My bad. I see that I was hiding *.icns files in .gitignore but I had regenerated them from their source *.opacity files. I've checked them into the repo. You should be able to see them now.

I've update the README doc to be a bit clearer:
Now, try loading the data file $SIDECAR/data/pri/20t10scans.pri by selecting "File > Open" (⌘ O) and
navigating to the 20t10scans.pri file. Make sure that the Connection Type is set to Multicast in the main
window; it defaults to using TCP.

It works well thanks, I like to know what kind of radar data input to PPI display.

The data formats are found in the Messages directory. The class PRIMessage defines a base class, and TPRIMessage is a template for different value types. Each PRIMessage is a radar return at a specific azimuth. Each value in the message vector is the reading at a certain time after the radar emits its signal - values near 0 represent reflections close to the radar, while those near the end of the array are reflections furthest from the radar.
I am going to close this ticket now since it works for you.

Thanks


Solar panels rotate constantly

Since MoveEvent and RotateEvent were combined anything that subscribes to moveevent globally (e.g. broadphase, pathfinding, sprites, etc) has to deal with this. Ideally solars would rotate less frequently as people aren't going to notice a 0.1 degree difference.

Having thought on it I think the ideal is not use rotation at all. It should have an internal value that just says "I was set to this rotation at this time" and then the client rotates its sprite based on that and the solar code works out power based on that so no moveevents are ever sent and we don't network anything regularly.


CUDA failure with Regent generated kernel

The following Regent file crashes deterministically with Regent generated CUDA kernel. The crash is reproducible on n0000 by the following steps:

install the up-to-date Regent with ./install --cuda --gasnet
zhihao@n0000:~/legion/language$ ./regent.py examples/pagerank/pagerank_mapping_test.rg -graph /home/zhihao/hollywood.gr -nw 2 -ll:gpu 2 -ll:fsize 4000 -ll:zsize 20000
pagerank settings: num_nodes=1139905 num_edges=57515616 iterations=10 workers=2
Load input graph...
graph = /home/zhihao/hollywood_csr.dat
init_score = 0.00000088
Start PageRank computation...
CU: cuLaunchKernel(f, config.grid.x, config.grid.y, config.grid.z, config.block.x, config.block.y, config.block.z, config.shared, raw_stream, NULL, extra) = 1 (CUDA_ERROR_INVALID_VALUE): invalid argument
terra: /home/zhihao/legion/runtime/realm/cuda/cuda_module.cc:1808: void Realm::Cuda::GPUProcessor::launch(const void*): Assertion `0' failed.

If we run the same program on Sherlock with CUDA 8.0, it returns a compile error as follows:
[zhihao@sh-114-02 ~/legion/language]$ ./regent.py examples/pagerank/pagerank_mapping_test.rg -graph examples/pagerank/hollywood.gr -nw 2 -ll:gpu 2 -ll:fsize 5000 -ll:zsize 10000
CU: cuModuleGetFunction(&f, module, func->device_fun) = 500 (CUDA_ERROR_NOT_FOUND): named symbol not found
terra: /home/users/zhihao/legion/runtime/realm/cuda/cuda_module.cc:2101: void Realm::Cuda::GPU::register_function(const Realm::Cuda::RegisteredFunction*): Assertion `0' failed.

This should be fixed in ca66b36. @jiazhihao please close this issue once you confirm it is fixed.

@magnatelee Confirmed that the issue has been fixed on sapling. However, I still observe the same compile error on Sherlock as before. I guess this might be a separate issue on Regent.

The issue has been fixed in ca66b36.


Create Abis file!

These jeans are super cute and will go with anything!
Changes

Checks
By submitting your pull request for review, you agree to the following:

[x] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[x] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[x] To the best of my knowledge, all proposed changes are accurate.

These jeans are super cute for any style or look!


NNBD migration should support "fantasy land" functionality

The idea is that if a user is migrating package X, and package X depends on package Y, which has not been migrated yet (but may have migration hints), the user wants to be able to put their filesystem into a state where they can execute the migrated version of packages X and Y together, in order run tests and see whether the migration looks correct.  We expect this will require writing out a fresh packages.json file as well as writing migrated source files to temporary directories.

@stereotype441 @kevmoo I believe we've decided against this?

@stereotype441 @kevmoo I believe we've decided against this?

Correct.


Resolve syncing conflicts from repo_sync_working_branch to master

Pull request opened by Docs to resolve syncing conflicts from repo_sync_working_branch to master.

@huypub : Thanks for your contribution! The author, @georgewallace, has been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author, @MarkusVi, has been notified to review your proposed change.

@huypub : Thanks for your contribution! The author, @MarkusVi, has been notified to review your proposed change.

@huypub : Thanks for your contribution! The author, @billmath, has been notified to review your proposed change.


Summary of FFT APIs

This issue gathers all the information of the current APIs in NumPy, CuPy, Dask, JAX, MXNet, pytorch and tensorflow in the FFT module. The main outcome of this issue is to open the discussion of the potential APIs that are going to be included in the spec.

Summary

Most FFT APIs have the following keyword arguments: n, axis, norm, with the exception of TF and MXNet.
The equivalent to the axis keyword in NumPy, CuPy, Dask and Jax is dim in Pytorch.
fft2 can have the same implementation of fftn if called with the correct arguments.
fft3D is only implemented in TF .
The output for the inverse functions return a complex array in NumPy.
The arguments of the functions are the same for calculating the FFT and its inverse.
There's a mix between the use of axis, axes even among functions in the same library.

Thank you for the detailed research @steff456!
I haven't read this very carefully, just leaving a note. From the perspective of scientific computing, image and signal processing, etc., I'd like to make this appear asap (i.e., in the v1 draft) following the guideline for complex numbers (#153) so that participating libraries can start working on it if they already have support for complex numbers (like NumPy/CuPy/PyTorch), but maybe we need a discussion.

This looks great, thanks @steff456!
A couple of thoughts:

We'd like to make this an "extension" rather than including it into the main API directly. Let's discuss how to document/specify those elsewhere, there's an issue open already somewhere.
Let's keep in mind that there are several other implementations: PyFFTW, scipy.fft, mkl_fft. CuPy also has it twice, one to match numpy and one to match scipy in cupyx - fortunately those APIs are identical.

I think norm is just not currently implemented in Dask ( https://github.com/dask/dask/issues/3280 ), but I don't think it would be hard to add

To add to Ralf's point, I think there is an MPI FFT library. Not sure if we want to look at that as well
Also PyFFTW provides a Dask-based API. Though the API is the same as Dask's API

Based on the conversation in the meeting last week, we discussed:

scipy.fft is missing from the table, but it's a superset of the NumPy API, with all extra functionalities like N-D R2C/C2R and R2R transforms (which probably have less interest among the library providers and users?)
scipy.fft has extra kw(?) arguments, for example overwrite_x. But its semantics is unclear and has been causing confusion over the years (ex: https://github.com/scipy/scipy/issues/10241, https://github.com/scipy/scipy/issues/8500), so if we're adopting it we must deviate from the current SciPy design (cc: @peterbell10, @grlee77)
@leofang proposed to not add fft2/ifft2 (and other 2D families), as it's just a special case for fftn/ifftn. No one objected, but it's best to solicit feedbacks from 3rd party libraries doing heavy imaging/signal processing.

The output for the inverse functions return a complex array in NumPy.

It's easier to talk about the transform kinds, as "inverse" could be confusing. In short, the complex number support is a must for FFT, as they are used either as input (C2R), output (R2C), or both (C2C).

To add to Ralf's point, I think there is an MPI FFT library. Not sure if we want to look at that as well

AFAIK mpi4py-fft provides both a FFTW-like interface and a parallel interface on top of that. Most arguments are identical, with additional things due to the parallelism like MPI communicators and backends (fftw, numpy, scipy, ...). If there's strong interest we can move the discussion to the mpi4py-fft repo.

overwrite_x I believe comes from the original f2py wrapper code, or at least is consistent with that style. It was kept mainly for backwards-compatibility, I doubt it belongs in the array api standard.
Some corrections for the table:

fftn/ifftn NumPy, CuPy and PyTorch are all documented as using s not n as the shape argument.
PyTorch does support out arguments for everything in torch.fft except fftshift and ifftshift.  Although I notice it doesn't say that in the docs (my bad).

3. @leofang proposed to not add fft2/ifft2 (and other 2D families), as it's just a special case for fftn/ifftn. No one objected, but it's best to solicit feedbacks from 3rd party libraries doing heavy imaging/signal processing.

I checked in a few libraries (SciPy, cuCIM, scikit-image, scikit-learn, matplotlib) that 2D transforms (fft2/ifft2/rfft2/irfft2) are rarely used. At most one or two places in each codebase. I believe it is fine to not include them in the standard. Perhaps they were there because in the early days libraries wanted to be compatible with Matlab? (My guess)

Perhaps they were there because in the early days libraries wanted to be compatible with Matlab?

That's probably correct.

At most one or two places in each codebase. I believe it is fine to not include them in the standard.

Thanks for investigating @leofang. Your reasoning sounds good. And there's no issue with introduction or backwards compat here - the existing fft2/ifft2 functions in libraries can stay as they are.

Hello'all, I just came up with a wild question while reviewing #189. I am curious if we can remove fft2/ifft2, is it really necessary then to special-case 1D transforms from N-D? I suppose it was done in the old days to provide a fast path for specialized codes, but shouldn't this purely be an implementation detail? I understand if we don't separate 1D from N-D, there'll likely be some boilerplate codes needed internally to distinguish them, but again it sounds like an implementation detail to me. Just a thought.

It is of course possible to express 1-D transforms in terms of n-D, but I suspect that if we make everyone write fftn(x, 1) instead of fft(x), they won't be too happy. I think fft is useful syntactic sugar, and it costs very little to support it.

This is an old issue - the fft extension has been merged, which addressed this. So closing, thanks all.


Android support ?

Hi @tatsu ,
I have seen this library for ios, is there any other library which has support for android?

https://github.com/mariobodemann/osc
seems one of osc for android.


comments update

Coverage decreased (-0.1%) to 50.904% when pulling 1ece0f8e42e260e769487236e10356ef320000e4 on lcestou:patch-17 into 1a140d21e2b9403b54ed0d793608c817f9f6c15d on TimothyLuke:master.


Get status response doesnt support Queued driver state

Using mesos as the spark resource master. When i check for the status immediately after submitting the job  the driver state in the response is "QUEUED" which is not a enum defined and hence it throws this exception
com.github.ywilkof.sparkrestclient.FailedSparkRequestException: com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of com.github.ywilkof.sparkrestclient.DriverState from String value 'QUEUED': value not one of declared Enum instance names: [FINISHED, ERROR, UNKNOWN, SUBMITTED, RELAUNCHING, FAILED, RUNNING, KILLED]
at [Source: {
"action" : "SubmissionStatusResponse",
"driverState" : "QUEUED",
"serverSparkVersion" : "2.1.1",
"submissionId" : "driver-20170512125948-0019",
"success" : true
}; line: 2, column: 40] (through reference chain: com.github.ywilkof.sparkrestclient.JobStatusResponse["driverState"])
at com.github.ywilkof.sparkrestclient.HttpRequestUtil.executeHttpMethodAndGetResponse(HttpRequestUtil.java:21)
at com.github.ywilkof.sparkrestclient.JobStatusRequestSpecificationImpl.withSubmissionIdFullResponse(JobStatusRequestSpecificationImpl.java:40)
at com.github.ywilkof.sparkrestclient.JobStatusRequestSpecificationImpl.withSubmissionId(JobStatusRequestSpecificationImpl.java:24)

Hi @avinashmeda,
A new version 1.3.3 should be available soon supporting this state.  Please tell me if it works now. I have actually only tested the client with Spark Standalone so I am interested to know if it works with Mesos as well.

Yes it does work on media.thanks...

Mesos*


Improve readme design

Codecov Report

Merging #280 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master   #280      +/-   ##
========================================
- Coverage   94.02%    94%   -0.02%
========================================
  Files          20     20
  Lines        8094   8094
========================================
- Hits         7610   7608       -2
- Misses        484    486       +2


BUG Fix file link tracking for new asset abstraction

In the prior pull request at https://github.com/silverstripe/silverstripe-framework/pull/4652 CMS file link tracking was broken.
Merging this should fix the tests for https://github.com/silverstripe/silverstripe-cms/pull/1291.
Link tracking is now managed entirely via data-fileid / shortcodes, as the file url is no longer useful for tracking.

This will insert the date-fileid property in public HTML at the moment. Assuming that's not desireable, should we cover this by a Github issue to be resolved before 4.0 alpha? It doesn't seem to be covered in https://github.com/silverstripe/silverstripe-framework/issues/4678. Do you think we need to reach a conclusion on https://github.com/silverstripe/silverstripe-framework/issues/4337 to implement this? I want to ensure this doesn't get forgotten about and we end up releasing 4.0 with cluttered HTML output.

We have a backlog story to cover this. We can make removing it a 4.0 alpha blocker.

I've raised a separate github issue just for that item. https://github.com/silverstripe/silverstripe-framework/issues/4681

Thanks @chillu


Vector as feature

Hi,
My input are high dimensional vectors, how would i insert them into the dat file?
E.g.
Class 0
Vector 1: [1.2 2.3 3.4]
Vector 2: [-1 -2 3]
Data file A (Not accepted)
0 1:[1.2 2.3 3.4] 2:[-1 -2 3]
Data file B (Not accepted)
0 1:(1.2 2.3 3.4) 2:(-1 -2 3)
Data file C (Not accepted)
0 1:(1.2,2.3,3.4) 2:(-1,-2,3)
Data file D (Not accepted)
0 1:1.2,2.3,3.4 2:-1,-2,3

Thinking better after getting a night's proper sleep....that was a dumb question I asked, please ignore.


Allow providing custom plugins

When experimenting with a new plugin, or just doing custom things in my app, it's a pain to have to fork SVGO and add a plugin there then keep the fork up to date. It would be great to just be able to pass a custom plugin into the plugins list.
This pull request adds that functionality, so you can do something like:
new SVGO({
    plugins: [
        myCustomPugin: {
            type: ‘perItem’,
            fn:   function(item) {
                /* do stuff */
            }
        }
    ]
});

Tests seem to be little excessive (you're actually testing how the config works in the second part), but ok.


Typescript Definitions

Summary
Fix #381

I think someone mentioned the issue with feathers-rest before. Can you create an issue (with a suggested fix if possible) in both repos?

I'll try editing the .d.ts files in node_modules.  Sadly I'm no expert in creating typescript definitions.

Probably by changing https://github.com/feathersjs/feathers-rest/blob/master/index.d.ts#L1 to something like:
declare function rest(handler?: Function): Function;

yes that's correct for rest(),
and for "feathers-socketio", I'll just comment it here if you don't mind 😁...might create an issue or PR after I investigate further.
import 'socket.io';

type FeatherSocketCallback =
  (io: any) => void;

interface ServerOptions extends SocketIO.ServerOptions {
    wsEngine?: string; // <-- added this as well
}

type FeathersSockeOptions =
  ServerOptions |
  FeatherSocketCallback;

declare function e(
    options: FeathersSockeOptions,
    config?: FeathersSockeOptions
  ): () => void;

declare namespace e {}  // <-- it's a Typescript thing:

export = e;

Exporting a function foo requires you declare a namespace foo as well, probably for foo.extras.
https://github.com/Microsoft/TypeScript/issues/6656#issuecomment-175780097
I also found out that a service instance doesn't have before and after methods, though I dunno how to do declaration merging for things inside a namespace.
Also, the typedefs for 'feathers-authentication` is for the pre-1.0.0 version.

I managed to get my app to typecheck.  I'll try to gather/remember my tweaks and send PRs.

Cool thank you.


Where should I upload the file?

If I try to upload to a file sharing thing random people download it and it generates channels but they are all vms.

the anti vm isn't fully accurate. it may slip up. and host it on your machine bro.

it dosent do that dum dum


ImportError: Dependencies for InstructorEmbedding not found.

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code

from langchain_community.embeddings import HuggingFaceInstructEmbeddings

DEVICE = "cpu"

#Initialize embeddings using a pre-trained model to represent the text data.
embedddings_model = "sentence-transformers/multi-qa-distilbert-cos-v1"

embeddings = HuggingFaceInstructEmbeddings(
    model_name=embedddings_model,
    model_kwargs={"device": DEVICE}
)

Error Message and Stack Trace (if applicable)
USER_AGENT environment variable not set, consider setting it to identify your requests.
Traceback (most recent call last):
  File "/home/tda/miniconda3/envs/ragbot2/lib/python3.10/site-packages/langchain_community/embeddings/huggingface.py", line 188, in __init__
    from InstructorEmbedding import INSTRUCTOR
ModuleNotFoundError: No module named 'InstructorEmbedding'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tda/GenAICourse/RAG/ragbot_langchain/app.py", line 38, in <module>
    embeddings = HuggingFaceInstructEmbeddings(
  File "/home/tda/miniconda3/envs/ragbot2/lib/python3.10/site-packages/langchain_community/embeddings/huggingface.py", line 194, in __init__
    raise ImportError("Dependencies for InstructorEmbedding not found.") from e
ImportError: Dependencies for InstructorEmbedding not found.

Description
I'm trying to build embeddings for a RAG application and I get the error
ImportError: Dependencies for InstructorEmbedding not found.
System Info
System Information

OS:  Linux
OS Version:  #134~20.04.1-Ubuntu SMP Tue Oct 1 15:27:33 UTC 2024
Python Version:  3.10.0 (default, Mar  3 2022, 09:58:08) [GCC 7.5.0]

Package Information

langchain_core: 0.3.14
langchain: 0.3.5
langchain_community: 0.3.3
langsmith: 0.1.138
langchain_chroma: 0.1.4
langchain_mistralai: 0.2.0
langchain_openai: 0.2.4
langchain_text_splitters: 0.3.1

Optional packages not installed

langgraph
langserve

Other Dependencies

aiohttp: 3.10.10
async-timeout: 4.0.3
chromadb: 0.5.16
dataclasses-json: 0.6.7
fastapi: 0.115.4
httpx: 0.27.2
httpx-sse: 0.4.0
jsonpatch: 1.33
numpy: 1.26.4
openai: 1.53.0
orjson: 3.10.10
packaging: 24.1
pydantic: 2.9.2
pydantic-settings: 2.6.0
PyYAML: 6.0.2
requests: 2.32.3
requests-toolbelt: 1.0.0
SQLAlchemy: 2.0.36
tenacity: 9.0.0
tiktoken: 0.8.0
tokenizers: 0.20.1
typing-extensions: 4.12.2

https://pypi.org/project/InstructorEmbedding/


Calidev

In this pull, you can find the Django app using the Calidev template only. Also, I moved some directories from the root, the blog and the forum directories.

@juliancantillo what was the purpose of this PR? We are thinking on working a little in the site for our upcoming event, so we are reviewing everything. Can you provide some details about what this PR is for?
In the case that it makes sense, we will also need to update the tests so it does not break after the merge. Also, you may need to change the target the develop branch instead of master.
Let me know if you want to discuss this topic.

Closing this until more information is added


How to set connection timeout

Specifically, I would like to set a connection timeout on the Apache implementation. I couldn't find any way to do that by browsing through the code and documentation.

We currently, don't expose that property... this brings up an interesting problem. There will always be little odds and ends properties of a client that you might want to specify, but we don't want to expose.
I have created #140 and #141 to address these deficiencies.
We should hopefully be able to get a release out with these modifications sometime early next week.
I will close this issue in favor of those other two.

I have addressed this issue and it will be fixed in the next release.


Issue with MlpLstm policy

Hello there,
I've been using different methods (A2C, PPO2, ACKTR, etc) in my custom environment, using an MlpPolicy and everything went fine. Now, I'd like to try other policies, MlpLstm for instance.
After that I substitute the policy inside .learn() the simulation starts correctly (no errors are displayed) but, even waiting a lot of time (up to 8h or more), it does not yield to any results.

I've checked that verbose=1
stable-baselines==2.10.1
Some time references: using PPO2 with a MlpPolicy it took about 42min for 10M timesteps of evaluation.
I've also used env.checker() and everything seems in the right place.
OS : Fedora32
n_states = 18, n_actions=1
Definition of the actions and observations space:
self.action_space = spaces.Box(low=-1, high=1,shape=(1,), dtype=np.float32)
self.observation_space= spaces.Box(low=-self.u_lim, high=self.u_lim, shape=(n_states,), dtype=np.float32)

where u_lim is a a numerical constraint.
Can you help me in anyway? Do you need other information?
Thanks

Hmm hard to say based on this info. Could you provide a minimal (but runnable) example code of this bug happening? This would go a long way in helping to debug this :) . I would like to see an example of the "substitute the policy inside .learn()" part as I am not sure what you mean by this.

Thanks for your response :)
Yeah, sure! Do you need a copy of the whole custom environment I'm running?
In the meanwhile, here's what I meant before about the .learn().
Using the MlpPolicy I used to wrote:
    model = PPO2(MlpPolicy, env, verbose=1, n_cpu_tf_sess=None,n_steps = int(32000/num_cpu),
                 nminibatches = 1, noptepochs = 5, tensorboard_log="tenso")

    eval_callback = EvalCallback(Ambiente, best_model_save_path='./logs/',
                             log_path='./logs/', eval_freq=int(32000/num_cpu),
                             deterministic=True, render=False)

    # Model training

    time_steps = 10_000_000 # number of interaction w environment
    model.learn(total_timesteps=time_steps, callback=eval_callback)

And this works well.
Now, in order to try different policies, I'm trying to do the same, using MlpLstm instead - after having correctly imported it:

    model = PPO2(MlpLstmPolicy, env, verbose=1, n_cpu_tf_sess=None,n_steps = int(32000/num_cpu),
                 nminibatches = 1, noptepochs = 5, tensorboard_log="tenso")

    eval_callback = EvalCallback(Ambiente, best_model_save_path='./logs/',
                             log_path='./logs/', eval_freq=int(32000/num_cpu),
                             deterministic=True, render=False)

    # Model training
    time_steps = 10_000_000 # number of interaction w environment
    model.learn(total_timesteps=time_steps, callback=eval_callback)

In both cases I have defined env as follows:
env = SubprocVecEnv([lambda : Monitor(CustomEnv(),log_dir,allow_early_resets=True) for _ in range(num_cpu)])
If I run this with MlpLstm I have a first feedback after 32k timesteps in a reasonable time and then, nothing else. Even if I let the simulation going on for up to several hours.
I hope that now the issue is clearer, however let me know if you need more detailed information about my environment or anything else.
Thanks!

Looking at this everything seems right, so there might be a bug in the environment or in the combination of LSTM + EvalCallback. A full, runnable code with the custom environment would be nice for further debugging.
One thing you could check meanwhile: does your environment have a timeout? Maybe the MlpLstm policy is getting stuck somewhere and the game never ends during evaluation? Just a wild guess and I assume this has already been tried out ^^.

To be honest I did not tried before without the EvalCallback. However, I'm doing it now and it does not seem to affect the problem - the simulation is been running from more or less 1 hour but still, no results.
For what concerns the timeout, at the moment, the agent exits the game if a specific constraint is not respected or if the number of steps is equal to the time interval I'm interested in evaluating. Was this the kind of timeout you were thinking of? Or was it linked to the time of evaluation instead?
I'm attaching here the environment and its launcher, in order to not paste here such a long code.
advection_custom_environment.tar.gz

Hmm when I ran the RL_advection.py code it worked as expected (which you said works). When I changed MlpPolicy to MlpLstmPolicy in line 62 I got the following error:
Traceback (most recent call last):
  File ".\RL_advection.py", line 115, in <module>
    main()
  File ".\RL_advection.py", line 62, in main
    model = PPO2(MlpLstmPolicy, env, verbose=1, n_cpu_tf_sess=None,n_steps = int(32000/num_cpu), nminibatches = 100, noptepochs = 5)
  File "c:\users\anssi\desktop\stable-baselines\stable_baselines\ppo2\ppo2.py", line 97, in __init__
    self.setup_model()
  File "c:\users\anssi\desktop\stable-baselines\stable_baselines\ppo2\ppo2.py", line 125, in setup_model
    assert self.n_envs % self.nminibatches == 0, "For recurrent policies, "\
AssertionError: For recurrent policies, the number of environments run in parallel should be a multiple of nminibatches.

I fixed this with nminibatches=5 and now code works.
I think I spotted the problem: you have very large n_steps and nminibatches. Computational requirement for LSTM increases a lot with larger n_steps (as it backpropagates through time over all n_steps), and with current settings it indeed takes very long. Try lower numbers, e.g. n_steps=512.
Note: I ran code on CPUs and removed tensorboard logging to make it work.

Yeah, in my tests I usually put nminibatches=1 to avoid this issue.
However, I've followed your suggestion removing tensorboard logging and reducing the number of steps and now the policy does work correctly!
Thank you! 👍


gateway.reconnectBridge should be guarded by Mutexes

Describe the bug
Multiple/stacked error messages config.Message{Account: b.Account, Event: config.EventFailure} cause reconnectBridge to invoke reconnection run on single bridge in several parallel threads. That's a counterproductive and wrong. This process should be happening in one thread.
To Reproduce
Run
b.Remote <- config.Message{Account: b.Account, Event: config.EventFailure}
b.Remote <- config.Message{Account: b.Account, Event: config.EventFailure}
b.Remote <- config.Message{Account: b.Account, Event: config.EventFailure}

Expected behavior
Instead the reconnection process should happen only once and in one thread.
Additional context
Caused by while handling #747
I'm working on it now.

I moved the reconnectBridge method from gateway.handlers to Bridge because it had nothing to do with gateway.

Blocked by #747

It's no longer blocked by #747
Are you still working on this?

I might have some time mid-July to invest in matterbridge. Now I'm a bit swamped in work projects.


Can't install python or filezilla via winget

Brief description of your issue
Hi, I've been installing packages all day on a new machine all via winget. 2 of the packages I can't install are filezilla and python3. I've tried both powershell, and cmd, both return this error afterwards
No package found matching input criteria
Steps to reproduce
running
winget install -e --id Python.Python.3
or
winget install -e --id TimKosse.FileZilla.Client
from a command prompt or via powershell results in this error
No package found matching input criteria
Expected behavior
I expect the package to be installed
Actual behavior
says the package can't be found
Environment
Windows Package Manager v1.3.2091
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.918
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.2091.0

running on windows 11 pro

Python.Python.3 can be installed via winget install --id Python.Python.3.10
TimKosse.FileZilla.Client was removed per developer's request.

Python.Python.3 can be installed via winget install --id Python.Python.3.10
TimKosse.FileZilla.Client was removed as per the application developer's request.

wow, thanks. changing from Python.Python.3 to Python.Python.3.10 seemed to work.
should probably be changed at winget.run website, so more people don't have the same problem

https://winget.run/ is no longer updated. Use https://winstall.app/ which updates in almost real-time.

https://winget.run/ is no longer updated. Use https://winstall.app/ which updates in almost real-time.

Thanks, I didn't realize that winget.run isn't updated anymore. Going to close this issue, as my issue is solved


Problem with KeyboardAwareFlatlist on iOS

Hey,
Thanks for a great lib!
I'm experiencing issues with the KeyboardAwareFlatlist on iOS only. I'm using version 0.4.3 along with Expo 24 / RN 0.51 / React 16
I'm using KeyboardAwareScrollview multiple places in my app, and it works great, for example:
https://gyazo.com/6bfd995630b70f7d129110914606e9d0
However, the KeyboardAwareFlatlist won't activate automatically if the software keyboard is enabled:
https://gyazo.com/382d77c4c2dadfb0b774318e735f075f
I can, however, force it to activate if I disable and then re-enable the keyboard (using cmd+K on emulator), but then the bottom padding is way too much:
https://gyazo.com/dddbd0cf55fadee5255815b51cb1fd46
I've tried printing out the frames on open and close for each of the scenarios, and it looks like this:
Scrollview, works fine - open
{"easing":"keyboard","duration":250,"endCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465},"startCoordinates":{"height":226,"screenX":0,"width":414,"screenY":736}}

Scrollview, works fine  - close
{"easing":"keyboard","duration":250,"endCoordinates":{"height":0,"screenX":0,"width":414,"screenY":736},"startCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465}}

CommentsList open (didn't work)
{"easing":"keyboard","duration":250,"endCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465},"startCoordinates":{"height":226,"screenX":0,"width":414,"screenY":736}}

CommentsList close (didn't work)
{"easing":"keyboard","duration":250,"endCoordinates":{"height":0,"screenX":0,"width":414,"screenY":736},"startCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465}}

CommentsList open (forced with cmd+K)
{"easing":"keyboard","duration":250,"endCoordinates":{"height":226,"screenX":0,"width":414,"screenY":510},"startCoordinates":{"height":0,"screenX":0,"width":414,"screenY":736}}
{"easing":"easeInEaseOut","duration":0,"endCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465},"startCoordinates":{"height":226,"screenX":0,"width":414,"screenY":510}}
{"easing":"keyboard","duration":250,"endCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465},"startCoordinates":{"height":226,"screenX":0,"width":414,"screenY":510}}

CommentsList close (forced with cmd+K)
{"easing":"keyboard","duration":250,"endCoordinates":{"height":0,"screenX":0,"width":414,"screenY":736},"startCoordinates":{"height":271,"screenX":0,"width":414,"screenY":465}}

The code used for the flatlist looks like this:
import { KeyboardAwareFlatList } from 'react-native-keyboard-aware-scroll-view';
...
<KeyboardAwareFlatList
          inverted={true}
          renderItem={this.renderRow}
          keyExtractor={this.keyExtractor}
          refreshing={this.props.fetching}
          ListEmptyComponent={
            <EmptyViewForLists
              text={`No comments yet! Be the first...`}
              showTitle={false}
            />
          }
          data={this.props.comments}
          onEndReached={this.props.loadMore}
          onEndReachedThreshold={0.8}
          ListHeaderComponent={this.renderHeader}
          keyboardDismissMode="on-drag"
          keyboardShouldPersistTaps="handled"
          onKeyboardWillShow={frames => {
            console.log(TAG, `\n${JSON.stringify(frames)}\n`);
          }}
          onKeyboardWillHide={frames => {
            console.log(TAG, `\n${JSON.stringify(frames)}\n`);
          }}
        />

On Android, both work as expected. On physical device, the result is that of the middle scenario where nothing happens, even if dismissing the keyboard by dragging on the list and reopening it.
Snack for demonstration: https://snack.expo.io/Bk1SBulLG
The snack is more as a gist, as it seems that KeyboardAwareScrollview doesn't even work there, unless I'm missing something? https://snack.expo.io/BklPMulUG
What could be the issue? Let me know if I can be of further assistance in debugging

Hey! What do you really want to achieve in this case? Cannot open the gyazo examples.

Hey :) Normal behavior, that the view would adjust to the keyboard instead of hiding behind it. "Cannot open the gyazo examples" - what happens when you click them? Those gifs would explain it quite well I think :)

I'm also facing this problem. Gonna try @marlonbrgomes solutions later in the day. I'll give you guys an update on that asap.

Same issue here... the very same as @jhalborg described.
@thefrontendwizard , any news on this?

I'll close this for being very old. Thanks for all the comments 😻
Please ping me if you still see it as an issue.

I am facing the issue
"react-native-keyboard-aware-scroll-view": "^0.9.3",
"react": "16.11.0",
"react-native": "0.62.2"

Thanks


Explain PacMan GUI keybindings

A small footer in the GUI would be nice

pause
quit
(toggle path)

Once the GUI (#10) is here, we could also start by removing the terminal printed arbitrator state and just print the keybindings during startup as a cheap and easy first solution to this issue.


fix(reg-exp-router): bug of "star and all" routing

@yusukebe I would like to fix #699 this way. Please review 🙇

@usualoma
Thank you! Unfortunately, the following tests seem to fail. Could you see it again?
describe.only('ALL and Star', () => {
  const router = new RegExpRouter<string>()

  router.add('ALL', '*', 'wildcard')
  router.add('ALL', '/a/*', 'star1')
  router.add('GET', '/a/foo', 'foo')
  router.add('ALL', '/b/*', 'star2')
  router.add('GET', '/b/bar', 'bar')

  it.only('Should return wildcard, star2 and bar', async () => {
    const res = router.match('GET', '/b/bar')
    expect(res).not.toBeNull()
    expect(res?.handlers).toEqual(['wildcard', 'star2', 'bar'])
  })
})

@yusukebe
Sorry, my first fix was incorrect.
I redid it and the additional test now goes through.

@usualoma
Thank you! Perfect. I'll merge it!


Listen on Localhost

Greetings,
I am using a dedicated server, even after updating app.json with server ip and a valid open port.
It can be only accessable via localhost using the IP and not from browsers.
Please help!
Thanks!

What would you like it accessible from? A DNS?
If so, you would need to setup a web server like Nginx to proxy the requests.

I am running apache2 listening on port 80.
I can use that right?
Yes i want to access it from my public IP address of my apache web server.

@mrvautin : can u help please?

This is a sever config issue. You would need to follow a guide like: https://www.digitalocean.com/community/questions/how-to-run-nodejs-with-apache-for-ubuntu-12-04


example python user auth

I have first created a PR with my office account so I had to delete it. This is my personal one. Thanks!!

This issue was already assigned with detailed instructions about what it needs to include. We love contribution, but we suggest you try and submit other PRs by exploring any of our open issues. If you have any problem or need help, please join our Discord community: https://appwrite.io/discord and use the #maintainers channel.


Support line editing for input prompts

@d3brouille noted in testing that arrow keys don't work as one might expect in the gg configure prompts, instead just appending the raw terminal codes (^[[A etc).
Should just be a matter of import readline.

I believe this is obsolete, pending confirmation of the move off of Python. New bugs against the new CLI are welcome and surely imminent.


Improve how nodes on streets that come in and out are used on osm builder

As per @basicNew 's comments:
Create the road with all the points.
Starting from the front of road.nodes, remove all points that lay outside the box. Stop as soon as you find the first one inside.
Starting from the back of road.nodes, remove all points that lay outside the box. Stop as soon as you find the first one inside..

Addressed by #240


fix: multiple polling loops

This will close issue #17
Tested on hardware.

@Lonedone @skokov3812 tested on hardware

@skokov3812 could you please release on npm?

@kybarg of course


Clicking on the waybar wlr/taskbar icon does not switch between running programs correctly

Bug or Regression?
Bug
System Info and Version
 System/Version info
Hyprland, built from branch main at commit 4842eb83b444418ad3fe1901d645dd02224989e5  (helpers: make shm_open() portable after 8bcccf9f0f0f (6471)).
Date: Thu Jun 13 20:20:14 2024
Tag: v0.41.1-2-g4842eb83, commits: 4820

flags: (if any)

System Information:
System name: Linux
Node name: Arch
Release: 6.9.3-2-cachyos-echo-lto
Version: #1 SMP PREEMPT_DYNAMIC Thu, 06 Jun 2024 06:05:56 +0000

GPU information:
64:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c7) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Description
Clicking on the waybar wlr/taskbar icon does not switch between running programs correctly.
This bug also causes rofi to crash. Related Issue #6318
How to reproduce
above
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/39702328/b2b635b4-da4c-4ff6-ad14-4111a9ae608f
waybar coredumpctl.log
       Message: Process 22031 (waybar) of user 1000 dumped core.

                Stack trace of thread 22031:
                #0  0x000072ae5d27df64 _ZNK6spdlog5sinks4sink10should_logENS_5level10level_enumE (libspdlog.so.1.14 + 0x22f64)
                #1  0x000072ae5d27dfcc _ZN6spdlog6logger8sink_it_ERKNS_7details7log_msgE (libspdlog.so.1.14 + 0x22fcc)
                #2  0x000072ae5d27bafa _ZN6spdlog6logger7log_it_ERKNS_7details7log_msgEbb (libspdlog.so.1.14 + 0x20afa)
                #3  0x0000588c3090b2de _ZZ4mainENUliE1_4_FUNEi (waybar + 0x942de)
                #4  0x000072ae5b420cd0 n/a (libc.so.6 + 0x41cd0)
                #5  0x000072ae5b479a19 __lll_lock_wait_private (libc.so.6 + 0x9aa19)
                #6  0x000072ae5b476e65 _IO_flush_all (libc.so.6 + 0x97e65)
                #7  0x000072ae5b477235 n/a (libc.so.6 + 0x98235)
                #8  0x000072ae5b4234c4 n/a (libc.so.6 + 0x444c4)
                #9  0x000072ae5b423510 exit (libc.so.6 + 0x44510)
                #10 0x000072ae5b404f55 n/a (libc.so.6 + 0x25f55)
                #11 0x000072ae5b40500a __libc_start_main (libc.so.6 + 0x2600a)
                #12 0x0000588c308d4315 _start (waybar + 0x5d315)

                Stack trace of thread 22035:
                #0  0x000072ae5b4f253f __poll (libc.so.6 + 0x11353f)
                #1  0x000072ae5cb6b628 n/a (libglib-2.0.so.0 + 0xd7628)
                #2  0x000072ae5caf8022 g_main_context_iteration (libglib-2.0.so.0 + 0x64022)
                #3  0x000072ae5caf8072 n/a (libglib-2.0.so.0 + 0x64072)
                #4  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #5  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #6  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22038:
                #0  0x000072ae5b4f253f __poll (libc.so.6 + 0x11353f)
                #1  0x000072ae5cb6b628 n/a (libglib-2.0.so.0 + 0xd7628)
                #2  0x000072ae5caf8022 g_main_context_iteration (libglib-2.0.so.0 + 0x64022)
                #3  0x000072ae570bd47e n/a (libdconfsettings.so + 0x647e)
                #4  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #5  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #6  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22034:
                #0  0x000072ae5b4fbf6d syscall (libc.so.6 + 0x11cf6d)
                #1  0x000072ae5cb615a7 g_cond_wait (libglib-2.0.so.0 + 0xcd5a7)
                #2  0x000072ae5caba65c g_async_queue_pop_unlocked (libglib-2.0.so.0 + 0x2665c)
                #3  0x000072ae5cb37db6 n/a (libglib-2.0.so.0 + 0xa3db6)
                #4  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #5  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #6  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22059:
                #0  0x000072ae5b4f2bad read (libc.so.6 + 0x113bad)
                #1  0x000072ae5b473031 _IO_file_underflow (libc.so.6 + 0x94031)
                #2  0x000072ae5b475f8f _IO_default_uflow (libc.so.6 + 0x96f8f)
                #3  0x000072ae5b4671f7 _IO_getline_info (libc.so.6 + 0x881f7)
                #4  0x000072ae5b465dfe _IO_fgets (libc.so.6 + 0x86dfe)
                #5  0x0000588c3096afb9 _ZZN6waybar7modules8hyprland3IPC8startIPCEvENKUlvE_clEv (waybar + 0xf3fb9)
                #6  0x000072ae5b6f7094 execute_native_thread_routine (libstdc++.so.6 + 0xf7094)
                #7  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #8  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22033:
                #0  0x000072ae5b42198a __sigtimedwait (libc.so.6 + 0x4298a)
                #1  0x000072ae5b420fec sigwait (libc.so.6 + 0x41fec)
                #2  0x0000588c3090ab14 _Z12signalThreadPv (waybar + 0x93b14)
                #3  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #4  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22036:
                #0  0x000072ae5b4fbf6d syscall (libc.so.6 + 0x11cf6d)
                #1  0x000072ae5cb61e9d g_cond_wait_until (libglib-2.0.so.0 + 0xcde9d)
                #2  0x000072ae5caba2bd n/a (libglib-2.0.so.0 + 0x262bd)
                #3  0x000072ae5caba377 g_async_queue_timeout_pop (libglib-2.0.so.0 + 0x26377)
                #4  0x000072ae5cb37fb0 n/a (libglib-2.0.so.0 + 0xa3fb0)
                #5  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #6  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #7  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22037:
                #0  0x000072ae5b4f253f __poll (libc.so.6 + 0x11353f)
                #1  0x000072ae5cb6b628 n/a (libglib-2.0.so.0 + 0xd7628)
                #2  0x000072ae5cafe2ff g_main_loop_run (libglib-2.0.so.0 + 0x6a2ff)
                #3  0x000072ae5c8e433c n/a (libgio-2.0.so.0 + 0x11c33c)
                #4  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #5  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #6  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)

                Stack trace of thread 22106:
                #0  0x000072ae5b4fbf6d syscall (libc.so.6 + 0x11cf6d)
                #1  0x000072ae5cb615a7 g_cond_wait (libglib-2.0.so.0 + 0xcd5a7)
                #2  0x000072ae5caba57c g_async_queue_pop (libglib-2.0.so.0 + 0x2657c)
                #3  0x000072ae5aaf5958 n/a (libpangoft2-1.0.so.0 + 0x9958)
                #4  0x000072ae5cb35725 n/a (libglib-2.0.so.0 + 0xa1725)
                #5  0x000072ae5b47d53e n/a (libc.so.6 + 0x9e53e)
                #6  0x000072ae5b4fea4c n/a (libc.so.6 + 0x11fa4c)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB) 14.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/waybar...
Reading symbols from /usr/lib/debug/usr/bin/waybar.debug...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.cachyos.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
[New LWP 22031]
[New LWP 22035]
[New LWP 22038]
[New LWP 22034]
[New LWP 22059]
[New LWP 22033]
[New LWP 22036]
[New LWP 22037]
[New LWP 22106]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `waybar -l debug'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::__atomic_base<int>::load () at /usr/include/c++/13.2.1/bits/atomic_base.h:505
[Current thread is 1 (Thread 0x72ae58f5fa40 (LWP 22031))]
(gdb) bt -full
#0  std::__atomic_base<int>::load () at /usr/include/c++/13.2.1/bits/atomic_base.h:505
No locals.
#1  spdlog::sinks::sink::should_log () at /usr/src/debug/spdlog/spdlog-1.14.1/include/spdlog/sinks/sink-inl.h:13
No locals.
#2  0x000072ae5d27dfcc in spdlog::logger::sink_it_ () at /usr/src/debug/spdlog/spdlog-1.14.1/include/spdlog/logger-inl.h:137
No locals.
#3  0x000072ae5d27bafa in spdlog::logger::log_it_ () at /usr/src/debug/spdlog/spdlog-1.14.1/include/spdlog/logger-inl.h:128
No locals.
#4  0x0000588c3090b2de in spdlog::logger::log () at /usr/include/spdlog/logger.h:123
No locals.
#5  spdlog::logger::log<char [14]> () at /usr/include/spdlog/logger.h:90
No locals.
#6  spdlog::logger::info<char [10]> () at /usr/include/spdlog/logger.h:243
No locals.
#7  spdlog::info<char [10]> () at /usr/include/spdlog/spdlog.h:253
No locals.
#8  operator() () at ../src/main.cpp:89
No locals.
#9  _FUN () at ../src/main.cpp:92
No locals.
#10 <signal handler called>
No locals.
#11 0x000072ae5b479a19 in futex_wait (futex_word=0x72ae240017b0, expected=2, private=0) at ../sysdeps/nptl/futex-internal.h:146
        __arg4 = 0
        __arg2 = 128
        _a3 = 2
        _a1 =<PHONE_NUMBER>61808
        resultvar = <optimized out>
        __arg3 = 2
        __arg1 =<PHONE_NUMBER>61808
        _a4 = 0
        _a2 = 128
        __ret = <optimized out>
        err = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#12 __GI___lll_lock_wait_private (futex=0x72ae240017b0) at lowlevellock.c:34
No locals.
#13 0x000072ae5b476e65 in __GI__IO_flush_all () at genops.c:698
        __futex = <optimized out>
        __self = 0x72ae58f5fa40
        _cleanup_start_doit = true
        _buffer = {__routine = 0x72ae5b474de0 <flush_cleanup>, __arg = 0x0, __canceltype = 0, __prev = 0x0}
        _cleanup_routine = 0x72ae5b474de0 <flush_cleanup>
        result = 0
        fp = 0x72ae240016d0
#14 0x000072ae5b477235 in _IO_cleanup () at genops.c:843
        result = <optimized out>
#15 0x000072ae5b4234c4 in __run_exit_handlers (status=0, listp=0x72ae5b5c36a0 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:129
        restart = <optimized out>
#16 0x000072ae5b423510 in __GI_exit (status=<optimized out>) at exit.c:138
No locals.
#17 0x000072ae5b404f55 in __libc_start_call_main (main=main@entry=0x588c308caed0 <main()>, argc=argc@entry=3, argv=argv@entry=0x7ffeb2332e18) at ../sysdeps/nptl/libc_start_call_main.h:74
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140731888119320, -7931804225152045746, 0,<PHONE_NUMBER>19352,<PHONE_NUMBER>0304,<PHONE_NUMBER>42752,<PHONE_NUMBER>248723278,<PHONE_NUMBER>351872334},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x7ffeb2332e18}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#18 0x000072ae5b40500a in __libc_start_main_impl (main=0x588c308caed0 <main()>, argc=3, argv=0x7ffeb2332e18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffeb2332e08)
    at ../csu/libc-start.c:360
No locals.
#19 0x0000588c308d4315 in _start ()
No symbol table info available.
(gdb) q

I got the same issue literally no app icons showing on my waybar
see

i also can't find  out why this is happening

I have similar issue:
UC1: If I have app1 on workspace1 and currently on workspace2, clicking on app1 on taskbar just put urgent on workspace1, but no switch.
UC2: If I have app1 on workspace1 and app2 on the same workspace, clicking on any app on taskbar just do nothing.
Hyprland version:
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

I have similar issue: UC1: If I have app1 on workspace1 and currently on workspace2, clicking on app1 on taskbar just put urgent on workspace1, but no switch. UC2: If I have app1 on workspace1 and app2 on the same workspace, clicking on any app on taskbar just do nothing.
Hyprland version:
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

Works with misc.focus_on_activate = true

I have similar issue: UC1: If I have app1 on workspace1 and currently on workspace2, clicking on app1 on taskbar just put urgent on workspace1, but no switch. UC2: If I have app1 on workspace1 and app2 on the same workspace, clicking on any app on taskbar just do nothing.
Hyprland version:
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

Works with misc.focus_on_activate = true

Thanks. The waybar issue causes rofi to crash. I'll try to see if rofi works properly.

There is a new problem, if you use misc.focus_on_activate = true, when someone at me or other events will activate that window, if you are writing code and suddenly the window is switched, it's not good!


Daemon does not start

I've written some code to test the service class:
import time

from service import Service

class TestService(Service):

	def run(self):
		i = 0
		while i < 5 and not self.got_sigterm():
			i += 1
			with open('./file.txt', 'a') as the_file:
				the_file.write('Service info: {}\n'.format(i))
			time.sleep(1)

if __name__ == '__main__':
	service = TestService('test_service', '/tmp')
	service.start()
	time.sleep(1)
	print(service.get_pid())

The program printed out None and file was not created.
After I've tried to modify the module, so this:
https://github.com/torfsen/service/blob/5cfe2aae2f4521485f2c7baf8bbdda2ef80f26de/src/service/__init__.py#L420-L450
I have changed to this:
try:
     setproctitle.setproctitle(self.name)
     self._debug('Process title has been set')
     files_preserve = (self.files_preserve +
                       self._get_logger_file_handles())
     DaemonContext(
         detach_process=False,
         signal_map={
             signal.SIGTTIN: None,
             signal.SIGTTOU: None,
             signal.SIGTSTP: None,
             signal.SIGTERM: on_sigterm,
         },
         files_preserve=files_preserve)
     self._debug('Daemon context has been established')

     # Python's signal handling mechanism only forwards signals to
     # the main thread and only when that thread is doing something
     # (e.g. not when it's waiting for a lock, etc.). If we use the
     # main thread for the ``run`` method this means that we cannot
     # use the synchronization devices from ``threading`` for
     # communicating the reception of SIGTERM to ``run``. Hence we
     # use  a separate thread for ``run`` and make sure that the
     # main loop receives signals. See
     # https://bugs.python.org/issue1167930
     thread = threading.Thread(target=runner)
     thread.start()
     while thread.is_alive():
         time.sleep(1)
 except Exception as e:
     self.logger.exception(e)

i.e. removed with near the DaemonContext, line 425. And now service is running fine.
Why it is not working without this modification?
Is my test service is written incorrectly?

I am getting the same error. +1 to follow the issue.

@YuriyLisovskiy There are two issues with your code:
The first thing is that in the service process, the working directory is set to / (the root directory). Unless your service is running as the root user, you won't have the permission to create a file there. You can see that if you enable logging:
import logging
from logging.handlers import SysLogHandler
import os
import time

from service import find_syslog, Service

class TestService(Service):

    def __init__(self, *args, **kwargs):
        super(TestService, self).__init__(*args, **kwargs)
        self.logger.addHandler(SysLogHandler(address=find_syslog(),
                               facility=SysLogHandler.LOG_DAEMON))
        self.logger.setLevel(logging.INFO)

    def run(self):
        self.logger.info('cwd = {}'.format(os.getcwd()))
        i = 0
        while i < 5 and not self.got_sigterm():
            i += 1
            with open('./file.txt', 'a') as the_file:
                the_file.write('Service info: {}\n'.format(i))
            time.sleep(1)

With this code, I find the following in my /var/log/syslog (that location might be different for you depending on your system's configuration):
Apr 27 14:55:24 leibniz cwd = /
Apr 27 14:55:24 leibniz [Errno 13] Permission denied: './file.txt'#012Traceback (most recent call last):#012  File "/home/torf/projects/service/src/service/__init__.py", line 407, in runner#012    self.run()#012  File "./issue11.py", line 26, in run#012    with open('./file.txt', 'a') as the_file:#012IOError: [Errno 13] Permission denied: './file.txt'

If you simply want to write into the current working directory of your script, then store that path in a variable (script_cwd = os.getcwd()) and reference it from within run -- or pass the directory to your service as a constructor argument.
The second issue is about service.get_pid() returning None. This could have two reasons: either your service isn't fully running when you call service.get_pid() (it usually takes some seconds) or it has already exited because of the permission exception described above. An easy way to resolve the former problem is to pass block=True to start. That way, start will block until the service is really running:
test_service = TestService('test_service', '/tmp')
test_service.start(block=True)
print(test_service.get_pid())

Regarding the fix you proposed: your changes completely disable the forking of the service into a separate process. That fixes the permission problem, but for the wrong reason :wink:
I think this will fix your issues, so I'm closing this ticket. Feel free to reopen it if required.

@torfsen Thanks much =)


Feature/context manager

Adds context management to Document class, to provide automatic cleanup of file resources after use.

Codecov Report

Merging #48 into development will increase coverage by 0.10%.
The diff coverage is 83.33%.

@@               Coverage Diff               @@
##           development      #48      +/-   ##
===============================================
+ Coverage        62.64%   62.74%   +0.10%
===============================================
  Files                8        8
  Lines             1210     1216       +6
===============================================
+ Hits               758      763       +5
- Misses             452      453       +1

Impacted Files
Coverage Δ

ebmlite/core.py
76.76% <83.33%> (+0.06%)
:arrow_up:

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 cc64b28...3d384d5. Read the comment docs.

I think it makes more sense to have the close() method always close the stream, and have the __exit__() method decide whether or not it calls self.close(), rather than always calling self.close() and have the decision made there.  This is mostly because I think that the user should expect the close() method to close the stream however the Document object was created, but shouldn't expect the context manager to close the stream if the stream exists outside that context.

@CFlaniganMide I initially felt the same (that close() should always close for consistency), but it looks like h5py's close is a no-op if the stream doesn't own the file (snapshot below), which is why I'm now thinking it should be left as-is.

I'm still conflicted, but this is arguably an edge case with few precedents to define a standard, so either is probably acceptable. I leave final approval to @CFlaniganMide if he feels strongly about it.

continuing my last comment, this is also the case with zipfile, which is a Python built-in package:

I'm convinced.

yeah, that's a pretty strong argument.

I wouldn't have dug for good evidence w/o opposition; thanks for the constructive skepticism

I think a likely use of the context would be something like this:
myschema = loadSchema("myschema.xml")
with myschema.load("myfile.ebml") as doc:
    ...

It might be good to test that application, but not crucial. Once the last Travis checks complete, go ahead and do the merge. You can delete the branch afterwards.

...btw are these travis checks taking a long time, or is it just me?

... ^ still not done?


Database corruption on 2.3.2660

Error while reading snapshot from database: Exception while parsing json.
Persistent analysis data may be incomplete

This error has occurred multiple times while working on the same file. Each time, most of the analysis work was lost
Here's the corrupted database :
corrupted.zip

Thanks for the report, there will be a fix out soon with 2.3.2691-dev. You can switch to the dev channel via Edit > Preferences > Update Channel