VR-EU-0001

All entries of the vaccine-medicinal-product value set are valid (if "active"=true). Not only those approved by EMA!
Value set is being maintained by semantic subgroup and might include also vaccines that are not approved by EMA if decided by the M/S.
So, this rule is not correct according to my opinion.
"id": "VR-EU-0001",
"businessDescription": "EMA must approve allowed vaccines.",
"description": "Only vaccines in the allowed valueset that have been approved by the EMA are allowed.",

I don't think that the active flag can be accorded the semantics of “is a vaccine approved by the EMA”. That's also why the implementation of the rule mentions the approved vaccines explicitly.
But that's an implementation choice (made by me), so it'd be good thing if we could agree on a way to add the information of whether a value in a value set is (at that moment!) an EMA-approved “thing” - could also apply to RAT manufacturer.

I really thing that these are two different things.
Active/inactive concepts is one problem, which is described in #25
Business rule that is checking if the vaccine has been approved by EMA is another. After another round of reading of the regulation, I must take back my comment. You are right in that M/S SHELL accept only products with EMA marketing authorization and MAY accept also other products (article 5, paragraph 5). So the proposed business rule is correct.

OK, closing this issue.


Fix e2e test output logs on failure

Issue link

Issue: https://issues.redhat.com/browse/RHOAIENG-4472
What changes have been made

On failure of the e2e test, the step to switch to kind-cluster context to output logs gets skipped. - Causing component logs to not display.

Added as a separate step in e2e workflow to switch context.

Verification steps

Component logs should be shown at the end of e2e workflow.
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

/approve


bug: box geometry undo bug

description
camera box geometry size = 1
gameObject1 box geometry size = 5
added box geometry size = 5
1.select gameObject1
2.undo
3.add box
4.add box
cause camera box geometry size change
reason
box geometry deepCopy share configDataMap
solution
update engine version?

fixed in wonder.js->v1.0.0-alpha.18


Show on screen no longer works in the collapsed header

Internal: b/168395763

Steps to Reproduce
import 'package:flutter/material.dart';

void main() {
  runApp(Demo());
}

class Demo extends StatelessWidget {
    @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CustomScrollView(
          slivers: [
            SliverAppBar(
              pinned: true,
              expandedHeight: 200,
              title: const Text('Title'),
              flexibleSpace: FlexibleSpaceBar(
                background: Padding(
                  padding: EdgeInsets.only(top: 100),
                  child: Semantics(
                    header: true,
                    child: const Text('Expanded title'),
                  ),
                ),
              ),
            ),
            SliverList(
              delegate: SliverChildListDelegate(
                [
                  for (var i = 0; i < 50; i++)
                    Container(
                      height: 200,
                      child: Center(child: Text('Text $i')),
                    ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Turn on ios Voice Over
swipe right to go through the list until header collapsed
swipe left to go back to the header

expect: collapsed header should be expended when it has the focus
actual: header still collapses when focused.
the bug seemed to be introduced in https://github.com/flutter/flutter/commit/fe55dc2b135b5b71ae3c19062b34dc6e8d02e9d5

cc @LongCatIsLooong

I ping the wrong issue in my PR please ignore

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

void main() {
  runApp(Demo());
}

class Demo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CustomScrollView(
          slivers: [
            SliverAppBar(
              pinned: true,
              expandedHeight: 200,
              title: const Text('Title'),
              flexibleSpace: FlexibleSpaceBar(
                background: Padding(
                  padding: EdgeInsets.only(top: 100),
                  child: Semantics(
                    header: true,
                    child: const Text('Expanded title'),
                  ),
                ),
              ),
            ),
            SliverList(
              delegate: SliverChildListDelegate(
                [
                  for (var i = 0; i < 50; i++)
                    Container(
                      height: 200,
                      child: Center(child: Text('Text $i')),
                    ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.39, on Mac OS X 10.15.6 19G2021, locale en-GB)
    • Flutter version 1.22.0-10.0.pre.39 at /Users/tahatesser/Code/flutter_master
    • Framework revision a8281e31af (17 hours ago), 2020-09-01 10:57:59 -0700
    • Engine revision 165abef0a2
    • Dart version 2.10.0 (build 2.10.0-77.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (5 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E            • ios            • iOS 13.7
    • iPhone 11 (mobile)     • EDB19945-0B9F-4A6E-BAA1-425E68E3B6D6 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-13-7 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64     • Mac OS X
      10.15.6 19G2021
    • Web Server (web)       • web-server                           • web-javascript • Flutter
      Tools
    • Chrome (web)           • chrome                               • web-javascript • Google
      Chrome 85.0.4183.83

• No issues found!

@chunhtai is this high priority?

raise to P1 according to the discussion in b/166068876

@LongCatIsLooong says he's currently working on this.

(issue triage): According to @LongCatIsLooong we are waiting for clarification from the customer.

I've lowered this issue's priority pending getting some additional clarity about exactly what's going wrong in the customer's app and what a practical solution would be.

The wait label hit timeout but since this is reproducible I'll leave this open.

flutter doctor -v
[✓] Flutter (Channel master, 1.23.0-8.0.pre.254, on Mac OS X 10.15.7 19H2 x86_64, locale en-GB)
    • Flutter version 1.23.0-8.0.pre.254 at /Users/markus/development/flutter_master
    • Framework revision 0d8696f655 (2 hours ago), 2020-10-09 01:12:02 -0400
    • Engine revision 349889833c
    • Dart version 2.11.0 (build 2.11.0-203.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/markus/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Users/markus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6821437/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Users/markus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/193.6821437/Android Studio.app/Contents
    • Flutter plugin version 50.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (4 available)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 13.7
    • macOS (desktop)             • macos                                    • darwin-x64     • Mac OS X 10.15.7 19H2 x86_64
    • Web Server (web)            • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 85.0.4183.121

• No issues found!

Hi @mehmetf , we are waiting for the respond in the internal issue.

Thanks. This was part of an automated update. I lowered the priority of the internal bug (which is considered the source of truth for priorities).

Reproduces on the latest versions of flutter using the code sample provided in https://github.com/flutter/flutter/issues/64973#issue-689509515

recording
https://user-images.githubusercontent.com/88313112/233627704-480465f1-b12e-46b4-a470-fc1669017f0b.MP4

flutter doctor -v
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.3.1 22E261 darwin-arm64, locale en-GB)
    • Flutter version 3.7.12 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (3 days ago), 2023-04-17 21:47:46 -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • 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 /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/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)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.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.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (4 available)
    • Pixel 7 (mobile) • 28291FDH2001SA            • android-arm64  • Android 13 (API 33)
    • Nexus (mobile)   • 00008020-001875E83A38002E • ios            • iOS 16.4.1 20E252
    • macOS (desktop)  • macos                     • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 112.0.5615.137

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

• No issues found!

[!] Flutter (Channel master, 3.10.0-10.0.pre.39, on macOS 13.3.1 22E261 darwin-arm64, locale en-GB)
    • Flutter version 3.10.0-10.0.pre.39 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d186792c00 (8 hours ago), 2023-04-20 20:50:59 -0700
    • Engine revision 122c3b3820
    • Dart version 3.1.0 (build 3.1.0-26.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • 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 /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/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)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.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.77.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (4 available)
    • Pixel 7 (mobile) • 28291FDH2001SA            • android-arm64  • Android 13 (API 33)
    • Nexus (mobile)   • 00008020-001875E83A38002E • ios            • iOS 16.4.1 20E252
    • macOS (desktop)  • macos                     • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 112.0.5615.137

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

! Doctor found issues in 1 category.

CC @LongCatIsLooong

For future reference, a pinned header doesn't expand until you scroll the scroll view to the start.  We need to distinguish "show on screen" and "fully expand", since the latter would also imply that scroll view be scrolled to the start -- a side effect that could be annoying for the user to undo if they're 100 pages in.
The closed PR would allow a pinned header to fully expand when showOnScreen is called, without scrolling to the start, but I wasn't sure that's the right change to make, I wonder if the material spec has related guidelines.

I have lowered the priority here since this is no longer blocking the customer. It was also discussed in the internal issue that this behavior actually matches native iOS behavior, in that the header receiving focus does not cause it to expand.


I'm getting a TypeError in numpy call?

I'm not familiar with numpy and am wondering if I need to make changes for the latest version, given you probably wrote this python using an older version of it?
matt$ python descreen.py images/tubingen_orig.png images/out.png
Traceback (most recent call last):
  File "descreen.py", line 36, in <module>
    middle = np.pad(ellipse(ew, eh), ((ph,rows-ph-eh*2-1), (pw,cols-pw-ew*2-1)), 'constant')
  File "/usr/local/lib/python3.6/site-packages/numpy/lib/arraypad.py", line 1298, in pad
    raise TypeError('`pad_width` must be of integral type.')
TypeError: `pad_width` must be of integral type.

Any help appreciated!

Hi. This is because you are using python 3. I tested it on python 2 only. I'll make it cross-compatible when I have some free time. As a temporary fix you may replace division operator / with // on lines 34 and 35, but I cannot guarantee full integrity atm.

Strange that python3 is mapped to python, I had always been told it was python 2.7 on macOS
Thanks for the hint, have got it running!
this image is with default fft-descreen settings, and max artwork waifu2x via http://waifu2x.udp.jp

Glad to help. Good luck.


XYZ stage

used correct units for positioning.

z-stage corrected

xy stage control updated with bookmark capability. Need to include text input and updates.


Update Screaming Frog SEO Spider to 5.1

Thank you for the contribution. It was merged directly as b4bd192e5c73a7cde1a57980f5a86cdcd9ee2889 to keep commit history cleaner. Your contribution is still credited to you.


inconsistencies with string literal values after always use literal types pr

nightly build jan 26
interface Wrapped<T> {
    wrapped: T;
}
function wrap<T>(value: T): Wrapped<T> {
    return { wrapped: value };
}

const one = 'test'; // one is 'test'
const oneWrapped = wrap(one); // oneWrapped is Wrapped<string>

const another: 'test' = 'test'; // another is 'test'
const anotherWrapped = wrap(another); // anotherWrapped is Wrapped<'test'> <--- WHY?

is that how #10676 supposed to work?

@ahejlsberg you might be interested

is that how #10676 supposed to work?

yes. the inferred literal type is not widened in two cases, 1. it is present unwrapped in the output, e.g. identity function, 2. if the type parameter is constraint to its base type, e.g. string. explicit literal types are never widened.

this is super counterintuitive

There is a long discussion in and in https://github.com/Microsoft/TypeScript/pull/10676,
https://github.com/Microsoft/TypeScript/issues/10898 and https://github.com/Microsoft/TypeScript/pull/11126 about why it does work this way. all other options were less intuitive overall.

i missed #11126 somehow, closing


⚠ Processors has degraded performance

In 574be2a, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 63 ms

Resolved: Processors performance has improved in f95dc07.


Azure pipelines

This pipeline configuration builds the application and produces a build for the release configuration

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


cache-and-network not hitting network if found in cache. Behaving as if it were cache-first

When a hit is available in the cache, the cached version is retrieved but the network is never checked.
urql version & exchanges:
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>Steps to reproduce
Scenario:
Schema:
enum ActionKind {
  LAST
  ALL
  HANDLED_ERROR
  UNHANDLED_ERROR
}

type PingListResult {
  list: [String]
}

type PingStringResult {
  value: String
}

type PongIntResult {
  count: Int
}

union QueryResult = PingStringResult | PingListResult | ErrorResult
union MutationResult = PongIntResult | ErrorResult

type ErrorResult {
  message: String
}

type Mutation {
  pong(message: String!): MutationResult
}

type Query {
  ping(action: ActionKind): QueryResult
}

type PongAction {
  message: String
}

type Subscription {
  ponged: PongAction
}

Starting query:
const query = `
query SuperPing($action: ActionKind) {
  Ping1: ping(action: $action) {
    ...on PingStringResult {
      value
    }
    ...on PingListResult {
      list
    }
    ...on ErrorResult {
      message
    }
  }
  Ping2: ping(action: LAST) {
    ...on PingStringResult {
      value
    }
    ...on PingListResult {
      list
    }
    ...on ErrorResult {
      message
    }
  }
}
`

Offline support:
export const offlineSupport = {
  updates: {
    Mutation: {
      pong(result, args, cache, info) {
        const currentCachedList = cache.resolve(
          "PingListResult:listResult",
          "list"
        )
        const frozenAry = JSON.parse(JSON.stringify(currentCachedList))
        console.log({ frozenAry })
        console.log({ result })
        console.log({ args })
        cache.updateQuery({ query, variables: { action: "ALL" } }, data => {
          console.log(data)
          data.Ping1.list.push(args.message)
          return data
        })
        console.log({ cache })
        console.log({ info })
      }
    }
  },
  optimistic: {
    pong(variables, cache, info) {
      console.log(variables)
      const currentList = cache.resolve("PingListResult:listResult", "list")
      return {
        __typename: "PongIntResult",
        count: currentList.count + 1
      }
    }
  },
  keys: {
    PingStringResult: () => null,
    PingListResult: data => {
      console.log(data)
      return "listResult"
    }
  }
}

Mutation
export async function runNormalMutation(message) {
  const mutation = `
mutation pong($message: String!) {
  pong(message: $message) {
    ...on PongIntResult {
      count
    }
    ...on ErrorResult {
      message
    }
  }
}
`
  return await adapter.mutate(
    mutation,
    { message },
    { additionalTypenames: ["PingStringResult", "PingListResult"] }
  )
}

After running the mutation (which seems to have a second bug in that the value is added twice, but not important at the moment), running the query always returns the cached results. The expectation would be that the system would hit the cache first but then check the server (unless offline).

placeholder
{
  "queries": {
    "operation": {
      "key": 971172347,
      "query": {
        "kind": "Document",
        "definitions": [
          {
            "kind": "OperationDefinition",
            "operation": "query",
            "name": {
              "kind": "Name",
              "value": "SuperPing"
            },
            "variableDefinitions": [
              {
                "kind": "VariableDefinition",
                "variable": {
                  "kind": "Variable",
                  "name": {
                    "kind": "Name",
                    "value": "action"
                  }
                },
                "type": {
                  "kind": "NamedType",
                  "name": {
                    "kind": "Name",
                    "value": "ActionKind"
                  }
                },
                "directives": []
              }
            ],
            "directives": [],
            "selectionSet": {
              "kind": "SelectionSet",
              "selections": [
                {
                  "kind": "Field",
                  "alias": {
                    "kind": "Name",
                    "value": "Ping1"
                  },
                  "name": {
                    "kind": "Name",
                    "value": "ping"
                  },
                  "arguments": [
                    {
                      "kind": "Argument",
                      "name": {
                        "kind": "Name",
                        "value": "action"
                      },
                      "value": {
                        "kind": "Variable",
                        "name": {
                          "kind": "Name",
                          "value": "action"
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "selectionSet": {
                    "kind": "SelectionSet",
                    "selections": [
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "PingStringResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "value"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      },
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "PingListResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "list"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      },
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "ErrorResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "message"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "kind": "Field",
                  "alias": {
                    "kind": "Name",
                    "value": "Ping2"
                  },
                  "name": {
                    "kind": "Name",
                    "value": "ping"
                  },
                  "arguments": [
                    {
                      "kind": "Argument",
                      "name": {
                        "kind": "Name",
                        "value": "action"
                      },
                      "value": {
                        "kind": "EnumValue",
                        "value": "LAST"
                      }
                    }
                  ],
                  "directives": [],
                  "selectionSet": {
                    "kind": "SelectionSet",
                    "selections": [
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "PingStringResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "value"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      },
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "PingListResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "list"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      },
                      {
                        "kind": "InlineFragment",
                        "typeCondition": {
                          "kind": "NamedType",
                          "name": {
                            "kind": "Name",
                            "value": "ErrorResult"
                          }
                        },
                        "directives": [],
                        "selectionSet": {
                          "kind": "SelectionSet",
                          "selections": [
                            {
                              "kind": "Field",
                              "name": {
                                "kind": "Name",
                                "value": "message"
                              },
                              "arguments": [],
                              "directives": []
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ],
        "__key": 743869514
      },
      "variables": {
        "action": "ALL"
      },
      "operationName": "query",
      "context": {
        "url": "http://localhost:4000/graphql",
        "preferGetMethod": false,
        "suspense": false,
        "requestPolicy": "cache-and-network",
        "meta": {
          "cacheOutcome": "hit"
        }
      }
    },
    "data": {
      "__typename": "Query",
      "Ping1": {
        "__typename": "PingListResult",
        "list": [
          "World",
          "foobar",
          "wibble",
          "wobble",
          "Running mutation",
          "Running mutation"
        ]
      },
      "Ping2": {
        "__typename": "PingStringResult",
        "value": "Hello wobble"
      }
    },
    "stale": true
  },
  "mutations": {},
  "subscriptions": []
}

This is likely expected behavior. I can see you posted a result console output (btw, please use spoilers or stringify that GraphQL document please if it's too long 😅 )
It says: "stale": true
This indicates that cache-and-network is indeed working and a network request is sent in the background. You should check your network tab or urql-devtools to confirm that. There's some info on this here: https://formidable.com/open-source/urql/docs/basics/queries/#request-policies

Thanks but that was the point - there was no network request.
Sorry about the extra length - couldn't figure out what would be needed

Modified query with console logging
export async function runSuperPingQuery(action = "ALL") {
  console.log("Running query")
  const result = await adapter.query(query, {
    action
  })
  console.log("Query completed")
  return result
}

Screenshot of developer tools

Okay. Very weird. I made a change which forced a full reload and now everything is working correctly.
Might be due to this being a PWA and the service worker not updating correctly.
Sorry to bother you.

Oh ok, awesome! Let's still keep this in mind and let me know whether you have a hunch that this is an edge case that isn't working correctly on our end 🤔 🙌

The problem reappear but then is working correctly again. Must be a specific order of events that's triggering it. I'm debugging optimistic updates after a mutation (essential for our offline support) and there must be something about the exact order that's triggering it.
This is a pure test application (nothing proprietary) so if I can reliably replicate the issue I can put the source somewhere if you want.

It may be an edge case here: https://github.com/FormidableLabs/urql/blob/8e7fc5ce1451b24f569343011da717362c1ba3f0/exchanges/graphcache/src/cacheExchange.ts#L118
Can you add the debugExchange from @urql/core before the offlineExchange, reproduce this, and post the results please? If we can identify whether the cache-and-network request has gone out that'd help.
Basically what I'm assuming is that your mutation comes in, the optimistic update starts, the query is updated (cache-first) and then the mutation actually completes from a network end (which also updates), which should re-trigger the query as cache-and-network but maybe doesn't.

Absolutely. I'll post the results in a little bit once I set it up. It does have the interesting problem that once it stops hitting the network I can't get it to hit the network no matter what I do - except purging the cache in localStorage.

@JohnAtFenestra question, does this only happen when the optimistic mutation is done but the mutation request hasn't settled (e.g. you're testing in offline)? Because in that case Graphcache will actively block the network request.

I haven't gotten to offline testing yet. I'm working through making sure that the mutations are functioning as expected in online mode and I hit this.
Log attached. Looks like the debugExchange thinks that the query is being fired off, but there is no network activity.
localhost-1601916890155.log

@JohnAtFenestra Ok, maybe it's that logic misfiring though 🤔 That's definitely something we should investigate if that turns out to have a consistent trigger. I can't unfortunately recognise anything in the logs; I'd need to see operation.context.requestPolicy, sorry 😓

Took a bit but here's the entire dump of the four console lines in question.
FullLog.log

That's very interesting... I do see the network-only request in there, but I don't see the mutations, so I can't be sure. However, I also see a teardown, which is curious since we're clearly interested in more results here.
But, I looked through our conversation and saw this code snippet again:
export async function runSuperPingQuery(action = "ALL") {
  console.log("Running query")
  const result = await adapter.query(query, {
    action
  })
  console.log("Query completed")
  return result
}

Which programmatically executes a query. That's interesting because this will get a single result and then give that to you, so cache-and-network will not give you a network result and will act like cache-first. However it will still dispatch a network-only request.
The problem here is though that if you use client.query with toPromise (the usual programmatic flow) then internally you'll immediately see a teardown after a query result, which is expected. This means that the Client in urql will recognise that nothing's actively looking at these queries anymore and won't dispatch the cache-and-network network request. This also matches log.
Does that sound like a reasonable conclusion?

Could be. I'm still feeling through the differences between URQL and AppSync. However, the issue I have is that no matter how many times I re-run the query and no matter what I do to the browser, the only thing which triggers the network operation is to clear the cache.
So, are you saying there is a preferred method to use client.query which would trigger the network portion of the operation and that .toPromise is what is aborting it?
I'm quite willing to restructure the code to work with the URQL workflow.

I noticed there was a push earlier today to fix a stale flag issue. I've noticed that stale never seems to switch from true to false. I wonder if what I need to do here is check the stale flag and online state. If I am online and the stale flag is true then I need to wait for the second response. I could use a subscription, but there are reasons to prefer explicit control over query refreshes.
It would be good to know if there is a way to make client.query() work under cache-and-network without using a subscription.

So, let me unroll this a litte; the preferred method is to always use the bindings for React, Preact, or Svelte basically. Failing that it very much depends on what you're doing. If you need to observe a query, then what you're looking for are the stream primitives.
Then regarding client.query().toPromise(). That method is for sending one-off queries, so that means that cache-and-network is invalid basically. It doesn't make sense because it asks for up to two results, the cached result and an update. This means that a promise can't represent this result and so the second possible result is always lost.
The stale flag also won't switch because of this. You're only getting one result as long as it's a promise because it's not a full subscription.
Basically this is all documented here, in the Main Concepts section in general: https://formidable.com/open-source/urql/docs/concepts/stream-patterns/
The teardown events specifically are described here: https://formidable.com/open-source/urql/docs/concepts/philosophy/#declarative-queries

When your app stops being interested in results for an operation (e.g. React unmounts your component) then the Client knows to teardown the operation and stops requesting new data or sending you results.

So this basically means that internally the Client keeps track of all queries that are active. This is important because you wouldn't want a leak and wouldn't want everything to always stay active.
Therefore it depends on what you're doing; why are you using client.query in the first place? Does it make sense to use the stream directly and keep it active for a certain amount of time, and maybe does it make sense to use one of the framework bindings instead?
The queries need a lifetime basically. As long as you're subscribed to a certain query it will be kept up-to-date and Graphcache will know when to issue new network requests, but if you use the promise primitives then all of that extra logic of issuing extra network-only requests isn't going to do anything, because it'll either be cancelled or the Client won't even send it.
If you try out the React hooks for instance you'll see that even the document cache cares about this, which comes down to client.reexecuteOperation. This is a frequent method used in exchanges that will re-issue an operation, e.g. for a query when it needs to be updated. However for a cache and other parts of a GraphQL client it'll never make sense to keep things up-to-date and around in memory / active at all when they aren't used.
This all doesn't apply to mutations by the way, but it does apply to queries. If you're just writing test code however, you can try to just subscribe to a query like so: https://formidable.com/open-source/urql/docs/concepts/stream-patterns/#client-query-streams
import { pipe, subscribe } from 'wonka';
const QUERY = `
  query Test($id: ID!) {
    getUser(id: $id) {
      id
      name
    }
  }
`;

const { unsubscribe } = pipe(
  client.query(QUERY, { id: 'test' }),
  subscribe(result => {
    console.log(result); // { data: ... }
  })
);

Which will keep the query active and which will keep calling the callback until you unsubscribe.
But if you need more detailed help for what you're building then I may be able to give more specific examples.

"...why are you using client.query in the first place? "
Because we are using the Quasar framework over Vue. So the React bindings don't apply. I'm essentially building a backend for the Vue frontend.

Awesome! I have good news then; we are currently working on Vue 3 bindings https://github.com/FormidableLabs/urql/issues/1006
This shouldn't take too long but I can't name a specific date for the first release quite yet. But those will likely make it a lot easier for you

I'll probably pick through your code to see what else I'm missing (I'm currently trying to figure out why the offline mutation queue isn't sending network packets on reconnect). Unfortunately, we have to be done by October 23 because of a hard operational timeline and Quasar won't be upgraded to Vue 3 for a while after that. Which is okay because this is an annual project and we're going to build off the base system for a significantly larger project.
The Authentication/Encryption layers adds a lot of complexity and interconnectivity to our application that isn't normal. It's giving me a headache.

You can probably check our WIP PR to see whether you can already make it work: https://github.com/FormidableLabs/urql/pull/1023
It’s very rough and not done but the gist of the matter is that you’ll need to subscribe and unsubscribe according to the inputs of the query.
I’ll close this for now since the original issue is resolved but feel free to post further questions here 👍

@kitten
I'm going to ask a question that's an offshoot of this one. I have implemented the queries using pipe instead of toPromise and they are working correctly. Now for my new problem. I have a mutation which is returning a value and is carrying out an update.
The adapter is another conversion to toPromise. My issue is that, while the mutation works properly in offline mode and online mode, when offline the flow never reaches the console.log I've highlighted below. Again, am I approaching this incorrectly for URQL's model?
export async function runNormalMutation(message) {
  const mutation = `
mutation pong($message: String!) {
  pong(message: $message) {
    ...on PongIntResult {
      count
    }
    ...on ErrorResult {
      message
    }
  }
}
`
  const result = await adapter.mutate(
    mutation,
    { message },
    { additionalTypenames: ["PingStringResult", "PingListResult"] }
  )
  // When offline this never fires
  console.log({ result })
  return result
}

export const offlineSupport = {
  updates: {
    Mutation: {
      pong(result, args, cache, info) {
        const currentCachedList = cache.resolve(
          "PingListResult:listResult",
          "list"
        )
        const frozenAry = JSON.parse(JSON.stringify(currentCachedList))
        console.log({ frozenAry })
        console.log({ result })
        console.log({ args })
        cache.updateQuery({ query, variables: { action: "ALL" } }, data => {
          console.log(data)
          data.Ping1.list.push(args.message)
          return data
        })
        console.log({ cache })
        console.log({ info })
      }
    }
  },
  optimistic: {
    pong(variables, cache, info) {
      const currentList = cache.resolve("PingListResult:listResult", "list")
      return {
        __typename: "PongIntResult",
        count: currentList.length + 1
      }
    }
  },
  keys: {
    PingStringResult: () => null,
    PingListResult: data => {
      console.log(data)
      return "listResult"
    }
  }
}

@JohnAtFenestra that sounds about right 👍 mutations that are optimistic are expected to be implemented as “fire-and-forget” calls; so the result isn’t guaranteed to come back if you’re offline and instead the mutation is queued up in the background and retried once you’re back online (dependent on the storage’s onOnline method)
So that’s correct. If you’re building an actual app you’d probably use it for non-consequential updates and use optimistic updates where you can’t guarantee that they’ll always be 100% reflected as you don’t know when they’ll actually be sent off.


pre-commit: run only on changed files instead of all the files

According to https://pre-commit.com , by default, the pre-commit hooks should only run on the edited files instead of all files. This PR addresses this and changes the default to the former.
Another thing we can provide is an option in devenv.nix to set the desired behavior.

Yeah, but you'd want to run the hooks against all of the files in a CI/test run. Hooks can fail to run ,or can be disabled and bypassed. This catches that.

I'm not certain why you believe that to be a best practice.
It certainly is not how companies with large code bases typically do things. Failing a CI pipeline because all existing or legacy code does not meet some new style or linting requirements that we want to begin introducing, doesn't really make sense. That would force many companies to spend months and years before they could successfully submit any code through their CI pipeline. Yes, we make certain that all code, existing and new, pass unit/integration/e2e testing (and even then it gets turned off for some instances there). But I've never heard of enforcing style enforcement on legacy code.
After 10+ years the pre-commit maintainers still default the tool to only run against edited files, with the option to run against all files with the --all-files flag. And that has worked successfully for CI pipelines for all of that time. When integrating their tool into yours it would seem prudent to trust their years of experience and also to maintain familiarity for existing users.

In a CI environment, pre-commit would do absolutely nothing without the --all-files flag. There are no edited files to run against, unless you manually set that up.

I'm not certain why you believe that to be a best practice.

For example, from their own docs:

pre-commit run --all-files: run all the hooks against all the files. This is a useful invocation if you are using pre-commit in CI.
(optional) Run against all the files ¶ ... consider running that in CI too.

Failing a CI pipeline because all existing or legacy code does not meet some new style or linting requirements that we want to begin introducing, doesn't really make sense.

This would be a huge red flag at a company. You configure the linter to

After 10+ years the pre-commit maintainers still default the tool to only run against edited files [...] When integrating their tool into yours it would seem prudent to trust their years of experience and also to maintain familiarity for existing users.

Trust? Decades of experience? Come one, you can't be serious. 😂 Is there a pre-commit cult I'm not privy too?

what about giving users an option to set the behavior of pre-commit hook while running devenv test?

IMO I could see this being somewhat useful if you're running devenv test locally.

That part about "the best practice is to apply a tool all at once and get everything up to spec", I can only guess, but perhaps he meant that as in it is the optimal path if practical. Of course we would all like to do that, but it is often not practical. So from what I've seen, more often than not, it isn't done on non-trivial code bases because it can be costly in a lot of ways. Believe me, I would love to be able to just run linters/formatters on a large code base and everything just work perfectly, but there are lots of consequences to be had. This response to a question on the Software Engineering Stack Exchange points to some.
If you are like many companies, working with a large code base but don't have a dedicated team to oversee the rollout (and possible rollback) of a migration to your entire codebase, then you move incrementally. And you run linters/formatters on new code prior to it ever being merged.
Maybe I'm just out of the loop and there are now easily automated answers for all of these concerns? I don't know, I'm more of a software engineer than a DevOps guru.
I do know that the devenv pre-commit integration behaving differently from the official pre-commit makes it harder for me to use, which means that I'll have to continue to use the official pre-commit.

Again, you have all the tools at your disposal to make this work.  I would re-evaluate the motivation for enabling a hook like this in the first place.

I do know that the devenv pre-commit integration behaving differently from the official pre-commit makes it harder for me to use, which means that I'll have to continue to use the official pre-commit.

We are not in any way "using a different default" to pre-commit. There is no default for this use-case. The only default there is for running hooks on staged files pre commit, which git-hooks.nix and devenv obviously do.
Anyways, we're just derailing this PR at this point.
This PR is about devenv test and whether it should run pre-commit against all files. Since the currently intended use is for CI-like purposes, the answer is yes.
We might have a valid use-case for using devenv test interactively, in which case we might explore this further for performance reasons to reduce iteration time.


Change-Log Drafts and Notes

1.4.0
New Features:

BLACKLIST- not the great TV show, but a workaround for the limitations of the Electron browser child window or when an unsubscribe email doesn't work. For example, in the browser window you can't log into Facebook for whatever reason and the un-subscription fails. Forward us that email and the next time the link will automatically redirect to your default browser rather than the faulty Electron browser
Coming Soon: Keyboard Shortcuts! (See: https://github.com/colinking/n1-unsubscribe/issues/32)

Under the hood:

Built a NPM module that allows anyone to create an update banner for their N1 plugin: https://github.com/KyleKing/n1pluginupdater
The plugin uses a reactive datastore, which makes it 1000x more powerful (nearest estimate): https://github.com/colinking/n1-unsubscribe/issues/38

Bug Fixes:

Released fix for https://github.com/colinking/n1-unsubscribe/issues/34 to support 4K monitors or different zoom levels

1.4.2/1.5.0
New Features:

Keyboard Shortcuts! (See: https://github.com/colinking/n1-unsubscribe/issues/32)

(Also describe how to add a custom shortcut and the default values -> It is mapped to mod+alt+u (i.e. on a mac CMD + alt + u) )
Bug Fixes:

Success icon to let you know that it worked (https://github.com/colinking/n1-unsubscribe/issues/35)!


Use autoclosures to lazily evaluate messages

Message should only be evaluated when they are handled, as they may contain expensive operations that have to be carried out just for logging purposes.

3768346863a44c370ed1524137a893e36ba43629


Re-Export Required Dependencies

Is there a reason why types used in the public API from external crates are not re-exported?
For example, the render function:
pub fn render(
    tree: &usvg::Tree,
    fit_to: usvg::FitTo,
    transform: tiny_skia::Transform,
    pixmap: tiny_skia::PixmapMut,
) -> Option<()>

has Types from usvg and tiny_skia. In order to use this API, I need to add these two libraries to my Cargo.toml. Presumably I also need to keep version in sync in case of incompatible changes.
I think it would make a log more sense to re-export these types under resvg::usvg::* and resvg::tiny_skia::*. That way I only the resvg library and I get the transitive dependencies for free.
I am happy to put out a PR with this change. Just didn't see any discussion about it and I don't want to put the work in if it's unwanted.

For now, this is simply a stylistic choice. I would accept a PR if you would be able to provide a link to some official Rust guidelines explaining how this particular case should be handled.

There have been some discussions about this in the past, but nothing concrete was decided. There is also Effective Rust guide which recommends re-exporting dependencies, although it is not official. (And I would also prefer re-exported dependencies for the same reasons as above.)


Tab highlighting under Applications

I noticed that when switching through the tabs under the Applications (Munki, NoMAD) that "General" remains depressed/highlighted even when other tabs are selected. In the case of this screenshot I have the "Log" tab selected. This is running on macOS 10.12.6.

Took some wider testing but I found the issue, it was an index out of bounds error, but the 10.13 API caught that gracefully and the 10.6+ API crashed. So, good that it got fixed. Added the fix to the next release.

Looks good in 0.1 Beta 2!


Opera Extensions Documentation Outdated: For Manifest v2 instead of v3

I tried following the instructions for creating a sample Opera extension at https://dev.opera.com/extensions/basics/.  This seems to correspond with the basics.md file in the _extensions src folder, https://github.com/operasoftware/devopera/blob/master/src/_extensions/basics.md.  The instructions are for creating a v2-style manifest with a background script.
When I clicked the "Load Unpacked" button on the Opera Extensions page I got the following error:

Manifest version 2 is deprecated, and support will be removed in 2023. See https://developer.chrome.com/blog/mv2-transition/ for more details.

Simply changing the manifest_version in the manifest file from 2 to 3 was not enough to resolve the issue.  Apparently, the background.scripts array has been replaced by a background.service_worker object.  And making that change wasn't sufficient to get it working either, I assume because there is a fundamental difference between a background script in v2 and a background service worker in v3.
Please update the Opera extension documentation to reflect the changes from manifest v2 to v3.  This should apply not just to the basics.md file but also to any other references to the manifest and to anything else that has changed between v2 and v3 (eg the description of background processes in the architecture-overview.md and getting-started.md files).

After looking into the Chrome documentation about migrating to Manifest V3, https://developer.chrome.com/docs/extensions/migrating/, I was able to modify the manifest file and the background script to get them working. I suggest changing the code in the basics page as follows:

The Manifest file.  Note the manifest_version is 3, background.service_worker has replaced background.scripts (and it's a single object, not an array), and action has replaced browser_action:

{
	"manifest_version": 3,

	"name": "Opera Extensions — Getting Started",
	"description": "Sample extension for the “Making your first extension” article",
	"version": "1.0",
	"background": {
		"service_worker": "service-worker.js"
	},

	"permissions": ["tabs"],
	"action": {
		"default_icon": "icon.png",
		"default_title": "Go to Dev.Opera!"
	}
}

Rename the background.js file to service-worker.js and change the code to replace chrome.browserAction... with chrome.action... :

chrome.action.onClicked.addListener(function() {
	chrome.tabs.query({
		currentWindow: true,
		active: true
	}, function(tab) {
		chrome.tabs.create({
			"url": "http://dev.opera.com"
		});
	});
});

I also suggest adding a note about how to display the icon on the toolbar by pinning it via the Extensions button.  As someone brand new to extensions I assumed the icon wasn't displaying because there was a problem in my extension manifest or code.  I eventually discovered icons aren't displayed by default.  I think a couple of sentences explaining this could avoid a lot of angst among newbies like me.


feat: expose "safe" entrypoint that can be used from non-Node.js contexts

This PR adds an entry point to each package which can be used from non-Node.js contexts, like browser frontends. These */safe entry points expose a safe subset of the main entry points of each module.
This is ensured with a custom lint script that recursively checks all imports that are done in these entry points and forbids all exports that are from outside the zwave-js monorepo, except some whitelisted modules.

[x] @zwave-js/config/safe
[x] @zwave-js/core/safe
[x] @zwave-js/nvmedit/safe
[x] @zwave-js/serial/safe
[x] @zwave-js/shared/safe
[x] zwave-js/safe

@zwave-js-bot pack this

@zwave-js-bot pack this


Crash wallet when tap arrow back on "Show owner key" screen.

Steps to reproduce behavior:

Go to wallet.
Go to Settings screen.
Tap on "Show owner  key"
Will appear alert on the screen. Tap " OK".
On "Show owner key" screen tap arrow back.
Expected: Return on  Settings screen.
Actual: Crash wallet.

checked


tarpaulin fails to run doc-test in readme

I have a doc-test in my README, which i'm including like so-
// lib.rs
#![doc = include_str!("../README.md")]

this works a treat for making sure my readme stays aligned with the code, but tarpaulin doesn't seem to like it.
You can see the job output here- https://github.com/danieleades/config2/runs/4693934507?check_suite_focus=true
the code example has a no_run annotation, which cargo test is respecting, but tarpaulin apparently isn't

i'm sorry to keep popping up like this!

tried adding some test cases in #926, as i thought it was time you got a pull request from me instead of just issues. It's not a complete test though.
From the code I would imagine it should work, since you're just searching an entire file for the text 'no_run'. Shouldn't matter how the attributes are formatted.
Which i guess means the actual issue is a little more subtle

Ah I gave it a moments thought and I see what happened. So when you run cargo test for doc tests the no-run etc is chosen after it builds the doc tests. But I don't get that meta information. And the binary name for the generated doc test is generated from file name and line number of the doc test (with an addition number at the end as name collisions are possible). So I get a list of doc tests and from them work out potential source locations for the doc test. And then map the attributes at those locations to the guessed source location (guessed because there can be collisions).
Now obviously this doesn't currently handle include_str! - or indeed any include statement at all. Meaning those line counts will be wrong and no_run attributes can't be mapped back to the correct locations. The simple solution is probably to do a pass over the loaded files and spot any includes and do the includes manually on the file contents to create a post-processed file as I don't currently see a way to sort out that information using the tools cargo gives us for doc tests. It shouldn't be too difficult just mildly faffy.
Also, for generated code that may be in include!(concat!(env!("RUST_OUT"), "/generated.rs")); from libraries like prost any doc tests after the include statement will likely have an incorrect attribute mapping... But I think that's even harder to solve and may just be relegated to a TODO comment for now for the next time someone encounters this issue.
I won't have time today or tomorrow to work on this, but I'll aim to get to it during the week at some point. If you want to work on it though I'm fine with that just ideally let me know so there's not too much duplicated effort :sweat_smile:

Any possibility of better upstream support from Cargo?

Potentially, I believe the code responsible for it is in rustc, it is an area which currently has no stability guarantees (to my knowledge). But I'll raise something this week and see if anyone has objections


Prevent adding invalid implementations to dependencies

With the introduction of IDependency, it's no longer possible to prevent an implementation of IDependency from having an implementation that is unrelated to the dependency (e.g. an implementation type not implementing or inheriting the dependency type). However, this can become a validation option to ensure that all implementation instances and types are related to the dependency type. This doesn't work for implementation factories, as they have a return type of object.


Dev: Clicking on user detail page throws the 2 console error

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login to ND
Navigate to any conversation
Press on any receiver name to open their user detail page
Notice on console we are getting 2 errors

Expected Result:
no console error should appear
Actual Result:
console error appears
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: Dev
Reproducible in staging?: dev
Reproducible in production?: dev
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @dhairyasenjaliya
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689644468877559
View all open jobs on GitHub

What exactly are you clicking when you say "Press on any receiver name"? I'm unable to reproduce this so far

@MitchExpensify this is a dupe of #23201

Ah cool, typically I try to reproduce before scouring for dupes! Thanks for the assist @Santhosh-Sellavel & @dhairyasenjaliya  🙇


Isolation level

It looks like this driver is always setting transaction isolation level to 0.  Does this imply that all transactions are READ UNCOMMITTED, or that they use the server default?  I've been looking for the wire protocol for isolation levels, but I haven't been able to find anything.
Are there any plans to add support for setting isolation level in this driver?

0 means to use the current isolation level. The documentation for the wire protocol you're looking for is https://msdn.microsoft.com/en-us/library/dd339887.aspx

Thanks!


DOC: install instructions should mention OpenGL

On a new system running xubuntu 20.04, with a fresh install of conda, I get this when following our standard install instructions (curl env file followed by conda env update --file environment.yml). The only thing I did differently was to change in the environment file the line name: base to name: mne.
Summary of the problem:

pip fails to build wheel for mayavi
pip runs setup.py for mayavi, which fails with "no module named vtk"
vtk fails to install because it can't find OpenGL? ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory

Relevant part of traceback:
[... a bunch of normal  output omitted...]

Building wheels for collected packages: numpydoc, mayavi
  Building wheel for numpydoc (setup.py): started
  Building wheel for numpydoc (setup.py): finished with status 'done'
  Created wheel for numpydoc: filename=numpydoc-1.0.0.dev0-py3-none-any.whl size=47489 sha256=222954e55166d0679190b7daef71accb0ec7f525882fe36c20be228c307922f5
  Stored in directory: /tmp/pip-ephem-wheel-cache-gsthnxo1/wheels/38/db/74/ae8b461756e385e9f099d8a4af23510a2c92b3001f1503ab39
  Building wheel for mayavi (setup.py): started
  Building wheel for mayavi (setup.py): finished with status 'error'
  Running setup.py clean for mayavi
Successfully built numpydoc
Failed to build mayavi
Installing collected packages: mne, imageio-ffmpeg, vtk, scooby, appdirs, meshio, pyvista, nibabel, configobj, apptools, envisage, mayavi, PySurfer, dipy, sklearn, nilearn, quantities, neo, termcolor, pytest-sugar, snowballstemmer, pydocstyle, codespell, python-picard, tqdm, sphinxcontrib-serializinghtml, alabaster, babel, sphinxcontrib-devhelp, imagesize, sphinxcontrib-htmlhelp, urllib3, idna, chardet, requests, sphinxcontrib-jsmath, sphinxcontrib-applehelp, sphinxcontrib-qthelp, docutils, sphinx, numpydoc
    Running setup.py install for mayavi: started
    Running setup.py install for mayavi: finished with status 'error'

Pip subprocess error:
  ERROR: Command errored out with exit status 1:
   command: /opt/miniconda3/envs/mne/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ktpbwzle
       cwd: /tmp/pip-req-build-72s2xw_7/
  Complete output (33 lines):
  running bdist_wheel
  running build
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-req-build-72s2xw_7/setup.py", line 411, in <module>
      setup(
    File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/numpy/distutils/core.py", line 171, in setup
      return old_setup(**new_attr)
    File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/setuptools/__init__.py", line 144, in setup
      return distutils.core.setup(**attrs)
    File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 223, in run
      self.run_command('build')
    File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-req-build-72s2xw_7/setup.py", line 268, in run
      build_tvtk_classes_zip()
    File "/tmp/pip-req-build-72s2xw_7/setup.py", line 254, in build_tvtk_classes_zip
      gen_tvtk_classes_zip()
    File "tvtk/setup.py", line 83, in gen_tvtk_classes_zip
      from tvtk.code_gen import TVTKGenerator
    File "/tmp/pip-req-build-72s2xw_7/tvtk/code_gen.py", line 10, in <module>
      import vtk_module as vtk
    File "tvtk/vtk_module.py", line 15, in <module>
      from vtk import *
  ModuleNotFoundError: No module named 'vtk'
  ----------------------------------------
  ERROR: Failed building wheel for mayavi
    ERROR: Command errored out with exit status 1:
     command: /opt/miniconda3/envs/mne/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-jr9rwjeq/install-record.txt --single-version-externally-managed --compile --install-headers /opt/miniconda3/envs/mne/include/python3.8/mayavi
         cwd: /tmp/pip-req-build-72s2xw_7/
    Complete output (43 lines):
    running install
    running build
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-72s2xw_7/setup.py", line 411, in <module>
        setup(
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/numpy/distutils/core.py", line 171, in setup
        return old_setup(**new_attr)
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/setuptools/__init__.py", line 144, in setup
        return distutils.core.setup(**attrs)
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/numpy/distutils/command/install.py", line 62, in run
        r = self.setuptools_run()
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/numpy/distutils/command/install.py", line 36, in setuptools_run
        return distutils_install.run(self)
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/command/install.py", line 545, in run
        self.run_command('build')
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/miniconda3/envs/mne/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/tmp/pip-req-build-72s2xw_7/setup.py", line 268, in run
        build_tvtk_classes_zip()
      File "/tmp/pip-req-build-72s2xw_7/setup.py", line 254, in build_tvtk_classes_zip
        gen_tvtk_classes_zip()
      File "tvtk/setup.py", line 83, in gen_tvtk_classes_zip
        from tvtk.code_gen import TVTKGenerator
      File "/tmp/pip-req-build-72s2xw_7/tvtk/code_gen.py", line 10, in <module>
        import vtk_module as vtk
      File "tvtk/vtk_module.py", line 15, in <module>
        from vtk import *
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/vtk.py", line 30, in <module>
        all_m = importlib.import_module('vtkmodules.all')
      File "/opt/miniconda3/envs/mne/lib/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "/opt/miniconda3/envs/mne/lib/python3.8/site-packages/vtkmodules/all.py", line 29, in <module>
        from .vtkRenderingOpenGL2 import *
    ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /opt/miniconda3/envs/mne/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-72s2xw_7/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-jr9rwjeq/install-record.txt --single-version-externally-managed --compile --install-headers /opt/miniconda3/envs/mne/include/python3.8/mayavi Check the logs for full command output.

CondaEnvException: Pip failed

solution is sudo apt install libopengl0 before running the conda installation.


startup is not working

I tested on a windows 10 and looks like is not working

I'll check it out ;), are you on a VM by any chance? If you are, I have seen issues with that. I'll close this issue if I find an issue, and put it on for v1.6.

Found the issue. Will be added to v1.6, thank you for pointing this out.


proc: when running a proc, write its state to disk

Hello @yuindustries, @pmt,
Please review the following commits I made in branch nicks/write:
08296a0402a2bd8d7d0d91244669d200674ca9cb (2018-07-24 10:35:29 -0400)
proc: when running a proc, write its state to disk
Code review reminders, by giving a LGTM you attest that:

Commits are adequately tested
Code is easy to understand and conforms to style guides
Incomplete code is marked with TODOs
Code is suitably instrumented with logging and metrics

yes! exactly right


Error when try to use Pinia's module inside Nuxt plugin

Problem
I have been trying to run module action to verify if user is logged in by just checking local storage to find bearer token. The thing is that beside of properly pass $pinia from plugin context into modules argument (as it is said in pinia's docs) I receive below error:

I defined in nuxt.config.js that this initial-auth plugin should be executed only on client-side
Code
export default defineNuxtPlugin(({ $pinia }) => {
  const authStore = useAuthStore($pinia)
  const local = browserStorageSvg.readSessionStorage<AuthResponse>('authTokens')
  const session = browserStorageSvg.readLocalStorage<AuthResponse>('authTokens')
  if (local !== null) {
    authStore.isUserLogged = true
    authStore.authTokens = local
  }
  if (session !== null) {
    authStore.isUserLogged = true
    authStore.authTokens = session
  }
  if (local === null && session === null) {
    authStore.isUserLogged = false
    authStore.authTokens = null
  }
})

Package.json
  "dependencies": {
    "@nuxtjs/axios": "^5.13.1",
    "@nuxtjs/composition-api": "^0.23.2",
    "@nuxtjs/proxy": "^2.1.0",
    "@vueform/multiselect": "^1.4.0",
    "core-js": "^3.9.1",
    "debounce": "^1.2.1",
    "luxon": "^1.26.0",
    "nuxt": "^2.15.3",
    "pinia": "^0.3.1",
    "portal-vue": "^2.1.7",
    "v-calendar": "^2.3.0",
    "vue-fragment": "^1.5.2",
    "vue-slick-carousel": "^1.0.6",
    "yup": "^0.32.9"
  },
  "devDependencies": {
    "@nuxt/types": "^2.15.3",
    "@nuxt/typescript-build": "^2.1.0",
    "@nuxtjs/eslint-config-typescript": "^6.0.0",
    "@nuxtjs/eslint-module": "^3.0.2",
    "@nuxtjs/tailwindcss": "^4.0.3",
    "@types/debounce": "^1.2.0",
    "@types/luxon": "^1.26.4",
    "babel-eslint": "^10.1.0",
    "eslint": "^7.22.0",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-nuxt": "^2.0.0",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-vue": "^7.7.0",
    "fibers": "^5.0.0",
    "husky": "^4.3.8",
    "lint-staged": "^10.5.4",
    "postcss": "^8.2.8",
    "prettier": "^2.2.1",
    "sass": "^1.32.11",
    "sass-loader": "10"
  }

have you checked https://github.com/posva/pinia-example-nuxt for an example?

It looks to me like your module is installed before pinia's (https://github.com/posva/pinia-example-nuxt/blob/master/nuxt.config.js#L31)


A CPP solution for CodeChef Question - Point of Impact, Code: BILLARD

Problem Description
You are playing a Billiards-like game on an N×N table, which has its four corners at the points {(0,0),(0,N),(N,0), and (N,N)}. You start from a coordinate (x,y), (0<x<N,0<y<N) and shoot the ball at an angle 45∘ with the horizontal. On hitting the sides, the ball continues to move with the same velocity and ensuring that the angle of incidence is equal to the angle of reflection with the normal, i.e, it is reflected with zero frictional loss. On hitting either of the four corners, the ball stops there and doesn’t move any further.
Find the coordinates of the point of collision, when the ball hits the sides for the Kth time. If the ball stops before hitting the sides K times, find the coordinates of the corner point where the ball stopped instead.
Input:

The first line of the input contains an integer T, the number of testcases.
Each testcase contains a single line of input, which has four space separated integers - N, K, x, y, denoting the size of the board, the number of collisions to report the answer for, and the starting coordinates.

Output
For each testcase, print the coordinates of the ball when it hits the sides for the Kth time, or the coordinates of the corner point if it stopped earlier
Sample Test Cases
Input
2
5 5 4 4
5 2 3 1
Output
5 5
3 5
Explanation:
Test Case 1
We are given a 5 by 5 board. We shoot the ball from coordinates (4,4), and we need to find its coordinates after it has collided with sides 5 times. However, after shooting, the ball goes directly to the corner (5,5), and stops there. So we report the coordinates (5,5).

Test Case 2
We are given a 5 by 5 board. We shoot the ball from the coordinates (3,1), and we need to find its coordinates after it has collided with the sides twice. After shooting, it first hits the right side at (5,3), and then the top side at (3,5). So, we report (3,5).

Sir, I can solve this issue in C++, please assign me this issue.

@Amit366 please assign me this issue. I will solve it in C++.
LGM-SOC'21
Thank You

Sir, I have Created this issue for providing solution in C++ itself.  (Mentioned the same  Issue Title)
Thank you.


Maintenance banner: Add banner and check to static site and app

Description
See #2315 for details
Proposed solution
For both the static site and app, add a banner that's only displayed when the endpoint created in #2451 returns true. It should display the message returned by the endpoint if the banner is supposed to be active.
Additional context
The banner should be color-coded by the severity level.
If the endpoint returns a 500, display a generic "the app is experiencing issues" message.

taking a new direction on the banner, so closing this issue


Update apiversion

Update apiversion to v1beta1 otherwise it fails. This is from the yaml file.

@belkiso : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Improve the initial data preparation and reporting

Context
Currently we have three scripts connected by intermediate data files. Some processing is duplicated in the code that queries repos remotely on github.com and the code that clones repos locally before performing local analysis.
We also don't provide much reporting of entries that lack data or that are no longer available at the specified URL.
Code such as:

filter_out_incomplete_urls(...) seems better located in the data preparation than in the data processing.
check_and_clean_data(...) currently doesn't clean the data and it only provides a very brief summary of the issues it discovers.

In terms of reporting; I'd like to experiment with both data-reporting and visual-reporting.
Data reporting would include RDF files, probably in turtle format, and formats that are easy to process further e.g. as Dataframes and/or in online services such as Big Query.
Visual reporting  could include graphs, plots, and especially Sankey diagrams: https://python-graph-gallery.com/sankey-diagram/ which may help to make data quality issues easy to spot; and also - for repos that are successfully queried - groupings of results such as the count of test files, tests, etc.

added the functions filter_out_incomplete_urls , get_base_repo_url to the script utils/initial_data_preparation.py
changed the imports in the script tests/test_github_repo_request_local.py accordingly - Import the functions filter_out_incomplete_urls and get_base_repo_url
from their new location utils.initial_data_preparation- ran the tests --> all passed successfully
ran the 3 scripts


HOV-42 | Adds Grid and docs

Description

Adds Grid Component
Motivation and Context

No Grid component :(
How Has This Been Tested?

Tested in docs
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

AMAJHING 🚀


Add gallery groups to characters

Builds on #341, so requires everything there to be done first.
Fixes #330.
TODO:

[X] Convert subquery in tags API controller to something more intelligible (joins?)
[X] Display a warning if user has manually excluded galleries that were in a group, so it is not easy to miss; maybe send list of grouped IDs? … no, instead, make it not exclude, make sure it does not exclude, make sure it's just the added on/off toggle.
[x] Show galleries on character page by AJAX (see "TagsController offers correct galleries…")

[x] Fix character#new if you add and remove a character group!!! [done? seems to have instead been a problem with adding a character group twice, maybe? not sure...]

[x] Test everything, all the things
[x] Test all the things if the form save fails, especially all the stuff around ungrouped_gallery_ids
[x] Expose characters on the relevant tag pages
[x] Leave a note about where the test code is duplicated (for model tags)
[X] Rebase onto #341 once merged.
[x] Make sure character duplicate contains correct ungrouped_gallery_ids and gallery_group_ids

Tests:

[x] The "galleries" list, in the character editor, corresponds to galleries that are not added by groups
[x] Removing galleries from this list either flags it "added by group" (if it can be found in an attached group), or removes it from the character (if it cannot be); adding them creates the relevant tie if it doesn't already exist, and flags it "not added by group"
[x] Adding a gallery at the same time you remove the group should keep the gallery and not the others
[x] Adding a character to a group: does not add another user's galleries, does not add galleries twice, adds galleries from the given group
[x] Adding a gallery to a group: does not add to another user's characters, does not add to characters twice, adds to characters from the given group
[x] TagsController offers correct galleries for tag#show with a GalleryGroup and appropriate wants
Other controller tag-related things (for CharactersController)

[x] Persists if saving fails
[x] Successfully submits the tags

Tag controller handles it well

[x] Shown characters in tags#show
[x] Count characters in tags#index

[x] editor loads? try doing render_views for characters#edit and characters#new
[x] character duplicate

It actually wasn't WIP when I merged it, I just forgot to change the title. Oops.


Geometry

Understanding of geometry is important for accurate prediction, motion, and finding stable paths.
Since our motors have degrees of freedom given by the basis (Ф, θ), it is quite useful to be able to find a relationship between image coordinates and this basis.
This basis is the very basis of being able to construct intelligent algorithms for tracking. Since understanding the world in this basis is the very basis of a good control system, I give this some high priority. Back in the sleepless night of our despair, @byarrow and I explored ideas such as "oblique Mercator projections". It is our hope that our Gondorian calls for aid will be answered by the noble and brave men of Rohirrim. Ride, Riddermark! Heed, O great house of the noble steed! The beacons are lit. Gondor calls for aid.

Finally figured it out!
Video
Source code


filepath.IsAbs() does not check for things like "/test/../test"

I'm not sure if this is a problem or not, but it might be.
It's used in many places, one of them here: https://github.com/ipfs-filestore/go-ipfs/blob/88c5d5dfa9af5a37eac067de5df8d4d012108399/filestore/datastore.go#L61

The only thing I care about in that case is if the path does not depend on the current directory.  I will actually end up storing a path with ".." in the filestore.  I also do not make any attempt to follow symbolic links.
On a side note it is actually incorrect to resolve ".." mechanically and I filed an issue to that effect golang/go#16255.


In need of custom nodes

Dear dev team,
We are working on an AI Photobooth for an international airport. We'd love to make use of your services and run our workflow on replicate. We'd need the following custom nodes to be available : "comfyui_face_parsing", "JPS Custom Nodes for ComfyUI", "Allor Plugin", "comfy-plasma", "Comfy-Image-Selector", "Efficiency odes for ComfyUI V2.0+"
Please let me know if that would be possible.
Kind regards,
Sara

Or if there's a workaround I'd love to hear the steps I have to take. Thank you

@glitzhigh I typically only include popular custom nodes that many folks would use. As each custom node comes with a start up cost and adds complexity.
I would recommend forking/using this model as a template and adding these nodes to your own model.
You can add more nodes via custom_nodes.js, and by making sure all the necessary dependencies are in cog.yaml


add: support for dot notations in DataObject Relations (#14)

feat: add support for dot notations in DataObject Relations

feat: add tests for relationships

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (ee32fa8) 32.48% compared to head (968b0a2) 32.48%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##                  5      #21   +/-   ##
=========================================
  Coverage     32.48%   32.48%
  Complexity      428      428
=========================================
  Files            27       27
  Lines           939      939
=========================================
  Hits            305      305
  Misses          634      634

Impacted Files
Coverage Δ

src/Reflection/MethodClassReflectionExtension.php
83.33% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Pagination

How to handle pagination?
API or ?
We tend to store the rendered html to static file locally.

/len obtain how many articles we got.
/pagination?p={}&size{} perform pagination.


instruction for executing with GPU?

Hi,
Is it possible to add the instructions for executing the compiled binary with MI210 GPUs? I cannot seem to run the program with MI210 GPUs, or should it be automatic?
Thanks in advance.

If you have compiled on a MI210 system, it should work out of the box.

Thanks, and if I would like to use multiple HIP devices, does that need to be specified? I believe it's supposed to detect all devices connected to the system?

You need to use OpenMPI in that case.

Closing the issue, it's resolved. Thanks!


support npm private modules as hooks

resolves #3022

@mikermcneil @sgress454 can you guys take a look at this and publish to npm? This is blocking on one of our projects. Thanks.


Meetering Point

@MadsBloendAndersen  Ja den svarer til v. 2

This should be in metering point repo

Remaining story is treated in PI6. This feature is closed.


1818-miehul has a skewed scan

After rotated, check that Moth.Smlgv.Fritzne is fine

This is actually not that skewed, scan quality is just bad. Lets fix it without rotation


Deployment Failing - Checkin Message and Commit Author not consistent to other deployments

Originally I thought this was a fluke thing, but now deployments are consistently failing in my VS Code environment (having changed nothing since this morning)
As you can see the Check-in Message changed as well as the Commit Author

Not that this helps but here are two status.xml files from Kudu.
Working Deployment:
<?xml version="1.0" encoding="utf-8"?>
<deployment>
    <id>ee365c2e17cb4e26ae0dcb54c8e0b852</id>
    <author>VS Code</author>
    <deployer>ZipDeploy</deployer>
    <authorEmail>N/A</authorEmail>
    <message>Created via a push deployment</message>
    <progress></progress>
    <status>Success</status>
    <statusText></statusText>
    <lastSuccessEndTime>2021-02-19T19:37:02.1512625Z</lastSuccessEndTime>
    <receivedTime>2021-02-19T19:37:01.0418934Z</receivedTime>
    <startTime>2021-02-19T19:37:01.1669891Z</startTime>
    <endTime>2021-02-19T19:37:02.1512625Z</endTime>
    <complete>True</complete>
    <is_temp>False</is_temp>
    <is_readonly>True</is_readonly>
</deployment>

Consistently Failing Deployment (I can delete the deployment in Kudu and it just creates another one with the 'temp' prefix)
<?xml version="1.0" encoding="utf-8"?>
<deployment>
    <id>temp-94a71c25</id>
    <author>N/A</author>
    <deployer>ZipDeploy</deployer>
    <authorEmail>N/A</authorEmail>
    <message>Deploying from pushed zip file</message>
    <progress></progress>
    <status>Failed</status>
    <statusText></statusText>
    <lastSuccessEndTime />
    <receivedTime>2021-02-22T22:10:09.1093566Z</receivedTime>
    <startTime>2021-02-22T22:10:09.1093566Z</startTime>
    <endTime>2021-02-22T22:10:09.3124794Z</endTime>
    <complete>True</complete>
    <is_temp>True</is_temp>
    <is_readonly>False</is_readonly>
</deployment>

I've closed everything and restarted VS Code.  I'm hesitant to remove the Azure Functions Extension however.

I'm not surprised to see a temp deployment in particular - they happen with every deploy, but go away when they succeed. The weird part is just that this temp deploy failed. Can you deploy again and copy the logs from when it fails? It should be in the "Azure Functions" output pane in VS Code

Definitely not as helpful as I would have liked.  Here are the logs:
12:22:22 PM pos-dev-autocy-fun: Starting deployment...
12:22:23 PM pos-dev-autocy-fun: Creating zip package...
12:22:30 PM pos-dev-autocy-fun: Zip package size: 2.34 MB
12:22:30 PM pos-dev-autocy-fun: Fetching changes.
12:22:34 PM pos-dev-autocy-fun: Deployment failed.

Rough - yeah that's not helpful. Can you give more information about your project (what langauge?) and how you created the function app in Azure (portal, VS Code, etc.). You could also try deploying this project to a brand new app - that would help us figure out if the app in azure or the project is the problem

Certainly. I'm trying to avoid deploying to a new app as it is quite a bit of leg work to do this within the organization I'm part of.
Is there any additional logging that can be activated for the deployment process that I'm missing here?
I'm finishing up and ADO pipeline for the project as well to see if perhaps ZipDeploy is just broken as well.  I'll try to remember to let you know.

Late reply, but yeah I'm not sure there's much we can do from VS Code's side. The logs you already see are pretty much all we can get. If you can't create a new app, then Azure support is likely the best avenue going forward because they might have access to a lot more internal logs for your existing app

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


QR code expired

Just a friendly reminder, the QR code expired on September 2nd.
Perhaps you'd like to consider updating it?

refreshed


AL RCA weird dashboard chart/device status disconnect

Kip and I were texting this morning about RCA.  Its weird. On device status farm Henry, there is only data from 3 nodes, 307 C2 is missing. HOWEVER in the chart view, VWC for all 4 nodes is there.  I don't seeing any obvious issue on his installation form. This set was also used in his winter testing.
@saseehav @brianwdavis

Wondering if I've got a bug where the winter nodes are showing up because they're installed in another set? I'll look into it.

looks corrected now


High memory consumption in istio-pilot

Bug description
We had installed istio controlplane with ingressgateway into our kube cluster and discovered incredibly large memory consumpiton of pilot.
Now we have cluster with ~3500 kube services and ~2500 kube endpoints. At the same time pilot have ~12.5GiB rss.
We tried to investigate this issue and found a major memory usage during DiscoveryServer.Push.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[X] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Resource consumption as specified in the docs
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
Istio version
client version: 1.4.9
citadel version: 1.4.9
galley version: 1.4.9
pilot version: 1.4.9
policy version: 1.4.9
sidecar-injector version: 1.4.9
telemetry version: 1.4.9
sds-secret-sync version:
data plane version: 1.4.9 (3 proxies)

Kubernetes version
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.5", GitCommit:"753b2dbc622f5cc417845f0ff8a77f539a4213ea", GitTreeState:"clean", BuildDate:"2018-11-26T14:31:35Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
Manually with our custom specs
Environment where bug was observed (cloud vendor, OS, etc)
Openstack

There have been lot of changes and improvements after 1.4. Please try latest versions and see if this is still reproducible. Also please note https://istio.io/latest/news/support/announcing-1.4-eol-final/

There have been lot of changes and improvements after 1.4. Please try latest versions and see if this is still reproducible. Also please note https://istio.io/latest/news/support/announcing-1.4-eol-final/

Yep, but it seems that 1.4.x series is the last that supports K8s 1.11 so if possible we'd like to get some insight into how we can debug further

@fmaslennikov we cannot help without upgrading to a newer version. When you do, if you still experience issues, please post the full profile not just a screenshot. Thanks!


Error communicating with OpenAI.

After installing all required packages, I'm running the following code:
from codeinterpreterapi import CodeInterpreterSession, File

async def main():
    # context manager for auto start/stop of the session
    async with CodeInterpreterSession() as session:
        # define the user request
        user_request = "What are the headers?"
        files = [
            File.from_path("...... (Path censored intentionally"),
        ]

        # generate the response
        response = await session.generate_response(
            user_request, files=files
        )

        # output to the user
        print("AI: ", response.content)
        for file in response.files:
            file.show_image()

if __name__ == "__main__":
    import asyncio

    asyncio.run(main())

I'm getting the following error:
Retrying langchain.chat_models.openai.acompletion_with_retry.<locals>._completion_with_retry in 1.0 seconds as it raised APIConnectionError: Error communicating with OpenAI.

Any ideas of why this happens?
Thanks

This problem is with the openai api so maybe something is wrong with your payment details, your internet connection or your account. You can maybe try if the normal chatgpt API works and see if you get the same error.

got the same error

same error... I have tested my openai key and it is usable.

same error... I have tested my openai key and it is usable.

你也是用的代理吗，我后来通过设置代理，可以跑通了

Maybe the problem with OpenAI is that your account does not have access to GPT-4 (which is default) so you can set it to GPT-3.5:
async with CodeInterpreterSession("gpt-3.5-turbo") as session:

That didn't fix it for me either.  I can query the api the way the open-ai website describes but cant use codeinterpreter-api

I used the solution from this thread and it seemed to fix my issue. However, I get this "AI:  Agent stopped due to iteration limit or time limit." when trying to run the bitcoin example. I was able to run the plot_sin_wave without any issues though.

I used the solution from this thread and it seemed to fix my issue: bash /Applications/Python*/Install\ Certificates.command However, I get this "AI:  Agent stopped due to iteration limit or time limit." when trying to run the bitcoin example. I was able to run the plot_sin_wave without any issues though.

Solved issue for me as well

你的代理设置是如何设置的啊？


Refactored API

ignore the keys being hardcoded
setting up AWS locally was a big headache
change to environment variables later