laravel-websocket not working on hosting but works on localhost

Hi there,
I tried this awesome library and everything seemed to be working as expected but does not work on the production server.
Whenever I tried calling  it does not work.
Instead, it shows this error:

WebSocket is closed before the connection is established.

I have already tried the answers mentioned in the #191 but no avail. Kindly help me out.
Thank you.

Same problem
Getting the above error or else
Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT

Is there any solutions to this problem?

Once I get it working I will let you know...

Tried and tired of this not working at all. I have tried almost everything and even tried to modify the data inside bootstrap.js and then tried executing npm run dev. But no avail.

I pushed my npm run dev vue code to production and it seems to be failing at
   createWebSocket: function (url) {
        var Constructor = this.getWebSocketAPI();
	return new Constructor(url); // here
    },

  window.Echo = new Echo({
  broadcaster: 'pusher',
  key: process.env.MIX_PUSHER_APP_KEY,
  cluster: process.env.MIX_PUSHER_APP_CLUSTER,
  wsHost: window.location.hostname,
  wsPort: 6001,
  wssPort: 6001,
  disableStats: true,
  enabledTransports: ['ws', 'wss']
  });

Did not modify the code but just as it was listed in #96

Make sure you opened port 6001 on your server's firewall.

I have same problem, and I have tried to solve this by the command sudo ufw allow 6001 but still the issue remains. Everything is working on local machine. My server config is ubuntu 18.04, apache2.

Do ports have other configurations more than allowing on firewall which I must apply?

Hi there i am also facing same  issue it is working in my local perfectly but on host i am not able to run i tried all tthe ways but no use,Can anyone help me out of this.

any solution any body finds?

Any solution??

Any solution??

Yeah please make sure your config/broadcast.php is having proper pusher  credentials and also another file config/websockets.php. Please make a proper configuration on " resources/js/bootstrap.js". And also check whether you ufw enabled or not even if it disabled Please open that particular port with command " ufw allow '

Yeah please make sure your config/broadcast.php is having proper pusher  credentials and also another file config/websockets.php. Please make a proper configuration on " resources/js/bootstrap.js". And also check whether you ufw enabled or not even if it disabled Please open that particular port with command " ufw allow '

You can find a working solution here https://github.com/OpenLitterMap/openlittermap-web

You can find a working solution here https://github.com/OpenLitterMap/openlittermap-web

may be you can find a working solution here https://stackoverflow.com/questions/65363295/laravel-websocket-is-not-connect-on-live-server

Is there any solutions to this problem?
may be you can find a working solution here https://stackoverflow.com/questions/65363295/laravel-websocket-is-not-connect-on-live-server

i have the same issue

I got this issue too,
Tried with any thing I have:
Use nginx proxy with ssl on https site always error:
error: write EPROTO<PHONE_NUMBER>90432:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1544:SSL alert number 40```

using IP:

wscat -c "<server_id>:6001/ws/app/849dd8699?protocol=7&client=js&version=7.0.3&flash=false"
error: socket hang up

using domain without port:

❯ wscat -c "wss://domain.tld/ws/app/849dd8699?protocol=7&client=js&version=7.0.3&flash=false"
error: Unexpected server response: 502

any update for this error?

open port 6001 in host


Cannot read event from Percona Server 5.7.29-32-log

Hello,
I tried setting up ripple and making it read binlogs from PS 5.7.29. I had the issues:

it doesn't seem to be working when GTID mode is off on the master
When I turned on GTID mode, Ripple was able to connect, but the binlog file it produced seems to be corrupt:

vagrant@db11:~/mysql-ripple/data1$ mysqlbinlog --base64-output=DECODE-ROWS -vvv binlog.000000
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#700101  0:00:00 server id 112211  end_log_pos 244 	Start: binlog v 4, server v 5.6.0-ripple created 700101  0:00:00
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
# at 244
#700101  0:00:00 server id 101  end_log_pos 359 	Start: binlog v 4, server v 5.7.29-32-log created 700101  0:00:00 at startup
ROLLBACK/*!*/;
ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 43, event_type: -106
ERROR: Could not read entry at offset 359: Error in log format or read error.
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

Binlog from master:
vagrant@db11:~/mysql-ripple/data1$ sudo su -
root@db11:~# cd /var/lib/mysql
root@db11:/var/lib/mysql# mysqlbinlog --base64-output=DECODE-ROWS -vvv binlog.000001
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#210109  8:19:35 server id 101  end_log_pos 123 CRC32 0xa1b3245a 	Start: binlog v 4, server v 5.7.29-32-log created 210109  8:19:35 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
# at 123
#210109  8:19:35 server id 101  end_log_pos 154 CRC32 0xbc7cd6d1 	Previous-GTIDs
# [empty]
# at 154
#210109  8:20:06 server id 101  end_log_pos 219 CRC32 0xb4db53c3 	GTID	last_committed=0	sequence_number=1	rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= '4ebd1ef0-9424-11ea-aa6c-02430e0005fc:1'/*!*/;
# at 219
#210109  8:20:06 server id 101  end_log_pos 303 CRC32 0x471500ba 	Query	thread_id=106	exec_time=0	error_code=0
SET TIMESTAMP=1610180406/*!*/;
SET @@session.pseudo_thread_id=106/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1077936128/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
# at 303
#210109  8:20:06 server id 101  end_log_pos 360 CRC32 0x248b9398 	Table_map: `replication_test`.`t2` mapped to number 109
# at 360
#210109  8:20:06 server id 101  end_log_pos 400 CRC32 0x6a28cb2e 	Write_rows: table id 109 flags: STMT_END_F
### INSERT INTO `replication_test`.`t2`
### SET
###   @1=2 /* INT meta=0 nullable=0 is_null=0 */
# at 400
#210109  8:20:06 server id 101  end_log_pos 431 CRC32 0xa39f38e3 	Xid = 682
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

on master:
mysql> show master status ;
+---------------+----------+--------------+------------------+----------------------------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                      |
+---------------+----------+--------------+------------------+----------------------------------------+
| binlog.000001 |      431 |              |                  | 4ebd1ef0-9424-11ea-aa6c-02430e0005fc:1 |
+---------------+----------+--------------+------------------+----------------------------------------+
1 row in set (0.00 sec)

Ripple log:
vagrant@db11:~/mysql-ripple$ ./bazel-bin/rippled -ripple_datadir=./data1 -ripple_master_address=<IP_ADDRESS> -ripple_master_port=3306 -ripple_master_user=repl -ripple_master_password=123 -ripple_server_ports=3307
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0109 08:19:51.753654  4388 rippled.cc:48] InitPlugins
I0109 08:19:51.754017  4388 rippled.cc:60] Setup
I0109 08:19:51.754103  4388 binlog.cc:307] Starting binlog recovery
I0109 08:19:51.754614  4388 binlog.cc:350] Scanning binlog file: binlog.000000
I0109 08:19:51.768043  4388 binlog.cc:307] Starting binlog recovery
I0109 08:19:51.768257  4388 binlog.cc:325] Found empty index, creating new file
I0109 08:19:51.791939  4388 binlog.cc:350] Scanning binlog file: binlog.000000
I0109 08:19:51.792306  4388 binlog.cc:417] Binlog recovery complete
binlog file: binlog.000000, offset: 244, gtid:
I0109 08:19:51.792382  4388 rippled.cc:121] Recovered binlog
I0109 08:19:51.794548  4388 mysql_server_port_tcpip.cc:150] Listen on host: localhost, port: 3307
I0109 08:19:51.794705  4388 rippled.cc:62] Start
I0109 08:19:51.795480  4390 mysql_master_session.cc:182] Master session starting
I0109 08:19:51.800148  4390 mysql_client_connection.cc:148] connected to host: <IP_ADDRESS>, port: 3306
I0109 08:19:51.807732  4390 mysql_master_session.cc:137] Connected to host: <IP_ADDRESS>, port: 3306, server_id: 101, server_name:
W0109 08:19:51.812094  4390 mysql_master_session.cc:198] master does not support semi sync
I0109 08:19:51.812681  4390 mysql_master_session.cc:207] start replicating from ''
I0109 08:19:51.813442  4390 mysql_master_session.cc:230] Master session entering main loop
I0109 08:19:51.814479  4390 binlog.cc:626] Update binlog position to end_pos: binlog.000000:462, gtid: 0-0-0
I0109 08:19:51.814869  4390 binlog.cc:616] Skip writing event [ Previous_gtids len = 27 ]
I0109 08:19:51.815209  4390 binlog.cc:626] Update binlog position to end_pos: binlog.000000:462, gtid: 0-0-0
I0109 08:20:06.321724  4390 binlog.cc:626] Update binlog position to end_pos: binlog.000000:819, gtid: 0-0-1

My goal was to use MySQL binlogs by placing them in the ripple data dir, so that it would pick up and serve them to clients. I didn't have much luck with that though. Also, there is side a effect when Ripple wipes out binlogs it thinks are impossible to read. Any thoughts on this one?

https://github.com/google/mysql-ripple/issues/25 the files produced by Ripple are a different format.

https://github.com/google/mysql-ripple/issues/25 the files produced by Ripple are a different format.

@pushrax is correct, Ripple produces binlog files of a slightly different format than Percona Server/MySQL/MariaDB. Thus you cannot read them using mysqlbinlog CLI. And Ripple will not be able to read binlog files produced by MySQL as well, so you can't just put MySQL binlog files into Ripple data directory. Ripple has to download the binlogs from the master itself.
And yes, Ripple requires GTID mode to be on in order for it to be able to replicate from the master.

@pushrax is correct, Ripple produces binlog files of a slightly different format than Percona Server/MySQL/MariaDB. Thus you cannot read them using mysqlbinlog CLI. And Ripple will not be able to read binlog files produced by MySQL as well, so you can't just put MySQL binlog files into Ripple data directory. Ripple has to download the binlogs from the master itself.
And yes, Ripple requires GTID mode to be on in order for it to be able to replicate from the master.

Ok, understood. This is kinda a bummer tho...
So my understanding is that the only use case for ripple would be to act as a middleman and proxy binlogs. Out of curiosity (I'm not a C/C++ dev here for sure), why not use the library/code from vanilla MySQL? I assume ripple has to provide a proper interface to clients anyway and as it reads from an upstream server it has to understand the binlogs served by those servers. But using the part of MySQL server and basically stripping off storage engine functionality + maybe adding some extra features for binlogs specifically would be an easier path? Again, an awesome work done here, I'm just finding the tool a bit limited to certain use cases, and that'd be super cool to use it for feeding binlog backups taken somehow else, for instance, or use it as a merging point of multiple source binlog backups, etc.

Any updates/roadmap on 2022?
I got the same error from MariaDB 10.5.12 mysqlbinlog
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#700101  8:00:00 server id 112211  end_log_pos 244 	Start: binlog v 4, server v 5.6.0-ripple created 700101  8:00:00
BINLOG '
AAAAAA9TtgEA8AAAAPQAAAAAAAQANS42LjAtcmlwcGxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAAAAACAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAEEwQA
'/*!*/;
# at 244
#700101  8:00:00 server id 1  end_log_pos 492 ? 0x000a0a0a 	Start: binlog v 4, server v 10.5.12-MariaDB-1:10.5.12+maria~focal-log created 700101  8:00:00 at startup
ROLLBACK/*!*/;
BINLOG '
AAAAAA8BAAAA+AAAAOwBAAAAAAQAMTAuNS4xMi1NYXJpYURCLTE6MTAuNS4xMittYXJpYX5mb2Nh
bC1sb2cAAAAAAAAAAADZCdRhEzgNAAgAEgAEBAQEEgAA5AAEGggAAAAICAgCAAAACgoKAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAEEwQADQgICAoKCgA=
'/*!*/;
ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 43, event_type: 150
ERROR: Could not read entry at offset 492: Error in log format or read error.


limit maximum rates of all measurement at which they are stored into …

…the buffers

@priseborough Good to go?

Looks good to me

Merged


settings_checkbox: Fix incorrect line wrapping in mobile view.

The issue was text label has display: inline-block
property which caused it to go to a new line in smaller
width screens.
This PR fixes it by changing its display property to inline.
Fixes #19075.

Testing plan:
Tested it in different width screens.
GIFs or screenshots:

Before
After

Nice, merged, thanks @Riken-Shah!


KeyError: "word 'look' not in vocabulary"

Code and error are as follows：
import gensim
f = "bert-base-uncased.30522.768d.vec"
model = gensim.models.KeyedVectors.load_word2vec_format(f, binary=True)
print(model.most_similar(["look"]))
D:\Anaconda2\envs\book_py36_pytorch\lib\site-packages\gensim\models\keyedvectors.py:2333: RuntimeWarning: overflow encountered in square  dist = sqrt((m ** 2).sum(-1))[..., newaxis]
Traceback (most recent call last):
File "<input>", line 5, in
File "D:\Anaconda2\envs\book_py36_pytorch\lib\site-packages\gensim\models\keyedvectors.py", line 543, in most_similar mean.append(weight * self.word_vec(word, use_norm=True))
File "D:\Anaconda2\envs\book_py36_pytorch\lib\site-packages\gensim\models\keyedvectors.py", line 464, in word_vec
raise KeyError("word '%s' not in vocabulary" % word)
KeyError: "word 'look' not in vocabulary"

In the saved word vector, there will be cases where the length of the word vector is different, some are 768, and some are 769. This is the reason for the above error.
The reason why the length of the word vector is different is that there is one more space before the positive number in the vector, that is, the space between two characters is two.


add ability to upload attachment to a queried record

Added new public method in Request class that will upload attachments to a record in a table
Updated README with an example
Update tests with an upload attachment test

Just a note your _get_url method won't work well for the attachment API as url's are formed a little differently. So I created a new _get_attachment_url method to get an attachment API url instead of a table API url.

Great, thanks Ryan!


Environment setup

Closes #27
Closes #2
Uses boilerplate project to create initial Electron/React app template

LGTM


feat: Support SQLModel

I'd like to raise a request for supporting SQLModel library integration.
It should be a relatively straightforward implementation, as SQLModel is based on SQLAlchemy and this lib already has that integration.
It would be amazing if the type-safety and generic Select/Query types were supported.
Similar library from the FastAPI ecosystem support it already:
https://github.com/uriyyo/fastapi-pagination
I'm happy to raise a pull-request at some point, but I'm submitting this issue to spin up some discussion.

Just like for tortoise support, I don't personally use SQLModel (yet) so a PR would be appreciated.
If I start playing with SQLModel I'll probably do it myself but it's not in my current plans.

No, not stale please

Keepalive

I'm not sure this is still an issue. I just got done implementing my first filter with fastapi-filter using SQLModel. I just pointed it at my main SQLModel, the one with table=True, and it worked fine.
I'd be curious to hear if others have hit any issues trying this?


chore: Print the string associated with the message method

关联的Issues (Related Issues)

close
改动 (Proposed Changes)

附注 (Additional Info)

自查清单 (Checklist)
在你认为本 PR 满足被审阅的标准之前，需要确保 / Before you mark the PR ready for review, please make sure that:

[x] 符合Venus项目管理规范中关于PR的相关标准 / The PR follows the PR standards set out in the Venus project management guidelines
[x] 具有清晰明确的commit message / All commits have a clear commit message.
[x] 包含相关的的测试用例或者不需要新增测试用例 / This PR has tests for new functionality or change in behaviour or not need to add new tests.
[x] 包含相关的的指南以及文档或者不需要新增文档 / This PR has updated usage guidelines and documentation or not need
[ ] 通过必要的检查项 / All checks are green

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/v1.9.0-pre-rc1@6a40911). Click here to learn what that means.
The diff coverage is n/a.

Additional details and impacted files

@@                    Coverage Diff                    @@
##             release/v1.9.0-pre-rc1     #275   +/-   ##
=========================================================
  Coverage                          ?   53.40%
=========================================================
  Files                             ?       64
  Lines                             ?     6720
  Branches                          ?        0
=========================================================
  Hits                              ?     3589
  Misses                            ?     2838
  Partials                          ?      293

Flag
Coverage Δ

unittests
53.40% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Sto relnotes 2023 03 02 doc 2686

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://hdh.pr.harness.io/pr-853

Preview environment: https://hdh.pr.harness.io/pr-853

Preview environment: https://hdh.pr.harness.io/pr-853

Preview environment: https://hdh.pr.harness.io/pr-853

Preview environment: https://hdh.pr.harness.io/pr-853


How to use x-editable with Semantic UI?

I am building a webapplication using the Semantic UI front-end framework. I'd like to use x-editable in this project, and therefore I'd like to know how hard it would be to replace the Bootstrap or jQuery-UI-powered interfaces with a different one, and how to go about this. What files will need adapting? Is it possible to do this in a way that this framework could be added as possibility besides the currently supported jQuery-UI and Bootstrap options?

Unfortunately, due to this project being supported by volunteers we cannot provide user support at this time. Please try a site like Stack Overflow:  http://stackoverflow.com/questions/tagged/x-editable
Thank you.


Add FDS image

Adds FDS docker image and README to repository

@kzscisoft  I think this is not needed now as it is covered by examples @wk9874 has done?


May 2024 ASF Board Report

Is your feature request related to a problem or challenge?
Per https://www.apache.org/foundation/board/reporting, for the first three months of a project it should submit monthly board reports to the ASF board
Subsequently, per  https://whimsy.apache.org/roster/committee/datafusion the DataFusion ASF board report schedule is
March, June, September, December
Describe the solution you'd like
I would like to draft a board report for the ASF board meeting, ideally with community help.
The meetings are typically in the second or third week of the month
Describe alternatives you've considered
I plan to do this in the same style that worked well in Arrow (see an example from @andygrove
here https://lists.apache.org/thread/7w4mgy98qomc6drvj2fo81gvhq6p0boc) -- make a google doc (or issue) that people can add relevant content to and then the chair (me for the time being) submits it to the board
Additional context
No response

I would like to help on this.

Here is a draft board report that would be great if people could help fill in in: https://docs.google.com/document/d/1knyR2epIOY7WoXZO_DOtlcPNSenb3-V-osCHqPXqSms/edit

Here is a draft board report that would be great if people could help fill in in: https://docs.google.com/document/d/1knyR2epIOY7WoXZO_DOtlcPNSenb3-V-osCHqPXqSms/edit

I took a stab at filling out what I could - I think some of the numbers related to the repo stats will need to be re-run closer to the board meeting. I put the links/git commands I used to get the numbers.

Thank you @phillipleblanc  -- this is great 🙏

I think this needs to be submitted by may 8 (not may 15) so I'll do so this week

Apparently it needed to be done today
Here is the text of the report that was submitted:
## Description:
The mission of Apache DataFusion is the creation and maintenance of software
related to an extensible query engine

## Project Status:
Current project status: New + Ongoing (high activity)
Issues for the board: None

## Membership Data:
Apache DataFusion was founded 2024-04-16 (20 days ago)
There are currently 29 committers and 9 PMC members in this project.
The Committer-to-PMC ratio is roughly 8:3.

Community changes, past quarter:
- No new PMC members (project graduated recently).
- Mustafa Akur was added as committer on 2024-04-20
- Brent Gardner was added as committer on 2024-04-20
- Oleks V. was added as committer on 2024-04-20
- Jay Zhan was added as committer on 2024-04-20
- Jeffrey Vo was added as committer on 2024-04-20
- Liu Jiayu was added as committer on 2024-04-20
- Metehan Yildirim was added as committer on 2024-04-20
- Wang Mingming was added as committer on 2024-04-20
- Marco Neumann was added as committer on 2024-04-20
- Zhong Yanghong was added as committer on 2024-04-20
- Mehmet Ozan Kabak was added as committer on 2024-04-20
- Paddy Horan was added as committer on 2024-04-20
- Rémi Dettai was added as committer on 2024-04-20
- Sun Chao was added as committer on 2024-04-20
- Daniel Harris was added as committer on 2024-04-20
- Raphael Taylor-Davies was added as committer on 2024-04-20
- Ruihang Xia was added as committer on 2024-04-20
- Xudong Wang was added as committer on 2024-04-20
- Yang Jiang was added as committer on 2024-04-20
- Yijie Shen was added as committer on 2024-04-20

## Project Activity:

The project is quite active with many PRs and issues opened and closed per
day. We have spent significant time on tasks related to becoming a new top
level project.

DataFusion became its own top level project after operating as a subproject of
Apache Arrow for several years.

We have been focused on the [tasks] required to operate as our own project,
largely logistical such as updating documentation, creating mailing lists, and
a [DOAP file].

[tasks]: https://github.com/apache/datafusion/issues/9691
[DOAP file]:  https://projects.apache.org/project.html?datafusion

### DataFusion core
https://github.com/apache/datafusion

In addition to the work related to moving to a top-level project, the
community is focused on making logical planning faster, making function
packages (i.e. UDFs) modular and easier to mix/match, and “de-parsing” logical
plan expressions back to SQL.

We are preparing the first release as a new project, version 38.0.0

For the DataFusion repo since 2024-04-16, as of 2024-05-07:

132 commits[1] 46 code contributors[2] 168 PRs opened on GitHub[3] 187 PRs
closed on GitHub[4] 130 issues opened on GitHub[5] 94 issues closed on
GitHub[6]

[1]: git log --since="2024-04-16" --pretty=format:"%h" | wc -l
[2]: git shortlog -sn --since="2024-04-16" | wc -l
[3]: https://s.apache.org/x5gkj
[4]: https://s.apache.org/rg9op
[5]: https://s.apache.org/sqlun
[6]: https://s.apache.org/l3clf

### Sub project: DataFusion Python
https://github.com/apache/datafusion-python

The DataFusion Python subproject is not currently actively maintained and
there has been no release yet to upgrade to DataFusion version 37 or to
prepare for the upcoming DataFusion 38 release.

### Sub project: DataFusion Comet
https://github.com/apache/datafusion-comet

The Comet subproject is very active and is receiving significant contributions
from new contributors. There is some initial documentation published at
https://datafusion.apache.org/comet/.

### Sub project: DataFusion Ballista
https://github.com/apache/datafusion-ballista
https://github.com/apache/datafusion-ballista-python

The Ballista subproject is not currently actively maintained.

### Recent Releases

* 37.1.0 was released on 2024-04-22
* 37.0.0 was released on 2024-04-05

## Community Health:
Overall, the community seems excited by becoming a new top level
projectand contributions continue to arrive and activity on the
project continues.  We have not made any significant change
in day to day operations, and don’t  have any plans to do so
at the moment.

The PMC lists are now set up and we are actively discussing
growing committers and the PMC. We expect both of these groups
to grow in the  near future.

In the last 6 months or so, it has been hard to discuss potential
committers within the Arrow PMC as many contributors focused
almost exclusively on DataFusion and did not also have substantial
contributions to Arrow  (which was more common earlier in the
project's life).

We have also created a [Governance Page] to maintain project
transparency, largely based on the content from the Arrow project.

[Governance Page]: https://s.apache.org/98bwp


polymer-hybrid branch doesn't seem to exist

see https://github.com/LostInBrittany/granite-qrcode-decoder/issues/2

Oups, I forgot to push one of the branches.
Right now there are:

Polymer 1.x-hybrid
Polymer 2.x-hybrid


Improve typing of rich text fields

Currently rich text fields are typed as any. Would it be possible to use the Richtext interface from storyblok-js-client instead?
export interface Richtext {
  content: Array<Object>;
}

It's small, so perhaps it could also be done inline?

Thanks for raising this issue. Any PR welcome

Seems like #42 is ready to be merged. Can you @dohomi publish it?


Test ownership check failed.  Builders missing owner: [Mac verify_binaries_codesigned]

# Test ownership check failed.
Builders missing owner: [Mac verify_binaries_codesigned]
Please define ownership in https://github.com/flutter/flutter/blob/master/TESTOWNERS

Tree is closed.
https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8800284695857286689/+/u/validate_test_ownership/stdout
Also seen in presubmit:
https://ci.chromium.org/p/flutter/builders/try/Linux test_ownership/1428?
Not sure why this only just started failing, this has been commented out forever
https://github.com/flutter/flutter/blob/a707d05e9d4c7ec95403444e04a65cd69c0da3b0/TESTOWNERS#L302

Does this line just need to be uncommented? I'm also confused why this just started failing.

The PR: https://github.com/flutter/cocoon/pull/2206 was reverted in https://github.com/flutter/cocoon/pull/2220.
Rerun passed, and tree is green. Lowering to P3.
/cc @ricardoamador could you help follow up with the culprit?

Yes, I will take a look.

The issue here is with using the protobuf wrappers is that when we get the targets they are filtered by the branch. So when we run the integration tests, etc, we cannot get the information for that target since the branch is a candidate branch.


Applying the latest merge in original library

I've recently submitted an enhancement report and a PR on: https://github.com/googlemaps/v3-utility-library/pull/356 and here is the diff to that change (that has been merged there).
Please, note that the changes from https://github.com/lucasfs7/google-maps-infobox-module/pull/3 do not exist in the original (v3-utility-library), but I left them intact here, so they're not overwritten. Perhaps it might be a good idea to open the ticket for that one there, too.

thanks for the help


if support other online vunerability database?

Hi,
At present, only one online databse is supported, do you have further plan to use other one line database ?

Supporting multiple data sources requires us to provide additional compatibility for different metadata formats.
A current compromise solution is to use local data sources to synchronize data from other online vulnerability databases.
If necessary, we can reopen this thread in the future. Thank you for your support.


datastore: add a walkthrough

RE #1084
Demo

Coverage remained the same at 100.0% when pulling b62754cc768d527811d4edfb30a8a96de3a3e063 on stephenplusplus:spp--1084 into 8d382906a0c739fd0ea520475ade4c8efc11a472 on GoogleCloudPlatform:master.

@callmehiphop if this approach looks okay to you, I'll send additional PRs for the other services.

@stephenplusplus The approach looks fine to me!

Coverage remained the same at 100.0% when pulling 7b739f4cd4a99c19c498507b14bb4fbbd3b41c5c on stephenplusplus:spp--1084 into 5199cadb557bcbd1c5d34a5debccf97ec982561d on GoogleCloudPlatform:master.

@callmehiphop ptal!


Can't define function in lua script after calling luaL_sandbox in host

After calling luaL_sandbox, which we are supposed to do apparently (according to https://github.com/luau-lang/luau?tab=readme-ov-file#building), I then execute the script with lua_pcall(state, 0, LUA_MULTRET, 0);.
In the Lua script, a new function is defined:
function f(x : number, y : number) : number
    return x + y
end

But this results in:
1: string: [string "test"]:40: attempt to modify a readonly table
So scripts can't define new functions?
Or are we supposed to execute the script first, then sandbox it?  But doesn't this go against the principle of sandboxing in the first place?

The correct procedure is that instead of running code in the (sandboxed) global state, you create new threads, sandbox them using luaL_sandboxthread and run code inside them.
So, do this once when initializing the VM:

luaL_newstate
luaL_openlibs plus whatever extra global setup for the shared global environment you need via luaL_register / lua_setglobal
luaL_sandbox

... and then do this any time you want to start a new script:

lua_newthread
luaL_sandboxthread
luau_load with bytecode
lua_resume or lua_pcall to run it

luaL_sandboxthread will create a writeable global table for the thread that will refer to the (read-only) shared global environment for unknown keys.

Awesome, that seems to work so far, thank you.


enhancement Increase batch size of node channel to improve import performance

Proposed changes
Issue Number: close #xxx
Problem summary
change the _batch_size of node channel from 2048 to 8192.  The stream load  performance is improved by about two times when import  ssb lineorder table.
Test with tools/ssb-tools for single node. 600MB data load time: 14s -> 7s.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.73 seconds
load time: 574 seconds
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221102160131_clickbench_pr_38643.html

Add some performance test statistics.


Documentation: Missing Object

🚀 The feature
In Components > Vector Databases
Missing: import { WebLoader } from '@llm-tools/embedjs-loader-web'; for all of the examples.
Motivation, pitch
Reviewing the documentation and noticed that WebLoader is not imported and called upon in the code example.

Thanks for pointing it out. Will be addressed in the next release.


Error in beam-search multinomial sampling

According to the transformer in Huggingface, beam-search multinomial sampling can be implemented by setting num_beams>1 and do_sample=True. However, this is not supported in LAVIS. If I set num_beams=4, num_return_sequences=4 and do_sample=True simultaneously, there is an error as follows:
File "MM/LAVIS/lavis/models/med.py", line 1405, in generate_from_encoder
    outputs = self.generate(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/transformers/generation_utils.py", line 1404, in generate
    return self.beam_sample(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/transformers/generation_utils.py", line 2520, in beam_sample
    outputs = self(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 1211, in forward
    outputs = self.bert(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 974, in forward
    encoder_outputs = self.encoder(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 592, in forward
    layer_outputs = layer_module(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 475, in forward
    cross_attention_outputs = self.crossattention(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 346, in forward
    self_outputs = self.self(
  File "miniconda3/envs/lavis/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "MM/LAVIS/lavis/models/med.py", line 219, in forward
    attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))
RuntimeError: The size of tensor a (36) must match the size of tensor b (4) at non-singleton dimension 0

During generation, the size is normal when generating the first token, both query_layer and key_layer are torch.Size([64, 12, 5, 64]). However, when generating the second token, the size of key_layer become torch.Size([4, 12, 577, 64]). So I think there may be something wrong with the image caption. By the way, 5 is my prompt_length and 12 is the attention head.
Could you figure out where the error is? Thanks in advance :)

Hi, @Richar-Du,
I think something fishy might be going on. I have to investigate into this. Thanks for raising this.

I have meet the same trouble because my version of transformers is incorrect. Maybe you need to check whether your version of transformers is lower than 4.27


This is to fix MADLIB-305

The function for handling the alternative positions-values input format for svecs miscalculates the returned svec size. This change fixes the bug.

Given the clutter in the commit history (upstream merges) and the overlap(?) with pull request 107, I suggest a manual (rebased) merge.

Agree. Please also see comment on PR 108.

Closing this PR since it is covered by PR 108 per above.

Closed because I thought it was entirely contained in PR 108, reopened because the comments in PR 108 indicate that that change is a subset of this one.
Agree that pull should be handled manually.

The following commits were already merged a long time ago, or they are upstream merges:
4a7ef60
Improved svm_store_model() function to make it more memory efficient
aa77147
Fixed a bug on cumulative error counting in svm_cls_update() function
9857848
Merge remote branch 'upstream/master'
575483c
Merge remote branch 'upstream/master'
37cfca5
Merge remote branch 'upstream/master'


The icons in the start menu are strange.

Here are some screenshots:

To be able to focus on major/current bugs I had to close all issues. The issues section has gotten very messy to a point that I couldn't follow it anymore. Most issues are duplicates, very old or are already fixed/solved. Feel free to reopen this issue if you still have this issue on the latest version of TaskbarX to get my attention. All feature requests have been put in a list here: 💡| Feature requests #870
I hope you understand ❤


Improve Retrieval of VMware Host Storage Devices

Currently host storage devices are retrieved host-by-host, initially to reduce the chance that too much data would be requested and the RetrieveProperties call would timeout.  The move towards RetrievePropertiesEx and ContinueRetrievePropertiesEx negates this concern.  By bundling the request for this property into one API call the overhead is drastically reduced.
I ran a benchmark against a vc simulator with 512 hosts with three different code versions, three runs each (empty cache each run):

Include config.storageDevice in the broker cache for HostSystem
Retrieve all hosts' config.storageDevice in 1 call, but do not include in broker cache
Current upstream/master

When retrieving all host storageDevices in 1 call the total time to collect inventory was reduced from ~425s to ~36s.  When including config.storageDevice in the same call as the rest of the HostSystem it drops to ~23s, but increases broker memory usage by ~85MiB.
When doing subsequent refreshes option #1 will be able to return storage devices out of cache, while option #2 will still have to go out to the VC to retrieve this information.
I'd like some feedback on some of the trade-offs here, #2 seems to be the safe bet while #1 will be the best overall performance if we can take the memory hit.
/cc @roliveri @blomquisg

There may be one other concern with #2. When the info is in the cache, every client that requests host information will get a much larger payload - marshaled through DRB - even when it doesn't need the new info. That may impact performance in other code paths.

Good point @roliveri forgot about that, so on a targeted refresh get_vc_data will return everything through DRB then filter it down.

@roliveri how does this look?

@agrare LGTM

@agrare @blomquisg Please label euwe/yes or euwe/no

Euwe Backport details:
$ git log
commit c72c4e4c99e675843cfdbdfc622e7757c51a5583
Author: Greg Blomquist<EMAIL_ADDRESS>Date:   Mon Oct 3 17:22:15 2016 -0400

    Merge pull request #11629 from agrare/vmware_infra_host_scsi_one_call

    Improve Retrieval of VMware Host Storage Devices
    (cherry picked from commit 59f755fe421983761bc48d3162f79b109126c4a6)


Incorrect record update causes stack overflow instead of compilation error

This code causes a stack overflow in the compiler
y =
  { x = 0
  }

update _ s =
  { s | x = s.x + 1 }

main =
  always empty <~ foldp update y (constant ())

In  update <- should be used in update instead of =. Wouldn't it be possible to update with =?

With #985 this should not be possible anymore.


Document the missing important flags in subctl cloud prepare gcp

From the latest subctl cloud prepare gcp ... we can see that there are many new flags. Although its not necessary to document every flag, some of the important ones can be identified and documented as it will help users to be aware of such a flag.
For example: --insecure-skip-tls-verify
Following is the list of options that are currently supported:
Usage:
  subctl cloud prepare gcp [flags]

Flags:
      --credentials string        GCP credentials configuration file (default "/home/sgaddam/.gcp/osServiceAccount.json")
      --dedicated-gateway         Whether a dedicated gateway node has to be deployed (default true)
      --gateway-instance string   Type of gateway instance machine (default "n1-standard-4")
      --gateways int              Number of gateways to deploy (default 1)
  -h, --help                      help for gcp
      --infra-id string           GCP infra ID
      --ocp-metadata string       OCP metadata.json file (or the directory containing it) from which to read the GCP infra ID and region from (takes precedence over the specific flags)
      --project-id string         GCP project ID
      --region string             GCP region

Global Flags:
      --as string                      Username to impersonate for the operation
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
      --kubeconfig string              absolute path(s) to the kubeconfig file(s)
      --nat-discovery-port uint16      NAT discovery port (default 4490)
      --natt-port uint16               IPSec NAT traversal port (default 4500)
      --password string                Password for basic authentication to the API server
      --proxy-url string               If provided, this URL will be used to connect via proxy
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
      --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
      --username string                Username for basic authentication to the API server
      --vxlan-port uint16              Internal VXLAN port (default 4800)

Per discussion on https://github.com/submariner-io/submariner-website/pull/850, I think the idea is to use subctl as a reference for connection option flags that are common to many subctl commands.


Network API

Current setup is HTTP + a libp2p adapter. However, since many payloads contain raw bytes, having a serialization layer that can handle typed bytes (protos) would be ideal.
I'm considering gRPC + libp2 transport (I have an example of this working nicely). Pubsub is another consideration. Also considering gRPC.

Update: I'm making progress here by using https://github.com/libp2p/go-libp2p-gostream as a way of creating libp2p connections with gRPC. This combo (in go-textile-threads) is essentially a more up-to-date version of https://github.com/paralin/go-libp2p-grpc.


kernel/tty: panic in tty_ldisc_restore

This is a kernel bug, can't think of a better place to file it. Filing to not lose track of it and collect all relevant details in one place.
We are seeing lots of panics in tty_ldisc_restore:
https://groups.google.com/d/msg/syzkaller/ty5IhaYWVp8/aTN_hZ8qBQAJ
This was fixed by "tty: don't panic on OOM in tty_set_ldisc()":
https://groups.google.com/d/msg/syzkaller/A_rym4XhvfA/7TXNpQgFEAAJ
but then reverted because it uncovered other latent issues:
https://www.spinics.net/lists/linux-serial/msg26022.html
What's being proposed as a better fix is (see the revert thread):
> Maybe we can split up ldisc initialisation into two methods so that
> the first one (e.g. ->alloc) does all the allocation and is allowed to
> fail and the second one (e.g. ->open) is not allowed to fail. Then you
> can allocate a new ldisc without freeing the old one and only swap
> them over if the allocation succeeded.
>
> That would require fixing up ->open for all the ldisc drivers though,
> I'm not sure how easy/feasible it is.

We don't have that many ldisc drivers, so it shouldn't be that hard to
change to use this.  It makes a lot more sense to fix this the correct
way like this.

This will require changing all 26 tty drivers and generic tty code.

/cc @vegard

Still getting around to looking at all this tty mess :-( I tried fixing a more serious buffer overflow as well but introduced a potential deadlock according to lockdep. tty code is really frustrating.

I thought maybe something like this (very rough sketch for n_gsm only):
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 2667a205a5ab..f5322e956532 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2345,21 +2345,18 @@ static void gsmld_close(struct tty_struct *tty)
  *	until a close.
  */

-static int gsmld_open(struct tty_struct *tty)
+static void *gsmld_alloc(struct tty_struct *tty)
 {
 	struct gsm_mux *gsm;
 	int ret;

 	if (tty->ops->write == NULL)
-		return -EINVAL;
+		return ERR_PTR(-EINVAL);

 	/* Attach our ldisc data */
 	gsm = gsm_alloc_mux();
 	if (gsm == NULL)
-		return -ENOMEM;
-
-	tty->disc_data = gsm;
-	tty->receive_room = 65536;
+		return ERR_PTR(-ENOMEM);

 	/* Attach the initial passive connection */
 	gsm->encoding = 1;
@@ -2368,8 +2365,18 @@ static int gsmld_open(struct tty_struct *tty)
 	if (ret != 0) {
 		gsm_cleanup_mux(gsm);
 		mux_put(gsm);
+		return ERR_PTR(ret);
 	}
-	return ret;
+
+	return gsm;
+}
+
+static void gsmld_open(struct tty_struct *tty, void *disc_data)
+{
+	struct gsm_mux *gsm = disc_data;
+
+	tty->disc_data = gsm;
+	tty->receive_room = 65536;
 }

 /**
@@ -2797,6 +2804,7 @@ static struct tty_ldisc_ops tty_ldisc_packet = {
 	.owner		 = THIS_MODULE,
 	.magic           = TTY_LDISC_MAGIC,
 	.name            = "n_gsm",
+	.alloc           = gsmld_alloc,
 	.open            = gsmld_open,
 	.close           = gsmld_close,
 	.flush_buffer    = gsmld_flush_buffer,
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index e4603b09863a..7c67a20b0b09 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -459,16 +459,23 @@ static void tty_set_termios_ldisc(struct tty_struct *tty, int disc)

 static int tty_ldisc_open(struct tty_struct *tty, struct tty_ldisc *ld)
 {
+	void *ldisc_data = NULL;
+
 	WARN_ON(test_and_set_bit(TTY_LDISC_OPEN, &tty->flags));
-	if (ld->ops->open) {
-		int ret;
-                /* BTM here locks versus a hangup event */
-		ret = ld->ops->open(tty);
-		if (ret)
+
+	if (ld->ops->alloc) {
+		ldisc_data = ld->ops->alloc(tty);
+		if (IS_ERR(ldisc_data)) {
+			/* XXX: this is questionable */
 			clear_bit(TTY_LDISC_OPEN, &tty->flags);
+			return PTR_ERR(ldisc_data);
+		}
+	}

+	if (ld->ops->open) {
+                /* BTM here locks versus a hangup event */
+		ld->ops->open(tty, ldisc_data);
 		tty_ldisc_debug(tty, "%p: opened\n", ld);
-		return ret;
 	}
 	return 0;
 }
@@ -568,18 +575,15 @@ int tty_set_ldisc(struct tty_struct *tty, int disc)

 	old_ldisc = tty->ldisc;

-	/* Shutdown the old discipline. */
-	tty_ldisc_close(tty, old_ldisc);
-
 	/* Now set up the new line discipline. */
-	tty->ldisc = new_ldisc;
-	tty_set_termios_ldisc(tty, disc);
-
 	retval = tty_ldisc_open(tty, new_ldisc);
-	if (retval < 0) {
-		/* Back to the old one or N_TTY if we can't */
+	if (retval == 0) {
+		tty->ldisc = new_ldisc;
+		tty_ldisc_close(tty, old_ldisc);
+		tty_set_termios_ldisc(tty, disc);
+		tty_ldisc_put(old_ldisc);
+	} else {
 		tty_ldisc_put(new_ldisc);
-		tty_ldisc_restore(tty, old_ldisc);
 	}

 	if (tty->ldisc->ops->num != old_ldisc->ops->num && tty->ops->set_ldisc) {
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h
index 3971cf0eb467..6cca68184fab 100644
--- a/include/linux/tty_ldisc.h
+++ b/include/linux/tty_ldisc.h
@@ -174,7 +174,8 @@ struct tty_ldisc_ops {
 	/*
 	 * The following routines are called from above.
 	 */
-	int	(*open)(struct tty_struct *);
+	void *	(*alloc)(struct tty_struct *);
+	void	(*open)(struct tty_struct *, void *disc_data);
 	void	(*close)(struct tty_struct *);
 	void	(*flush_buffer)(struct tty_struct *tty);
 	ssize_t	(*read)(struct tty_struct *tty, struct file *file,

It seems complicated and error prone, not even sure if it will work for all drivers.

Still getting around to looking at all this tty mess :-( I tried fixing a more serious buffer overflow as well but introduced a potential deadlock according to lockdep. tty code is really frustrating.

Yes.
It also looks wrong that open/close callbacks not just create the resource, but also wire/unwire it with tty. It would be cleaner if they just create/destroy disc and let generic code handle wiring/unwiring.
Do they touch anything besides receive_room (and besides disc_data)?

I thought maybe something like this (very rough sketch for n_gsm only):

I think we need more changes to tty_set_ldisc/tty_ldisc_open. tty_ldisc_open calls open callback which assumes that tty->disc_data is already cleared after an old disc, and it overwrites it with new disc. We need call alloc first, and only if it succeeds close the old one and call open for the new one.

This was fixed by "tty: handle the case where we cannot restore a line discipline".


Ambiguous signature for extracting() when using kotlin

Summary
When trying to use .extracting() with lambdas in kotlin, the call is ambigous and will not compile out-of-the-box. I think this is due to
extracting(ThrowingExtractor<? super ELEMENT, V, EXCEPTION> extractor)
and
extracting(Function<? super ELEMENT, V> extractor)
have the same effective signature because in kotlin, there are no checked exceptions (thank god).
Example
assertThat(highlights).hasSize(6).extracting(HighlightInfo::getText).doesNotContain("assertThat")
// nor does this work
assertThat(highlights).hasSize(6).extracting { it.text }.doesNotContain("assertThat")

I've got no idea on how to fix that in a backwards compatible manner other than to have a different method name for kotlin that won't clash or trying to add an extension that will cope with it.

Temporarily solved it by adding this kotlin extension and using the slightly (kotlin typical) misspelled version...
package org.assertj.core.api

import org.assertj.core.groups.FieldsOrPropertiesExtractor
import java.util.*

fun <SELF : AbstractIterableAssert<SELF, ACTUAL, ELEMENT, ELEMENT_ASSERT>,
        ACTUAL : Iterable<ELEMENT>,
        ELEMENT,
        ELEMENT_ASSERT : AbstractAssert<ELEMENT_ASSERT, ELEMENT>,
        V>
        AbstractIterableAssert<SELF, ACTUAL, ELEMENT, ELEMENT_ASSERT>.extrakting(extractor: (ELEMENT) -> V): AbstractListAssert<*, List<V>, V, ObjectAssert<V>> {
    val values = FieldsOrPropertiesExtractor.extract(actual, extractor)
    if (actual is SortedSet<*>) {
        usingDefaultElementComparator()
    }
    @Suppress("UNCHECKED_CAST")
    return newListAssertInstance(values).withAssertionState(myself) as AbstractListAssert<*, List<V>, V, ObjectAssert<V>>
}

I guess your solution is the way to go (or use assertk) as I'm not sure there is way of improving the Kotlin compatibility without changing the method names which is not not an option as it would be a breaking change.

Putting something in a different package feels a lot like a hack. I noticed that AssertJ 3.12 deprecated Extractor (in favour of Function), so there may still be a chance for this change in the future. How stable is assertk? I would not easily leave AssertJ just now.

Extractor is deprecated but ThrowingExtractor is not, the issue is not going away as (unfortunately) java has checked exceptions and this is what ThrowingExtractor is dealing with.

[…] I'm not sure there is way of improving the Kotlin compatibility without changing the method names which is not not an option as it would be a breaking change.

Perhaps a breaking change is needed from time to time. Method overloading that depends on whether or not exceptions are thrown is a bit weird anyway. How about extractingWhileConvertingExceptions?

I've found that the below works for me:
assertThat(highlights).hasSize(6).extracting<String> { it.text }.doesNotContain("assertThat")

I've found that the below works for me:
assertThat(highlights).hasSize(6).extracting<String> { it.text }.doesNotContain("assertThat")

but the below does not work...
assertThat(highlights)
    .hasSize(6)
    .extracting<String> { it.text }
    // still works
    .contains("this")
    // but from this point, 'Nothing' type is required
    .doesNotContain("that")

Closing since this is a Kotlin issue and there is not much we can do without breaking changes, moreover it seems there are some alternatives.

You can use it this way
assertThat(result).extracting<Tuple> {
    tuple(it.id, it.content, it.answer)
}.containsExactlyInAnyOrder(
    tuple(check, check1, check2),
    tuple(anotherCheck, anotherCheck1, anotherCheck2),
)

As Joel said, we're not that happy about making any breaking changes in version 3, but version 4 might be the right time to rethink how to better support Kotlin.

I mostly use AssertJ with Kotlin these days. Even my teammates that still code mostly in Java are writing their tests in Kotlin. AssertJ generally works great from Kotlin, but little things like this would make it even better. I'm psyched to see this re-opended, and hear of the potential for even better Kotlin compatibility in 4.0.

By the way it seems that flatExtracting is also exposed to this issue.
assertThat(notificationTestUtil.listOurNotifications())
            .flatExtracting(Notification::getTitle, Notification::getContent)
            .containsOnly("No 'origin' provided")

=> [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] Not enough information to infer type variable EXCEPTION

I agree with others that a small shim library on top of assertj-core might already help a lot, similar to what Google did with the *-ktx libraries, so people could use the more idiomatic Kotlin versions of things, all under the assertj umbrella, so we don't have to duplicate little things like this again and again and again:
inline fun <reified T : Any> ObjectAssert<*>.asInstanceOf(): ObjectAssert<T> =
        asInstanceOf(InstanceOfAssertFactories.type(T::class.java))

Would be willing to contribute if there is interest.

Would it be really necessary to have a separate library on top of assertj-core or could we do something like JUnit did in Assertions.kt?

Having a separate kotlin library may impede discovery of such library. The JUnit approach is in my opinion a sensible approach, yet I wonder about the actual feasibility or consistency of the API in this case.


Reassign shards that do not belong to any active node

Pick one of the coordinators as the active reassigner. This coordinator will be responsible for tracking the online nodes and identifying which shards need to be reassigned to a different node (so that the shard is recovered from backup on the newly reassigned node). This check is performed at a fixed interval. A node is considered online if it shows up in active nodes at least once in this interval.

First commit looks good

@nileema is going to update this.


Update the PointOfSale sample

Update the PointOfSale sample to latest .Net version

Appreciate the help here, thank you! We're now already updating for .NET 8 😱 so this one is a bit obsolete. Appreciate the effort though, thank you!


Actions tests

Continuing from #25

Some work had to be done on ActionRunError, so this PR is now breaking


Remove or comment out Google Tags/UA info from source

I can understand the need/want to track usage on a centrally hosted server for you as the code repository owner.
However, unless this can be easily overridden or if you have an intention to fully disclose the metrics collected or if you explain clearly what you intend to do with the data and how to easily remove it, I'd personally request this be removed or commented out from the source.

https://github.com/didin1453fatih/dbdesigner.id/commit/70b547a80851e6b59ac22cea6177501e037ba43d
This issue fixed in latest


Develop

:tada: This PR is included in version 0.17.0 :tada:
The release is available on:

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


open-file-as-pdf

Q
A

Bug fix?
no - yes?

New sample?
no - yes?

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
added open-file-as-pdf JSON

Thanks for the sample! Sorry about the delay on this one, Russ. Unfortunately, there are a few issues with the sample we need to address:

Please use the latest README Template. Especially important is the tracking image URL at the bottom
This sample does not account for folders, items in sub folders, or unsupported file types (all of these will link to an error) - if we cannot account for these then we need to call it out in the README
Please add a screenshot showing an example of the applied format

A starting place for some adjustments to make things a little easier would be to adjust the href operands to something closer to this:
    "href": {
      "operator": "+",
      "operands": [
        "@currentWeb",
        "/_api/v2.0/drives/",
        "--YOURDRIVEID--",
        "/root:/",
        "[$FileLeafRef]",
        ":/content?format=pdf"
      ]
    },

I'm happy to help as well. Just let me know if you'd like assistance with any of the above. Thanks again!

Hey Chris,
I’ll update the read email and add a screenshot (it will only show a link!).
I don’t need to worry about non-office docs or folders for my use case , but i’ll give it a try.  I’ll shout if i need help (or choose to punt).
russ
Sent from my iPad

On May 14, 2020, at 12:17 PM, Chris Kent<EMAIL_ADDRESS>wrote:

Thanks for the sample! Sorry about the delay on this one, Russ. Unfortunately, there are a few issues with the sample we need to address:
Please use the latest README Template. Especially important is the tracking image URL at the bottom
This sample does not account for folders, items in sub folders, or unsupported file types (all of these will link to an error) - if we cannot account for these then we need to call it out in the README
Please add a screenshot showing an example of the applied format
A starting place for some adjustments to make things a little easier would be to adjust the href operands to something closer to this:
"href": {
  "operator": "+",
  "operands": [
    "@currentWeb",
    "/_api/v2.0/drives/",
    "--YOURDRIVEID--",
    "/root:/",
    "[$FileLeafRef]",
    ":/content?format=pdf"
  ]
},

I'm happy to help as well. Just let me know if you'd like assistance with any of the above. Thanks again!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks @russgove! If the sample doesn't support something, let's just call it out in the README. No need to over complicate things. Samples don't have to be the end all. Really appreciate your willingness to contribute over here.

@thechriskent  I updated the readme. Having trouble hiding link if it's not an office document. trying to only display for docx files for now.
heres the updated template"
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "a",
"attributes": {
"href": {
"operator": "+",
"operands": [
"https://tronoxglobal.sharepoint.com/sites/RussellgovetestKymsApp/_api/v2.0/drives/b!Q9gYfzgUwE6xkWM0s2DW3cJJLFT7n4ZHtOvwNqHlEcqdjbtoVZF4RIZCVmFJBhjE/root:/",
"[$FileLeafRef]",
":/content?format=pdf"
]
}
},
"txtContent": "[$FileLeafRef]",
"style": {
"display":  "=if([$File_x0020_Type] = 'docx','inline', 'none')"
}
}
it doesnt even put the anchor tag in the rendered document.
any ideas?

@thechriskent  Hey chris, any ideas on the above?

anybody here?

The issue in the format you posted is line 15 where you only have a single = sign. Adding that makes things work for word docs.

replaced by #279 opened 39 seconds ago by russgove

hey, looks like this never got merged.
Any issues?


Repo sync for protected CLA branch

The pull request is created from main637791840872886950 to main to fix git push error for protected CLA branch

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


Slack policy regarding advertisements and self-promotion

Migrated from GitLab: https://gitlab.com/meltano/handbook/-/issues/90
Originally created by @afolson on 2022-04-18 14:00:49

We've had a few instances where folks came to our Slack group to advertise their companies/services or content. We should have a policy on what we let through and what we delete.

View 2 previous comments from the original issue on GitLab

@emilylucie @aaronsteers this was the issue. Do we want a blanket policy on no self promotion/advertisements? Or are there exceptions we would like to allow? I can draft a policy once we are all in agreement

@NicholeG thanks for your help on this. Yes, I think that covers it and anything leaning towards solictiation.

I was curious so I looked up dbt's policy on this.

Rule 7: Do not solicit members of our Slack
This community is built for data practitioners to discuss the work that they do, the ideas that they have, and the things that they are learning. It is decidedly not intended to be lead generation for vendors or recruiters.
Do not pitch your products or services in dbt Slack: this isn't the right place for that. Vendors can add enormous value to the community by being there to answer questions about their products when questions arise.


Revert "Merge branch 'master' into master"

Rollback for big Git mixup.
This reverts commit a6d40112a0fd6a4d329fe1c8769c48a693191293, reversing
changes made to 2c0e731daae10a02bcd522fd0dfe16ffb286da21.

What happened? 😔 I too would like to see styled components in the starter by default.

@Strangehill just a mixup developing an alternative version of the starter - I pushed to the wrong repo :slightly_smiling_face:
I also have a preference for styled-components but I think this starter is supposed to be less opinionated (hence the inline CSS-in-JS).


Switch to Mend Renovate

Requirements

[x] Add Mend renovate
[x] Turn off Dependabot?
[x] Mend configuration

Dependencies

None (Add any issue dependencies here)

I turned off Dependabot for web and Server and am setting up Mend Renovate for both


VTO abort call service

I'm always frustrated when I open the door after someone is calling, and the doorbell keeps ringing.
Maybe there is a way to abort call from VTO ? If yes - I will trigger it whenever doors are opened

It's should be possible if integration allow you to send VTO command console.runCmd with param {'command': 'hc'}
Like it's done at this integration look to Cancel VTO Call example.

I'm sorry this took so long. I finally got some free time and implemented this and it is released in 0.9.32
https://github.com/rroller/dahua/releases/tag/0.9.32
Here's an example...
service: dahua.vto_cancel_call
target:
  entity_id: camera.doorbell_main

I'm sorry this took so long. I finally got some free time and implemented this and it is released in 0.9.32
https://github.com/rroller/dahua/releases/tag/0.9.32
Here's an example...
service: dahua.vto_cancel_call
target:
  entity_id: camera.doorbell_main

Can you please test it out and let me know how it works for you?

Can you please test it out and let me know how it works for you?

Resolving now this is implemented. Please reopen if there's any issues.

It is working fine ! VTO stops ringing. Unfortunately my dahua DMSS app keeps ringing, don't know if it should stop too after call cancel, but it would be nice to change this behavior too. I do understand that this can be out of scope of this project.


hint secp for jetting

Ping @BernardoDeLaPlaz, crypto-additions is getting merged into the release candidate soon, can you push your fix for this, and any other changes you have made for the rest of the jets?

@BernardoDeLaPlaz bumping this PR as well

closing in favor of #837


fix: balance rendering is depends only on token

:tada: This PR is included in version 2.22.3 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


German Tutorial

Hello, i created a german tutorial for this. It would honor me if you put it in your readme.
https://youtu.be/lAqDkUdGKy0

Looks good to me.
I'll link it up.


Package Initialization Error

Diagnostics
Request: GET https://api.teletype.atom.io/protocol-version

Versions
Teletype version: v0.13.3
Atom version: 1.31.2
Platform: darwin

Thanks for the report! I'm going to go ahead and close as a duplicate of #372 so you can subscribe there for updates if you'd like. If you can, please let us know if you're consistently seeing this error or if you saw it just once. It would also be useful to know if you access the internet via a proxy.


Fluent Interface missing on ConsoleModel::setErrorLevel

Hello,
contrary to almost all other setter methods on classes that implement the ModelInterface, ConsoleModel::setErrorLevel ist not returning itself when the method is called.
I would assume that it would return $this.
Best regards

Thanks, @porebskk. I made some minor consistency changes to the unit test, and cherry-picked this against develop for release with 2.11.0.


fix: Remove obsolete Items field

Issue link
Related issue: (https://github.com/project-codeflare/multi-cluster-app-dispatcher/issues/428)

What changes have been made
Removed obsolete Items[] field
Verification steps
N/A
Checks

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

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

/LGTM

/approve


was having a REAL bad time! imports on default config are bad

Validations

[X] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that requests the same enhancement

Problem
When installing on a MacBook Pro M2, I have having a very hard time keeping any persistence btw VSCode sessions. Basically every time I closed VS Code & came back, Continue extension got reset....and worse I got:
It's possible this was caused by an update to the Continue config format.
Falling back to default config settings due to the following error in ~/.continue/config.py.

with the Traceback:
ModuleNotFoundError: No module named 'continuedev.src'

I was intially thinking that my install was wrong. started over, ran it again etc.....maybe something with my environments, esp the overlap btw miniconda and poetry. what a headache. Esp given how easy Ollama + Continue make it seem up front to get a local LLM model or several running without needing the internet.
Turns out, it is that easy. And the fact that I could still engage with the models from the terminal should have been my biggest clue.
Solution
Essentially, most of the imports in the config.py file (the default one) - include an extra prefix that is apparently no longer needed.
The solution for me ended up being - yo, take the Traceback seriously - its an issue with the imports not PATHs or conda/poetry.
So, the default is:
...
...
...
from continuedev.src.continuedev.core.config import CustomCommand, SlashCommand, ContinueConfig
from continuedev.src.continuedev.plugins.context_providers.github import GitHubIssuesContextProvider
from continuedev.src.continuedev.libs.llm.openai_free_trial import OpenAIFreeTrial

from continuedev.src.continuedev.plugins.steps.open_config import OpenConfigStep
from continuedev.src.continuedev.plugins.steps.clear_history import ClearHistoryStep
from continuedev.src.continuedev.plugins.steps.comment_code import CommentCodeStep
from continuedev.src.continuedev.plugins.steps.share_session import ShareSessionStep
from continuedev.src.continuedev.plugins.steps.main import EditHighlightedCodeStep
from continuedev.src.continuedev.plugins.steps.cmd import GenerateShellCommandStep
from continuedev.src.continuedev.plugins.context_providers.diff import DiffContextProvider
from continuedev.src.continuedev.plugins.context_providers.url import URLContextProvider
from continuedev.src.continuedev.plugins.context_providers.terminal import TerminalContextProvider

and dropping the continuedev.src prefix from all those imports FIXED the persistence situation. I am no longer getting forced resets back to the default config.py file every time I close & open VScode.
...
...
...
from continuedev.core.config import CustomCommand, SlashCommand, ContinueConfig
from continuedev.plugins.context_providers.github import GitHubIssuesContextProvider
from continuedev.libs.llm.openai_free_trial import OpenAIFreeTrial

from continuedev.plugins.steps.open_config import OpenConfigStep
from continuedev.plugins.steps.clear_history import ClearHistoryStep
from continuedev.plugins.steps.comment_code import CommentCodeStep
from continuedev.plugins.steps.share_session import ShareSessionStep
from continuedev.plugins.steps.main import EditHighlightedCodeStep
from continuedev.plugins.steps.cmd import GenerateShellCommandStep
from continuedev.plugins.context_providers.diff import DiffContextProvider
from continuedev.plugins.context_providers.url import URLContextProvider
from continuedev.plugins.context_providers.terminal import TerminalContextProvider

I am not sure why I ended up in this situation, but I was following the documents and README.md files pretty intently - despite their being some contradictions or mis-matched advices in there.

@cachatj Very sorry this was such a painful experience. I appreciate that you were able to dig in and find the problem, though ideally nobody needs to go through the same!
The problem was a discrepancy between the import paths when running the server manually and when running from the default binary. Luckily we have an update on the way that will fix this, and can be accessed through the pre-release version on the VS Code Marketplace.
We'd also added an auto-migration intended to take care of this exact problem but unfortunately it looks like that didn't work - I will look into this.
Now that you're up and running it sounds like things are going smoothly, but let me know if there's something else!
I'll keep this issue open for others to see until we've made the pre-release version official

nice, glad to hear yall know what it was.
things have been great otherwise - very impressed, first real time I have dug into local models. Its some how weird to not have them connected to web but provide just as solid responses. 🔥

Glad to hear this! It is quite a surreal experience 😄

Pre-release version is now the official version, which should solve this problem for good, complete with auto-migrations even if something went wrong somehow. Closing the issue, but please open others if you find anything else!


C cpp

Description 📜
Here I have covered the topics such as Linear Search and Binary Search.
Fixes #1649

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/#CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Saviour1001  please review my work.

Hey @krkaustubh , since u have used gfg images so it will come under plagiarism, so you have two options, one to mention the resources from where you have taken the resources or change the images.

Hey @ChetasShree , I have added the reference of gfg please check it once.

@Saviour1001  @ChetasShree @Suvraneel  please review my work I have made the required changes


feat(Modal): Add Resizable Modal

modal.scss

reconfigured modal names and split the elements of the modal into different mixins
isolation: isolate added to separate z-index of the modal components from the z-index of all components (line 10)
inset: 0 replaces top: 0 and left: 0 (lines 12 & 73)
the visibility and opacity transitions for .iui-modal-full-page is inside @media (prefers-reduced-motion: no-preference) so that the full page modal will fade nicely by following the transition rules for standard modals (lines 26-30)
display: flex and flex-direction: column added to only full page and resizable modals to avoid breaking modals in React (lines 76-77 & 100-101)

these lines should be added to iui-modal in React 2.0 (around line 50)

transform: translateY(100%) is inside @media (prefers-reduced-motion: no-preference) so that the full page modal fades nicely when no motion is selected by the user (line 80)
modal.html
wrote javascript for a draggable modal (lines 225-270)

collaboration between Jon and Leah

Why we now have dialog and modal with the same CSS?

@bentleyvk @gretanausedaite:  Vykintas and I worked on this PR a little bit today because @elephantcatdog is out sick.  We think the HTML / CSS is ready but the dragging part is broken, @veekeys will investigate tomorrow.

Why we now have dialog and modal with the same CSS?

We changed the approach, should all be cleared up now.

I have added some custom js using translate to position dialog. It is better than using top, left becuase it cares about elements size.
My code fails, if you stop dragging and try again.. (works on initial drag, till you release the mouse).

Last thing left: there is a bug on initial drag.. seems like miscalc and not taking into consideration current translate value or something..

Last thing left: there is a bug on initial drag.. seems like miscalc and not taking into consideration current translate value or something..

I tried to figure it out but couldn't. This is just a demo for us, so for me it doesn't feel like a big deal.

Last thing left: there is a bug on initial drag.. seems like miscalc and not taking into consideration current translate value or something..

I tried to figure it out but couldn't. This is just a demo for us, so for me it doesn't feel like a big deal.

Fixed!


Add Prometheus HTTP Endpoint

It would be nice for goss validations to be consumed by Prometheus.io .   I will work on this a little.

I know there was a previous efforts to implement this with pr https://github.com/aelsabbahy/goss/pull/175
Might be helpful

@aelsabbahy,
Currently I have something basic working with the prometheus client.
https://github.com/Smithx10/goss/commit/b336a7e146843393f4a5266495cf62525f2ae131
I'd like to have the metric name be based on the resource type, but couldn't figure out how to iterate over the NewGaugeVec Constructor Name attribute, without causing prometheus to panic because of duplicates.
gossGauge = prometheus.NewGaugeVec(prometheus.GaugeOpts{
		Name: "goss",
		Help: "Lets you know if goss assertions were true 0, or false 1"},
		[]string{"resource_type", "resource_id", "property", "title"},
	)
}

Do you think these Gauges should be specific to each resource types?
Here is the output:
# HELP goss Lets you know if goss assertions were true 0, or false 1
# TYPE goss gauge
goss{property="exists",resource_id="bruce.smith",resource_type="User",title=""} 1
goss{property="exists",resource_id="jim",resource_type="User",title=""} 1
goss{property="exists",resource_id="smith",resource_type="User",title=""} 1
goss{property="ip",resource_id="tcp:8080",resource_type="Port",title=""} 0
goss{property="listening",resource_id="tcp:8080",resource_type="Port",title=""} 1

I have a question around the actual value / metric produced, should it be binary 1 / 0 or would the time it took to complete the check be useful for helping identify slow DNS or HTTP reponses? Or any unusual slowness of any resource like the filesystem?
I had thought that a simple true or false value would be better suited to a metric label? I don't use Prometheus so maybe you have some experience or opinions you can share in terms of it's usage and what good looks like in the Prometheus world?

I haven't used pormetheus myself so I can't really comment on this.
If you guys come to an agreement, it makes sense to add this to goss. If it ends up having many different opinions I'm wondering if it makes sense as a sample script in extra/ that parses the Goss json output and reformats it?
What do you guys think?

Thanks @aelsabbahy I made use of this quick docker-compose prometheus stack: https://github.com/vegasbrianc/prometheus and came up with #363 which is similar to the above idea / output but formats results to Prometheus text format output rather than using the client library.

I'm thinking of creating a prometheus collector instead in order to get similar metric names like @pysysops has.  Hopefully i'll get some time and figure it out.

@pysysops ,
I'm not really using goss as a tool for health checking applications, because I really don't believe that's the ethos of the project.  All I, as a Prometheus / Grafana user am interested in is finding out when my configuration drifted, for how long it drifted, and if it came back from the drift.  This is valuable if multiple actors are acting upon an infrastructure.  Ex.  Someone logged in and changed a configuration, and event handler etc.
Does that make sense?

Isn't one possible way of getting prometheus and goss to work together to use goss serve and the blackbox_exporter (https://github.com/prometheus/blackbox_exporter) for checking the http status code?

Seems work on this started and stopped multiple times with no agreement on solution.
Anyone here know if:
A. This is possible or is everyone's needs unique?
B. If it makes sense to be a goss output format?

@aelsabbahy
Hi
I am using goss and need this feature.Please add prometheus exporter to goss.

@karimiehsan90 This will have to be submitted by a contributor since I personally never used Prometheus. As long as a PR is submitted that is agrreed upon.
The one limitation I will say is that goss can have a Prometheus output format, but it should not be pushing results over the network.

Hi
Please excuse my poor english.
I also implemented the goss with prometheus output.
https://github.com/harre-orz/goss/commit/608323699f39d0c4823e7dff6d932e74fc8e758b
The output format is as follows.

Collect information of success = 0, failure = 1, skiped = 2 with goss_result
(like https://github.com/Smithx10/goss/commit/b336a7e146843393f4a5266495cf62525f2ae131)

# HELP goss_result Lets you know if goss assertions were true 0, or false 1, or skip 2
# TYPE goss_result gauge
goss_result{property="enabled",resource_id="sshd",resource_type="Service",title=""} 1
goss_result{property="running",resource_id="sshd",resource_type="Process",title=""} 0
goss_result{property="running",resource_id="sshd",resource_type="Service",title=""} 2

Collect execution time with goss_duration

# HELP goss_duration Lets you know duration of goss execution
# TYPE goss_duration gauge
goss_duration{property="enabled",resource_id="sshd",resource_type="Service",title=""} 0.007284487
goss_duration{property="running",resource_id="sshd",resource_type="Process",title=""} 1.125e-05
goss_duration{property="running",resource_id="sshd",resource_type="Service",title=""} 0

I think it is necessary to collect the goss_result and goss_duration metrics separately, and  labels the goss_result and goss_duration equally.
Considering different formats
If append result label the results as shown below, the dimensions will be different and I will not be able to efficiently a PromQL.
# HELP goss_result bad example 1
# TYPE goss_result gauge
goss_result{property="enabled",resource_id="sshd",resource_type="Service",title="", result="success"} 1
goss_result{property="running",resource_id="sshd",resource_type="Process",title="", result="failure"} 1
goss_result{property="running",resource_id="sshd",resource_type="Service",title="", result="skipped"} 1

If match the dimensions, I will need 3 times more metrics as shown below.
# HELP goss_result bad example 2
# TYPE goss_result gauge
goss_result{property="enabled",resource_id="sshd",resource_type="Service",title="", result="success"} 1
goss_result{property="enabled",resource_id="sshd",resource_type="Service",title="", result="failure"} 0
goss_result{property="enabled",resource_id="sshd",resource_type="Service",title="", result="skipped"} 0
goss_result{property="running",resource_id="sshd",resource_type="Process",title="", result="success"} 0
goss_result{property="running",resource_id="sshd",resource_type="Process",title="", result="failure"} 1
goss_result{property="running",resource_id="sshd",resource_type="Process",title="", result="skipped"} 0
goss_result{property="running",resource_id="sshd",resource_type="Service",title="", result="success"} 0
goss_result{property="running",resource_id="sshd",resource_type="Service",title="", result="failure"} 0
goss_result{property="running",resource_id="sshd",resource_type="Service",title="", result="skipped"} 1

Therefore, I represent the goss_result metric for numerically of succes = 0, failure = 1, skipped = 2.

@harre-orz Looks good.
I would have 2 suggestions:

Add the unit to the goss_duration metric (i.e. goss_duration_seconds) according to the best practices of Prometheus metric naming
Maybe add 4 more metrics for: (goss_tests_total, goss_tests_failed_total and goss_tests_skipped_total, goss_test_duration_seconds`) so it might be easier to get those numbers although potentially some could be retrieved with promql

@harre-orz : One more thing. I guess it would make sense to add a timestamp to the metrics in order to detect stale tests. This would be not necessary if goss would implement the prometheus scraping itself, but if it only dumps out the textfile to be consumed by a node-exporter it might make sense to add a timestamp

Hi @timeu, Thank you for your good suggestions.

goss_duration_seconds is a good name. Changed to it.
https://github.com/harre-orz/goss/commit/ab578eaa03616b196f5772f66662a596c0ad69ca

I think for summary metrics are not needed, because calculate by PromQL

# Ex1: get test total count by PromQL
count(goss_result{}) or on() vector(0)

# Ex2: get failed test count by PromQL
count(goss_result{} == 1) or on() vector(0)

But, this PromQL is difficult. Do you think best for create summary metrics?
If you want to include summary metrics, suggestion for output format bellow:
# HELP goss_tests_count Test count of goss assertions
# TYPE goss_tests_count gauge
goss_tests_count 1
# HELP goss_tests_failed_count Test failed count of goss assertions
# TYPE goss_tests_failed_count gauge
goss_tests_failed_count 1
# HELP goss_tests_skipped_count Test skipped count of goss assertions
# TYPE goss_tests_skipped_count gauge
goss_tests_skipped_count 1

https://github.com/harre-orz/goss/commit/721e1ab0ff842033bddd464f1dbe5e999f54c83e

@harre-orz : You might be right regarding the summary statistics.
I am just wondering if the other output formats (json, etc) output those summary statistics as well and if it makes sense to have the prometheus output aligned like that ?
I am not sure what the best practice is regarding prometheus and those summary statistics.
If you output the summary statistics then I would recommend to use: goss_tests_skipped_total instead of goss_tests_skipped_count (also for the other ones).
According to https://prometheus.io/docs/practices/naming/ and https://prometheus.io/docs/instrumenting/writing_exporters/ _count is for summaries and _total is for a regular counters

Thank you @timeu, I think it's better to include the execution time of goss.
The execution time of goss (goss_tests_duration_seconds) is not equal to the sum of goss_duration_seconds. Other formats (Ex: json) have similar specifications.
The goss_tests_duration_seconds metric is as follows:
# HELP goss_tests_duration_seconds Execution time of goss assertions
# TYPE goss_tests_duration_seconds gauge
goss_tests_duration_seconds 0.013728257

https://github.com/harre-orz/goss/commit/9c947dadab1a52af441980217139c042d963f743
I think _total is not a proper suffix for accumulating count.
I read https://prometheus.io/docs/instrumenting/writing_exporters/, but maybe _sum instead of _count.

For those that commented on this issue, please see #607. I would be interested in a review from the community and don't want to merge something in that's not agreed upon.

Last call for feedback on #607 from @petemounce
I will most likely merge it in a week or so it I no one has objections on current implementation.

up. not stale.

Marked as approved so stale bot leaves it alone.
PR/implementation still being worked on, but at this point metrics endpoint (prometheus) is approved.

If somebody needs this, I created a sidecar container, who does the exporting at https://github.com/DracoBlue/goss-metrics-exporter

Hello all, saw a new attempt at this here: #771
I would love some feedback from those interested here if this is the preferred approach for the community over #607

#607 has been merged, marking this as closed since it will be in the next release.
Thank you all for your time, opinions, and contributions!


Document by Id with Integer

In ArangoDB 2.6.2, using something like the following to retrieve a document by its id:
var x =<PHONE_NUMBER>42
var person = personRepository.byId( x );

results in the Error:
[ArangoError 1503: TypeError: expecting string ID for <startVertex> (while executing)]

Using something like the following in AQL, however, simply returns null without any error:
RETURN DOCUMENT(person,<PHONE_NUMBER>42)

It took me quite some time to figure out what was going on (in both cases). Is there a reason, why integer is not allowed as an argument for byId() if only the key-part of the id is given?
I took the code from the example here (pathParam) - where id is validated with Joi's integer() -  but when I want to use this id-parameter, I always have to call toString() on it.

_key is actually a string property, and never an integer, even if it's "123585712", so it's somewhat expectable.

A document handle uniquely identifies a document in the database. It is a string and consists of the collection's name and the document key (_key attribute) separated by /.

https://docs.arangodb.com/Documents/index.html
I'm not sure if implicit casting to string could be problematic under certain circumstances...

You're right, the Foxx documentation is misleading. It should not make any assumptions about the format of the keys and just use joi.string.


Request attention when Rerun Viewer is sent new recording in background

What
If the Rerun Viewer does not have focus and the user sends it a new recording or blueprint, the viewer will now gently request attention once. On macOS it looks like this (notice the Rerun icon in the bottom left):
https://github.com/rerun-io/rerun/assets/1148717/b7f8696c-c674-4db5-ad5d-08c1cc837de0
This does NOT happen if the Rerun Viewer window already has focus (is on top).
On native this uses:

https://docs.rs/winit/latest/winit/window/enum.UserAttentionType.html

On web this does nothing.
Testing

[x] Linux
[x] macOS
[ ] Windows

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: rerun.io/viewer
Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

Confirmed this works on wayland.

works on windows 11. Keeps blinking as expected but it's very subtle
https://github.com/rerun-io/rerun/assets/1220815/13c21f43-72fc-4952-aa30-7f5187a3fd50

looking a bit closer it's kind weird though: there's an extra flashing after the icon/app is in focus
https://github.com/rerun-io/rerun/assets/1220815/c177c46d-72b6-41d6-b111-abb79ab902bb
I haven't seen the focus feature used much in other applications so I don't know if that's normal

@Wumpf Sounds like it is good enough to merge?

trying to find out how other apps do this, hold on

took me ages to find an application that uses window flashing - most messenger apps don't do that, they change the icon to contain a marker. Buuut Element chat does turns out and it looks exactly like Rerun now so I'll assume the Windows gods want this kind of flashing.
Good enough to merge!


Implement editor into playground

Take inspiration from Svelte playground.
Their component for editor is not possible to download from npmjs registry, because it is a private package.
Regardless, we don't need to replicate all of the functionalities their REPL offers. Focus on basic fundamentals for now, which would editor with Svelte syntax support.
From initial research, they use CodeMirror
A package which adds svelte language support: @replit/codemirror-lang-svelte

Note that if we use the same packages as Svelte playground do, it will give us a better chance to  understand on how their REPL works.
I'm hoping in future this will give us a chance to implement docgen output tab to their playground.


Small typo

The name of the Hero test file should be hero.spec.ts, not hero-spec.ts (period instead of hyphen) on this [page] (https://github.com/angular/angular.io/search?utf8=✓&q=hero-spec.ts).

closed by #897


feat(profiling): Add profiling instrumentation for ASGI apps

This makes the minimal changes to allow profiling ASGI apps. To allow profiling all transactions, there will be more work needed as there is ongoing work to decouple profiles and transactions, that will be pushed back until we have a clearer idea what that'll look like before making major changes.

gonna close this and target each framework independently as there's some monkey patching involved to get each one working


fix: swap alerting with swap-checker span

I think the error is five it just shouldn’t be critical perhaps

I think the error is fine it just shouldn’t be critical perhaps

agree


watch configuration files if they exist even if they cannot be parsed

fixes https://github.com/Microsoft/TypeScript/issues/11744
// CC @mhegazy

@dotnet-bot test this please

@mmitche this is on the release-2.0.5 branch rather than master

@RyanCavanaugh Saw that.  You can add new branches to track in the repo list (and associated netci.groovy in this branch)