Need help. bundle-install doesn't install anything

First, thank you so much for your contribution! I initially used plug.kak to install plugins, but ran into a problem where a wrong user name for github is remembered and I could't figure out how to clear that. Then found kak-bundle at the bottom page. Followed the instruction, but couldn't install any plugin. Is there anything wrong in my kakrc below?
Also, all kakoune plugins by Andrey Listopadov are archived now. Do you think it is a good idea to use them?

~/.config/kak/kakrc
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle

bundle-install {
    # LSP support
    https://github.com/kak-lsp/kak-lsp %{
        cargo install --locked --force --path .
    }

    # File finder/searcher
    https://github.com/andreyorst/fzf.kak

    # Snippets
    https://github.com/andreyorst/snippets.kak

    # Auto pairs
    https://github.com/alexherbo2/auto-pairs.kak

    # Git integration
    https://github.com/andreyorst/kaktree

    # Tree-sitter support
    https://git.sr.ht/~hadronized/kak-tree-sitter %{
        cargo install --locked --force --path .
    }

    # Tree-sitter themes
    https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes

    # Swiper - incremental search
    https://git.sr.ht/~hadronized/swiper.kak

    # Hop - quick navigation
    https://git.sr.ht/~hadronized/hop.kak

    # Bookmarks
    https://git.sr.ht/~hadronized/bookmarks.kak

    # Notes
    https://git.sr.ht/~hadronized/notes.kak

}
# Basic settings
add-highlighter global/ number-lines
add-highlighter global/ show-matching

# LSP setup
eval %sh{kak-lsp --kakoune -s $kak_session}
hook global WinSetOption filetype=(rust|python|javascript|typescript) %{
    lsp-enable-window
}

# Configure Tree-sitter
hook global WinCreate .* %{
    tree-sitter-enable
}

# FZF setup
map global user f ':fzf-mode<ret>' -docstring "FZF mode"
map global user p ':fzf-file<ret>' -docstring "Find file"

# Enable auto-pairs
hook global WinCreate .* %{
    auto-pairs-enable
}

# Plugin keymaps
map global user l %{:enter-user-mode lsp<ret>} -docstring "LSP mode"
map global user s ':enter-user-mode swiper<ret>' -docstring 'Swiper mode'
map global user h ':enter-user-mode hop<ret>' -docstring 'Hop mode'
map global user b ':enter-user-mode bookmarks<ret>' -docstring 'Bookmarks mode'
map global user n ':enter-user-mode notes<ret>' -docstring 'Notes mode'

# LSP key bindings
map global lsp d ':lsp-definition<ret>' -docstring 'Jump to definition'
map global lsp r ':lsp-references<ret>' -docstring 'Show references'
map global lsp h ':lsp-hover<ret>' -docstring 'Show hover info'

Apologies in advance, but it may be a bit before I can properly get to this. I'm currently in the process of moving, so things are quite busy right now.
One thing that stood out immediately, though, is that that's not how you're supposed to declare plugins in your kakrc. Taking kak-lsp as an example, what you're supposed to do is the following:
bundle kak-lsp https://github.com/kak-lsp/kak-lsp
# Since kak-lsp has a compilation step, we need to do this too
bundle-install-hook kak-lsp %{
    cargo install --locked --force --path .
}

Once you save this, reload and run bundle-install to install the plugin.
With this, you don't even need the eval %sh{kak-lsp --kakoune -s $kak_session} in your kakrc, as that just loads the .kak files from the plugin, something kak-bundle already does.

Apologies in advance, but it may be a bit before I can properly get to this. I'm currently in the process of moving, so things are quite busy right now.
One thing that stood out immediately, though, is that that's not how you're supposed to declare plugins in your kakrc. Taking kak-lsp as an example, what you're supposed to do is the following:
bundle kak-lsp https://github.com/kak-lsp/kak-lsp %{
    # Any immediate configuration would go here
    hook global WinSetOption filetype=(rust|python|javascript|typescript) %{
        lsp-enable-window
    }
}
# Since kak-lsp has a compilation step, we need to do this too
bundle-install-hook kak-lsp %{
    cargo install --locked --force --path .
}

Once you save this, reload and run bundle-install to install the plugin.
With this, you don't even need the eval %sh{kak-lsp --kakoune -s $kak_session} in your kakrc, as that just loads the .kak files from the plugin, something kak-bundle already does.
There seem to be a few more issues as well, but I'll need to address those when I have more time.

Thank you so much for your quick reply. Really appreciate your help! Hope your move goes well.

@Rope-a-dope Ok, I finally found some time, so let's have a proper look at this.
The following at the beginning of your kakrc is correct:
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle

What this is doing is having Kakoune load the kakscript for kak-bundle, and then registering kak-bundle as a plugin (but not loading it, since we already did that manually).
Where this config has issues is the bundle-install %{...} block. This is not how this is handled.
To register a plugin with kak-bundle, you'd need to do something like the following (example for auto-pairs):
bundle auto-pairs.kak https://github.com/alexherbo2/auto-pairs.kak %{
    # Enable auto-pairs
    hook global WinCreate .* %{
        auto-pairs-enable
    }
}

We have the bundle command, which registers a plugin and loads it if it's installed. It takes two, and optionally three arguments. The first is the name of the plugin, the second is the URL you're getting the plugin from, and the optional third argument is a bit of kakscript you want to run right after the plugin is loaded. In this case, the plugin name is auto-pairs.kak, the URL is https://github.com/alexherbo2/auto-pairs.kak, and the optional kakscript just sets up a hook to enable auto-pairs.
If you look carefully, you'll notice that we register kak-bundle itself in the same manner, but using bundle-noload as the command instead.
For some plugins, like kak-lsp, there's additional steps that are required to install the plugin besides just cloning/pulling the repo. In this case, we specify some shell code to run after install with the bundle-install-hook command:
bundle-install-hook kak-lsp %{
    cargo install --locked --force --path .
}

The reason we have this as a second command is to allow for syntax highlighting in the shell block.
This command takes two arguments. The first is the name of a plugin previously registered (in this case, kak-lsp), and the second is some shell code that needs to run (in this case, installing the kak-lsp binary).
Some weirdo plugins, like kak-tree-sitter, need to be loaded in a specific way, rather than just having its kakscript files sourced. In this case, we can use the bundle-customload command to tell kak-bundle exactly how we need to load the plugin:
bundle-customload kak-tree-sitter https://git.sr.ht/~hadronized/kak-tree-sitter %{
    eval %sh{ kak-tree-sitter -dks --init $kak_session }
    # Any additional kakscript can go here
}
# Note we need this too
bundle-install-hook kak-tree-sitter %{
    cargo install --locked --force --path ./kak-tree-sitter
    cargo install --locked --force --path ./ktsctl
}

bundle-customload takes the same arguments as bundle, but you need to put the loading logic in the kakscript.
Putting all of this together, your kakrc should look like:
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
bundle-noload kak-bundle https://codeberg.org/jdugan6240/kak-bundle

# LSP support
bundle kak-lsp https://github.com/kak-lsp/kak-lsp
bundle-install-hook kak-lsp %{
    cargo install --locked --force --path .
}
# File finder/searcher
bundle fzf.kak https://github.com/andreyorst/fzf.kak
# Snippets
bundle snippets.kak https://github.com/andreyorst/snippets.kak
# Auto pairs
bundle auto-pairs.kak https://github.com/alexherbo2/auto-pairs.kak
# Git integration
bundle kaktree https://github.com/andreyorst/kaktree
# Tree-sitter support
bundle-customload kak-tree-sitter https://git.sr.ht/~hadronized/kak-tree-sitter %{
    eval %sh{ kak-tree-sitter -dks --init $kak_session }
    # Any additional kakscript can go here
}
# Note we need this too
bundle-install-hook kak-tree-sitter %{
    cargo install --locked --force --path ./kak-tree-sitter
    cargo install --locked --force --path ./ktsctl
}
# Tree-sitter themes
# It's important we don't load these yet
bundle-noload kakoune-tree-sitter-themes https://git.sr.ht/~hadronized/kakoune-tree-sitter-themes
bundle-install-hook kakoune-tree-sitter-themes %{
   # For colorschemes, we need to put them in %val{config}/color,
   # so that the colorscheme command can pick them up.
    mkdir -p ${kak_config}/colors
    ln -sf "${kak_opt_bundle_path}/kakoune-tree-sitter-themes" "${kak_config}/colors/"
}
# Swiper - incremental search
bundle swiper.kak https://git.sr.ht/~hadronized/swiper.kak
# Hop - quick navigation
bundle hop.kak https://git.sr.ht/~hadronized/hop.kak
# Bookmarks
bundle bookmarks.kak https://git.sr.ht/~hadronized/bookmarks.kak
# Notes
bundle notes.kak https://git.sr.ht/~hadronized/notes.kak

# Basic settings
add-highlighter global/ number-lines
add-highlighter global/ show-matching
# LSP setup
hook global WinSetOption filetype=(rust|python|javascript|typescript) %{
    lsp-enable-window
}
# FZF setup
map global user f ':fzf-mode<ret>' -docstring "FZF mode"
map global user p ':fzf-file<ret>' -docstring "Find file"
# Enable auto-pairs
hook global WinCreate .* %{
    auto-pairs-enable
}
# Plugin keymaps
map global user l %{:enter-user-mode lsp<ret>} -docstring "LSP mode"
map global user s ':enter-user-mode swiper<ret>' -docstring 'Swiper mode'
map global user h ':enter-user-mode hop<ret>' -docstring 'Hop mode'
map global user b ':enter-user-mode bookmarks<ret>' -docstring 'Bookmarks mode'
map global user n ':enter-user-mode notes<ret>' -docstring 'Notes mode'
# LSP key bindings
map global lsp d ':lsp-definition<ret>' -docstring 'Jump to definition'
map global lsp r ':lsp-references<ret>' -docstring 'Show references'
map global lsp h ':lsp-hover<ret>' -docstring 'Show hover info'

After this, restart Kakoune and run bundle-install to install everything. Then, when you next boot Kakoune, all your plugins should be loaded.
Let me know if the above works for you. I'm typing this on mobile, so it's very possible I made a typo somewhere.

Wow! Happy Thanksgiving! Thank you so much for your detailed explanation! I really appreciate your help!

@Rope-a-dope did the above help you? If so, let me know so I can close this issue. 🙂


No module named 'bluetooth'

bluethoot device is showing up in hcitool dev as hci0
running on a pop os laptop with a mediatek wifi / bluethoot card

It looks like you're missing a library, try this command:
pip3 install pybluez

You can't run it as root. Follow the install instructions completely and it should work

if i dont run it as root it complains about not beaing root

It looks like you're missing a library, try this command: pip3 install pybluez

if i try your command it says that the requirments are already satified

It looks like you're missing a library, try this command: pip3 install pybluez

if i try your command it says that the requirments are already satified

Can you try this :
sudo setcap cap_net_raw,cap_net_admin+eip $(eval readlink -f $(which python3))
And try again please

It looks like you're missing a library, try this command: pip3 install pybluez

if i try your command it says that the requirments are already satified

Can you try this : sudo setcap cap_net_raw,cap_net_admin+eip (evalreadlink−f(which python3))
And try again

it gives me a syntax error

i think i fixed it took this command:sudo setcap cap_net_raw,cap_net_admin+eip $(eval readlink -f $(which python))  and added the 3 after the python like the command you send me
it now says broadcasting now need to go find a iphone to try it on
thanks for the help


Fixed all broken links!

All the links I have changed in this commit were broken. When clicked, they showed:

Made the necessary changes and fixed all of them.

@zachmandeville ,  can you please check that you are happy with the changes to the documents, as you are the master of it.  The link to gcr.io. was not fixed.


Q47 and q57 failed on ubuntu 20.04 OS without open-jdk.

Describe the bug
Q47 and q57 failed thanks to the error sh: 1: jar: not found during codegen on workers. We've installed JDK on each workers and added JAVA_HOME into PATH. It seems that executors cannot find the jdk I've installed. After I install openjdk-8-jdk by the command:  sudo apt-get install openjdk-8-jdk, queries can be executed rightly.

@zhouyuan Please track the issue. Thanks!

I try to print PATH on executors and find that the value of PATH is default.

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

note: this issue seems related with docker env which does not respect the config in .bashrc


Background alpha in Android is not correct

In Android the text seems to be wrapped in a darker background, when using a background alpha. This works correctly in iOS but not in Android, see example app:
https://rnplay.org/apps/SQzlDw

Good find! This was indeed a bug in our implementation of text and text input. There's a fix out for review, should be committed soon.

Thanks @andreicoman11 happy to hear that

Fixed in https://github.com/facebook/react-native/commit/3b6d029a55efe1ffa5afcafe60d2d2445aadd502


code cleanup:Replace NewRandomVMI calls with libvmi builder pattern

What this PR does / why we need it:
NewRandomVMI* functions are defined in the long tests/utils.go file that is impossible to understand and has repetitious code.
Replace NewRandomVMI calls in functional tests with libvmi builder pattern and Make functional test more resources efficient.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/retest-required


Unexpected token error

I'm getting an error in the browser when using MDXC. This is the error:
readme.md:14  Uncaught SyntaxError: Unexpected token )

I think this is because of the trailing comma, where p has a missing 3rd argument:
p({},
  "This is the About page",
),

Here is the full transpiled code for readme.md:
import React, { createElement, createFactory } from 'react'

export default function({ factories={} }) {
  const {
    wrapper = createFactory('div'),
    h2 = createFactory('h2'),
    p = createFactory('p'),
  } = factories

  return wrapper({},

p({},
  "This is the About page",
),
h2({"id": "Section-1"},
  "Section 1",
),
p({},
  "Text about section",
),
h2({"id": "Section-2"},
  "Section 2",
),
p({},
  "Text about section",
)

  )
}

export const meta = {}

//////////////////
// WEBPACK FOOTER
// ./src/lab/app/About/readme.md
// module id = ./src/lab/app/About/readme.md
// module chunks = 0

I'm using the basic webpack config shown in the readme:
    { test: /\.mdx?$/,
      use: [
        'babel-loader',
        'mdx-loader',
      ]
    },

Lastly, here is the original markdown:
This is the About page

## Section 1

Text about section

## Section 2

Text about section

Trailing commas in function calls are part of ES2017 -- they should be supported in recent browsers, but if not, you can remove them using babel. The relevant package is "babel-plugin-syntax-trailing-function-commas".

I ran the app in Chrome Canary, and it worked fine, so it does look like the trailing commas are the problem.
However, I'm targeting the current stable version of Chrome (57), and trailing commas isn't supported in it without setting a flag: http://kangax.github.io/compat-table/es2016plus/
I'm using babel-preset-env with the following browser config. I would have thought this would take care of the proper transpilation.
  [
            'last 2 Chrome versions',
            'last 2 Firefox versions',
            'last 2 Edge versions',
            'last 2 Opera versions',
            'last 2 Safari versions',
            'last 2 iOS versions'
  ]

I added babel-plugin-syntax-trailing-function-commas as you suggested, but got the same output. It didn't seem to do anything.

It appears that babel-plugin-syntax-trailing-function-commas no longer does anything:
https://github.com/babel/babylon/blob/master/CHANGELOG.md#691-2016-08-23
Besides, if I understand correctly, that plugin was to enable the parser to understand ES2017. What I don't understand is why the code is not being transformed to remove the trailing commas.

Unfotunately I'm not able to reproduce this. Could you try cloning https://github.com/jamesknelson/sitepack-react-starter-kit and see if that works? (It uses MDX under the hood). Also, could you let me know what OS you're on?

I've managed to reproduce this on Chrome 57 with sitepack-react-starter-kit.
Will update again once I've got a solution.

Have fixed this in the latest version of sitepack-react-starter-kit -- there was a bug in sitepack. But I'm still not able to see how this error would be occuring if you're using mdx-loader, and not sitepack-mdx-page-loader. Going to close this for the moment as I don't think it is an issue with mdxc.


[fix]:  build windows CLI and make it installable & usable in less than 60 seconds

name: pull request
about: submit changes to the project
title: "[pr] "
labels: ''
assignees: ''

description
brief description of the changes in this pr.
related issue: #757
type of change

[ ] bug fix
[ ] new feature
[ ] breaking change
[ ] documentation update

how to test
add a few steps to test the pr in the most time efficient way.

if relevant add screenshots or screen captures to prove that this PR works to save us time.
checklist

[ ] MOST IMPORTANT: this PR will require less than 30 min to review, merge, and release to production and not crash in the hand of thousands of users
[ ] i have read the CONTRIBUTING.md file
[ ] i have updated the documentation if necessary
[ ] my changes generate no new warnings
[ ] i have added tests that prove my fix is effective or that my feature works

additional notes
any other relevant information about the pr.
/claim #757

@louis030195 Can you trigger the release-ci? I need to check the behavior of this commented code. If it is succeeded publishing artifact, i will download it and test in my local to make it usable setup in less than a minute

hey sorry i had to do this feature fast


<수정> 테스트케이스 추가

PR 설명
연결된 issue (없다면 issue부터 만들기)

Codecov Report

Merging #17 (0dca6a6) into master (c5710ee) will increase coverage by 0.35%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   97.14%   97.50%   +0.35%
==========================================
  Files           5        5
  Lines          70       80      +10
==========================================
+ Hits           68       78      +10
  Misses          2        2

Impacted Files
Coverage Δ

tests/TestCase_AnswerString.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c5710ee...0dca6a6. Read the comment docs.


Help

@TheYoBots  sorry as I can't talk to you in lichess I want to ask a question when I send logs you edit so how do I make logs as ur

Oh


Remove confusing configuration-example from Configuration API

PR to remove confusing config-example mentioned in #1429

Ok, I removed the paragraph.

http://ember-simple-auth.com/api/ documents the current release version and this change has not been released yet. We'll update the docs as soon as a new release is published.


Update to deal with jetty warning

https://github.com/dockstore/dockstore/security/dependabot/bom-internal/pom.xml/org.eclipse.jetty:jetty-io/open

The hell ....
ERROR [2021-04-12 20:33:46,162] liquibase.changelog.ChangeSet: Change Set migrations.1.10.0.xml::notification_seq::dyuen failed.  Error: ERROR: column "id" of relation "notification" is an identity column [Failed SQL: (0) ALTER TABLE public.notification ALTER COLUMN  id SET DEFAULT nextval('public.notification_id_seq')]
liquibase.exception.MigrationFailedException: Migration failed for change set migrations.1.10.0.xml::notification_seq::dyuen:
     Reason: liquibase.exception.DatabaseException: ERROR: column "id" of relation "notification" is an identity column [Failed SQL: (0) ALTER TABLE public.notification ALTER COLUMN  id SET DEFAULT nextval('public.notification_id_seq')]

The hell ....
ERROR [2021-04-12 20:33:46,162] liquibase.changelog.ChangeSet: Change Set migrations.1.10.0.xml::notification_seq::dyuen failed.  Error: ERROR: column "id" of relation "notification" is an identity column [Failed SQL: (0) ALTER TABLE public.notification ALTER COLUMN  id SET DEFAULT nextval('public.notification_id_seq')]
liquibase.exception.MigrationFailedException: Migration failed for change set migrations.1.10.0.xml::notification_seq::dyuen:
     Reason: liquibase.exception.DatabaseException: ERROR: column "id" of relation "notification" is an identity column [Failed SQL: (0) ALTER TABLE public.notification ALTER COLUMN  id SET DEFAULT nextval('public.notification_id_seq')]

Rings bells for my migration PR. I don't understand why you're running into it.

Maybe I'll wait for your PR to be merged, maybe 21 overrides something

Keeping some links for tomorrow

Ok, bit of a problem to discuss.
In a nutshell, because postgres has added support for identity columns, liquibase has moved to create identity columns by default, even when running old changesets.  3.10.2 creates a mix of sequence and identity based tables (notifications for example is sequence, enduser becomes identity). 3.10.3 moves to identity across the board   This is a problem for us:

Our changesets now create a subtly different testing database than what we actually have in prod. If there is a difference in behaviour, our tests will not catch it. In fact, 3.10.3 causes one migration that relies on sequences to fail.
To solve this we have a few options
a) Somehow fix the existing migrations that are now creating identity columns to create sequence columns as they used to. I haven't figured out how to do this in 3.10.3 and hacks that allow this in 3.10.2 could fail in the future and/or hold us back from updates
b) Do some subtle revisionism. Migrate all prod tables to identity and then use identity columns in our tests
c) ??

Other notes:
There might not actually be a performance improvement with identity https://github.com/jhipster/generator-jhipster/pull/12098#issuecomment-660518251
Other similar observations on this issue with past changelogs https://github.com/liquibase/liquibase/pull/874#issuecomment-605033798 https://github.com/liquibase/liquibase/pull/1010#issuecomment-734815278


No color on Linux?

Hi, I am using a program called lazygit (github) which uses the pty module.  I am running Linux, on various Debian/Ubuntu-based flavors.  I am having an issue where the output of the pty module seems to remove color.  I raised an issue in the jesseduffield/lazygit repo here.  That program basically uses the pty module to run a command and display the output in a terminal UI.  Any color emitted by the command is supposed to be preserved, but on my system for some reason it seems that it's being removed.  Would it be possible to take a brief look at the issue mentioned above to help us diagnose?  The place where it uses the pty module is here:
https://github.com/jesseduffield/lazygit/blob/master/pkg/gui/pty.go
Any help would be appreciated!

I'll see what I can do, but I am a bit backed up with issues/PRs.
Colors are not related to the pty, they are just ANSI escape sequence and supports up to 24bit depth "truecolor". The limiting factor is the terminate emulator and how it interprets those escape sequences and displays them.
You might want to look elsewhere in the meantime as I strongly doubt the issue is coming from this lib.
Might want to check your Terminal color support with this script https://github.com/creack/dotfiles/blob/master/truecolor-test.sh and/or termcaps in general https://github.com/creack/dotfiles/blob/master/termcap-test.sh.
For reference, on iTerm (osx), it looks like this:

Similar look using Putty on windows and if properly setup, most Linux terminal emulators should look at least like this if not better.

@creack thanks for the reply!

@dpacbach: It is a certainty the problem is not due to to the pty package. There are many possible reasons why the program you are running is not coloring its output. For example, the program's stdin or stdout may not be attached to the pty you created. Or, you are running the program with a flag, env var, or other config option that inhibits coloring the output. Also, have you actually confirmed that gui.GitCommand.GetPager(width) is returning a non-empty string and that its value is correct?

Closing as it is not related to the lib. Sorry I can't be more helpful.


[Banana Cake Pop] Add Authenticationflows

The following authenticationflows types should be supported:

OAuth 1.0
OAuth 2.0
Basic Auth
Bearer Token
Cookie Based Auth

An arbitrary amount of authenticationflows should be defineable per project.
Each authenticationflow should be able to take a name and all necessary data needed to execute the authenticationflow.
When executing an operation, the user should be able to choose the authenticationflow on a per document basis.

Hi Team.
Is there a technical challenge here or it just requires some people, we've got some consumers of our HotChocolate instance who have really come to love the ability to rapidly iterate the queries they then build into their systems, but without this their workflow is impaired by having to an OAuth flow outside, usually with a script or having to clear some cookies and re-entering the app and copying an access_token from a helper endpoint, it would be great if it natively supported some flows?

Hi,
Just wanted to say that BCP is a great tool when it comes to quickly building and trying queries, loving the product so far. The biggest gap I have encountered so far is the lack of authentication. So far I have been obtaining the Token from outside BCP (using Postman) and then manually copying it into the "Headers" section of BCP. It works, but it is cumbersome, so I wanted to leave my 2 cents, as I think this feature would be really helpful to a lot of people.

@RafaelMalgor the new preview with this feature is already on its way #4441 :)

Authentication Flows have now been part of BCP for some time, so I'm closing this issue.

If you encounter issues, please raise a new issue here on GitHub! :)


idle method always return 0

m.user.idle is always equal to 0 for users even if I use bot.irc.send "WHOIS #{m.user.nick}" just before.
https://github.com/cinchrb/cinch/blob/c66bbe7805426ed0053d52550f134b0a66f42c93/lib/cinch/irc.rb#L666-L680
On the debug output of the bot I can see the logger is viewing 0.

But when I used the IRC command /WHOIS user I can see the idle time is not zero.

I tried using m.user.refresh

Queries the IRC server for information on the user. This will set the User’s state to not synced. After all information are received, the object will be set back to synced.

and also m.user.monitor

Starts monitoring a user’s online state by either using MONITOR or periodically running WHOIS.

before using m.user.idle but that's still returning zero.

Is that not because when using #idle this is calling an underlying PING command toward the user? So this is resetting the user idle time (inspircd behavior).

We're not PINGing the user.

It is very easy to reproduce.
Create a bot joining an inspircd server using this block:
  on :private, /^!test$/ do |m|
    m.reply m.user.idle.to_s
  end

Then send a private message !test to the bot, the user will always receive zero.

Of course the user will get a zero idle time. He literally just sent a message to the bot. He's not idle.

@dominikh I restarted the server and now and now it is behaving like you said: idle time is the because the user just sent a message. Of course I'm dumb. But that's weird that the WHOIS command was returning me an idle time of several minutes just after the user send a message, now I tried again and this is not doing it anymore.

@dominikh How can I get an synced version of idle instead of having the result of the last WHOIS? Do I need to call #refresh before?

Do I need to call #refresh before?

Yes.


feat: extract partner-chain commands to a separate crate for easier integration

Description
Add your description here, if it fixes a particular issue please provide a
link
to the issue.
Checklist

[x] Commit sequence broadly makes sense and commits have useful messages.
[ ] New tests are added if needed and existing tests are updated.
[ ] Relevant logging and metrics added
[x] CI passes. See note on CI.
[x] Any changes are noted in the changelog.md for affected crate
[x] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG Partner Chains developers to do this
for you.

I will merge it after v1.1.0

Closed due CI changes, reopened to check if CI will run status checks.


Update variable names

There have been several updates to the variable names of the contract internals. In the interest of legibility, please update these accordingly.
pilot -> owner
children -> spawnCount
spawned
key ~> encryptionKey, authenticationKey
revision -> keyRevisionNumber
parent -> sponsor
escaping -> escapeRequested
escape -> escapeRequestedTo
launchers ~> launchProxy
transferrer -> transferProxy

Relevant, getEscape() and isEscape() have been renamed to getEscapeRequest() and isRequestingEscapeTo() respectively.

@bencalder

Fixed according to this.


Support dynamic group size

Need to support everywhere, not only database.

[ ] Implementation [3]
[ ] Review [1]

We don't need this anymore. See #675 for more information.


netrepl disconnects Conjure client on errors

Whenever I'm connected via nvim/Conjure to a Janet netrepl process, and I somehow cause an error (e.g. by evaluating invalid code), my Conjure gets disconnected.
E.g. when I evaluate the following file multiple times: https://github.com/subsetpark/janet-dtgb/blob/master/test/dtgb.janet
(deftest in Testament throws an error if you define the same test multiple times, as in re-evaluating the same file 2x).
Here's what I see in the netrepl process (w/ valgrind):
valgrind janet -l spork/netrepl -e '(server)'
==1641048== Memcheck, a memory error detector
==1641048== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==1641048== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==1641048== Command: janet -l spork/netrepl -e (server)
==1641048==
Starting networked repl server on <IP_ADDRESS>, port 9365...
client Conjure connected
closing client Conjure

Fixed in Janet e7ea39f4


Domain model

Your merge isn't merging

I think there was a test that was still running, but it got resolved. Thanks Vic.


Allow to set the color of markLine symbols

What problem does this feature solve?
Currently it is not possible to set the color of the symbols of a markLine (different to the line-color)

What does the proposed API look like?
In addition to setting the symbol, we could add a symbolColor, e.g.
 markLine: {
      data: [
        [{
          name: 'start',
          coord: [0, 50],
          lineStyle: {
            color: 'blue'
          },
          symbol: 'rect'
          symbolColor: 'blue'
        }, {
          name: 'end',
          coord: [1, 500],
          symbol: 'rect'
        }]
      ]
    }

Reference to MarkLine API docs
related Stackoverflow question: How to change the symbol color of a mark line?

@tmtron Have you checked ItemStyle?

@tmtron Have you checked ItemStyle?

That will only change the style/symbols of the line.
Markline does not have an itemStyle property


Using an .osmx file with other languages

This is the most important step to making this library widely useful. I envision a few ways this can happen:

Other languages can call the osmx program as a subprocess, which returns JSON. This is OK for very basic use cases, but hard to extend to queries other than a single OSM entity. Also, the main reason to use this library is speed, but having to fork/exec on every query would negate that.
use a library like pybind11 to provide bindings to C++ functions. I think this isn't realistic for languages other than Python, but can be convinced otherwise.
Use other language's wrappers for LMDB and Cap'n Proto, and write libraries for each language for common query patterns.

pro: piggyback off packaging work in other languages for those wrappers
con: each language to be maintained separately, possibly weird conflicts around capnp versions

Expose a C API - all languages should be able to wrap this in a neat way.

language bindings for each language are simpler
end user needs to get osmx library binaries somehow

Option 3 above was quite simple to implement in Python for node/ways/relations lookup. Spatial lookups are more complex and not supported yet, and would rely on the Python S2 package.
Other languages still TBD.

Immediate next steps:

[ ] golang reader library
[ ] spatial access queries for Python and golang

For adding spatial queries to the Python client, s2sphere might be interesting? Pure Python implementation of S2 coverings (see online demo). This would allow queries by Cap and LatLngRect. No polygons though.

For now I'm going to suggest https://docs.geodesk.com/python as an alternative for polyglot analytical queries, as that design seems more suited. This project remains focused on minutely PBF out of a planet db using the CLI interface or IPC (option 1)


[Feature request] Add support for data in HDFS

Hello, is there a plan to support reading data from HDFS? From what I see from the code, it can be implemented by adding a new dispatch method in gopen.py
The command for reading HDFS file
hdfs dfs -cat {url}

This already works by using exactly the command you're suggesting
Webdataset supports any command that can output tar bytes

Got it. I saw that you can do it by prepending pipe: to the hdfs command . Thanks!

I may add this as a default command for hdfs URLs


Wemo platform

I tried to get this to work with existing Wemo "outlets" but could not. The outlets were created using this plugin:
https://github.com/rudders/homebridge-platform-wemo
{
"platform": "BelkinWeMo",
"name": "WeMo Platform"
}
Even if you use the same name and service name it will create a new outlet in homebridge and homekit.
Am I missing something?
Thanks

Have a look here :https://github.com/cflurin/homebridge-mqtt/issues/8

First you should understand how homebridge works.
https://github.com/nfarina/homebridge
"Homebridge is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API"
As the name sais homebridge is a bridge between HomeKit (iphone, ipad) and devices (sensors, switches, etc.). There are a lot of Plugins that you can install. One of them is homebridge-mqtt. With homebridge-mqtt you can add, remove, configure accessories at runtime. I like to use Node-red for all my stuff but you can also connect a device eg. using an ESP8266 or any system that has a MQTT API.
You don't need virtual devices but rather a tool on a Hardware like Raspberry Pi or ESP8266 to map data with the goal to use non HomeKit devices.

Actually I have no problem interfacing various devices but what I really need is a simple interface between Node-Red and Homekit and there isn't one. So it seems the recommended workaround is using this plug-in and as far as I can tell the only way is creating virtual devices in Homekit and updating those from real devices or vice-versa.

Still not clear what you mean by virtual device.
Some more infos would be helpful.
Please describe what you tried in node-red and in your HomeKit app (Home, EVE?).
As simple example such a Switch will do.

I would like to generate a Node-red dashboard that shows the status of all my automated lights. Most lights are hue but some are not Homekit approved and some are driven by a Raspberry. There is no way to directly interface Homekit to Node-Red so I have choices. I could use Hue-Magic and read the light status or I could create a virtual light in Homekit which mirrors the status of a real lamp. That virtual light can update MQTT and thence Node-Red. In practice neither solution is good because of the large number of lamps. I could alternately add a virtual lamp to an Accessory Group and that would let me see the state of groups.
So a virtual device is an accessory created for the sole purpose of interfacing.
If I wanted to trigger a scene I could create a virtual switch which is set by MQTT and can be acted upon by Homekit to trigger the scene in Homekit.
Does that clarify? I don't really want to add/remove/configure devices at run time 'cos I don't see a use case? Is there one?

As explained here :https://github.com/cflurin/homebridge-mqtt/issues/8 you can't access HomeKit accessories using homebridge-mqtt.
I also use philips hue lamps, they are connected with the hue bridge to HomeKit.
Additionally I use node-red-contrib-huemagic to control the lamps and for the node-red-dashboard.
As I said I use node-red for my home-automation and HomeKit as an additional "dashboard" and voice-control device.
Except philips hue lamps all my devices (zwave, enocean, xiaomi, netatmo, esp8266) are connected to node-red running on several Raspberry PI's. One the main Rpi is the mqtt-broker running.
"Runtime" means you can add, remove, configure etc. the accessories without the need to restart homebridge as often you have to do using other plugins.


update DES vocabs - obs-prop and unit-of-measure

Updates to the DES vocabularies for Observed Properties and units of measure (including quantity kinds).
Added new properties for oceanographic terms and PFAS.

Observed properties validates against VocPub profile.
Quantity Kind and Unit of Measure have validation errors for SHOULD constraints only, regarding provenance.
Suggest that the SHOULD constraint issues are accepted. The terms have rdfs:isDefinedBy included.


Add AttributeType validation in text-related operator executors

During the review of PR #1924, we found that the following operators require the input attributes to be of certain types, but currently do not have constraints in the code in the back-end.
These operators only take string-type input attributes, but do not check the type in the backend:

Regular Expression
Dictionary Matcher
Keyword Search
Sentiment Analysis
Unnest String
HTML Visualizer
Word Cloud

Additionally, the Linear Regression operator only takes numeric type input attributes but does not check the type.
For the Hash Join and Interval Join operators, we may consider whether enforcing the check for the equality of left and right attribute types.

@aahei  I suggest, before we do the change for the HTML visualizer is to do a test using some existing use cases. I observed most cases pass type ANY from Python UDF to the HTML visualizer, not sure though why users choose ANY instead of String.

Just a side note regarding the ANY, it is a general type that represents all types for the engine to work. In #1957 we are considering removing it from the UI so that users won't select it.


Angular (2-6+) ng serve support

Hi Adam et al., I would like to propose adding angular-cli support to the tailwind build process, so Angular developers can benefit from tailwind without disrupting their regular development flow using angular-cli.
I'm not sure yet what changes are necessary in the actual tailwind project, and it is possible that this might be better off living in a separate node_module.
I have jimmy-rigged a chokidar script that watches tailwind files and rebuilds tailwind when changes are saved. (Check it out) Rebuilding tailwind to the global style sheet (src/styles.css) then prompts ng serve to re-run, which is the desired behavior, in my opinion.
Initially, I planned on simply packaging my script up with npm, so anyone could just install it and include the appropriate command in their prestart script or something. But, maybe there is a more convenient way to ship it along with the tailwindcss package. I will continue poking around on this topic, and I look forward to any feedback.

So, it turns out that turning my jimmy-rigged scripts into an npm module wasn't so bad! There is now a cli tool available for your tailwind + angular needs!
https://www.npmjs.com/package/ng-tailwindcss

Cool glad to hear you were able to put something together! I don't think there's really anything we could really do to make this better on our end; Angular just needs to start properly supporting PostCSS plugins :\


Uniform API of the loaders

Hi guys,
The API of the robot loaders is too confusing. For example, to load solo, the API: loadSolo(), and to load solo12, API: loadSolo(False)
The reason we have the load functions, is to be simplify the loading of the urdfs/srdfs by just one single command. In order to do that, the load<robotName> the robotName here should be clear enough.
However, what I often have to do is to look at the implementation inside the load... function to see what is being loaded with which argument. Or I have to look at the arguments to predict what is being loaded where.
For example, consider loadTalos(legs=False, arm=False, full=False, box=False)
Here, we have 2**4=16 possible arguments. However, only some of these arguments are valid, and the rest are non-sense. If I want to load the legs of Talos, I need to predict which specific argument to give. Or I need to understand that full=True doesn't equate to arm=True  + legs=True. Finally, I end up looking at the implementation each time to make sure that I'm loading the right thing.
If eventually someone has to go through the implementation, he/she would directly look at the implementation of RobotWrapper and then we don't need these easy to use loaders anymore.
What was the reason to deprecate loadTalosArms or loadTalosLegs?

The idea is to have only one list of available robots. For now, this list consists of strings. It would be better to use an Enum, but for now, you are expected to use:
load('solo') / load('solo12') / load('talos') / load('talos_arm') / load('talos_legs').
As this list is used in many places in the code base, it is important to have it only once, to avoid duplication. Right now, it is in the keys of the ROBOTS dict, and the values of this dictionary allows load() to find the right function and arguments to use.

I see. I agree load(<robotname>) is a much better option than what I'm using.
In that case, we should be deprecating load<robotName>(*args) to make users use load() as the only available choice. I have to confess, I did not know load() existed untill 7 minutes ago

I agree, but technically we can't deprecate load<robot>(), because, at least for now, load(<robot>) is mostly launching load<robot>()

Or we would have to rename load<robot>() into an internal _load<robot>(), and create load<robot>() that are deprecated and launch _load<robot>() and make load(<robot>) also load _load<robot>(). Which is slighly boring, but I could do that.

Or we would have to rename load<robot>() into an internal _load<robot>(), and create load<robot>() that are deprecated and launch _load<robot>() and make load(<robot>) also load _load<robot>(). Which is slighly boring, but I could do that.

This will be the right way, but I agree it is very boring task if we don't want to break somebody else code.


[Python] Getting "List child array invalid" when calling MapArray.from_arrays with offsetted offsets

Describe the bug, including details regarding any error messages, version, and platform.
I'm trying to call pa.MapArray.from_arrays, in a simple example where I create a MapArray of empty maps:
    offsets = pa.array([0, 0, 0, 0, 0, 0], pa.int32())

    map_array = pa.MapArray.from_arrays(
        offsets,
        pa.array([], pa.string()),
        pa.array([], pa.string()),
    )
    assert len(map_array) == 5
    assert map_array.to_pylist() == [[]] * 5

It works fine but if I try the same thing with an offsetted view of offsets (aka a slice), it fails:
    with pytest.raises(
        pa.ArrowInvalid,
        match=r"List child array invalid: Invalid: Struct child array #0 has length smaller than expected for struct array \(0 < 1\)",
    ):
        pa.MapArray.from_arrays(
            offsets[1:],
            pa.array([], pa.string()),
            pa.array([], pa.string()),
        )

For now as a work around I copy the data:
    offset_shift = offsets[1:]
    offset_shift_copy = pa.array(
       offset.to_pylist(),
        offset_shift.type,
    )
    map_array = pa.MapArray.from_arrays(
        offset_shift_copy,
        pa.array([], pa.string()),
        pa.array([], pa.string()),
    )
    assert len(map_array) == 4
    assert map_array.to_pylist() == [[]] * 4

My intuition is that the offset isn't interpreted correctly in the underlying code, but I can't really tell where.
For context, this is happening when I try to do my own cast of a chunked MapArray. I have to iterate through the chunks and change slightly the underlying value array, and this happens.
Tested with pyarrow==15.0.2 / Python 3.11.8
Component(s)
Python

Looking at the C++ code it seems the offset of an offsets array is applied to the child arrays https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/array_nested.cc#L796-L798
But in the case of empty child arrays this fails with
ArrowInvalid: List child array invalid: Invalid: Struct child array #0 has length smaller than expected for struct array (0 < 1)
/Users/alenkafrim/repos/arrow/cpp/src/arrow/array/validate.cc:267  ValidateListLike(type)

and the source of the error can be found here:
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/validate.cc#L309-L313
I think a check for this corner case where data is empty but the offset array has an offset can be added in MapArray::FromArraysInternal. In this case the offset should not be applied to the child arrays.

Looking at the C++ code it seems the offset of an offsets array is applied to the child arrays
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/array_nested.cc#L796-L798
But in the case of empty child arrays this fails with
ArrowInvalid: List child array invalid: Invalid: Struct child array #0 has length smaller than expected for struct array (0 < 1)
/Users/alenkafrim/repos/arrow/cpp/src/arrow/array/validate.cc:267  ValidateListLike(type)

and the source of the error can be found here:
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/validate.cc#L309-L313
I think a check for this corner case where data is empty but the offset array has an offset can be added in MapArray::FromArraysInternal. In this case the offset should not be applied to the child arrays.

I might be confused, but shouldn't field_data.length be compared to the the offset of the last position (something like data.offsets[data.offset + data.length])?

I might be confused, but shouldn't field_data.length be compared to the the offset of the last position (something like data.offsets[data.offset + data.length])?

Not sure.
I am thinking more in a direction that a check should be added here:
https://github.com/apache/arrow/blob/2b0427559d94fb25ce61672c1ed17fc245d0a546/cpp/src/arrow/array/validate.cc#L266-L269
for when the length of the children array is less than the length of offsets + the offset or something similar.

Opened a draft PR with an initial try to fix this issue after brainstorming the cause with Joris: https://github.com/apache/arrow/pull/40871.
Still plan to add one more tests with non-empty struct.

Issue resolved by pull request 40871
https://github.com/apache/arrow/pull/40871


Added txtpen support and docs

 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.

It looks like you wrote txtpen and released it less than 24 hours ago, correct?  Why would we bake in support for a product that's not even a day old?
Everything in this PR can be done with regular site params and partials.  I bet we'd accept a guide in the docs, but I'm :-1: on adding built-in support for txtpen.  It would need to get enormously popular for that.

I understand your concerns and will remove the internal templates.
txtpen is currently the only platform that allows highlights and inline commenting. It would be great if you could put it in the docs and let new hugo users know about this functionality.

Thank you. Really appreciate it :smile:

Following up on this. What else needs to be done :question:
Jekyll has added txtpen to its docs.

/cc @digitalcraftsman

I'm fine with adding it as an alternative to Disqus. But I've to agree with @moorereason that the service is quite new and doesn't justify the creation of an internal template until it hits the critical mass.
tl;dr: this PR can be merged.

@digitalcraftsman I have rebased HEAD~6 and squashed the commits

I actually meant that only one commits remains after the rebase with all your additions. Nonetheless, I merged your pull request in 7cdc244a.


Refactor some document and upload helpers

I think we want to be able to get all documents for a given period when generating a new export zipfile.  This PR reorganises a few helpers to support that.

i'm assuming this is a draft/not ready for review, due to presence of debug logging and failing tests. can you re-request review if/when ready?

i'm assuming this is a draft/not ready for review, due to presence of debug logging and failing tests. can you re-request review if/when ready?

Oh, I definitely just copy-pasted the debug import without trying to comprehend what it was doing!  The failing test looks like just a lint oversight.  I'll fix both and push again.


Emoji Support?

Currently have an calendar with an emojoi in the title

but it gets displayed like so...

Any ideas?

@totalitarian thanks for the report. Indeed the current image didn't include an emoji font, so there was nothing to be shown.
I've just added a font, although I'm not 100% happy about it as it's not optimized for grayscale. Nevertheless, it's better than having those question marks being rendered.
So please update your container image to the latest one and it should be working 👍

Many thanks!


Add terraform variables

Hi,
This is a very small detail, but I think it makes the Terraform module a bit easier to use.
In Terraform, if there is a setting which the typical user should probably adjust, or consider adjusting, the place to put that is variables.tf.
By reviewing variables.tf you see a list of configurations to modify.
In this case, ssh_export_pem and aws_region. I needed to modify them as likely most users would also.

makes sense!


Testing private messages

How do I test private messages? or posting a message to a specific room?

@ghostsquad Thank you your feedback!
There is a exmaple as a test.
https://github.com/mtsmfm/hubot-test-helper/blob/master/test/private-message_test.coffee
I'll write it on README.

Oh thank you! Looks good.
On Tue, Sep 1, 2015 at 6:00 PM Fumiaki MATSUSHIMA<EMAIL_ADDRESS>wrote:

@ghostsquad https://github.com/ghostsquad Thank you your feedback!
There is a exmaple as a test.
https://github.com/mtsmfm/hubot-test-helper/blob/master/test/private-message_test.coffee
I'll write it on README.
—
Reply to this email directly or view it on GitHub
https://github.com/mtsmfm/hubot-test-helper/issues/13#issuecomment-136906322
.


Shadow map bug

In the screenshot below you can see that shadow mapping works properly in the green circle, but incorrectly in the red circle. There should be a shadow on the portion of the pillar below the light source as it is occluded.
I think this is caused by the near plane for the shadow map cameras.

Indeed, adjusting the near plane from 0.5 to 0.1 in the following line resolves the problem in this case.
The question remains what good settings are and how one would automatically determine them.
https://github.com/pygfx/pygfx/blob/2b762a314ed67ac81f3ed7ce1bbb2bdee2b6e0f5/pygfx/objects/_lights.py#L516

For specific light source shadows in the scene, you may need to adjust the shadow camera parameters to achieve specific purposes. This is particularly significant  in the current directional light shadow. see "light_directional_shadow.py".
In this example, it's should like this:
light.shadow.camera.near = 0.1
light.shadow.camera.update_projection_matrix()

Of course, maybe we should set the default value of the near plane of the shadow camera a little smaller.

@FirefoxMetzger I think it would be worthwhile to apply the fix proposed here to the sponza example, if you are going to put the screenshot front and center on the README. It's a very simple fix and it looks much better.


Question about vl

In the riscv-v-spec, vl can be set to a value within 0-vlmax. In order to reduce the hardware complexity, can i add one more contraint to limits vl <= vlen/sew?
So, even VSET instruction sets vlen/sew < vl <vlmax, it still makes vl = vlen/sew. Also rd will be update to vlen/sew。In this case showed in riscv-v-spec works with this extra constraint.

I want to ask if this extra constraint is acceptable, will this cause problem of consistency bewteen software and hardware?

VLMAX equals to (LMUL * VLEN / SEW). If VL is restricted to (VLEN / SEW), that will lose the benefit of vector register grouping.

VLMAX equals to (LMUL * VLEN / SEW). If VL is restricted to (VLEN / SEW), that will lose the benefit of vector register grouping.

I know it will lose the benefit of register group. But it also reduce the comlexity of hardware. If this policy is acceptable, at least I have one more choice to choose between the benefit of register group and the comlexity of hardware.

No, this would be a nonstandard custom extension, rather than standard V or Zve*.
Making register groups optional would make them unusable by standard software, which would undermine the motivation for the feature.

Even with that constraint, wouldn't the widening instructions like vwadd still be able to produce a result that required 2 registers to hold the result?

No, this would be a nonstandard custom extension, rather than standard V or Zve*.
Making register groups optional would make them unusable by standard software, which would undermine the motivation for the feature.

Thank you, i understand.

Even with that constraint, wouldn't the widening instructions like vwadd still be able to produce a result that required 2 registers to hold the result?

yes, it still have the problem, but maybe for this kind of instruction, i can make vlen <= vlen/sew/2, or split the instruction. Either way, it's much simpler than calculating all exception and number of uops for all instructions


Is it possible to apply a colormap to a dzi image in OpenSeadragon?

Hi,
first of all, thank you very much for this amazing open source project!, great work guys!.
I am a beginner user, I just discovered OpenSeadragon very recently, but since then I have been eager to learn
more and more about it, I have been going through all of the tutorials, examples and documentation available in the OSD website, they are very beginner friendly, they have helped me a lot! :-).
In my use case, I need to visualize a huge single channel data array. To do so, I have generated a grayscale dzi pyramid image
(by replicating the same single channel as R, G and B). Thanks to the wonderful examples and documentation I have been able to
visualize such huge data array using the OSD viewer. As a second step, I would like to dynamically select a colormap from a dropdown and apply it to the dzi image currently showed in the viewer. I would also like to be able to change the dynamic range of the colormap (e.g., using sliders to modify the vmin and vmax of the colormap), and see "in real time" the effect of such changes in the colormap applied to the dzi image showed in the OSD viewer. Is it possible to accomplish this in OpenSeadragon?...I have not been able to find an example/tutorial similar to this particular use case.
Any help, suggestions and advices are truly welcome.
Thank you very much! ;)

Fantastic! I'm glad you're enjoying OSD :)
I think there are probably a few possible approaches, but I would recommend trying https://github.com/usnistgov/OpenSeadragonFiltering first. You'll have to write your own filter, I imagine, to get exactly the color map you want, but it gives instructions for how to do that.
Another possibility would be https://github.com/thejohnhoffer/viaWebGL but only if you're comfortable with GLSL.

Thank you very much @iangilman , I will give it a try to your suggestions! ;)…Once again thank you very much for maintaining this amazing project!...At the moment I am a beginner user, but I hope to become soon familiar enough with the codebase so that I can contribute to this wonderful open source project :-).


⚠ Bofrost.lu has degraded performance

In 9f8fe02, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1274 ms

Resolved: Bofrost.lu performance has improved in 4011353 after 23 minutes.


Crashes on edge Rails

Since https://github.com/rails/rails/pull/51760, apps using console1984 won't boot, because this line raises:
https://github.com/basecamp/console1984/blob/215874e74daac9865ff09bf128be13b81b230c4f/lib/console1984/supervisor.rb#L1
I think that line is necessary, but I'm not sure how it works. If you comment it out, the test suite fails:
/Users/alex/code/console1984/lib/console1984/freezeable.rb:27:in `included': undefined method `thread_mattr_accessor' for Console1984::InputOutput:Module (NoMethodError)

    base.thread_mattr_accessor :prevent_instance_data_manipulation_after_freezing, default: true
        ^^^^^^^^^^^^^^^^^^^^^^
	from /Users/alex/code/console1984/lib/console1984/input_output.rb:2:in `include'
	from /Users/alex/code/console1984/lib/console1984/input_output.rb:2:in `<module:InputOutput>'
	from /Users/alex/code/console1984/lib/console1984/input_output.rb:1:in `<top (required)>'
	from /Users/alex/.rvm/gems/ruby-3.2.2/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:30:in `require'
	from /Users/alex/.rvm/gems/ruby-3.2.2/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:30:in `require'
	from /Users/alex/code/console1984/lib/console1984/supervisor.rb:4:in `<class:Supervisor>'
	from /Users/alex/code/console1984/lib/console1984/supervisor.rb:3:in `<top (required)>'
	from /Users/alex/.rvm/gems/ruby-3.2.2/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:30:in `require'
	from /Users/alex/.rvm/gems/ruby-3.2.2/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:30:in `require'
	from /Users/alex/code/console1984/lib/console1984.rb:43:in `<module:Console1984>'
	from /Users/alex/code/console1984/lib/console1984.rb:40:in `<top (required)>'

@st0012 are you able to advise?

Thanks @ghiculescu, and sorry for the delay! I've added https://github.com/basecamp/console1984/pull/113 while we fix the app to extend the Rails console through Rails::ConsoleMethods.  I think this should unblock upgrades to Rails Edge.

This one should be fixed now.

And improved with https://github.com/basecamp/console1984/pull/115.

Thanks @rosa!


Set default header where I don't import axios

I import axios in my api service file. In another file I import my api service module and I use them there. I want set default header in promise of api call and after that, use this header for other api calls. Is there any solution to set default header in another file? I don't want to set it in ApiService.js file.
// ApiService.js
import axios from 'axios';

export var axiosInstance = axios.create();

export default class ApiService {

  static authenticate(authParams = {}) {
    return axiosInstance.post('authentication/login', authParams, commonConfig());
  }

}

//App.js
import ApiService, { axiosInstance } from '../services/ApiService';

ApiService.authenticate().then((res) => {
    axiosInstance.defaults.headers.get['auth_token'] = 'F93048E902...';
    axiosInstance.defaults.headers.post['auth_token'] = 'F93048E902...';
})

Why not have axios instance as part of your ApiService? Then you can change headers and config at any time?
class ApiService {
  constructor () {
    this.axios = axios.create({
      baseUrl: 'http://nodejs.org'
    })
  }

  login (username, password) {
    this.axios.post('/login', { username, password })
      .then(({ data }) => {
        // now you can set headers for every other request
        this.axios.defaults.headers.common['Authorization'] = data.token
        return data
      })
  }
}

This example is kinda dumbed down and bad naming but hopefully it answers your question

@skbolton Yes, thanks :)


Fix #248

Detailed explanation in the diff

@tomturner This fixes #248 . What do you think?
PS: I'll create another patch for the multi-threading issue I found.

@alexandernst I couldn't get this work in fact it made the it not work at all. I think the best thing to do is do a Skype call and share screen so you can show me the problem or you can create a video/example app of the problem. I won't merge until I have the same problem and can recreate it.

Hi! I'll provide you with a detailed explanation and a demo so you can the issue by yourself ;)
I just need a couple of days, I'm in the middle of a huge refactor in another project and I don't have any brain cycles left.

@tomturner Sorry for taking so long. Here you go a vainilla django project with django-tenants and a README.md explaining how to reproduce the bug.
I also setup a docker compose file so you can test it easily.
example.zip

@alexandernst thanks for the demo I will be looking at this shortly

@tomturner ping me when you're on it and maybe I can help you with the revision process

@alexandernst I haven't forgotten this. I should be able to get this done within the week just quite busy at the mo.

@alexandernst Thanks


fix #20 test_arcdirect

Short version: At this point, it just needed to be unignored.
Previously affected by some direct bugs that were fixed as part of earlier commits. An earlier draft accidentally used too demanding of a tolerance for some parameters, also fixed in previous commits, but I had forgotten to merge that tolerance update into my test-heavy "establish-baselines" branch. My polyval suspicion turned out to be a red herring related to array comparisons where I had forgotten that the first element is unused and therefore shouldn't be checked.

[ ] I agree to follow the project's code of conduct.
[ ] I added an entry to CHANGES.md if knowledge of this change could be valuable to users.

bors r+
Great!

On Feb 2, 2021, at 23:26, stonylohr<EMAIL_ADDRESS>wrote:

Short version: At this point, it just needed to be unignored.
Previously affected by some direct bugs that were fixed as part of earlier commits. An earlier draft accidentally used too demanding of a tolerance for some parameters, also fixed in previous commits, but I had forgotten to merge that tolerance update into my test-heavy "establish-baselines" branch. My polyval suspicion turned out to be a red herring related to array comparisons where I had forgotten that the first element is unused and therefore shouldn't be checked.
I agree to follow the project's code of conduct.
I added an entry to CHANGES.md if knowledge of this change could be valuable to users.
You can view, comment on, or merge this pull request online at:
https://github.com/georust/geographiclib-rs/pull/40
Commit Summary
Unignore test_arcdirect
File Changes
M src/geodesic.rs (1)
Patch Links:
https://github.com/georust/geographiclib-rs/pull/40.patch
https://github.com/georust/geographiclib-rs/pull/40.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


OutOfMemory when export large database in Dbeaver 6

System information:

Windows Server 2016
DBeaver 6.2.3

Connection specification:

Mysql 5.7
JDBC
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
When export a 3G mysql table, the memory used by Dbeaver increase to more than 1G and after a while it report OutOfMemory error.
Downgrade Dbeaver to 5.3.5, Export the same database, memory used by Dbeaver is less than 500M and export successfully.
Any change to the export logic between Dbeaver 5 and 6?
Note: The target system only has 8G memory so I could not share more memory to Dbeaver (Increase -Xms).

Right click on a table
Export Data
Select CSV, Single Query
Export

Issue still exist in recent versions. I have to use old v5 version for exporting.

I can still reproduce it here. How to reopen the bug? I do not have reopen right.
Did you export by segment or single query？ Is it mysql database?  How large is your test database?
If export by single query, issue will happen. If export by segment, issue will not happen but the export is very very slow. See #3568.


Improve MappingException message

Feature Request

Q
A

New Feature
yes

RFC
yes

BC Break
no

Summary

I have spent some time to figure out why this exception was thrown because mapping files and calsses exist. Hard to track why and where(what mapping) exception was thrown.
  /**
    * @param string $className
    * @param string $fieldName
    *
    * @return MappingException
    */
   public static function mappingNotFound($className, $fieldName)
   {
       return new self("No mapping found for field '$fieldName' on class '$className'.");
   }

thrown in
    /**
     * Gets the mapping of a (regular) field that holds some data but not a
     * reference to another object.
     *
     * @param string $fieldName The field name.
     *
     * @return array The field mapping.
     *
     * @throws MappingException
     */
    public function getFieldMapping($fieldName)
    {
        if ( ! isset($this->fieldMappings[$fieldName])) {
       dump($this->fieldMappings);
        dump($fieldName);
        dump($this->name);
         dump($this->fieldMappings[$fieldName]);
         die;
            throw MappingException::mappingNotFound($this->name, $fieldName);
        }

        return $this->fieldMappings[$fieldName];
    }

dump output
bonbon@debian:/var/www/test$ mdif
array:5 [
  "id.uuid" => array:8 [
    "id" => true
    "fieldName" => "id.uuid"
    "type" => "guid"
    "length" => "55"
    "columnName" => "uuid"
    "originalClass" => "App\Domain\AnimePack\Episode\ValueObject\EpisodeId"
    "declaredField" => "id"
    "originalField" => "uuid"
  ]
  "name.name" => array:7 [
    "fieldName" => "name.name"
    "unique" => true
    "type" => "string"
    "columnName" => "name"
    "originalClass" => "App\Domain\AnimePack\Episode\ValueObject\EpisodeName"
    "declaredField" => "name"
    "originalField" => "name"
  ]
]
"id"
"App\Domain\AnimePack\Episode\Entity\Episode"

In ClassMetadataInfo.php line 1235:

  Notice: Undefined index: id

As you can see
    <embedded name="id" class="App\Domain\AnimePack\Episode\ValueObject\EpisodeId" use-column-prefix="false" />
Is mapped, class loaded, it is ok, but where id comes from? Why?
It really took a while, error logged this message, not much useful info.
I tried to remove mapping files which we have  a lot, and find out that problem was in realtions mappings where we miss join column
was
    <!-- One To One-->
    <one-to-one field="details" target-entity="App\Domain\AnimePack\EpisodeDetails\Entity\EpisodeDetails"
                inversed-by="episode">
    </one-to-one>

must be
    <!-- One To One-->
    <one-to-one field="details" target-entity="App\Domain\AnimePack\EpisodeDetails\Entity\EpisodeDetails"
                inversed-by="episode">
      <join-column name="details_uuid" referenced-column-name="uuid" /> // not ID but UUID
    </one-to-one>

As I figured out:
1 - join column was required
2 - because of embedded ids referenced-column-name must be uuid.
class EpisodeDetails{
  /**
   * @var EpisodeDetailsId
   */
  private $id;
...
final class EpisodeDetailsId{
  /**
   * @var UuidInterface|string
   */
  protected $uuid;
}

It would be nice to throw exception with correct message that join column is missing for specified mapping.
EG

Join column is missing for OneToOne relations  with  entity App\Domain\AnimePack\EpisodeDetails\Entity\EpisodeDetails in mapping file App\Mapping\Episode.orm.xml

Error message and common, widespread used field ID confused a lot.
Thanks.

Could you make ab example of what is triggering the error? You've shown how it manifests, but not the userland code that leads to it.
If this is an attempt to use an @Embeddable as part of an @Id, I don't think that it ever worked before, not was implemented at all.

@BonBonSlick that didn't come through very clear: can you please elaborate/rewrite that?

2 entities, User and UserRole. xml mapping used.
Both of them has parameter $id which are @Embeddable.
This @Embeddable classes has own parameters $uuid.
Example UserId (@Embeddable points to User::$id)
class User{
/**
   * @var UserId
   */
private $id;
 ...

User @Embeddable $id
class UserId{
/**
   * @var string
   */
private $uuid;
...

Same has UserRole, UserRoleId.
Now, when we set up relation mapping with xml, by default   referenced-column-name is ID
<join-column name="user_role"="uuid" /> // default reference column is UserRole::$id To make it work we have to add  // not ID but UUID
We reference to@Embeddable` class parameter, no original, related class. Referenced not UserRole::$id but to UserRoleId::$uuid parameter.
Exception says here that ID does not exists, which confusing.


Changing static file (image) without restarting app

Is there any way to change loaded static file inside express without restarting app?
Currently i'm using sym link on image file and recreating it using node.js cron analog , but maybe there is another way to do that? Thanks!

http://expressjs.com/en/resources/contributing.html#issues-which-are-questions
Try asking your question in one of these venues: http://expressjs.com/en/resources/community.html


(feat) Adding an InsertBefore feature

Proposing to add the possibility to insert statement before a node. This was found useful when combining 2 methods and needing to conserve the order of execution

Looks amazing, all of the tests are super clear and the code is very clean and slick. Thank you so much for working on this ❤ 💯

Thank you, that means a lot! Happy New Year!

My mistake, but there is a bug in this commit. The decorators are not pulled-in with the definition:
    INPUT_SOURCE = """
        @decorate
        def test():
            test_this()"""

    EXPECTED_SOURCE = """
        await async_test()
        @decorate
        def test():
            test_this()"""

   ACTUAL_SOURCE = """
        @decorate
        await async_test()
        def test():
            test_this()"""

I added the test and figuring out how to quickly resolve it


Tracking Dark Visitors Automatically

This tries to address #4 with the following changes:

Daily updates from Dark Visitors for four AI related bots (One page visit to the website)
Consolidate the field values when possible

However, it does not seem to trigger the main workflow automatically for some reason.

However, it does not seem to trigger the main workflow automatically for some reason.

I think this is because GitHub won't trigger workflows for actions taken with the built-in GITHUB_TOKEN.
Potential solutions:

Update main.yml to be triggered when the Daily Update from Dark Visitors workflow completes successfully:on:
    workflow_run:
      workflows: [Daily Update from Dark Visitors]
      types:
        - completed
    push:
      paths:
        - 'robots.json'

But this may need some additional logic to avoid firing (and failing) if robots.json wasn't updated.
Use GitHub app authentication or a finely-scoped Personal Access Token for authenticating with GitHub in the Daily Update workflow. That would require storing the credential as a repository action secret but should allow the push action to successfully trigger main.yml - and wouldn't require any logic changes.
Something else that I'm not thinking of yet?

Thanks for the pointers, @jbowdre! Based on the link provided and additional searches, I found this: Reusing workflows. It allows one workflow to call another directly instead of being passively triggered. The current set-up with the main workflow removes all files and regenerate them in two commits, so it should be fine when called multiple times.
Here is the test run. Sorry about the long commit history.

Nice work @ChenghaoMou! This looks like a more elegant approach than the two alternatives I suggested.


New version: printfn.fend version 1.4.2

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping @Exorcism0666, I'll get a notification.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

Automatic Validation ended with:

Installation failed with exit code -1978335187 2024-01-23 02:52:08.744 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005 2024-01-23 02:52:00.727 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005

(Automated response - build 637.)

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 642.)

/AzurePipelines run

Hi @,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 674.)

Automatic Validation ended with:

Installation failed with exit code -1978335187 2024-01-25 15:44:22.666 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005 2024-01-25 16:53:20.342 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005

(Automated response - build 674.)

@stephengillie false positive ?

@ stephengillie false positive ?

Hi @Exorcism0666,

https://en.wikipedia.org/wiki/False_positives_and_false_negatives

It might be, and we can keep retrying.

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 694.)

Automatic Validation ended with:

Installation failed with exit code -1978335187 2024-01-30 14:32:55.156 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005 2024-01-30 14:32:38.386 [FAIL] Installer failed security check. Url: https://github.com/printfn/fend/releases/download/v1.4.2/fend-1.4.2-windows-x64-exe.zip Result: 0x80004005

(Automated response - build 694.)

Hi @Exorcism0666,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 695.)

/AzurePipelines run

/AzurePipelines run


Feature request: Video component

Just like we have the Image-component, it would be nice to have a Video-component. This component should work the same way the Image-component does: You either specify a video asset, or you upload a video directly.

Thanks @henrykuijpers for the suggestion, a new video component is on our roadmap (https://github.com/Adobe-Marketing-Cloud/aem-core-wcm-components/wiki).

Isn’t this a duplicate of #218?

@kwin You're correct. I'm closing this issue. Let's continue the discussion on #218.

Note that for now, the RTC on #218 doesn't allow direct upload on the component, and only referencing a video from DAM. The reason for this is that there probably needs to be a workflow triggered when uploading a video to generate the different encodings that might be needed.


Finalization fix

How to reproduce?

When running two kagome validators occasionally they emit two errors
21.08.10 11:38:33.781524  Error     Grandpa  Can't get authorities
I am unaware of the impact of this on finalization.


Documentation/requirements

Update documentation according the developers guidelines.

@dmabtrg @jmcanterafonseca review?

LGTM with the tiny comments addressed

@jmcanterafonseca done in eba2cf682e709bf2106550499a154c8cc06e6b44

LGTM thanks


CBZ extracting error

Type of installation
Setup (.exe)
Type of reader (if reader related)
image
Steps to reproduce
Try to read a cbz.
✔ Expected Behavior
Extracting should work normally and you should be able to see the image.
❌ Actual Behavior
Getting an error as shown in the picture.

I did and it worked totally fine.

I did and it worked totally fine.

Did you have ConstrainedLanguage mode on?
To check it open powershell and run the following command;
$ExecutionContext.SessionState.LanguageMode

It says "ConstrainedLanguage". What does that mean?

It says "ConstrainedLanguage". What does that mean?

Basically it's a mode that limits a lot powershell capabilities. Capabilities that can be exploited from malware. I don't know if there is a way to perform archive extraction with this mode.
If you put it yourself you could think to change the language mode back. In my case I decided to leve the ConstrainedLanguage mode, so I installed the application using WSL and run the application using WSLg

The extraction library I use uses PowerShell(windows) and unzip(linux) behind it. I selected it at that time because I didnt want to code for each OS differently and didnt want to have dependencies. My plan was to use it PowerShell for .rar format as well but it didnt work out. So few months ago I implemented WinRAR, and after that I considered using it as main file extractor, but it was somehow slower compared to PowerShell so I didnt.
I will add option to use WinRAR for all extraction when possible.

Is there a specific reason for ts? I'm not familiar with ts, that's why I'm asking^^

Is there a specific reason for ts? I'm not familiar with ts, that's why I'm asking^^

do you mean the reason why it uses powershell? It's just a library (basically code written by another person)

Is there a specific reason for ts? I'm not familiar with ts, that's why I'm asking^^

By ts, do you mean typescript?

Is there a specific reason for ts? I'm not familiar with ts, that's why I'm asking^^

By ts, do you mean typescript?

Yes. Just curious^^

If you mean typescript over javascript, then its because its a lot better compared to using javascript in almost everything.
If you are asking why typescript/javascript, then in short, its because Im using electronJS as backend and reactJS for the UI. It was a lot easier to make UI in react because I already knew js when I started building this app.
Initially I just made a simple local webapp to read for myself, but due to filesystem limitations I turned to electron and made https://github.com/mienaiyami/offline-manga-reader. My knowledge was only limited to html, css and basic js at that time so this app was only usable. But with time it got complex for me with javascript because of errors and type, so I tried ts and implemented that in.
And I almost stopped working on it. And when i was good enough at Reactjs and typescript I tried using them to make a better version.
I tried doing it using other frameworks and languages but they didnt provide enough freedom for what I wanted. Some had high RAM usage while other had high idle CPU usage.
And on top of that electron makes it easier to make apps for all OS while keeping most functionality same.

I see i see, that sounds logical. Thanks for this summary.
I just started learning programming for the first time (c#) that's why i'm not familiar with all that of why and why not.


collab

@tostercx I'm working on a games-related project. Can't tell you more details here. But I think you might be interested. It has the potential for becoming the next big thing in the game industry. It's not hard. It's doable. I'm just looking for dedicated and interested teammates. Please contact me via fannik#3371 on discord. If you aren't on discord tell me, I can then provide you with an email address.

Hey, added you on discord.


build(ci): nix flake check workflow

Co-authored-by: Samyak S Sarnayak<EMAIL_ADDRESS>

hello


Errors in Connection

I get the hub connected in HOOBS but getting errors and cannot control any shades. Please help - thank you!
 A few questions about your setup:

From the log, it looks like you have at least 12 blinds - how many of them are showing up in the Home app?
Are all of the devices reporting these errors, or only blinds 1, 10, 11 and 12 as reported in the log you posted?
What kinds of devices do you have? Are they all blinds/shades, or are some of them curtains, awnings, etc?
Are you able to control these devices through the Connector+ app?
Did you configure the plugin with an explicit IP for your Connector hub, or did it auto-discover the hub?
Do you have a single Connector hub in your home, or more than one?

Hi gormanb, I have 12 roller shades which are all showing in the Home app.
I only pasted a few errors but they are all the same.
They are roller shades.
I have 1 connector hub and they can be controlled from that app and the Google Home app as well.
I tried the Key method to discover the hub and I tried the IP as well.
For context, I installed through HOOBS, and I verified the MAC addresses seem to be coming through to the Home app as well.
 It looks like when Homekit attempts to retrieve the blinds' position from the plugin, the currentPosition field retrieved from the hub is nullish - hence the NaN value that the plugin attempts to return to Homekit. But I'm not sure how the plugin could have arrived at this state, since we should either have failed to retrieve the status from the hub - in which case an exception would be thrown to inform Homekit that communication was temporarily lost - or we succeeded in retrieving the status, in which case the value returned should be a valid number. I believe the only way we would see the output you posted above is if we DID succeed in retrieving the status from the hub, but it was not in the expected format (e.g. the currentPosition field is missing).
To try to figure out what's going on, I've added a Verbose Logging option and published 1.0.3-beta.0, which you should be able to install by going to the plugin page on Hoobs and clicking on the "Versions" tag. Unfortunately, it looks like Hoobs does not show the new option in its configuration panel, so you'll need to go to Advanced configuration and make sure it looks similar to this:
{
    "platform": "ConnectorHub",
    "connectorKey": <your-connector-key>,
    "hubIp": <your-hub-ip>,
    "enableDebugLog": true
}

Save that configuration and when the plugin restarts, you should see additional messages in the log. Please post the new log containing ALL the ConnectorHub log messages here.

Hi gormanb,
Thank you so much for helping. I have done as instructed.  Here's how the ReadDeviceAck message looks for my blinds:
{
  msgType: 'ReadDeviceAck',
  mac: 'a4e57c2512490001',
  deviceType: '10000000',
  msgID: '20221212193309160',
  data: {
    type: 1,
    operation: 2,
    currentPosition: 100,
    currentAngle: 180,
    currentState: 4,
    voltageMode: 1,
    batteryLevel: 1076,
    chargingState: 0,
    wirelessMode: 1,
    RSSI: -73
  }
}

Your firmware seems to be a slightly older version than what I'm running, but that shouldn't really matter since the protocol version is the same:
  fwVersion: 'A1.0.9_B0.2.0',
  ProtocolVersion: '0.9',

I notice that the data.wirelessMode field in the responses for each of your blinds is 0, which indicates uni-directional mode (contrast against the output from my blinds, which is wirelessMode:1 or bi-directional). While the documentation doesn't state exactly what this value means, it may suggest that your blinds only accept commands but don't report detailed status information to the hub.
What happens if you attempt to open or close one of the blinds via Homekit? Can you try that and post the resulting log output here?

Hi @gormanb, btw, controlling from Google Home is fine, but then again that is using the username and login instead of this method which is talking to the hub directly. I am not that technical, but assuming it is different. Here is the log for a couple devices:
12/12/2022, 3:06:52 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 1', 100 ]
12/12/2022, 3:06:56 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 1', 0 ]
12/12/2022, 3:06:57 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 2', 100 ]
12/12/2022, 3:07:00 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 2', 0 ]

@gormanb it doesn't actually open. HomeKit just shows loading and doesn't stop saying Opening until I physically touch the tile again and it changes the state to closed (but nothing is happening to the shades)
Just FYI the hub flashes for a second when you open them with the Connector app. With HomeKit nothing happens at the hub and the shades don't move.
I have the shades that overlap each other to allow light in and when closed they block the light, so I have the "top" set at a level where you can see through them and the bottom set to fully closed. Do you think that has anything to do with it?
I can reset one and try?

The reason I ask is because I notice that the data.operation field in the responses that the plugin is getting from your hub is always either 0 or 1, i.e. open / closed. With my blinds, this value is only ever 2 because the blinds can stop at any position between open and closed. The hub actually accepts two types of command; simple open/close commands, and targetPosition commands which can be any value between 0 and 100%.
What I'm thinking is that your blinds may only accept simple open/closed commands, not the targetPosition command that the plugin currently uses. The log output you posted above indicates that the plugin successfully sent the request to the hub and got a valid acknowledgement back, so the only reason I can see why the shades wouldn't be working is if the command we're sending is something that your devices don't support.
Can you confirm whether this is true? Do your blinds just open and close, or can you open them to any arbitrary position?

Ok that makes sense but I can open to any position in the case of my shades.
I’m going to reset one and see what happens.
On Mon, Dec 12, 2022 at 4:02 PM Bernard Gorman @.***>
wrote:

The reason I ask is because I notice that the data.operation field in the
responses that the plugin is getting from your hub is always either 0 or 1,
i.e. open / closed. With my blinds, this value is only ever 2 because the
blinds can stop at any position between open and closed. The hub actually
accepts two types of command; simple open/close commands, and
targetPosition commands which can be any value between 0 and 100%.
What I'm thinking is that your blinds may only accept simple open/closed
commands, not the targetPosition command that the plugin currently uses.
The log output you posted above indicates that the plugin successfully sent
the request to the hub and got a valid acknowledgement back, so the only
reason I can see why the shades wouldn't be working is if the command we're
sending is something that your devices don't support.
Can you confirm whether this is true? Do your blinds just open and close,
or can you open them to any arbitrary position?
—
Reply to this email directly, view it on GitHub
https://github.com/gormanb/homebridge-connector-hub/issues/2#issuecomment-1347322714,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2WP7FA6ENA4FV4NC5QUWRDWM6HHFANCNFSM6AAAAAAS2L26VI
.
You are receiving this because you were mentioned.Message ID:
@.***>

no changes

@mquintie: I've just published a new beta, 1.0.3-beta.1. This version uses simple commands for the blinds, and it will also print out the exact response that the plugin gets from the hub when attempting to set the blinds' position.
It should show up in Hoobs within an hour or so. When it does, please install it and then:

Try opening one of your blinds to 100%, then close the blind to 0% and see whether it works.
Post the complete ConnectorHub plugin logs here.

@gormanb It works! I can control the shades from HomeKit.
The only issue I see is that when I select the tile for the shades it says "Opening" with a spinning wheel but it never goes away. if I go to another room, and return it says Opening... (with the ellipsis...) if I select the tile again, it will say "Closed" and no loading.
Here are some logs:
12/12/2022, 5:27:12 PMConnector Hub BridgeConnectorHub[DEBUG] Simple target command: { operation: 0 }
12/12/2022, 5:27:13 PMConnector Hub BridgeConnectorHub[DEBUG] Target response: {
msgType: 'WriteDeviceAck',
mac: 'b8d61a235dd40005',
deviceType: '10000000',
msgID: '20221212172712491',
data: { type: 1, operation: 0, wirelessMode: 0 }
}
12/12/2022, 5:29:42 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 5', 100 ]
12/12/2022, 5:29:48 PMConnector Hub BridgeConnectorHub[DEBUG] Simple target command: { operation: 0 }
12/12/2022, 5:29:48 PMConnector Hub BridgeConnectorHub[DEBUG] Target response: {
msgType: 'WriteDeviceAck',
mac: 'b8d61a235dd40005',
deviceType: '10000000',
msgID: '20221212172947496',
data: { type: 1, operation: 0, wirelessMode: 0 }
}
12/12/2022, 5:29:48 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 5', 0 ]

Getting this for some now
12/12/2022, 5:30:20 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 4
12/12/2022, 5:30:20 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 5
12/12/2022, 5:30:21 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 6
12/12/2022, 5:30:21 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 7
12/12/2022, 5:30:21 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 8
12/12/2022, 5:30:21 PMConnector Hub BridgeConnectorHubWARNINGPeriodic refresh failed: Connector Blind 9

One thing to note that in the Eve App, the correct status is not reporting. (Maybe needs a 25 second timer or something)

When closed it shows "Closing" and 0% Closing when going into the details.
When the shades are opened from the Eve App, it remains as "Closing" but shows as "Open" in the Home App, and sometimes continuously reads "Closing" in the Home app until I switch to another app and then return where it will report as "Closed"
When opened from the Home App, the Eve App still shows closing until I switch to another app and then return where it will report as "Open"
12/12/2022, 5:50:33 PMConnector Hub BridgeConnectorHub[DEBUG] Connector Blind 5 state: {
msgType: 'ReadDeviceAck',
mac: 'b8d61a235dd40005',
deviceType: '10000000',
msgID: '20221212175029835',
data: { type: 1, operation: 1, wirelessMode: 0 }
}
12/12/2022, 5:50:33 PMConnector Hub BridgeConnectorHubReturning position:  [ 'Connector Blind 5', 100 ]
12/12/2022, 5:50:36 PMConnector Hub BridgeConnectorHub[DEBUG] Connector Blind 5 state: {
msgType: 'ReadDeviceAck',
mac: 'b8d61a235dd40005',
deviceType: '10000000',
msgID: '20221212175034990',
data: { type: 1, operation: 1, wirelessMode: 0 }
}
12/12/2022, 5:50:36 PMConnector Hub BridgeConnectorHubReturning position:  [ 'Connector Blind 5', 100 ]
12/12/2022, 5:50:37 PMConnector Hub BridgeConnectorHub[DEBUG] Simple target command: { operation: 0 }
12/12/2022, 5:50:37 PMConnector Hub BridgeConnectorHub[DEBUG] Target response: {
msgType: 'WriteDeviceAck',
mac: 'b8d61a235dd40005',
deviceType: '10000000',
msgID: '20221212175036521',
data: { type: 1, operation: 0, wirelessMode: 0 }
}
12/12/2022, 5:50:37 PMConnector Hub BridgeConnectorHubTargeted:  [ 'Connector Blind 5', 0 ]

@mquintie: excellent, glad to hear that it's able to control the blinds now 😃 The problems you describe above seem to be related to syncing the end of the operation back to Homekit. Tomorrow I'll look into fixing this and will put up another beta version for you to try.

Thank you @gormanb !!

@mquintie: I just published 1.0.3-beta.2, which should be available via Hoobs in an hour or so. Please give this version a try and let me know how it works for you. Bear in mind that the Homekit status is only updated every 5 seconds, so when you open or close your blinds there may be a delay between the time the motion finishes and the time the Home app reflects the change.

Than you @gormanb ! I will let you know when done. Appreciate it!!

Hi @gormanb, the state changes as expected in the Home App. Open and Closed states appear when the shades are in the specified position. Excellent!! Also, today the control center was showing the shades with spinning wheels and that has been corrected.
The only anomalies I see are in 3rd Party apps:

The Eve app, where the shades always show "Closing" but the shades are able to be controlled for both Open and Close.
The Home + app shows the correct state, but the shades can only be opened by tapping the tile, they cannot be closed unless you go into the accessory and 'raise' the shade manually with the slider.

Not sure if those are issues with HomeKit or these apps, but they usually mirror what is happening in Apple Home from my experience.
Thank you again!

@mquintie, thanks for reporting back - glad to hear that the shades are now working as expected! With regards to the third-party apps: the plugin pushes the final position to Homekit after each movement of the blinds is complete, to let it know that it has reached the target position. My guess is that the Eve app isn't listening for these push-messages, and so even though it can issue commands to the devices, it doesn't receive the notification to update its state when the request succeeds. As for the Home+ app, I'm not sure why tapping doesn't close the device - if it knows that the blinds are open then I'd assume it would simply issue a Close request. This seems like some behaviour on the app side rather than the Homebridge side.
Thanks again for helping me debug this issue! I'm going to clean a few things up and will then publish a proper v1.0.3 release version 😄

Thanks again @gormanb for all your help.  It does this every 5 seconds, so at worst these failures will just cause a delay in updating the state in Homekit. If it becomes a problem and you start seeing persistent "Not Responding" messages in the Home app, please don't hesitate to open a new issue!

Awesome!!! Thank you!!


Allow blacklisting of suites and tests for specific entities

@DRvanR

As discussed, would consider merging the wildcard EntitySet with the other EntitySets.

@DRvanR

Little nit: might want to document what an EntityDescriptor is, other than that :+1:


podman: 2.1.0 -> 2.2.0

Motivation for this change
Update podman to the latest version
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @NixOS/podman

Would you mind looking at the ofborg test which did not succeed? Not sure if this update caused the failure.
https://logs.nix.ci/?key=nixos/nixpkgs.105558&attempt_id=2cfef087-d2ec-40ac-9ca8-3a9dbb571f63

Result of nixpkgs-review pr 105558 run on x86_64-linux 1

2 packages built:

podman
podman-unwrapped

@ofborg build
@ofborg test podman

It looks like that all rootless tests are broken, not sure why yet.

@saschagrunert I took the liberty of fixing up the test and pushing.

@saschagrunert I took the liberty of fixing up the test and pushing.

Awesome, thank you! :pray:

@ofborg test podman


node.js usage

Can you show example usage in Node.js environment?

Hi @roccomuso,
wasm-worker is primarly designed to work in a browser invironment since it uses fetch and Web Worker APIs. If you want to use it in a NodeJS environment, Web Workers must be polyfilled using a library like node-webworker.
The APIs are the same, it is just about polyfilling these 2 interfaces, or just Web Workers if you are planning to use wasm-worker only with ArrayBuffer sources.

https://github.com/pgriess/node-webworker is 8 years old and not mantained.

I've also found this one but I've not tried it yet..


Add elapsed time log line on export

This will allow us to parse the log lines and continuously output the slowest environments

just thinking out loud... it would be easier to work with this if using structured logging, but tanka is using stdlib log not something like logrus so making that possible might be too much work

Member

Yeah, it'd be ideal. I'd rather not overhaul the logging system completely though. This is one is pretty easily regexp-able