Random Semantics nodes are selected when the widget tree changes

With the following code:
class SemanticsHomePage extends StatefulWidget {
  _SemanticsHomePageState createState() => _SemanticsHomePageState();
}

class _SemanticsHomePageState extends State<SemanticsHomePage> {

  Widget _tree1;
  Widget _tree2;

  int _currentTree = 0;

  void _buildTrees() {
    _tree1 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        Text("Test 1", style: TextStyle(fontSize: 50)),
        Text("Test 2", style: TextStyle(fontSize: 50)),
        Text("Test 3", style: TextStyle(fontSize: 50)),
        FlatButton(child: Text("Change", style: TextStyle(fontSize: 20)), onPressed: () {
          setState(() {
            _currentTree = (_currentTree + 1) % 2;
          });
        })
      ],
    );
    _tree2 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        FlatButton(child: Text("Change", style: TextStyle(fontSize: 20)), onPressed: () {
          setState(() {
            _currentTree = (_currentTree + 1) % 2;
          });
        }),
        Text("Test 4", style: TextStyle(fontSize: 50)),
        Text("Test 5", style: TextStyle(fontSize: 50)),
        Text("Test 6", style: TextStyle(fontSize: 50)),
        Text("Test 7", style: TextStyle(fontSize: 50)),
        Text("Test 8", style: TextStyle(fontSize: 50)),
      ],
    );
  }

  @override
  void initState() {
    _buildTrees();

    super.initState();
  }

  @override
  void didUpdateWidget(SemanticsHomePage oldWidget) {
    _buildTrees();

    super.didUpdateWidget(oldWidget);
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
        body: Center(
            child: _currentTree == 0 ? _tree1 : _tree2
        )
    );
  }
}

Tapping the "Change" button causes any random element to get selected by Voice Over after the tree changes.
This prevents anyone from writing an application that can transition widgets in and out of the tree and have accessibility behave properly.
I have tried using a Semantics widget with the scopesNode and namesNode set to true, and provide a label placed above each subtree, but that doesn't work. It works the first time the sub tree is shown, but subsequent transitions no longer work. The scopesNode documentation says that the node should be selected automatically when a new scopesNode is inserted into the tree, but this does not work in the example above.
Is there a bug in Flutter, or is there something I need to do that I haven't tried yet?

danny.valente$ flutter doctor -v
[✓] Flutter (Channel dev, v1.16.2, on Mac OS X 10.14.6 18G4032, locale en-US)
• Flutter version 1.16.2 at /Users/danny.valente/Library/flutter/1.16.2-dev
• Framework revision 58cad787d8 (9 days ago), 2020-03-23 08:33:41 -0700
• Engine revision 2d42c74a34
• Dart version 2.8.0 (build 2.8.0-dev.16.0 ba8baa46b4)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/danny.valente/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS (Xcode 11.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3.1, Build version 11C505
! CocoaPods 1.7.5 out of date (1.8.0 is recommended).
CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To upgrade:
sudo gem install cocoapods
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

@dnfield Here's another. Any suggestions on this one?

semantics_issue.mov.zip

Issue exist on
[✓] Flutter (Channel dev, v1.16.4-pre.33, on Mac OS X 10.15.4 19E266, locale
    en-GB)
    • Flutter version 1.16.4-pre.33 at /Users/taha/Code/flutter_dev
    • Framework revision aee9e94c21 (33 hours ago), 2020-03-30 16:12:40 -0700
    • Engine revision c779894d08
    • Dart version 2.8.0 (build 2.8.0-dev.17.0 1402e8e1a4)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/taha/Code/sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.43.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[✓] Connected device (5 available)
    • SM M305F      • 32003c30dc19668f          • android-arm64  • Android 10
      (API 29)
    • Taha’s iPhone • 00008020-001059882212002E • ios            • iOS 13.4
    • macOS         • macOS                     • darwin-x64     • Mac OS X
      10.15.4 19E266
    • Chrome        • chrome                    • web-javascript • Google Chrome
      80.0.3987.149
    • Web Server    • web-server                • web-javascript • Flutter Tools

• No issues found!

Thanks @TahaTesser. What is the behavior on Android? Does it select the first widget of the new sub tree?

I just tested with pushing a new route onto the navigator and the same issue exists there.

I have a vague memory that we need to pump a frame for this to work - @goderbauer do you know what's going on here?

@goderbauer If you're interested, I modified my code from above a little to push a new route onto the navigation stack to prove that VoiceOver accessibility is broken in this case. A random node (or one close to what was previously selected...) is selected after a new route is pushed
class SemanticsHomePage extends StatefulWidget {
  const SemanticsHomePage({
    this.tree = 0
  });

  final int tree;

  _SemanticsHomePageState createState() => _SemanticsHomePageState();
}

class _SemanticsHomePageState extends State<SemanticsHomePage> {

  Widget _tree1;
  Widget _tree2;

  int _currentTree = 0;

  void _buildTrees() {
    _tree1 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        Text("Test 1", style: TextStyle(fontSize: 50)),
        Text("Test 2", style: TextStyle(fontSize: 50)),
        Text("Test 3", style: TextStyle(fontSize: 50)),
        FlatButton(child: Text("Change", style: TextStyle(fontSize: 20)), onPressed: () {
          setState(() {
            _currentTree = (_currentTree + 1) % 2;
          });
        }),
        if (widget.tree == 0)
          FlatButton(child: Text("Open", style: TextStyle(fontSize: 20)), onPressed: () {
            Navigator.of(context).push(PageRouteBuilder(pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) {
              return SemanticsHomePage(tree: 1);
            }));
          })
      ],
    );
    _tree2 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        FlatButton(child: Text("Change", style: TextStyle(fontSize: 20)), onPressed: () {
          setState(() {
            _currentTree = (_currentTree + 1) % 2;
          });
        }),
        Text("Test 4", style: TextStyle(fontSize: 50)),
        Text("Test 5", style: TextStyle(fontSize: 50)),
        Text("Test 6", style: TextStyle(fontSize: 50)),
        Text("Test 7", style: TextStyle(fontSize: 50)),
        Text("Test 8", style: TextStyle(fontSize: 50)),
        if (widget.tree == 1)
          FlatButton(child: Text("Close", style: TextStyle(fontSize: 20)), onPressed: () {
            Navigator.of(context).pop();
          })
      ],
    );
  }

  @override
  void initState() {
    _buildTrees();
    _currentTree = widget.tree;

    super.initState();
  }

  @override
  void didUpdateWidget(SemanticsHomePage oldWidget) {
    _buildTrees();

    super.didUpdateWidget(oldWidget);
  }

  @override
  Widget build(BuildContext context) {

    return Scaffold(
        body: Center(
            child: _currentTree == 0 ? _tree1 : _tree2
        )
    );
  }
}

What is interesting @goderbauer @dnfield is if I change the PageRouteBuilder to be a MaterialPageRoute, then the first widget on the new page is selected.

(I haven't read all the comments in this thread, but) the first example can be fixed by using a key:
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(home: Scaffold(body: SemanticsHomePage())));
}

class SemanticsHomePage extends StatefulWidget {
  _SemanticsHomePageState createState() => _SemanticsHomePageState();
}

class _SemanticsHomePageState extends State<SemanticsHomePage> {
  Widget _tree1;
  Widget _tree2;
  Key foo = UniqueKey(); /// <--- this is new

  int _currentTree = 0;

  void _buildTrees() {
    _tree1 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        Text("Test 1", style: TextStyle(fontSize: 50)),
        Text("Test 2", style: TextStyle(fontSize: 50)),
        Text("Test 3", style: TextStyle(fontSize: 50)),
        FlatButton(
          key: foo,   /// <--- this is new
          child: Text("Change", style: TextStyle(fontSize: 20)),
          onPressed: () {
            setState(() {
              _currentTree = (_currentTree + 1) % 2;
            });
          },
        )
      ],
    );
    _tree2 = Column(
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        FlatButton(
          key: foo, /// <--- this is new
          child: Text("Change", style: TextStyle(fontSize: 20)),
          onPressed: () {
            setState(() {
              _currentTree = (_currentTree + 1) % 2;
            });
          },
        ),
        Text("Test 4", style: TextStyle(fontSize: 50)),
        Text("Test 5", style: TextStyle(fontSize: 50)),
        Text("Test 6", style: TextStyle(fontSize: 50)),
        Text("Test 7", style: TextStyle(fontSize: 50)),
        Text("Test 8", style: TextStyle(fontSize: 50)),
      ],
    );
  }

  @override
  void initState() {
    _buildTrees();

    super.initState();
  }

  @override
  void didUpdateWidget(SemanticsHomePage oldWidget) {
    _buildTrees();

    super.didUpdateWidget(oldWidget);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(body: Center(child: _currentTree == 0 ? _tree1 : _tree2));
  }
}

This key causes Flutter to re-use the same semantics node for both buttons and thus keeping its a11y focus.

The scopesRoute doesn't work as used because you are replacing a Semantics(scopesRoute: true, ...) with another Semantics(scopesRoute: true, ...). That's just a no-op as the configuration of the tree hasn't changed.

@goderbauer That is not what I want. I am using a button in this example to be able to continually update the widget tree, but each update potentially has completely new elements. The first element of the new tree should be chosen, or something less random.
Also, I had thought of the Semantics widget replacing another Semantics widget issue as well, and so I had it updating the tree where it would replace an entirely different widget and it still was not working as expected.

Because of the way our actual application code is written, using a Semantics widget with scopesRoute: true works well because we add the new sub tree before removing the old one, so it actually works.
But it would be something an app developer would expect should work when replacing one sub tree with another.

Can you describe how you would like it to behave? The a11y guidance I have been getting from our a11y experts is that you should never manually move the a11y focus and always have the a11y service (TalkBack/VoiceOver) figure out where focus should go. The only exception is when a new route is pushed, in that case focus goes to the first element on screen.
If you modify screen content like in your example, my expectation would be that focus stays with whatever element caused the content change to retain the user's context.

I can agree with you on your expectation. I'm building something quite complex that replaces the entire view with new contents. The old contents fly off, while the new come in, and in the process, even the widget that caused the update flies out. Luckily, I add the new content in a Stack while the old flies out and the new flies in, so surrounding each subtree with a Semantics widget that has scopesRoute: true works, because the new one is added, and after an animation duration, the old is removed. So this will be good enough for me, and given the complexity, I guess it makes sense that the application developer has the responsibility of making something sophisticated to handle something like I'm trying to. I'd assume that using a Key on the semantics widgets would also give the same effect if swapping them out with each other all during the same frame.
Thanks again

@dannyvalentesonos Is there anything left to do on this issue? Or should we close it?

I'd say we can close. I've got things working pretty well now. Thanks.


Why roundPixels uses floor instead of round?

I would prefer that roundPixeled scene, looks as much as possible as the original one (one without rounded pixels), and math.floor clearly does NOT the job.
Consider 3 object:

x= 100.1
x= 100.5
x= 100.99

When floored, they are on same line. But when rounded, 3rd object will be 101, what is visually much closer to original.
There is no ideal scenario, but math.round is the ideal compromise/midlepoint in my opinion.

Ideally I could define it like roundPixels(myCustomFunction|boolean), where myCustomFunction = function(val) { return myroundfunc(val); }

Not a definitive answer, as I've not looked into it, but I do know I've had personal issues with Internet Explorer and using resolutions less than 1. Essentially, if you have an image that's 25px by 25px, but the draw command says draw 26x26 pixels on that texture (via rounding issues with resolutions); most browsers just silently deal with it, but IE throws errors. Flooring all draw commands via roundPixels solved the problem for us

@themoonrat i did not get your point. Sorry. From test I have done, round pixel just takes decimals like 1.90, and before drawing floors to 1. It could also do round and it would become 2. I don't see a problem there.

Yes, drawImage on IE (and older Firefox) used to crash if you tried to
round-up the number of available pixels the image actually had during
drawing.
However I don't believe it'll make any difference here, because roundPixels
only adjusts the x/y position the image is drawn to, not the dimensions of
it. The original comment misleadingly used 'Width' in the example, where it
should probably have said 'x' instead to avoid confusion.
It's a fair request, although the terseness of it leaves a lot to be
desired ('NOT', 'BAD', etc, is subjective, and unnecessary).
Photon Storm Ltd.
http://www.photonstorm.com
Skype: richard.davey
Twitter: @photonstorm
Registered in England and Wales.
Company ID: 8036404
VAT Number: 136 4333 27
On 13 January 2017 at 12:15, Dave Moore<EMAIL_ADDRESS>wrote:

Not a definitive answer, as I've not looked into it, but I do know I've
had personal issues with Internet Explorer and using resolutions less than

Essentially, if you have an image that's 25px by 25px, but the draw
command says draw 26x26 pixels on that texture (via rounding issues with
resolutions); most browsers just silently deal with it, but IE throws
errors. Flooring all draw commands via roundPixels solved the problem for us

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pixijs/pixi.js/issues/3581#issuecomment-272430115,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKCfLDHPVRbygr3jRuea39qJ8EHq7sxks5rR2r_gaJpZM4Li0PY
.

@photonstorm thanks for the remarks. I changed width to x, and removed "BAD" name in original comment. The "NOT" part is not  subjective, if you got the context (floor does a worse job in matching not rounded scene, than math.round - it's a fact).

Maybe I can change myself, for my project scope? Can't figure out where :)))

I prefer floor rather than round.
In the similar situation ， most frameworks/engines use floor .

Hi @trsh, good question! As @finscn mentioned, this using floor is the standard way to pixel snap stuff. Also as @themoonrat mentions we must be sure to not use numbers larger than the texture dimensions, as this will cause IE to throw an error. Using floor ensures this never happens.
Cheers!


Fix MulticastLogger DEBUG mode

When passing the config/settings data to the .apply_config_value method of Vmdb::Loggers, if the value was set to DEBUG the level wouldn't be changed in the lower level logger to reflect that.
This is because the MulticastLogger is instantiated and defaulted at DEBUG, but the logger it casts to (normally an instance of VMDBLogger) would have it's level defaulted to info.  When .apply_config_value is then called, it would compare the old value to the new one, and see it as the same, even though it was different under the covers.
This means when a user attempts to do a $log.debug "my message", the message would then not be applied.
The fix here effectively makes sure we are defaulting the lower level logger to the same log level as the parent, or the MulticastLogger.  When .apply_config_value is then eventually called, if the setting is set to DEBUG, nothing will change, but the level will be set properly for the lower level logger.  Anything level set higher than DEBUG will function as it has.
Regarding extra tests...
There was also some additional tests added to the new test file, spec/lib/vmdb/loggers_spec.rb, that covered some of the quirks of log levels in a container config.  Since $container_log is set to use the lib/vmdb/loggers/container_logger.rb, this means it's #level= method is set to override the default and always set itself to "DEBUG".  This is a bit confusing at first glace if you are trying to grok what is happening in lib/vmdb/loggers.rb, as it can seem like the whole thing wouldn't work as expected, and the level for the $container_log would be overwritten with each log type.
Links

PR adding MulticastLogger:  https://github.com/ManageIQ/manageiq/pull/15392
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1544919

@NickLaMuro Looks good to me (though I agree with bdunne's comments).
👍

@djberg96 @bdunne Should be all set.

Most of my comments are super-minor.
I am concerned that we default to DEBUG in this part of the code, but the MulticastLogger defaults to DEBUG in a different part of the code.  If the intention is to keep them linked, then code-wise it feels disconnected.  I'm ok with merging for now, as I'm not sure how to resolve that disconnect.

@Fryguy changes applied, minus the "comment about the comment".  Left an explanation and ref about that one.  Can change if you feel strongly about it.


Attaching to existing queues

Hello Christian,
I left a comment on an old issue https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency/issues/22 however I'm not sure if you will have seen that as the issue is closed.
My scenario is that if all services that are running the SqlTableDependency go down, when they start back up we can no longer connect to the queue (as it creates a new guid in the queue name each time) and instead connect to a new queue. However, the old queue may have still been queuing up table changes, therefore we will miss responding to these table changes.
You mentioned about changing our code to pass as parameter the queue name (in issue 22 that I have linked). Could you explain in detail how to achieve this, ie. What needs changing in our code? Does any of your code need changing? Where is your config file located? Do we need to call a specific method that accepts the queue name?
Kind regard,
James.

Hi @JamesT-W ,
in the past I released a SqlTableDependency extension package which enables re-connections without preserving existing database objects or conversation handlers.
Nowadays I'm working on a reconnection logic which tries to reuse an existing conversation, if it wasn't timeouted.
Please try the preview version and let me know if there are any issues.
https://www.nuget.org/packages/SqlTableDependency.Extensions/1.1.0-beta2
Thank you @christiandelbianco for your support.
Tomas

Hi @christiandelbianco
Thanks for the response and the suggestion of Tomas' extension, I went off looking at it and forgot to come back and thank you!
Thanks, James

Hi @tomasfabian ,
That's great, thanks for the response. I'll take a look at the preview version tomorrow and let you know if I do find any issues, but I'll do it in your repository instead of here rather than in Christian's.
Thanks, James


Upgrading to JDK 17 and Spring boot 3.0.1

MODRS-146 | Update to Java 17.
MODRS-147 | Update the module to Spring boot v3.0.0 and identify issues.
Purpose
Upgrading to JDK 17 and Spring boot v3.0.1
Approach

Most dependencies and plugins upgraded to latest or one of the latest version

import of javax.** libraries replaced by jakarta.**

rancher-pipeline, Jenkins, Docker files updated to use JDK 17

It's said  that as of Spring Framework 6.0, the trailing slash matching configuration option has been deprecated and its default value set to false. This means that previously, the following controller would match both "GET /some/greeting" and "GET /some/greeting/".  So, needed remove trailing slash from some of request paths in tests.

6.x.x versions of openapi-generator generates inline schemas with "Inner" suffix. As described here to avoid the suffix, added this line to  plugin configuration:
<inlineSchemaNameDefaults>arrayItemSuffix=</inlineSchemaNameDefaults>

On other specific changes left comments

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


feat: add active recall

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #76
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Manual Testing

Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

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


Missing external test set example file s27.v.tv.json

Hi,
The external test vector example file s27.v.tv.json ( PATH :RTL/ISCAS_89/s27.v.tv.json) is missing.
Would appreciate if the file would be availabl

e as I want to use external test set for my research purposes.
The link is broken.
Thanks

Do we link to that anywhere?

Yeah , its there is the wiki usage , under section: 2)Input TV Set a)JSON Format

Same issue here . @donn pls look into the issue for example test pattern json file.

The file apparently got lost in https://github.com/AUCOHL/Fault/commit/cd066bc1478ab8cf6795c2df3442316b5e7960d5 but can be extracted from the history: https://github.com/AUCOHL/Fault/blob/432adf445acef670fed994950fcf92c8cf8cfefa/RTL/ISCAS_89/s27.v.tv.json

On the file it is showing invalid file

Well, for various reasons, the vector format may or may not have changed. I would assume this is an issue of outdated documentation and not an issue of the file being invalid.
I will update the documentation.


update geysermetica + README.MD is better

update geysermetica + README.MD is better

Deleted gradle files and broken github workflows


[HOLD] HELPS-3358 Add disabled state to some components

Add the disabled flag to the IntroWhisper for a couple of the form components, to show that it is possible

Yeah, it was pretty annoying to modify that object


[BUG] MacOS Env cannot set number of intraop threads after parallel work has started

To Reproduce
from torchrl.envs import EnvCreator, ParallelEnv
from torchrl.envs.libs.gym import GymEnv

def run(from_pixels):
    env = ParallelEnv(
        2, EnvCreator(lambda: GymEnv("CartPole-v1", from_pixels=from_pixels))
    )
    print(env.reset())
    env.close()

if __name__ == "__main__":
    # No Bug:
    # run(from_pixels=False)

    # Bug:
    # On macOS Apple Silicon the following:
    # outputs: [W ParallelNative.cpp:230] Warning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (function set_num_threads)
    run(from_pixels=True)

Yields
torchrl ❯ python issue_cant_set_num_threads.py
/Users/moalla/mambaforge/envs/torchrl/lib/python3.10/site-packages/gymnasium/core.py:311: UserWarning: WARN: env.num_envs to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.num_envs` for environment variables or `env.get_wrapper_attr('num_envs')` that will search the reminding wrappers.
  logger.warn(
/Users/moalla/mambaforge/envs/torchrl/lib/python3.10/site-packages/gymnasium/core.py:311: UserWarning: WARN: env.reward_space to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.reward_space` for environment variables or `env.get_wrapper_attr('reward_space')` that will search the reminding wrappers.
  logger.warn(
/Users/moalla/projects/open-source/torchrl/rl/torchrl/envs/batched_envs.py:765: UserWarning: Cannot set number of intraop threads after parallel work has started or after set_num_threads call when using native parallel backend (Triggered internally at /Users/runner/work/_temp/anaconda/conda-bld/pytorch_1702400234613/work/aten/src/ATen/ParallelNative.cpp:230.)
  torch.set_num_threads(self.num_threads)
TensorDict(
    fields={
        done: Tensor(shape=torch.Size([2, 1]), device=cpu, dtype=torch.bool, is_shared=False),
        pixels: Tensor(shape=torch.Size([2, 400, 600, 3]), device=cpu, dtype=torch.uint8, is_shared=False),
        terminated: Tensor(shape=torch.Size([2, 1]), device=cpu, dtype=torch.bool, is_shared=False),
        truncated: Tensor(shape=torch.Size([2, 1]), device=cpu, dtype=torch.bool, is_shared=False)},
    batch_size=torch.Size([2]),
    device=cpu,
    is_shared=False)

System info
Did only test on MacOS for now.
torchrl ❯ mamba list | grep torch
# packages in environment at /Users/moalla/mambaforge/envs/torchrl:
pytorch                   2.1.2                  py3.10_0    pytorch
torchrl                   0.2.1+1874e9a             dev_0    <develop>
torchvision               0.16.2                py310_cpu    pytorch

`

Unfortunately I can't reproduce this with torch==2.1.2 or the nightlies on OsX...


Handle bad sqllite setup in REST message on ingest

When sqllite is not working properly, this line in the getDatasetStatus method could return null.  In this case, the REST call for ingesting a dataset returns a NullPointerException and the user has no idea what went wrong.  I'm still not sure why sqllite is having trouble.  I encountered this when running Myria on my laptop and ingesting a dataset through the newDatasetMultipart method.

Anyone know the cause of this? It popped up again for me, this time on a Myria cluster that used to work fine.  More generally, how do we look at the SQLite that Myria stores catalog information inside?

Hey Dylan, I would also recommend looking at the catalog and running the query that returns a null response. You can view the catalog by looking for the master.catalog file under the myria directory and open with sqlite3 master.catalog.
I'm not yet sure why an ingest would return a NullPointer, can you give more details about the error you get here?....If these ingests are failing, then the datasetStatus would not have anything to return.

Hi @jortiz16, I can't find the master.catalog file in the myria deployment location. I tried find . -name master.catalog.
According to the code, the null pointer is a result of the SQLite query not returning any results.

Irrespective of the underlying cause of this error, it seems like we should be throwing a CatalogException if the relation isn't found in SQLite.

Returning null at https://github.com/uwescience/myria/blob/master/src/edu/washington/escience/myria/coordinator/MasterCatalog.java#L1325 is the correct behavior, since we return 404 if the result is null: https://github.com/uwescience/myria/blob/master/src/edu/washington/escience/myria/api/DatasetResource.java#L110. So I don't think the above line is the cause of your NullPointerException.

@jingjingwang This line throws the NullPointerException. It is called when a new dataset is ingested.
https://github.com/uwescience/myria/blob/master/src/edu/washington/escience/myria/api/DatasetResource.java#L616

Can you provide the full stack trace? Seems like status variable is null, implying that that server.ingestDataset() failed at some point

@jortiz16 The status variable is null as a result of this line:
https://github.com/uwescience/myria/blob/master/src/edu/washington/escience/myria/coordinator/MasterCatalog.java#L1325

I see, for some reason the ingestion failed and getDatasetStatus returns null, but it's not handled in doIngest. I think we should at least check that in doIngest. Meanwhile why the ingestion failed to insert an entry? Could you check the table in the master catalog? The catalog should be in the master's working directory, as specified in "path" in deployment.cfg.

Also logs during ingestion may be helpful. If you still can't find master.catalog, try a new deployment at some other place. (any chance that the disk was full?)

Yep, I found the master.catalog now. It does not have an entry for the new table in either the relations table or stored_relations table. Yet the ingest returns success.  Same phenomena happens when I create a new relation as the result of a store, as in the query
a = scan(smallTable);store(a, smallTable_curl);
The relation smallTable is fine; it previously existed. The smallTable_curl relation does not exist. Yet the query returns SUCCESS.

Here is a clue from the logs:
16/08/11 17:07:37 INFO parallel.MasterSubQuery: Starting execution for query #1445.0
16/08/11 17:07:37 INFO parallel.Server: Worker #1 succeeded in executing query #1445.0.
16/08/11 17:07:37 INFO parallel.MasterSubQuery: Query #1445.0 executed for 0.073736731s
16/08/11 17:07:37 WARN concurrent.OperationFutureBase: An exception was thrown by OperationFutureListener.
edu.washington.escience.myria.coordinator.CatalogException: java.util.concurrent.ExecutionException: edu.washington.escience.myria.coordinator.CatalogException: com.almworks.sqlite4java.SQLiteException: [1] DB[1] prepare() INSERT INTO rel
ation_schema(user_name,program_name,relation_name,col_index,col_name,col_type,is_indexed,is_ascending_index) VALUES (?,?,?,?,?,?,?,?); [table relation_schema has no column named is_indexed]
        at edu.washington.escience.myria.coordinator.MasterCatalog.updateRelationMetadata(MasterCatalog.java:1821)
        at edu.washington.escience.myria.parallel.DatasetMetadataUpdater.operationComplete(DatasetMetadataUpdater.java:77)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.notifyListener(OperationFutureBase.java:582)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.notifyPreListeners(OperationFutureBase.java:563)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.wakeupWaitersAndNotifyListeners(OperationFutureBase.java:144)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.setSuccess0(OperationFutureBase.java:482)
        at edu.washington.escience.myria.parallel.LocalSubQueryFuture.setSuccess(LocalSubQueryFuture.java:58)
        at edu.washington.escience.myria.parallel.MasterSubQuery$WorkerExecutionInfo$2.operationComplete(MasterSubQuery.java:105)
        at edu.washington.escience.myria.parallel.LocalSubQueryFutureListener.operationComplete(LocalSubQueryFutureListener.java:45)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.notifyListener(OperationFutureBase.java:582)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.notifyListeners(OperationFutureBase.java:541)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.wakeupWaitersAndNotifyListeners(OperationFutureBase.java:151)
        at edu.washington.escience.myria.util.concurrent.OperationFutureBase.setSuccess0(OperationFutureBase.java:482)
        at edu.washington.escience.myria.parallel.LocalSubQueryFuture.setSuccess(LocalSubQueryFuture.java:58)
        at edu.washington.escience.myria.parallel.MasterSubQuery.workerComplete(MasterSubQuery.java:324)
        at edu.washington.escience.myria.parallel.QueryManager.workerComplete(QueryManager.java:307)
        at edu.washington.escience.myria.parallel.Server$MessageProcessor.run(Server.java:199)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at edu.washington.escience.myria.util.concurrent.RenamingThreadFactory$1.run(RenamingThreadFactory.java:33)
Caused by: java.util.concurrent.ExecutionException: edu.washington.escience.myria.coordinator.CatalogException: com.almworks.sqlite4java.SQLiteException: [1] DB[1] prepare() INSERT INTO relation_schema(user_name,program_name,relation_name,col_index,col_name,col_type,is_indexed,is_ascending_index) VALUES (?,?,?,?,?,?,?,?); [table relation_schema has no column named is_indexed]
        at com.almworks.sqlite4java.SQLiteJob.get(SQLiteJob.java:329)
        at com.almworks.sqlite4java.SQLiteJob.get(SQLiteJob.java:283)
        at edu.washington.escience.myria.coordinator.MasterCatalog.updateRelationMetadata(MasterCatalog.java:1819)
        ... 21 more
Caused by: edu.washington.escience.myria.coordinator.CatalogException: com.almworks.sqlite4java.SQLiteException: [1] DB[1] prepare() INSERT INTO relation_schema(user_name,program_name,relation_name,col_index,col_name,col_type,is_indexed,is_ascending_index) VALUES (?,?,?,?,?,?,?,?); [table relation_schema has no column named is_indexed]
        at edu.washington.escience.myria.coordinator.MasterCatalog.addRelationMetadata(MasterCatalog.java:412)
        at edu.washington.escience.myria.coordinator.MasterCatalog.access$1000(MasterCatalog.java:64)
        at edu.washington.escience.myria.coordinator.MasterCatalog$24.job(MasterCatalog.java:1793)
        at edu.washington.escience.myria.coordinator.MasterCatalog$24.job(MasterCatalog.java:1778)
        at com.almworks.sqlite4java.SQLiteJob.execute(SQLiteJob.java:372)
        at com.almworks.sqlite4java.SQLiteQueue.executeJob(SQLiteQueue.java:534)
        at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:667)
        at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
        at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
        at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.almworks.sqlite4java.SQLiteException: [1] DB[1] prepare() INSERT INTO relation_schema(user_name,program_name,relation_name,col_index,col_name,col_type,is_indexed,is_ascending_index) VALUES (?,?,?,?,?,?,?,?); [table relation_schema has no column named is_indexed]
        at com.almworks.sqlite4java.SQLiteConnection.throwResult(SQLiteConnection.java:1436)
        at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:580)
        at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:635)
        at com.almworks.sqlite4java.SQLiteConnection.prepare(SQLiteConnection.java:622)
        at edu.washington.escience.myria.coordinator.MasterCatalog.addRelationMetadata(MasterCatalog.java:394)
        ... 10 more
16/08/11 17:07:37 INFO coordinator.MasterCatalog: Finishing subquery 1445.0
16/08/11 17:07:37 INFO coordinator.MasterCatalog: Subquery #1445.0 succeeded. Time elapsed: 0.073736731s.

Indeed the SQLite table relation_schema has no column named is_indexed.  Here is the schema of that table:
CREATE TABLE relation_schema (
    user_name TEXT NOT NULL,
    program_name TEXT NOT NULL,
    relation_name TEXT NOT NULL,
    col_index INTEGER NOT NULL,
    col_name TEXT,
    col_type TEXT NOT NULL,
    FOREIGN KEY (user_name,program_name,relation_name) REFERENCES relations ON DELETE CASCADE);

Which branch were you working on? Master branch has is_indexed.

But anyway I believe if you restart everything with scratch, the problem should be gone. Meanwhile we should check that null in doIngest.

I was using the master branch as of a month ago. Maybe something changed since then?
Yes, it appears I should blow away the cluster and start from scratch. I'm not sure what the cleanest way to do that is. Delete the deployment directory and the Postgres databases, and clear HDFS?

is_indexed was introduced about 15 days ago. If you had an old commit and updated, this might be why you're having this issue

I think ./gradlew clean shadowJar is enough once you are with the latest master branch. It's only a change to catalog.

Can I do something like
ALTER TABLE relation_schema
ADD  is_indexed INTEGER NOT NULL DEFAULT 0,
is_ascending_index INTEGER DEFAULT 0

or is this not enough to repair sqlite to the latest version?

You can have a try, I'm not sure if it will cover all the differences between your branch and master branch though. But if it works, it works :)

In the future, I hope Myria supports versioning and releases...

This appears to have worked.

Closing this issue since the root cause is addressed in https://github.com/uwescience/myria/issues/846


Version 2.12 Lookup Rollup Summary Schedule Item Runs All Scheduled Rollups for Parent Id

Describe the bug
After upgrading to Version 2.12, RollupJob will recalculate all Scheduled rollups for the Parent Id indicated in the Lookup Rollup Summary Schedule on Lookup Rollup Summary Schedule Item, not just the rollup indicated by Lookup Rollup Summary 2.
This is an issue when the Parent Id object (referred from now on as "Child Object X") can have a parent of the same object (referred from now on as "Parent Object X") with its own Scheduled rollups from Child Object X to Parent Object X, and the recalculation of all Scheduled rollups with the Child Object X as the Parent Id zeroes out the summary fields that should only be recalculated on Parent Object X records (since the rollups for those summary fields will only be recalculated when a Child Object X is added to Parent Object X but never will a Child Object X lookup to another Child Object X).
This is an issue for us since we use a field for manual entry on Child Object X and then write up the sum of those manual entries from Child Object X to the same field on Parent Object X. Running all scheduled rollups with Child Object X as Parent Id clears out the manual entries with 0 since there are no children to Child Object X.
This improper recalculation does not happen when Schedule Mode is Realtime.
To Reproduce
Steps to reproduce the behavior:

Create a Scheduled rollup from Opportunity to Account
Create a Scheduled rollup from Child Account to Parent Account
Associate an Opportunity to an Account
A Lookup Rollup Summary Schedule Item will be created with the Child Account as Parent Id
Run RollupJob
The rollup from Step 1 AND the rollup from Step 2 with Child Account as Parent Id will be recalculated even though only the rollup from Step 1 should be recalculated.

Expected behavior
For each Lookup Rollup Summary Schedule Item, only the Scheduled rollup indicated in the Lookup Rollup Summary 2 will recalculated for Parent Id and other summary fields populated by other Scheduled rollups on the Parent Id will not be affected.
Screenshots
Rollup Other Object to Child Object X

Rollup Child Object X to Parent Object X

Thanks @benjaminluehrsppfa for the detailed description - i will write a test to reproduce this based on your explanation. Have marked this as a Priority fix for my next dev window - which will be sometime this week since i have some PTO. :-)


Remove torch req from LM example

Hi
Specifying torch requirement causes some bug in our QA infra, can we just skip the obvious pytorch requirement? I am not sure this version is still supported.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Feasibility of modifying to use Amazon DynamoDB in place of filesystem

DynamoDB is a simple key-value store.  How much work would it be for me to modify JDBM3 to use DynamoDB with key-values of <block-id, block-contents> in place of filesystem calls, so I could use JDBM3 in a multi-user environment?
DynamoDB doesn't supports transactions, but it does support conditional updates.  I'm ok with disabling transaction support and caching.  But I'm wondering what would happen during a b-tree leaf node split that required the parent be split as well, if the server crashed half-way through the split.  Would it leave the b-tree in an unusable state, or would whatever was just added simply be lost?
I'm sure glad to see that you're doing this.  I want to be able to store sorted collections in DynamoDB, and I was afraid that I was going to have to implement the b-tree logic myself.  I know that DynamoDB supports sorted collections using two-part keys, but there are performance implications, so I'd rather not use them if I can avoid it.

Hi,
JDBM currently have those layers (from consumer down to raw disk)

collection with index (BTree, HTree)
instance cache
serialization
primitive record key-value store (long as key, byte[] as array).
disk store (ram, zip, file)

And if I understand correctly, this proposal is about JDBM using different implementation at level 4. I think this is very good idea and will definitely implement it.
My idea is: JDBM will export one more interface RecordManager with somethink like this:
long insert(byte[]) //insert new record, returs recid
void delete(long)  //delete record by recid
void update(long,byte[]) //update give record with new data
boolean supportTransaction()
void roolback()
void commit()

And user will be able to supply alternative implementation in DBMaker. In this case JDBM will use other db as back-end, but user will still get instance cache, collections, serialization and other honey JDBM privides.
Only problem is that I am not going to write wrapper for DynamoDB. Reference wrapper implementation will use LevelDB or Tokyo Cabinet. JDBM will also still support only single transaction per store.
ETA 2 weeks.

Thank you for the reply!  I'll check back in a couple of weeks.

Hi,
JDBM now has very basic support for alternative key-value stores. Checkout RecordManager interface to give you some basic  understanding. But it is still not finished.
https://github.com/jankotek/JDBM3/blob/master/src/main/java/net/kotek/jdbm/RecordManager.java

I decided not to implement this. Multiple key-value would complicate design too much. I reverted previous GIT commit

ok, thanks for letting me know.


Image CAPTCHA not effective anymore

Gitea version (or commit ref): 1.12.3

Description
I have the signup form image CAPTCHA enabled on my Gitea server but in the past few days there have been many bots registering accounts (and failing to get the confirmation emails, which bounce or are flagged as spam by random idiots, hurting my mail server's reputation). It seems that either the bots are able to solve the CAPTCHA or there's some way around it. I did notice that requesting the CAPTCHA image over and over with the same URL (i.e. right-click image, open in new tab, F5) will produce dozens of new images with the same correct answer, so they might be using that to figure out the correct answer. Or it's just too easy to begin with.

Here's an alternative CAPTCHA library with more options for difficulty and different types (numbers, letters, math problems):
https://github.com/mojocn/base64Captcha
demo/sandbox

Another option is to add alternative CAPTCHA options such as hCaptcha or Captcheck. I don't use Google's reCAPTCHA because I believe forcing users to run spyware on their devices in order to use my websites is wrong.

FYI: Since opening this issue, bots have created 169 new accounts that were never activated and I've received over a dozen abuse reports from people who flagged the confirmation emails as spam.

Instead of doing captcha for human, I remember, I've read something about showing captcha only for bots in some hidden fields in the page. If the captcha is complete it's obviously a bot because human people hasn't been able to see it throught their browser.

Since #12594 merged, I will close this one. Please feel free to reopen it.


Warning 106 and error 18

Getting Warning 106 while trying to joinChannelVideo and joinChannelAudio.
@LichKing-2234 do you suggest any Idea to fix this.

A timeout occurs when joining the channel. Once the specified channel is found, the SDK starts joining the channel. This warning usually occurs when the network connection is too poor for the SDK to connect to the server.
i am using agora and i never seen this error. maybe you must check your logic or your code.


[WIP] Initial release of ItemBuilder

There is still much of work on it.
Like:

Add ability to make items with AttributeDefinition.
Add ability to create any kind of items e.g. jewellery, jewels, tickets, maps, etc.
Change syntax for item creation... Create AtSlot() method to be first and required in flow.
Get ideas about : how to make flow syntax better as well as namings.
Add checks like for double initialization.
Comment out the code.

Wow, I just had a quick look at the code, but I guess this was already a lot of work.

After over 2 years of inactivity, I'm closing this for now. If you want to work on that again, please leave a comment.


Trouble understanding the level property on loggers

export async function setupLogging() {
	await configure({
		sinks: {
			console: getConsoleSink({
				formatter: ansiColorFormatter,
			}),
			jsonl: getFileSink("log.jsonl", {
				formatter: (record) => `${JSON.stringify(record)}\n`,
			}),
			db: getFileSink("db-log.jsonl", {
				formatter: (record) => `${JSON.stringify(record)}\n`,
			}),
		},
		loggers: [
			{
				category: ["hono"],
				level: "info",
				sinks: ["jsonl"],
			},
			{
				category: ["hono", "debug"],
				level: "debug",
				sinks: ["console"],
			},
			{
				category: ["hono", "db"],
				level: "debug",
				sinks: ["db"],
			},
		],
	});
}

With the above setup, I would expect that a logger created using getLogger(["hono", "db", "some-module"] to log INFO and above to both jsonl and db sinks, but any DEBUG logs to only be sent to the db sink.
In reality, all logs are sent to both sinks.
This is the same for a logger with category ["hono", "console", "something"]; I wouldn't expect debug logs to be sent to jsonl, but they are.
Using parentSink: override works as expected: all levels of logs are sent to the correct sink, nothing is sent to jsonl.
Can you help me understand how I can set this up correctly?

No, you're not wrong in your understanding. It appears to be a bug in LogTape, which I'll get fixed soon.

One workaround you can use right now is to use sink filters.

Upon further reflection, I don't think it's a bug, but I realized that the current configuration syntax is easy to misunderstand. I'll try to fix the configuration syntax in the next version.

Thanks for your help! Filters work great, and otherwise I really enjoy the API so far

Since LogTape 0.8.0, the level option is deprecated in favor of the new lowestLevel option.  See also the docs.


git diff on untracked new file shows erroneous removal of non-existant first line

Type: Bug

create a file with some contents in an existing git working dir
go to git tab, select file

the diff viewer shows that line #1 is being replaced. this is wrong: there is no prior version containing line #1.

also repos on github.dev 1.18.2
VS Code version: Code 1.82.2 (abd2f3db4bdb28f9e95536dfa84d8479f1eb312d, 2023-09-14T05:55:25.390Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Remote OS version: Linux x64 4.4.0-19041-Microsoft
Connection to 'wsl+centos7' could not be established

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz (6 x 2904)

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

Load (avg)
undefined

Memory (System)
47.85GB (16.33GB free)

Process Argv
C:\Users\PiersH\AppData\Roaming\com.bostrot\WSL Distro Manager\wslmanager_01.log

Screen Reader
no

VM
0%

Item
Value

Remote
WSL: Ubuntu-22.04

OS
Linux x64 4.4.0-19041-Microsoft

CPUs
Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz (6 x 2901)

Memory (System)
47.85GB (16.31GB free)

VM
0%

Connection to 'wsl+centos7' could not be established
Extensions (12)

Extension
Author (truncated)
Version

autoconf
mae
0.2.0

remote-containers
ms-
0.309.0

remote-ssh
ms-
0.106.4

remote-ssh-edit
ms-
0.86.0

remote-wsl
ms-
0.81.4

vscode-remote-extensionpack
ms-
0.24.0

remote-explorer
ms-
0.4.1

remote-server
ms-
1.4.3

gitlens
eam
14.3.0

cpptools
ms-
1.17.5

cpptools-extension-pack
ms-
1.3.0

markdown-all-in-one
yzh
3.5.1

(2 theme extensions excluded)

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

not sure how the repro instructions are unclear.
in this video I:

create a new file "NEW_FILE"
put some contents in it
go to the git tab, and select the file

you can clearly see that the diffs show the removal of line #1 (the first line in red), included in my screenshot above.
this is a regression. previous versions of vscode did not do this.

is that enough info?

@hediet, could you please take a look at this? Thanks!

This works as designed, the problem is just that we treat non-existing files as empty files.
For empty files, the behavior makes sense.
Thus, this is a feature request about showing file creations/deletions in a different way.


Provide image format info

Be able to show the format when a VM image is imported.
The incentive is to handle root volume differently for iso image.

we need to support differing the image by its file extension and OS using a specified label, i.e:

Windows vs Linux
.iso image vs non-ISO image

adding default label when uploading the image

as discussed offline, using labels to manage the disk logic from UI does not make sense instead we will add default template to facilitate root volume configuration of different OS and iso images.

close in favor of https://github.com/rancher/harvester/issues/72


Incoming Call Not Received in Xcode Simulator.. Help!

Hello, I am new to IOS development, but have followed along with the quick start for Swift several times and am repeatedly encountering issues at step number 10. I have successfully set everything up as far as I can tell, but I am not receiving the incoming call on my simulator in Xcode when I hit the /placeCall.php endpoint. I do not receive any errors or any indication that a call was attempted. The log indicated that there was "no answer".
One sid that exhibits such behavior is: CA313a9cc5d0a5b13394715532d9fff3d8
Thank you in advance for your help!

Hi @gildermcd
Thanks for reaching out and glad that you were able to get majority of the quickstart working!
Currently push notifications only works on actual devices so you will need to run on an iPhone or iPad in order to receive VoIP pushes for incoming call invites.
Let us know in case you need help with notifications on devices.
Cheers,
-bobie

Thank you, Bobie. I have got it working now!


agg stat calculates PSTD statistics incorectly

Describe the Problem
The values that agg_stat logic calculates for PSTD_ stats are differ from the sum stat and also differ trom the values in hte database. Need to reexamine agg_stat logic for PCT/PSTD line type
Expected Behavior
The values for the PSTD_ statistic for a single case that is calculated with sum and agg stat logic should be the same
To Reproduce
Attached XMLs should produce the same plot
plot_20200630_145954.xml.txt
plot_20200630_145820.xml.txt
Relevant Deadlines
NONE.
Funding Source
NONE.
Define the Metadata
Assignee

[ ] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required

Labels

[ ] Select component(s)
[ ] Select priority
[ ] Select requestor(s)

Projects and Milestone

[ ] Review projects and select relevant Repository and Organization ones
[ ] Select milestone

Define Related Issue(s)
Consider the impact to the other METplus components.

[ ] METplus, MET, METdb, METviewer, METexpress, METcalcpy, METplotpy

Bugfix Checklist
See the METplus Workflow for details.

[ ] Complete the issue definition above.
[ ] Fork this repository or create a branch of master_<Version>.
Branch name:  bugfix_<Issue Number>_master_<Version>_<Description>
[ ] Fix the bug and test your changes.
[ ] Add/update unit tests.
[ ] Add/update documentation.
[ ] Push local changes to GitHub.
[ ] Submit a pull request to merge into master_<Version>.
Pull request: bugfix <Issue Number> master_<Version> <Description>
[ ] Iterate until the reviewer(s) accept and merge your changes.
[ ] Delete your fork or branch.
[ ] Complete the steps above to fix the bug on the develop branch.
Branch name:  bugfix_<Issue Number>_develop_<Description>
Pull request: bugfix <Issue Number> develop <Description>
[ ] Close this issue.

The problem is in the code where values for T and o_bar are calculated.
Instead of sum all oy_i and on_i columns only the first columns were used.


Add rollershutters for fatek binding

Please add rollershuter function for fatek binding (openhab3)

Will come with #72. The #73 can be used for testing OH 4.1.x.


Include deployment in endpoint discovery error

@arnej27959
FYI @kkraune

Better! I am still not sure if the end users would immediately understand that -z would help, we could hint in the error message, like:
no endpoints discovered for %s, use -z for endpoints in other zones

Much better!

Example:
$ vespa status -z prod.us-north-1
Error: service 'query' is unavailable: no endpoints discovered for deployment of vespa-team.music.mpolden in prod.us-north-1
Hint: Confirm that you're communicating with the correct zone and cluster
Hint: The -z option controls the zone
Hint: The -C option controls the cluster


[@typespec/http-specs] Added Spec Summary

During the modification of Scenarios in the past weeks, this spec-summary was not added because the scenarios were undergoing modifications. Now, as the migration is complete, this spec summary could be generated.
I have compared the generated file with the file in the cadl-ranch summary and confirmed that it is exactly the same except for one change. In the cadl-ranch repository, the type/model/templated scenarios have been removed recently. Those scenarios are still present in this typespec repository and part of this spec summary.
Please review and approve the PR. Thanks

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs

need to include that as part of the CI if we want to include it, I am just not sure we still need to include that, but maybe why not

@timotheeguerin  I have added the scenario summary to CI. https://dev.azure.com/azure-sdk/public/_build/results?buildId=4244764&view=logs&j=3c0fd1c5-f915-5f9e-1a75-401a79398b8d&t=a73f946c-18d7-5989-79d0-ba3ac014413d
Is this ok?


Make xlc compiler the default on BGQ

Original issue: https://charm.cs.illinois.edu/redmine/issues/311

No body.

Original date: 2013-11-04 21:59:19

xlc is now the default for pami, pamilrts and mpi on BGQ.


PDF reports not working - file is corrupted

What version of Node.js are you using?
18
What operating system are you using?
Ubuntu
What version of SnailyCAD are you currently using?
v1.73.0 fedb678
Describe the Bug
Clicking on Export button that should generate PDF report of some ticket/arrest report, it generates broken PDF.
Expected Behavior
When clicking the button, it generates and downloads PDF that can be open and is not distorted.
To Reproduce
Click on the Export button and open downloaded PDF.

So, this is most likely an issue that happens when installing the dependencies. Here's a similar issue I had:

Are you able to follow their troubleshooting guide and also check if you're receiving an error in the API logs if an error occurs please.

Also, let me know if you're running SnailyCAD as root user, there are some things that need to be configured in that case. @bartusek27

I have probably fixed the Puppeteer problem - this should probably be implemented into the docs that I need Chromium for this - also it seems that I have the same problem with root.

Alright, perfect. Will add a page to the docs later today that explains the root issue & fix for that. It will also include the required dependencies puppeteer requires

Please update to the very latest version and check this doc page: https://docs.snailycad.org/docs/errors/corrupt-pdf-export


render ply models to depth face maps

Hi,
Thank you for sharing your work. I meet a problem about how to render ply models (having no tri faces) to depth face maps. I am looking for your help.Thanks!

Duplicated issue to https://github.com/cleardusk/3DDFA_V2/issues/17.


Can not run objective-c demo

Showing All Messages
Unknown file type in '/Users/xxx/Downloads/SpeechSuper-SDK-iOS-ObjectiveC-Demo-main/RecorderDemo/Speechsuper/libskegn.a'

This issue might be due to large files in our iOS SDK not downloading successfully. Please use git lfs to download the repo, as the .a files are quite large.


PROGRAMS.md added

Reference Issues/PRs
#100
What does this implement/fix? Explain your changes. [Genrated by Copilot AI - GitHub :+1: ]
This pull request includes several updates to documentation files, including the addition of a new overview of breathing programs and modifications to existing files. The most important changes are summarized below:
Documentation updates:

PROGRAMS.md: Added a comprehensive overview of Nafas breathing programs, detailing each program's description, level, ratios, unit, and cycles. This addition provides users with a clear understanding of the available programs and their benefits.
README.md: Updated to include a link to the newly added PROGRAMS.md for users to easily access the list of available programs. This change enhances the usability of the README by directing users to more detailed information.

Changelog update:

CHANGELOG.md: Modified to reflect the changes made to README.md, ensuring that the changelog is up-to-date with the latest documentation updates.

It will be nice if you also explain what is 'sustain' and 'retain' means. I'm foreigner and many MTL translate this as the same

It will be nice if you also explain what is 'sustain' and 'retain' means. I'm foreigner and many MTL translate this as the same

@KuzyXD
Thank you for your comment. You are correct; we will include it in a future PR.💯


Fix error in yarn build due to missing dependency

When ran yarn build it went into error due to missing DynamicStructuredTool available in langchain/core/tools and used in RetrieverTool.ts.
This had brought to fail the retriever to work properly.
Solution was to add the @langchain/core dependency.

I had the same problem and this fix solves the issue.

thanks! we'll be doing a big upgrade to langchain v0.1.0 and that includes this dependency as well

closing this as moved to https://github.com/FlowiseAI/Flowise/pull/1691


Basic flake.nix results in error: attribute 'currentSystem' missing on nix build

Issue description
I have the following flake.nix:
{
  inputs = { utils.url = "github:numtide/flake-utils"; };

  outputs = { self, nixpkgs, utils }:
    utils.lib.eachDefaultSystem (system:
      let pkgs = import nixpkgs { };
      in { packages = { inherit (pkgs) hello; }; });
}

And I'm seeing the following error when attempting to build:
root@b62e2017d34d:/workspaces/bitbop# nix build .#hello
warning: Git tree '/workspaces/bitbop' is dirty
error:
       … while evaluating a branch condition
         at /nix/store/371rdljjbpd9njxnrzns793apg1x1x2k-source/pkgs/stdenv/booter.nix:64:9:
           63|       go = pred: n:
           64|         if n == len
             |         ^
           65|         then rnul pred

       … while calling the 'length' builtin
         at /nix/store/371rdljjbpd9njxnrzns793apg1x1x2k-source/pkgs/stdenv/booter.nix:62:13:
           61|     let
           62|       len = builtins.length list;
             |             ^
           63|       go = pred: n:

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: attribute 'currentSystem' missing
       at /nix/store/371rdljjbpd9njxnrzns793apg1x1x2k-source/pkgs/top-level/impure.nix:17:43:
           16|   # (build, in GNU Autotools parlance) platform.
           17|   localSystem ? { system = args.system or builtins.currentSystem; }
             |                                           ^
           18|
root@b62e2017d34d:/workspaces/bitbop#

Steps to reproduce
I've posted my complete setup, including flake.lock in this gist.
Technical details
root@b62e2017d34d:/workspaces/bitbop# nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-linux"`
 - host os: `Linux 6.6.22-linuxkit, Ubuntu, 24.04 (Noble Numbat), nobuild`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.20.5`
 - nixpkgs: `/nix/store/bjv2qk3gg1iv69rbama3q9aprcp6d9wp-source`

you need to do let pkgs = import nixpkgs { inherit system; }; instead

Thanks @lunaneff -- that indeed was the issue. I'm confused however: Specifying system isn't required in other invocations, eg in nix-shell. Why is it failing here? Shouldn't it ought to default to the host system?
This seems like a real footgun.

@samuela nix-shell defaults to impure evaluation, whereas nix shell defaults to pure evaluation (unless it is called with --file).

Shouldn't it ought to default to the host system?
that's what it's trying to do, using builtins.currentSystem, but that information is not available in pure evaluation mode.

also, you should really be doing pkgs = nixpkgs.legacyPackages.${system}; to actually import the packages from the flake.  currently you are implicitly asking nix to evaluate the default.nix file found in the same directory as the flake.nix file.

perhaps we could change impure.nix to do something like builtins.currentSystem or throw "it seems you are trying to load nixpkgs in pure evaluation mode, please specify system"
we could even check for the presence of builtins.getFlake to decide if we should give flake-related hints, like recommending using legacyPackages.${system}.

Ah yeah that makes sense! I think that would be a big improvement in terms of clarity

also, you should really be doing pkgs = nixpkgs.legacyPackages.${system}; to actually import the packages from the flake.

why should i be using legacyPackages? that sounds like... legacy code?

why should i be using legacyPackages? that sounds like... legacy code?

Because legacyPackages is for the legacy package method, the multi-level attribute way Nixpkgs does it. The regular packages is for your Flake's own packages.

that sounds like... legacy code?

It's not, it's how nixkpgs exposes its packages in the first place.

also, you should really be doing pkgs = nixpkgs.legacyPackages.${system}; to actually import the packages from the flake. currently you are implicitly asking nix to evaluate the default.nix file found in the same directory as the flake.nix file.

legacyPackages.${system} is actually implemented as import ./. { inherit system; } — if you're not passing overlays or config options to Nixpkgs, these two forms are equivalent

it's equivalent for nixpkgs specifically, at the current time, but for other flakes, and possibly future nixpkgs versions, it may be different, so it shouldn't be encouraged.


flake8 . --select=E901,E999,F821,F822,F823

Stop the build if there are Python syntax errors or undefined names

Once #749 is accepted, add --show-source to first flake8 pass.

Closing in favor of #750 which has all of these changes plus code fixes to get us past flake8 on Python 3 and into the real dronekit-python test cases.


[admin] (TOC) Fix title capitalization

Docs Build status updates of commit c3079b9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Exception and dangling connection when "Sec-WebSocket-Version" is missing

While working with seasocks and testing with curl I came across some (maybe) unwanted behavior:
When there is no "Sec-WebSocket-Version" header field, seasocks throws a invalid_argument exception.
curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" http://host/path

The header field "Sec-WebSocket-Version" is mandatory according to the WebSocket Protocol, but crashing the whole webserver because a simple std::stoi operates on an empty string is probably not good.
https://github.com/mattgodbolt/seasocks/blob/ec3558d66e7bed7b9d1f502c4171730668a8eb59/src/main/c/Connection.cpp#L920

Thanks for reporting.
According the RFC6455 it's best to return 426 Upgrade Required. I'll have a look at it.

I have opened #132 to address this issue. It does handle any parsing errors now.
In case of an empty header there's a entry in the log now.

PR merged.


Portal scanning linking portals seemingly randomly

video
i have noticed chains of portals tend to link weirdly, causing falls longer than they should be. in the video i have a chain of portals and another portal about 100 blocks away, and it causes this fall, not sure why it does it like this but it does. (portal scan range set to 32)

Should have been fixed


bind invokeAPI name

Describe your changes
Screenshots [Optional]
Issue ticket number and link
Closes #
Checklist before requesting a review

[x] I have performed a self-review of my code
[ ] I have added tests
[x] I have added a changeset pnpm changeset add
[x] I have added example usage in the kitchen sink app

@evshi Yes flutter side supports this.
https://github.com/EnsembleUI/ensemble-react/assets/32386713/5841a732-e09a-48e1-9b5a-edc0a9fb0e80
No particular use case for now, i just wanted not to write the same widget again (or use Conditional) just because the api name is different.

I see - this will require some special handling. The way our bindings work today we analyze the expressions for the symbols that will become dependencies. invokeAPI.name is just a string. We will need to add handling that if the output of the expression is also a symbol then we need to be dependent on that symbol also.


[Backport staging-22.05] avahi: add patch for CVE-2021-3468

Backport https://github.com/NixOS/nixpkgs/pull/195331
(cherry picked from commit 039e1a05f5db32f5e9ff9dfe13501d631b7001bf)
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Builds for me, macos 10.15 & nixos x86_64.


Make the Rascal backend nicer

Maybe we should see whether we can talk to one of the Rascal guys (Jurgen?) about a better way to get Rascal working in Java. This is currently one big hack.

We removed Rascal altogether... problem fixed! :)


[Question] Expose/access the tokens

Hi
First, thanks for the great work
Currently, I'm working on a POC to migrate our Vue 3 SSR app to Nuxt 3 and I'm trying a few libs to replace the express-openid-connect that we are using to manage the authentication.
The question is that on each request to our APIs I need to send the token and also check if the token is still valid.
From what I see from the example, this is only done during the authentication process.
Is it possible to access/expose the tokens that are returned at onSuccess from https://github.com/Atinux/nuxt-auth-utils/blob/10398a61986df2919df38e9d37cfbb7ae991dd32/src/runtime/server/lib/oauth/auth0.ts#L87-L126
Thanks
PS: Maybe it would be great to have a "Discussions" page for this kind of questions

Had the same query and figured it out. It's exposed where you register the ha

Had the same query and figured it out. It's exposed where you register the OAuth event handler.
// /server/routes/auth/sso.ts
export default oauth.microsoftEventHandler({
  async onSuccess(event, { user, tokens }) { // <-- tokens exposed here
    console.log("Tokens", tokens);

    await setUserSession(event, {
      user: {
        microsoft: user,
      },
      loggedInAt: Date.now(),
    });

    return sendRedirect(event, "/");
  },
});

Be aware that storing the token within setUserSession() will expose it to the client at /api/_auth/session. That's fine in examples like a client calling GitHub API using their access token to access their own resources. However, if substancial scopes are granted (e.g. deleting devices on Active Directory), you may want to store the access token on the server, and keep a reference to it within setUserSession()

hi @RihanArfan
I know that the question is to be able to expose it to be to access it without having to add to the object
Currently, I'm doing like this, but I don't think it's safe to do it
export default oauth.auth0EventHandler({
    config: authConfig(),
    async onSuccess(event, { user, tokens }) {
        const userStore = useUserStore();
        userStore.$state.isLoggedIn = true;
        userStore.$state.user = user;

        await setUserSession(event, {
            user: {
                login: user,
            },
            loggedInAt: Date.now(),
            auth0AccessToken: tokens.access_token,
        });

        return sendRedirect(event, '/');
    },
});

However, if substancial scopes are granted (e.g. deleting devices on Active Directory), you may want to store the access token on the server, and keep a reference to it within setUserSession() so you can access the token within requests to server routes.

Here's an example of what I'm doing:
// server/routes/auth.ts
export default oauth.microsoftEventHandler({
  async onSuccess(event, { user, tokens }) {
    await useStorage().setItem(`token:${user.id}`, tokens.access_token);

    await setUserSession(event, { user, loggedInAt: Date.now() });
    return sendRedirect(event, "/");
  },
});

// server/api/example.get.ts
export default defineEventHandler(async (event) => {
  const session = await requireUserSession(event);
  const accessToken = await useStorage().getItem(`token:${(session.user as { id: string }).id}`);
  // TODO: validate JWT is valid

  // TODO: your code
  ...
});

hi @RihanArfan
Thanks for the tip
I was currently looking at this but going to try your approach
If you figure out how to manage the refresh token, please leave a comment, and I'll do the same.

@victorlmneves Make sure to include the offline_access scope, and you'll get a refresh token within tokens, assuming you've enabled the relevant settings within your Auth0 dashboard (or in my case, via Azure).
I'm working on a server util getAccessToken(session) which would handle refreshing an expired access token. I'm thinking of storing the refresh token via useStorage(), and the result of getAccessToken() using Nitro's caching layer with a TTL a little less than the JWT expiry. https://nitro.unjs.io/guide/cache#function (which uses unstorage under the hood too).
If the refresh token doesn't work (90+ days unused, user changed pw/removed device from trusted, etc. in Microsoft specifically), I'll redirect them to the auth endpoint.

Here is how we achieve this for our application (Zitadel provider, but applicable to any provider).
This way, the tokens are encrypted along with the user info in the session.
I think this issue can be closed now to clean the backlog. @atinux
~/server/routes/auth/zitadel.get.ts:
export default defineOAuthZitadelEventHandler({
    config: {
        scope: ["openid", "email", "profile", "offline_access"],
    },
    async onSuccess(event, { user, tokens }) {
        await setUserSession(event, {
            user: {
                zitadel: user.sub,
                name: user.name,
                avatar: user.picture,
                firstName: user.given_name,
                lastName: user.family_name,
                email: user.email,
                emailVerified: user.email_verified,
                locale: user.locale,
            },
            tokens: {
                accessToken: tokens.access_token,
                idToken: tokens.id_token,
                refreshToken: tokens.refresh_token,
                expiresAt: tokens.expires_at,
                tokenType: tokens.token_type,
            },
            loggedInAt: Date.now(),
        });

        return sendRedirect(event, "/");
    },
});

~/auth.d.ts:
// auth.d.ts
declare module "#auth-utils" {
    interface User {
        zitadel: string;
        name: string;
        avatar: string?;
        firstName: string;
        lastName: string;
        email: string;
        emailVerified: boolean;
        locale: string;
    }

    interface Tokens {
        accessToken: string;
        idToken: string;
        refreshToken: string;
        expiresAt: number;
        tokenType: string;
    }

    interface UserSession {
        user: User;
        tokens: Tokens;
        loggedInAt: number;
    }
}

export {};

Please use the secure object when using setUserSession to only keep the api tokens available on the server.
Example:
await setUserSession(event, {
  user: {
    zitadel: user.sub,
    name: user.name,
    avatar: user.picture,
    firstName: user.given_name,
    lastName: user.family_name,
    email: user.email,
    emailVerified: user.email_verified,
    locale: user.locale,
  },
  secure: {
    tokens: {
      accessToken: tokens.access_token,
      idToken: tokens.id_token,
      refreshToken: tokens.refresh_token,
      expiresAt: tokens.expires_at,
      tokenType: tokens.token_type,
    },
  },
  loggedInAt: Date.now(),
});

Please use the secure object when using setUserSession to only keep the api tokens available on the server.
Example:
await setUserSession(event, {
  user: {
    zitadel: user.sub,
    name: user.name,
    avatar: user.picture,
    firstName: user.given_name,
    lastName: user.family_name,
    email: user.email,
    emailVerified: user.email_verified,
    locale: user.locale,
  },
  secure: {
    tokens: {
      accessToken: tokens.access_token,
      idToken: tokens.id_token,
      refreshToken: tokens.refresh_token,
      expiresAt: tokens.expires_at,
      tokenType: tokens.token_type,
    },
  },
  loggedInAt: Date.now(),
});

We do rely on these tokens to call our GraphQL API, storing them server-side only is not actually something possible.

Well then don't put them in secure but be aware that if you have a XSS vulnerability in your app, your tokens will be leaked.


[11.x] Fix(src\illuminate\Hashing): improvement code, update doc block

Refactor Check() method:
The original condition strlen($hashedValue) === 0 checks whether the length of $hashedValue is equal to 0, indicating an empty string. I used $hashedValue === '' which is faster and more readable than strlen($hashedValue) === 0 . So:

       // before
       if (is_null($hashedValue) || strlen($hashedValue) === 0) {
            return false;
        }

       // after
       if (is_null($hashedValue) || $hashedValue === '') {
            return false;
        }

algorithm() method (update doc block):

     // before
    /**
     * Get the algorithm that should be used for hashing.
     *
     * @return int
     */
    protected function algorithm()
    {
        return PASSWORD_ARGON2ID;
    }

    // after
    /**
     * Get the algorithm that should be used for hashing.
     *
     * @return string
     */
    protected function algorithm(): string
    {
        return PASSWORD_ARGON2ID;
    }

Files Changed

src\illuminate\Hashing\Argon2IdHasher.php
src\illuminate\Hashing\ArgonHasher.php

In this Pull Request ( https://github.com/laravel/framework/pull/50611 ), the tests passed previously. Therefore, I believe the test failures are unrelated to these changes.


mp4parser gives NullPointerException in DefaultMp4Builder.build

I'm using the latest build <IP_ADDRESS> jar package. the call stack is as following: video format is mpeg4
at com.googlecode.mp4parser.authoring.tracks.AppendTrack.getSyncSamples(AppendTrack.java:426)
at com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder.createStss(DefaultMp4Builder.java:521)
at com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder.createStbl(DefaultMp4Builder.java:336)
at com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder.createTrackBox(DefaultMp4Builder.java:301)
at com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder.createMovieBox(DefaultMp4Builder.java:213)
at com.googlecode.mp4parser.authoring.builder.DefaultMp4Builder.build(DefaultMp4Builder.java:115)
at com.ss.android.newmedia.app.VideoMerger$1.run(VideoMerger.java:80)
at java.lang.Thread.run(Thread.java:841)

Hi,
Christmas time was a bit hectic and your request was not handled at all. Sorry for that. Due to the fact that you didn't ping me again I assume that your problem is solved or that you moved on. Therefore I'm closing issue. Please re-open if you are still interested or if you have other problems
BR,
Sebastian


internal console opening everytime

Description
What steps will reproduce the problem?

load spyder
type code
run code

What is the expected output? What do you see instead?
output expected in iPython console
but internal console opens everytime inspite of disabling display
Please provide any additional information below
Version and main components

Spyder Version: 3.1.4
Python Version: 2.7.14
Qt Versions: 5.9.1, PyQt5 5.7 on Linux

Dependencies
pyflakes >=0.5.0 :  1.5.0 (OK)
pep8 >=0.6       :  1.7.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
pandas >=0.13.1  :  0.22.0 (OK)
numpy >=1.7      :  1.14.2 (OK)
sphinx >=0.6.6   :  1.5.6 (OK)
rope >=0.9.4     :  0.10.5 (OK)
jedi >=0.9.0     :  0.10.2 (OK)
psutil >=0.3     :  5.0.1 (OK)
matplotlib >=1.0 :  2.2.2 (OK)
sympy >=0.7.3    :  None (NOK)
pylint >=0.25    :  1.8.4 (OK)

but internal console opens everytime inspite of disabling display

This most probably happens because an error is showing there. Please copy what's shown in the internal console and paste it here to try to help you better.

You also have a very old version of Spyder; its around a year old or more. Please update with conda update spyder (or pip update spyder if you don't use Anaconda).

Closed due to lack of response. If you can provide more information, please re-open and do so. Thanks.


[TEMPLATE] SendGrid Emailer Sender

Description
This template is designed to send emails to customers using SendGrid's API. The customers/emails information is being pulled from a dummy database and can be integrated with any API into a table. It's built on top of Sendgrid's mail send endpoint, and allows users to edit sender fields (like the sender email and name), email text and subject, as well as CC and BCC fields.
Integrations and features
A list of specific integrations, data sources, and specific features

Users/Customers Data (Dummy DB)
SendGrid API

Attachments

[ Public Link ] (https://app.appsmith.com/app/sendgrid-send-emails/home-634efbf028546824aa24cf68)
JSON Export

Screenshots

Congratulations! You won a bronze prize for this submission and 4 coins for use in the swag store!


Refractor OpacityControls.js to functional React

Copying issue over from RIDDC.
Initial transfer function should be a prop. Default should be the same default as RIDDC. Can use React event listeners instead of pure JavaScript.
<Controls /> should have a fixed width and the size of the canvas determined from there. Currently 250px.
Reset button should move the model back to the original position, rotation, and scale.

Make sure it's not cut off when scrollbar is present


AuthorizesRequests behaviour with additional arguments changed in 8.65.0

Laravel Version: 8.65.0
PHP Version: 8.0.11
Database Driver & Version: PostgreSQL 14.0

Description:
Upon upgrading to 8.65.0 this morning I noticed build failures, and I believe it's related to changes to the authorization gate. It looks to me as though it affects controller calls to authorize but not @can in views.
The simplest example in my app is creating a Block record - for one user to block another user. I have been using a BlockPolicy and passing the other user as an additional argument into the create method.
class BlockPolicy extends Policy
{
    public function create(User $user, User $model): bool
    {
        return ! $user->is($model);
    }
}

class BlockController extends Controller
{
    public function store(User $user)
    {
        $this->authorize([Block::class, $user]);

        //
    }
}

  Error: Method name must be a string in /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php:818
  Stack trace:
  #0 /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php(488): Illuminate\Auth\Access\Gate->Illuminate\Auth\Access\{closure}(Object(App\Models\User))
  #1 /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php(383): Illuminate\Auth\Access\Gate->callAuthCallback(Object(App\Models\User), Array, Array)
  #2 /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php(348): Illuminate\Auth\Access\Gate->raw(Array, Array)
  #3 /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Auth/Access/Gate.php(335): Illuminate\Auth\Access\Gate->inspect(Array, Array)
  #4 /Users/Dwight/Sites/roomies/vendor/laravel/framework/src/Illuminate/Foundation/Auth/Access/AuthorizesRequests.php(23): Illuminate\Auth\Access\Gate->authorize(Array, Array)
  #5 /Users/Dwight/Sites/roomies/app/Http/Controllers/BlockController.php(15): App\Http\Controllers\Controller->authorize(Array)

At first glance - the API I'm using in the controller is wrong. I would have expected it to be more along the lines of $this->authorize(Block::class, [$user]), however this is what has been working for a long time now. Now it appears that whatever way I try additional arguments are lost.
Comparing the output of $abilities, $arguments after the call to authorize in AuthorizesRequests:
trait AuthorizesRequests
{
    public function authorize($ability, $arguments = [])
    {
        [$ability, $arguments] = $this->parseAbilityAndArguments($ability, $arguments);

        dd($ability, $arguments);
    }
}

Laravel 8.64.0:
"create"
["App\Models\Block", App\Models\User (instance)]

Laravel 8.65.0
"create"
"App\Models\Block"

Opening an issue to see if it's affected others or if there are better solutions. I'll look into options to rectify this.

Thanks for reporting. I've sent in a PR to revert this.


add unit for distance with "m"

Home Assistant 2023.2.1
Xiaomi Gateway 3 version | 3.1.0
Logger: homeassistant.components.sensor
Source: components/sensor/init.py:674
Integration: 传感器 (documentation, issues)
First occurred: 20:37:46 (1 occurrences)
Last logged: 20:37:46
Entity sensor.ccb5d1d4a593_distance (<class 'custom_components.xiaomi_gateway3.sensor.XiaomiSensor'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('distance') it is using; expected one of ['ft', 'm', 'km', 'mm', 'in', 'mi', 'yd', 'cm']; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.
{
    10356: ["ZiQing", "IZQ Presence Sensor Lite", "IZQ-24"],
    "spec": [
        BoolConv("occupancy", "binary_sensor", mi="2.p.1"),
        MathConv("no_one_determine_time", "number", mi="2.p.2", min=0, max=10000),
        MathConv("has_someone_duration", "sensor", mi="2.p.3"),
        MathConv("idle_time", "sensor", mi="2.p.4", multiply=60),
        MathConv("illuminance", "sensor", mi="2.p.5"),
        MathConv("distance", "sensor", mi="2.p.6"),

        Converter("led", "switch", mi="3.p.1", enabled=True),
        MathConv("detect_range", "number", mi="3.p.2", min=0, max=8),
        Converter("pir", "switch", mi="3.p.3", enabled=True),

        MapConv("occupancy_status", "sensor", mi="2.p.1", map={
            0: "NoOne", 1: "EnterIn", 2: "SmallMove", 3: "MicroMove", 4: "Approaching",
            5: "MoveAway"
        }),
    ],
}

MathConv("distance", "sensor", mi="2.p.6"),  the unit of this distance is "m".
By the way, add the remarks from homeassistant.const for possible future,

Thanks!

Dear two,
I found the real show distance is not right in ZiQing,it shows  300m,maybe the real unit is cm.

I don't have this sensor so can't do any suggestions.


Unable to search for work item by URL (#1695)

Move the search query conversion in the controller
Rename SearchKeyword into Keywords
Use a pattern for the URL that matches the current forms:
(?P<domain>[^/]+)/(?P<org>[^/]+)/(?P<space>[^/]+)/(?P<path>plan/detail)/(?P<number>.*)
and
(?P<domain>[^/]+)/(?P<org>[^/]+)/(?P<space>[^/]+)/(?P<path>board/detail)/(?P<number>.*)
without having an hard-coded domain name, which allows to registering the patterns
in the init() function rather than at the first (and all subsequent) calls to the
/search endpoint.
Fixes #1695
Signed-off-by: Xavier Coulon<EMAIL_ADDRESS>

@xcoulon snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1720-2

Codecov Report

Merging #1720 into master will decrease coverage by 0.1%.
The diff coverage is 76.92%.

@@            Coverage Diff             @@
##           master    #1720      +/-   ##
==========================================
- Coverage   57.07%   56.97%   -0.11%
==========================================
  Files         128      128
  Lines       14706    14697       -9
==========================================
- Hits         8394     8373      -21
- Misses       5666     5679      +13
+ Partials      646      645       -1

Impacted Files
Coverage Δ

search/search_repository.go
72.75% <100%> (-2.4%)
:arrow_down:

controller/search.go
67.03% <75.91%> (+4.28%)
:arrow_up:

configuration/configuration.go
70.28% <0%> (-0.58%)
:arrow_down:

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 1e802c1...7eecd06. Read the comment docs.

@xcoulon snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1720-4

@xcoulon snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1720-5

@xcoulon snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1720-7

@xcoulon snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1720-8


better vendor.sh to break when fail in grep

- What I did
fixed #25520
this pr did:

exit when grep fails
make this script work in most workdir

Signed-off-by: allencloud<EMAIL_ADDRESS>

ping @tianon please take a look, thanks!

PTAL @tianon
If it is not on the right direction, feel free to close this one. :)

LGTM :+1: (thanks for your work on this!)

LGTM 🐸

Any update? @tianon @vdemeester


Panic on close of closed channel

The following happens when stopping the all-in-one when badger is being used as storage, probably related to #2076:
$ SPAN_STORAGE_TYPE=badger go run -tags ui ./cmd/all-in-one
...
^C{"level":"info","ts":1582817948.1366558,"caller":"flags/service.go:145","msg":"Shutting down"}
{"level":"info","ts":1582817948.1367006,"caller":"healthcheck/handler.go:128","msg":"Health Check state change","status":"unavailable"}
{"level":"info","ts":1582817948.136725,"caller":"app/agent.go:89","msg":"shutting down agent's HTTP server","addr":"[::]:5778"}
{"level":"info","ts":1582817948.136871,"caller":"app/agent.go:73","msg":"agent's http server exiting"}
{"level":"info","ts":1582817948.1374054,"caller":"healthcheck/handler.go:128","msg":"Health Check state change","status":"unavailable"}
panic: close of closed channel

goroutine 1 [running]:
github.com/jaegertracing/jaeger/plugin/storage/badger.(*Factory).Close(0xc0001a0180, 0x1df6d01, 0x7f6ba409f120)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/plugin/storage/badger/factory.go:167 +0x33
github.com/jaegertracing/jaeger/plugin/storage/badger/spanstore.(*SpanWriter).Close(0xc0003b5a40, 0x1df49a0, 0xc0003b5a40)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/plugin/storage/badger/spanstore/writer.go:197 +0x34
main.main.func1.1()
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/cmd/all-in-one/main.go:156 +0x123
github.com/jaegertracing/jaeger/cmd/flags.(*Service).RunAndThen(0xc00005a980, 0xc0003219a0)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/cmd/flags/service.go:149 +0x1f6
main.main.func1(0xc000458240, 0x2995420, 0x0, 0x0, 0x0, 0x0)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/cmd/all-in-one/main.go:150 +0x1627
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).execute(0xc000458240, 0xc00003c1d0, 0x0, 0x0, 0xc000458240, 0xc00003c1d0)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:698 +0x42c
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc000458240, 0xc000458240, 0xc000215eb8, 0x9)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:783 +0x2c9
github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra.(*Command).Execute(...)
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/vendor/github.com/spf13/cobra/command.go:736
main.main()
	/mnt/storage/jpkroehling/Projects/src/github.com/jaegertracing/jaeger/cmd/all-in-one/main.go:185 +0x6f7
exit status 2

Turns out, this is not specific to badger.


New term request: native plant cell

We have received a proposal from the GO editors who are curating the Cell Ontology (CL) that we create an upper level, grouping term "native plant cell"
plant cell

cultured plant cell
native plant cell <- new

They propose that all current SubClasses of plant cell apart from culture plant cell move here.
The purpose of this term would be to facilitate a bridging point between plant cells and other cells.
Here is a link to native cell in the CL: http://purl.obolibrary.org/obo/CL_0000003
def'n: A cell that is found in a natural setting, which includes multicellular organism cells 'in vivo' (i.e. part of an organism), and unicellular organisms 'in environment' (i.e. part of a natural environment).
Reported by: cooperl09
Original Ticket: obo/plant-ontology-po-term-requests/586

This issue is resolved, so I am closing this tracker.  Please see #321 for more details om the parenchyma cell discussion.