MediaQuery > Padding > Top is incorrect on iPhone 14 Pro.

Further to closed issue #113665 the padding.top supplied by media query on iPhone 14 Pro is in fact wrong anyway.
Flutter sets it to 59 pt but the actual value is 54 pt. This can be confirmed from the official iOS design resource and measured directly as done in the the screenshots attached.
Flutter padding is 59 pt.

iOS padding is 54 pt

This test was done using:

iPhone 14 Pro Simulator running iOS 16.2
Flutter 3.7.3
Xcode 14.2

I hope that helps.
R

Flutter sets it to 59 pt but the actual value is 54 pt. This can be confirmed from the official iOS design resource and measured directly as done in the the screenshots attached.

@88RIK88 Can you share the document source of this or the way to check this padding on other native iOS apps?
I tested this with the sample code at https://github.com/flutter/flutter/issues/113665#issuecomment-1298316181, it's 59.0:

Demo (screenshot)

@huycozy First the official iOS design resource libraries have this padding at 54 pt (https://developer.apple.com/design/resources/) and secondly you can (as I did) measure it yourself when using the iOS simulator.
The individual whom raised issue I referenced is having a different problem but it highlighted this issue which is why I raise it. Flutter sets MediaQuery.of(context).padding.top to a double of 59 on iPhone 14 Pro. It should be 54. This can be replicated by running a CupertinoApp and setting a Container's to MediaQuery.of(context).padding.top. It will read 59 when it should be 54.
I have confirmed this with the official library released by Apple, for Sketch and Adobe XD and further by measuring it myself as it did not look quite right to me symmetrically against the dynamic island. It is 54 natively on all native iOS apps using standard swift UI elements.
Attached is a screenshot of the app switching tray on iOS. Whilst this tray scales different apps as part of its animation you can clearly see the issue. The first app (far right) is the native iOS files app. The second app (centre) is an app built with Flutter and using a navigation bar with top padding taken from the media query. The third is the native iOS calendar app. As you can see (even despite the way iOS scales apps in this tray) the centre bar's top padding is clearly larger than the other two. Precisely 5 pt in fact.

The first two images I posted will give you the exact difference (5 pt) and the official libraries for sketch and XD will do the same.
I hope that helps.

Thanks for the detailed information. When opening Sketch design, I also see the AppBar title Y-axis value is 54.0:

I'm not quite familiar with iOS design, please correct me if I'm wrong. Due to the design (https://developer.apple.com/design/resources/) is about iOS 16 only, it means that this should be an OS-specific issue, right? (just to confirm this is not device-specific issue, as you mentioned it's on iPhone 14 Pro)

I suspect it is specific to the iPhone 14 pro and Max exclusively and not an iOS 16 issue as it is the only iPhone to have the dynamic island instead of the notch at the top. Other iPhones notch’s are either 44 or 48 pt and Flutter always seemed to the get then right.
I will do a few tests in a couple of hours to confirm and let you know but I'm almost certain it will be specific to the 14 Pro and 14 Pro Max.

Confirmed. Thank you for your patience.
This affects all devices that have the dynamic island which currently is the iPhone 14 Pro and iPhone 14 Max.
I have a theory as to why if helpful. The "notch" that has been present on iPhones since the iPhone X takes a certain number of viewable millimetres out of the users screen. However, the device padding (MediaQueryData > padding in flutter) doesn't take the same amount out in corresponding pixels. It takes slightly less so that optically items positioned at the top with this padding appear to be in the middle from a user perspective when they are in fact a few pixels higher than the middle. It's simply because it looks prettier and takes up less space and is an exact replica of how Apple has done it with native iOS.
The dynamic island of iPhone 14 / 14 pro increases the real physical space of the size of the notch with the new "dynamic island". Translating this amount from millimetres into theoretical pixels implies that flutter had increased the padding by the difference between the "notch" and the "dynamic island". However, like the notch, the actual number of pixels to remove would be less than that increase to match the optical intention of the dynamic island.
I haven't reviewed the source code sufficiently but assuming that the padding provided to MediaQueryData is device specific then reflecting 54pt instead of 59pt would be the easiest answer for now.
These "dynamic islands" are invariably going to become more common in future apple products and I'm sure their dimensions will change on a device level to some extent as well.
Hope that helps,
R

Thanks for providing more information. Labeling the issue for further investigation.
This issue is reproducible on the latest stable and master channels with this sample code.

Sample code
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: true,
      ),
      home: const Example(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Example'),
      ),
      body: Center(
        child: Text(MediaQuery.of(context).viewPadding.top.toString()),
      ),
    );
  }
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.3, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.3 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (17 hours ago), 2023-02-08 15:46:04 -0800
    • Engine revision 248290d6d5
    • Dart version 2.19.2
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Users/huynq/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment Corretto-8.302.08.1 (build 1.8.0_302-b08)
    • All Android licenses accepted.

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

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

[!] Android Studio (version 2022.1)
    • 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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 110.0.5481.77

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.8.0-12.0.pre.67, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.8.0-12.0.pre.67 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fd01812f67 (55 minutes ago), 2023-02-14 18:43:38 -0800
    • Engine revision d860892528
    • Dart version 3.0.0 (build 3.0.0-233.0.dev)
    • DevTools version 2.21.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 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.1)
    • 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.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 110.0.5481.100

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

! Doctor found issues in 1 category.

The FlutterView's safeAreaLayoutGuide layout frame on a 14 Pro is {{0, 59}, {393, 759}}
<UILayoutGuide: 0x6000018b8000 - "UIViewSafeAreaLayoutGuide", layoutFrame = {{0, 59}, {393, 759}}, owningView = <FlutterView: 0x158d48870; frame = (0 0; 393 852); autoresize = W+H; gestureRecognizers = <NSArray: 0x600002f68390>; layer = <CAMetalLayer: 0x600002f63210>>>

I thought maybe this was because in the flutter create template we are using an older style layout guide:
                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>

but when I recreated the storyboard to use viewLayoutGuide key="safeArea" it continued to report 59.
                <viewController id="Y6W-OH-hqX" customClass="FlutterViewController" sceneMemberID="viewController">
                    <view key="view" contentMode="scaleToFill" id="5EZ-qb-Rvc">
                        <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <viewLayoutGuide key="safeArea" id="vDu-zF-Fre"/>
                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>

See logic at https://github.com/flutter/engine/blob/b310be5cebab4a568f65c30bab6dca3d19ff6f45/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm#L1348-L1354

From the following links it seems that, on iPhone 14 Pro and Pro max, the safe area is 59 on the top but the status bar height is 54:
https://useyourloaf.com/blog/iphone-14-screen-sizes/
For reference, here is a discussion of that same issue on Xamarin project:
https://github.com/xamarin/Xamarin.Forms/issues/15584#issuecomment-1321889695

@bleroux great research, thank you!
Flutter isn't doing anything device-specific here, just respecting the safe areas as reported by iOS to the app/window/view, which seems like the right thing to do even if it's reporting something different than expected on dynamic island devices.
I wonder if a newly created iOS app in Xcode also has this issue?  The reported example is showing an Apple's 1p app iCloud Drive, and we don't know how these are calculating safe areas (for all we know there's an SPI other apps can't use that does the Right Thing on these devices).

On iPhone 15 Pro  59 is too large, 50 is suitable


feat: a convenient toolchain to register prebuilt protoc

cc @haberman @bellspice

Closing because there was no activity for 3 months.

That's true, there was no reply from the reviewers in all that time. But it's disingenuous to use that as a justification when you're the maintainer who didn't reply.

On March 14th I posted review feedback and there was no reply from you about that. Also this PR is set against mirror branch, not main.
I’d like to understand better your reaction. Do you want this PR reopened?

That's really pity, that this was closed.
@alexeagle Thank you so much for releasing a prebuilt protoc toolchain on: https://github.com/aspect-build/toolchains_protoc.
@comius Thank you so much for adding --incompatible_enable_proto_toolchain_resolution to Bazel and allowing to use prebuilt protoc toolchains and stop building it again and again from the source.
Needless to say, that prebuilt protoc toolchain should be exposed in rules_proto itself.
That's the case for all other rules_* projects.
It would be great if this PR could be re-opened and finalized.

I'm meeting with Ivo next week and can discuss, but Bazel team is currently planning to archive this repo, and the protobuf repo maintainers rejected this design proposal, so I'm guessing the separate toolchain repo will remain.

@alexeagle Can you share the reference to a discussion as for why the current rules_protoc maintainer would reject the proposal to host the prebuilt protoc toolchain in this repository?
I import rules_java and expect to consume prebuilt JDK without building it from source.
I import rules_go, rules_nodejs, rule_kotlin, and what not and I always get the prebuilt toolchain as expected.
rules_protoc was the only exception: import it and either wait for 15 minutes to build it from source, or (even worse) it wouldn't build at all due to outdated C++ Toolchain on the host machine and/or outdated protobuf versions in @com_google_protobuf.
The right course of action is obviously, to flip --incompatible_enable_proto_toolchain_resolution to true per default, and include the prebuilt protoc toolchain in rules_protoc, so that the folks could import it and move forward with the life without messing around with the external prebuilt protoc providers...

Hi @davido, I can share some thoughts from the perspective of someone on the proto team.
We agree with the premise that most users have no need to build protoc from source, and should not need to wait for this build to complete, especially given that we already release prebuilt binaries.
We would like the proto rules to use prebuilt binaries by default so that users can get the benefit of faster builds. We don't have a concrete timeline for delivering this, but I would consider it part of our roadmap. We need to make sure that the design aligns with our versioning and compatibility policies. For example, we do not support mixing and matching arbitrary versions of protoc and the language runtimes.
In the future, rules_protoc will not be a separate repo, but instead the proto rules will live in the protobuf repo. But even though the rules will be colocated with the protoc sources, we can still recognize if a prebuilt binary is available for the current repo version, and use that instead of building from source.


[ENH] Allow for "echo" entity to be used with T1w and other nonparametric anatomical suffixes

Closes #654
https://github.com/bids-standard/bids-specification/issues/654 provides more of discussion with a number of people bringing up the  use cases which keep coming about.
As EchoTime is a recommended sidecar file metadata field for any file of 'mri' modality, I decided that it would only be logical for at least existing use cases (T1w) and possibly other cases (to not overspecify T1w) to simply allow for "echo" entity to be used if so necessary to distignuish two files while they do remain of that weighting (e.g. T1w) given the EchoTime values.

I'm a little late chiming in, but I also support this change.
If there is confusion what the weighting (t1, t2, pd) means when dealing with multiple echos, I think we can say the weighting refers to the first (and highest SNR) echo which, to my knowledge, is the common convention.


Upgrade to v0.0.10 onwards from v0.0.9 will break the compiling

Description
Wanted to do a upgrade to the latest v0.0.11 from v0.0.9 but things just went broken with the following error:
TypeError: src/index.js: Cannot read property 'file' of undefined

After a few debugging attempts, it seems like these 2 plugins causing the problem:

minify-dead-code-elimination
minify-mangle-names

Steps to reproduce
A repo to reproduce the error straightaway: broken-babili
OR minimal scripts to reproduce

.babelrc

{
  "comments": false,
  "presets": [
    [ "env", { "targets": { "node": "current" } } ]
  ],
  "plugins": [
    "minify-constant-folding",
    [ "minify-dead-code-elimination", { "optimizeRawSize": true } ],
    "minify-flip-comparisons",
    "minify-guarded-expressions",
    "minify-infinity",
    [ "minify-mangle-names", { "blacklist": { } } ],
    "minify-simplify",
    "minify-type-constructors",
    "transform-member-expression-literals",
    "transform-merge-sibling-variables",
    "transform-minify-booleans",
    "transform-property-literals",
    "transform-simplify-comparison-operators",
    "transform-undefined-to-void",
    "minify-empty-function"
  ],
  "env": {
    "build": {
      "presets": [
        "babili"
      ],
      "plugins": [
        "transform-remove-debugger"
      ],
      "ignore": [
        "**/__mocks*__/*.js",
        "**/__tests*__/*.dist.spec.js",
        "**/__tests*__/*.spec.js"
      ]
    }
  }
}

package.json

{
  "name": "brokenbabili",
  "version": "0.0.1",
  "description": "Upgrade from v0.0.9 to v0.0.10+ will break the compiling.",
  "keywords": [
    "brokenbabili",
    "babel",
    "babili"
  ],
  "homepage": "",
  "license": "MIT",
  "author": "motss<EMAIL_ADDRESS>  "main": "dist/index.js",
  "repository": {
    "type": "git",
    "url": ""
  },
  "scripts": {
    "build": "BABEL_ENV=build babel src/ -d dist/"
  },
  "dependencies": {},
  "devDependencies": {
    "babel-cli": "^6.14.0",
    "babel-plugin-minify-empty-function": "0.0.1",
    "babel-plugin-transform-remove-console": "^6.8.0",
    "babel-plugin-transform-remove-debugger": "^6.8.0",
    "babel-polyfill": "^6.16.0",
    "babel-preset-babili": "0.0.10",
    "babel-preset-env": "^1.1.8"
  },
  "engines": {
    "node": ">= 6.9.1",
    "npm": ">= 3.10.8"
  }
}

index.js

function sayHello(name) {
  return `Hello World! ${name}`;
}

module.exports = sayHello;

Same is happening to me.

Same error

From your .babelrc config, it seems you are using both plugins of babili and preset(babili) options which does the transformation on the input file src/index.js.
Have either one of them (Preset/Plugin) and pass in the options as documented here

@vigneshshanmugam Thanks for looking into the issue.
Never know there are a list of default values being set by babili.
Tried modifying my .babelrc to override those plugins based on my needs. But still not able to get it work. Would like to know if I can override the presets when specifying an env variable.
{
  "comments": false,
  "presets": [
    [ "env", { "targets": { "node": "current" } } ],
    [ "babili", {
      "replace": false,
      "removeConsole": false,
      "removeDebugger": false
    } ]
  ],
  "env": {
    "build": {
      "presets": [
        [ "env", { "targets": { "node": "current" } } ],
        [ "babili", {
          "replace": false,
          "removeConsole": false,
          "removeDebugger": true // removeDebugger when BABEL_ENV=build
        } ]
      ],
      "ignore": [
        "**/__mocks*__/*.js",
        "**/__tests*__/*.dist.spec.js",
        "**/__tests*__/*.spec.js"
      ]
    }
  }
}

The way you can acheive what you are trying to do is to pass BABEL_ENV=development and move the default preset to env object.
In your current config, babili will be applied twice since specified in the default preset.

@vigneshshanmugam This works as expected. Thank you so much for the help! 👍


Usability: Tracking Ticket

Description
This is a tracking ticket for the following issues related to Usability. These ideas were gathered through New User feedback. All are open to discussion!

Test Connection button: https://github.com/merico-dev/lake/issues/595
How to Debug doc: #773
Populate "Triggers" JSON dynamically #774
Cancelling tasks: #775
Absolute Links: #786
"Getting Started" Wizard: #787
"Docs" folder: #788
Better progress details: #789
YouTube Series: #790

I think this ticket is so important to our success.


abaplint.json, allow all object types

this will fix the SOTS error

Thank you Lars!

I can also change the settings to allow the STATICS? if you like

Yes, please do it. I think in this case we can skip this check.


Ch. 2 Lesson 4 sketch.js - .get() not a function

Line 24 of forces & friction example:
var friction = movers[i].velocity.get();
.get() is not a function - mistaken leftover from Processing port?

ah, yes it should be copy() I think?

Yep that did it - I found a couple other minor issues so far, I'll submit pull requests shortly.

Fantastic!  I'll leave this open until fixed in the repo.  Thank you!

Funny thing: var friction = movers[i].velocity.copy(); did not work when I tested in Chrome, but .get() did!!!

I updated the p5 version for all examples and switched get() to copy().  I might have missed something but hopefully all are working now!


Refactor Settings Dialog with Confirmation Dialog

Refactor the settings dialog that is used in the goup filter editor into a component.
As a pop-up dialog for settings with a confirmation dialog on close wheter to discard changes made will be necessary in many components in ESID in the future, i.e.:

Compartment filter editor
District map settings
Heat legend editor
NPI editor

Implementation ideas:

Component providing the main pop-up and the confirmation dialog.

receives children as props to render.
holds state whether children changed and passes function in props to change state (i.e. mark child components dirty/changed)

use floating window for this instead of pop up


Add A Series of New Generative Models

Hi RewardBench Team 👋,
We have updated a series of generative models:
opencompass/CompassJudger-1-32B-Instruct
opencompass/CompassJudger-1-14B-Instruct
opencompass/CompassJudger-1-7B-Instruct
opencompass/CompassJudger-1-1.5B-Instruct
Our local evaluation metrics for the model is listed as bellow:
For CompassJudger-1-32B-Instruct:
{'Chat': 0.9776536312849162, 'Chat Hard': 0.6557017543859649, 'Safety': 0.8613455949455949, 'Reasoning': 0.9221162765318929}
For CompassJudger-1-14B-Instruct:
{'Chat': 0.9748603351955307, 'Chat Hard': 0.6228070175438597, 'Safety': 0.8453248157248157, 'Reasoning': 0.9247200169149343}
For CompassJudger-1-7B-Instruct:
{'Chat': 0.9776536312849162, 'Chat Hard': 0.6052631578947368, 'Safety': 0.8470778518778519, 'Reasoning': 0.8951922027609537}
For CompassJudger-1-1.5B-Instruct:
{'Chat': 0.9636871508379888, 'Chat Hard': 0.49451754385964913, 'Safety': 0.7813390663390664, 'Reasoning': 0.6959131336279806}
To Run Evaluation Script
For these generative models, it's okay to evaluate them with the default scripts/run_generative.py script. Just as below code:
export VLLM_WORKER_MULTIPROC_METHOD=spawn
cd reward-bench
python scripts/run_generative.py --model=opencompass/CompassJudger-1-32B-Instruct --num_gpus 4

We would like to add these series of new generative models to the RewardBench LeaderBoard.
Thank you!

Running now. Will be visible upon next restart.


feat(fungible): add message to pause/unpause zrc20

Description

Add Paused field in ForeignCoin
The message MsgUpdateZRC20PausedStatus provides a list of ZRC20 to update. If the action is pause, all zrc20 get paused, and vice versa.
fungible add a PostTxProcessing into evm, it checks addresses of contract emitting events, if an event is emitted from a paused zrc20, the tx is reverted. All actions in ZRC20 interactions emit events, therefore is prevent doing any actions on it once paused

This currently blocks actions to the ZRC20 at the smart contract level, maybe there are additional logic to add like blocking cctxs related to the zrc20?
Closes: https://github.com/zeta-chain/node/issues/1037
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.

[x] Tested CCTX in localnet
[ ] Tested in development environment
[x] Go unit tests
[ ] Go integration tests
[ ] Tested via GitHub Actions

Checklist:

[x] I have added unit tests that prove my fix feature works

I do feel it might be a good idea to concetrate all the administration related logic to observer module or a separate module improted by observer . However that would be a much bigger refactior and can be done seprately . Would love to get your thoughts on that .

Thanks for the review. We can think about it. So far I am quite good with the message currently in fungible. I think we should think about modules more like a piece containing a specific state of the chain, rather than a group of actions. If a message interact with the state of a module A, so it should be in module A IMO.

@brewmaster012
Added a smoketest that pause the ZRC20 and check:

Can't interact with the zrc20
Can't interact with contracts that interact with the zrc20
Can continue to interact with other zrc20
Can unpause and interact again with the contract


Remove TextEditor._enrichContentLinks override

The override breaks enrichment. This should be solved by core TextEditor._primeCompendiums now anyway.

We should probably solve it as part of removing it to avoid forgetting it.

Oh I misunderstood. You meant that this is no longer necessary. I started typing TextEditor and you are completely correct.


[KYUUBI #6302][FOLLOWUP] Skip spark job group cancellation on incremental collect mode

:mag: Description
Issue References 🔗

This pull request fixes https://github.com/apache/kyuubi/pull/6473#discussion_r1642652411
Describe Your Solution 🔧
add a configuration to control whether to skip the cancellation here for incremental collect queries, skipping by default for safety.
Types of changes :bookmark:

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[x] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Thanks, merged to master/1.9.2


[10.x] Cast to string $contents on Component.php to prevent render deprecation messages

Returning null from the render method is a valid option when extending a component:
public function render(): ?View
{
    if ($condition === false) {
        return null;
    }

    return view('components.map');
}

The above code is still valid; however, since this PR https://github.com/laravel/framework/pull/31271, there's a new method to check if a component should be rendered, called shouldRender. Nevertheless, there is code that uses the old way (and it still works).
The issue arises with the Component.php file, which is not designed to handle anything other than a ViewContract or a string.
    /**
     * Create a Blade view with the raw component string content.
     *
     * @param  string  $contents
     * @return string
     */
    protected function extractBladeViewFromString($contents)
    {

If null is received, the deprecation log reports:
[2023-11-07T15:25:53+00:00] deprecations-daily.WARNING: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/app/vendor/laravel/framework/src/Illuminate/View/Component.php on line 173
[2023-11-07T15:25:53+00:00] deprecations-daily.WARNING: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/app/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php on line 75
[2023-11-07T15:25:53+00:00] deprecations-daily.WARNING: hash(): Passing null to parameter #2 ($data) of type string is deprecated in /var/www/app/vendor/laravel/framework/src/Illuminate/View/Component.php on line 194

The solution involves casting the $contents variable in Component to a string to prevent these warnings.

Actually, can't we move this way up in the method? Right after we have the $view returned from the render method?

Something like?:
    /**
     * Resolve the Blade view or view file that should be used when rendering the component.
     *
     * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string
     */
    public function resolveView()
    {
        $view = $this->render();

        if (is_string($view)) {
            return $this->extractBladeViewFromString($view);
        }

        if ($view instanceof ViewContract) {
            return $view;
        }

        if ($view instanceof Htmlable) {
            return $view;
        }

        $resolver = function ($view) {
            if ($view instanceof ViewContract) {
                return $view;
            }

            return $this->extractBladeViewFromString($view);
        };

        if ($view instanceof Closure) {
            return fn (array $data = []) => $resolver($view($data));
        }

        return '';
    }

No like this:
        $view = $this->render();

        if (! is_null($view)) {
            return '';
        }

But we are again on is_null instead is_string.
I think that we can simplify the function as:
    /**
     * Resolve the Blade view or view file that should be used when rendering the component.
     *
     * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string
     */
    public function resolveView()
    {
        $resolver = function ($view) {
            if (($view instanceof ViewContract) || ($view instanceof Htmlable)) {
                return $view;
            }

            if (is_string($view)) {
                return $this->extractBladeViewFromString($view);
            }

            return '';
        };

        $view = $this->render();

        if ($view instanceof Closure) {
            return fn (array $data = []) => $resolver($view($data));
        }

        return $resolver($view);
    }

Original method is (as reference):
    /**
     * Resolve the Blade view or view file that should be used when rendering the component.
     *
     * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string
     */
    public function resolveView()
    {
        $view = $this->render();

        if ($view instanceof ViewContract) {
            return $view;
        }

        if ($view instanceof Htmlable) {
            return $view;
        }

        $resolver = function ($view) {
            if ($view instanceof ViewContract) {
                return $view;
            }

            return $this->extractBladeViewFromString($view);
        };

        return $view instanceof Closure ? function (array $data = []) use ($view, $resolver) {
            return $resolver($view($data));
        }
        : $resolver($view);
    }

I dunno, I worry this could be a breaking change to people returning other Stringable objects, etc. Just return a string.

Actually @eusonlito. Upon further digging I don't think render can ever return null. There's no example of that in https://laravel.com/docs/10.x/blade and the return annotation is clear about this. What makes you think it can?
https://github.com/laravel/framework/blob/10.x/src/Illuminate/View/Component.php#L81

As noted in the PR description, prior to this PR https://github.com/laravel/framework/pull/31271, the method to prevent a component from being rendered involved passing null or an empty string as the render argument. Since there were no deprecation warnings at these time, this approach simply worked. However, you are correct; it wasn't the proper way to handle it.
Thank you for the review.


Search books owned by me

Describe the feature you'd like
Thank you for the great feature #2436 !
Now that we have a owner field, it would be a very nice feature to better identify books that we own.
For now, I found only two options available in the search page which are "Created by me" and "Updated by me".
I was thinking about 3 possible ideas :

Add an option "Owned by me" in the search page
Display the owner field in the list/grid view next or under book title.
Set an automatic book tag "own" that we could search, or even better that could be displayed #2528

Describe the benefits this feature would bring to BookStack users
Better identify books that we own.

Thanks for the suggestion @Baptistou.
I can see the need, but I don't want to add any potentially confusing automatic tagging or clutter the listing views at all so the first option would be my preference, and should be relatively simple to add that for all assets types (Shelves, Chapters & Pages also).
Would you be happy for me to update the issue title to focus on the first option as a solution?

I agree that the first point is the most simple. Will it be possible to search books from other owners such as  {owned_by:John Doe} ?
This is why I proposed also the second point. It does make sense to search or sort books based on its owner, like in a library where books are stored by author.
Concerning the clutter issue, we generally see an image, the title and the author on a book cover. However, in BookStack we see an image, the title and the first sentence of content. What about reconsidering this choice ? Or what about adding a Toggle Details button like in home page ?
But this is probably two different issues. I will change the title and create another one.

Thanks to @benediktvolke this has now been merged into master and will be part of the next feature release.


Model Bakery - Object factory for django

You can create an object with a single line. Excellent for tests.

Agreed! However, it's already there no? https://github.com/wsvincent/awesome-django#testing


2 HoYoLAB account sign-in problem

Hi, I want to use the bot for my 2 accounts. However when i log in into the second account, the bot will not run on the first account. Anyone has made it work yet?

Ok nevermind i got it to work now after refreshing a few times.


Update csv.py

Removed mangle_dup_cols=True from BuilderConfig.
It triggered following deprecation warning:
/usr/local/lib/python3.8/dist-packages/datasets/download/streaming_download_manager.py:776: FutureWarning: the 'mangle_dupe_cols' keyword is deprecated and will be removed in a future version. Please take steps to stop the use of 'mangle_dupe_cols'
return pd.read_csv(xopen(filepath_or_buffer, "rb", use_auth_token=use_auth_token), **kwargs)
Further documentation of pandas: https://pandas.pydata.org/docs/whatsnew/v1.4.0.html#mangle-dupe-cols-in-read-csv-no-longer-renames-unique-columns-conflicting-with-target-names
At first sight it seems like this flag is resolved internally, it might need some more research.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Removed it :)

Changed it :)


RUST implementation of mock server list retruns error status

For some reason the status of each of mocks in pact_mock_server_cli defines by matchers check and therefore it almost always error. I changed it in my fork to always ok, but I am not sure that it is good idea. Anway, as I see it, the status should report the status of mock server, and therefore should be ok unless the mock server itself has some error.

The status is not of the mock server, but the verification state. The status will be an error if the mock server has received any requests that were not matched correctly.

I agree, but currently it is error even if no request was sent and even valid one (I used the example) was sent.

It is behaving as designed. The status will be an error until the mock server receives all the requests it is expecting. Here is an example use:
$ ./target/debug/pact_mock_server_cli list
Mock Server Id                    Port   Provider  Status
$ ./target/debug/pact_mock_server_cli create -f pact_matching/tests/pact.json
14:56:48 [INFO] Creating mock server from file pact_matching/tests/pact.json
14:56:48 [WARN] No metadata found in pact file "\"pact_matching/tests/pact.json\"", assuming V2 specification
Mock server "e9cc64e0322f416788139ec4251edb22" started on port 9000
$ ./target/debug/pact_mock_server_cli create -f pact_matching/tests/test_pact.json
14:56:57 [INFO] Creating mock server from file pact_matching/tests/test_pact.json
Mock server "919670551bc4426b993e799faf3595cd" started on port 9001
$ ./target/debug/pact_mock_server_cli list
Mock Server Id                    Port   Provider         Status
"919670551bc4426b993e799faf3595cd"  9001  "test_provider"  "error"
"e9cc64e0322f416788139ec4251edb22"  9000  "Alice Service"  "error"
$ curl 'http://localhost:9000/mallory?name=ron&status=good'
"That is some good Mallory."
$
$ ./target/debug/pact_mock_server_cli list
Mock Server Id                    Port   Provider         Status
"919670551bc4426b993e799faf3595cd"  9001  "test_provider"  "error"
"e9cc64e0322f416788139ec4251edb22"  9000  "Alice Service"  "ok"

Once the first mock server got the correct request (via curl), it's status changed to ok.

I might change the heading to "Verification State" to avoid confusion.


Update runbook code

Adding parameter part

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

@GitMaggie Thanks for the contribution. Changes look great.. #sign-off


[Docs] Add more description to vite --help

Clear and concise description of the problem
I'm new to vite, and I'm following this doc: https://vitejs.dev/guide/ .
Then I generated a demo project by yarn create vite, and found there are 3 default tasks:
  "scripts": {
    "dev": "vite",
    "build": "vue-tsc --noEmit && vite build",
    "preview": "vite preview"
  }

I was trying to get more information to understand the difference between dev and preview task by vite --help:
C:\Users\Admin>vite --help
vite/2.8.3

Usage:
  $ vite [root]

Commands:
  [root]
  build [root]
  optimize [root]
  preview [root]

For more info, run any command with the `--help` flag:
  $ vite --help
  $ vite build --help
  $ vite optimize --help
  $ vite preview --help

Options:
    ...

and vite preview --help:
C:\Users\Admin>vite preview --help
vite/2.8.3

Usage:
  $ vite preview [root]

Options:
    ...

Sadly, non of these commands helps me.
Even https://vitejs.dev/guide/ not says the difference.
Suggested solution

[ ] add more description to vite --help
[ ] add more description about the cli tool in https://vitejs.dev/guide/

Alternative
None.
Additional context
I found others are suggesting a youtube video, well, I cannot watch it as I'm under the protection of the GFW.
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Default command vite is used to start the dev server. vite preview is used to preview the built app (output of vite build) locally and should not be used in production environment.


Can't create any transactions on develop branch at b0a8522d9

Describe the issue
I am not able to create any transaction it seems, after compiling and running dashd on the develop branch at commit b0a8522d9. My wallet is unlocked and has plenty of tDash.
If I try and prepare a proposal collateral (gobject prepare) transaction, I get a message:
% ./src/dash-cli -testnet gobject prepare 0 1 441763201 7b22656e645f65706f6368223a313634353731373832342c226e616d65223a226e6d7465737432222c227061796d656e745f61646472657373223a227950796170344e6d374c536647325a457a6975514678784253456f556d566a545747222c227061796d656e745f616d6f756e74223a372c2273746172745f65706f6368223a313634353534353032342c2274797065223a312c2275726c223a2268747470733a2f2f6e6d74657374322e74657374227d
error code: -32603
error message:
Error making collateral transaction for governance object. Please check your wallet balance and make sure your wallet is unlocked.

% ./src/dash-cli --version -testnet
Dash Core RPC client version v<IP_ADDRESS>-b0a8522d9

If I try and send to a fresh address in my own wallet, I get this message from the command line:
% ./src/dash-cli -testnet sendtoaddress ybnko7ptc3qycBsZySQJR6fxSThVcvC8Yc 0.00000001
error code: -4
error message:
Error: This transaction requires a transaction fee of at least 1231455.75809168
% ./src/dash-cli -testnet sendtoaddress ybnko7ptc3qycBsZySQJR6fxSThVcvC8Yc 1
error code: -4
error message:
Error: This transaction requires a transaction fee of at least 1231455.76345744
% ./src/dash-cli -testnet sendtoaddress ybnko7ptc3qycBsZySQJR6fxSThVcvC8Yc 7
error code: -4
error message:
Error: This transaction requires a transaction fee of at least 1231455.7688232

If I try and send via the GUI, I get these messages (please see attached images).

Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:

git checkout b0a8522d9
cd depends && make CC=clang CXX=clang++
cd .. && bash autogen.sh && ./configure --prefix=$PWD/depends/x86_64-apple-darwin19.6.0 CC=clang CXX=clang++ && make
./dash/src/qt/dash-qt -testnet&
Then do any of the dash-cli commands above, or just try and send some tDash somewhere via the GUI.

Expected behaviour
It should send the Dash without the refillkeypool error.
Actual behaviour
An error is thrown about being unable to create a transaction and says to refillkeypool (doing this does not help, still gives the same error).
Machine specs:

OS: MacOS Catalina v10.15.7
CPU: 2.4 GHz 8-Core Intel Core i9
RAM: 64 GB 2667 MHz DDR4
Disk size: Free 505.41 GB / Capacity 1 TB
Disk Type (HD/SDD): SSD

Any extra information that might be useful in the debugging process.
Relevant debug.log entries after gobject prepare:
2022-02-23T13:21:05Z gobject_prepare -- params: 0 1 441763201 7b22656e645f65706f6368223a313634353731373832342c226e616d65223a226e6d7465737432222c227061796d656e745f61646472657373223a227950796170344e6d374c536647325a457a6975514678784253456f556d566a545747222c227061796d656e745f616d6f756e74223a372c2273746172745f65706f6368223a313634353534353032342c2274797065223a312c2275726c223a2268747470733a2f2f6e6d74657374322e74657374227d, data: {"end_epoch":1645717824,"name":"nmtest2","payment_address":"yPyap4Nm7LSfG2ZEziuQFxxBSEoUmVjTWG","payment_amount":7,"start_epoch":1645545024,"type":1,"url":"https://nmtest2.test"}, hash: 60ff45061aa21e28ba2db63cbaab28a00fa9bc4b8b73f9006f0284314e13ea7f
2022-02-23T13:21:05Z [default wallet] CWallet::GetBudgetSystemCollateralTX -- Error: Keypool ran out, please call keypoolrefill first

Wallet has plenty of funds and not locked
% ./src/dash-cli -testnet getwalletinfo
{
  "walletname": "",
  "walletversion": 120200,
  "balance":<PHONE_NUMBER>9765,
  "coinjoin_balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 2,
  "timefirstkey":<PHONE_NUMBER>,
  "keypoololdest":<PHONE_NUMBER>,
  "keypoolsize": 999,
  "keys_left": 999,
  "paytxfee": 0.00000000,
  "scanning": false,
  "private_keys_enabled": true
}

Interesting. Just checked on my machine and it's working fine for me (same commit, different OS).

Very interesting. I'll try and git bisect it to find the commit where this started, but it will take a while because I have to recompile dependencies and everything from scratch each time because of linker issues. Maybe a functional test as @PastaPastaPasta suggested would help reduce the debug time.

Running keypoolrefill doesn't help with this specific wallet, but I haven't tried creating a new one. Will try that and see what happens. The wallet I am currently using was created on v<IP_ADDRESS> I believe.

After running a git bisect to debug this, it looks like 254e12221779fcfb9ac35e7aa549b39ba788786d is the change which introduced this.
I created a patch on develop which reverts d25c0f21b and 254e12221 and this seems to work to fix the issue, which you can see at https://github.com/nmarley/dash/commit/df0cc17cd440507ccdcd2cc6232ce82c84867f2d.
I am assuming this is because the wallet is not an HD wallet but need to research a bit more. Will add some debug around here and see what comes up. I imagine that a bug was introduced with the different wallet flags.

Ok, I've created and funded 2 brand-new wallets from the branch above https://github.com/nmarley/dash/commit/df0cc17cd440507ccdcd2cc6232ce82c84867f2d, 1 of them is an HD wallet and the other is not.
I re-started DashCore at b0a8522d9d1a072f24810ca32b06b21e1b0fbc1c with each wallet loaded in turn, and the HD wallet had no issue but the regular wallet was giving the same error as the above. So it seems like the changes introduced some bug for regular non-HD wallets.
I will test this on Linux later just to verify it's not an OS thing, but I'm pretty sure I've got this nailed down to HD vs non-HD.

Thanks for finding the issue! 👍 Pls test https://github.com/dashpay/dash/pull/4705

Thanks for the fix! That seems to work.


Write Characteristic withoutResponse: true does not return Future immediately as described

I'm chaining calls like this:
listOfBLE_Services.last.characteristics.last.write(someAction, withoutResponse: true).then((val) => _logTheAction))
But, write never returns, so my subsequent then is never called.
May be related to issue #345 or #311

Does the characteristic end up being written? As in, if you check from the peripheral side, do you see the updated value?

I'm no longer working on this project, so I won't be able to reproduce.

Ok we’ll close this for now.


New Package: rcmaehl.MSEdgeRedirect version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

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

Microsoft Reviewers: Open in CodeFlow

Azurepipelines didn't run due to First time contributors thing, anything to do for that?

Azurepipelines didn't run due to First time contributors thing, anything to do for that?

A PSA has been posted: https://github.com/microsoft/winget-pkgs/issues/54601

/azp run

Thank you so much! Finally, I can try this tool, and it works wonderful.
Just one thing, it would be great to rename the settings.exe file to something like MSEdgeRedirectSettings.exe because it's confusing when I search for settings and find this.

Thank you so much! Finally, I can try this tool, and it works wonderful. Just one thing, it would be great to rename the settings.exe file to something like MSEdgeRedirectSettings.exe because it's confusing when I search for settings and find this.

Good point, will change


clan history changed?

From @paoloalby on February 28, 2018 8:9
Issue Report:

I noticed that the json from clan/xxxxx/history now gives only the last 7 days and no more.
Expected behaviour: since yesterday, I can track donation, trophies, etc of my clanmate for last months, and not only last week

You changed it, and from now, it will be in this way, or it's a temporary bug ?
Copied from original issue: cr-api/cr-api#262

From @smlbiobot on February 28, 2018 8:37
We changed it. I think that you can still get all by submitting a param. @fourjr can you possibly update the docs? If unsure what is changed I will write something.
This was changed coz while you guys query single endpoint, the website queries this for multiple clans and is an expensive operation to do as the number of clans we track are increased.

I have the info from selfish's announcement, moving this to the docs repo.


New script - makezip

It looks like we'll have to use the ZIP or TAR file formats to package part or all of our archival packages before they get written off to preservation storage. We will definitely have to use them for image sequences.
Anyhow - I created a zipfile using python itself and all seemed to go well. There's a benefit to keeping the zip workflow within python as much as possible, rather than relying on installing external tools. Installing and updating tools on multiple operating systems and computers  is a pain and should be avoided where possible.
I then intentionally damaged the zip file in a hex editor by flipping a single bit.
Using the built in zip extractor in OSX, the zipfile expanded as normal and OSX never flagged that there was a damaged file.
However, using the 'test' function in 7ZIP - it was able to figure out that something was wrong:
7za t blaa1.zip

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21

p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,12 CPUs x64)

Scanning the drive for archives:

1 file, 2483254 bytes (2426 KiB)

Testing archive: blaa1.zip

--

Path = blaa1.zip

Type = zip

Physical Size = 2483254

ERROR: CRC Failed : metadata/432_4767_01.MP4_mediainfo.xml

Sub items Errors: 1

Archives with Errors: 1

Sub items Errors: 1

It looks like python itself can also do this testing:

>>> with zipfile.ZipFile('blaa1.zip', 'r') as myzip:

...     myzip.testzip()

...

'metadata/432_4767_01.MP4_mediainfo.xml'

btw, even flipping that one bit caused a huge amount of damage to the XML file. Let me now if you want to see the difference.
Anyhow it looks like it should be more straightforward than previously thought to test the validity of ZIP.
We will need to familiarise ourselves with the ZIP spec - for example it's good to know that all valid ZIPs MUST contain CRC32 checksums  - this is how these tools can check the validity. CRC32 is an 8 character, pretty weak  checksum algorithm. It was able to detect a bitflip though.
So it looks like the way forward for this will be a script that will:

Zip a directory (an objects folder, a metadata folder, a whole package - yet to be decided and the script will allow us to make that decision)
Log the preservation event and agents in the logfile
validate the zip
Log the validation event and agents in the logfile

What's the background on this? Is it in writing sequences to tape?

Let me now if you want to see the difference.

Yes please!

Hi!
Here's the work in progress script I knocked up when testing that out - https://gist.github.com/kieranjol/e2bae8ea11444a404d4750943f135512 - I just put it on gist cos it's a bit ugly, i'll tidy it up and merge it into master soon.
Anyhow - this is to do with tape, but it's moreso with our HSM device. We were writing image sequences to a standalone deck using copyit.py -l and everything was going great. We could run validate.py and all. Writing image sequences to our HSM is a nightmare. Writing them to the spinning disk part of the HSM is fine, it's just the tape robot gets all confused when writing the files to the two LTO tapes. It takes way too long, the internal database becomes super sluggish and difficult to parse through when you suddenly start creating millions of files.
So if we just kept on using a standalone deck (we used USB3, I understand that SAS or thunderbolt would be much faster), we'd be grand, but for various reasons, we wanna use our HSM more.
Anyhow, I'd rather not zip at all, but if we have to, I want to verify losslessness. So I was afraid that for a 2TB sequenced, we'd need 6TB of space available:

2TB of original files
2TB for the zip (i'd rather not compress, it's crappy enough to have to zip in the first place)
2TB for the extracted files in order to do a fixity check to ensure that the zipping was lossless.

Also this would take SO MUCH TIME.
So it looks like the validate function within the python libraries actually is very reliable. I put in the sleep(45) call as it gave me enough time to open the zip in a hex editor and flip a bit, but I could have just pressed ctrl + z in order to pause ;)
Anyhow it looks like python only tells you the first corrupted file, but I guess that's enough for me really. I think I can actually trust the validation, though it is crc32 and there is a tiny chance of a collision.. What do you think??
As for showing you the difference, I will tomorrow. It was really interested to see how weird the corruption was..

btw, I greyed out the output destination., so it just makes your zip in your current working directory. I think @ecodonohoe  might have done a bit of testing with this but I'm not sure.

Thanks! We have had some trouble with image sequences in the system that we are in the process of abandoning...  We use a dual deck with a SAS connection but indexing all the image files produced a lot of challenges.
What is the HSM you are using? Is it an institutional desire to use it for access purposes? Or 'automating' stuff?
Oof, all that zipping, unzipping, knitting exciting underwear (python reference...). Sounds like a pain. Neat trick to zip in and fiddle with the file as it's being processed!  I have never used the zipfile library, cool to know it has built-in verification. I'd agree that knowing that at least one file is corrupted is enough to stop the process and try again. But here's a thread on CRC32 collision... Using the formula they provide, if there are ~29,000 frames in a 20 minute 24fps reel that makes for a ~ 0.17 chance of a crc32 collision between any two frames. I'm, uh, not a statistician so maybe check that math. Luckily at UC Berkeley we have an intern who is a statistician so I'll ask him this week! It does seem kind of high.
A couple of people here have asked about zipping DPX sequences so I'll keep an eye out to see what you do. Are you still working on the concept of DPX->FFV1? We're also curious about that as a possibility.

Thanks! We have had some trouble with image sequences in the system that we are in the process of abandoning... We use a dual deck with a SAS connection but indexing all the image files produced a lot of challenges.

Are those decks linked? Like one command fills up two tapes simultaneously?

What is the HSM you are using?
Strongbox 6TB model (i don't have exact model numbers off the top of my head) that links up with Spectra Logic T50 (i think that's the model) LTO tape robot.

Is it an institutional desire to use it for access purposes? Or 'automating' stuff?

Well it's more that we have it, and wanna use it cos there's just too much of a logjam if we're relying on a single deck. And this thing can be pretty smart about how it works - like you can queue up loads of jobs, add like ten tapes into the library and walk away.  I can probably share some internal documentation I've written up on it if interested - might need to get an OK on that first though. Also, this will allow multiple users at once to write to the HSM, and then we can set up different rules based on each user, and the queue system is kinda nice.

Oof, all that zipping, unzipping, knitting exciting underwear (python reference...). Sounds like a pain. Neat trick to zip in and fiddle with the file as it's being processed! I have never used the zipfile library, cool to know it has built-in verification. I'd agree that knowing that at least one file is corrupted is enough to stop the process and try again. But here's a thread on CRC32 collision... Using the formula they provide, if there are ~29,000 frames in a 20 minute 24fps reel that makes for a ~ 0.17 chance of a crc32 collision between any two frames. I'm, uh, not a statistician so maybe check that math. Luckily at UC Berkeley we have an intern who is a statistician so I'll ask him this week! It does seem kind of high.

OH GOD PLEASE ASK!!! My math is dreadful so i can't make sense of the numbers in that link right now. However, would it be fair to say that it would not matter if two files in an image sequence had the same checksum?  Wouldn't the issue be if a damaged file is damaged in such a way that it produces the same hash as the original file? I'd imagine that the odds of that happening are really low - but still..... i don't like the odds. Like the other way to do it is to just unzip and run an md5 check which would probably be doable - maybe a space saving script could:

extract file 1
reference md5 manifest and perform fixity check on file 1
if file 1 is OK - delete file 1
repeat first three steps for all other files
if not - print error and sys.exit()

This could be super slow and I'm not sure if it's even possible to extract one file at a time like that. it would save a lot of temporary space though.

A couple of people here have asked about zipping DPX sequences so I'll keep an eye out to see what you do. Are you still working on the concept of DPX->FFV1? We're also curious about that as a possibility.

We are very much working on DPX-> FFV1. We are waiting for RAWCOOKED to be fully operational. We funded some developments in RAWCOOKED, and the particular 12-bit DPX from Resolve is now supported by ffmpeg/ffv1 <3 - you should check out this thread: https://patchwork.ffmpeg.org/patch/8379/ - some interesting lossless checking in there.
Anyhow, FFv1/MKV is the plan, we just wanna do it responsibly. Though we have a lot of 16-bit TIFF DCDMs that are not supported by FFV1, and the fact that they are born digital makes me a little more reticient to normalise, but I think it's something we'll end up doing. I think @stephenmcconnachie in the BFI is investigating this angle :)
Also we have a whole bunch of RAW BAYER CRI files from the Cintel. In my opinion, these should all be dumped in a fire as they're the most proprietary, inaccessible moving image file format I have ever encountered. I have so many issues with these files and with the latest Cintel update, this whole situtation  got even WORSE from a digital preservation perspective. Anyhow, if we were to preserve these files, zipping would be the way to go for now. debayering is the worst - especially when the free/open workflow uses a sub-standard algorithm compared to the proprietary one in Resolve.

Edit - the DCDM stuff is probably doable in FFV1 but it wouldn't be super reversible I think. I haven't looked into it too much really. I meant to say though that TIFF/DCDM is not yet supported in RAWCOOKED - it needs a sponsor..

I think @stephenmcconnachiehttps://url6.mailanyone.net/v1/?m=1f8BU5-0001iL-3o&i=57e1b682&c=C7i7NcOwozoABbKqvJ0Htcdn8limqnINYpDIwCjjopWIUpu7769_g0gIgfbX_Q0vxqH4zgqXiDrLAsNWEfpHo4juRPAbT29tgXlzPosLKutmzvJPXy3jTmzBr5-28tw09N_IU_saUkzroWPCUlO8IYh2u_c0xZ1GMoNnWLYSd2jEyNTiBwqM0X6h3bxSz_xa0tTyOi0tCPykboy0W80sB1Q0aNlx3Q-oCi_NhUb5Etc in the BFI is investigating this angle :)
Yes, right, hopefully. I’m aiming to engage my firm in contributing to the multifaceted RAWCooked development and I figure DCDM’s TIFFs is a good attack vector.

Sent from my iPhone
On 16 Apr 2018, at 22:21, kieranjol <notifications<EMAIL_ADDRESS>wrote:
Also, it's this link that has the lossless stuff, not that it mattered much in the end: https://patchwork.ffmpeg.org/patch/7528/https://url6.mailanyone.net/v1/?m=1f8BZ5-00059e-6M&i=57e1b682&c=e-nJVjNAtmYH7ocg79DJptnY1UWSmpfrkxpFP03yaBSFyDGw0fKM_rvvgv2SKN0feqbW30KvOqHuanK91MfCx553lQ72ggm6E5Q0BjJc5cfMe8fw7J_dzORo3mQk0Hk_fkTL7ViF1kMKbHaUN_VXl7Dl5qYkaexCUNLp5VIC2DNChER9LzUMFoaMifWfzvBdBLxGivZuEWwbAbuYsU9UFhBeA2NId3oQxxNw8XAldNn2G6V1LfP-ANAMdXUVQNd7
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://url6.mailanyone.net/v1/?m=1f8BZ5-00059e-6M&i=57e1b682&c=9gh0mgWAH2L3CgC-Ky1z5KGglN0RBt-GgWIyGZILNwofZx32iSBeAXk6I4vCx-t7mHNXN8D8umVcfNB1Luorf-zX1YZCyEwpZeEWzwk7EUGiUDmNhUmx0JoHuNzzALpkulPmVcBvF48BHb-Qt-NlvYD3c46imAv9UHCkoo54ah6cUN297NmiLoyFUMxu5IqjU1RmXvWtYcp6Z_lXhIHVR34KWh357YbMZrAK6V6FHYi41UNPpUvpef-0oLvcgkB0GFPDATxzQpHl_DlzZ0LoXgRGod8BcJ7qVL7NTzZR-08, or mute! the threadhttps://url6.mailanyone.net/v1/?m=1f8BZ5-00059e-6M&i=57e1b682&c=loUoykUHb61pQ3dmLn7CUhpRzYQx3IUnqe5hdIRzzxM8BEkhWQ0LaA_ZNofeGiN8PCjL8yjC1ZmihDpdRIzGrxS7i2crrdBZ2uK5NgTaiyu-1SsOQi4UbNhfjmPxShqFfTTIBlJEt4axtO40SVCheB58D4M37zaqmD8wq_fXDByKN8BC0OO-HNFAKdsJH1MQVh7Y9Zrxk2EH5qgjoNHQwvl4eJWRVX75wgjSmNnBG6dAkIjYMiu1Ocw5KgBy-1_F3hRY7RGqRjDAwuEUOHoQaEEShihhri8oP-3jfqMvBD2AY6hNI7sr8dDLKl6XW1vBZYQ2Zwx7m1lMyMMQdbxsfw.
The British Film Institute is governed by Royal Charter and is a charity registered in England and Wales number 287780. The contents of this e-mail are confidential and may be legally privileged. If you are not the intended recipient, kindly notify the sender that you have received this message in error and immediately delete it. Unless you are the intended recipient, you may not forward this e-mail to anybody, nor make any use of its contents.

Thanks! A lot to process there. Queuing is something we will probably need to consider at some point but our volume is so low that it's not really a concern now. TAPE ROBOT is such a cool term tho. Our decks are physically in the same enclosure, but they are on separate filesystem mount points and need their own read/write commands....
I didn't consider born-digital black frames having the same checksum... Yes, I think you're more interested in the before/after collision of a single frame so the odds of that must be much much smaller than simply two frames in a sequence having colliding hashes. Maybe to the point of not being a concern? But I'm totally the wrong person to assess that.
The md5 flow you describe would certainly add some processing overhead. This post benchmarked md5 at 4x the processing time vs. crc32.
I have been checking in on RAWCOOKED here and there but I should probably pay more attention. My boss will be at FIAF this/next week so hopefully I can convince her to talk to people about it. There's 0 chance of us funding anything, but we may become a 'subscriber?' We have a hard time buying tape! I will try to make sense of the ffmpeg thread.... Our use cases are so simple that I think we are not going to need a lot of the edge cases.
My condolences on having to work with those CRI files. Luckily our output is pretty clean from the LaserGraphics machine.

@stephenmcconnachie  and I will also be at FIAF! Who's your boss? We must definitely chat. BTW - part of my talk at the open source panel will be about how a few years ago, we would never have funded anything open source, but our engagement with the community has made it seem like a really good investment.
The ffmpeg thread probably looks more complicated than it is. Carl Eugen Hoyos is sceptical of using framemd5s for losslessness checks - he even questioned me on it in person at No Time To wait in the Q&A section of my presentation <3
So I ran some tests with graphicsmagick's version of 'framesha256' to prove that Jerome's new patch produced identical values to the existing graphicksmagick decoder. I think it was all unnecessary, it would have gotten merged anyhow but I learned something new I guess.
As for the CRI - they really have the potential to be great if they had the support of blackmagic in terms of making them an open, sustainable format. Or that they use CinemaDNG or something (though i know nothing about that). From what I understand, LaserGraphics make great machines and are a good company. I believe that maybe Indiana university, or the smithsonian, or NYPL or someone came close to getting them to support FFV1 as a capture format, but maybe it didn't work out at the very end. Perhaps Lasergraphics know more?
Anyhow thanks for all this - I'd kind of put makezip on the back burner but this discussion has lit a fire in me again about it.

Cool! My boss is Nancy Goldman. She'll be talking about the future union catalogs I believe. I'll try to convince her to hear your panel!
Neat, I'll ask Carla Arton about the FFV1 story... Yeah the lasergraphics is pretty cool, it has been pretty reliable in the last couple years. We have some gripes but its output is v nice.
I'll keep an eye out here!

I’m on the FIAF Cataloguing Commission with Nancy - by the way I sent her the link to the FFV1 / Matroska reading list FIAF published.
Sent from my iPhone
On 17 Apr 2018, at 00:34, Michael Campos-Quinn <notifications<EMAIL_ADDRESS>wrote:
Cool! My boss is Nancy Goldman. She'll be talking about the future union catalogs I believe. I'll try to convince her to hear your panel!
Neat, I'll ask Carla Arton about the FFV1 story... Yeah the lasergraphics is pretty cool, it has been pretty reliable in the last couple years. We have some gripes but its output is v nice.
I'll keep an eye out here!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://url4.mailanyone.net/v1/?m=1f8Ddh-0007oV-5S&i=57e1b682&c=u-aQv5YAB6ToMQdukXBtDoxnCqXcyo1ENTz_AHpg2daRPq4RvlVDwYhp-b8fep7IcsvIxvkDBtQzrCacOSByk7bAjZ0DIW0PwLOt0ULCZllVq_MA9wYDsmrg3Pyz8DlfabZjE7-rT-WRWY6n6ij0RrefEOp9NNO93MiKmjzGNg0vcBsUntXRnXM7T2N2MlJmYDtS9bhypgJjM-Hny1e1FPON-C4pBFs3hhw5Sq_TG_EOH1_WNJXvi--qQzYic7ZI4zPN2xwA8vcRfhdxK3_lJVHGKewphF3fmLUrUBYV9Fs, or mute the threadhttps://url4.mailanyone.net/v1/?m=1f8Ddh-0007oV-5S&i=57e1b682&c=aQWeACVfgiN-e54VHzUNs7xebRrK8kZnkhLBuTU_J1m3Qc5_TA5a5odQlvA8R31oUVdUJ2iyYb18TGdZN3OYSW13glmmIkWDUBj_rgtNezXDbJGxpSJfHMoTi1lyXw3X7FfzFGWElt-yN0EEe65pIshndlwHm4wIV2IglU7JTJBpUfrEPG5-az3p_Q_-sc3tPCOkqyLU6HrrGdMfhm2eVtTwM3q6FjR9HmkJWEJU-LJ5bFCxeRmvwfq_E4jjEV9d5XELqVfqj39njHXeVGxuIv3x27sVatc_ybAdPymMtvJHS1wI3JQuFf4U0S0WdYCWg3ftMABJx5y19HMzYC8TbQ.
The British Film Institute is governed by Royal Charter and is a charity registered in England and Wales number 287780. The contents of this e-mail are confidential and may be legally privileged. If you are not the intended recipient, kindly notify the sender that you have received this message in error and immediately delete it. Unless you are the intended recipient, you may not forward this e-mail to anybody, nor make any use of its contents.

Ah!it's a small world!

I asked our statistics major intern about the collisions using CRC32 and his answer was simple and made sense. The probability of a file and a corrupted version of that file having the same hash calculated by CRC32 is just 1 out of the total number of possible hashes the algorithm can make: so 1/2^32 = 1 out of 4,294,967,296.
Seems safe enough!
MD5 in comparison would be 1/2^128, which I don't even know how to write out.... 3.4028236692093846 10^38

Ah god thank you so much! If you're happy and your statistician is
happy,then I'm happy!
On Thu, 26 Apr 2018, 18:56 Michael Campos-Quinn<EMAIL_ADDRESS>wrote:

I asked our statistics major intern about the collisions using CRC32 and
his answer was simple and made sense. The probability of a file and a
corrupted version of that file having the same hash calculated by CRC32 is
just 1 out of the total number of possible hashes the algorithm can make:
so 1/2^32 = 1 out of 4,294,967,296.
Seems safe enough!
MD5 in comparison would be 1/2^128, which I don't even know how to write
out.... 3.4028236692093846 10^38
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kieranjol/IFIscripts/issues/244#issuecomment-384731874,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEyvlwG23n0HS7nSJghZs6ohURUvrSLks5tsgpKgaJpZM4S6z7F
.

ok, so this can be closed - makezip is doing well for a while now..


[BUG] OpenAPI does not recognise default values in data models

Describe the bug
When using a data model for a post endpoint the default values are not shown correctly in /docs UI, but are shown correctly in /redoc UI.
To Reproduce
import fastapi
import pydantic

app = fastapi.FastAPI()

class Item(pydantic.BaseModel):
    name: str = pydantic.Field(default='a')
    description: str = '3'

@app.put("/")
def func(item: Item):
    return {}

In /docs, the default values displayed incorrectly:

{
  "name": "string",
  "description": "string"
}

in /redoc, the default values are displayed correctly:

{
    "name": "a",
    "description": "3"
}

Environment

OS: Linux, Ubuntu

FastAPI Version 0.52.0

Python version 3.6.9

/docs swagger display the default value with schema.

There is a difference between default and example.
class Item(pydantic.BaseModel):
    name: str = pydantic.Field(default='a', example='a')
    description: str =pydantic.Field(default='3', example='3')

will do what you want.
Might be a nice feature to use the default as an example if example isn't specified

Thanks for the help here everyone! :clap: :bow:
If that solves the original problem, then you can close this issue :heavy_check_mark:
You might also want to check the docs on extra examples: https://fastapi.tiangolo.com/tutorial/schema-extra-example/

Thanks for looking into it, both the explanation (on the difference between example and default) and the suggestion to take it up with OAS / pydantic is helpful for someone who will find this issue after encountering this problem.
However, it won't:

Prevent future confusion for users who will intuitively expect pythonic behaviour by specifying one value (the one specified in the typing annotation), instead of using the Field class and specifying both verbosly and repetitively for every field.
It doesn't solve the semantic inconsistency between /docs and /redoc UIs demonstrated in the OP.

Yeah, that would actually be a feature request for Swagger UI, not FastAPI.


Update these docs and your Azure Quickstart TodoList solution to use .NET Standard 2.0 instead of the old PCL's

You still talk about PCL's here, please update the docs and the Quickstart project. In addition, there is a problem with local debugging of the backend app when updating one's backend solution to the .NET Framework 4.7.1. I have at least managed to isolate this problem, see issue #242 on the azure-mobile-apps-net-server Github project: https://github.com/Azure/azure-mobile-apps-net-server/issues/242

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

ID: 27c69fbe-d26e-fbb3-4ee4-adb6ca068d07
Version Independent ID: ed1a9882-3e88-f6d5-c471-eb8bb33667b7
Content: Get Started with authentication for Mobile Apps in Xamarin Forms app
Content Source: articles/app-service-mobile/app-service-mobile-xamarin-forms-get-started-users.md
Service: app-service-mobile
GitHub Login: @panarasi
Microsoft Alias: panarasi

Oh yes, you should also update the following wiki to at least mention the current issue with local debugging when one updates your backend solution to the latest packages (as described in detail in issue #242) so that people don't waste their time trying to figure out why their authentication does not work when running the backend locally: https://github.com/Azure/azure-mobile-apps-net-server/wiki/Local-development-and-debugging-the-Mobile-App-.NET-server-backend

@ltaljaard Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@MicahMcKittrick-MSFT I see the hotlink to issue no 242 in my above posts takes you to issue 242 of the aure-docs Github project. I was actually referring to issue no 242 of the azure-mobile-apps-net-server Github project, please take note. This is the one: https://github.com/Azure/azure-mobile-apps-net-server/issues/242

Thanks for the clarification @ltaljaard

Thank you for taking the time to share your product and documentation feedback with us. Your input is valued because it helps us create the right documentation for our customers. Due to the volume of issues in our queue, we are closing open issues older than 90 days. We hope to continue hearing from you. Thank you.

Just because it is 90 days older, you are closing it without fixing the problem?

I agree, please re-open the issue and keep it open until it has been fixed.

Authentication is being added as a feature of App Center (docs), and going forward this will be the recommended approach for mobile developers. It's currently in preview, and any feedback is welcome.

Hmm i think support for Easy Tables is no longer supported


Cl/outrigger ephem

This PR defines hco, gbo, and pco to ch_util/ephemeris.py with the current best guesses at the coordinates of outrigger stations. The derivation of coordinates is documented at https://bao.chimenet.ca/doc/documents/1727. It is a living document because we need to have "good enough" guesses of the position while we rapidly undergo commissioning, and because not all three outriggers are built yet. I anticipate positions being changed at the ~10 meter level (worst case) in the future, but we need to deploy the code at PCO soon.

@leungcalvin if you rebase and fix up the comments I can get this merged, but I'm still waiting for that all to happen.


Better Header Navigation

As a visitor
I can identify clearly the navigation
So that I am not lost
Example:

https://www.beauxarts.com/conferences/

[x] refactor Header.tsx component
[x] create a header.stories.tsx file
[x] make it work on mobile
[x] Add an active state

Fix


idGeneration: 'MONGO' not supported fully

When defining FS.Collection using idGeneration: 'MONGO' as an option, it stores correct _id in db in .files collection, and also .chunks is referencing to correct .files document, however in client side, after doing insert, fileObj._id in callback function contains Meteor style random string.
p.s. Reason why I want to use mongo style _id, is that other language drivers (in this case ruby driver), does not allow to overload the _id field when working with GridFS. Thus making it very hard to use the same Mongo database as Meteor app.

In various circumstances the MongoID is serialized to the key string it contains. You can use new Mongo.ObjectID(key) to convert the string back to the MONGO style id.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter pjlink for common errors and appropiate suggestions to keep this adapter up to date.
Please see the result of the check below.
ioBroker.pjlink
   -

ERRORS:

[ ] :heavy_exclamation_mark: [E026] "{'engines': {'node'>='16'}}" is required at package.json, "{'engines':{'node'>='18'}}" is recommened
[ ] :heavy_exclamation_mark: [E033] @iobroker/adapter-core 3.0.4 specified. 3.1.4 is required as minimum, 3.1.6 is recommended. Please update dependencies at package.json
[ ] :heavy_exclamation_mark: [E036] @iobroker/testing 4.1.0 specified. 4.1.3 is required as minimum,  4.1.3 is recommended. Please update devDependencies at package.json
[ ] :heavy_exclamation_mark: [E162] js-controller 4.0.15 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.
[ ] :heavy_exclamation_mark: [E204] Version "0.1.0" listed at common.news at io-package.json does not exist at NPM. Please remove from news section.

WARNINGS:

[ ] :eyes: [E851] .npmignore found but "files" is used at package.json. Please remove .npmignore.
[ ] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W115] "common.tier" is required in io-package.json. Please check https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#adapter.
[ ] :eyes: [W173] Potential sensitive data "password" not listed at "protectedNative" in io-package.json
[ ] :eyes: [W174] Potential sensitive data "password" not listed at "encryptedNative" in io-package.json
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W519] Consider adding plugin "@alcalzone/release-script-plugin-manual-review".

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be considered as a suggestion and be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence

This issue has been replaced by new isse #95
This issue can be closed.
your
ioBroker Check and Service Bot


VMWare <-> Vagrant port forwarding issues

https://github.com/mitchellh/vagrant/issues/8130#issuecomment-272963103

This should no longer be an issue after PR #40

This still sometimes happens. This is helpful: https://www.cryptica.me/blog/port-forward-collision/


Removal / Change of Doors

How can I remove one of the doors (say the "Right") to have only the Left door.
I have edited to config.json to where I have been able to rename the door and have only one.
But end up having not animation or door status (open / closing / closed )

Ignore.. After many cofig changes I had a curly bracket in the wrong place... 🙄


feat: improve errorcode

DotbitError is better than CodedError, as this is a library.
In a complicated application, developers should know where the error comes from.


add site-specific dataLayer triggers

@beaulm @tomfuertes - I think I got all the outliers, but will add to it if I find more.

Ugh, Babel doesn't support for-of loops yet. Updated it so build will pass.

Hey @casecode -- Sorry I missed this. It looks good to me. You can merge it in if it's still all good.


[2.0] Change vendor from Raven to Sentry

This is an other PR that I discussed with @ste93cry: changing the namespace from Raven to Sentry.
This is a big change code-wise, since it impacts every single file, and it's doable only as a BC while releasing a new major, so it should be done now or never. But it's pretty straightforward, since it's just a mass s/Raven/Sentry/ replace; it also gives us the freedom of removing one level of folder, and moving everything into a more standard src folder.

I think it is okay, until @dcramer blocks this PR

Why would he bother blocking this PR when it's just part of the huge refactoring done for the 2.0 version? It also aligns the folder structure to many other opensource libraries out of here and I don't really see any problem in doing it

I'm fine with this, though in the future you can tag @mitsuhiko since I've been pretty removed from sdks lately

Thanks, will do in the future.


Homepage link is broken

The demo is also available on the TheaterJS page.

in README.md links to a dead page.

Not Found
The requested URL /TheaterJS was not found on this server.

Hello @kloplop321 and thank you for the report! I thought the issue was fixed but I'll make some more investigations. Did you ever accessed to the demo page or you always faced a 404 page?

Just click on the link from the readme, which goes to http://gabinaureche.com/TheaterJS
The codepen loads for me, but unfortunately does not seem to function.
Chrome Version 39.0.2171.95 m
So, I don't get to see the awesome darth vader scene.

Actually I never faced a 404 page myself but several users reported it. From my side the link works perfectly. I started to monitor the site to figure out what's happening.
For now, I included the sources back in the codepen: http://codepen.io/Zhouzi/pen/JoRazP
You should be able to access the darth vader scene now hehe :)
Thank you and sorry for the inconvenience!

Hello @kloplop321
I made some fixes in the dns configuration. Could you please try again to access http://gabinaureche.com/TheaterJS and see what happens? It'd be much appreciated.

Sorry about not getting back to you, yes, it is fixed now! :smile_cat:

No problem @kloplop321, thank you! :+1:


link formatting stripped in tables

I notice when I open (an already marked up) file in a local instance of texture, if the file contains a table which contains links, the link formatting is lost.
For example if I have a file which contains the following:

 ... and particle aggregation in the gut. <ext-link ext-link-type="uri" xlink:href="https://scicrunch.org/resolver/IMSR_JAX:002216">IMSR_JAX:002216</ext-link>

        Key resources table

              Reagent type (species) or resource
              Designation
              Source or reference
              Identifiers
              Additional information

              Rag1KO, C57BL/6 mice (male)
              Rag1KO
              Provided by Mazmanian Lab at <ext-link ext-link-type="uri" xlink:href="https://www.caltech.edu/">Caltech</ext-link>
              RRID:<ext-link ext-link-type="uri" xlink:href="https://scicrunch.org/resolver/IMSR_JAX:002216">IMSR_JAX:002216</ext-link>

              Western blot was done to confirm lack of IgA as explained in the text (See <xref ref-type="fig" rid="fig6">Figure 6E</xref>)

This displays like the below in texture:

Note that the link formatting is lost for 'Caltech' and 'IMSR_JAX:002216' in the table, whereas elsewhere in the article (such as in the paragraph above), link formatting is retained. As far as I can tell it only affects tables (but I haven't checked extensively).

This seems to be working now (is covered by kitchen-sink)

@Integral can you investigate and reopen issue as a bug ticket if you can confirm the behavior?

@michael, @Integral as noted by @gnott - the issue seems to be related to @ids on the underlying data.
This seems to occur with any kind of formatting. The same table with this markup

              Antibody
              Rabbit polyclonal anti-MBP
              abcam
              #ab40390 (RRID:<ext-link ext-link-type="uri" xlink:href="https://scicrunch.org/resolver/AB_11141521">AB_11141521</ext-link>)
              IHC 5 ug/ml; epitope retrieval with pepsin pH 2.3, 10–20 min

Renders like this in the interface (i.e. with link formatting):

But if we add the content without @ids (as before) and then save in Texture, unique @ids are inserted (as one would expect) and formatting is stripped.

@FAtherden-eLife I can confirm this. Thx for the clues.

This is fixed in #1264. We will try to merge it next week.


Remove sendRequests method

Remove sendRequests method with new version of httplug contract

Integration tests PR merged, tests should run fine.

Is there a way to relaunch them ?

Build restarted, but still failing. But shouldn't hhvm be added to allowed failures?

Ah, it is. Then no problem.


[Collection] JS Interview Questions

Create a collection with interview questions and material.

Before creating a collection, we need to create the content. Below is a [WIP] list of interview questions that we should have on the website before creating the collection:

[x] What is the difference between JavaScript's equality operators?
[ ] What is the difference between the postfix i++ and prefix ++i increment operators?
[ ] What is a Promise? In which states can a Promise be?
[ ] What is the difference between synchronous and asynchronous code in JavaScript?
[ ] What is a callback? Can you show an example using one?
[x] How do you clone an object in JavaScript?
[x] How do you clone an array in JavaScript?
[ ] How do you compare two objects in JavaScript?
[x] How do you compare two arrays in JavaScript?
[x] What is event delegation and why is it useful? Can you show an example of how to use it? - Might need a rename
[ ] What is the difference between an expression and a statement in JavaScript?
[ ] What are truthy and falsy values in JavaScript?
[x] What is hoisting in JavaScript?
[x] What's the difference between undeclared, undefined and null in JavaScript?
[ ] Does JavaScript pass by value or by reference?
[ ] How does prototypal inheritance differ from classical inheritance?
[x] What are the differences between var, let, const and no keyword statements? - Could write a companion article, rename or leave as-is
[x] What is a closure?
[ ] Contrast mutable and immutable values, and mutating vs non-mutating methods.
[ ] What is the only value not equal to itself in JavaScript?
[ ] What is a pure function?
[ ] What is recursion and when is it useful?
[ ] Explain the difference between a static method and an instance method.
[x] What is the this keyword and how does it work? - Could use a rename, or not
[ ] What does 'use strict' do and what are some of the key benefits to using it?
[x] What is an IIFE?
[x] What is the difference between arrow functions and regular functions? - Could do with a companion article where we also explain about arguments
[ ] What is CORS?
[ ] What is a MIME type and what is it used for?

All articles have been created. Now to make a collection out of them! 🎉


Remove duplicated line in debian/control

Just a simple correction removing a duplicated line in debian/control

Thanks!


C# 8 support and folder requirement

Hi there,
I adjusted a .csproj generated from dotnet new psmodule to support C# 8 and nullable:
    <TargetFramework>netstandard2.1</TargetFramework>
    <Nullable>enable</Nullable>

with no seeming ill effects in PowerShell Core 7.
Is that supported/reasonable either for the current 5.1 or upcoming 7.0 version of PowerShellStandard? (Basically I don't need Windows PowerShell support but using PowerShellStandard and the template seemed the best way to start a new project.)
Secondly will the upcoming PowerShellStandard 7.0 allow a difference between the DLL base name and project folder name as "well-formed" requirements of Windows PowerShell are no longer relevant? This would enable me to avoid the choice between a snappy DLL name or proper namespace-based project folder name.
BR,
Mark

Is that supported/reasonable either for the current 5.1 or upcoming 7.0 version of PowerShellStandard? (Basically I don't need Windows PowerShell support but using PowerShellStandard and the template seemed the best way to start a new project.)

With the 7.0 version I don't see a reason not to default to netstandard2.1.  Can't for 5.1 though, afaik net framework doesn't plan to ever implement 2.1.
Enabling nullable reference types by default would create a lot of confusion though.  At least until this reference lib gets nullability annotations (assuming the PowerShell repo even has them yet).

Secondly will the upcoming PowerShellStandard 7.0 allow a difference between the DLL base name and project folder name as "well-formed" requirements of Windows PowerShell are no longer relevant? This would enable me to avoid the choice between a snappy DLL name or proper namespace-based project folder name.

Can you provide an example of what you mean? From a project compilation perspective, it doesn't care about the folder name and how it relates to your assembly name afaik.  If you mean from a module import perspective, you can name your assembly whatever you want as long as you have a manifest that tells PowerShell what your root module is.

Thanks for the reply, appreciated.

Enabling nullable reference types by default would create a lot of confusion though. At least until this reference lib gets nullability annotations (assuming the PowerShell repo even has them yet).

It seems to work okay as long as configuring System.Management.Automation to catch unwanted parameter nulls (and using run-time guards just in case this code gets changed). I guess it's the same as using NRT with any non-NRT dependency - you need to be careful on the interface. Corrections welcome if I'm missing something though.

Can you provide an example of what you mean?

If I have project folder x containing y.csproj which produces z.dll in its bin folder I thought x and z had to be the same create a "well-formed" module (https://docs.microsoft.com/en-us/powershell/scripting/developer/module/installing-a-powershell-module?view=powershell-7). From what you say though I can specify my assembly name as z2 in the manifest (thanks for info) which can be different from z but again does that still mean z2 must match x? I would like x to be independent of z/z2 and still have module import work.

It seems to work okay as long as configuring System.Management.Automation to catch unwanted parameter nulls (and using run-time guards just in case this code gets changed). I guess it's the same as using NRT with any non-NRT dependency - you need to be careful on the interface. Corrections welcome if I'm missing something though.

Yeah it works okay, I do it on my own projects.  However if you aren't already familiar with the potential pitfalls and required workarounds of enabling NRT when your main dependency isn't annotated (or likely what NRT is period), it's gonna get real confusing.  I'd definitely recommend folks adopt NRT, I just don't think it makes sense a default at least until the lib is annotated.

If I have project folder x containing y.csproj which produces z.dll in its bin folder I thought x and z had to be the same create a "well-formed" module (https://docs.microsoft.com/en-us/powershell/scripting/developer/module/installing-a-powershell-module?view=powershell-7). From what you say though I can specify my assembly name as z2 in the manifest (thanks for info) which can be different from z but again does that still mean z2 must match x? I would like x to be independent of z/z2 and still have module import work.

So for a module to imported the folder structure has to look like this:
└───$env:PSModulePath
    └───MyModuleName
        └───1.0.0
                MyModuleName.psd1
                Something.AnotherThing.Project.dll

The above assumes that MyModuleName.psd1 has a RootModule entry of Something.AnotherThing.Project.dll or points to a psm1 that manually imports the DLL.
If you wanted to skip the manifest (which there isn't really a good reason to do tbh and will just cause more problems in the long run) then the name would be important and would need to be something like:
└───$env:PSModulePath
    └───MyModuleName
        └───1.0.0
                MyModuleName.dll

Typically though, I'd still recommend keeping the assembly name the same as your module name, but nothing is gonna force ya.

@SeeminglyScience Just wanted to say thanks for this helpful information, much appreciated. I'll close this issue now.


Throw an exception

src/dcm-taskdefs.ant.xml:173: java.lang.NullPointerException

Hi, I am gettinng an anboe

Its resolved