 It makes odgi file-compatible with libbdsg as of libbdsg https://github.com/vgteam/libbdsg/pull/70.
I need this so that I can update the tutorial at pangenome.github.io to work with the libbdsg Python bindings. Making the Python bindings share method names is easy, but getting the odgi tool's generated graphs to work with the library ODGI is kinda hard, so I have two big PRs that synchronize things.
I think we need this (or something that does the same thing) before we can resubmit the handle graph paper. Otherwise we'll be telling people we have ODGI bindings, but they won't work with odgi.
Unfortunately, this ends up undoing #122. I don't think #122 actually works as merged; it zeros out steps, but then the zeroed-out steps still count towards get_step_count(handle_t) on the handle they're on, which isn't right. If I change that, then the code to add new steps (which just uses get_step_count() to try and find the next step index to fill) will be wrong. I've added somne machinery to try and prepare for the path end markers changing, and path handle 0 being reserved as nonexistent, but the actual lazy delete is gone.
@ekg Can you take a look at this and see if it breaks anything I haven't noticed? It appears to pass all the unit tests, but I'm not really an odgi code expert.

The lazy delete of steps is unfortunately essential to ongoing development
here. Can we correct the problem you found rather than undo #122? This was
doing what I expected in my tests, but you seem to have found a bug with
it. The step count call was incorrect, but iteration over steps and path
steps should not have been affected. I can add further automated tests to
verify that things are correct.
Does this synchronize the semantics for rewrite segment? If not, I can
address that too.
Thanks for this. It's very helpful. The path rewriting issue has been a
consistent problem for algorithms I've been writing. The smart thing is to
use the optimize call as a garbage collection cycle for deleted path steps
as is done for deleted handles.
 It makes
odgi file-compatible with libbdsg as of libbdsg vgteam/libbdsg#70
https://github.com/vgteam/libbdsg/pull/70.
I need this so that I can update the tutorial at pangenome.github.io to
work with the libbdsg Python bindings. Making the Python bindings share
method names is easy, but getting the odgi tool's generated graphs to work
with the library ODGI is kinda hard, so I have two big PRs that synchronize
things.
I think we need this (or something that does the same thing) before we can
resubmit the handle graph paper. Otherwise we'll be telling people we have
ODGI bindings, but they won't work with odgi.
Unfortunately, this ends up undoing #122
https://github.com/vgteam/odgi/pull/122. I don't think #122
https://github.com/vgteam/odgi/pull/122 actually works as merged; it
zeros out steps, but then the zeroed-out steps still count towards
get_step_count(handle_t) on the handle they're on, which isn't right. If
I change that, then the code to add new steps (which just uses
get_step_count() to try and find the next step index to fill) will be
wrong. I've added somne machinery to try and prepare for the path end
markers changing, and path handle 0 being reserved as nonexistent, but the
actual lazy delete is gone.
@ekg https://github.com/ekg Can you take a look at this and see if it
breaks anything I haven't noticed? It appears to pass all the unit tests,
but I'm not really an odgi code expert.
You can view, comment on, or merge this pull request online at:
https://github.com/vgteam/odgi/pull/125
Commit Summary

Sync naming between odgi and libbdsg ODGI
Synchronize ODGI implementations
Make stats work with the new path handle method name
Restore insert and add in stubs to call base class methods so we can
bind them without meaningful overrides
Rebuild example og and drop xp
Sync bound methods and path begin/end markers with libbdsg
Allow path start end end encoding to budge things up
Reimplement lazy deletion to the point where it starts to interfere
with the ability to position new steps
Revert "Reimplement lazy deletion to the point where it starts to
interfere with the ability to position new steps"
Improve whitespace
Merge remote-tracking branch 'origin/master' into backport-libbdsg

File Changes

M deps/libhandlegraph
https://github.com/vgteam/odgi/pull/125/files#diff-74540ca8e8cb44d737eb9772b2cb0672
(2)
M src/algorithms/cut_tips.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-b6f1d115f0cf0c096055c755f1a5aef1
(2)
M src/algorithms/merge.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-011e29a8405fb5e3f01ccfc4078d4909
(2)
M src/algorithms/unchop.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-2f2cd4e8f424ae98b026681285ce8efb
(2)
M src/node.hpp
https://github.com/vgteam/odgi/pull/125/files#diff-5f53618bf8fb93868b486a5dd0849b48
(3)
M src/odgi.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-88dde891dd8b1aaa193195a23da45b71
(1014)
M src/odgi.hpp
https://github.com/vgteam/odgi/pull/125/files#diff-236c535996f80c271d9aa8b06d86e5b4
(154)
M src/pythonmodule.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-28c69c94b6f4574cc9a6f52ab3bc5d90
(30)
M src/subcommand/stats_main.cpp
https://github.com/vgteam/odgi/pull/125/files#diff-bdeb2ba0ad24a37e9446b003146c67c6
(10)
M test/note5.gfa.og
https://github.com/vgteam/odgi/pull/125/files#diff-096fe7117b62313e12325ffa20e8ad8e
(0)
D test/note5.gfa.og.xp
https://github.com/vgteam/odgi/pull/125/files#diff-df7372b0bed08809d41024672f58fd3e
(0)

Patch Links:

https://github.com/vgteam/odgi/pull/125.patch
https://github.com/vgteam/odgi/pull/125.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vgteam/odgi/pull/125, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABDQELJ4YHYZI2LKAW5EXTRVF35XANCNFSM4NVJWDTQ
.

The changes here are kind of enormous, and it will take some time for me to review them. Would you please describe what's you mean to have altered?
Would you please update the PR to undo the change of the class name?
The object name has been graph_t. It's in the odgi namespace, so externally it's odgi::graph_t, which should reduce confusion enough in libbdsg. You can always do a typedef there to use ODGI.

I think more thought is needed here. It would be nice to talk with you about it when we can, perhaps on the call tomorrow.
The hidden node concept hasn't proven very useful, although in principle it could help when doing various cleaning operations on the graph. These operations would have to be supported in libhandlegraph to make sense here. For instance, we would need to know when a path step was on a deleted node. It's not clear that these semantics are helpful. Perhaps would be preferable to rewrite paths into pieces.
I'm also concerned that the overhead of checking the hidden node set for every interaction with a handle will be costly, but maybe this is efficient when the set is empty?
I need to review all the other function-level changes.
Otherwise, it's clear to me that integration tests are needed to confirm that there isn't a problem introduced by these changes (or what existing ones they resolve). I've been running odgi like a single person project, which has been OK, but isn't sustainable.

We should rebase this on master, incorporate the bugfixes here, and if desired merge downstream into libbdsg.
As noted, a few things need to be changed:

The object name shouldn't change. Libbdsg should match what's used here.
The deleted handle concept needs to be worked out completely in libhandlegraph, so that we can understand which path steps are on deleted nodes. The semantics aren't clear to me now. This is something I started but haven't replied on completely outside of lazy deletion of nodes.
Path steps should be deleted lazily and reclaimed using optimize.
We need integration tests to confirm the behavior of command line tools.

I may reopen here to implement some of these changes.

We talked about this this morning with @jeizenga and decided we're going to try and backport fixes from libbdsg with single-issue PRs until all the features/fixes are in, and then snapshot stable odgi implementations over from odgi to libbdsg, possibly with some git subtree magic. This is all going to happen after the handlegraph paper resubmission, and we just won't use the pangenome.github.io docs in the paper.

We can keep the odgi::graph_t name for the class in both places, and typedef as bdsg::ODGI, provided nobody tries to include libbdsg and pieces of odgi in the same downstream project, which probably will never happen.

We can remove the deleted/hidden handle feature, as the odgi tool doesn't really use it and the handle graph API doesn't officially support it.

We'll test/fix up the path step reclaiming semantics in this repo until we're happy with them.

I'm not sure what to do about the integration tests for the odgi binary. We should have them if we're going to be making a bunch of revisions to the core data structure, but I don't like the idea that we can't change anything until we have some unspecified sufficiency of them because that seems like an easy way to stall ourselves. Plus, good unit tests for the graph should protect us from the same sorts of problems in this case. Maybe the right answer is to grab the Bash-TAP system from vg and start by testing some basic set of example commands?

We can still reference the pangenome.github.io docs in the paper, in addition to the libbdsg ones. We might need a better explanation of the way they all relate, but it is going to be OK.
Keep in mind that @flavia95 and @subwaystation worked on these. They cover material that's relevant to the users of odgi, which is our only full interface to a pure dynamic/compact handle graph.


Stopped working with multiple accounts

I am using multiple accounts in the new version and it is not working

do you use proxy for each account?


Flutter widgets handles mouse events when HTML element is fullscreen

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Run the code sample
Click the red box so that it goes fullscreen
Hover and click on the bottom half of the screen

Expected results

The cursor stays normal (not SystemMouseCursors.click)
Nothing is printed to the console

Actual results

The cursor becomes SystemMouseCursors.click
'Clicked' is printed to the console

Code sample
Code sample
Also available at https://github.com/andreasgan/fullscreen_div_clickthrough
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
import 'dart:html';

void main() {
  // ignore: undefined_prefixed_name
  ui.platformViewRegistry.registerViewFactory(
      'box',
      (int viewId) => DivElement()
        ..style.width = '100px'
        ..style.height = '100px'
        ..style.background = 'red'
        ..onClick.listen((event) {
          (event.target as DivElement).requestFullscreen();
        }));
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Column(
          children: [
            const SizedBox(
              height: 100,
              width: 100,
              child: HtmlElementView(viewType: 'box'),
            ),
            Expanded(
              child: MouseRegion(
                cursor: SystemMouseCursors.click,
                child: GestureDetector(
                  onTap: () => debugPrint('Clicked'),
                  child: Container(
                    width: double.infinity,
                    height: double.infinity,
                    color: Colors.amber,
                  ),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://user-images.githubusercontent.com/727125/231830983-3820679e-d745-4560-bcac-b48f84ae473d.mov

Logs
Logs
Normal default debug run via vscode

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.7.10, on macOS 12.6.1 21G217 darwin-arm64, locale en-NO)
    • Flutter version 3.7.10 on channel stable at /Users/andreasgangso/dev/tools/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b12645012 (10 days ago), 2023-04-03 17:46:48 -0700
    • Engine revision ec975089ac
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/andreasgangso/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.12.0

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.6.1 21G217 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 112.0.5615.49

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Thanks for the detailed report. I was able to replicate the reported behavior using latest stable and master versions using both renderers.
A Dart VM Service on Chrome is available at: http://<IP_ADDRESS>:51975/anIUGejHzio=
The Flutter DevTools debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:51975/anIUGejHzio=
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked
Clicked

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.7.10, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.7.10 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b12645012 (6 days ago), 2023-04-03 17:46:48 -0700
    • Engine revision ec975089ac
    • Dart version 2.19.6
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.10.0-5.0.pre.24, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.10.0-5.0.pre.24 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2cd768b893 (2 hours ago), 2023-04-13 20:20:35 -0700
    • Engine revision ad222b0c93
    • Dart version 3.1.0 (build 3.1.0-2.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

This issue mentions two bugs, but I think both are related. They both have to do with how Flutter web (engine) handles pointer events.
For 'click', flutter uses 'pointerdown' (and possibly 'pointerup'):

https://github.com/flutter/engine/blob/25c574702ff6eead9cc2ecba22fdb55d12c11d4d/lib/web_ui/lib/src/engine/pointer_binding.dart#L747

For mouse movement, flutter uses 'pointermove' in window:

https://github.com/flutter/engine/blob/25c574702ff6eead9cc2ecba22fdb55d12c11d4d/lib/web_ui/lib/src/engine/pointer_binding.dart#L766

In neither of these cases does flutter take into account that what's painted on the screen is anything other than the Flutter app, so when anything other than a Flutter app fills the screen, unexpected stuff happens (well, this bug happens 🙂)
Another problem with the current approach problem is that Flutter is handling those events in the capture phase rather than in the bubble phase, so it's very hard (impossible?) to stop their propagation from an user supplied event handler that gets attached later.
Without thinking about corner cases, a possible solution to this may be for the PointerInterceptor to disable itself when a "slot" is entering full-screen (using the fullscreenchange event), then reenabling handling once the slot exits full-screen.
If the flutter app itself (or some of its parents are entering full-screen, the PointerInterceptor should work as normal (most likely!)).
@andreasgan can you describe how this bug is breaking your app? I want to understand your use-case better!

Hmm, this might have to do with how framework synthesizes events from the raw events coming from the engine as well :/

@andreasgan can you describe how this bug is breaking your app? I want to understand your use-case better!

Yes! We have a video-on-demand app which I'm trying to port to web. We want to embed the video player using HtmlElementViews, and allowing going from there to fullscreen.
Here's an example of the expected behaviour from our current website (not flutter): https://app.bcc.media/episode/1137
As a workaround, we'll alter the user experience slightly until this is fixed by attaching the player outside of flutter and filling the screen. You can see that here (flutter-based beta): https://beta.app.bcc.media/episode/1137.

As a workaround, we'll alter the user experience slightly until this is fixed by attaching the player outside of flutter and filling the screen.

Ah yes, that is a great workaround. Also that the video auto-plays from the click in the Flutter framework?

This is something I haven't had time to investigate. One thing I wanted to test but never got around to is to set pointer-events: none in the flutter app when we detect the video has gone fullscreen (also set pointer-events: auto in the element), and remove the pointer-events: none in the app when the user gets out of fullscreen.
There's a built-in event to know about the full-screen status change:

https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenchange_event


Clean up non-jquery use-case

Hey Folks,
The docs mentioned that this plugin can be used without jQuery. That does seem to be the case, but I had to modified the final line of the plugin where jQuery is passed into the IIFE. That reference will cause the following error if jQuery is not defined:
wookmark.js:783 Uncaught ReferenceError: jQuery is not defined

I was able to fix this by swapping out the last line:
// Current line
})(jQuery);

// Tweaked line
})(typeof jQuery === 'undefined' ? undefined : jQuery);

This fixes the issue and everything else seems to be working great.
Would you be open to a PR that fixes this?

Sure a PR is always welcome!
Wonder what changed that this now creates an error. This code worked for a long time.


Feature: Add support scrobbling for Media Center (Jriver)

https://wiki.jriver.com/index.php/DevZone
https://wiki.jriver.com/index.php/Web_Service_Interface
I'll see what I can do about getting jriver setup (im on ubuntu) when I have some free time

@etniasuns JRiver is available in the develop branch or docker image tag. Docs here

Available in v0.4.3:

master git branch
latest docker image tag


Migrate tests .txt -> .rast

The sytax tree output files now use .rast extension
(rust-analyzer syntax tree or rust abstract syntax tree (whatever)).
This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration
that supplies nice syntax highlighting for .rast files.
Followup for #3837, #3817

bors r+

@matklad can you merge this manually?


How could I can add a new OS on the support on the "tested and supported" list?

URL(s) with the issue:
https://www.tensorflow.org/install
Description of issue (what needs changing):
Could someone instruct me how to add a new OS on the support on the "tested and supported" list, I would like to make some efforts for Opensuse and SLE.
There might have some steps to make sure an OS is "tested and supported", right?

@Hui-Zhi
Opensuse and SLE are Linux flavours. Can you please follow the instructios in TensorFlow website and see how it progresses. Thanks!

Yes, you're right, I should not use new OS, thanks for figuring it out. And Ubuntu is also Linux flavors. On this website, it only have instructions for Ubuntu and Mac OS, what I am trying to do is adding Opensuse and SLE to the "tested and supported" list to give users more options, sure I believe the instructions for Opensuse and SLE is needed, and it's different from Ubuntu and Mac.
But what I am not sure is should I just add Opensuse and SLE to the website source code (instructions will also be updated), the make a pull request? Or there has some previous steps should be done?
I don't even know if the community would like to accept this change.

Hi @Hui-Zhi,
The tensorflow.org/install pages are for officially-supported install and build configs by the TensorFlow team. So we should not add new OSes here.
But organizing an "extended" support list sounds like it could fall under SIG Build. Maybe send a message to the<EMAIL_ADDRESS>list?

Our python packages are built according to the "manylkinux2010" standard.
So if you use the prebuilt packages from pypi, they should work on 90% of the linux distributions.


CheckBox

-remove the checkbox from AdminListTable
-Highlight The Name
-Change The "STATUS" table column -> EMAIL or Contact Number

I have submitted PR for the issue.
Thank you


go v1.13.4

aliyun-cli formula is already built with go v1.13.4, so adding it to here.

 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.

aliyun-cli formula is already built with go v1.13.4, so adding it to here.

Thank you for your contribution. Since version 1.13 will cause problems in the makefile, we have not added the version 1.13 test. But we will change the makefile as soon as possible.

@night556 that is good to know. Not quite sure why the Makefile has some issue, happy to take a peek on it. :)

@night556 that is good to know. Not quite sure why the Makefile has some issue, happy to take a peek on it. :)

go get -u github.com / aliyun / aliyun-openapi-meta is used in the makefile to obtain the aliyun-openapi-meta file, but under the go module mechanism, the obtained file is not in the defined GOPATH, which causesgo- bindata -o resource / metas.go -pkg resource -prefix ../aliyun-openapi-meta ../ aliyun-openapi-meta / ...statement error

Add new version into test is OK. the vendor update should not commit directly or use another pull request.

 All committers have signed the CLA.


Add value param and documentation

@tedhabermann  Glad your finding publink useful and thanks for contributing.  This request has a few updates I'd like added prior to merging your updates into publink.

Add a parameter for "value" in the get method.  I added this to help ensure that if a key is not present the response will be an empty string represented as "".  I believe this is similar to what xdd returns when they have no information for a field.
Updated documentation in readme and the updated method to show the newly added fields
Updated version

@dwief-usgs - if "" is the empty value returned in other cases by Xdd, that seems reasonable. I like consistency!

Great, @tedhabermann  if you can merge in my updates to your branch that should bring those into your initial merge request allowing me to roll all updates into publink.

Done


Cannot resolve MyObjectBox

I have followed all the minimal setup requirements,gradle buils ok but if i create the App for initializing the BoxStore,i receive the error "cannot resolve symbol MyObjectBox"

Thanks its working.
On Tue, Aug 29, 2017 at 11:34 AM, Markus Junginger<EMAIL_ADDRESS>
wrote:

@japheth-waswa https://github.com/japheth-waswa Did you build the
project yet? MyObjectBox is generated during build.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/greenrobot/ObjectBoxExamples/issues/11#issuecomment-325593788,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMMJbrKoKMPp9GSJqfrDQYXefSuWcBMIks5sc8z_gaJpZM4PFaGY
.

--
Regards,
Japheth Elijah Waswa
Product Lead,Jemslab Limited
+254719726698 | jemslab.com
P.o Box 493-50100 Kenya


STA Failed with syntax error, unexpected REG

Description
Trying to run MPW design, from repo https://github.com/shalan/Caravel_Chameleon_SoC/tree/master/openlane/DFFRAM.
But its failed during STA with [ERROR STA-0164]
Environment
python3 ./env.py issue-survey
Kernel: Linux v3.10.0-1160.49.1.el7.x86_64
Distribution: centos 7
Python: v3.6.8 (OK)
Container Engine: docker v20.10.16 (OK)
OpenLane Git Version: c22c37b5121b0fa82c833e067841932dbb096972
pip: INSTALLED
pip:venv: INSTALLED
---
PDK Version Verification Status: OK
---

Reproduction Material

Upload a tarball containing the relevant design.
DFFRAM_STA_Fail.zip

List the commands used to run the design.

$BIN/openroad

source run.tcl

Expected behavior
STA should pass.
Logs
[STEP 2]
[INFO]: Running Single-Corner Static Timing Analysis...
[ERROR]: during executing openroad script /openlane/scripts/openroad/sta.tcl
[ERROR]: Exit code: 1
[ERROR]: full log: designs/cham_DFFRAM/runs/RUN_2022.06.06_06.56.38/logs/synthesis/2-sta.log
[ERROR]: Last 10 lines:
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
[INFO ODB-0222] Reading LEF file: /openlane/designs/cham_DFFRAM/runs/RUN_2022.06.06_06.56.38/tmp/merged.nom.lef
[INFO ODB-0223]     Created 13 technology layers
[INFO ODB-0224]     Created 25 technology vias
[INFO ODB-0225]     Created 441 library cells
[INFO ODB-0226] Finished LEF file:  /openlane/designs/cham_DFFRAM/runs/RUN_2022.06.06_06.56.38/tmp/merged.nom.lef
[ERROR STA-0164] /openlane/designs/cham_DFFRAM/runs/RUN_2022.06.06_06.56.38/results/synthesis/DFFRAM.v line 283, syntax error, unexpected REG
STA-0164
child process exited abnormally

reg is a verilog rtl construct. opensta does not support rtl netlists because there is not timing information for rtl primitives.

I am also facing the same issue. How did you solve this ?

@radhe-2022
Can you share verilog file or repo link?

Facing same issue


m3u plugin

Hello, I have tried the current linux and windows version using m3u plugin and have the same problem.
Everything is installed correctly on both systems and I  generated a new  m3u file and it will not play in any player. Is this the correct generated format stream?
(#EXTINF:-1 channelID='Foxnews1.us' tvg-num='10' tvg-chno='10' tvg-name='FOX NEWS (SD)' tvg-id='Foxnews1.us' tvg-logo='http://myiptv.com/logos/foxnewshdd.png' group-title='M3U',FOX NEWS (SD)
http://<IP_ADDRESS>:5004/M3U/watch/Foxnews1.us
There are no errors reported in the logs.  If the stream is correct; what am I doing wrong?
Thanks

Not sure what issue you are having. It looks like you are showing an output of the channels.m3u file and it looks fine.  If you have issues playing the channel, then we will need a debug log of when you start the stream.


python310Packages.aioquic: fix build

Description of changes
Fixes python310Packages.aioquic.
Some tests broke due to an update in a command output parsed by pyopenssl 22.
This patches fix the parsing of the command output.
#ZurichZHF
Things done

Built on platform(s)

[x] 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

[ ] Fits CONTRIBUTING.md.

@ofborg eval

@roosemberth Forgot to ping #19919 :)


"Permission share dirirectories" – file: state: directory

If you disable the bertvv.samba role (e.g. because you only want to use NFS, and not Samba), then general.yml fails in the "Permisison share directories" because they were not created. But this task specification can just require that they should be directories, and then it will make sure to create them if they do not exist, avoiding a "file/directory not found" error.

Nice workaround, thanks! :+1:


[FR] Confirmation button

Some operations can be dangerous (you cannot un-stop a stream), having an arming button would sometimes come handy.

Proposal A:
Reject actions unless an "enable" button was pressed first.

:heavy_plus_sign: easy to implement
:heavy_minus_sign: difficult feedback in case of forgetting to hit enable

Proposal B:
Queue actions until a "confirm" button is pressed. "Cancel" would clean the queue.

:heavy_plus_sign: better visual feedback (queue length can be displayed on the confirm button)
:heavy_minus_sign: harder to implement

I think the proposal B would be better overall. When queuing would be enabled, button presses would enqueue a dictionary containing basic operation description and an async lambda. This would get reflected in the "confirm" button, which would have a queue depth written on it. Pressing  "confirm" would sequentially run the lambdas and empty the queue. Pressing cancel would simply remove all queue entries and clear the counter on the button.

Functionality already exists in Companion


How to interpret TICK

Hello David,
I am not sure how to interpret the TICK key. According to the documentation, it represents the beginning of the processing. So given this simplified structure (hero6.mp4 sample from this repo):
DEVC
   DVNM	:	Hero6 Black
   TICK	:	339463
   STRM
      TICK	:	339474
      STNM	:	Gyroscope (z,x,y)
      GYRO
         samples...

Am I right in assuming that the difference between the STRM TICK and the DEVC TICK will give me the offset to find where the sample happened in the mp4 time? In this case 11 milliseconds after the payload time.
Thank you

You can use them that way, but they were discontinued for being a misleading crutch, as they are less accurate than the timing techniques demo'd in GetGPMFSampleRate().  The TICK fields were removed from v2 firmware of HERO6 and are not in HERO7.  The accuracy issue is that timestamps, when software based (like these) are noisy from the OS's task switching.  While<PHONE_NUMBER>63 (11ms) could be the time difference for the first GYRO sample, or it could be that a system interrupt delayed the storage of the GYRO data.

Appreciated

Hi David.
I just wanted to chime in and give my vote for the return of the ticks to futures firmwares.  We made a video stabilization app that uses the GPMF gyro data, and we found the ticks to be incredibly useful for syncing the gyro data with the video data.  You can see the process in action here https://vimeo.com/328333594 .
Without the ticks, we found that we needed to adjust and re-sync things every 15 second in order for it to look decent.  With ticks, we found that we only needed 1 or 2 syncs for the entire clip no matter how long.  Did we discover a use for the ticks that wasn't originally intended?  Is there a way to get better sync without ticks that we're missing?
Thanks again for your help!

Sorry for the delay, I've been on vacation.
Your sync approach is valid with existing HERO cameras.  While you are using the TICK field in the way we had imagined, we removed them as they were not sufficient for fully automatic stabilization (metadata only), as you have found in requiring video analysis for sync.  In Fusion we have far more precision than TICK, as the post stabilization includes sub-frame (up to 1/100th of a frame) rolling shutter correction. Fusion has a much slower read out speed than HERO5/6/7, so the rolling shutter would be significant if is wasn't for the metadata precision.  The new metadata is STMP, for timeSTaMP, this the μs time for when the data was sent, whereas TICK was the ms time for when the data arrived for storage (much more jitter in arrival time.)  In Fusion we also add STMP for video originated metadata like SHUT, so the timestamp difference between SHUT and GYRO is the metadata alignment for sync.
Going forward we hope to improve the precision on new HERO cameras to me more like Fusion, along with other metadata improvements.

P.S. ReelSteady GO is a much appreciated and awesome outcome of open sourcing GPMF.  Please add a option to preserve some if not all fisheye curvature. My reasoning: https://cineform.blogspot.com/2016/04/lens-curvature-and-embracing-its.html

Sorry for the delay.
That's great!  Here's hoping the Hero 8 includes STMP in the metadata.  That's also an interesting write-up about lens distortion.  We'll see what we can do about a tool to reintroduce some distortion.
Thanks again!

And more recently I posted the math for a stock GoPro lens, forward and reverse polynomials. https://cineform.blogspot.com/2019/07/gopro-virtual-lens.html


"How to play"-Page

The site should contain a page that explains the rules of the game.

yes, the website needs a guide page or a popup, which contains all rules of the game.

yes, the website needs a guide page or a popup, which contains all rules of the game.


Setting global style for component, when not defined as props

Hey
I want to make so all FlatButtons have a specific margin
Normally I would customize the component through the theme, but this have no margin prop

@madshargreave Currently, there is no way to do that. If the FlatButton had a default classname you'd be able to use that. With the big push to use inline styles almost all of the default classnames have been removed making it very difficult (if not impossible) for folks to tweak global styling of components. In some components style props have been exposed but in others not. This is not the most effective way. I would like to see default classnames added back in and/or use the theme as a basis (or at least incorporate it with mergeAndPrefix so that users can add any styling they want and influence the global style of the components.

Related to #1739


Sync Interaction Template between FLIX instances

Overview
Many parties may choose to operate an instance of FLIX. A way for each instance to sync Interaction Templates that the others have would be idea, as then the ecosystem could each have the same Interaction Templates as the other.
Outcomes

[ ] A FLIX instance can "sync" Interaction Templates available from other known FLIX instances.

Let's use Rock God Tycoon game as template and modify it to earn a lot of USDC


Error converting parquet to hyper

Failed to start a new Hyper instance.
Context: 0x86a93465
Caused by:
The Hyper server process exited during startup with exit code: 1
Command-line: ""C:\Users\XXX\AppData\Local\Programs\Python\Python310\lib\site-packages\tableauhyperapi\bin\hyper\hyperd.exe" "run" "--date-style=MDY" "--date-style-lenient=false" "--experimental-external-format-parquet=1" "--init-user=tableau_internal_user" "--language=en_US" "--log-config=file,json,all,hyperd,0" "--log-dir=C:\XXX\XXX" "--no-password=true" "--skip-license=true" "--telemetry-opt-in=" "--listen-connection" "tab.pipe://./pipe/auto" "--callback-connection" "tab.pipe://./pipe/{9F41B5E8-19D8-4E88-A0BE-6852C66DCF87}" "
Child process' stdout:
LogFile: \?\C:\XXX\XXX\hyperd.log
    Child process' stderr:
    Error(s) while applying config file or command line parameters.
    Error. Could not interpret 'experimental_external_format_parquet' as global setting: No internal setting named 'experimental_external_format_parquet' exists.
    Critical setting errors encountered, shutting down.

From the HyperAPI release notes:
November 3rd, 2021
Reading Apache Parquet files is now officially supported and no longer has to be enabled through the use of the process setting experimental_external_format_parquet.
The setting no longer exists, you have to remove it from the parameters you pass to the HyperProcess constructor.


[Grouped Updates] single dependency in group cannot be ignored

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
GRadle
Package manager version
8.1.1
Language version
Kotlin
What you expected to see, versus what you actually saw
I got a first grouped Pull Request, but there in the dependabot comments there is no possibility to ignore one or many dependencies.
I expected to see:

But I get:

I expect to have the possibility to ignore one version / minor version / major version and then dependabot to recreate the grouped pull request for all but this version.
As a bonus feature request it would be nice to be able to potentially mention multiple dependencies

Hi we don't currently support ignoring dependencies in grouped updates. We do plan on adding support in the future.
For now I am closing this issue as a duplicate of https://github.com/dependabot/dependabot-core/issues/7461


Update ID field to use BigAutoField

This enables compliance with Django >= 3.2 where the default id field is BigAutoField
Currently, running manage.py makemigrations --check shows a missing migration. This causes pre-commit django-migration check to fail

Hey,
Do you think this PR could be merged and released?

Hi too,
Sure, that would be great.
On Wed, 15 Feb 2023, 19:54 Julien Castets, @.***> wrote:

Hey,
Do you think this PR could be merged and released?
—
Reply to this email directly, view it on GitHub
https://github.com/Tivix/django-cron/pull/224#issuecomment-1431679758,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIHGUX3WCVOCAARL67UTPPDWXUC4TANCNFSM6AAAAAARQKNGJM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Errors in request object

This is a nitpicky edge case, but the discussion of errors centers entirely on how the server should handle and format errors. A request that includes an errors field is, yes absurd, but also not disallowed by the spec.
Would it be appropriate to add something like this?

If the server receives a request containing an errors field, it MUST respond with 400 Bad Request.

I don't think a request with errors is allowed by latest specification.
A document must only contain primary data or errors. It must not contain both.
The specification enforces primary data to be included in all request. At least if I haven't missed something.

9.1  Creating Resources
A resource can be created by sending a POST request to a URL that represents a collection of resources. The request MUST include a single resource object as primary data.

9.2 Updating Resources
A resource can be updated by sending a PATCH request to the URL that represents the resource.
(...)
The PATCH request MUST include a single resource object as primary data.

9.3.1 Updating To-One Relationships
(...)
The PATCH request MUST include a top-level member named data

9.3.2 Updating To-Many Relationships
A server MUST respond to PATCH, POST, and DELETE requests to a URL from a to-many relationship link as described below.
For all request types, the body MUST contain a data member whose value is an empty array or an array of resource identifier objects.

All the citation is based on latest release candidate for v1.1.

I'm going to close this issue. Please speak up if I missed an important point.


InteliSense often doesn't work at all.

Hi, I'm using visual studio 2019 pro, the released version this april 2nd...  Often when I open a project and enter a python file, no INtelliSense is working.  If I start typing 'imp', I expect things like Import to come up.  But a good chunk of the time nothing comes up.  Sometimes INtelliSense starts working after a few minutes, but other times I have to restart visual studio.

Hi @jmh-aira
A delay after initial load is expected especially for environments with large libraries installed, but it should eventually work.
Can you see the Microsoft.PythonTools.Analyzer.exe running in task manager, and if so, is there CPU usage while you are waiting for completions to start working?
Can you provide some info on the environment you are using (python version, packages installed) and the imports that you have in your project?

The same phenomena here. After copying some codes from one file to current editing file, the INtelliSense is totally gone.

We do not have a repro for this, so any additional information, like code we can use to reproduce, is appreciated.

@huguesv
Here's a repro which fails every time in my latest official VS2019 CE: PTVSFailTest.zip
IntelliSense doesn't work in ALL python modules this project includes.
But if you exclude app/viewset.py from it, save and reopen VS, then bam, everything would work fine after that (if if significantly slower as compared to VS2017, but this is probably another issue).
So something in viewset.py must be breaking the engine. This module should contain some errors because I had just started working on it by copying&pasting random pieces of code from other django modules. But why would it break IntelliSense in all the other Python files and make typing some much slow everywhere?

I've updated to 16.0.4 today and can confirm that the issue is still reproduceable there.

Thanks @eugals I can repro with your project's viewset.py. I'll try to narrow it down further.

I've got also intelisense problem with VS 2017 (15.9.14).
If in package's init.py there is some import of local py module, intelisense doesn't work anymore:
...
from . import some_module
...

If the "import" line is deleted, then the intelisene will work again (after restart).
I'm using VS as part of project where python is embedded in C++ application.

I also have an InteliSense problem with VB 2017, version 15.9.14. When I updated to that version I was forced to update my PTVSD version to 4.2.10. and that's when I first noticed the problem, but I'm not sure if there wasn't a problem before that.


runtime: marked free object in span

What version of Go are you using (go version)?

$ go version
go version go1.16 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/leo/.cache/go-build"
GOENV="/home/leo/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/leo/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/leo/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/leo/EduOJBackend/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3374132961=/tmp/go-build -gno-record-gcc-switches"

What did you do?

This issue is introduced in this commit, causing CI reports "runtime: marked free object in span" or "fatal error: sweep increased allocation count" randomly. Yes, this commit's GitHub action fails for another reason. But testing it locally will report a runtime error.
Testing locally with GODEBUG=cgocheck=2 GOGC=2 go test -gcflags=-d=checkptr ./... -race will add probilities to this error.
Are we using unsafe package?
Yes, we are. But since go's StringBuilder itself is also using it,   and don't use it doesn't help either, I don't think the problem is caused by using of unsafe package.
Adding GODEBUG=cgocheck=2 and -gcflags=-d=checkptr (see this commit) doesn't help either.
Errors exist under multiple go versions (1.14, 1.15, 1.16) and os (ubuntu, macOS, ubuntu), but adding GOGC=2 in go 1.16 ubuntu will add probabilities to this error. (on my machine, 100%)
What did you expect to see?
No error because we use unsafe package the same as strings.Builder.String() did, and remove it doesn't help.
What did you see instead?
runtime: marked free object in span 0x7f4ce673e548, elemsize=64 freeindex=7 (bad use of unsafe.Pointer? try -d=checkptr)
0xc000456000 alloc marked
0xc000456040 alloc marked
0xc000456080 alloc marked
0xc0004560c0 alloc marked
0xc000456100 alloc marked
0xc000456140 alloc marked
0xc000456180 alloc marked
0xc0004561c0 alloc marked
0xc000456200 free  unmarked
0xc000456240 free  marked   zombie
000000c000456240:<PHONE_NUMBER>613224<PHONE_NUMBER>6b7848
000000c000456250:  2f494e6774593238  6f45782e48332e6c
000000c000456260:  746f4f4f784d575a  6d47466f5a63527a
000000c000456270:  6e31796256584d6c<PHONE_NUMBER>416a33
0xc000456280 free  unmarked
0xc0004562c0 free  unmarked
0xc000456300 free  unmarked
0xc000456340 free  unmarked

Full error reports can be found at our repo's GitHub Actions

I can reproduce
git clone https://github.com/leoleoasd/EduOJBackend
cd EduOJBackend
git checkout 0764cbfd0f8eaea90414c1e833651e8c961b64e5
GODEBUG=cgocheck=2 GOGC=2 go test -gcflags=-d=checkptr ./... -race

The data in your zombie object looks like gibberish to me: $2a$10$qHxkg64bA82YtgNI/l.3H.xEoZWMxOOotzRcZoFGmlMXVby1n3jAS. But in my crash, it contains test_get_run_comparer_output_fail_submit_user_0. So it is almost certainly the backing store of a string.
That string look familiar?

@randall77  $2a$10$qHxkg64bA82YtgNI/l.3H.xEoZWMxOOotzRcZoFGmlMXVby1n3jAS is output of a password hashing algorithm, and should be at user struct's password field

Checked every password used in tests, test_get_run_compiler_output_fail_user_0_pwd has hash mentioned above.
User with that password is constructed  (app/controller/submission_test.go#L714)[https://github.com/leoleoasd/EduOJBackend/blob/0764cbfd0f8eaea90414c1e833651e8c961b64e5/app/controller/submission_test.go#L714]

Some more info
Compile with
~/go1.16/bin/go test -c ./app/controller

Run with
GOGC=2 ./controller.test -test.run=GetRunCompilerOutput -test.count=10

Will fairly regularly crash with a bad pointer found in the stack frame of app/controller_test.TestGetRunCompilerOutput at offset 0x2f8.
It looks like the slot at 0x2f8 is initialized from the results of a Echo.Reverse call. But those calls only happen later in the function than where the failure occurs (Echo.Reverse calls are >= line 730, whereas the failure occurs when at line 722). Which makes me think the slot in question is not yet initialized but is somehow marked as live.
Still investigating.

Tested multiple times on my local machine with
git checkout aba04bec7e23f7163b338270467e2e96e811e027
go clean -cache -testcache
GODEBUG=cgocheck=2 GOGC=2 go test -gcflags=-d=checkptr ./... -race

It seems that aba04bec7e23f7163b338270467e2e96e811e027 magically fixes this.

This is a nasty compiler liveness bug.
The bug in the OP's code is in app/controller/submission_test.go:createSubmissionForTest. The user argument is never walked during GC, but is returned inside the result struct. Subsequent uses of user by the caller reference already-freed values.
I think a simple workaround would be to use unnamed return values. Use submission := ... and return submission. I think the bug can only happen for named return values.
Here's a reproducer.
package main

import (
	"runtime"
	"strings"
)

type T struct {
	str string
}

func main() {
	// Allocate something on the heap.
	str := strings.Repeat("x", 1024)

	// Allocate a stack object that points to str.
	t := &T{str: str}

	// Pass a pointer to the stack object to g.
	s := g(t)

	// At this point, neither str or t are statically live.
	// They should only be held onto by the reference in s.

	if s.t.str[0] != 'x' {
		panic("bad")
	}
}

type S struct {
	t *T
}

//go:noinline
func g(t *T) (s S) {
	s = S{t: t}

	// s escapes, so it is moved to the heap.
	escape(&s)

	// t is stored in the heap copy of s, but it is a stack pointer.
	// We need that t pointer to keep str alive, and we have to find it during
	// stack scanning. Having it live in the heap means the stack scan of this
	// goroutine will not find the stack object at *t, and hence not keep
	// str alive.
	runtime.GC() // This collects str!

	// At this return the heap copy of s is copied back to the stack, so main can
	// read it (and find t, even though we never scanned *t).
	return
}

//go:noinline
func escape(x interface{}) {
	sink = x
	sink = nil
}

var sink interface{}

$ GODEBUG=clobberfree=1 go run ~/gowork/issue44614.go
panic: bad
goroutine 1 [running]:
main.main()
/Users/khr/gowork/issue44614.go:26 +0xb7
exit status 2

The problem here is that when we move a return value to the heap, it can still contain pointers into the stack. That's a big no-no, as we won't find any stack objects that those stack pointers point to.
I think this is just an escape analysis bug. Making t escape should fix it.
@mdempsky

This bug appears from 1.14 onwards. 1.13 and earlier are unaffected.

@gopherbot please open backport issues.

Thanks a lot! @randall77

@randall77 Thanks for minimizing the reproducer. I agree this looks like an escape analysis issue.
I think the problem is in location.leakTo, that if a parameter flows to a result parameter that itself needs to be heap allocated, we need to record that as a heap leak rather than a result leak. We probably just need to include !sink.escapes in that check.

Thank you so much @randall77

Further minimized repro:
$ cat test.go
package p

func f(p *int) (r *int) {
	sink = &r
	return p
}

var sink interface{}

$ go tool compile -m -l test.go
test.go:3:8: leaking param: p to result r level=0
test.go:3:17: moved to heap: r

It should be simply leaking param: p without to result r.

I suspect the culprit CL that caused the regression in Go 1.14 is 262046716cf56637febf8dd6cbc27520e19d4db1.


Basket quantity value isn't visible if 'Update' button label has length > 8 (translated versions)

@slava-mitin could you please check in browser element inspector which element width is enough to display quantity control correctly? Thanks.

I don't know which width is enough for all languages.
The way you can reproduce the issue:

open file templates/oscar/basket/partials/basket_content.html
find row 66 "button class="btn btn-default" type="submit" data-loading-text="{% trans 'Updating...' %}" {% trans "Update" %} /button"
replace {% trans "Update" %} with "Update01"

If you are going to fix it only for Russian language you could set other translation for 'Update' in this context - 'Задать' instead of 'Обновить'


test(e2e): cover B2B demo cases

closing #4282

looking good, but I would add an additional test where a human user is then logged in and checked for the new roles (user grants) in the granted projects of the vendor org


Why does the launcher have a different version for Bangle 1?

The default launcher has a version for Bangle 1, and Bangle 2. The version for Bangle 2 seems to be more maintained, and has config options.
However, when I edit the app to use the Bangle 2 version, it works just fine for the Bangle 1. Would it be possible to remove the Bangle 1 version and always use the Bangle 2 version?

Actually, the up arrow doesn't work. I'll try to figure out why.

I can also confirm that issue. At first I thought of a problem of events on my own clock app with 2v11 but it seems related to the app code

What issue?

Oops sorry, i was referring to :

Looks like BTN1 now goes back instead of selecting the previous one.

Yes, that was an intentional design choice by Bangle:
// pressing button goes back
setWatch(_=>load(), BTN1, {edge:"falling"});

This seems weird, now we have a menu that can only scroll down? When we use BTN1 on launcher, the previous item is selected, just before going back. Definitely looks like a bug.

It definitely is weird, but that's what they chose to do in their code.
https://github.com/espruino/BangleApps/blob/d9d5926416566762e59b953c745f989d23c9b334/apps/launch/app-bangle2.js#L66-L67

@peeweek it seems that @t0m1o1 squashed some commits, originally made by Gordon Williams because someone thought it should do that in #971.

BTN1 on bangle.js 2 is the only button so that's back.
I added settings for fonts to the bangle 2 but I don't have a bangle 1 to test. Does everything work nice other than the wrong button?
Would be nice to unify the code.

On the Bangle 1, yes, it functions just like the previous launcher other than having configuration, and using the up button to go back.

On the Bangle 1, yes, it functions just like the previous launcher other than having configuration, and using the up button to go back.
That is precisely what I find strange, on my bangle 1 I just can´t go up anymore because of this change on BTN1 :( . In terms of user experience, I find it way more prevalent to navigate up/down than going back (as I'm already selecting my clock to do so), we could add an extra "return" entry to the launcher menu instead, what do you think?

On the Bangle 1, yes, it functions just like the previous launcher other than having configuration, and using the up button to go back.
That is precisely what I find strange, on my bangle 1 I just can´t go up anymore because of this change on BTN1 :( . In terms of user experience, I find it way more prevalent to navigate up/down than going back (as I'm already selecting my clock to do so), we could add an extra "return" entry to the launcher menu instead, what do you think?

we could add an extra "return" entry to the launcher menu instead

For me, the clock already displays on the menu as an app.

we could add an extra "return" entry to the launcher menu instead

For me, the clock already displays on the menu as an app.

For me, the clock already displays on the menu as an app.
Seems fair indeed :)
however I can't seem to figure out in the codebase where does the setWatch(_=>load(), BTN1); code is handled in the launcher for BangleJS1. Strangely when I run the code in IDE, the button 1 works correctly. Is this back behavior defined more globally (like in boot?)

Ok, this feels weirder and weirder.... I am only making assumptions here: I'm feeling that the web updater is not sending the correct js file for the bangle js 1.
I tried to sideload (using the web IDE) the launch.app.js manually by the contents of the app-bangle1.js, and now my menu is working correctly for my banglejs1.
My assumption is that the bangle js 2 version was uploaded to my banglejs1, even though I selected the 1 in the web app

Ok, so I think there are 2 different issues here? @KTibow there are 2 different versions because the v2 version is designed for touch scroll and the v1 is designed for 3 buttons. I don't think it makes sense to try and use the same version for both.
@peeweek so you think you have the Bangle.js 2 version installed on the Bangle.js 1?  Maybe check and see if you have launcher settings available from App Settings in the Settings app? If so then somehow the Bangle.js 2 version has got installed.

@peeweek so you think you have the Bangle.js 2 version installed on the Bangle.js 1?  Maybe check and see if you have launcher settings available from App Settings in the Settings app? If so then somehow the Bangle.js 2 version has got installed.

I've been using both banglejs.com/apps and my own flavor peeweek.github.io/BangleApps/ but I've been selecting correctly the bangle1 on the start screen. I got the problem fixed temporarily by copypasting the bangle1 app.js file into the IDE then uploading it to my watch's storage, and now it works :/ (at least my BTN1 doesn't do both up and return to clock in the menu)

I don't think it makes sense to try and use the same version for both.

AFAIC, you could just change one or two lines of code, and have a universal launcher.
Right now, the Bangle.js 2 version works exactly the same as the Bangle.js 1 version for me, other than BTN1 being used to go back instead of going up.
If a check was added to only use the BTN1 for going to the clock on a Bangle.js 2, then the same launcher could be used for both versions.

Going to attempt to unify the two files. Does anyone know how to conditionally run a block of code based on the device version?

Going to attempt to unify the two files. Does anyone know how to conditionally run a block of code based on the device version?

From the settings app:
 const BANGLEJS2 = process.env.HWVERSION==2;

True or false for bangle2


To train a model on a different SQL table

Hi Mr.Li,
I have download the entire code package. I would like to train a model for my own SQL table. From what I understand I need to-

Annotate my table using annotate.py
2)Then use preprocess.py,train.py,evaluate.py.

But I  am confused about the input data to annotate.py. In what format should I give my SQL table to annotate.py? And once that part runs through rest scripts should technically run ok, correct? Or do I need to make any other format changes?
Any guidance is greatly appreciated! Thank you!

Hi @Sandy26 ,
The WikiSQL data format can be found in https://github.com/salesforce/WikiSQL . Thanks!

@stprior Thank you so very much. This is very helpful!!!. I will let you know how it goes :) cos I believe I need to  add one more step and actually train a model on my sql tables. Thank you once again for providing a solid first step in that direction!
@donglixp Thank you for the piece of code mentioned above

@stprior : Just want to make sure I understand this correctly . In your notebook(https://github.com/stprior/coarse2fine/blob/predict/wikisql/Exploration.ipynb)-
"Set up a question. The SQL field describes the expected query when training or testing. In this notebook it is not used, but it should still make sense for the table (e.g. conds should not specify a column number which is not in the table)."
In [57]:
question = {"phase": 1,
"table_id": "1-10753917-1",
"question": "How many wins did the ferrari team have after 1950 and before 1960?",
"sql": {"sel": 1, "conds": [[2, 0, "Williams"], [8, 0, "2"]], "agg": 3}
}
So ideally in a "test" question I should not need an "sql:" part correct? But I should give some value (with any columns in the table) just so that the code doesn't break?
Thank you,
Sandy

Hi Stephen,
Your python notebook was very helpful.I was able to follow the steps to add my own table and question.
But the code works or crashes depending upon my question. For some questions it works , that is gives me a query .But for some questions it crashes giving this error-
Traceback (most recent call last):
File "test_mytable.py", line 99, in
result_list=translator.translate(batch)
File "/home/sp52650/stprior_code/coarse2fine/wikisql/table/Translator.py", line 89, in translate
op_batch_list, self.fields['cond_op'].vocab.stoi[table.IO.PAD_WORD]).t())
File "/home/sp52650/stprior_code/coarse2fine/wikisql/table/Utils.py", line 46, in add_pad
return torch.LongTensor(r_list).cuda()
RuntimeError: given sequence has an invalid size of dimension 2: 0
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/init.py", line 5, in
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in
import apt
File "/usr/lib/python3/dist-packages/apt/init.py", line 23, in
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "test_mytable.py", line 99, in
result_list=translator.translate(batch)
File "/home/sp52650/stprior_code/coarse2fine/wikisql/table/Translator.py", line 89, in translate
op_batch_list, self.fields['cond_op'].vocab.stoi[table.IO.PAD_WORD]).t())
File "/home/sp52650/stprior_code/coarse2fine/wikisql/table/Utils.py", line 46, in add_pad
return torch.LongTensor(r_list).cuda()
RuntimeError: given sequence has an invalid size of dimension 2: 0
And even for the questions that get a query, it has incorrect column numbers. I think that is telling me that the current model is not working for me and I need to train a new one with my own table. Does that sound correct ? Also any thoughts why I might get the above error for some questions and not for others? as of now, I have failed to find a pattern in the failing and succeeding questions.
Thank you once again,
Sandy

Hi @Sandy26 ,
It would be better to train the model on your dataset if the questions are of different patterns. Thanks!

Hi Li,
Since I will be feeding the code a new table, I tried to find where the column names for the table are mapped to numerical values like 0,1,2... ? Or does the training data take care of it? As in  when we give the "sql: " part in the train.json file?
Thank you,
Shruti

Hi Li,Stephen,
Any thoughts on how difficult it will be to add "DISTINCT" and  "LIMIT" functionality to this model? As in say the question is -
"Tell me any three types of fruits in stock."
then ideally my query will be-
SELECT DISTINCT Fruits FROM Table WHERE In_stock=1 LIMIT 3
Just curious!
Thank you,
Shruti

Hi Shruti,
Adding new clauses like DISTINCT and LIMIT would be possible, but difficult. It might be possible to treat it as a new aggregate category and layout, but the WikiSQL lib code would need to be changed to include this new operation, and the coarse2fine code would need to be rewritten too. You would also need plenty of training examples, and would need to train the model from scratch because the pre-trained model would not be usable.
Training to target the existing supported SQL syntax would be easier, training could start from the existing pre-trained model and less training data required. The column numbers just come from the order column descritions they appear in the header JSON entries of the table files.
Regard,
Stephem

Hi Stephen,
Thank you for sharing your thoughts. I don't think I really understood when you said- "Training to target the existing supported SQL syntax would be easier, training could start from the existing pre-trained model and less training data required".
Do you mean that I can use the existing pretrained model and some how train it to include some examples from my table? So should I just append my annotated questions to train.jsonl and train the model? Or is there a better way to do it?
Thank you,
Shruti

Hi Stephen,
Just appending to my previous question- I guess to start with pretrained model and add my own training data to it- Is it about line 177 in train.py?
Load checkpoint if we resume from a previous training. ?
But I don't know how to use it (I have the pretained model, my new annotated questions and table but not sure how I process to use it)
many thanks,
Shruti

I haven't actually tried training the model yet, but I plan to in the next week or so - I'll put up some notes when I do. If you add data to the existing dev train and test data files and run annotate.py on them you shouldn't need to make code changes, you should be able to follow the top level run.sh script. I don't know how many training examples you would need to make a difference to the model though. Alternatively you could train using mostly or only your own examples, but the quality of the model for more general queries would probably drop then.

Hi @Sandy26 ,
Supporting these queries needs some code modifications and new annotated examples. Then the new model can be trained from scratch.

Hi Stephen,Li,
I tried to train my model using my ~200 queries+ 3 from WikiSQl. I tried to keep them evenly matched so that my data gets better say. As expected the accuracy is very low but at least does better than pretrained model. While annotating queries though I realised that for training queries, there has to a where clause? As in cond cannot be like cond:[[, , "" ]].  So it how can one train very simple queries like-
What is the total number of transactions?
SQL: Select count(transactions) from table X
Or can I tweek annotate.py that can give cond:[[]] a harmless value?
Thank you,
Shruti

Hi Shruti, the wikisql training data includes examples like this which have "conds": []

Hi Li,Stephen,
I have created a new model for my own dataset and it does give me reasonable results. Thank you for all your help so far.
Now I really need to add group by, order by, and limit functionality. I am going around in circles about what really needs to be done. But here are my few specific questions-
I plan to create sample data like-
{"phase": 1, "table_id": "1-1-1", "question":"Find baseball tickets by cities ?","sql":{"sel":[1,2] ,"conds":[],"agg":[0,3],"group":[1],"order":[],"limit":[]}}
so query should be -
SELECT City,COUNT(Tickets) FROM table GROUP BY City
Another example can be-
{"phase": 1, "table_id": "1-1-1", "question":"Find top 5 baseball tickets by cost ?","sql":{"sel":[3,2] ,"conds":[],"agg":[0,0],"group":[],"order":[1],"limit":[5]}}

How do I change sel from integer input to a list. Also for agg change integer value to list. With that change can I still use agg_classifier and sel_match (ModelConstructor.py line 100-104) or will that need to change?

As per my understanding the "lay" field includes list of operands in the conditions , hence keeps a track of number of conditions. Do I need a separate lay for each of "group" , "order" and "limit"? or should conditions,group, order and limit should all be in one "lay" field?

Should I use something like agg_classifier or matchscorer for modelling "group" , "order" and limit?

I understand that these quiet involved questions, but any help/ideas about the starting point would be greatly appreciated.
Thank you very much,
Shruti


Bugfix: domain routing for subfolder

Previously, if laravel was installed to a subfolder, when attempting
to generate a route url for a route associated with a domain, the
subfolder is not included. This corrects that problem.
For more details, see request #3911

What about those of us running servers who do not wish to have a separate domain or subdomain just for a Laravel installation?
Call me old fashioned, but some servers and clients I work with prefer subdirectories.
How would one setup Laravel to operate out of a subdirectory?

@taylorotwell Why would it hurt to allow it? Like @kirashi3 says, sometimes there is no other choice. My company requires me to work on a subdirectory level because setting up new proxies and domain names is time consuming and cannot be done instantly by the developer, which would give me long delays in deployment. I worked around this by forcing the root url in my AppServiceProvider class, but I feel like Laravel should offer the option out of the box as a modern framework.
It seems like a fairly non-intrusive modification to the code to me. Am I missing something?
(I came here through an SO question)

I think this is needed often times.  With companies, they often have a domain installing various different types of applications:
http://www.company.com/app-1-using-laravel/
http://www.company.com/app-2-using-codeigniter/
http://www.company.com/app-2-using-symfony/
etc.
This is a very common real-life scenario actually.  Would be great if this flexibility could be made.  CI and Symfony is able to do this too.  Laravel is great everywhere, but seems to be stuck in this problem of forcing users to install the app in a root.

If someone sends a PR to comprehensively fix it I will merge it.
On Fri, Nov 6, 2015 at 12:17 PM, thomas83<EMAIL_ADDRESS>wrote:

I think this is needed often times. With companies, they often have a
domain installing various different types of applications:
http://www.company.com/app-1-using-laravel/
http://www.company.com/app-2-using-codeigniter/
http://www.company.com/app-2-using-symfony/
etc.
This is a very common real-life scenario actually. Would be great if this
flexibility could be made. CI and Symfony is able to do this too. Laravel
is great everywhere, but seems to be stuck in this problem of forcing users
to install the app in a root.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/3918#issuecomment-154490835.

@taylorotwell I just did a hacky fix on my own site to make this work for coalitiontechnologies.com/jobs. What I did was to update \vendor\symfony\http-foundation\Symfony\Component\HttpFoundation\Request.php and added a line after line 1221. Line 1221 + my new code is:
$host = strtolower(preg_replace('/:\d+$/', '', trim($host)));
    $host = $host.'/jobs';

Then I had to comment out the line throwing an exception on this -
//throw new \UnexpectedValueException(sprintf('Invalid Host "%s"', $host));
I've never worked on an open source project before, but I'd be happy to try to figure out a more comprehensive fix for you. My concern is that I am pretty new to coding and might screw something else up outside of what I'm trying to do. If you think my hacky fix above is the right idea though I'd be happy to try to figure out a more comprehensive way of implementing it?


Unsupported Configuration  The Swift standard library from the toolchain cannot be used on devices. Select a macOS or simulator run destination instead, or use a different toolchain that only provides the compiler.

Describe the bug
Hi, I tried to build the toolchain with --tag swift-5.5.1-RELEASE，After getting the toolchain file, replace the xcode toolchain, connect to the real iPhone, and run the program， got error: Unsupported Configuration
The Swift standard library from the
toolchain cannot be used on devices.
Select a macOS or simulator run
destination instead, or use a different
toolchain that only provides the
compiler.
Which preset should I use to build the toolchain?

To Reproduce
Steps to reproduce the behavior:
1. git clone --branch swift-5.5.1-RELEASE https://github.com/apple/swift
2. git clone --branch swift-5.5.1-RELEASE https://github.com/apple/llvm-project
3. ./swift/utils/update-checkout --tag swift-5.5.1-RELEASE --clone
update-checkout succeeded
4. ./swift/utils/build-toolchain tool

Environment (please complete the following information):

OS: macOS 11.6.5 (20G527)
Machine: MBPro Mid 2015, x86, 16G
Xcode 13.0 (13A233)
Python 2.7.16
ninja 1.10.2
cmake 3.23.1

For my current business, the built toolchain is enough.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-source-version-target/pull/156 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-source-version-target.git

Docs Build status updates of commit 6fceecd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

versioningArchiveSourceFolder/TOC.yml
:white_check_mark:Succeeded
View (sql-server-2014 || azuresqldb-current || azuresqldb-mi-current || azure-sqldw-latest || >= aps-pdw-2016 || >= sql-server-2016 || >= sql-server-linux-2017 || sql-server-previousversions || sqlallproducts-allversions)

versioningArchiveSourceFolder/docfx.json
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Option to set the typematic rate and delay

A config/cli option to set the typematic rate and delay would be useful.
The delay specifies the time until the typematic begins, the rate is the amount of times a char is repeated per second if its key is held down.
With X11 this can be set through xset r rate [delay in ms] [rate in Hz]

Repetitions are handled by the display server, so you should be able to control them using xset. The one exception to this is macros since keyd must generate synthetic repeat events in the form of up/down pairs to ensure they execute as intended.

Well my bad, I had the rate set before I started the keyd daemon, after starting it xset must be run again.
Thanks for the reply!


(#138) - Fix tests & publish bin

#138
.gitignore - Ignore files from running tests, Intellij and Mac stuff
test-pouchdb.sh - Set up PouchDB properly given new build behavior
package.json - Publish all the files in bin so that express-pouchdb tests
can run. I tested this with npm pack and it appears to work just fine.

@yaronyg I'm also taking a look at this. I'm pretty close at getting it all working https://github.com/pouchdb/pouchdb-server/pull/140

@garrensmith That is awesome! I was just hacking things to try and figure out to get things working. If you can throw in the bin fix I put into the package.json then I could close this PR and yours could solve it all.

Sure. I'll add that in tomorrow.

Closing in favor of #140. BTW, @garrensmith once this is working then I'll move the changes you made over to https://github.com/pouchdb/express-pouchdb/pull/329 unless you already have plan to do the same updates there yourself?

@yaronyg that will be great.


fixed option tags for sort selector

Hi,
I'm trying to display zipkin-web in an iframe but having issues due to invalid html in sort select option tag; hopefully this fixes it.
Regards,
Mario

Oops, thanks! Looks like a simple bug, so I'll merge it right away.

Thanks!

:shipit: thanks for the fix!


Add MIMETypes adapter selection mechanism

Feature Request

[x] New Feature
[ ] Change Existing Behavior

Description
A MIMEType based adapter selection mechanism would be useful for web services. This would likely entail:

Add an attribute like MIMETypes to the PluginManifest schema (see suffixes for the filename equivalent)
Add support in opentimelineio.adapters for selecting an adapter based on this
Defining MIMETypes for different EDL formats we support (An outdated proposal for OTIO JSON is here: https://opentimelineio.readthedocs.io/en/latest/tutorials/otio-file-format-specification.html#mime-type-uti)

Context
Currently OTIO's allows adapters to advertise supported formats based on file extension and will automatically resolve an adapter to use based on that. In cases like web services, there is no filesystem interaction (EDLs are usually provided in POST payloads or retrieved as streams from an object store like Amazon S3 or or Azure Blob Storage). For the POST payload use case, it would be useful to have a mechanism for selecting adapters based on MIMETypes.
Defining the MIMEType for formats outside of OTIO JSON would likely be more of a community collaboration challenge than anything. Some may be able to be derived from existing filetype UTIs in MacOS by using the application/vnd.EXISTING_UTI+suffix form (where suffix is an existing underlying type like json or xml).

The Adapter class would need to grow a mime type list:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/22e2468b32f75e8e8ec8d542accba92435dcbd16/src/py-opentimelineio/opentimelineio/adapters/adapter.py#L70

support in __str__ and __repr__

The code to detect by mimetype would be here:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/22e2468b32f75e8e8ec8d542accba92435dcbd16/src/py-opentimelineio/opentimelineio/plugins/manifest.py#L162
We'd also want to add in convenience functions like we do for suffixes:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/22e2468b32f75e8e8ec8d542accba92435dcbd16/src/py-opentimelineio/opentimelineio/plugins/manifest.py#L166
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/22e2468b32f75e8e8ec8d542accba92435dcbd16/src/py-opentimelineio/opentimelineio/adapters/__init__.py#L52
And modify this error message to note that both suffixes and mimetypes were searched:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/22e2468b32f75e8e8ec8d542accba92435dcbd16/src/py-opentimelineio/opentimelineio/adapters/__init__.py#L101


Test before release (v0.1)

Since we're pretty much done here, all that's left is to test it on macOS, Linux and Windows, then tag & release.

Looks like the deployment/release configuration of Travis isn't working correctly, as even though v0.1 seemed to go through fine, the compressed binaries were never uploaded/attached to the release.


Luxury Diamond Ring

Brand Name: Missing Cat
Item Weight: 7.03ct
Origin: Mainland China
Certificate: Yes
Main Stone: Diamond
Diamond Clarity: SI2
White Diamond Color: G
Diamond Shape: Cushion Shape
Diamond Cut: Excellent
Diamond Carat Weight: 7.03ct
Metals Type: White Gold
Metal Stamp: 18k
Gender: Women
Fine or Fashion: Fine
Rings Type: Bridal Sets
Setting Type: Prong Setting
Item Type: Rings
Style: TRENDY
Side Stone: Diamond
Certificate Number: MQ916
Model Number: MQ916
CertificateType: GIA
is_customized: Yes
Occasion: wedding
Shape\pattern: Irregular
https://www.gautamrecruiting.com/product-page/diamond-wedding-engagement-rings-for-women-3

[https://www.gautamrecruiting.com/product-page/diamond-wedding-engagement-rings-for-women-3]


[BUG] - Unavailability to set a required timeframe

Describe the bug
When I select the time interval above in the filter it doesn't impact the dataset. I see all dates in the table, but would like to cut irrelevant days including unknown NaN which all of them have not been set in the time filter.
Grafana Version & Plugin Version
0.2.3
Screenshot:

We will investigate more about the first session date for the data to appear on the 23rd.
Is there no data for columns with NaN?
If possible, can you share the column data?


Branch 1.3

Can one of the admins verify this patch?

@maobaolong , thanks for submitting patch to Alluxio! Normally the release branch (e.g., branch-1.3) only accepts bug fixes for that particular release. New development goes to master branch. Is there any particular issue you want to fix for 1.3? We have 1.4-Release Candidate available for user to try.

@maobaolong let me know if there is any particular question you want to resolve. v1.4-RC2 is available for tests. Otherwise I will close this pull request.

Since no special questions seen here. I am closing this PR. thanks for the patch any way. Just for the future reference: master branch is the developing branch and release branch (like branch-1.3, branch-1.4) only accepts bug fixes


browser.waitWhile would be a nice shortcut for browser.wait

I would like to replace this code
browser.wait(function () {
    return $('.negative-condition').isPresent().then(function (isPresent) {
        // if it's present, keep waiting
        return !isPresent;
    });
});

with this
browser.waitWhile(function () {
    return $('.negative-condition').isPresent();
});

Is there a case where https://github.com/angular/protractor/blob/master/lib/expectedConditions.js does not cover?
For your case, it's just
var EC = protractor.ExpectedConditions;
browser.wait(EC.stalenessOf($('.negative-condition'));

For custom negation, you can use EC.not(fn)

Yeah, that'll work nicely. Thanks.


[Question] Is there a way to get a count of a subset of the results

Hi,
I still learning what I can and can't do in handlebars. I'm trying to figure out if I can get a count of a subset (filtered by field value) of the search query. For example, if I search for 'Engagements' and it returns 120 items, I would like to then be able to show that within those 120 items 23 are 'Active'. I've read through the handlebars info and tinkered, but I'm not sure this is doable with the helpers provided. Am I missing something? Thanks for any advice!
H

Hey @bryllyg,
I think you might be able to get a count on how many are active by plucking the data, stringifying the array and then counting the occurrences of "Active"
{{occurrences (stringify (pluck Engagements "Status")) "Active"}}
Please bear with me, if my response is not proper, I am new to Github.
Any recommendations on a better response format would be appreciated.

Hi @Devilthehell,  Thanks! That's very helpful. I don't currently have access to pluck (it's not in the build of PnP Search I'm working with) but I'll get in a request for it :-)


Check what files might be split up

Check what files might be split up/refactored on order to keep the number of lines of code per file smaller.

More could be done ... But this needs to suffice for the release.


[stable/nginx-ingress] fix unnecessary truncation

The nginx-ingress.controller.fullname is already truncated.
Further truncation where the length of the namespace is part of
the character count results in the service not being found when
the namespace is of significant length.

/ok-to-test

/lgtm


Notify session's start and end

What
It would better to add a feature that notify user to start and end of the session. And user can turn on and off it from setting.
Sample is the following. https://play.google.com/store/apps/details?id=pl.droidcon.app
Start
Notify users 5 minutes before their favourite session's start. When users tap the notification, detail page will open.
End
After 5 minutes of session's end, Notify users to send feedback to each speaker.

Sounds great! I am adding Ver 1.1.0 flag to see if we can finish it before the release.

memo:

I'm going to use AlermManager.
Be careful if notification works also after reboot.
Hints on AlarmManager :arrow_right:  http://y-anz-m.blogspot.jp/2011/03/alarmmanager.html
Done is better than perfect

memo:
I'm going to use AlarmManager.
Be careful if notification works also after reboot.
Hints on AlarmManager :arrow_right: http://y-anz-m.blogspot.jp/2011/03/alarmmanager.html
Done is better than perfect


Allow retargeting audio sources on a per-source basis

Objective
Right now, there is no way to send audio anywhere other than rodio's global mixer. rodio allows users to create mixers directly, meaning that users can create mixers with an output, add extra effects on it, and then add the mixer itself as an audio source. In the current version of rodio OutputStream/OutputStreamHandle don't have a way to create them from anything other than a CPAL device (meaning that alone, this PR only allows users to target specific devices per-audio-source) but https://github.com/RustAudio/rodio/pull/547 is intended to fix that, and ultimately this would allow users to specify scoped effects.
Solution
Added a new component that allows specifying per-source output handles. While out of scope of this PR, it may eventually be useful to add some kind of proper interface for adding sub-mixers and effects. Not to integrate a DSP framework directly, but just to specify a few basic effects using rodio's built-in effects plus a way for crates like bevy_fundsp to build a complex signal processing interface. Once the rodio PR lands, I might make a new PR proposing a way to expose this functionality.
This still doesn't provide a way to expose the global stream handle, meaning that even if the rodio PR lands then external modules still don't have a way to send data to the global mixer, but it lays the groundwork for more complex audio handling.

Changelog
Added
New component, AudioTarget. This component allows marking sources to be played via a specific OutputStreamHandle instead of the global one.

I'm currently working on a library with the same goal as behind this PR, and I have a version which you can import as an external library with the current version of Bevy https://github.com/eira-fransham/bevy-mod-dynamicaudio/. From building that library, I have realised that, with the current API (including the new API proposed in this PR), it's not possible to implement the functionality that I want as a layer coexisting with bevy_audio. However, the minimum API change that would be required to support effects and so forth is pretty simple:
+pub struct AudioTarget {
+    pub target: rodio::dynamic_mixer::DynamicMixerController<f32>,
+}

-pub(crate) struct AudioOutput {
+pub struct AudioOutput {
    //...
}

+impl AudioOutput {
+    fn handle(&self) -> OutputStreamHandle {
+        // ...
+    }
     // ...
+}

As far as internal code changes go, it's basically a case of replacing Sink::try_new with Stream::new_idle (see here https://github.com/eira-fransham/bevy-mod-dynamicaudio/blob/master/src/audio.rs#L467-L485).
Note the use of DynamicMixerController<f32> instead of OutputStreamHandle. Do you think it would be alright to expose DynamicMixerController<f32> in the API? It's a pretty weird type but there's not really a good way of allowing external libraries to implement effects other than exposing it directly, rodio isn't written generically enough to allow Bevy to write nice wrappers that hide the concrete type like it does in many other places (e.g. with AudioSink instead of Sink).

My main concern with adding that (or to be honest, much functionality to bevy_audio) is figuring out what a migration path off of rodio looks like. See #1304, #5829.

Do you think that a solution would be to move the crate slightly towards a more generic implementation? The concern I have is that this gets merged and then would almost immediately need to be overhauled since the most-compelling usecase (intermediate mixers) isn't supported by the PR as it currently exists, and all it does is add extra dependence on rodio for little gain. For example:
pub enum RodioTarget {
    Output(OutputStreamHandle),
    Mixer(DynamicMixerHandle),
}

pub trait AddSource {
    type Source;

    pub fn add_source(&self, source: Self::Source);
}

impl AddSource for RodioTarget {
    type Source = Box<rodio::Source + Send + Sync + 'static>;

    // ...
}

pub type DefaultBackend = RodioTarget;

// Note that `output` is an `Entity`, not a `Target` - users can set the default target to an intermediate mixer if they prefer
#[derive(Resource)]
pub struct DefaultTarget<Target = DefaultBackend> {
    pub output: Entity,
}

#[derive(Component)]
pub struct AudioTarget {
    pub target: Entity,
}

#[derive(Component)]
pub struct AudioMixer<Target = DefaultBackend> {
    pub handle: Target,
}

pub struct AudioPlugin<Target = DefaultBackend> {
    // ...
}

Then for now, we would bound the systems to only accept T: AddSource where T::Source: From<<RodioTarget as AddSource>::Source> in order to reduce the amount of new traits that need to be created. In order to completely remove dependence on rodio we would need to add extra traits for looping playback, creating a sink/spatial sink, and so forth. A future PR could add more traits that would remove rodio dependence entirely. This would also mean that the eventual adoption of kira as the default backend could be made non-breaking for users that use bevy-audio in a way that is dependent on rodio - e.g. with custom implementations of Decodable.

My concern is that this is all very conforming to rodio's approach to audio signals, which is unneccesarily convoluted, and then in the future, trying to retrofit kira into that approach in the future. This increases complexity to introduce a veneer of genericity that will most certainly not pay off in the future.
So, IMHO, this should not be pursued, and instead we should wait until we're actually going to replace rodio with kira to think about the migration path forward. Both crates are sufficently different that it doesn't make sense to try to fit them together, even transitionally.

Oh, I didn't mean my last comment as being critical of the PR as a whole, but rather @eira-fransham's last comment about expanding the scope to make it more generic. The current PR is still useful (although limited until their PR in rodio lands), and can be merged as-is.


Generate mbedtls randomness from hardware RNG

I believe the current implementation relies solely on CPU timing for randomness (specifically for the ECDH key exchange). That's a problem because it's insecure and because we don't get to use our fancy TRNG driver for the SAM4L.
Instead, the signpost user libs can simply define
#define MBEDTLS_ENTROPY_HARDWARE_ALT

int mbedtls_hardware_poll( void *data,
                           unsigned char *output, size_t len, size_t *olen );

to call the underlying TRNG driver.

I've already written an entropy abstraction that uses the TRGN to as a source to seed the mbedtls PRNG.

@nealjack Oh yeah, I think that works. I was looking through mbedtls, and there appears to be a supported way to do basically the same with a #define and magically named function you're meant to provide, but this seems better.


Make Kiso compatible with Twig Tweaks 2.x and 3.x

That was fast.

right?
It turns out that kiso is not even depending on twig tweaks, my mistake


Constants on env.sh

I suggest the env.sh environment variables could be written on a config.yml to be consulted

Thanks for the suggestion. Implemented in 00f1cfa4d849010b81ab7a0f825561b3c4c13f37 with some minor changes.
I put the config variables in a file called config.ini (used .ini instead of yaml becasue python has a built in parser for ini files). But now you don't need to manually source a file before running covfefe. When  run, config.py wil try to read variables from the environment first, then resort to the config.ini file.