Missing connectors in benthos 4.40.0

Describe the bug
benthos does not have many connectors.
Steps To Reproduce
❯ benthos --version
Version: 4.40.0
Date: unknown
❯ benthos list --format json inputs
{"inputs":["batched","broker","csv","dynamic","file","generate","http_client","http_server","inproc","read_until","resource","sequence","socket","socket_server","stdin","subprocess","websocket"]}

Expected behavior
❯ redpanda-connect --version
Version: 4.39.0
Date: 2024-11-07T18:58:48Z
❯ redpanda-connect list --format json inputs
{"inputs":["amqp_0_9","amqp_1","aws_kinesis","aws_s3","aws_sqs","azure_blob_storage","azure_cosmosdb","azure_queue_storage","azure_table_storage","batched","beanstalkd","broker","cassandra","cockroachdb_changefeed","csv","discord","dynamic","file","gcp_bigquery_select","gcp_cloud_storage","gcp_pubsub","generate","hdfs","http_client","http_server","inproc","kafka","kafka_franz","mongodb","mqtt","nanomsg","nats","nats_jetstream","nats_kv","nats_stream","nsq","ockam_kafka","parquet","pulsar","read_until","redis_list","redis_pubsub","redis_scan","redis_streams","redpanda","redpanda_common","redpanda_migrator","redpanda_migrator_bundle","resource","schema_registry","sequence","sftp","socket","socket_server","spicedb_watch","splunk","sql_raw","sql_select","stdin","subprocess","timeplus","twitter_search","websocket"]}

Screenshots

Additional context

Metadata

Notify maintainers

@sagikazarmark

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

I suspect it's because they've been removed from the core and moved to Redpanda.
Not sure what's the right solution here to be honest.
The way Redpanda took over Benthos was controversial and there are still unanswered questions: https://github.com/redpanda-data/benthos/issues/8
Given Redpanda Connect is open source, I think the best path forward is adding that to nixpgs as well: https://github.com/redpanda-data/connect

I posted issue about redpanda-connect: #325717
I think this will solve the current issue.

I think benthos can stay as it is then, although it's probably not very useful in its current form.


i can not run any code in visual studio code and i can not work properly

Type: Performance Issue
i can not run any code in visual studio code and i can not work properly and I want to make a project and then i can't work in this platform and if i use this platform and then it's platform is not working
VS Code version: Code 1.86.2 (903b1e9d8990623e3d7da1df3d33db3e42d80eda, 2024-02-13T19:40:56.878Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz (4 x 2995)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.74GB (0.72GB free)

Process Argv
--crash-reporter-id 7d79321d-28b0-49ee-bd7f-3c45ae2a186a

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	   110	 18996	code main
    0	    42	   896	   utility-network-service
    2	    99	  3524	   gpu-process
    2	   209	  8988	   gpu-process
    1	    65	 17092	window [2] (Issue Reporter)
    0	   191	 19888	window [1] (Welcome - Visual Studio Code)
    0	   119	 20328	extensionHost [1]
    0	   108	 12232	     "C:\Users\91639\AppData\Local\Programs\Microsoft VS Code\Code.exe" "c:\Users\91639\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\json-language-features\server\dist\node\jsonServerMain" --node-ipc --clientProcessId=20328
    0	   102	 23984	shared-process
    0	    30	 24412	   crashpad-handler
    0	    91	 25392	fileWatcher [1]

Workspace Info
;

Extensions (40)

Extension
Author (truncated)
Version

nodejs-bundle
1Yi
1.0.0

svelte-bundle
1Yi
1.0.0

svelte-intellisense
ard
0.7.1

vscode-django
bat
1.15.0

python-environment-manager
don
1.2.4

python-extension-pack
don
1.7.0

vscode-html-css
ecm
2.0.9

prettier-vscode
esb
10.1.0

vscode-svelte-snippets
fiv
0.5.0

code-runner
for
0.12.1

vs-code-runner
Har
2.0.1

svg
joc
1.5.3

vsc-python-indent
Kev
1.18.0

data-workspace-vscode
ms-
0.5.0

mssql
ms-
1.22.1

sql-bindings-vscode
ms-
0.4.0

sql-database-projects-vscode
ms-
1.4.1

debugpy
ms-
2024.1.10441008

python
ms-
2024.1.10451007

vscode-pylance
ms-
2024.2.100

cmake-tools
ms-
1.17.15

cpptools
ms-
1.19.3

cpptools-extension-pack
ms-
1.3.0

autodocstring
njp
0.6.1

java
red
1.28.2024021408

LiveServer
rit
5.7.9

vs-code-prettier-eslint
rve
6.0.0

vscode-standard
sta
2.1.3

svelte-vscode
sve
108.2.2

cmake
twx
0.0.17

intellicode-api-usage-examples
Vis
0.2.8

vscodeintellicode
Vis
1.2.30

vscode-java-debug
vsc
0.56.0

vscode-java-dependency
vsc
0.23.4

vscode-java-pack
vsc
0.25.15

vscode-java-test
vsc
0.40.1

vscode-maven
vsc
0.44.0

jinja
who
0.0.8

JavaScriptSnippets
xab
1.8.0

vscode-surround
yat
1.5.0

(2 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
vscoreces:30445986
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
accentitlementsc:30887149
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
pydisww1:30959800
b5d27386:30958190
fegfb526:30961430
3ef8e399:30964150
e3gdj431:30958358
ccp2r3:30958157

considering your saying this is a performance issue and you have an i3 with 700 mb ram free. i would say your issue is caused by low system resources to run the program and perform the tasks you want to do

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

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


Add new pause method to the consumers which limits the size of returned string

See #23.

Never mind, this implementation is buggy and breaks expect4j.


Inconsistent $map representation

Consider a small template:
tosca_definitions_version: tosca_simple_yaml_1_3
topology_template:
  inputs:
    test:
      type: map
      default: {}
      key_schema:
        type: string
      entry_schema:
        type: string

Let's parse it and dump to yaml:
> puccini-tosca parse test.yaml
description: ""
nodeTemplates: {}
groups: {}
policies: {}
inputs:
  test:
    $meta:
      type: map
      key:
        type: string
      value:
        type: string
    $map: []
outputs: {}
workflows: {}
substitution: null
metadata: {}
scriptletNamespace: {}

Here we have $map: []

Let's compile it and dump:
properties:
  tosca:
    description: ""
    inputs:
      test:
        $map: null
        $meta:
          key:
            type: string
          type: map
          value:
            type: string
    metadata: {}
    outputs: {}
vertexes: {}

Here we have $map: null

Let's parse and dump to json:
> puccini-tosca parse test.yaml -f json
{
  "description": "",
  "groups": {},
  "inputs": {
    "test": {
      "$map": null,
      "$meta": {
        "key": {
          "type": "string"
        },
        "type": "map",
        "value": {
          "type": "string"
        }
      }
    }
  },
  "metadata": {},
  "nodeTemplates": {},
  "outputs": {},
  "policies": {},
  "scriptletNamespace": {},
  "substitution": null,
  "workflows": {}
}

Here $map: null

Expected
I expect that $map is equal to an empty list [], as I have provided a default value {}.

So, parse is different from compile and is meant more for debugging. Is there a specific use case for you?

Sorry for the belated reply!
I expect [] in $map as I have provided a default value {}. It is confusing to see null in both cases: when the value is undefined and when I explicitly define it with an empty map. And parse (in yaml) provides a correct output for me, but compile doesn't.
Maybe I miss something regarding the design of the API, and null should be always considered an empty collection?

OK, I see now -- I would indeed consider this a bug in compile. There should be a consistent zero value according to the type.

I did some testing, I think the issue is that you are not coercing the values. If you run with -c you will get consistent results. (This is still a bug, I think specifically with inputs)

Fixed, but note that maps appear in Clout as lists of entries, not maps. But now you will get an empty list instead of null.


[bin] change name of beam to nbest

nbest is not required for onnx exporting, so just remove it.

nbest is not required for onnx exporting, so just remove it.

nbest is not required for onnx exporting, so just remove it.

Agreed. This is a legacy issue, in the first version of export_onnx_cpu,  beam(or nbest) was made static.


Simplify the RingSolver, remove remaining postulate.

Dear Sandy,
I enjoy your paper reviews on reasonablypolymorphic.com.
After reading your text about ring solving, I wanted to point out that you can strongly simplify the development by making 2 changes: (1) remove the unnecessary natural number index of Poly and Horner and (2) slightly change the definition of *H.
See the pull request for more details.
Hope this helps,
Dominique

Perhaps some extra explanation: the main simplification is removing the unnecessary indices, which removes the need to prove that indices are equal when formulating equalities between polynomials.  However, this broke termination of one function, whose termination argument apparently relied on the fact that the index of a polynomial decreased in a recursive call, while the polynomial itself was not strictly smaller.  This problem seemed easiest to solve solved by changing the definition of *A and following the simpler recursion structure in the proof whose termination argument broke (I don't remember which one that was, TBH).

This is amazing; thank you so much Dominique!


Use -x with bash for Jenkins scripts

Its the default in our Jenkins if you don't specify a different
interpreter via shebang. This fixes those cases and stand alone files.

@JanZerebecki Wouldn't it be helpful to also ensure that PS4 is set to something useful? e.g.
export PS4="+\${BASH_SOURCE/\$HOME/\~}@\${LINENO}(\${FUNCNAME[0]}): "


Agario Page Not Working!!

When i do agar.io/?ip=localhost:443
My page is stoping on agario i cant close the tab....
i have 2 scripts only why

@Megabyte918

only you samby

lol

Yea fr me too its not loading..... Iam using 2 scripts together(custom skins and E R controls).....

Todays version working fine with diferent clients including agar.io. Check your setup.

There may be some conflicts when you use more than one script. They don't happen always, but in your case (custom skins and ERTP controls) a conflict happened. Disable the script that's less necessary for you.

@NameYT It's because the URL of the skin that you are using is invalid, make sure it ends with .jpg, .bmp, .png, or .gif

Fixed, sorry for the long wait


Spreading multiple objects into one doesn't type check correctly

Bug Report
🔎 Search Terms
spread operator
object types
🕗 Version & Regression Information
Version 4.8.4
Version 5.0.0-dev.20221103
⏯ Playground Link
Playground link with relevant code
💻 Code

function processStrings(input: {[index: string]: string}) {
	// Expecting an object with values of string type (with `length` property)
	for (var key in Object.keys(input)) console.log(input[key].length);
}

function test(parameters: {[index: string]: string | number}) {
	var myStuff = {...{asd: "qwe"}, ...parameters};
	// No errors here, while `myStuff` clearly can contain numbers
	processStrings(myStuff)

	var myStuff2 = {...parameters};
	// When leaving out the other object, the error is now correctly determined
	processStrings(myStuff2)
}

// Providing an object with value of number type
test({"key": 123});

🙁 Actual behavior
The myStuff variable doesn't receive the predictable {[index: string]: string | number} type, therefore the script crashes at runtime
🙂 Expected behavior
The myStuff variable should receive the predictable {[index: string]: string | number} type, therefore the IDE or the compiler should show errors about this

See #50559 and, in particular, #50185 (comment).
Spread is currently modeled using intersection types, which sometimes produces the wrong type. To model this correctly TS would need a dedicated type operator for spread.

So, this is a known TS limitation. Thank you for the clarification!

Yeah, specifically the limitation is that TS models { ...t, ...u } as T & U, but this is wrong when t and u have overlapping properties (a string index signature is apparently considered to overlap with everything for this purpose).
The issue you want to follow is #10727.


As an operator I want to define inclusions and exclusions for an action so I can indicate what the action should be applied to

Users need the ability to control what should receive an action by including or excluding them based on attributes. These rules can be different from the rules of the promo trigger.  For example, a cart value trigger could include Brand is Northface so that any Northface item's value is included in the cart value that triggers the promo, but the promo action (eg 10% Off) may exclude Brand is Northface so that Northface items do not receive the 10% discount.
Each Condition should include an Attribute, Operator, and Value

[ ] User can set inclusions and exclusion conditions for an action

[ ] Inclusions and Exclusions default to including all attributes and values

[ ] Explicit Inclusions take priority over exclusions, so if we have Include Mens Shoes and Exclude Footwear (Where Mens Shoes are included under Footwear) then Mens Shoes inclusion would override the broader Footwear exclusion on any Mens Shoes

[ ] Each inclusion or exclusion condition can be based on the following attributes

Brand

Class

Tag (Category)

Vendor ID

Style ID

SKU

Price Type

Full Price
On Sale
On Clearance

[ ] Each inclusion or exclusion condition can be based on the following Operator

Is (for multiple values, all values must be true)
Is Any Of (for multiple values, any match is ok)

[ ] Each inclusion or exclusion condition can have multiple values that can be set by user (based on the Attribute selected previously)

[ ] User can remove a condition of the inclusion or exclusion
Mockup (Promotions / Detail / Action / Inclusions): https://www.figma.com/file/vWot2cXXgjcsLpMq4SAX90/Kinetic?node-id=2020%3A54523&t=c9z0pplx66ozEPgb-0

@vannguyenn I noticed that when I enter a comma separated set of IDs in the Value field of the condition, it seems to show them as one entry. This is fine as long as on the backend the string is accepted and the values are identifiable as a comma separate list. Can you confirm that it works that way?


Update Method now supports STL Containers.

Both parameters support Forward Iterable containers (uses C++14)
Util function just to have some clean checking in the actual Update template method.

Saw your tool and saw the note about supporting std::vector...decided to try and see how bad it would be to support any STL forward iterable...not too bad. I didn't put much safety though..technically i should check the types of the iterable match but..meh.


Ensure that sequence numbers are passed as arrays; make validation ordering consistent

/azp run net - servicebus - tests

/azp run net - servicebus - tests


Added Front end with Routing Example

Add an example.

I'm thinking whether it wouldn't make more sense to make the code snippets into actual apps people can run, eg via Workspaces, eh in the https://github.com/fulcro-community/FulcroDemos repo... What do you think?


Redirect root ("/") only

1. What version of Caddy are you running (caddy -version)?
Caddy 0.9.5
2. What are you trying to do?
Redirect from "/" to "/xyz".
3. What is your entire Caddyfile?
localhost

redir / /xyz 302

4.  What did you expect to see?
When requesting http://localhost:2015 I would expect the browser to be redirected to http://localhost:2015/xyz (or ultimately http://localhost:2015/xyz/).
6. What did you see instead (give full error messages and/or log)?
The browser gets caught up in an infinite redirect loop (ERR_TOO_MANY_REDIRECTS in Chrome).
7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?
Create a directory, put the above Caddyfile in it. Create a sub-directory called xyz containing an index.html with any content (hello world). Run Caddy.

As I understand from the docs, the redir directive treats / as a special catch-all value. How would I change this behavior so that it literally just redirects / and nothing else?

I came up with the following workaround Caddyfile:
localhost/xyz {
  root xyz
}

localhost {
  redir / /xyz 302
}

This basically works. Until you create another sub-directory xyz/foo (with an index.html). Then it leads to issue #1327 (if the trailing slash is omitted).

That's a helpful solution @thomasheller. But it seems to me this should be fixed, so that /applies simply to the / route. The catch-all behaviour seems unnecessary - because as far as I'm aware simply ommitting the first parameter makes it a catch-all doesn't it? Aren't the following two currently equivalent?
redir / /xyz 302
redir /xyz 302

Because if so, I think it would be much more obvious is the former related to a literal / instead.

@nottrobin Currently, both directives are equivalent. Internally, redir /xyz is basically an alias for redir / /xyz (see redirect/setup.go).
If would be helpful though to introduce a distinction here as you suggested.
What I intend (omitted in the above examples) is to direct from / to different sub-directories depending on the user's locale. Using the workaround, I would have to declare each directory as its own site in Caddyfile, duplicating all the directives for each site. If it would be possible to redirect / only, a single site would suffice. In this case, a fix would really simplify things.
Would there be any downside to fixing this -- except that it can break existing Caddyfiles?

Ah, I guess for now the correct solution (using a single site) is as follows:
localhost

redir 302 {
  if {path} is /
  / /xyz
}

Yeah, sorry it's not ideal, it's just that the catch-all redirect seems to be more common (and useful) in general. I'm strongly considering a particular Caddyfile upgrade for version 2.0 (we're nearing 1.0, for reference) that will make it a little easier, and give the Caddyfile better request matching powers, while hopefully keeping it nice and simple. But, someday. :)

@mholt Can this be reconsidered? I've run into this multiple times. Just redir 302 is a catch-all, correct?

Because they're treated the same, there doesn't seem to be a way to have separate redirects for / and catch-all.
I'm changing my domain and URL structure, so I want to 301-redirect some specific popular old pages to their new location in the new domain, I want to 301-redirect the root to the new domain's root, and I want a catch-all 302-redirect to the new domain's root (so I'm able to add more 301 redirects later on in case I forgot about any old important popular/bookmarked URLs). Generally I'm pretty cautious about 301 redirects because I've bitten myself hard before with them.
http://localhost:8080 {
    redir /coolpage http://new.example.com/2018/coolpage
    redir {
        if {path} is /
        / http://new.example.com
    }
    redir / http://new.example.com 302
}

results in:
Activating privacy features... done.
2018/06/03 01:57:17 Caddyfile:7 - Error during parsing: rule with duplicate 'from' value: / -> http://new.example.com

FWIW, in Caddy 2, this is done simply by:
redir / https://new.example.com{uri}

since path matching is exact by default.

Is it? The following doesn't work for me:
git.example.com {
  redir / https://github.com/newname permanent
  route /oldname/* {
     uri replace /oldname/ /newname/
     redir https://github.com{uri} permanent
  }
}

The goal is to redirect requests to the old project's name gitlab instance to the new project's name github, but send the / url to the new project, not the github homepage. What happens in practice is that / gets redirected to github's homepage.

@nolanl works fine for me:
Caddyfile:
:8881                                                                                redir / https://github.com/caddyserver

curl:
~ $ curl -v localhost:8881
* Rebuilt URL to: localhost:8881/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8881 (#0)
> GET / HTTP/1.1
> Host: localhost:8881
> User-Agent: curl/7.55.1
> Accept: */*
>
< HTTP/1.1 302 Found
< Location: https://github.com/caddyserver
< Server: Caddy
< Date: Tue, 08 Sep 2020 05:00:42 GMT
< Content-Length: 0
<
* Connection #0 to host localhost left intact

This doesn't seem like an issue. Instead of commenting on old closed issues, please ask your usage questions on the Caddy community forums. We prefer to keep the GitHub issue board for bugs and feature requests. Don't forget to fill out the thread template so we can help you!


Question about training MSVD.

Thank you for sharing great work.
I'm trying to reproduce MSVD retrieval result but there are some minor questions.
How did you handle multiple sentences per one video in training and test, respectively.
I think that each sentence can be regarded as individual samples during training, but one sentence has to be selected per one video during test.
Can you share your protocol to handle this?
Thanks again for your great work.

Please check here https://github.com/OpenGVLab/unmasked_teacher/issues/12#issuecomment-1723248511. I have uploaded the test files we used.

Thanks for uploading test file.
However, in the test file, one video includes multiple sentences and I still have no idea to handle those multiple sentences when training and test.
Can you provide detail implementation details for this?

Please check the warning first. For multiple sentences, you can refer to the code here. It will simply use multiple text as ground truths.

Thanks for the response.
As I understand, multiple sentences per one video is regarded as an individual sample.
This does not make any problem in training but I think that one video has to match one sentence during test since one sentence has to be retrieved by one video.
How did you deal with this?

In my opinion, during testing, it is like a question with multiple answers.

You can check the code in https://github.com/OpenGVLab/unmasked_teacher/blob/8e06491336f8b1692b4ffafd99d23d0fadf362d3/multi_modality/tasks/retrieval_utils.py#L400-L420

Hi, I'd like to cite your work as a baseline of our project. Can you provide me the updated MSVD results on text-to-video retrieval and video-to-text retrieval?

Hi! I have updated some results in MODEL_ZOO. The b_5M is still running.

All the results have been updated.

Thank you for sharing the results.


Turning on "--keep-dirs" gives no output

I am trying on the command line. Turning on the "--keep-dirs" option seems to stop trafilatura from extracting (fetching).
trafilatura -i  links/file-with-links.txt  --output-dir textOut <-- produces an output (as expected).
But, trafilatura -i  links/file-with-links.txt  --keep-dirs --output-dir textOut doesn't produce anything.
I am using  version 1.12.2 on the mac with python 3.13.

The same result with version 2.0.

Your command just writes a file named .txt in the target directory. --keep-dirs is useless if you download files from the internet, there are no directory to keep. It is best used with data already available on disk.

I see. I was hopping it would help with the file naming.
Thank you for the clarification.
But, I think it should not block the extraction even if it doesn't do anything. A little tweaking of the code might me useful so that the fetching will proceed while the option is ignored. Alternatively, a little disclaimer on the user manual can help the user not to use the option for crawling.


Added Extension for Developers

🛠 Fixes Issue
Fixes #339
👨💻 Changes proposed

This extension finds frontend developer keywords and highlights them.
Useful for users looking for frontend developer jobs

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📷 Screenshots

@praniti111 @ridsuteri
Can you Review this PR

@hariketsheth

The extension "developer-color" is not accessible, also please attach the screenshots of the actual working of the project.

@ridsuteri Please review

@hariketsheth again, if this extension just highlights a word, which can simply be done using CTRL+F,
is there any need for such an extension?

@hariketsheth again, if this extension just highlights a word, which can simply be done using CTRL+F, is there any need for such an extension?

It highlights all the terms applicable for developers
https://user-images.githubusercontent.com/72455881/170179399-90645018-3d06-4ef0-8852-25b6b9b286ef.mp4

I can see only front-end and backend keywords in the file...
In that case you can add more keywords to the file..
Also this PR has 2-3 other folders added, Please remove them as well

I can see only front-end and backend keywords in the file... In that case you can add more keywords to the file.. Also this PR has 2-3 other folders added, Please remove them as well

I have added new 34 developer words. Please proceed with Review, @ridsuteri

Proceed with Review, Updated @ridsuteri 👍🏻


USB joystick in kivy fails on process_as_mouse_or_keyboard

Versions

Python:  3.6.6 and 2.7.15
OS: archlinux raspbian and ubuntu
Kivy: commit -> a95212d647528c2cc5ee95ff44616fb4029043c8
Kivy installation method: https://kivy.org/docs/installation/installation-rpi.html#manual-installation-on-raspbian-wheezy

Description
I was attempting to use a DragonRise USB controller to add many buttons and a joystick to an embedded raspberrypi project.
Code and Logs
# Joystick / Gamepad example
# STOP_FIRE from https://wiki.libsdl.org/SDL_JoyAxisEvent

from kivy.app import App
from kivy.clock import Clock
from kivy.uix.widget import Widget
from kivy.core.window import Window
from kivy.properties import ObjectProperty, ListProperty

class Listener(Widget):
    # fire / trigger axis
    FIRE = (2, 5)
    STOP_FIRE = -32767

    # min value for user to actually trigger axis
    OFFSET = 15000

    # current values + event instance
    VALUES = ListProperty([])
    HOLD = ObjectProperty(None)

    def __init__(self, **kwargs):
        super(Listener, self).__init__(**kwargs)

        # get joystick events first
        Window.bind(on_joy_hat=self.on_joy_hat)
        Window.bind(on_joy_ball=self.on_joy_ball)
        Window.bind(on_joy_axis=self.on_joy_axis)
        Window.bind(on_joy_button_up=self.on_joy_button_up)
        Window.bind(on_joy_button_down=self.on_joy_button_down)

    # show values in console
    def print_values(self, *args):
        print(self.VALUES)

    def joy_motion(self, event, id, axis, value):
        # HAT first, returns max values
        if isinstance(value, tuple):
            if not value[0] and not value[1]:
                Clock.unschedule(self.HOLD)
            else:
                self.VALUES = [event, id, axis, value]
                self.HOLD = Clock.schedule_interval(self.print_values, 0)
            return

        # unschedule if at zero or at minimum (FIRE)
        if axis in self.FIRE and value < self.STOP_FIRE:
            Clock.unschedule(self.HOLD)
            return
        elif abs(value) < self.OFFSET or self.HOLD:
            Clock.unschedule(self.HOLD)

        # schedule if over OFFSET (to prevent accidental event with low value)
        if (axis in self.FIRE and value > self.STOP_FIRE or
                axis not in self.FIRE and abs(value) >= self.OFFSET):
            self.VALUES = [event, id, axis, value]
            self.HOLD = Clock.schedule_interval(self.print_values, 0)

    # replace window instance with identifier
    def on_joy_axis(self, win, stickid, axisid, value):
        pass
        #self.joy_motion('axis', stickid, axisid, value)

    def on_joy_ball(self, win, stickid, ballid, xvalue, yvalue):
        pass
        #self.joy_motion('ball', stickid, ballid, (xvalue, yvalue))

    def on_joy_hat(self, win, stickid, hatid, value):
        pass
        #self.joy_motion('hat', stickid, hatid, value)

    def on_joy_button_down(self, win, stickid, buttonid):
        print('button_down', stickid, buttonid)

    def on_joy_button_up(self, win, stickid, buttonid):
        print('button_up', stickid, buttonid)

class JoystickApp(App):
    def build(self):
        return Listener()

if __name__ == '__main__':
    JoystickApp().run()

output:
[INFO   ] [HIDMotionEvent] using <E-Signal/A-One USB Gaming Mouse>
[INFO   ] [HIDMotionEvent] using <SONiX USB DEVICE>
[INFO   ] [HIDMotionEvent] using <DragonRise Inc.   Generic   USB  Joystick  >
[INFO   ] [HIDMotionEvent] <DragonRise Inc.   Generic   USB  Joystick  > range ABS X position is 0 - 255
[INFO   ] [HIDMotionEvent] <DragonRise Inc.   Generic   USB  Joystick  > range ABS Y position is 0 - 255
[INFO   ] [HIDMotionEvent] using <E-Signal/A-One USB Gaming Mouse>
[INFO   ] [HIDMotionEvent] <SONiX USB DEVICE> range position X is 0 - 255
[INFO   ] [HIDMotionEvent] <SONiX USB DEVICE> range position Y is 0 - 255
[INFO   ] [HIDMotionEvent] <SONiX USB DEVICE> range pressure is 0 - 255
[INFO   ] [HIDMotionEvent] using <SONiX USB DEVICE>
 Exception in thread Thread-3:
 Traceback (most recent call last):
   File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
     self.run()
   File "/usr/lib/python2.7/threading.py", line 754, in run
     self.__target(*self.__args, **self.__kwargs)
   File "/home/pi/kivy/kivy/input/providers/hidinput.py", line 700, in _thread_run
     process_as_mouse_or_keyboard(*infos)
   File "/home/pi/kivy/kivy/input/providers/hidinput.py", line 551, in process_as_mouse_or_keyboard
     z = keyboard_keys[ev_code][-1
 KeyError: 290

I have tried this on kivey 1.9, 1.10, and 1.11 on ubuntu, raspbian and arch linux, and on both x86_64 and armhf architectures with the dragonrise controller as well as some generic game controllers as well (all work under jstest)
stackoverflow where I asked about this bug first

I'm not quite sure why a joystick is detected as mouse/keyboard. Perhaps try to disable hidinput and see if SDL detects the device? The joystick is handled in SDL window anyway.

What's the best method to disable hidinput?
I see the provider code here:
https://kivy.org/docs/_modules/kivy/input/providers/hidinput.html
and in the config there is this section:

[input]
mouse = mouse
%(name)s = probesysfs,provider=hidinput

should I perhaps just change the provider there?  I tried removing the line entirely but now I get no output at all (joystick does not seem to respond).  Is there a way for me to specify which device?  like /dev/input/js0?

you might be interested in this documentation:
https://kivy.org/docs/api-kivy.input.providers.probesysfs.html

@tshirtman that is indeed interesting, yet I can't help feeling that I'm hacking on a problem that is probably already solved, in pygame this is indeed pretty easy to test:
https://gist.github.com/joshuacox/fa079f4e91102c8349aef0f544903dae
and while running the default code I do get lot's of spam from the joystick axis:
https://github.com/kivy/kivy/blob/master/examples/miscellaneous/joystick.py
but commenting out that code and trying to listen to the buttons I get nothing.


Add PlutoGridRowSelectionCheckBehavior

This PR adds PlutoGridRowSelectionCheckBoxBehavior to the PlutoGrid configuration which allows for automatically enabling/disabling the check box of rows when a row is tapped (selected).
I think this is a pretty nice feature to have for those who primarily use mode: PlutoGridMode.selectWithOneTap and would like to provide a better UX by not forcing the user to use the checkbox to check/uncheck rows.
https://github.com/user-attachments/assets/66fc171b-37d1-47f9-a8ee-6061e0a06ec9

Merged thank you!


[SPARK-23518][SQL] Avoid metastore access when the users only want to read and write data frames

What changes were proposed in this pull request?
https://github.com/apache/spark/pull/18944 added one patch, which allowed a spark session to be created when the hive metastore server is down. However, it did not allow running any commands with the spark session. This brings troubles to the user who only wants to read / write data frames without metastore setup.
How was this patch tested?
Added some unit tests to read and write data frames based on the original HiveMetastoreLazyInitializationSuite.
Please review http://spark.apache.org/contributing.html before opening a pull request.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1068/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87681 has started for PR 20681 at commit b447bea.

@felixcheung Can you take a look at the changes in the R tests?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1071/
Test PASSed.

Test build #87684 has started for PR 20681 at commit 292cbce.

Test build #87686 has started for PR 20681 at commit 57f2a3d.

thx, let's wait for tests

Test build #87681 has finished for PR 20681 at commit b447bea.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87681/
Test FAILed.

Merged build finished. Test FAILed.

Test build #87684 has finished for PR 20681 at commit 292cbce.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87684/
Test FAILed.

Merged build finished. Test FAILed.

Test build #87686 has finished for PR 20681 at commit 57f2a3d.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87686/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1092/
Test PASSed.

Test build #87706 has started for PR 20681 at commit 8421e2d.

Test build #87706 has finished for PR 20681 at commit 8421e2d.

This patch fails R style tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87706/
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1115/
Test PASSed.

Test build #87731 has started for PR 20681 at commit 1b29bbd.

Test build #87731 has finished for PR 20681 at commit 1b29bbd.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87731/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1119/
Test PASSed.

Test build #87737 has started for PR 20681 at commit 21c3374.

Test build #87737 has finished for PR 20681 at commit 21c3374.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87737/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1125/
Test PASSed.

Test build #87747 has started for PR 20681 at commit 999f86f.

Test build #87747 has finished for PR 20681 at commit 999f86f.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87747/
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1133/
Test PASSed.

Merged build finished. Test PASSed.

Test build #87757 has started for PR 20681 at commit 5c922ca.

Test build #87757 has finished for PR 20681 at commit 5c922ca.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87757/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1161/
Test PASSed.

Test build #87797 has started for PR 20681 at commit 5c922ca.

Test build #87797 has finished for PR 20681 at commit 5c922ca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87797/
Test FAILed.

retest this please

Retest this please.

Test build #87802 has started for PR 20681 at commit 5c922ca.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1166/
Test PASSed.

Test build #87802 has finished for PR 20681 at commit 5c922ca.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87802/
Test FAILed.

looks like test failures are related?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1180/
Test PASSed.

Test build #87821 has started for PR 20681 at commit 6a962e9.

Test build #87821 has finished for PR 20681 at commit 6a962e9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87821/
Test PASSed.

Merged build finished. Test PASSed.

My original plan to fix the test should not work, because of this test: https://github.com/apache/spark/blob/master/R/pkg/tests/fulltests/test_sparkSQL.R#L3343
The new plan is to run some simple catalog commands immediately after the spark session is created, so the catalog is materialized (like the old behavior).

Can we fix this test? https://github.com/apache/spark/blob/master/R/pkg/tests/fulltests/test_sparkSQL.R#L3343

We can remove the test, but it is not a good practice. You don't know exactly why the test is added, which hidden assuption he wants to guarantee, right?

Overall, I think this suite needs a refactoring: split to in-memory catalog one and hive catalog one. The catalog conf should not be manipulated after the spark context is created. The other way is just a hack.

cc @felixcheung Does this PR look good to you now?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1208/
Test PASSed.

Test build #87858 has started for PR 20681 at commit d0eacc2.

Test build #87858 has finished for PR 20681 at commit d0eacc2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HiveMetastoreLazyInitializationSuite extends SparkFunSuite

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87858/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1212/
Test PASSed.

Test build #87867 has started for PR 20681 at commit d0eacc2.

Test build #87867 has finished for PR 20681 at commit d0eacc2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class HiveMetastoreLazyInitializationSuite extends SparkFunSuite

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87867/
Test PASSed.

LGTM
Thanks! Merged to master.


Refactor parsing

I think a quick(ish) refactor of the parsing modules could pay dividends in the future. Currently the parsing logic looks through a string and extracts based on string manipulation. Then in the same context, the parsing function determines what type of translation should be used for each of the plucked strings (lets call them ‘atoms’).
What I propose is a lightweight framework that predefines ‘atoms’ as a regular expressions. This allows for multi-worded atoms to be searched for with the same amount of effort as any normal encoded/non-encoded atom. Each atom can be predefined and a translator is responsible for translating/decoding each atom into whatever. This way, each module can just build the atoms it expects to find in whatever it’s going to translate, add them to translators that decode even the most complicated ones (this will allow for those awful ones like tornados and what not), and then in the parser modules, you’d never have to change anything and can add as many handlers as you want.
An example in the remarks could be
PEAK_WIND = r”””
\bPK WND
(?<direction>\d{3})
(?<velocity>\d{2,3})
/
(?<hours>\d{2})?  # rarely present
(?<minutes>\d{2})
\b”””

Using that, some class...
class PeakWindAtom(Atom):
    pattern = PEAK_WIND
    search(str) -> match or None
    __contains__(str) -> bool

would be used by
class PeakWindHandler(AtomHandler):
    atom: some Atom
    <<abstract>> can_translate(str) -> bool : atom in is string
    <<abstract>> translate(str) -> str: decode the data

would be used by
class RemarksParser(Parser):
    - handlers: List[handlers]
    + parse(remarks_string) -> Dict[str, str]: raw-decoded pairs
    + add_handler

The patterns and atoms could be reused. And simple ones like ACFT MSHP could be build using a simple factory (so the API doesn’t have to change for simple ones or complex ones). All of your existing decoding logic could stay in place, or slowly be changed to regex group dicts for easier changes.
No tests would need to be changed as far as I can tell. Added tests will be in their own module that you can place wherever you like best before any merge.
I think starting with the remarks module is a good place to start. Before I’d get started and submit a PR, is this something you’d be open to?

Interesting. The parser handling is roughly how I started organizing the PIREP parser, but that's function-based. I'd be interested to see how effective regex will be in extracting remarks elements as those are by far the most open-ended.
My one recommendation with the code above is to compile the regex expression that is assigned to the class. I'm interested to see how that turns out. I've been meaning to split up the avwx._core module into parts and refactor it anyway.

I was tooling around with the idea last night and came to a similar conclusion. I think that only a single class would be needed if you wanted to commit to regex based internals, but a function-based class could be subclassed to share the interface that the handlers would use as well. If that is the case, we should ensure they are implemented to return something immutable when they look for the presence of an atom in a string. And that should reveal the atom's location in the string, so that it can be extracted if you wanted destructive parsing, and the actual raw match from the input string that a handler would use for the translation.
# all subclass searching should be able to make this
class AtomSpan(NamedTuple):
    """
    Finding within a string. Can be used for slicing as `end` is non-inclusive.
    """
    match: Optional[str]
    start: Optional[int]
    end: Optional[int]

class BaseAtom(abc.ABC):
    """Atom represents a single encoded entity in an encoded string"""

    @abc.abstractmethod
    def to_atom_span(self, item: str) -> AtomSpan:
        """Return an `AtomSpan`. If no match found, return `AtomSpan(None, None, None)`"""
        pass

    def is_in(self, string) -> bool:
        """Return True if the atom is in the string"""
        return self.to_atom_span(string).match is not None

Some subclass that uses regex instead of callables
class RegexAtom(BaseAtom):
    """Atom defined by regex pattern"""

    def __init__(self, regex_pattern: re.Pattern, name: Optional[str] = None):
        self.regex = regex_pattern
        self.name = name

    @property
    def regex(self) -> re.Pattern:
        return self._regex

    @regex.setter
    def regex(self, regex: re.Pattern):
        if not isinstance(regex, re.Pattern):
            raise TypeError("regex must be a compiled `re.Pattern`")
        self._regex = regex

    @classmethod
    def from_pattern_string(
        cls, pattern: str, *flags: re.RegexFlag, name: Optional[str] = None
    ) -> "RegexAtom":
        """
        Return a new instance of `RegexAtom` from a string pattern.
        :param pattern: string to be compiled into regex pattern
        :param flags: flags to pass to `re.compile`
        :param name: name for repr
        """

        if flags:
            regex = re.compile(pattern, sum(flags))
        else:
            regex = re.compile(pattern)

        out = cls(regex, name=name)

        return out

    def to_atom_span(self, string: str) -> AtomSpan:
        """
        Search the string for the atom
        """
        match = self.regex.search(string)
        if match:
            start, stop = match.span()
            return AtomSpan(match=match.group(), start=start, end=stop)
        return AtomSpan(None, None, None)

    def search(self, string: str) -> Optional[re.Match]:
        """
        Return `re.Match` object or None
        """
        return self.regex.search(string)

and a handler
class RegexAtomHandler:
    """Handle the individual translation of an atom"""

    def __init__(
        self, atom: "RegexAtom", translation_callable: Callable[["Match"], str]
    ):
        self.atom = atom
        self.translation_callable = translation_callable

    def __repr__(self):
        return f"{type(self).__name__}(atom={self.atom!r})"

    def __call__(self, *args, **kwargs):
        return self.translate_atom(*args, **kwargs)

    @property
    def translation_callable(self):
        return self._translation_callable

    @translation_callable.setter
    def translation_callable(self, new_callable: Callable[["Match"], str]):
        if not callable(new_callable):
            raise TypeError("translation_callable must be a callable")
        self._translation_callable = new_callable

    def can_handle(self, atom_string: str) -> bool:
        """Return True if handler is qualified to handle translation"""
        return self.atom.is_in(atom_string)

    # todo: allow for default error handling option
    def translate_atom(self, string: str) -> str:
        """Perform translation on the atom string"""
        match = self.atom.search(atom_string)
        if not match:
            raise CanNotHandleError(
                f"{self.atom!r} has nothing to translate from {atom_string!r}"
            )
        result = self.translation_callable(match)

        return result

Quick one-one handlers could still use regex with simple strings and keep the regex internals for parsing.
# atom instance
ACFT_MSHP = RegexAtom.from_pattern_string(' ACFT MSHP ')

# handler class code
...
    @classmethod
    def new_simple_handler(cls, atom, translation: str):
        _callable = lambda match: return translation
        return cls(atom, _callable)
...

...
# handler instance code
acft_mshp_handler = RegexAtomHandler.new_simple_handler(ACFT_MSHP, "Aircraft Mishap")
...

# some parser in the remarks.py module
parser.add_handler(acft_mshp_handler)

translations = parser.parse_into_translations(long_remarks_string)  # Dict[str, str]

But with that same client code...
# some patterns module
RVR_PATTERN = re.compile(r"""\b
R(?P<runway>\d{2}[LCR])
/
(?P<plus>\?P)
(?P<visibility>\d{4})
(?P<units>\w{2})?
V?
(?P<upper>\d{4})
(?P<units>\w{2})?
""", re.M)

# remarks module
rvr_atom = RegexAtom(RVR_PATTERN, some_callable_that_uses_the_match)

...

parser.add_handler(rvr_atom)

I think the benefit would be that even though regex is evil incarnate, you could test that pattern with as many variations as you could muster without affecting the parser code. All the translation callable would need is the regex.match object it could call match.groupdict() on and get all of the parsed units out of.

So I did a little tooling around and drummed up a rough stub of a parsing implementation that could sit on top of any new translations you were thinking up. Since you were looking to start parsing the airep soon, would you want to try this out? And/or, would you want to open a branch for the refactoring of the remarks module? I added a few translations for things like Tornado activity and CIG/VIS as secondary locations for a proof of concept.

The AIREP parsing is on hold for now. The PIREP parser is in place, but it is very error prone when it encounters more descriptive report elements. I can put together a list of reports encountered that break the current version.
I can open a refactor branch in the source we can use.

That sounds like a good place to start. If you open one, I can open a PR against it with the rough work I did and we can poke around at it from there. The changes I made to the existing code are really only impactful in that it adds two sub packages. Nothing else is hooked up to the existing parsing code. The tests I wrote were all pytest based, would you prefer them as unittest testcases?

As long as running pytest can discover them, doesn't matter to the CI. I'm not using unittest.TestCase in an optimal fashion right now anyway.
I've added the refactor branch.


Remove uses of string_format

We should transition away from string_format. For simple cases of formatting integers with "%i", we could consider using std::to_string instead.
Reference: https://github.com/lairworks/nas2d-core/issues/507

I notice there are a lot of string_format calls with very similar format strings, such as:

"%i/%i"
"%i / %i"
"%i of %i"
"%i, %i"

Although possible to replace each with two calls to std::string, it may be less code, and easier to read code, if common formatting was extracted to a function. For example:
std::string formatPartsTotal(int parts, int total)
{
    return std::to_string(parts) + " / " + std::to_string(total);
}

It might be possible to modify some of the strings so they are an exact match, so a common formatting function could be used:
"%i/%i" => "%i / %i"
It might also be possible to pass a separator to the format function:

"/"
" / "
" of "
", "

Either way, perhaps such a common formatting method could go in Common.h/Common.cpp.


Text is cut off from project picker view

AppMap vscode 0.44.0-rc1 release.
on Mac OS X Montery
The project picker helper bubbles text is cut off when hovering over them.

There's an overflow: hidden in .header which appears to have broken this. The rule was meant to prevent the feature labels from overflowing out of the right side of the header when the viewport is narrow.

Closed because this was fixed by this commit: https://github.com/getappmap/appmap-js/commit/4bf770a06c106aca4fcac158c9e22c0fafc259f4


[wip] Show tag values in list --active

This first commit is to check my local testing setup by triggering a travis run. I've attempted to pin webmock as mentioned in https://github.com/briancain/vmfloaty/issues/22 but to no avail. I'm hoping by triggering a travis run I can either give myself a clue as to what I'm doing wrong locally or have a better reproduction case as to why it's failing.
I enable travis on my fork and tested out a couple different combinations. You can see my version of this PR here: https://github.com/justinstoller/vmfloaty/pull/1
Hopefully that info is helpful? Either way I'm happy to rebase away my experimental commits wrt Gemfile pinning and just submit the last commit, with the tag formatted output, if you'd like.

@justinstoller thanks! I'll check this out tomorrow. Looks good otherwise, also woo tests!

Woo! Looks good to me:
brian@yocalhost:vmfloaty % floaty modify --tags '{"tag":"myvalue"}' qf8dyzx0r1itkl9                                                                                ±[SHOW-TAGS]
Successfully modified vm qf8dyzx0r1itkl9.
brian@yocalhost:vmfloaty % floaty list -a                                                                                ±[SHOW-TAGS]
Running VMs:
- qf8dyzx0r1itkl9.delivery.puppetlabs.net (centos-7-x86_64, 0.01/12 hours, tag: myvalue)

If you don't mind, it would be great if you'd squash the commits down like you mentioned! And then I'd be happy to merge :) 👍


enabled arrow icons to jump to previous and next lessons

Discussed offline, let's move to the deck component and populate using slides rather than inputs

Discussed offline, let's move to the deck component and populate using slides rather than inputs


Playground: unable to import submodule from npm package

I'm trying to import a submodule from a package imported from NPM.
But it doesn't seem to work.
The root module works just fine.
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbzgM2AGxgUynAviqCEOAcigA8ArAZwHoIxsBDGaakgbgCgg

import { Observable } from 'rxjs';       // <-- this works
import { filter } from 'rxjs/operators'; // <-- this doesn't work

rxjs/operators is included in the rxjs npm package
Expected behavior:
Should be able to import from 'rxjs/operators'
Actual behavior:
This error is shown

Cannot find module 'rxjs/operators' or its corresponding type declarations.(2307)

Cool, makes sense, open to PRs adding support for this 👍🏻


Update akka-actor, akka-testkit to 2.6.12

Updates

com.typesafe.akka:akka-actor
com.typesafe.akka:akka-testkit

from 2.6.7 to 2.6.12.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.akka" } ]

labels: library-update, semver-patch

Pull Request Test Coverage Report for Build 109

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 87.302%

Totals

Change from base Build 105:
-0.4%

Covered Lines:
55

Relevant Lines:
63

💛  - Coveralls

Pull Request Test Coverage Report for Build 109

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 87.302%

Totals

Change from base Build 105:
-0.4%

Covered Lines:
55

Relevant Lines:
63

💛  - Coveralls

Superseded by #54.


Correction for raw affiliation Eshelman School of Pharmacy; Laboratoire de Génie de l'Environnement Industriel; Texas A&M International University [Laredo]

Correction needed for raw affiliation Eshelman School of Pharmacy; Laboratoire de Génie de l'Environnement Industriel; Texas A&M International University [Laredo]
raw_affiliation_name: Eshelman School of Pharmacy; Laboratoire de Génie de l'Environnement Industriel; Texas A&M International University [Laredo]
new_rors: 028861t28;
previous_rors: 028861t28;0455wwj08
works_examples: W2741196514
contact: 852eb4d5470cd534e6bdb6b997d9e7e7:572ef6cd1bf166e8f2a3bfc2 @ centralesupelec.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Opps.  I inverted the logic on the warning check

It warned on everything.  I corrected the logic and wrote more unit tests.

Lgtm 👍
#release @mlehmoine


Update README.md

Fixed typos and words with grammar mistakes.

Clearly describe the problem and solution
Fixed typo errors of your file.
Relevant issue number(s) if applicable
Did you run npm run lint from the viewer or parliament directory (whichever you are making changes to) and correct any errors
Did you Ensure that all tests still pass by navigating to the tests directory and running ./tests.pl --viewer
License
I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

We use US spelling of words, thanks!


fix  clerical error

Clerical error

seems that master branch does not have such a bug

seems that master branch does not have such a bug

https://github.com/open-mmlab/mmdetection/blob/7bd39044f35aec4b90dd797b965777541a8678ff/mmdet/core/export/model_wrappers.py#L38

ping @ZwwWayne , seems the master branch got this typo error. Need fix this.

Dear www516717402,
First of all, we want to express our gratitude for your significant PR in the MMDetection project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
If you are Chinese or have WeChat，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. We look forward to seeing you there! Join us ：https://discord.gg/raweFPmdzG
Thank you again for your contribution❤
Best regards！ @www516717402


Bump "intellij-platform-plugin-verifier-action" to latest

Hi @YannCebron - Just bumping to the latest version of the GH action; hot off the press!

Thanks!

No problem @YannCebron ! Hope you are well!


VERSION=12 FORCE_DEB_BUILD=1 build fails

because of missing packages in the apt repository Packages file.

The VERSION=12 FORCE_DEB_BUILD=1 build fails, but version 12.2-2.pgdg100+1 is available in the repo.
http://apt.postgresql.org/pub/repos/apt/dists/buster-pgdg/12/binary-amd64/Packages does not contain the 12.2-2.pgdg100+1 package.
apt-cache search postgresql-12 inside the build container shows no packages. apt-cache search postgresql-11 lists 64 packages.

PR713 is affected by the problem. The related Travis job has been failed.

I was looking into this earlier this morning -- this is to make sure that architectures that repository doesn't have binary packages get built for instead, but the problem is that 12.2-2.pgdg100+1 is the latest available version for most architectures except arm64, which has 12.2-3.pgdg100+1.  Due to a quirk in how that repository is maintained, only the latter gets listed in the Sources manifest file (so even though http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-12/postgresql-12_12.2-2.pgdg100%2B1.dsc exists, our build doesn't find it because Sources points us at http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgresql-12/postgresql-12_12.2-3.pgdg100%2B1.dsc :disappointed:).

What does it mean for my PR? Is it good enough even if one target fails (for 3rd party reasons)?


[Feature] Configuration of available  MQTT protocol versions in server (3.1/5)

Hi,
is there already a way to configure the server to use/allow ONLY 3.1 or ONLY V5 Mqtt protocol ?
Make it sense to have a listener configuration option for this ?
Perhaps a ACL Rule is a nice feature enhancments, to allow special clients to connect only with 3.1 or only with 5.
What is your opinion to this ?

This feature is now available in version 0.6.0.


added loadContract overload for finer control over contract object

Description
The ability to load and execute requested (fragment) contracts was required.  This PR contains an overload to loadContract with this increased flexibility.
Files most critical to review
p8e-sdk/src/main/kotlin/io/p8e/ContractManager.kt

Codecov Report

Merging #66 (7d07949) into main (8ac68c7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #66   +/-   ##
=========================================
  Coverage     11.90%   11.90%
  Complexity       35       35
=========================================
  Files            65       65
  Lines          3325     3325
  Branches        357      357
=========================================
  Hits            396      396
  Misses         2873     2873
  Partials         56       56

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 8ac68c7...7d07949. Read the comment docs.


target specific release to delete

PR to delete specific release instead of deleting all.
Wonder if someone can help me with test process? 🤔

Hi @JinoArch !  Thanks for this PR.  Currently, you can supply a tag_name which will filter the releases to only those matching that tag and this will delete them, or only 1 if it is the only release with that tag.
But I can see there is indeed a need to delete by a release name as this PR tries to do and as evidenced by the many other GitHub Actions on the Marketplace that do that action already as seen here: https://github.com/marketplace?type=actions&query=delete+release+sort%3Apopularity-desc+
However,

there are already many GitHub Actions on the marketplace that can accomplish this need?
as well as users just using the GitHub CLI when needed to only delete a single release by it's name?
as well as just using GitHub's Web UI - Tags -> Releases -> Click ellipses menu … and choose to delete?

This GitHub Action is already appropriately named for it's use delete tag and release instead of something like *delete a release or delete release and with this PR, our existing action name and repo name would need to be changed, which lends that thought to ...

or we just combine the 2 projects Delete Older Releases and Delete tag and release into a wider action just called Delete Releases and which would have multiple parameters and options exposed that are available through the official GitHub Releases API ?

Thanks @JinoArch but we've already refactored the code.  But this can certainly be a new issue now and someone can work on a new PR to address that need if it doesn't handle this already.


Decide how to store and return results

menpobench currently goes as far as building and testing methods, gets the fitting results, and then...does nothing with them.
We need to persist the results from a given method. I think a .pkl of all the fitting results should be stored in the menpobench cache, that way at a later date we can recompute different graphs (i.e. handle different normalization formats).
The current design in mind is as follows:
For a given unique combination of: (training_dataset, testing_dataset, method)
or, in the case of untrainable_methods: (testing_dataset, untrainable_method)
if all components are pre-defined, cache the resulting fitting results to the cache/results/hash.pkl. On future invocations, check this cache, and return if it's available. We will also add a predefined cache that ships with menpobench - this will be updated from the continuous integration server, so for most common tests menpobench can complete immediately.
If any component is user defined, we don't use the cache at all. There is a reasonable expectation that these non-predefined files may be modified by the user, and we don't want to accidentally serve a cached result. We could definitely make this more advanced in the future, but for now, KISS.
We then write a generic output generation function that takes a set of fitting results and draws up the curves in various forms (e.g. different normalisation schemes). The user could have to provide an output dir which we populate with:

The pkl of the experiment (regardless of whether the test was predefined or not)
Graphs for commonly used normalisation
CSVs for the above graphs.

A flag could be added to return a mat file if the user wishes to easily import the fitting result data into matlab. With this, we would be heading towards something like:

menpobench ./mytest.yaml -o ./output --mat

With all this the API would look like:
./output
  ./methods
    ./aam
      ./fitting_results.mat
      ./fitting_results.pkl
      ./ced.pdf
      ./ced.csv
    ./sdm
      ...

The only issue is that at the moment our fitting results are ludicrously large to put down on disk. So we either need to revisit the results, to make them leaner, or just save the final PTS files or something. Probably we should make fitting results more useful by ensuring they are a lot leaner!

We now have a basic skeleton for this working, with caching. I'm not saying it's perfect, but we can make smaller issues now to address specific shortcomings (like #10 #12) so I'm closing this.


[Feature] Import images or VM from network directly in UTM

A friend of mine said that he can provide VMs download server for UTM. I want to write some code for UTM: when creating a new virtual machine, we can choose to download it from the network, such as the VMs from https://getutm.app/vms
What do you think of this idea?

I don’t want to add too much complexity to UTM. You can always download from Safari and open it. I don’t think the app should do downloads.

In my opinion, UTM can directly create a virtual machine one click book. You can download the UTM image from the official image station of UTM and other saved third-party servers, and you can choose one key book, that is, you can start the virtual machine directly without complicated configuration.
I think this may be better for Xiaobai.


Complex Values are not movable out of Document

When using complex values such as arrays or objects, you cannot detach these
from Document if the Document gets freed. Attached is a simple example program
of this behaviour and valgrind logs showing that the values are indeed freed.

RapidJson version 0.11
Ubuntu 12.04 64 bit
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
GNU C Library (Ubuntu EGLIBC 2.15-0ubuntu10.3) stable release version 2.15

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 4 Feb 2013 at 5:20
Attachments:

rapidjson_example.cc
valgrind.txt

Yes. This is evident from what happens. But it unfortunately does prevent one
from detaching a value from document to simplify code? How would you fix this
code to work properly?

Original comment by<EMAIL_ADDRESS>on 5 Feb 2013 at 7:30

It is because the values are allocated by document's allocator in the code. You
can use a allocator (e.g. a document) that stays alive with the value. Or just
use a document instead of value in the function parameter.

Original comment by<EMAIL_ADDRESS>on 5 Feb 2013 at 4:52

Changed state: Invalid

You may clone the value to a document, which can be done by using Accept().

Otherwise, as I mentioned, you can use another allocator when creating the
values. Using CrtAllocator will not destroy the memory buffer as the default
MemoryPoolAllocator.

Original comment by<EMAIL_ADDRESS>on 5 Feb 2013 at 10:59


[Translation] Poller client design

@mohamedshabanofficial
Thanks for the feedback.
Could you give more details?


System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.ML.Data, Version=<IP_ADDRESS>,

System Information (please complete the following information):

Model Builder Version: N/A
Visual Studio Version Version 16.5.2

Describe the bug
When trying to use ConsumeModel.predict(); in my WPF app, I get a System.IO.FileNotFoundException:
To Reproduce
Steps to reproduce the behavior:

Run my project
Click the 'Next' box on application
choose a random image from "browse" button and select "Chihuahua" from Breed Guess
Click Classify
Error pops up

Expected behavior
No error at all

Right now ML.Net doesn't work well with default netstandard project sdk, can you use .net core project sdk(Microsoft.NET.Sdk.WindowsDesktop) to build your package instead?

Tevin resolved this. Closing

How was this resolved? I am having the same error with WPF.


Fix nuclides of nuclides child node in the output json file.

The redundant child node 'nuclides' is inserted under 'nuclides' node in the JSON file:

        "dose_rate": {
            "type": "PLANE SOURCE",
            "distance": 0.0,
            "mass": 0.0,
            "dose": 182.32
        },
        "nuclides": {                            <---
            "nuclides": [                        <---
                {
                    "element": "H",
                    "isotope": 3,

This violates the JSON schema (see schema.json) and complicates further usage of the resulting JSON file.

Fixed, with my first pull request to fispact/pypact


Add in some extra checks for disabled states in buttons

@rsnyman please rebase your PR. I fixed failed tests in #114

Done, thanks @quarckster


Powershell commands fail when adding Inbound Endpoint because subnet does not have the right delegation

If I understand correctly, the Subnet of Private DNS Resolver should have the delegation of Microsoft.Network/dnsResolver.
So the Powershell cmds should add:
$delegation = New-AzDelegation -Name "dnsResolverDelegation" -ServiceName "Microsoft.Network/dnsResolvers"
and then:
Add-AzVirtualNetworkSubnetConfig -Name $Name -VirtualNetwork $virtualNetwork -AddressPrefix %Cidr -Delegation \$delegation;

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

ID: e30d8ec8-cee0-65c6-5f65-c90df6c6214e
Version Independent ID: 0d13b93a-9da2-a6a2-d2ea-95071ceb50fc
Content: Quickstart - Create an Azure DNS Private Resolver using Azure PowerShell
Content Source: articles/dns/dns-private-resolver-get-started-powershell.md
Service: dns
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@FnayouSeif
Thanks for your feedback! We will investigate and update as appropriate.

@FnayouSeif , the delegation to Microsoft.Network/dnsResolver happens automatically when you create an Inbound Endpoint or Outbound Endpoint.
I checked the commands in my lab and after creating a subnet, when I created an Inbound Endpoint, it automatically delegated the subnet to Microsoft.Network/dnsResolver. So the document is correct.
Please find the commands with the result below:
PS /home/gitarani> $virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
PS /home/gitarani> Add-AzVirtualNetworkSubnetConfig -Name snet-inbound -VirtualNetwork $virtualNetwork -AddressPrefix "<IP_ADDRESS>/28"
Name                   : myvnet
ResourceGroupName      : myresourcegroup
Location               : westcentralus
ProvisioningState      : Succeeded
Tags                   :
AddressSpace           : {
"AddressPrefixes": [
"<IP_ADDRESS>/8"
]
}
DhcpOptions            : {}
FlowTimeoutInMinutes   : null
Subnets                : [
{
"Name": "snet-inbound",
"AddressPrefix": [
"<IP_ADDRESS>/28"
],
"PrivateEndpointNetworkPolicies": "Disabled",
"PrivateLinkServiceNetworkPolicies": "Enabled"
}
]
VirtualNetworkPeerings : []
EnableDdosProtection   : false
DdosProtectionPlan     : null
ExtendedLocation       : null
PS /home/gitarani> $virtualNetwork | Set-AzVirtualNetwork
Name                   : myvnet
ResourceGroupName      : myresourcegroup
Location               : westcentralus
ProvisioningState      : Succeeded
Tags                   :
AddressSpace           : {
"AddressPrefixes": [
"<IP_ADDRESS>/8"
]
}
DhcpOptions            : {
"DnsServers": []
}
FlowTimeoutInMinutes   : null
Subnets                : [
{
"Delegations": [],
"Name": "snet-inbound",
"AddressPrefix": [
"<IP_ADDRESS>/28"
],
"IpConfigurations": [],
"ServiceAssociationLinks": [],
"ResourceNavigationLinks": [],
"ServiceEndpoints": [],
"ServiceEndpointPolicies": [],
"PrivateEndpoints": [],
"ProvisioningState": "Succeeded",
"PrivateEndpointNetworkPolicies": "Disabled",
"PrivateLinkServiceNetworkPolicies": "Enabled",
"IpAllocations": []
}
]
VirtualNetworkPeerings : []
EnableDdosProtection   : false
DdosProtectionPlan     : null
ExtendedLocation       : null
PS /home/gitarani> $ipconfig = New-AzDnsResolverIPConfigurationObject -PrivateIPAllocationMethod Dynamic -SubnetId /subscriptions/xxxxxxxxxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-inbound
PS /home/gitarani> New-AzDnsResolverInboundEndpoint -DnsResolverName mydnsresolver -Name myinboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -IpConfiguration $ipconfig
Location      Name              Etag

westcentralus myinboundendpoint "xxxxxxxxxxxx"
PS /home/gitarani> $subnet = Get-AzVirtualNetwork -Name "myvNet" -ResourceGroupName "myresourcegroup" | Get-AzVirtualNetworkSubnetConfig -Name "snet-inbound"
PS /home/gitarani> Get-AzDelegation -Subnet $subnet
ProvisioningState : Succeeded
ServiceName       : Microsoft.Network/dnsResolvers
Actions           : {Microsoft.Network/virtualNetworks/subnets/join/action}
Name              : Microsoft.Network.dnsResolvers
We are closing this issue for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


ref(deis-dev): change livenessProbe for deis-database

to be tested in tandem with deis/postgres#24

@michelleN and I wondered if readinessProbe isn't more appropriate here.

A readiness probe is more appropriate with a good initial delay. For liveness we need to decide if we want to potentially restart the pod if pg reports it self as not running

Yeah after tossing around the idea a little bit I think it'd be safer to restart the pod if the database reports itself as down. If minio goes down and the database can no longer back up wal logs, it should become unresponsive, which makes the case for a readinessProbe but part of me wonders what kind of issues we could hit in prod with postgres that could make it unresponsive otherwise, which makes me want to tend to the "kill if unresponsive" approach for now. Once we start getting more data from actual clusters then we can tune these settings as we see fit.

The readiness probe is more about not letting anything think it is up and running before it is ready :) thus the delay. But I hear ya

I'm fine with merging the livenessProbe--the distinction is arguable here and I agree that all these values are likely to be refined post-beta.


Store ShareUsageBytes value in int64

Type int32 is highly insufficient to store the share size in bytes. Changing to int64.

It looks like a change by the 'Microsoft (R) AutoRest Code Generator' is also needed before updating the tests.


Find (C+f): Search within the document

There was a search feature for the current document in previous versions of the Editor. It needs to be added back.
As an extension, it could also filter the entries in the Table of Content (as a separate search feature?). However, it would not search globally across the book.

:+1: , but the global search would be an invaluable addition as well.

Duplicate of https://github.com/GitbookIO/feedback/issues/123

This is must feature for a book editor... after having written multiple chapters, to update specific parts one needs to have global search, but it seems even document search is not there yet.


Merge duplicate notifications

Sometimes it happens that the same notification is displayed multiple times, usually due to some buggy callback. In such scenario, instead of displaying multiple duplicate notifications, they just replace the initial one. Renderers can use #notif.duplicates to display duplicates count.
Specifying merge_duplicates as integer works as minimal duplicates count, but the way it is implemented right now may give somewhat unexpected result - it will replace only one of the previous notifications, but renderer will display total different duplicate counts on all, so overall duplicate count is not the sum of displayed ones. If this is unwanted then we may just remove option to use integer.
Example with the default renderer and merge_duplicates = true:
https://github.com/rcarriga/nvim-notify/assets/16623787/f3883bf1-7409-493d-993b-8111d4ca34a3

This is great thanks for the PR!


Hashimoto function gives wrong DAG index

I called ethash::hashimoto() method with arguments for Block#3:

Header partial hash, without nonce and mixHash fields: 0x481f55e00fd23652cb45ffba86a08b8d497f3b18cc2c0f14cbeb178b4c386e10
Nonce: 0x2e9344e0cbde83ce
Full size: ethash::get_full_size(3 / 30000)

But first callback had an argument: 11722582
I am pretty sure first index should be: 5861291
It sounds crazy, but I found the right index by bruteforcing indexes until my Merkle proof matches 🤪

Found that:
11722582 = 0b101100101101111101010110
5861291  = 0b10110010110111110101011

So I will start from bit number 1 and go up...
It seems it is related to proofs are for each 128 bytes instead of 64 bytes.


Music Server - add an audiozone to Home Assistant?

Hello - brilliant plugin for Home Assistant.
I don't think this is an issue, but I can not add nor find any instructions on how to add a Loxone Music Server zone to Home Assistant via this plugin.
Is this possible?  Any tips on how to get Home Assistant to see and control the zones with the Media Player?
Regards, DS

Just in case it helps anyone else - I discovered (by accident) that Loxone Music Zones can be added to Home Assistant through the Squeezebox integration.  Works perfectly well.

If you want you can describe it and add it in the documentation by makeing a pull request.

Just in case it helps anyone else - I discovered (by accident) that Loxone Music Zones can be added to Home Assistant through the Squeezebox integration. Works perfectly well.

@DSew20
can you please share how managed to install it and control the player?

I'm also looking for a direct way to control the audio server (the purple one!) from HA.
For now I've managed to Macgyver it:

How to:

2 outputs for the states

the buttons control  scenes I've made in Loxone

The card in HA
`

type: vertical-stack
cards:

type: horizontal-stack
cards:

type: entity
entity: sensor.playing_leefriumte
icon: mdi:music
show_name: false
show_icon: true
type: button
tap_action:
action: toggle
icon: mdi:pause
show_state: false
entity: switch.leefruimte_pauze

type: horizontal-stack
cards:

show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.leefruimte_vol_2
icon: mdi:volume-minus
show_state: false
type: custom:bignumber-card
entity: sensor.volume_leefruimte
scale: 35px
color: white
show_name: false
show_icon: true
type: button
tap_action:
action: toggle
entity: switch.leefruimte_vol
icon: mdi:volume-plus

type: horizontal-stack
cards:

type: custom:button-card
entity: switch.leefruimte_mnm
name: MNM
show_icon: false
type: custom:button-card
entity: switch.leefruimte_qmusic
name: Q-Music
show_icon: false

type: horizontal-stack
cards:

type: custom:button-card
entity: switch.leefruimte_mnm_hits
name: MNM Hits
show_icon: false
type: custom:button-card
entity: switch.leefruimte_mnm_throwback
name: MNM Throwback
show_icon: false

type: horizontal-stack
cards:

type: custom:button-card
entity: switch.leefruimte_joe_80_90
name: Joe 80's & 90's
show_icon: false
type: custom:button-card
entity: switch.leefruimte_radio_2
name: Radio 2
show_icon: false

type: horizontal-stack
cards:

type: custom:button-card
entity: switch.leefruimte_one_world_radio
name: One World Radio
show_icon: false
type: custom:button-card
entity: switch.leefruimte_topradio
name: Topradio
show_icon: false
`

Did anyone ever figure out how to add the zones via the Squeezebox integration that @DSew20 mentioned?

@maaso Nope, I gave up on the purple audio server, I found nothing in the API besides my hacky solution above.
I've sold my audio server, bought a second hand Loxone amplifier and deployed a self brew docker container with LMS and squeezelite.
It works great with HA, only downside is the start time for the amplifier when going to sleep.
The doorbell sound starts after like 1-2 seconds, i should look into the trigger function to see if it speeds up the wake-up.

Yeah, I've hacked together something with LMS and the Airplay plugin, so I'm using LMS -> Airplay -> Loxone Audio Zone. LMS also has the Spotty plugin enabled for Spotify Connect, and I disabled the Spotify Connect on the Audioserver. I then integrated the LMS players into HA with the Squeezebox (LMS) integration.
Music played via Spotify Connect is picked up by HA perfectly; downside is that if someone plays audio from the Loxone app, I get no info at all in HA since it bypasses my intermediary LMS. The Loxone app is kinda meh though, so maybe I can convince my users to switch to the HA app :)

@maaso
Oops, I've used the wrong account in my post above ;)
The Loxone app is better than before, but I've never really used it.
All GUI (and some automations) is done by HA in my setup. I kinda only use Loxone as fancy relays and 24V light control.


Added fix for write exception in excel: added null checking for row a…

…nd cell and implemented login to create cell when required

New PR was created and merged by Haim so closing this one


Pipeline not generating reports

There are issues with the current commands for npm run test and npm run jslint.

Fixed by #20


NHDPlus HR flowlines are missing required fields

I'm running into problems when using hydroloom::navigate_hydro_network() that appear to be due to issues with how NHDPlus HR data is being interpreted. I thought that nhdpusTools::make_standalone() is supposed to standardize NHDPlus HR data for use with various hydroloom and nhdplusTools functions, but something seems to be going wrong.
tf = tempfile()
dir.create(tf)

# download data
gdb_dir = download_nhdplushr(tf, "1505")

# read data
hr_data = get_nhdplushr(gdb_dir)
## Warning message:
## In get_nhdplushr(gdb_dir) :
##  check_terminals is true but attributes selected do not support the checks.

# check data
make_standalone(hr_data$NHDFlowline)
## Error in check_names(flowlines, "make_standalone_tonode") :
##  Missing some required attributes in call to: make_standalone_tonode. Expected: COMID or NHDPlusHR equivalents.

Is this a problem with the actual NHDPlus HR dataset, or something else? The end goal is to use hydroloom::navigate_hydro_network() with the NHDPlus HR network and a set of COMID identifiers.

Thanks for the report with a nice reprex. This is due to varied naming conventions in NHDPlusHR that nhdplusTools doesn't handle yet. In the short term, it looks like you can do:
hr_data$NHDFlowline <- dplyr::rename(hr_data$NHDFlowline, COMID = nhdplusid) and it will work.


[tw] Localize DevSecOps for Traditional Chinese

Localize DevSecOps in Traditional Chinese
https://glossary.cncf.io/devsecops/

Get Merged! thanks @roseyangwc


ValueError: Cannot construct a bare watcher

When attempting to run the hello world example I get the following error in both VirtualBox and on a Raspberry Pi 4, both running Ubuntu 16.04 and Python 2.
Hello from Python World!
Traceback (most recent call last):
  File "hello.py", line 13, in <module>
    eel.start('hello.html', size=(300, 200))  # Start
  File "/home/ubuntu/.local/lib/python2.7/site-packages/eel/__init__.py", line 164, in start
    run_lambda()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/eel/__init__.py", line 160, in run_lambda
    app=app)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/bottle.py", line 3137, in run
    server.run(app)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/bottle_websocket/server.py", line 17, in run
    server.serve_forever()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/baseserver.py", line 398, in serve_forever
    self.start()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/baseserver.py", line 336, in start
    self.init_socket()
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/pywsgi.py", line 1545, in init_socket
    StreamServer.init_socket(self)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/server.py", line 180, in init_socket
    self.socket = self.get_listener(self.address, self.backlog, self.family)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/server.py", line 192, in get_listener
    return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/server.py", line 284, in _tcp_listener
    sock = GeventSocket(family=family)
  File "/home/ubuntu/.local/lib/python2.7/site-packages/gevent/_socket2.py", line 139, in __init__
    self._read_event = io(fileno, 1)
  File "src/gevent/libev/corecext.pyx", line 674, in gevent.libev.corecext.loop.io
  File "src/gevent/libev/corecext.pyx", line 1048, in gevent.libev.corecext.io.__init__
  File "src/gevent/libev/corecext.pyx", line 919, in gevent.libev.corecext.watcher.__init__
ValueError: Cannot construct a bare watcher

OS: Ubuntu 16.04 (x64 VM and ARMv6 Pi 4)
Browser: Chromium
Version:  0.12.4
Python: 2.7.12

The interesting bit is if I try it on another machine which has native x64 Ubuntu 16.04 it somehow works fine, all other things being equal. And it would also seem that nobody's ever searched for "Cannot construct a bare watcher" on google, so that's interesting too.

Update: Started to spontaneously work in the VM somehow. I just re-ran the startup command a while later and now works every time. Not sure how to reproduce doing nothing on the Pi though...


LoadOrCompute error handling

#103 describes how to raise an error if Compute fails.  In that example, return 0, true ensures that the 0 is not added to the map.
That works fine for Compute, but I don't see a similar approach possible for LoadOrCompute - since the valueFn doesn't have a delete return value.
So, when using LoadOrCompute, how can I ensure that if an error occurs that I don't add a zero value (or nil, etc.) to the map?  I wouldn't want a concurrent thread to retrieve that and treat it as an actual good value.
TLDR: Can you please add a version of LoadOrCompute that accepts a valueFn func() (newValue V, delete bool)?
Thanks.

Compute is flexible enough to be used in LoadOrCompute style, so you could use it instead of LoadOrCompute:
	counts := xsync.NewIntegerMapOf[int, int]()
	var err error

	v, ok := counts.Compute(42, func(oldValue int, loaded bool) (newValue int, delete bool) {
		if loaded {
			return oldValue, false // return the existing value
		}
		// the error-aware logic goes here
		return
	})
	fmt.Printf("err: %v\n", err)

Does this make sense?


174

Fixes Issue #174.

Hey @Permusoft , can you submit the PR against develop? We only merge PR to develop and then to master following a push to maven.

Thanks @Permusoft !
For the future, please submit PRs against develop.
Regards,
Ari

Will do.
Gregory Kip
Permusoft Corporation
<EMAIL_ADDRESS>
On Feb 20, 2017, at 5:11 AM, Ari Cheshin<EMAIL_ADDRESS>wrote:
Thanks @Permusoft https://github.com/Permusoft !
For the future, please submit PRs against develop.
Regards,
Ari
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/arimorty/floatingsearchview/pull/181#issuecomment-281063757, or mute the thread https://github.com/notifications/unsubscribe-auth/ABMMH3UnUxXJ6mYsk3ltxAteuIVt5sh-ks5reYLwgaJpZM4MDYyy.


Removing ClockworkSMS example

The npm package seems to have been abandoned.  The service itself doesn't seem to have grown much in the past 4+ years, and Twillio is an alternative that can serve the same purpose.
One of the requestjs deprecation warnings is because of this package as well.

https://github.com/sahat/hackathon-starter/commit/fb13587123970889c2b4a53486c8c8d1dd431813


Custom layer weights all have the same name by default

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
TensorFlow installed from (source or binary): no
TensorFlow version (use command below): 2.1
Python version: 3.6.7
GPU model and memory: no GPU

Describe the current behavior
I am writing a custom layer and stumbled upon the following error: https://github.com/tensorflow/tensorflow/issues/27688. The comment here made me realize that this was probably due to the custom layer weights I was using and realized that in my custom layer the weights all have by default the same name.
But it's not only my custom layer, if I use the code example from the documentation, I also notice that the weights all have the same name (this is why I answered no to the question of whether I had written custom code, because it fails also in the code provided).
Describe the expected behavior
To me it's more of a bug than a documentation issue because we expect the weights to have different names by default (increasing ids I mean). However, naming the weights indeed solves the problem.
Code to reproduce the issue
import tensorflow as tf

class Linear(tf.keras.layers.Layer):

  def __init__(self, units=32):
    super(Linear, self).__init__()
    self.units = units

  def build(self, input_shape):
    self.w = self.add_weight(shape=(input_shape[-1], self.units),
                             initializer='random_normal',
                             trainable=True)
    self.b = self.add_weight(shape=(self.units,),
                             initializer='random_normal',
                             trainable=True)

  def call(self, inputs):
    return tf.matmul(inputs, self.w) + self.b

l = Linear(32)
l.build((128,))
print([w.name for w in l.weights])

Other info / logs
The code above gives:
['Variable:0', 'Variable:0']

This causes a problem when saving the model for example with the  ModelCheckpoint callback.

Could able to replicate the reported issue with Tf2.1.
Please find the gist here. Thanks!

Thanks for reporting this! This is one of the effects of moving into TF 2.X -- variable names are no longer uniqueified. This should be fixed in one of two places: either when the variables are created, or when the variables are saved out to HDF5.
(This should only effect the HDF5 saving format. The tf format should still work)

Passing the name argument in the add_weight should help override this behavior.

Thanks for reporting this! This is one of the effects of moving into TF 2.X -- variable names are no longer uniqueified. This should be fixed in one of two places in Keras: either generate unique names when the variables are created, or when the variables are saved out to HDF5.
(This should only effect the HDF5 saving format. The tf format should still work)

May I ask the rationale behind allowing repeated names for variables in TF 2.X?

Was able to reproduce your issue in Tf Nightly 2.6.0-dev20210524 , please find the gist here.Thanks!

You can solve it using tf.name_scope in your build for each weight initialization like mentioned below.
import tensorflow as tf

class Linear(tf.keras.layers.Layer):

  def __init__(self, units=32):
    super(Linear, self).__init__()
    self.units = units

  def build(self, input_shape):
    with tf.name_scope("first"):
      self.w = self.add_weight(shape=(input_shape[-1], self.units),
                             initializer='random_normal',
                             trainable=True)
    with tf.name_scope("second"):
      self.b = self.add_weight(shape=(self.units,),
                             initializer='random_normal',
                             trainable=True)

  def call(self, inputs):
    return tf.matmul(inputs, self.w) + self.b

l = Linear(32)
l.build((128,))
print([w.name for w in l.weights])

Output:
['first/Variable:0', 'second/Variable:0']

@sachinprasadhs yes indeed, you can also solve it by setting the name in add_weight. But I just think that the default behaviour should be to increase the index in 'Variable:0', i.e. by default not authorize same name.

Issue still persists in 2.7.0-dev20210923. Please take a look at the gist here. Thanks!

Hi There,
This is a stale issue. As you are using an older version of tensorflow, we are checking to see if you still need help on this issue. Please test the issue with the latest TensorFlow (TF2.7 and tf-nightly). If the issue still persists with the newer versions of TF, please feel free to open it in keras-team/keras repository by providing details about the issue and a standalone code to reproduce the issue. Thanks!
Please note that Keras development has moved to a separate Keras-team/keras repository to focus entirely on only Keras. Thanks!


[EUWE] Compile and write stylesheets for PDF rendering

This backports changes made in #15131
Addresses:
https://bugzilla.redhat.com/show_bug.cgi?id=1465081
Before

After

@dclarizio this is ready for review.

@epwinchell can you please review/test?  Thx, Dan

@dclarizio Tested. Looks good.


BUGFIX: Make class in SingleSelectDropdown configurable

This makes the class attribute in the template for
TYPO3.Form:SingleSelectDropdown configurable like
in every other field element template.

Nice one, cheers


As user, i don't want shed * commands.

redundant, should remove.

may be turn shed to shed-help.

may be require for original purpose of prefix-ing commands.
eg:
kubectl get po
become
shed kubectl get po
and the command will work accordingly.


how to trace the log to aliyun sls trace

we use aliyun sls log
aliyun support many ways to trace it

use OpenTelemetry

good


V2.17

Re-render feedstock and bump version to 2.17

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


used scripts

How can intercept_crypto.js be used with bypass_ssl.js
Only one can be used

Hi,
You can create your custom script include two 2 script intercept_crypto.js and bypass_ssl.js


RFC 68: Mandatory FFI declarations

Changes related to the implementation of RFC 68.

Opening the PR now although it's not ready, to ask for feedback, etc

Hi @ergl,
The changelog - changed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do.
Release notes are added by creating a uniquely named file in the .release-notes directory. We suggest you call the file 3739.md to match the number of this pull request.
The basic format of the release notes (using markdown) should be:
## Title

End user description of changes, why it's important,
problems it solves etc.

If a breaking change, make sure to include 1 or more
examples what code would look like prior to this change
and how to update it to work after this change.

Thanks.

Release notes for this should be pretty detailed with examples of code that was previously valid and how to fix it to make it valid after the change. If there are any tricky bits, those should be highlighted.

Okay, I think all the changes in the compiler are done. I know the diff is quite large, since there are a lot of declarations going on. Probably the most important things I'd like some review on would be the last two commits, where I enforce that FFI declarations exists, and where I remove the syntax for specifying the return type on FFI calls.

The CI errors are due to the test-validate-grammar step. I don't have a good idea on how to update the pony.g file to reflect the changes I've done.

@ergl You can generate the new grammar file using your newly compilerd ponyc from your PR and do: ponyc --antlr > pony.g.

Ah, great!

This is ready for review

I'm holding off on the next release (that contains a "triggers release" fix) as this other large change might be ready soon. My target for the release is no later than this Friday.

@jemc can you give this a review?

@ergl are there corresponding tutorial and other changes associated with this that I would need to merge after this is released?

@SeanTAllen Yes, the tutorial changes are in pony-tutorial#468


Markdown and RST

Explain better what is the difference between markdown and RST and why we use both.

I think this is now done.


v-if Error,Chrome,Brave

//lchat.vue
//v-if stop,Firefox OK,all working cool
//error:v-if stop,Chrome,Brave
//DOMException: Failed to execute 'stop'

LeoVue3Error.txt