Catalina.  Any effort to make QS compatible with it?

For questions or tech support, please start with the users’ group. If you know the problem is in Quicksilver itself, report it here.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
What version of macOS?
What version of Quicksilver?

Catalina, MacOS 10.15 beta, rejects many of QS plugins as no from recognised developers.  Funnily some keyboard shortcuts still work, others not.  No sense for me.  Of course, other System triggers, like "change location" when starting up, do not work at all anymore.  Sad, very sad.  I couldn't live without QS after these many many years using so intensely!
It says (and repeat through alerts, as many times as you eventually need to quit QS)
 com.blacktree.Quicksilver.QSEventTriggersPlugIn.73.qsplugin

comes from an unidentified developer

Desperately trying to recompile sources, XCode raises the error:
Unable to resolve build file: XCBCore.BuildFile (Named reference 'FMDB.framework' cannot be resolved)
Ive tried to find the link, whatever, no luck.

It seems I've found a way to avoid the problem con QSEventTriggers plugging:
I've manually taken off the file:
/Users/me/Library/Application Support/Quicksilver/PlugIns/com.blacktree.Quicksilver.QSEventTriggersPlugIn.73.qsplugin
and then, from the Quicksilver plugins panels, installed Event Triggers
The problem seems solved

It seems Catalina introduced new codesigning checks when loading bundles (a.k.a plugins).
This is going to be as messy as it can get, as IMHO it entails reworking how the build is done, because /tmp/QS was a good idea 15 years ago, but now I think it's an impediment to having plugins codesigned.
Please realize that unless someone stepped up most if not all plugins are still using manual memory management, most of the things we do with aliases and resources forks have been deprecated for like 4 OS releases, most of our frameworks predate the "modular framework", so Xcode will now also complain about these when headers are missing.
I'll try to bash the Xcode projects into something that could handle that (been there, done that 🤣), but I'm not even sure it's a worthy goal: Another (hopefully easier) way would be to just stop frameworking (keeping the distinction as "source file location"), dump everything inside Quicksilver.app, and move along.

I’ve switched plug-ins to ARC as I touch them, but that probably includes 10 or less. So, code-signing the plug-ins isn’t an option? I haven’t tried it.
I’d be fine with just moving everything into the app if we had to. It’s not like we ever get any outside contributions. 😒

Just checking in here. My programming knowledge is far too basic to contribute to any actual development, but just trying to get a sense of whether QS is falling back into the grave. I've noticed the LoveQuicksilver Twitter account has fallen silent. It's certainly fair if it has, it takes work to keep things running, and y'all are working for free, but I'll mourn the day when after over a decade I'll have to move on.
On that note, I'm making a donation now. I don't mean that to imply that work should continue because of my one small donation, it certainly wouldn't pay for very many minutes of a single coder's time, but after all the use I've gotten out of it, just seemed like I should donate.

I can only speak for myself, but Catalina doesn’t seem to run well in a VM and I only have one Mac, so I haven’t been able to check things out there yet.

Ah no worries at all! Let me just say, you all who work on this absolutely rock.

On Jul 17, 2019, at 4:47 AM, Rob McBroom<EMAIL_ADDRESS>wrote:
I can only speak for myself, but Catalina doesn’t seem to run well in a VM and I only have one Mac, so I haven’t been able to check things out there yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Catalina is now out here!
Unfortunately I also noticed Quicksilver not working as expected. When for example looking for the "terminal.app" or "textedit.app".
However, it seems to be working with other folders and apps, which is a bit random.
Any news on this regard?

I'm having a new issue under Catalina (10.15.0) that may be QS, though it may be Emacs.app.
In short, I cannot open Emacs.app (v26.1) via a QS (v1.6.0) trigger. All my other triggers work. I've reassigned the key to make sure it's not being overridden by the OS.

Im using QS with Catalina since some months ago, first beta versions… It needed some refreshing of the triggers… Did not find files and so… Now it works like a charm

El 9 oct 2019, a las 21:40, Paul Bissex<EMAIL_ADDRESS>escribió:
I'm having a new issue under Catalina (10.15.0) that may be QS, though it may be Emacs.app.
In short, I cannot open Emacs.app (v26.1) via a QS (v1.6.0) trigger. All my other triggers work. I've reassigned the key to make sure it's not being overridden by the OS.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/quicksilver/Quicksilver/issues/2497?email_source=notifications&email_token=AAG2U3DAXDAUANXQXVZBGX3QNYXSLA5CNFSM4H3ZSIQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAZCOIA#issuecomment-540157728, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG2U3B5I6FPITJ3D3O3VU3QNYXSLANCNFSM4H3ZSIQA.

It needed some refreshing of the triggers…

What do yo mean by that?  Can you open "Terminal" app? Or "textEdit" with it?

For some reason the TextEdit.app is not in the list of scanned files by Quicksilver on the Catalog > Applications > Sources

However, it is there in the applications directory next to all the others shown the list.

Most of the shortcuts for folders and apps (I have a lot) couldn’t work.  Panic!  I started begging for help and so. Then I refreshed the location of each app, opening the trigger in QS and drag-dropping the app icon on it again… one by one… All of them working again

Everything works now, even ey event in charge of changing the Location when plugging my MacBook at the office (Office location), or opening it anywhere (Automatic)

El 15 oct 2019, a las 14:30, Álvaro<EMAIL_ADDRESS>escribió:
It needed some refreshing of the triggers…
What do yo mean by that? Can you open "Terminal" app? Or "textEdit" with it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/quicksilver/Quicksilver/issues/2497?email_source=notifications&email_token=AAG2U3AQM7G72O5B4VGKA4DQOWZVFA5CNFSM4H3ZSIQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBIR6RY#issuecomment-542187335, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG2U3AEIKQ3GPO7FNVMIPTQOWZVFANCNFSM4H3ZSIQA.

I’m guessing he had triggers that referred to /Applications/Some.app, and that application was moved to /System/Applications/Some.app. In that case, triggers and other references to the application will need to be updated.

Well, in fact, QS can find apps as I start to write initial letters of their names, as always.  I do not use QS for that, since Spotlight does it well enough for me.  For what I use a lot QS is for keyboard shortcuts:
Ctrl-⇧-Alt-S for Safari
Ctrl-⇧-Alt-M for Sublime Text
Ctrl-⇧-Alt-A for Mail
Ctrl-⇧-Alt-T for Terminal
…
⌘-⇧-Alt-D for Documents folder
⌘-⇧-Alt-P for Programming folder
…

etc
And refreshed by drag-n-dropping each App or folder over the “Select an item” box of each trigger

El 17 oct 2019, a las 13:16, Álvaro<EMAIL_ADDRESS>escribió:
started begging for help and so. Then I refreshed the location of each app, opening the trigger in QS and drag-dropping the app icon on it again… one by one…
Refreshed the location? where? The Catalog already contains the Applications folder:
https://user-images.githubusercontent.com/1706326/67004299-4b68a300-f0e0-11e9-9b0f-c014906812f6.png
What triggers? I do not use triggers. I just want QS to guess what I want to open when I start typing.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/quicksilver/Quicksilver/issues/2497?email_source=notifications&email_token=AAG2U3ARTJKDWGGILULDH6DQPBCQZA5CNFSM4H3ZSIQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBPXKII#issuecomment-543126817, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG2U3G7M3SJ4WX35U34N73QPBCQZANCNFSM4H3ZSIQA.

I recently updated to Catalina (10.15.0) and, much to my dismay, discovered that "Go To Here" action no longer works.
Steps to reproduce:

Select a folder in the first pane
Select "Go To Here" in the second pane
Hit return
See message "Quicksilver is not allowed to send keystrokes." in the first pane

Additionally, I can no longer use the clipboard plugin and can't re-install it – checking the box in the preferences does not actually install it, it does say installing in the bottom right of the window.
Any help would be most appreciated!

Ive QS as one of the allowed Automatización (sorry, I don't know the word in the English system) Preference Pane:

"Quicksilver is not allowed to send keystrokes.”

The OS probably asked for your permission the first time you used this, but the dialog might have been behind the QS interface, and it tends to not ask again. Try allowing Automation and Full Disk Access in the security preferences.

Additionally, I can no longer use the clipboard plugin and can't re-install it – checking the box in the preferences does not actually install it, it does say installing in the bottom right of the window.

This is due to a problem with the qsapp.com domain. I’m working with our registrar to sort it out.

Quicksilver just doesn't work well after updating to Catalina.
I haven't yet been able to solve my problem trying to quickly access my apps, such as Calendar, Disk Utility, TextEdit etc.
It is all messed up after the update and quicksilver won't find them.

"Quicksilver is not allowed to send keystrokes.”

The OS probably asked for your permission the first time you used this, but the dialog might have been behind the QS interface, and it tends to not ask again. Try allowing Automation and Full Disk Access in the security preferences.

Additionally, I can no longer use the clipboard plugin and can't re-install it – checking the box in the preferences does not actually install it, it does say installing in the bottom right of the window.

This is due to a problem with the qsapp.com domain. I’m working with our registrar to sort it out.

Good catch, I now have given QS access to Automation, Full Disk Access, Accessibility, etc. but am still running into the same issue after relaunching QS. Is a complete reboot necessary? Thanks!

I've been working with Catalina (betas, even, and they drove me crazy! last time I do it), but now I'm working with QS without a glitch, no new glitches, at least.

@juanfal did you build your own? Do you also have the problem that when you Toggle Visibility of an app via a shortcut, it is delayed by several seconds? (I have this in Mojave)

nevermind, I re-installed from the website and it's behaving well now.

actually, I cried victory too soon - it's still happening. Maddening.

@wmertens, what's the problem you have? Hiding an application is ⌘-H, or the not in front, ⌥-⌘-H, so, I understand you want to hide/unhide a specific application, don't you?

The problem with the trigger delays might be fixed with the latest code here, but it hasn’t made it into a release yet.


Fix undefined: ErrNoProfilePicUrl

Hi David,
There is a variable ErrNoProfilePicUrl that I think you forgot to define.

I renamed the variable to ErrNoProfilePicURL, but my LSP somehow didn't rename all instances. I've fixed it in the latest commit, thanks for letting me know :)


Interchange argument order in rootComponent

Somehow, in the muddle of branches that is Git, this slipped through
onto master. Interchanges the order of arguments to rootComponent so
that onLoad is at the end, and fix the only caller that uses onLoad
to have it in the correct position.

We should double check this before/after tailer branch. The merge with that messed up a number of things for this

Thanks @PtrTeixeira , will get this in 0.14.1


Selected display needs to be preserved in URL

For example, if I go here: http://trelliscope.org/examples/lego/ and switch from the "lego sets" to the "lego figures" display, then if I want to share that with someone else and I send them the URL, the chosen display isn't preserved in the URL so it will take them to the "lego sets" display.

Selected display could even be a route if that's easier than putting in the query hash. But hash is great if that makes the most sense.


Add support for Julia 1.3.1

Always more versions :) This is a bug-fix release, so should be entirely harmless.

Merging this despite the broken test in the legacy buildpack.


How can I find all the fields about Schema Object in version 3.1.0

I found JSON Schema Specification Draft 2020-12.
However, its description of all fields of JSON schema is not clear.
Like this OAS document
How can I find all the fields about Schema Object in version 3.1.0?

Here's a full list of JSON Schema 2020-12 keywords. Some of them are defined in the Core Specification, and some are defined in the Validation Specification.
$id
$schema
$vocabulary

$anchor
$dynamicAnchor
$ref
$dynamicRef
$defs

// metadata
title
description
$comment
default
examples
readOnly
writeOnly
deprecated

type
enum
const

format

// for numbers
minimum
maximum
exclusiveMinimum
exclusiveMaximum
multipleOf

// string-specific
minLength
maxLength
pattern

// object-specific
required
properties
additionalProperties
patternProperties
unevaluatedProperties
propertyNames
minProperties
maxProperties

// array-specific
items
prefixItems
unevaluatedItems
minItems
maxItems
uniqueItems
contains
minContains
maxContains

allOf
anyOf
oneOf
not

if
then
else
dependentRequired
dependentSchemas

contentSchema
contentMediaType
contentEncoding

OAS-specific schema keywords:
discriminator
xml
externalDocs
example

Other keywords can be defined by custom vocabularies.
Unrecognized keywords are considered annotations (similar to x- extensions in other parts of the OpenAPI spec).

thanks.


[tool_crash] ProcessException: The command failedStdout:Stderr:unzip:  cannot find or open /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip, /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip.zip or /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip.ZIP. Command: unzip, OS error code: 9

Command
flutter run

Steps to Reproduce

...
...
...

Logs
ProcessException: The command failed
Stdout:
Stderr:
unzip:  cannot find or open /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip, /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip.zip or /Users/bilal/development/flutter/bin/cache/downloads/storage.googleapis.com/flutter_infra/flutter/bb75f611b252accdbf5e73f15e0a4cb43de5a587/darwin-x64/artifacts.zip.ZIP.
Command: unzip, OS error code: 9
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:172:5)
#1      _DefaultProcessUtils.runSync (package:flutter_tools/src/base/process.dart:459:17)
#2      _PosixUtils.unzip (package:flutter_tools/src/base/os.dart:226:19)
#3      CachedArtifact._downloadArchive.<anonymous closure> (package:flutter_tools/src/cache.dart:648:16)
#4      _rootRunUnary (dart:async/zone.dart:1198:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#8      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#9      Future._completeWithValue (dart:async/future_impl.dart:529:5)
#10     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#11     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#12     Cache.downloadFile (package:flutter_tools/src/cache.dart)
#13     _rootRunUnary (dart:async/zone.dart:1198:47)
#14     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#15     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
#16     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
#17     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
#18     Future._completeWithValue (dart:async/future_impl.dart:529:5)
#19     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
#20     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
#21     Net.fetchUrl (package:flutter_tools/src/base/net.dart)
#22     _rootRunUnary (dart:async/zone.dart:1198:47)
#23     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#24     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)

[✓] Flutter (Channel master, 1.21.0-6.0.pre.198, on Mac OS X 10.15.6 19G73, locale en-US)
    • Flutter version 1.21.0-6.0.pre.198 at /Users/bilal/development/flutter
    • Framework revision 1df1631e5f (2 hours ago), 2020-08-05 12:36:06 -0400
    • Engine revision bb75f611b2
    • Dart version 2.10.0 (build 2.10.0-3.0.dev 8cb0afa882)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/bilal/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • 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.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.1

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (1 available)
    • iPhone 11 Pro (mobile) • 84A1B0E0-4358-41F2-8079-17C9229D18F7 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)
    ! Error: Imran’s Ipad is not connected. Xcode will continue when Imran’s Ipad is connected. (code -13)
    ! Error: Bilal Drndo is not connected. Xcode will continue when Bilal Drndo is connected. (code -13)
    ! Error: Semir’s iPhone is not connected. Xcode will continue when Semir’s iPhone is connected. (code -13)
    ! Error: Almin Iphone  is not connected. Xcode will continue when Almin Iphone  is connected. (code -13)
    ! Error: Bilal is not connected. Xcode will continue when Bilal is connected. (code -13)

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f139b11009aeb8ed2a3a3aa8b0066e482709dde3
Plugins
cloud_firestore-0.13.7
cloud_firestore_web-0.1.1+2
file_picker-1.12.0
firebase_auth-0.16.1
firebase_auth_web-0.1.3+1
firebase_core-0.4.5
firebase_core_web-0.1.1+2
firebase_storage-3.1.6
flutter_device_locale-0.4.0
flutter_keyboard_visibility-2.0.0
flutter_plugin_android_lifecycle-1.0.8
flutter_secure_storage-3.3.3
geolocator-5.3.2+2
google_api_availability-2.0.4
google_maps_flutter-0.5.28+1
image_picker-0.6.7+4
location-3.0.2
location_permissions-3.0.0+1
location_web-1.0.0
path_provider-1.6.11
path_provider_linux-0.0.1+2
path_provider_macos-0.0.4
shared_preferences-0.4.3
sqflite-1.3.1
url_launcher-5.4.11
url_launcher_macos-0.0.1+7
url_launcher_web-0.1.2
video_player-0.10.11+2
video_player_web-0.1.3+2
wakelock-0.1.4+2

Hi @bilaldrndo,
There's similar open issue describing your case, 52437.
Please follow-up there for updates.
Closing this as duplicate.


[BUG] Rich.pretty breaks IPython built-in %pprint

Describe the bug
When using rich.pretty, the builtin %pprint command results in a traceback
%pprint is intended to toggle on and off the pretty printing, something which is not supported by Rich in general.
To Reproduce
In [1]: from rich import pretty

In [2]: pretty.install()

In [3]: %pprint
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

... (lines removed)
    306         """Toggle pretty printing on/off."""
    307         ptformatter = self.shell.display_formatter.formatters['text/plain']
--> 308         ptformatter.pprint = bool(1 - ptformatter.pprint)
    309         print('Pretty printing has been turned',
    310               ['OFF','ON'][ptformatter.pprint])

AttributeError: 'BaseFormatter' object has no attribute 'pprint'

Possible solutions

Ideal solution: rich.pretty supports %pprint
Next best solution: Attempting to use %pprint with rich.pretty results in a message indicating that this is not supported
Minimal solution: A note is added in the documentation about this feature not being supported and a message is printed
when pretty is installed inside IPython.

Platform
Windows 10; Windows Terminal
Diagnose
rich==10.12.0
ipython==7.25.0

I believe that adding the following would work as a minimal implementation:
from IPython.core.magic import register_line_cell_magic
@register_line_cell_magic
def pprint(_line=None, _cell=None):
    print("%pprint is not supported by Rich.")

Closing as this was taken care of in #1646


Issues with ESM module import syntax and endless loop during load in SSR

Describe the bug
JSDB is a 100% JavaScript database. The latest version is written in ESM. Simply importing it in the SSR server script (in vite-plugin-ssr) causes errors that do not otherwise exist in other contexts.
(I am trying to use an ESM node module that otherwise works fine during SSR with Vite.)
Reproduction

Create an instance of the vite-plugin-ssr vue starter app:

npm init vite-plugin-ssr

Change the type to module in package.json:

{
  …
  "type": "module",
  …
}

Install JSDB:

npm i @small-tech/jsdb

Add the following line to pages/_default.page.server.js:

import JSDB from '@small-tech/jsdb'

Run the dev server:

npm run dev

What should happen?
There should not be any errors.
What actually happens?
Initially, you get the following error:
Error: Failed to resolve import "fs/promises" from "pages/_default/_default.page.server.js". Does the file exist?
    at formatError (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/vite/dist/node/chunks/dep-2c03f3f9.js:43582:46)

This is because the JSTable.js file in JSDB has the following import:
import fsPromises from 'fs/promises'

I don’t know if this is an issue with vite-plugin-ssr or vite itself but I’m leaning towards the latter. The workaround is to change the import to:
import fs from 'fs'
const fsPromises = fs.promises

Needless to say, while I can do this in a module I control, this would mean I’d have to update all third-party modules that might use these sorts of imports in the future to make them compatible.
Once that error is out of the way, you get several related errors:
1:53:15 PM [vite] error while updating dependencies:
Error: Build failed with 3 errors:
node_modules/@small-tech/jsdb/lib/JSTable.js:26:9: error: No matching export in "browser-external:perf_hooks" for import "performance"
node_modules/@small-tech/jsdb/lib/Time.js:15:9: error: No matching export in "browser-external:perf_hooks" for import "performance"
node_modules/@small-tech/jsdb/lib/Util.js:15:9: error: No matching export in "browser-external:util" for import "types"
    at failureErrorWithLog (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:1224:15)
    at buildResponseToResult (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:936:32)
    at /home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:1035:20
    at /home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:568:9
    at handleIncomingPacket (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:657:9)
    at Socket.readFromStdout (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/esbuild/lib/main.js:535:7)
    at Socket.emit (events.js:315:20)
    at addChunk (internal/streams/readable.js:309:12)
    at readableAddChunk (internal/streams/readable.js:284:9)
    at Socket.Readable.push (internal/streams/readable.js:223:10)

This time it’s clearly an esbuild error from the stack trace. The previous error did not have the same stack trace but it might also have to do with vite’s use of esbuild.
I don’t think the problem is with esbuild itself as I bundle Place using esbuild and it imports JSDB without issues. And I also just tried it with esbuild 0.9.3 – the same version used here – and it worked without issues.
Again, the fix is to rewrite the imports:
So import { performance } from 'perf_hooks' becomes:
import perfHooks from 'perf_hooks'
const performance = perfHooks.performance

etc.
Once those changes have been made, I no longer get errors but loading the index page causes the browser to enter an infinite loading loop with no warnings or errors either in the browser or on the console.
There is a chance that this is an issue with vite-plugin-ssr, so I’ve opened an issue there also also but it feels like it is more a general Vite issue to me.
System Info
Output of npx envinfo --system --npmPackages vite,@vitejs/plugin-vue --binaries --browsers:
  System:
    OS: Linux 5.4 elementary OS 5.1.7 Hera
    CPU: (12) x64 Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
    Memory: 6.37 GB / 15.51 GB
    Container: Yes
    Shell: 5.4.2 - /usr/bin/zsh
  Binaries:
    Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
    Yarn: 1.22.5 - /usr/bin/yarn
    npm: 7.6.0 - ~/.nvm/versions/node/v14.16.0/bin/npm
  Browsers:
    Firefox: 87.0

Additional system info

Vite: 2.2.4
Esbuild (via Vite): 0.9.3
vite-plugin-ssr: 0.1.0-beta.40
JSDB: 2.0.2

Used package manager: npm
Before submitting the issue, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the docs.
[x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[x] Provide a description in this issue that describes the bug.
[x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead. (I’m pretty sure it’s a Vite-related issue.)
[x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Vite should treat @small-tech/jsdb as an SSR external but doesn't.
In the meantime you can manually mark it as SSR external.
export default {
  ssr: {
    external: ['@small-tech/jsdb']
  },
  plugins: [vue(), ssr()]
}

I suspect the problem to be around the fact that @small-tech/jsdb ships as ESM; https://vitejs.dev/guide/ssr.html#ssr-externals.
@patak-js How about we treat all dependencies as SSR external? I don't see the benefit of processing Node.js dependencies.

@brillout Thanks, that got me a little further. But now I have the following error:
4:58:58 PM [vite] Error when evaluating SSR module /pages/_default/_default.page.server.js:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module<EMAIL_ADDRESS>require() of ES modules is not supported.
require() of<EMAIL_ADDRESS>from /home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/vite/dist/node/chunks/dep-2c03f3f9.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from<EMAIL_ADDRESS>
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1080:13)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at nodeRequire (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/vite/dist/node/chunks/dep-2c03f3f9.js:69080:17)
    at ssrImport (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/vite/dist/node/chunks/dep-2c03f3f9.js:69038:20)
    at eval (/pages/_default/_default.page.server.js:29:31)
    at instantiateModule (/home/aral/small-tech/small-web/sitekit/sandbox/vite-ssr-project/node_modules/vite/dist/node/chunks/dep-2c03f3f9.js:69066:166) (x2)

The aforementioned index.js contains:
export { default } from './lib/JSDB.js'

Doesn't @small-tech/jsdb have a CJS main field? Vite transpiles your code to CJS, so @small-tech/jsdb needs to support CJS.

@brillout No, it’s a pure ESM module optimised for ESM-only Node projects, it doesn’t support CJS. I can see the problem if Vite transpiles all code to CJS.
Do you know if ESM-only node modules will be supported at some time or is this a fact of life for the foreseeable future?

Yes and currently transpiled Node.js code is evaluated by using new Function, see vite/packages/vite/src/node/ssr/ssrModuleLoader.ts. So you'll have to use CJS for the time being.
I guess we can close this ticket or replace it with a more precice one.

OK, I’m going to close this. It might be worth having an issue to track support for pure ESM Node modules and using using import to load ESM externals but it looks like this is already unofficially on the radar at least.

@aral this PR may be related https://github.com/vitejs/vite/pull/2157

that pr is for build and not dev so I guess it's not going to help


Added missing WhenFalseYield() methods

Added missing WhenFalseYield() methods to higher-order operations
Added documentation
Added tests
Bumped to v7.0.3

Codecov Report
Attention: Patch coverage is 97.95918% with 1 line in your changes missing coverage. Please review.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

...ition/BooleanResultPredicateMetadataProposition.cs
96.77% <100.00%> (+0.10%)
:arrow_up:

...omBooleanPredicateHigherOrderPropositionBuilder.cs
100.00% <100.00%> (+10.00%)
:arrow_up:

...nPredicateWithNameHigherOrderPropositionBuilder.cs
100.00% <100.00%> (+50.00%)
:arrow_up:

...leanResultWithNameHigherOrderPropositionBuilder.cs
100.00% <ø> (+66.66%)
:arrow_up:

...cDecoratorWithNameHigherOrderPropositionBuilder.cs
100.00% <ø> (ø)

...hNameHigherOrderBooleanResultPropositionFactory.cs
100.00% <100.00%> (ø)

...xplanationWithNameHigherOrderPropositionFactory.cs
100.00% <100.00%> (ø)

...anResultPredicateWithSingleAssertionProposition.cs
88.88% <87.50%> (+0.88%)
:arrow_up:

... and 8 files with indirect coverage changes


TFLiteTransferConverter (tfltransfer) for model personalization cannot convert a model on 'keras_model_head.py': AttributeError: 'list' object has no attribute 'values' line 51

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): NO
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.4.0
Python version:
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: 11.1
GPU model and memory: 750 ti 2GB

Describe the current behavior
I am following the model personalization post available on the TensorFlow GitHub repository (https://github.com/tensorflow/examples/blob/master/lite/examples/model_personalization/README.md) to build a custom trainable model on a mobile device. I expect to have the custom (or even the provided example) model for the 'head' can be converted via the following code:
converter = TFLiteTransferConverter(4,                                     base,                                     heads.KerasModelHead(head),                                     optimizers.SGD(3e-2),                                     train_batch_size=20)
But the library gets stuck on heads.KerasModelHead(head) line and produces the following error:
/tfltransfer/heads/keras_model_head.py in __init__(self, keras_model)
     49     self._predict_signature = loaded_model.signatures['serving_default']
     50
---> 51     input_def = next(self._predict_signature.inputs.values().__iter__())
     52     self._input_shape = tuple(
     53         dim.size for dim in input_def.tensor_shape.dim[1:])

AttributeError: 'list' object has no attribute 'values'

I have tried both the provided example and a custom model on different systems including Google Colab. The issue cannot be resolved.
Describe the expected behavior
The converter should produce the converted model files to be used on the device. The converter should produce the following file based on a custom base and head models.
bottleneck.tflite
inference.tflite
initialize.tflite
optimizer.tflite
train_head.tflite

Standalone code to reproduce the issue
The following is the example code obtained from the TensorFlow Github tested on Google Colab.
import tensorflow as tf
from google.colab import drive
drive.mount('/content/drive')
nb_path = '/content/drive/MyDrive/ML/converter/'
sys.path.insert(0,nb_path)
from tfltransfer import bases
from tensorflow.keras import layers
from tensorflow.keras.regularizers import l2
from tfltransfer import bases
from tfltransfer import heads
from tfltransfer import optimizers
from tfltransfer.tflite_transfer_converter import TFLiteTransferConverter
base = bases.MobileNetV2Base(image_size=224)

head = tf.keras.Sequential([
layers.Flatten(input_shape=(7, 7, 1280)),
layers.Dense(
units=32,
activation='relu',
kernel_regularizer=l2(0.01),
bias_regularizer=l2(0.01)),
layers.Dense(
units=4,
activation='softmax',
kernel_regularizer=l2(0.01),
bias_regularizer=l2(0.01)),
])
head.compile(loss='categorical_crossentropy', optimizer='sgd')
converter = TFLiteTransferConverter(4,
base,
heads.KerasModelHead(head),
optimizers.SGD(3e-2),
train_batch_size=20)
converter.convert_and_save('custom_keras_model')

Other info / logs Include any logs or source code that would be helpful to
tfltransfer/heads/keras_model_head.py", line 51, in __init__
    input_def = next(self._predict_signature.inputs.values().__iter__())
AttributeError: 'list' object has no attribute 'values'

Was able to reproduce the issue with TF v2.3, TF v2.4 and TF-nightly. Please find the gist of it here. Thanks!

Yes, I could reproduce it too. It was due to the recent removing experimental.export_saved_model(). Please let me work on it.

It is due to the latest keras API update (e.g. removed experimental saved model function), so I am working on huge internal upgrade from TFv1 to TFv2 in my model personalization library. Please stay tuned.

Is there any update as to the timeline of the upgrade?

Is there any update as to the timeline of the upgrade?

some issue here,@jaeyoo
is there any useful old tensorflow version or keras version?

some issue here,@jaeyoo
is there any useful old tensorflow version or keras version?

It is due to the latest keras API update (e.g. removed experimental saved model function), so I am working on huge internal upgrade from TFv1 to TFv2 in my model personalization library. Please stay tuned.

some issue here,@jaeyoo
is there any useful old tensorflow version or keras version?

It is due to the latest keras API update (e.g. removed experimental saved model function), so I am working on huge internal upgrade from TFv1 to TFv2 in my model personalization library. Please stay tuned.

some issue here,@jaeyoo
is there any useful old tensorflow version or keras version?

@jaeyoo
Hello
is here any update?

For temporary workaround, please visit this colab:
https://colab.research.google.com/drive/1OFDCHvgvgZkiXjFi_wwCof0O1VWzrsez?resourcekey=0-K6oEwOCLVLH1nao8y7pQgw&usp=sharing

Was able to reproduce the issue in TF v2.5,please find the gist here..Thanks !

@jaeyoo
Hi any update to the fix still?
Was able to reproduce the issue with tfv2.7.0-dev20210919

@amrmp The issue should have been fixed with #1001. Can you check if the issue still persists. Thank you.

@pjpratik
in my case , it might be helpful to try try with tensorflow signature above TF 2.7.


Performance issues in a live editor using evaluate

Background
I am building a live editor using xdm evaluate. Functions the exact same as the MDX playground. From what I understand, a new React node is generated by evaluate for every keyboard event. This causes considerable keyboard input lag especially when you start embedding some  and JSX components. I have tried to make iframe components load on click and initially render without src attribute but this didn't have an impact on input lag. I've also tried memoizing my evaluate call.
Reproduce input lag
Copy and paste this into the MDX Playground:
# Hello, world!

<button>Here is a button</button>

Try back space on this sentence to delete (will see lag). Iframes and React components reload on every single keystroke.

<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />
<iframe src="https://codesandbox.io/embed/nice-cloud-3chkc?fontsize=14&hidenavigation=1&theme=dark" />

Question
How can I make this editor more performant? Can it be done better using compile every few seconds?
Demoboard
Demoboard has an excellent live editor with no input lag, however compromises by not having a live output. Can I do same thing it does by using compile? And would I be able to avoid input lag but still have a live output?
Thank you!

Absolute beauty of an answer, going to debounce & memo w/ compile & codemirror. Thanks once again!

Perfect!
Btw I don’t necessarily recommend doing compile instead of evaluate. evaluate shouldn’t be a performance bottle neck — doing compile and then some manual code to eval it would most likely be exactly as slow/fast!

Continuing the discussion because of the last part of your comment that I didn't completely understand initially.

c) is possible, call the resulting component from evaluate yourself: MDXContent(props) instead . See: mdx-js/mdx#1655

I had a performance problem with <iframe /> elements reloading on every change when I called <MDXContent>. I notice that when I call MDXContent(), the iframes no longer reload. So React diffing magic is actually working here. Good news 😄
How can I pass components into the output? Previously you could do <MDXContent components={MDXComponents} />. Would I need to use a provider from @mdx-js/mdx?
I read through the issue and tried MDXContent({ components }) along with MDXContent(props) but couldn't get either to work.

Nevermind, found it. MDXContent({ components: MDXComponents })


[1.18.2] CPU usage maxes out while moving camera around

Minecraft version: 1.18.2
Forge version: 40.1.0
Mod version: <IP_ADDRESS>
Allocated client RAM: 8 GB
Allocated server RAM: 8 GB
While performing actions as simple as looking around or moving, all-core CPU usage spikes to 100% and holds for as long as actions are being performed. It only stops when I stay perfectly still, and resumes immediately as I continue moving or doing things, making the game effectively unplayable. Reproduced on both Singleplayer and Multiplayer.
Might be related to #131 ? EDIT: Fabric version works fine, might not be related after all?

Can confirm that it is the mixin in question, i removed it from apoli.mixins.json and the frames are perfectly fine now.

Forge has a much larger overhead on block access. I'll see what I can do, but I'm don't have much experience with that kind of optimization.
Also, it's a hook used to prevent render of certain blocks or fluids, so it won't do anything unless a power using it is present.

Since my computer doesn't do well with rendering anything at any time, you can test the <IP_ADDRESS>-pre1 release and see if that does anything for you. It does very little in dev as far as I can tell.

Looks like it works! No lag, at least nowhere near the level as before.


ignore-suffix

Could we have this feature?
Angular's test files end in .spec.ts
I want to use let in those files, as it is common practice to do so
A typical test looks like:
describe('CloseButtonComponent', () => {
    let component: CloseButtonComponent;
    let fixture: ComponentFixture<CloseButtonComponent>;

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            declarations: [CloseButtonComponent],
            providers: [
                {
                    provide: Store,
                    useValue: {
                        select: () => Observable.empty(),
                    },
                },
            ],
        }).compileComponents();
    }));

    beforeEach(() => {
        fixture = TestBed.createComponent(CloseButtonComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
    });

    it('should create', () => {
        expect(component).toBeTruthy();
    });
});

Do you mean ignoring the filename suffix .spec.ts? If so I think that could be done with tslint's file matching?

tslint-immutable is just a plugin for tslint. It is tslint that loads the files and hands it to the plugins. So what I meant was you can call the tslint CLI with options to exclude files. See here. For example I think something like this would work:
tslint --exclude *.spec.ts

This would of course exclude any .spec.ts from all linting. If you want some linting for these files I think you can make a main tslint.json and then inherit it to two separet configs, one of which you use for .spec.ts files and in that config you exclude the tslint-immutable rules you don't want to apply.

I want linting for the .spec.ts files, I just want to disable no-let for .spec.ts files

@dolanmiu Check the last part of my comment above. I think you have to run tslint once for .spec.ts files with one tslint config and once for the other files with another tslint config but you can share the base-rules so you don't need to repeat all the rules.
I'm not sure rules are supposed to have opinion on what file names to run for this is usually handled by tslint CLI by globing. Do you know of other rules that look at the filename?

There might be another solution too. IIRC the tslint CLI command will look upwards in the directory hierarchy for tslint.json for every file it lints. So if you have your .spec.ts in a test directory you can put a separate tslint.json in that directory. Then tslint will use it for the test directory, while you can have anohter tslint.json at the root level for everything else. That way you only have to run tslint once but can still have different set of rules.

@dolanmiu check out this discussion on the tslint repo: https://github.com/palantir/tslint/issues/3447


getWinUsbMxId() path construction is errant and doesn't find libusb devices

getWinUsbMxId() does not correctly transform Win32 location paths into libusb port paths. This causes failure(s) to find USB devices.
getWinUsbMxId() is a fallback function that is used only on Windows when libusb finds a X_LINK_BOOTED device that it can't access due to other app/code having that device already open via libusb; there is no shared access.
getWinUsbMxId() uses the Win32 native SetupDi api to query for usb devices. Then the function attempts to map the Win32 "Location path" into a libusb path of ports. Unfortunately, this mapping is errant and therefore devices are often not found since the path's will not match.
Setup

Microsoft Windows [Version 10.0.22621.1702] aka Windows 11
VS2019 v16.11.25
depthai-core v2.21.2 + fixes via https://github.com/diablodale/depthai-core/tree/device-tests-close-threads
XLink develop 88d81da8f0f5c1c6e79b9ff7d94f335ce16e036a with a LOT of debug output
Three OAK usb devices

Repro

Add lots of debug to trace behaviors of Xlink 😉
Change tests/color_camera_node_test line 46 to be a forever while(true) loop
Connect 3 OAK devices via USB to the same computer. I recommend at least two of them on separate controllers.
Open two terminals on the computer
Run color_camera_node_test in first terminal and wait until it is in the loop. Observe the debug output. LEAVE IT RUNNING!
Run color_camera_node_test in second terminal and wait until it is in the loop. Observe the debug output

Result
First terminal
Notice the probe of the 3 devices by running the small program on each. Then the chosen device is connected+started.
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting...
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting...
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting...
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId(1844301031490A1300) returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting found device into result
...

Second terminal
Here the bug is exposed. It again probes all three devices. The 1st and 2nd can run the small program to probe them. However, the 3rd device is running in the other terminal and therefore can not be opened. It is "libusb device is BOOTED and LIBUSB_ERROR_ACCESS" which leads to the windows-only fallback function getWinUsbMxId().
getWinUsbMxId() calls Win32 SetupDi apis, parses for serial numbers in the DeviceInstanceId, and attempts to transfor the Windows path into a libusb port path. In the logs below "seeking..." is the params passed to getWinUsbMxId(). It is seeking vid=03e7 pid=f63b at libusb_path="3.20".
Remember that terminal 1 has one device open. Look below in the "candidate" entries. Each candidate is the vid, pid, and custom mapping path contructed; just before the if() test. Easy to see in the devbug all three OAK devices since they all have the same vid=03e7.
UNBOOTED are...
pid=2485  simulatedpath=1.9
pid=2485  simulatedpath=1.1
BOOTED is...
pid=f63b  simulatedpath=1.20  👎😢
The function was given libusb port path "3.20" yet the simulated mapping generated "1.20". This is errant.
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting found device into result
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:353      attempting small program...
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Success
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting found device into result
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:330      libusb_open: Access denied (insufficient permissions)
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:335      libusb device is BOOTED and LIBUSB_ERROR_ACCESS
F: [global] [         0] [ThreadN] getWinUsbMxId:1077   seeking   03e7  f63b  3.20
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485  1.9
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 0bda  0316  1.18
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 0bda  0316
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  f63b  1.20
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  f63b
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 048d  ce00  1.6
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 048d  ce00
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 04f2  b68b  1.13
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 04f2  b68b
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 8087  0026  1.14
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 8087  0026
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485  1.1
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:330      libusb_open: Access denied (insufficient permissions)
F: [global] [         0] [ThreadN] getLibusbDeviceMxId:335      libusb device is BOOTED and LIBUSB_ERROR_ACCESS
F: [global] [         0] [ThreadN] getWinUsbMxId:1077   seeking   03e7  f63b  3.20
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485  1.9
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 0bda  0316  1.18
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 0bda  0316
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  f63b  1.20
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  f63b
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 048d  ce00  1.6
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 048d  ce00
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 04f2  b68b  1.13
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 04f2  b68b
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 8087  0026  1.14
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 8087  0026
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485  1.1
F: [global] [         0] [ThreadN] getWinUsbMxId:1136   candidate 03e7  2485
F: [global] [         0] [ThreadN] getUSBDevices:173    getLibusbDeviceMxId() returned: Access denied (insufficient permissions)
F: [global] [         0] [ThreadN] getUSBDevices:201    inserting found device into result
[2023-05-12 22:28:47.296] [depthai] [warning] Insufficient permissions to communicate with X_LINK_BOOTED device having name "3.20". Make sure udev rules are set
...

These are the Windows Device Manager location paths for the two running Luxonis Devices during the above logs.
# this is the device running in terminal 1
USB\VID_03E7&PID_F63B\1844301031490A1300
# its location paths
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(20)
ACPI(_SB_)#ACPI(PCI0)#ACPI(XHC_)#ACPI(RHUB)#ACPI(SS04)

# this is the device running in terminal 2
USB\VID_03E7&PID_F63B\14442C10C1A1C6D200
# its location paths
PCIROOT(0)#PCI(1B00)#PCI(0000)#PCI(0200)#PCI(0000)#USBROOT(0)#USB(3)
ACPI(_SB_)#ACPI(PCI0)#ACPI(RP17)#ACPI(PXSX)#ACPI(TBDU)#ACPI(XHC_)#ACPI(RHUB)#ACPI(SS01)

Expected
device on libusb path "3.20" is found using the Win32 apis and its MXID returned

My guess, the function path code doesn't handle a computer with multiple USBROOT aka USB controllers.
This is my laptop. It has three USB-3 type-A ports. And it has one USB-3 type-C port. I have two OAKs on the type-As. And one OAK on the type-C.

If I have only one OAK 14442C10C1A1C6D200 plugged into the type-C it has the long path
PCIROOT(0)#PCI(1B00)#PCI(0000)#PCI(0200)#PCI(0000)#USBROOT(0)#USB(3)
ACPI(_SB_)#ACPI(PCI0)#ACPI(RP17)#ACPI(PXSX)#ACPI(TBDU)#ACPI(XHC_)#ACPI(RHUB)#ACPI(SS01)

and looks like this

Adding documentation to align with forthcoming PR and testing
From some research, I learned that USB host controllers each have exactly one root usb hub. It is a 1:1 relationship.
libusb itself uses a single comprehensive snapshot of everything USB to then derive its "libusb" versions of everything with https://github.com/libusb/libusb/blob/07441f54244991af55df158b61fd69ca95b39662/libusb/os/windows_winusb.c#LL1478C12-L1478C34. Between calls to libusb_get_device_list it is possible for any or all devices and paths to change their relative location.
My 3 usb OAKs plugged into usb ports but not opened/running "Movidius MyriadX" on 3 different ports shows...
Port_#0012.Hub_#0002
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(12)

Port_#0001.Hub_#0002
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(1)

Port_#0009.Hub_#0002
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(9)

when running their paths change (not confirmed same order of devices)
Port_#0003.Hub_#0003
PCIROOT(0)#PCI(1B00)#PCI(0000)#PCI(0200)#PCI(0000)#USBROOT(0)#USB(3)

Port_#0021.Hub_#0002
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(21)

Port_#0020.Hub_#0002
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(20)

@themarpe as a friendly caution...I have not pushed my final stable xlink code to my public repo. if you source any code from my public xlink repo, you might be getting incomplete work.

Thanks for the headsup - seems to just be autoclose from this already merged PR https://github.com/luxonis/XLink/pull/60 since push to main/master
Can reopen, but AFAIK the crux of the above was in fact addressed (in the described)


face detect

http://facedetection.jaysalvat.com/

Cool stuff. But that it isn't really about comparing strings. What do you want to do with this?

Hi.
Our origional idea was to start off with String Metrics and gradually add
all sorts of other similarity metrices which operate over a wider variety
of objects. Similarities between voices, images, videos etc...
On 26 Apr 2015 12:02, "mpkorstanje"<EMAIL_ADDRESS>wrote:

Cool stuff. But that it isn't really about comparing strings. What do you
want to do with this?
—
Reply to this email directly or view it on GitHub
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96359549.

Ah that explains.
I did setup the Metric class to compare any two objects of the same type. So accommodating it shouldn't be a problem.
That is, if some does it.

Unfortunately that won't quite cut it.
One should be able to compare two different images, both have a tree in
common for example...
On Sun, Apr 26, 2015 at 12:16 PM, mpkorstanje<EMAIL_ADDRESS>wrote:

Ah that explains.
I did setup the Metric
https://github.com/Simmetrics/simmetrics/blob/master/simmetrics-core/src/main/java/org/simmetrics/Metric.java
class to compare any two objects of the same type. So accommodating it
shouldn't be a problem.
That is, if some does it.
—
Reply to this email directly or view it on GitHub
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360177.

--
Best Regards
Johnathan Botha

Or the same voice recording with slightly different pitch...
On Sun, Apr 26, 2015 at 12:18 PM, Johnathan Botha<EMAIL_ADDRESS>wrote:

Unfortunately that won't quite cut it.
One should be able to compare two different images, both have a tree in
common for example...
On Sun, Apr 26, 2015 at 12:16 PM, mpkorstanje<EMAIL_ADDRESS>wrote:

Ah that explains.
I did setup the Metric
https://github.com/Simmetrics/simmetrics/blob/master/simmetrics-core/src/main/java/org/simmetrics/Metric.java
class to compare any two objects of the same type. So accommodating it
shouldn't be a problem.
That is, if some does it.
—
Reply to this email directly or view it on GitHub
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360177
.

--
Best Regards
Johnathan Botha

--
Best Regards
Johnathan Botha

Ah I see. Then we'll have to figure it out what to do with it when it is
coded. :)
On 26 April 2015 at 12:19, Johnathan Botha<EMAIL_ADDRESS>wrote:

Or the same voice recording with slightly different pitch...
On Sun, Apr 26, 2015 at 12:18 PM, Johnathan Botha<EMAIL_ADDRESS>wrote:

Unfortunately that won't quite cut it.
One should be able to compare two different images, both have a tree in
common for example...
On Sun, Apr 26, 2015 at 12:16 PM, mpkorstanje<EMAIL_ADDRESS>wrote:

Ah that explains.
I did setup the Metric
<
https://github.com/Simmetrics/simmetrics/blob/master/simmetrics-core/src/main/java/org/simmetrics/Metric.java

class to compare any two objects of the same type. So accommodating it
shouldn't be a problem.
That is, if some does it.
—
Reply to this email directly or view it on GitHub
<
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360177>
.

--
Best Regards
Johnathan Botha

--
Best Regards
Johnathan Botha
—
Reply to this email directly or view it on GitHub
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360239.

Not at all...
I'm halfway through coding an HMM based speech recognition API for the
C-version. This will be able to identify recordings of voices and correctly
associate them with the correct person - as an example. There are many uses
for such an algorithm. Recognising patterns in images is just as useful for
going through a library of images and identifying all the images with a cat
in them...
On Sun, Apr 26, 2015 at 12:30 PM, mpkorstanje<EMAIL_ADDRESS>wrote:

Ah I see. Then we'll have to figure it out what to do with it when it is
coded. :)
On 26 April 2015 at 12:19, Johnathan Botha<EMAIL_ADDRESS>wrote:

Or the same voice recording with slightly different pitch...
On Sun, Apr 26, 2015 at 12:18 PM, Johnathan Botha<EMAIL_ADDRESS>wrote:

Unfortunately that won't quite cut it.
One should be able to compare two different images, both have a tree in
common for example...
On Sun, Apr 26, 2015 at 12:16 PM, mpkorstanje <
<EMAIL_ADDRESS>wrote:

Ah that explains.
I did setup the Metric
<

https://github.com/Simmetrics/simmetrics/blob/master/simmetrics-core/src/main/java/org/simmetrics/Metric.java

class to compare any two objects of the same type. So accommodating it
shouldn't be a problem.
That is, if some does it.
—
Reply to this email directly or view it on GitHub
<
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360177>
.

--
Best Regards
Johnathan Botha

--
Best Regards
Johnathan Botha
—
Reply to this email directly or view it on GitHub
<https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96360239
.

—
Reply to this email directly or view it on GitHub
https://github.com/Simmetrics/simmetrics/issues/3#issuecomment-96361341.

--
Best Regards
Johnathan Botha

This has been open for 2 years with no work done. I assume the idea has been abandoned. Doesn't mean we can't include it when some one makes it. But until that happens it seems weird to let that clutter up the issue list.


Increase speed for open any page.

Open page in the qor-example 500-900ms on the local machine...
Why pages load so slow?
Slow templates?
GORM must work fast.
Maybe you must use pongo2 templates - fast, powerful, beautiful?

I think you are not using template cache.


CI: adding Python 3.11 [dummy]

trying to get CI outputs for https://github.com/tonybaloney/Pyjion/pull/518

Seems that even 3.10 can't be build for some checks/jobs


[C++][Parquet] Invalid memory access in ScanFileContents

When a Parquet file has 0 columns, ScanFileContents will try to access the 0th element of a size 0 vector.
Reporter: William Butler / @tachyonwill
Assignee: William Butler](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=willb_google) / @tachyonwill
PRs and other links:

GitHub Pull Request #12423

Note: This issue was originally created as PARQUET-2123. Please see the migration documentation for further details.

Antoine Pitrou / @pitrou:
Issue resolved by pull request 12423
https://github.com/apache/arrow/pull/12423


Error using pass-by-value semantics?

https://github.com/marekmaskarinec/tophat/blob/7741a5aec5a932dad2b4a845765c3db72f024152/src/bindings.c#L48
If you would like to pass by value a structure that is larger than the Umka stack slot size (8 bytes), you have to calculate the actual number of slots occupied by the structure and update the slot indices accordingly. For example, if you have an Umka function signature
fn (scene: ^entity, e: entity, count: int)

and the structure e is packed with alignment 1, the stack slot layout would be like
0:  count
1:  e.p
2:  e.image
3:  e.color, e.id
4:  scene

If e is not packed, the layout will depend on the default alignment, which is hard to predict. My opinion is that to write more reliable and portable code, it's better to have all structure fields multiple of 64 bits.
By the way, the default integer type (int) in Umka is 64-bit, which is equivalent to int64_t in C.

Wouldn't  it be easier to pass a pointer, since that would negate all the size problems.
I also want to thank for all the help you are with this.


ci/create-docker-image: Fix GOPATH inside the build container

When running the skydive build (compile) inside the build container:
Instead of using $GOPATH from the host (which is something like
/home/user/go) as-is inside the builder container, use the proper
$GOPATH directory which is /root/go.

run skydive-create-docker-image

run skydive-create-docker-image


I configured Certificate but can't find it in k8s. And there is no secret created.

This is my certificate.yaml

ClusterIssuer is pre-configured.
Cert-manager is installed through helm.

But I can't find the certificate or the secret.

I just found out that it was an inconsistent version that caused the problem.


165561584 - Refactor UAA assets and styling

What
Before we had an app called paas-uaa-assets which served:

a css file to style UAA
a favicon image
a login screen logo

And we told UAA using the deprecated assets_base_url to use our custom assets.
This commit removes the paas-uaa-assets app deployment from the pipeline and introduces a new boshrelease called uaa-customized.


Cannot find module 'isobject'

https://travis-ci.org/gajus/canonical/jobs/110982690
Travis is failing: complaining that isobject is not found, which is a dependency of this package. Though, I cannot see anything wrong with is-plain-object setup.

Seem to be an issue with bundledDependencies. There is nothing specific to is-plain-object that can be done.


Teacher Contact Cards

I made this card layout for the contact page with flexbox and I think it fits pretty nicely. Each card contains a profile picture, the teacher's name, YouCanBook.me link, and a WebMail button.
Also, as an addition, what do you think about adding a Teacher collection to the CMS so details could be changed on-the-fly?
Let me know what you think :smile:

Here's a screenshot of the design

Here's a screenshot of the design

Nice, Cameron. I like it. I'm going to tweak it a bit but thanks for putting this together.
Also - yes, I was also thinking of creating a collection for the CMS so that details could be adjusted on the fly.

Nice, Cameron. I like it. I'm going to tweak it a bit but thanks for putting this together.
Also - yes, I was also thinking of creating a collection for the CMS so that details could be adjusted on the fly.


Conditionally set the ingress-class-name

This is required for "normal" clusters configured with an Nginx ingress. Our local (k3d) cluster does not need it, since it's using Traefik.
I added "target" to the configuration. It's not ideal, but we need to know about this property when we launch a jupyter session.
The construct is similar to https://github.com/DSD-DBS/capella-collab-manager/blob/main/helm/templates/routing/nginx.ingress.yaml#L16-L18.

On hindsight, it looks like it's working perfectly fine without this.

Feature is still needed - reopening pull request.


Error doing job: Task exception was never retrieved

Hi,
I have recently installed the V2 integration and am getting the error below in my log.
If you need anything else from me to investigate, please let me know.
Best regards
Colin
Logger: homeassistant
Source: custom_components/tuya_v2/climate.py:353
Integration: Tuya v2 (documentation)
First occurred: 10:18:35 (58 occurrences)
Last logged: 11:35:12
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 406, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 450, in _async_write_ha_state
attr = self.capability_attributes
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 219, in capability_attributes
ATTR_HVAC_MODES: self.hvac_modes,
File "/config/custom_components/tuya_v2/climate.py", line 353, in hvac_modes
modes = json.loads(self.tuya_device.function.get(DPCODE_MODE, {}).values).get(
File "/usr/local/lib/python3.9/json/init.py", line 339, in loads
raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not builtin_function_or_method

Same issue here too. I have 2 Wifi Temperature Sensors and 1 WiFI Humidity sensor if that helps.

We will fix this bug in next release version.

@colinnewman2000 Check v1.5.0.

Resolved in 1.5.0. Excellent.


Gmx/webclients column problems

Hi!
Some webclients have problems with mobile first design.
E.g.: The mj-column-per-50 div has a width of 100% in the inline-style. In the css above it should be replaced with 50% at a viewport min-width of 480px. But actually this is not working.
Before:

So I tried to replace the inline-style with 50% an I have set the min-width media-query to max-width and replaced the 50% with 100%.
Like this:
<div class="mj-column-per-50 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:50%;">

@media only screen and (max-width:480px) {
    .mj-column-per-100 { width:100%!important; }
    .mj-column-per-50 { width:100%!important; }
}

Actually this is the only way, to get it work and it does not break the mobile functionality on e.g. a Iphone.
After:

Hi @gaason
We're aware that some local clients as gmx doesn't support media queries. But as MJML is a mobile first approach framework we prefer to display mobile version in desktop rather than desktop version in mobile.
If you want to do it, you can use some mj-style tricks with inline mode to replace the inline width with the width you want and add your modified media queries with mj-style after.


Explore effect of cruise ID feature on classification results

There seems to be a correlation between type and cruise ID. Cruise ID has not previously been included as a feature in classification. Its effect on results should be explored. How cruise data is split between training and test could be important. The following for be tried

use only cruises where all points are labelled so we can see the results
split all cruises between train and test (do all cruises have multiple profiles?)
have some cruises only in train, some only in test, some split between train and test
having some only in test is very important because some cruises have no model/manufacturer metadata. We want to know if our model is skilful  useful for such cruises, and whether it is more skilful than the deterministic iMeta algorithm in these case in particular.

The ability to split on cruise ID has now been implemented in the dataset class. The performance of the ML algorithms on unseen cruises has been demonstrated for decision trees and neural networks. Further analysis of the relationship between cruise ID and performance will explored in other issues.


Add support for GPT2ForSequenceClassification classification

When testing SequenceClassificationExplainer out with DialogRPT which uses the GPT2 sequence classification head I noticed that it fails.
So far I can see two reasons for this:

the BOS and EOS tokens are handled differently.
The embeddings cannot be fetched the same way as they are with BERT like models

Hi! Has this been implemented?


[Launcher] Ability to execute system/OS commands like shutdown

As per this twitter conversation, it would be nice to have the ability to execute system commands such as sleep, shutdown ,and switch user account from within the launcher via the use of friendly keywords.
Some keyword examples:
"sleep" - send the PC to sleep
"hibernate" - send the PC to sleep
"shutdown" - shut the PC down
"switch user" - switch user account
As current if we search for Sleep from within Windows Search we are only given the option to view Sleep and power settings. It is possible to run such commands from Win + R, although our command will instead look like this rundll32.exe powrprof.dll,SetSuspendState 0,1,0, not quite user friendly to be honest! :)
Screenshot taken from the twitter conversation showing how we could prioritize the UI for common Windows system commands above the search result.

This is a great idea. We have a plugin based architecture so this should be possible.

There is a launcher?

It is coming in 0.18 :)

Any way to test out the launcher?

Clone master or wait a few days :)

Clone master or wait a few days :)

Any idea how many days ;p ?
And... If I where to clone from master, will there be nonfunctional features? Or only features that are all made?

I really would like to implement this feature. Should this be implemented inside the Shell Plugin of the launcher or in a sperate one? Because these are system commands.

This is a great idea. We have a plugin based architecture so this should be possible.

Is there an SDK that 3rd-party devs can work against to provide plugins? Or at least documentation on existing arch? A quick scan of the repo didn't highlight anything for me? This would also relate to my feature request: https://github.com/microsoft/PowerToys/issues/3622

instead look like this rundll32.exe powrprof.dll,SetSuspendState 0,1,0

@TheXamlGuy I want this feature as much as you do; just if it helps: you can achieve reboot, hibernate, log off and power-off with shutdown.exe:

reboot: shutdown -t 0 -r
hibernate: shutdown -t 0 -h
power-off: shutdown -t 0 -s
log off: shutdown -t 0 -l

the -t 0 means "just do it, don't show a warning and wait 30 seconds"
It's not ideal, but I hope it helps someone else. This is in my MRU for win+r :D

I've done this as a workaround for now:

Using similar and identical commands as posted above. Added a /f to most.
I can just type them and for those who don't show up at the top I can start with /<command> instead.
Works perfectly!
Make sure to put these in folders that are getting indexed.
You can pretty much do anything this way.

(thumbs-down isn't for the efforts of @GreenMan36 but because this hack has to be in place to provide simple functionality)
@GreenMan36 glad you found a workaround; until the perf and basic functionality issues are resolved, I'm back on KeyPirinha. It's not opensource, but, like Linus, I prefer stuff that works over ideals :/

, I'm back on KeyPirinha. It's not opensource, but, like Linus, I prefer stuff that works over ideals :/

Use what works for you. We are still in preview and adjusting a lot. .19 should have some pretty big perf tweaks and tons of stability issues resolved.

TLDR: can someone help port https://github.com/Wox-launcher/Wox/tree/master/Plugins/Wox.Plugin.Sys and we should get this ability

@crutkas I'd like to tackle this port from Wox if that okay? Honestly, my most used plugin. ETA for PR, end the week?

@enricogior This should be in Done not in To do

During the PR, we missed this wasn't in the installer WSX file.  We caught this super late so we're moving this to 0.31


Bug: Long repos' name are partially stack at the back of another name when searching with the search input in the Explore tab

Describe the bug
When I searched for repos using the search input in the "Explore" tab, long repos' names are partially stacked at the back of another name as shown in the screen recording below.

Steps to reproduce

Go to the "Explore" tab.
Choose a language from the dropdown menu.
Search for any repository in the search input. For example, "gpt".
Scroll down. You will see longer repos' name are partially stacked behind other name.

Browsers
Chrome
Additional context (Is this in dev or production?)
Production
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

The search result items that overflow should use the same pattern as this PR with ellipsis, i.e. these three tailwind classes whitespace-nowrap overflow-hidden overflow-ellipsis

.take

Hi @nickytonline, I have a question.
Are these the line of codes that I need to look at?
https://github.com/open-sauced/app/blob/34ac5a773878cd8ebd402bf9ca349a5fdbc38fbb/components/molecules/SearchResults/search-results.tsx#L18-L20
If so, I tried to apply the Tailwind classes, but I got these errors:

Error: Text content does not match server-rendered HTML.
Error: Hydration failed because the initial UI does not match what was rendered on the server.
Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.

TIA! 🙂

Hi @nickytonline, I have a question.
Are these the line of codes that I need to look at?
https://github.com/open-sauced/app/blob/34ac5a773878cd8ebd402bf9ca349a5fdbc38fbb/components/molecules/SearchResults/search-results.tsx#L18-L20
If so, I tried to apply the Tailwind classes, but I got these errors and the page can't be rendered:

Error: Text content does not match server-rendered HTML.
Error: Hydration failed because the initial UI does not match what was rendered on the server.
Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.

And now I don't know what to do yet. 😅

Update: There were couple of times when these error didn't show up and the page rendered locally. However, when I click the dropdown menu, it didn't give me any item. I'm not sure what's going on there.
Hi @nickytonline,
Can I get some info about this? Also, is there any deadline for this issue?
Thanks! 😊

No deadline @adiati98. That looks like the right line 18, but I haven't worked on search yet. The error you received is a React hydration error. I am not sure why adding those CSS classes would cause it though.

@nickytonline I've raised the PR.
I was looking at the wrong file all along and been trying to find the right one all this time! 😂
FYI:

I somehow didn't get the React hydration error. 🎉
overflow-ellipsis is renamed as text-ellipsis.
Because your suggestion is to add whitespace-nowrap overflow-hidden classNames, I applied truncate instead as it holds both properties.

@nickytonline I've raised the PR.
I was looking at the wrong file all along and been trying to find the right one all this time! 😂
FYI:

I somehow didn't get the React hydration error. 🎉

overflow-ellipsis is renamed as text-ellipsis.

Because your suggestion is to add whitespace-nowrap overflow-hidden classNames, I applied truncate instead as it holds both properties.

Thanks Ayu. I wasn't aware of text-ellipsis and truncate as aliases for what I was suggesting.  TIL

@nickytonline I've raised the PR.
I was looking at the wrong file all along and been trying to find the right one all this time! 😂
FYI:

I somehow didn't get the React hydration error. 🎉
overflow-ellipsis is renamed as text-ellipsis.
Because your suggestion is to add whitespace-nowrap overflow-hidden classNames, I applied truncate instead as it holds both properties.

Thanks Ayu. I wasn't aware of text-ellipsis and truncate as aliases for what I was suggesting. TIL

No worries at all, Nick! Your suggestion was based on this PR which use those classNames.
https://github.com/open-sauced/app/blob/ba30f1fdc18659ca8fb6dc25abfdf89d1624967f/components/molecules/TableRepositoryName/table-repository-name.tsx#L31
I drop the text-ellipsis because it's the same with truncate and both are "Text Overflow" utilities.
But truncate has the whitespace-nowrap overflow-hidden properties that we want to have.

I noticed that if you set a specific width (like the PR example that @nickytonline shared), it works as expected.

Maybe this will point you in a different direction. I haven't had time to really dig into why that's happening.
{suggestion}

Thanks, @BekahHW.
Let me try this out later 😄
Another problem that I mentioned in the PR is that longer organization name won't be truncated. So it causes a bit of stacking as well.


Disjoint unions broken

Hi there! In my application, I have two types (let's call them A and B) which have some overlapping property names. However the properties are of different (incompatible) types. This should not be a problem as I am not intersecting them or anything.
However I am using a disjoint union to accept an array of objects that are either of type A or B, the type of which can be refined based on a tag (type property). This is not the actual cause of the problem, but wanted to provide some context.
The actual problem comes when I want to cast from a specific type (e.g. B) to a supertype (A | B).
type Athing = {id: number};
type Bthing = {id: ?number};

type TaggedAlpha = {type: 'a', value: Athing};
type TaggedBeta = {type: 'b', value: Bthing};
type TaggedThing = TaggedAlpha | TaggedBeta;

const filterThings = (things: Array<TaggedThing>): Array<TaggedThing> => {
    return things;
};

const getFilteredThings = (betas: Array<TaggedBeta>): Array<TaggedBeta> => {
    return filterThings(betas);
};

When I run this through flow, I get the following errors:
(snipped, file/line number info)
 78:     return filterThings(betas);
                ^^^^^^^^^^^^^^^^^^^ function call
 67: type Bthing = {id: ?number};
                         ^^^^^^ null. This type is incompatible with
 66: type Athing = {id: number};
                        ^^^^^^ number

(snipped, file/line number info)
 78:     return filterThings(betas);
                ^^^^^^^^^^^^^^^^^^^ function call
 67: type Bthing = {id: ?number};
                         ^^^^^^ undefined. This type is incompatible with
 66: type Athing = {id: number};
                        ^^^^^^ number

(snipped, file/line number info)
 78:     return filterThings(betas);
                ^^^^^^^^^^^^^^^^^^^ function call
 69: type TaggedAlpha = {type: 'a', value: Athing};
                               ^^^ string literal `a`. Expected string literal `b`, got `a` instead
 70: type TaggedBeta = {type: 'b', value: Bthing};
                              ^^^ string literal `b`

(snipped, file/line number info)
 78:     return filterThings(betas);
                ^^^^^^^^^^^^^^^^^^^ function call
 70: type TaggedBeta = {type: 'b', value: Bthing};
                              ^^^ string literal `b`. Expected string literal `a`, got `b` instead
 69: type TaggedAlpha = {type: 'a', value: Athing};
                               ^^^ string literal `a`

These error messages seem very confusing. Is there some limitation to tagged/disjoint unions at work here?

I think there's two problems:

Arrays are invariant, so Array<TaggedBeta> is not compatible with Array<TaggedThing>. This is because filterThings() could potentially add an arbitrary TaggedThing to the array (eg via .push()) which getFilteredThings() thinks contains only TaggedBetas.
Even if arrays were covariant, getFilteredThings() says it returns Array<TaggedBeta> while return filterThings(betas); is returning an Array<TaggedThing> (TaggedThing is not compatible with TaggedBeta).

This works:
type Athing = {id: number};
type Bthing = {id: ?number};

type TaggedAlpha = {type: 'a', value: Athing};
type TaggedBeta = {type: 'b', value: Bthing};
type TaggedThing = TaggedAlpha | TaggedBeta;

const filterThings = <T : TaggedThing>(things: Array<T>): Array<T> => {
    return things;
};

const getFilteredThings = (betas: Array<TaggedBeta>): Array<TaggedBeta> => {
    return filterThings(betas);
};

Thanks so much for your quick reply! That generic syntax is very handy, and I understand the problem now. Perhaps this will someday be mitigatable by being able to annotate params as read-only (immutable)? Anyways, thanks for the help. :)

No worries. In terms of defining things as immutable, in general you would define a covariant interface/type (eg ConstArray<+T>) which your mutable class implements, and use that as your type annotation instead.
I'm not sure if such a thing already exists for Array in Flow, though. Even the Iterable type appears to be invariant, which I find surprising (link):
interface $Iterable<Yield,Return,Next> {
    @@iterator(): $Iterator<Yield,Return,Next>;
}
type Iterable<T> = $Iterable<T,void,void>;

Even though Generator is covariant in Yield and is compatible with Iterable:
/* Generators */
interface Generator<+Yield,+Return,-Next> {
    @@iterator(): $Iterator<Yield,Return,Next>;
    next(value?: Next): IteratorResult<Yield,Return>;
    return<R>(value: R): { done: true, value: R };
    throw(error?: any): IteratorResult<Yield,Return>;
}

It'd be great if someone more familiar with Flow could comment on what's going on there.
That would only solve your first problem, though. You still need the type parameter so filterThings can return something compatible with Array<TaggedBeta> even though it only knows about TaggedThings.

@jesseschalken You're right on! Thanks for writing up such a clear response :)
I think you're right that Iterator should have the same variance as Generator—not sure why it isn't so already. Using Iterator would be a great way to solve many of the issues people run into with array invariance. I'll check it out now.

@samwgoldman Thanks for fixing that. How about ConstArray, ConstMap and ConstSet interfaces? They would be handy for code that needs covariance but still need things like f.orEach(), .filter(), .length etc. Should I create a separate issue?

Yeah, if you don't mind :) I think @avikchaudhuri is interested in Const* types, so please ping him as well.

Submitted as #2333


Add CommandAction function

When you just want to set Action when using Command

Thanks @jereksel for your contribution !
To keep the surface area as small as possible, and to avoid code duplication, what do you think about implementing this differently: instead of exposing a CommandAction function, provide instead a (top-level) function which takes the action function and returns one suitable for a command initializer ?
Concretely, it would look like this:
app.Command("list", "list all configs", cli.ActionCommand(func()) {
  // ...
}))

Sure, sound good to me

@jereksel Thanks for the quick fix.
One last remark to handle and it should be good for mege 👍

@jereksel Thank you for your contribution !


Backmerge release 2.14.0

Release: https://github.com/gnosis/safe-config-service/releases/tag/v2.14.0

Coverage remained the same at 99.205% when pulling a350d609e2b07b09b2e24765c9057536053fac27 on backmerge-release-2.14.0 into 39d049ab6590729155bf966202c339fafb43d330 on main.

Closed in favour of https://github.com/safe-global/safe-config-service/pull/505


Unable to initialize module on ARM

Describe the Bug
We're unable to initialize the module on ARM devices like M1 Macs due to a dependency on the HashiCorp template module.
Expected Behavior
We should be able to initialize the config module with no issues on ARM devices.
Steps to Reproduce
Steps to reproduce the behaviour:

Create Terraform code with the config module on a M1 Mac
terraform init
See an error

Screenshots

Environment (please complete the following information):
OS: 2020 M1 MacBook Pro
Module Version: 0.8.1
Terraform Version 1.1.2
Additional Context
We can attempt to remove the template function given that it's deprecated in favour of built-in functions. This may require a breaking change update.

@johnnyhuy please try 1.0.2 of this module.


193-SOTransaction-idMap-use-atifPresent

We can query the idMap by identity

The behaviorDescriptionWithIndex: does not need to read this cache as we cache the versions in the behaviorRegistry
#objectWithId: can  use #at:ifPresent: to avoid lineary scan

remove two "self halt" that are not needed anymore
fixes #193

We need to handle the behaviors in the transaction as we do not want to change the behavior registry before committing. That will introduce subtle side effects if one transaction adds something in the registry another transaction relies on that information and then the first transaction is aborted. All these scenarios could be prevented if we keep new behaviors in the transaction beforre commiting

I close this


[#143876117] Pin compose-broker version

What
This pins version of compose-broker. Also it deploys few fixes to prefix broker managed DBs.
How to review

Deploy and check if it works
merge https://github.com/alphagov/paas-compose-broker/pull/3
tag master from https://github.com/alphagov/paas-compose-broker to v0.1.0
remove the temporary commit

Who can review
Not me.

Pin compose broker version
As we want to have control over versions we deploy and prevent
auto-updates we need to pin the broker version.

Could you include some details in the commit message of a4c81a5 to describe why the previous pinning solution wasn't suitable?

Remove compose account ID
As new version of compose broker doesn't need to read this from
environment we can safely remove it from our pipeline.

Should I re-run upload-compose-secrets to remove the account ID from compose-secrets.yml in persistent environments?

Should I re-run upload-compose-secrets to remove the account ID from compose-secrets.yml in persistent environments?

It's not required but it would be a good practice to remove unused credentials from the store. We can actually delete it from paas-pass as well.

Could you include some details in the commit message of a4c81a5 to describe why the previous pinning solution wasn't suitable?

Done.

Removed TMP commit and retested deployment 👍
I'll re-run upload-compose-secrets after it has been deployed to all environments so that I don't break any existing pipelines.

I'll re-run upload-compose-secrets after it has been deployed to all environments so that I don't break any existing pipelines.

:white_check_mark: Done


fix: Improved Email authentication error messages

Closes: #2051
Pre-launch Checklist

[x] I read the Contribute page and followed the process outlined there for submitting PRs.
[x] This update contains only one single feature or bug fix and nothing else. (If you are submitting multiple fixes, please make multiple PRs.)
[x] I read and followed the Dart Style Guide and formatted the code with dart format.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///), and made sure that the documentation follows the same style as other Serverpod documentation. I checked spelling and grammar.
[ ] I added new tests to check the change I am making.
[x] All existing and new tests are passing.
[ ] Any breaking changes are documented below.

I have read the CLA Document and I hereby sign the CLA


[Bug Report]

Describe the bug
Everytime i try to search for a manga to download it gives the following error:
Search failed. Error: Failed to find manga.
This started out of nowhere a couple of weeks ago and after that i haven't been able to download from any plugin.
To Reproduce
Steps to reproduce the behavior:

Go to 'downloads'
Click on 'any desired plugin'
Type in the search any manga name/number ID
See error

Expected behavior
Find the Manga and show the Chapters.
Environment (please complete the following information):

OS: [unraid 6.9.2]
Browser [Any]
Mango Version [v0.24.0]

Docker (if you are running Mango in a Docker container)

The docker-compose.yml file you are using, or your .env file.

host: <IP_ADDRESS>
port: 9000
base_url: /
session_secret: mango-session-secret
library_path: /root/mango/library
db_path: /root/mango/mango.db
scan_interval_minutes: 5
thumbnail_generation_interval_hours: 24
log_level: info
upload_path: /root/mango/uploads
plugin_path: /root/mango/plugins
download_timeout_seconds: 30
page_margin: 30
disable_login: false
default_username: ""
auth_proxy_header_name: ""
mangadex:
base_url: https://mangadex.org/
api_url: https://api.mangadex.org/v2
download_wait_seconds: 5
download_retries: 4
download_queue_db_path: /root/mango/queue.db
chapter_rename_rule: '[Vol.{volume} ][Ch.{chapter} ]{title|id}'
manga_rename_rule: '{title}'
Additional context
Add any other context about the problem here. Add screenshots if applicable.

Hi sorry for the long delay. I tried to reproduce the issue but couldn't. Which plugin are you using? I tried the Webtoons plugin and it works without any issues.

Closing due to inactivity. Please feel free to reply if you have more information to provide.


feature: Add option s.t. overridden members are able to "inherit" docstrings from corresponding members in parent classes

Is your feature request related to a problem? Please describe.
This problem occurred during the migration from sphinx to mkdocs, specifically when auto-generating the API documentation ^1.
In sphinx, it is possible (apparently the default when turning autodoc_default_options = { "inherited-members": True, ... } on) to have a docstring of a method in a parent class appear in the documentation of a subclass that overrides this method without supplying a new docstring.
Example^2:
class Shape:
    contour: list[Point]
    def surface_area(self):
        """Return the surface area in square meters."""
        return numerical_integration(self.contour)

class Rectange(Shape)
    def surface_area(self):
        return distance(self.cotour[2], self.contour[0]) * distance(self.contour[3], self.contour[1])

We would like to have "Return the surface area in square meters." also appear for surface_area.
Additionally, sphinx performs some merging of docstrings[^3], as demonstrated below.
Example:
class Shape:
    contour: list[Point]
    def surface_area(self):
        """Return the surface area in square meters."""
        return numerical_integration(self.contour)

class Rectange(Shape)
    def surface_area(self):
		"""Note: This is way faster than the calculation for general shapes!"""
        return distance(self.cotour[2], self.contour[0]) * distance(self.contour[3], self.contour[1])

For this example, the documentation for surface_area should include: "Return the surface area in square meters. Note: This is way faster than the calculation for general shapes!"
Describe the solution you'd like
I'd like a configurable setting e.g. docstring_inherit_strategy that can be changed to realize a "plain insertion" of parent docstrings for members or to "merge" docstrings from the inheritance tree.
I'm already working on a solution as I saw that contributions are always welcome 😃
Describe alternatives you've considered

Continue using sphinx >.>.
Setting inherited_members: true in mkdocs.yml, but this doesn't achieve the described behavior[^4].

Additional context

[^3]: Compare MetaLearner.evaluate with e.g. RLearner.evaluate. Just before Parameters, RLearner has an additional paragraph that stems from this docstring
[^4]: https://github.com/Quantco/metalearners/pull/81#issuecomment-2317267997

Closing as this effort is now continued here: https://github.com/mkdocstrings/griffe-inherited-docstrings/issues/2


Can I add my instrument?

If yes I will create a pull request.

If it's not too late, the answer is yes, just do a pull request. Sorry we missed this earlier.

Thanks, I will.


Add support for LZNT1 decompression.

Introduces support for LZNT1 decompression, commonly leveraged by malware through RtlDecompressBuffer (closes #534).
The decompression logic is ported from go-ntfs, the test data is similar to malduck's.

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

Thanks for the contribution, this looks really valuable! :)


How are inference runtime versions managed?

Based on https://github.com/SeldonIO/MLServer/blob/master/licenses/license_info.csv it appears that MLServer still uses xgboost 1.4.1 even though 1.7.4 is the latest.
This is surprising, because I can't find any reference to 1.4.1 in the code. For example, https://github.com/SeldonIO/MLServer/blob/master/runtimes/xgboost/setup.py#L36 appears to ask for the latest version.
Is there some kind of external mechanism controlling the version of XGBoost, not documented in the Developer Guide? In short: how to update the version of XGBoost in MLServer?

Hey @rehevkor5 ,
Good spot! The license info seems to be stale - we must have missed adding that to our CI pipeline.
The version of xgboost is not pinned by the mlserver-xgboost package. Therefore, when building the relevant images, (or when installing the mlserver-xgboost package), pip will pick up the last version available. You can see the setup.py under each runtimes folder, e.g.
https://github.com/SeldonIO/MLServer/blob/f9e084c26fd802d2c3e5de5933fe7e76fab89a33/runtimes/xgboost/setup.py#L36


ATdebug.ino Example not working

Hi, I have been working on Platformio previously and I need to do the firmware upgrade, so I download the Arduino IDE to follow the step here:
https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/blob/main/docs/update_fw.md
My first step is to upload the ATDebug_sketch
However, I cannot enter AT message after I upload the ATDebug_sketch.
Could anyone give me some idea? I will be very grateful!

Is the correct board selected in utilities.h?


Make the tests more deterministic

While I was comparing the number of allocations between different versions of some pieces of code, some of the results were a bit surprising, and upon closer inspection I noticed that there was some non-negligible variance between runs using the same code, even with a fixed main source of randomness. This led me to believe that we have some extra sources of randomness somewhere, which this PR addresses.
With these changes:

more tests will be fully reproducible knowing a single seed; they should also be a bit faster
benchmarks should be a bit faster too
comparisons between profiles (both CPU and memory) will be easier

The one downside is that we would need to adjust bits of snarkOS as well, i.e. add one or more calls to thread_rng at the callsites that would now require the rng to be given. However, since we already do that for some of the commands, this shouldn't be controversial.

The CI failure might be legitimate, I'll look into it tomorrow.