Add a native Rust Linux hidraw backend to replace hidapi

I've been meaning to get around to this and just had a few free days so here we are. My ultimate goal is being able to have something on which we can do sensible async. At worst maybe we can add a AsRawFd but we can probably do better.
I've been away from the device I normally use so I haven't been able to test the IO portion itself, but I have checked the enumeration shows the same via the lshid example including the page and usage page values. The actual IO should be trivially correct as we're just asking the kernel to do the IO (though the report get situation with the buffer is a bit suspicious). I've tried to keep the behaviour the same as the C hidapi by using nix to capture the system calls more accurately instead of letting the Rust stdlib make it nicer for us.
I've added this as a new feature/backend in case there are particularities of this implementation that means you might want to go back to hidapi. It also made it easier to check both backends build and enumerate the same. The name is probably not the best, but I started by dealing with libudev so that's what I named it. It probably would make sense to rename it if/when this gets merged. Eventually hopefully this can be turned on by default, but I'm not sure how this project would want to deal with setting the defaults.
I see there were a couple of attempts at doing some generic-ish backend work and bypassing hidapi. I looked at a branch or two, but ended up building the interaction in a way that felt like it made sense to me. Hopefully it's sensible for others too.
The Box<dyn ...> does mean an extra allocation but I think the alternative of struct HidDevice<T: HidDeviceBackend> would break API. An alternative would also be to embed the backend HidDevice and change the type of the field depending on the backend at compile time. That wouldn't really use the trait to make sure you've implemented everything though, but that's not the end of the world as it's all internal types anyway (and there are workarounds you can do in tests to enforce that, I think).
I added a couple of test files from a wireless mouse that I happen to have nearby to test that the usage and usage_page values are the same as hidapi.

I've renamed the backend and options to simply linux as ideally that would be the only/default one there.

It looks like naming an option linux makes clippy think we're confused about what we mean, so now it's named linux-native and linux_native. This is probably for the best as it makes space in the naming for things like macos_native.
I've also edited some earlier commits so we open the right file so things do work.
Unfortunately by having the path be the dev node, i.e. /dev/hidrawN, the udev library doesn't seem to have a way to open based off of that, as it only has Device::from_syspath as a way to create the device directly, so we don't actually have enough information, so get_device_info() is currently simply broken.

Oh I also made it so the check_error methods are only available when using C hidapi.

Regarding udev problem with the devnode, can you maybe elaborate more? I think I had no issues with that when I was working on this myself. It is also poissible to map from /dev file to /sys path with udev (although I do not remember the exact API for that).

In order to match the C hidapi does, and so you can pass the DeviceInfo::path into HidApi::open_path and have it work then we need to open via the dev node, and that's what we can store in our struct. I don't know off hand if the files under /sys can be opened to use as devices.
The way C hidapi then can get the info is via udev_device_new_from_devnum and then filling is as usual, but that constructor is not available in the Rust udev library. I don't see a way to go from one to the other without going through and listing them all, but I'm not that familiar with the layouts here.

It looks like it should be easy yeah https://github.com/systemd/systemd/blob/5015b5014bcff93371aef2c78b92efcfc2e38a40/src/libsystemd/sd-device/sd-device.c#L304 though it would be better if the udev library supported it.

It turns out this completely broke macOS (and probably Windows) because they want to add methods so I guess I'll see if I can tackle that.

It's not super clean but I've made it so each os can implements its own extras.

Heh, it looks a bit too much for the PR view :) I'll go through the comments. A lot looks like the result of porting the C code to Rust and keeping some of its behaviour.

Thanks for the work, I will merge this back now and do some small fixups. I will then release it to crates.io after I have some more time verifying it does not break anything (hopefully I have time soon).

Awesome, glad we could get to something we're happy with.


fix(docs): minor fix in pages/contributing#Setup

prettier will just put that right back, the new paragraph/code blocks under a bullet need to be indented five spaces I think


Using the connection for migrations

Setup
Versions

Rust: rustc 1.62.1 (e092d0b6b 2022-07-16)
Diesel: 2.0.00-rc.1
Diesel_async: main branch @ 3c9e976
Database: PostgreSQL
Operating System: MacOS Monterey

Feature Flags

diesel: ["postgres_backend", "chrono", "uuid", "numeric", "ipnet-address", "serde_json" ], default features inactive
diesel_async: ["postgres"]
diesel_migrations: ["postgres"]

Problem Description
Not really a problem per se, but a missing feature. I would like to not depend on diesel_cli to manage migrations, so I was using diesel_migrations to handle this, but the MigrationHarness needed to retrieve the applied migrations requires the asynchronous connection to implement MigrationConnection, which makes sure that the DB has the correct table.
Unfortunately, this is not yet implemented for asynchronous connections.
What are you trying to accomplish?
I'm trying to embed the migrations with my code, and even create the DB if needed, so that on startup, it will check that the DB is at the correct migration.
What is the expected output?
I would expect to be able to do this with an asynchronous connection, the same way as with a synchronous connection.
What is the actual output?
error[E0277]: the trait bound `AsyncPgConnection: MigrationConnection` is not satisfied
   --> backend/src/lib.rs:152:20
    |
152 |     run_migrations(&mut conn).expect("couldn't run migrations");
    |     -------------- ^^^^^^^^^ the trait `MigrationConnection` is not implemented for `AsyncPgConnection`
    |     |
    |     required by a bound introduced by this call
    |
    = help: the trait `MigrationConnection` is implemented for `PgConnection`
    = note: required because of the requirements on the impl of `MigrationHarness<Pg>` for `AsyncPgConnection`
note: required by a bound in `update_database::{closure#0}::run_migrations`
   --> backend/src/lib.rs:123:31
    |
122 |     fn run_migrations(
    |        -------------- required by a bound in this
123 |         connection: &mut impl MigrationHarness<Pg>,
    |                               ^^^^^^^^^^^^^^^^^^^^ required by this bound in `update_database::{closure#0}::run_migrations`

error[E0277]: the trait bound `AsyncPgConnection: LoadConnection` is not satisfied
   --> backend/src/lib.rs:152:20
    |
152 |     run_migrations(&mut conn).expect("couldn't run migrations");
    |     -------------- ^^^^^^^^^ the trait `LoadConnection` is not implemented for `AsyncPgConnection`
    |     |
    |     required by a bound introduced by this call
    |
    = help: the trait `LoadConnection<B>` is implemented for `PgConnection`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<'_, AsyncPgConnection, MigrationVersion<'static>>` for `SelectStatement<FromClause<diesel_migrations::migration_harness::__diesel_schema_migrations::table>, query_builder::select_clause::SelectClause<diesel_migrations::migration_harness::__diesel_schema_migrations::columns::version>, query_builder::distinct_clause::NoDistinctClause, query_builder::where_clause::NoWhereClause, query_builder::order_clause::OrderClause<diesel::expression::operators::Desc<diesel_migrations::migration_harness::__diesel_schema_migrations::columns::version>>>`
    = note: required because of the requirements on the impl of `MigrationHarness<Pg>` for `AsyncPgConnection`
note: required by a bound in `update_database::{closure#0}::run_migrations`
   --> backend/src/lib.rs:123:31
    |
122 |     fn run_migrations(
    |        -------------- required by a bound in this
123 |         connection: &mut impl MigrationHarness<Pg>,
    |                               ^^^^^^^^^^^^^^^^^^^^ required by this bound in `update_database::{closure#0}::run_migrations`

Are you seeing any additional errors?
No additional error is shown.
Steps to reproduce
    /// Embedded DB migrations.
    const MIGRATIONS: EmbeddedMigrations = embed_migrations!("../migrations");

    /// Runs the migrations in the database.
    #[allow(trivial_casts)]
    fn run_migrations(
        connection: &mut impl MigrationHarness<Pg>,
    ) -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
        let migrations = (&MIGRATIONS as &dyn MigrationSource<Pg>).migrations()?;
        let last = migrations
            .last()
            .expect("could not find the last migration");

        if let Some(last_applied) = connection.applied_migrations()?.first() {
            if last_applied > &last.name().version() {
                // TODO: downgrade, probably add a confirmation parameter in the executable.
                // But how? We would need to get the migrations for downgrade, but we don't have them.
                panic!("Not possible to downgrade the database");
            }
        }

        let _ = connection.run_pending_migrations(MIGRATIONS)?;
        Ok(())
    }

    let mut conn = match db::Connection::establish(db_cfg.conn_str()).await {
        Err(e) => {
            eprintln!("WARNING: error connecting to {}", db_cfg.conn_str());
            db::create(db_cfg)
                .await
                .expect("could not create the database")
        }
        Ok(c) => c,
    };

Checklist

[x] I have already looked over the issue tracker for similar possible closed issues.

[x] This issue can be reproduced on Rust's stable channel. (Your issue will be
closed if this is not the case)
[ ] This issue can be reproduced without requiring a third party crate

Suggestion
I can work on this, but, should I add a feature to add this migrations connection implementation, so that it's not active by default for those who don't want to use migrations?
Also, I see that the diesel_migrations trait expects the connection to run the SQL synchronously, so this might be trickier than expected.

Thanks for opening this bug report. I'm aware of this, but it's good to have an explicit issue for this. I do not consider that to be a huge problem for now, as migrations are mostly run on application start. That's a place where it's perfectly fine to just use a blocking method.
I might spend some time to look into ways for fixing this in the future, after the diesel 2.0 release and an initial diesel_async release. (Just to be explicit about that: This takes likely some time, I do not expect to find time for this in the next few months)

One thing to note about the blocking method is it required libpq headers to be present, which is annoying if you bet on async and don't need it otherwise.
How would you approach the implementation of this? I presume this will require a rewrite of the diesel_migrations harness to decouple the execution from the control logic somehow. Or would it be better to rewrite the whole harness to be async with the same design but async fns?

I honestly must say that I do currently not have an idea how to implement this in a composable way. What I can say: It will require quite a bit of design work, which is something I personally do not have the capacity for at the moment.
If your main goal is to remove the dependency on libpq it seems like easier short term solution  to just write a rust-postgres based sync connection implementation as third party crate. That shouldn't be to hard based on the existing diesel-async AsyncPgConnection based on tokio-postgres (as that already shows how to do all the type conversions).

Hi,
I created this quickly by just copying the standard diesel migrations and making the strings public. It's not composable in any way.
There might be many pitfalls and shortcomings in this solution and we've only used it with postgres but it's been working fine for us this far.
As I understand it it's fine to copy the code as long as I keep the MIT-license.
@weiznich If my understanding regarding the licenses is wrong or there's any other issue with the naming or anything, let me know and I'll correct it. I'm just dropping a link here so that anyone who wants quick migrations can use it.

@nicrgren It's fine to fork and change that code on your own. I just do not want to do that for diesel-async as well, as I do not want to maintain that much duplicated code.

I am staring at https://github.com/weiznich/diesel_async/pull/100 but I don't understand how that fixes this issue. My problem is that I have a AsyncPgConnection and I need to call run_pending_migrations. It seems that with AsyncConnectionWrapper I can take a database URL and turn that into a AsyncConnectionWrapper::<DbConnection>, but that's not useful since I don't have the URL... the connection has long been established, I just need to somehow call migrations on it. Help would be appreciated :)

It expects you to create a new connection either based on the connection url or based on an existing connection via a From impl. The later is only available in an unreleased version yet. I cannot comment on how to do that based on rockets setup as I don't use rocket myself. It might be worth to ask that in their support channels. That written: There is currently no other built-in way that allows you to apply migrations via diesel_migrations at application startup. It's also likely that this won't change anytime soon as diesel_migrations API expects a sync diesel connection. Hopefully that helps at least to understand what's possible and what's not possible.

Also, the docs mention a DbConnection type that I cannot find anywhere.

DbConnection can by any type that implements AsyncConnection.

Yeah I think that From instance would suffice. Good to hear this will be resolved in a future version. :)
For now I switched back to sync diesel.

It expects you to create a new connection either based on the connection url or based on an existing connection via a From impl. The later is only available in an unreleased version yet.

I'm currently using diesel_async as a git dependency to get access to this From impl so that I can do migrations with TLS.


dragging problem

I had write a 2*2 grid drag project,when I dragging the third item to switch with the second item, the second one is squeeze out the boundary。but in turn 2 => 3 ,there is no problem

I solved this problem. change this property ---(lockToContainerEdges={true})  from  to

usefull

I solved this problem. change this property ---(lockToContainerEdges={true}) from to

usefull!

but the behavior is difference about the previous, plz otherway?


DataFusion weekly project plan (Andrew Lamb) - May 13, 2024

Follow on to https://github.com/apache/datafusion/issues/10395
My (personal) North ⭐ : 1000 projects are built using DataFusion 📈
It would be great for other contributors to DataFusion who plan non trivial work could try to make them visible somehow as well 🙏  (feel free to copy / modify the format)
My Highlights from Last Week

@berkaysynnada and @ozankabak https://github.com/apache/datafusion/pull/10404
https://github.com/apache/datafusion/issues/10217 (our first release as a Top Level Project)
@yyy1000 and @jayzhan211 are starting to move aggregate functions out of the core https://github.com/apache/datafusion/pull/10418
@jayzhan211 figured out an elegant way to express special case coercion rules: https://github.com/apache/datafusion/pull/10439
@lewiszlw
is simplifying the internal APIs: https://github.com/apache/datafusion/pull/10325 and https://github.com/apache/datafusion/pull/10441 🦾
@erratic-pattern found some great low hanging fruit https://github.com/apache/datafusion/pull/10454
@peter-toth and @MohamedAbdeen21 made great progress on improving CSE:  https://github.com/apache/datafusion/pull/10396

Looking for help

Someone to help @timsaucer with https://github.com/apache/datafusion/issues/6747 (there is a draft PR as  hit this last week working with window functions

My (personal) plans for this week
TLDR is I plan to try and complete work on making the optimizer faster and switch to focusing on making parquet better

[ ] Complete removing copies to make planning faster: https://github.com/apache/arrow-datafusion/issues/9637 (we are close)
[x] https://issues.apache.org/jira/browse/PARQUET-2470
[ ] Document ParquetExec more (so it is clear / easier to understand what is already supported)
[ ] https://github.com/apache/arrow-datafusion/issues/9929 (likely not this week)

Project Queue (list of future projects)

[ ] Get https://github.com/apache/arrow-rs/pull/5619 merged (which I think will help StringViewArray implementation along)
[ ] In general, help https://github.com/apache/arrow-rs/issues/5374 more actively as it seems to be stuck

Projects I plan to help actively help review / plan

[ ] https://github.com/apache/arrow-rs/issues/5374 (I am struggling to find time, but we are making progress, slowly)
[ ] https://github.com/apache/arrow-datafusion/issues/9494

Algorithm for (my) prioritizing PR reviews
Note there are many committers who can and do review and merge PRs, so this is not the priorities of the project as a whole, just the approximate algorithm I use to prioritize my own time.
Priority:

Bug fixes (where something is just incorrect), especially regressions (where it used to work and now does not)
Improvements directly related to features needed for InfluxDB (my employer)
Documentation and test improvements (I view these as very strategically important)
PRs that I think are strategically important
Other new features / additions to functionality (note this is the lowest)

The top strategically important projects in my head are:

Anything that makes it easier to use DataFusion as a user (docs, examples, better APIs, etc), including Getting started guide for new users (who want to use DataFusion in their project)
Anything that improves DataFusion's quality such as bug fixes, and improved / expanded tests, etc
Making function packages modular and easier to mix/match
Improved performance (with benchmarks)

Thus, if you are interested in contributing to DataFusion and are interested in a fast turn around time I would recommend looking into bug fixes / test improvements / documentation or the projects named above.
If you propose adding new functionality, especially if the PR is large/complex and not connected to a wider need, the review cycle will likely be longer. You can make it a shorter cycle by looking at the comments on other recent PRs and following the same model (e.g. ensure there are tests in sqllogictest for example, the CI passes, includes documentation, etc)
Background
The idea of this ticket is make my plans for DataFusion visible, largely for my own personal organizational needs, but also to:

Communicate / coordinate in the community
Help provide an interesting summary of what is happening in DataFusion this week

Review Queue:

[ ] https://github.com/apache/datafusion/pull/10386
[ ]

Next week: https://github.com/apache/datafusion/issues/10579


Connecting to multiple receiving clients at once

I've looked through the docs, but I cannot find any way to share a file with multiple people (other than opening two instances). Is there a way? If not, I suggest it is implemented, it would be a quite useful feature!

Hi!
You are right in that there is currently no way for one sender to send files to multiple recipients at the same time, apart from opening multiple instances.
This is partially due to how the encryption works -- in that the temporarily output password that you share with the recipient is temporary in its nature, and is used to agree upon a much stronger encryption between the clients. How we have implemented this protocol (PAKE) can actually be extended to work for multiple clients at the same time, though.
Apart from that, Portal in its current state is built around the relay server not buffering any data. That means sent data is relayed as soon as possible to the recipient, never stored on the server. Thus, multiple clients would need to be quite synchronized in receiving the data -- possibly by only starting the transfer when "all" recipients are connected.
Portal is not really meant for this use case, but you can get around it by opening multiple instances :)

Alright, thanks for the lovely detailed answer!

Alright, thanks for the lovely detailed answer!

Of course!
I have a suggestion if you want to streamline creating multiple senders and get all of their passwords using a bash script.
Use the raw flag with portal send to skip all the fancy TUI stuff and just get the password.
I wrote a very shoddy example so you can get an idea:
multiple-senders.sh
#!/bin/bash

for i in $(seq "$1"); do
  SENDER_OUTPUT="/tmp/portal-sender-$i"
	portal send file.txt -s=raw > $SENDER_OUTPUT &
  while [ ! -f $SENDER_OUTPUT ]; do sleep 1; done
  head -n 1 $SENDER_OUTPUT
  rm $SENDER_OUTPUT
done

Usage:
$ ./multiple-senders 4
> 19-quasar-delta-elliptical
> 20-sigma-liquid-orbit
> 21-ray-micro-static
> 22-gas-neutron-quark


TFClassify taking too long to disply result

I am using tensorflow in android. I installed the apk for TFClassify available. I ran the application and it is running swiftly with inference time of not more than 400ms. However when I replaced the available trained model with my model, it is taking around 2000ms for computational before displaying the result. Why is there such a difference and how can I optimize my retrained_graph.pb? I have converted the retrained model to optimized & quantized graph.

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Create Fibonocci ---->Java

Prints n Fibonacci numbers

refer the issue number as-> Closes: #[issue_number]

@yasharth291  done sir.


Separate graph imports to standalone workers

CC @msrb, will need changes in https://github.com/fabric8-analytics/fabric8-analytics-worker/pull/61

Will bump worker commit hash once required changes get merged in worker repo.

@fridex  there are some conflicts

@jpopelka rebased.

Fixes:

CVE fixes by Jirka
Graph sync by Mitesh
separate graph importer worker

CC @msrb merge? :)

@vpavlin will the tooling handle this YAML?

@vpavlin will the tooling handle this YAML?

saasherder is using anymarkup which uses PyYAML - this is valid YAML, but worth to double-check.

The image referenced by the hash failed to build in CI, so do not merge please.

The image referenced by the hash failed to build in CI, so do not merge please.

Good point, haven't check it. I think we should automate these checks - opened https://github.com/openshiftio/saas/issues/211

Download of the template succeeded


Building against Clang 3.7 issues

When building with clang 3.7 on debian using the 3.7 packages from llvm I get a bunch of build failures
1
WAVM/Source/WebAssembly/WebAssemblyTextParse.cpp:176:30: error: moving a temporary object prevents copy
elision [-Werror,-Wpessimizing-move]
outVariables.emplace_back(std::move(Variable({type,nameCopy})));
^
WAVM/Source/WebAssembly/WebAssemblyTextParse.cpp:176:30: note: remove std::move call here
outVariables.emplace_back(std::move(Variable({type,nameCopy})));
^~~~~~~~~~                         ~
...
(and a bunch more against various std::move usage)
...
2
zlib, and libedit also are not listed dependency so linking fails until you install them.
Linking CXX shared library libRuntime.so
/usr/bin/ld: cannot find -lz

#1 fixed by a merge, #2 there is a pull request which may or may not get merged.


Quickbuild - "Invalid time value" - error

Discussed in https://github.com/Accenture/sfpowerscripts/discussions/696

Originally posted by bjanderson70 September 21, 2021
Problem Statement:
I have a github action that fires when I check-in/commit. There appears to be an invalid time-value passed to getFormattedTime in GetFormattedTime.ts
Suggestions? Short of putting a try/catch around the code ...I have not ventured into the sfdx cli to determine what cause this ... looking for some suggestions in the meantime? TIA
Command: - ran in a github action
sfdx sfpowerscripts:orchestrator:quickbuild -v devhub --diffcheck --buildnumber ${GITHUB_RUN_ID} --branch ${GITHUB_REF#refs/heads/} --json --waittime=60
Error Encountered:
Run sfdx sfpowerscripts:orchestrator:quickbuild -v devhub --diffcheck --buildnumber ${GITHUB_RUN_ID} --branch ${GITHUB_REF#refs/heads/} --json --waittime=60
›   Warning: sfdx-cli update available from 7.110.0 to 7.116.2.
-----------sfpowerscripts orchestrator ------------------
command: quickbuild
Build Packages Only Changed: true
Config File Path: config/project-scratch-def.json
Artifact Directory: artifacts
Checking last known tags for cqrs-service to determine whether package is to be built...
Utilizing tag cqrs-service_v<IP_ADDRESS>1293990 for cqrs-service
Checking for changes in source directory src/utils/cqrs
Checking for changes to package descriptor in sfdx-project.json
Packages scheduled for build
┌─────────┬────────────────────┬────────────────┐
│ Package │ Reason to be built │ Last Known Tag │
└─────────┴────────────────────┴────────────────┘
No packages found to be built.. Exiting..
{
"status": 1,
"name": "RangeError",
"message": "Invalid time value",
"exitCode": 1,
"commandName": "QuickBuild",
"stack": "RangeError: Invalid time value\n    at Date.toISOString ()\n    at Object.getFormattedTime [as default] (/sfdx_plugins/.local/share/sfdx/node_modules/@dxatscale/sfpowerscripts/lib/utils/GetFormattedTime.js:6:27)\n    at QuickBuild. (/sfdx_plugins/.local/share/sfdx/node_modules/@dxatscale/sfpowerscripts/lib/BuildBase.js:89:171)\n    at Generator.next ()\n    at fulfilled (/sfdx_plugins/.local/share/sfdx/node_modules/@dxatscale/sfpowerscripts/lib/BuildBase.js:5:58)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\nOuter stack:\n    at Function.wrap (/sfdx_plugins/.local/share/sfdx/node_modules/@salesforce/core/lib/sfdxError.js:171:27)\n    at QuickBuild.catch (/sfdx_plugins/.local/share/sfdx/node_modules/@dxatscale/sfpowerscripts/node_modules/@salesforce/command/lib/sfdxCommand.js:255:67)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\n    at async QuickBuild._run (/sfdx_plugins/.local/share/sfdx/node_modules/@dxatscale/sfpowerscripts/node_modules/@salesforce/command/lib/sfdxCommand.js:95:13)\n    at async Config.runCommand (/usr/lib/node_modules/sfdx-cli/node_modules/@oclif/config/lib/config.js:173:24)\n    at async SfdxMain.run (/usr/lib/node_modules/sfdx-cli/node_modules/@oclif/command/lib/main.js:27:9)\n    at async SfdxMain._run (/usr/lib/node_modules/sfdx-cli/node_modules/@oclif/command/lib/command.js:43:20)\n    at async Object.run (/usr/lib/node_modules/sfdx-cli/dist/cli.js:162:47)",
"warnings": []
}
Error: Process completed with exit code 1.

Yes you are spot on!


Prepend an INT 3 instruction

The nopause option does not seem to be useful, I'd rather prepend an INT 3 instruction that forces OllyDBG to stop
Can you do something similar to this?
LPVOID process_file(char* inputfile_name){
        ...
	buffer=(char *)malloc(fileLen+1+4); //Create Buffer
	for (i = 0; i < 3; i ++) {
		buffer[i] = 0x90;
	}
	buffer[3] = 0xCC;
	fread(buffer+4, fileLen, 1, file);  //Read file to buffer
	fclose(file);                     //Close file handle
        ...

The --nopause option is useful if you are executing shellcode in a sandbox to look at the interaction with the OS etc.
You can manually insert 0xCC into the shellcode to force a break, but with the debuggers I've tested this will cause a crash when the process is being actively debugged, as the debugger does not have record of the breakpoint.
I still want to test what happens with WinDBG and Olly as it would be useful to automatically break on entry.

Adding the option --autobreak which will insert 0xcc at the specified offset.

Added this feature in the latest release 0.0.3


Update DiscordMessageLinkHandler.ts

This bugfix makes sure the discord message refrence url escape characters can be used anywhere.
Also !link has been changed to <link> to keep the discord bot consistent with discords methods

Yeah I still have to write tests

Tests have been written, all done now.
Thank you for the collab, hope ill get to do some more in the future!

I removed the comment!


RuntimeError: Node-video-copy-detection/temporal-network-7 runs failed, error msg: module 'numpy' has no attribute 'bool'.

`---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File :34
File ~/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/runtime_pipeline.py:159, in RuntimePipeline.call(self, *inputs)
155 def call(self, *inputs):
156     """
157     Output with ordering matching the input DataQueue.
158     """
--> 159     return self._call(*inputs, profiler=False, tracer=False)[0]
File ~/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/runtime_pipeline.py:177, in RuntimePipeline._call(self, profiler, tracer, trace_edges, *inputs)
174 time_profiler = TimeProfiler(True) if profiler else TimeProfiler(False)
175 graph = _Graph(self._dag_repr.nodes, self._dag_repr.edges, self._operator_pool, self._thread_pool, time_profiler, trace_edges)
--> 177 return graph(inputs), [graph.time_profiler] if profiler else None, [graph.data_queues] if tracer else None
File ~/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/runtime_pipeline.py:116, in _Graph.call(self, inputs)
114 def call(self, inputs: Union[Tuple, List]):
115     f = self.async_call(inputs)
--> 116     return f.result()
File ~/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/runtime_pipeline.py:34, in _GraphResult.result(self)
33 def result(self):
---> 34     ret = self._graph.result()
35     self._graph.release_op()
36     del self._graph
File ~/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/runtime_pipeline.py:95, in _Graph.result(self)
93             errs += node.err_msg + '\n'
94 if errs:
---> 95     raise RuntimeError(errs)
96 end_edge_num = self._nodes['_output'].out_edges[0]
97 res = self._data_queues[end_edge_num]
RuntimeError: Node-video-copy-detection/temporal-network-7 runs failed, error msg: module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations, Traceback (most recent call last):
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/nodes/node.py", line 158, in _call
return True, self._op(*inputs), None
File "/home/libo/.towhee/operators/video-copy-detection/temporal-network/versions/main/tn.py", line 204, in call
ranges, scores = tn(sim_map, self._tn_max_step, self._tn_top_k, self._max_path, self._min_sim, self._min_length, self._max_iou)
File "/home/libo/.towhee/operators/video-copy-detection/temporal-network/versions/main/tn.py", line 113, in tn
C3 = np.ones(C2.shape, dtype=np.bool)
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
, Traceback (most recent call last):
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/nodes/node.py", line 171, in process
self.process_step()
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/nodes/_map.py", line 63, in process_step
assert succ, msg
AssertionError: module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations, Traceback (most recent call last):
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/towhee/runtime/nodes/node.py", line 158, in _call
return True, self._op(*inputs), None
File "/home/libo/.towhee/operators/video-copy-detection/temporal-network/versions/main/tn.py", line 204, in call
ranges, scores = tn(sim_map, self._tn_max_step, self._tn_top_k, self._max_path, self._min_sim, self._min_length, self._max_iou)
File "/home/libo/.towhee/operators/video-copy-detection/temporal-network/versions/main/tn.py", line 113, in tn
C3 = np.ones(C2.shape, dtype=np.bool)
File "/home/libo/video_compare/venv/lib/python3.10/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
`
ENV
numpy                     1.24.4
towhee                    1.1.1
towhee.models             1.1.1

@zc277584121  need your help!

I have updated the operator, you need to delete your downloaded operator then retry.

@wxywb  solved, thks!


merge package template from arlac77/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

Coverage remained the same at 97.143% when pulling f19895f70d0713adbe1643c7700e1b2f89fb9698 on template-sync-1 into 7cf8a7d44d24120e989f635c251f2d6ac061e074 on master.

Codecov Report

Merging #91 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #91   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          29     29
=====================================
  Hits           29     29

Continue to review full report at Codecov.

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix random number generation in ocaml backend

@bmmoore please review
Note that we probably eventually want the random function to take a minimum and maximum value as well, but this is basically as good as it worked in the past.

Jenkins: test this please

Jenkins: test this please

It looks very strange to be reinitializing the random number generator at every call.

As it is, this hook is a deterministic function of the Int argument. I don't think a fixed somewhat arbitrary Int -> Int function is a good thing to name random.
Maybe some of the functions here would be useful?
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Random.State.html

Okay. Since this is going to be part of the 4.0 release anyway, I will fix this so that it has a much better interface.

@bmmoore please re-review
Note that this diff will require an update to the MLGMP module to be installed because randseed wasn't part of the module before.

@bmmoore please re-review

I'd like to discuss the design more, but this code looks good for what it is and you can merge, especially if you are using it.
In particular, using global state like this obviously makes debugging and search and such more difficult, but then again I'm not sure anything other than debugging and simple execution make sense on a definition that calls a random number generator (or at least a definition that's happy to get some arbitrary RNG from our library rather than explicitly defining a particular generator as part of the system). Also, by switching to GMP and leaving the default algorithm of Mersenne Twister you've made the state quite large and expensive to copy. When I suggested Random.State I definitely thinking of also changing the signature of the hooks to explicitly pass around RNG state values, but I'm not sure if that's the best design.


Add compatibility for fof/gamification (to raplace flarum/likes)

Would it be possible to add this or should this be done on the FoF side?

I would be open to a PR adding these metrics (with tests), but am not currently planning on implementing this myself.


Improve GC performance when loading a snapshot

Issue summary

The semi-space GC loads snapshots into the "new" space rather than the "old" space. This immediately triggers a garbage collection run which isn't necessary and doesn't actually copy anything (yet still wastes a lot of resources). We should load snapshots into the "old" space.
Other information and links

Depends on #2638

I don't think that is sustainable. Conceptually, we really do want the snapshot data to be placed in the "old" space.

The new, shiny GC (https://github.com/ChainSafe/forest/pull/3504) is on it's way, which makes this issue no longer relevant.


[tf] Fix dump of echo vm

Fixes the dumping of VMs pods that have an authz container. Also does some general cleanup around the handling of container names.
Please provide a description of this PR:

@nmittler: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
7e288c62a4d47720677d1fee3f10af53d1338802
link
true
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nmittler: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@nmittler: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-helm_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test integ-helm_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nmittler: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-helm_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test integ-helm_istio

unit-tests_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nmittler: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-helm_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test integ-helm_istio

unit-tests_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test unit-tests_istio

integ-telemetry-mc_istio
782cc33ba983b3ad5927dc81c1e1564c8a7d2889
link
unknown
/test integ-telemetry-mc_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Map returns an Immutable object

I don't really understand why .map is wrapped to return an Immutable object. This seems needlessly restricting. In combination with #16, this also causes unexpected stack overflow errors.
Immutable([1,2,3]).map(function() {
   return React.createElement( "div", null );
});
// too much recursion

This is by design. One of the invariants of the library is that once you invoke Immutable, what you get back is immutable, and continuing to use its methods will only yield further immutable results.
However, since you can pass seamless-immutable's data structures to other JS libraries, if you really want a mutable copy back, you can just pass them to other libraries that are not designed for immutability.
For example:
_.map(Immutable([1,2,3]), function() {
   return React.createElement( "div", null );
});
// no error

I don't think this makes much sense for the map function.
For the other functions I can understand this rational, because they return parts of the array itself, which are guaranteed to be immutable, but map can return things not related to the immutable structure. To me, this is very unexpected behaviour.
You are also suggesting using a non-standard map implementation for a library that has 'backwards-compatible' in the first line of its summary.

map does indeed return a collection of elements which may be completely unrelated to the original elements. However, map is still supposed to return the same type of collection you began with. If you call [].map you get back an Array, if you call $().map you get back a jQuery object, and if you call Immutable([]).map, you get back a seamless-immutable array. This is the standard map behavior.
I sympathize with the fact that this map implementation doesn't work with React components, because I use seamless-immutable with React and find it annoying that this doesn't Just Work. I manage this annoyance by using _.map when it finally comes time to turn my seamless-immutable arrays into React components, but naturally it would be less trouble in this particular use case if I didn't have to.
That said, I don't think it makes sense to couple this library to React, and I don't see a strong case for changing map on its own merits. When libraries start developing implicit dependencies on other libraries, unexpected consequences tend to snowball into unpleasant surprises. I value the simplicity and consistency of this library, and hope to maintain it.
As such, I appreciate your perspective, but the current design still makes the most sense to me overall. :smiley:

Agree with @rtfeldman here.
To quote the description of Array.map:

The map() method creates a new array with the results of calling a provided function on every element in this array.

Well... now make it for Immutables:

The map() method creates a new Immutable with the results of calling a provided function on every element in this Immutable.

This is in fact the only logical thing to do - you're operating on a specific type and returning a similar but different type would be... a bit wacky to say the least.

@abritinthebay  +1

I'd like to reopen this discussion in the light that nowadays seamless-immutable treats functions, errors, dates, and React components as immutable even though they are not in order to make the library play nicely with the rest of the code out there.
Here's a problem I ran into yesterday when using seamless-immutable together with Draft.js:
const editorState = Immutable( { content: Draft.convertToRaw( ContentState.createFromText( text ) ) } );
...
const state =  Draft.convertFromRaw( editorState.content );
//             ^^^^^^^^^^^^^^^^^^^^
// TypeError: block.getKey is not a function
//    at node_modules/draft-js/lib/BlockMapBuilder.js:24:21
//    at Array.map (native)
//    at Array.<anonymous> (node_modules/seamless-immutable/src/seamless-immutable.js:132:38)
//    at Object.createFromArray (node_modules/draft-js/lib/BlockMapBuilder.js:22:30)
//    at Function.createFromBlockArray (node_modules/draft-js/lib/ContentState.js:163:36)
//    at convertFromRawToDraftState (node_modules/draft-js/lib/convertFromRawToDraftState.js:89:23)

The reason the above fails is that Draft.js' createFromBlockArray uses .map to convert an array of raw objects into an array of prototype-based objects, which seamless-immutable promptly strips down to raw immutable data, no methods, thus block.getKey is not a function.
I worked around it by running editorState.content through Immutable.asMutable( ..., { deep: true } ), but this was thoroughly unexpected and IMHO incompatible with the library's promise of "data structures which are backwards-compatible with normal Arrays and Objects."
I think it makes a lot of sense to make plain-old-js-objects returned from .map immutable, but we've gotta pass everything else through as-is.
Thoughts?

@agurtovoy I'm having the same issue with react-select, the only way to solve it was by using .asMutable as well.
My team and I are starting to study alternatives, Immer looks really nice and I want to give it a try.


Replace ts-node with tsm

Perceived Problem

ts-node is slow

Ideas / Proposed Solution(s)

https://github.com/lukeed/tsm

Waiting for https://github.com/lukeed/tsm/issues/6

No longer needed because https://typestrong.org/ts-node/docs/transpilers/#swc


Develop procedures for cataloging in FOLIO

We need to:

[ ] Develop procedure for copy cataloging
[ ] Develop procedure for original cataloging
[ ] Develop procedures for short/mini bibs for new orders
[ ] Develop procedures for overlaying short/mini bibs once ordered items are received

May need additional procedures for:

[ ] Special Collections / Archives
[ ] Maps
[ ] Music
[ ] Government Information
[ ] Foreign language materials
[ ] eBooks
[ ] Serials
[ ] DVDs/BluRays

@esemenoff - ILL creates brief bibs for ILLs we borrow from other libraries. Please add ILL to the list above.


Loopback address cannot be used as pool member address

OpenStack Release
Found in mitaka. I suspect this exists in liberty as well.
Agent Version
Head of mitaka branch as of 1/06/2017. Release is 9.2.0.b1.
Operating System
CentOS
Description
When creating a pool member, the CLI allows you to assign the loopback address (<IP_ADDRESS>) as the --address field, but this sends the loadbalancer into an ERROR state.
lbaas-member-create --address <IP_ADDRESS> --protocol-port 80 --subnet my_subnet my_pool
Deployment
1 agent, 1 BIG-IP

Won't fix.  The lb is in error state and that is appropriate.


Chart In Dashboard

Hello! There are instructions or an example of the output graphs on the Dashboard? The data is taken from the grid. The only thing that found it ChartInDialog, but something is not clear((

Check BasicSamplesEndpoint.cs and BasicSamplesModels.cs....
But really... It depends on which chart you're using and adjust data models at serverside or even at clientside... I like C3, NVD3 and ChartJs... MorrisJs is outdated and not updated anymore...
Best Regards.

This is needed, on the client or server is not important.

It is necessary to generate here such a data output, with it the problem. ((
data: [
{y: '2011 Q1', item1: 2666, item2: 2666},
{y: '2011 Q2', item1: 2778, item2: 2294},
{y: '2011 Q3', item1: 4912, item2: 1969},
{y: '2011 Q4', item1: 3767, item2: 3597},
{y: '2012 Q1', item1: 6810, item2: 1914},
{y: '2012 Q2', item1: 5670, item2: 4293},
{y: '2012 Q3', item1: 4820, item2: 3795},
{y: '2012 Q4', item1: 15073, item2: 5967},
{y: '2013 Q1', item1: 10687, item2: 4460},
{y: '2013 Q2', item1: 8432, item2: 5713}
],

Using chartjs... I have the following, My data sets in the cshtml file are timeArray, flowArray, and pressureArray.... this is the last part.
myPageIndex.cshtml
...
@section Head {
... other scripts here...

...

Now...actually getting that data to the razor side...
In xxxxPage.cs, under my ActionResult Index(), I run the following code
var myTempVariable = myDataEntityRow.Fields;
var data = new DataDetails();
using (var connection = SqlConnections.NewFor<myDataEntityRow>())
    data.DetailsA = connection.List<myDataEntityRow>(q => q
        .SelectTableFields()
   **** insert remaining  sql logic here...see serenity guide for syntax ****

var myModel = new myGraphPageModel();
        myModel.dataA = data.DetailsA;

public class DataDetails
{
    public List<myDataEntityRow> DetailsA { get; set; }
}

Finally, you need to define your model (probably actually do this before getting the data... So in myGraphPageModel.cs...
using System;
using System.Collections.Generic;

namespace myProjectName.myModule
{
public class myGraphPageModel
{
    public List<myModule.Entities.myDataEntityRow> dataA { get; set; }
}

}
I've changed this code on the fly attempting to simplify and remove my own variable names, so there may be mistakes. But this will get you from querying data  from your database, Passing it through your model to the razor size, and adding it to a chartjs element for display.
Finally, Attached is an image of what I'm making using chartjs. Nothing incredible. Just results.

@jmace, Please tell me. As of Model.dataA to timeArray, flowArray, and pressureArray


allow config file write failure

from https://github.com/js-cli/js-v8flags/issues/22#issuecomment-112119183

What do you think about just throwing an annoying warning in gulp if this file can't be cached, and allowing it to just run anyway? For CI servers (where this seems to be the most error prone) the performance hit of having to invoke node to get the v8 flag listing should be meaningless.

++ really hoping someone from the community can contribute this back to us before gulp-cli hits 1.0

Now that #31 is merged, is this solved?

I'm pretty sure this is solved.


Induction matrix disconnecting on logout

My simple induction matrix is in a chunk loaded area. Unfortunately once the last user logs out of the server, it dismantles the multiblock structure causing all the cables attached to disconnect.
Upon login, the matrix re-assembles showing the red particle effect, but all the energy that was being pumped into it was wasted.

I can confirm that I see the red particle effect on login, but I have not confirmed whether it is actually disassembled or if that is simply the client reacting wrongly.

After spending quite some time trying this out in several environments, it appears that in chunkloaded areas, the disconnect is a graphics glitch. I'd probably put this as a very low priority.


Focus is lost when the change event is triggered

If a change event is triggered while a select2 has focus, the focus is lost meaning if a user was typing while the backend sent an update their typing will be lost and they will have to select the input again.
Example: https://jsfiddle.net/u0xja2wx/2/
If you enter a new tag and hit enter focus will be lost, comment out the change event and you can continue adding tags after you hit enter.
I believe this can be resolved in the Search.update function by checking if the search box has focus and restoring it at the end of the function if it did.
var had_focus = this.$search.is(':focus');
...
if (had_focus) {
  this.$search.focus();
}

Can you be more specific?
This change would be in Search.prototype.update?

Gday,
Yeah that is the general idea.
I submitted a pull request which should show you what I did:
https://github.com/stretch4x4/select2/commit/852715eccdc3f29435cab203e9a852e0e6706e2c
Hope that helps

Yep, that worked! Thanks!


Mutiny Sats gone missing

I opened a Wallet, sent the Sats on the Bitcoin baselayer.  saw the fee was taken and that I had a balance and then the next time I logged in there was nothing there.
 Can you help me?
Thank you!

Please provide logs, it is in the admin section of the settings.

In the admin settings there is a resync wallet button. Try pressing that and reloading. It will look up a balance for all your addresses

blob:https://app.mutinywallet.com/12751abd-e4cc-4369-90cb-4ea0f8708dce

Doesnt look like that worked. Need to attach the file and drag it into the comment box.

mutiny-logs(1).txt

Not seeing anything indicating that a payment was received on chain. Are you sure on the sending side that it went through? Do you have the transaction ID and can you check mempool.space that it was actually confirmed?

Hello Tony,

I will check now. Thanks
El 04/12/2023 20:39 CET Tony Giorgio<EMAIL_ADDRESS>escribió:

Not seeing anything indicating that a payment was received on chain. Are you sure on the sending side that it went through? Do you have the transaction ID and can you check mempool.space that it was actually confirmed?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Paul ReyburnDirector ComercialAcademia de Idiomas Well and @.***óvil 661 574 822  Oficina 943 317 999

 Hello,

 Above it says sent and finalized

Not seeing anything indicating that a payment was received on chain. Are you sure on the sending side that it went through? Do you have the transaction ID and can you check mempool.space that it was actually confirmed?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Paul ReyburnDirector ComercialAcademia de Idiomas Well and @.***óvil 661 574 822  Oficina 943 317 999

Not seeing anything. Do you have a transaction id?

Hello Tony, Ok, It says it was sent back..

If it was on chain, whoever sent your transaction must not have paid a high enough fee and it never confirmed. Glad we found out the issue.

Shit!
Super diffficult to make it happen.
Sorry for the hassle.
But this was going to be my first lightening wallet!


[FEATURE] Support erasing data on a disk when removing it from node resource

Is your feature request related to a problem? Please describe (👍 if you like this request)
At present, disk data is retained when a disk is removed from a node resource. We can consider implementing a data erase process to enhance security. The feature can reduce the risk of data breaches. By eliminating the possibility of old data being accessed, the risk of unauthorized access and data breaches can be mitigated.
Describe the solution you'd like
A clear and concise description of what you want to happen
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
https://github.com/longhorn/longhorn-spdk-engine/pull/9#issuecomment-1545548804

ref: #7699


how use multiple nodes?

hey into the .env file
  DB_CONNECTION=cassandra
  DB_HOST=<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>
  DB_PORT=8082,8082,7748
  DB_DATABASE=db_name


Support of jhsdb jmap

There are not so many options to get actual heap memory usage in a convenient way. And jhsdb is one of them.
jhsdb jmap --pid <pid> --heap

Attaching to process ID 26440, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 14+36-1461

using thread-local object allocation.
Garbage-First (G1) GC with 1 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 10
   MaxHeapFreeRatio         = 30
   MaxHeapSize              = 643825664 (614.0MB)
   NewSize                  = 31457280 (30.0MB)
   MaxNewSize               = 31457280 (30.0MB)
   OldSize                  = 5452592 (5.1999969482421875MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize =<PHONE_NUMBER> (1024.0MB)
   MaxMetaspaceSize         =<PHONE_NUMBER>4415 MB
   G1HeapRegionSize         = 1048576 (1.0MB)

Heap Usage:
G1 Heap:
   regions  = 614
   capacity = 643825664 (614.0MB)
   used     = 1757520 (1.6761016845703125MB)
   free     = 642068144<PHONE_NUMBER>154297MB)
   0.27298073038604437% used
G1 Young Generation:
Eden Space:
   regions  = 0
   capacity = 31457280 (30.0MB)
   used     = 0 (0.0MB)
   free     = 31457280 (30.0MB)
   0.0% used
Survivor Space:
   regions  = 0
   capacity = 0 (0.0MB)
   used     = 0 (0.0MB)
   free     = 0 (0.0MB)
   0.0% used
G1 Old Generation:
   regions  = 3
   capacity = 2097152 (2.0MB)
   used     = 1757520 (1.6761016845703125MB)
   free     = 339632 (0.3238983154296875MB)
   83.80508422851562% used

Is it possible to add support of this command?
Thanks

jhsdb uses HotSpot Serviceability Agent to read data from the target JVM, while jattach relies on Dynamic Attach. These are quite different technologies, I explained the difference here.
Serviceability Agent functionality is out of scope of jattach. SA forcibly stops the target process for the duration of the operation, and uses rather slow ptrace mechanism to read data remotely. Use it with care.
The closest Dynamic Attach alternative is
jattach <pid> jcmd GC.heap_info

Thank you for clarification.


Starting Javalin on Android with compileSdk 33 crashing

I upgraded Javalin from 4.6.0 to 5.3.2 and since then, calling start() on Javalin instance, gives this error
java.lang.NoSuchFieldError: No static field SO_REUSEPORT of type Ljava/net/SocketOption; in class Ljava/net/StandardSocketOptions; or its superclasses (declaration of 'java.net.StandardSocketOptions' appears in /apex/com.android.art/javalib/core-oj.jar)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:336)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:304)
at org.eclipse.jetty.server.Server.lambda$doStart$0(Server.java:402)
at org.eclipse.jetty.server.Server$$ExternalSyntheticLambda2.accept(Unknown Source:4)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:203)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:185)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:475)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:133)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:236)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:435)
at org.eclipse.jetty.server.Server.doStart(Server.java:398)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
at io.javalin.jetty.JettyServer.start(JettyServer.kt:74)
at io.javalin.Javalin.start(Javalin.java:171)
at io.javalin.Javalin.start(Javalin.java:148)
at com.pedalrhythm.javalintest.MainActivity.onCreate(MainActivity.kt:14)
at android.app.Activity.performCreate(Activity.java:8000)
at android.app.Activity.performCreate(Activity.java:7984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

This is my Javalin code
val serverApp = Javalin.create().start(7000)
serverApp.get("/tiles") { ctx ->
    ctx.result("Hello")
}

I checked and this error is showing for all versions since v5.0.0. However, this does not happen on 4x versions. Checked on 4.6.7 and it works fine. How can I fix this issue? Thanks

Javalin 5.x is based on top of Jetty 11 (Javalin 4.x was on Jetty 9.x) and it looks like this is an issue with their implementation on Android. You should probably report it here:

https://github.com/eclipse/jetty.project/issues

Thanks, I'll post it there.

Continued in https://github.com/eclipse/jetty.project/issues/9348

We should probably review this section

I've added all the options mentioned in that section. Additionally, I've added two more excludes in the packaging options since they were causing issues
packagingOptions {
    exclude 'org/eclipse/jetty/http/encoding.properties'
    exclude("META-INF/LICENSE.md")
    exclude("META-INF/NOTICE.md")
}

Sorry if it was misleading, I meant we should probably update the docs since the SDK versions on the website shouldn't work with jetty 11:

StandardSocketOptions.SO_REUSEPORT is there since Java 9.
Android SDK added this field in API level 33: https://developer.android.com/reference/java/net/SocketOptions#SO_REUSEPORT

Ah I see, you're right. I just tested Javalin on Android 13 (API 33) and the server worked and didn't crash with the error I shared.
I had misunderstood what sbordet told in that other thread. I started looking for which dependency was providing SocketOptions containing SO_REUSEPORT in previous versions of Jetty, and how can I add that dependency for Javalin 5.0 but that was the wrong approach.
Yeah, I guess you need to update the Android section for Javalin 5.x.

Ah I see, you're right. I just tested Javalin on Android 13 (API 33) and the server worked and didn't crash with the error I shared.
I had misunderstood what sbordet told in that other thread. I started looking for which dependency was providing SocketOptions containing SO_REUSEPORT in previous versions of Jetty, and how can I add that dependency for Javalin 5.0 but that was the wrong approach.
Yeah, I guess you need to update the Android section for Javalin 5.x.

What settings worked for you?

For now I'm just continuing to use Javalin 4.6.7. But I also found a web server library made for Android which I'm going to try out. Also, with that I'm wont be needed to raise my minSdkVersion to 26.


Added cm-resource-parent tag

Added cm-resource-parent tag to be added to resources by default and group resource costs under the host pool resource for cost visibility

Thanks @moisesjgomez for your contribution


Git index.lock file exists | --root-changelog not working

I believe this is a 2-part issue.
Our project contains 1000+ libraries. When I run nx run workspace:version, the semver plugin starts generating CHANGELOG.md files for every library. At some point it stops with the following error:
Error: Command failed: git add /Users/crash/git/iko-travel-spa/libs/shared/ui-date-time-picker-form/CHANGELOG.md
fatal: Unable to create '/Users/crash/git/iko-travel-spa/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

    at ChildProcess.exithandler (child_process.js:308:12)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:16)
    at Socket.<anonymous> (internal/child_process.js:444:11)
    at Socket.emit (events.js:314:20)
    at Pipe.<anonymous> (net.js:675:12)

I am not running any other process of Git.
The second part of this issue is that, according to your documentation, it should just create / update a single
CHANGELOG.md file located in project root. I've tried updating the call by including:
nx run workspace:version --root-changelog=true
with no success.
I think there is definitely an error happening when there are too many projects and the lock file wasn't removed fast enough between change log generations. But this error is caused by the fact that the plugin should be generating only one change log but instead generates 1K+, in the case of my project.
Please let me know if I can provide you with anything else.

@bjornharvold The fix was released under version 1.4.0, please let me know if the problem persists.

Hi and thank you for v1.4.0!
This does indeed fix the git lock issue. However, maybe I don't understand what ' --root-changelog=true' feature means. I only want a CHANGELOG.md to be generate in the monorepo project root. Not in each individual project in the monorepo. The plugin still generates on CHANGELOG.md per project in our monorepo at the moment.
Please let me know if I am misunderstanding.
Cheers

@bjornharvold The --root-changelog option generates the main changelog at the workspace root containing all changes, it does not skip generating individual package changelogs. To provide this feature we can add a new option, and we can also skip individual changelogs in sync mode by default. What do you think @yjaaidi ?

Thank you for clarifying @edbzn

@bjornharvold I just opened a PR related to your comment.

We just released the 2.0.0 that introduces the new --skip-project-changelog and --skip-root-changelog options (thx to @edbzn).
Let us know how it works for you.

Perfect!! That will fix the Nx cache invalidation as well here: #149


Prepare 2.0 Release

Related Changes

cleanup composer
[x] add PHP 7.1 types
[x] add basic ecs
[x] add phpstan
[x] remove fluent interfaces
[x] remove redundant docblocks
[x] apply PSR-2 + coding standard
[x] finalize classes
[x] use common  /src and /tests PSR-4 structure

Inspiration from old fork

https://github.com/Symplify/Symplify/pull/494

Changelog

fluency removed to have 1 consistent path to every method

# before
$git->add('*')
    ->commit('Initial commit.');

# after
$git->add('*');
$git->commit('Initial commit.');

GitWorkingCopy returns output right away; __toString() + getOutput() method in favor of this

# before
$output = $git->add('*')->getOutput();
$output = (string) $git->add('*');

# after
$output = $git->add('*');

GitCommand

# before
array_unshift($argsAndOptions, 'name');
GitCommand::createInstance($argsAndOptions);

# after
new GitCommand('name', $argsAndOptions);

clone() magic removed

### before
$gitWrapper->clone(...);

### after
$gitWrapper->cloneRepository(...);

@carusogabriel Thanks for review. I've added few more structural changes, it should be ready to merge now.


First pass dockerize of endpointmanager and capabilityreceiver

This PR dockerizes the endpointmanager (sendendpoints) and the capabilityreceiver and modifies the populatedb make task so that the script gets executed on the endpoint manager container. The populatedb script now automatically pulls in the NPPES endpoint and org files, so long as they are located and named lantern-back-end/endpointmanager/resources/endpoint_pfile.csv and lantern-back-end/endpointmanager/resources/npidata_pfile.csv
When testing locally make sure you have your db env vars set eg:
export LANTERN_DBHOST=pg_prometheus
export LANTERN_DBPORT=5432
export LANTERN_DBSSLMODE=disable
export LANTERN_DBNAME=lantern

export LANTERN_DBUSER=lantern
export LANTERN_DBPASSWORD=lanternpassword
export LANTERN_DBUSER_READONLY=LANTERN_ro
export LANTERN_DBPASSWORD_READONLY=postgrespassword_ro
export LANTERN_DBUSER_READWRITE=LANTERN_rw
export LANTERN_DBPASSWORD_READWRITE=postgrespassword_rw

This PR also removes grafana and the lantern-front-end from the docker compose files.
To test
Pull requests into this repository require the following checks to be completed by the submitter and reviewers.
Submitter:

[x] Administrative tasks are complete.

This pull request describes why these changes were made.
The JIRA ticket links to this PR.
The JIRA ticket for this PR is:  https://oncprojectracking.healthit.gov/support/browse/LANTERN-193

[x] Tests are complete.

Tests are included and test edge cases. NA
Tests have been run locally and pass.

[x] Code review has been performed.

Code diff has been done and checked to ensure only expected code is being committed.
A linter for the language has been run.

Primary Reviewer:

[ ] Code works.

Code has been run locally and the basic functionality affected by the PR has been checked.
Edge cases have been checked to ensure behavior is as expected.

[ ] Code review has been performed.

Code is maintainable, reusable, efficient, and correct.
Code accomplishes the tasks purpose.
Code follows style guidance appropriate for the language, including passing linter checks.
Code is well commented (which does not mean verbosely commented).

[ ] Tests are complete.

Tests are included and test edge cases.
Tests have been run locally and pass.

Secondary Reviewer:

[x] Code works.

Code has been run locally and the basic functionality affected by the PR has been checked.
Edge cases have been checked to ensure behavior is as expected.

[ ] Code review has been performed.

Code accomplishes the tasks purpose.

[ ] Tests are complete.

Tests have been run locally and pass.

Merger:
Prior to merging, ensure that all checks have been completed. Delete the branch after the merge
is complete.
Create a new branch <branch name>_gomodupdate. Run make update_mods to update the go.mod
and go.sum files to point to master. Create a PR. Require one sanity check reviewer.

Readme should say which directories need a copy of the certs

Needs rebase then good


Added googlemock and googletest

Added googlemock.
Added file_sdk test that uses googletest.
Commented out rms unit tests in scons since they cause build errors.

@Norfolc,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Added support for number, date, and measurement recognition to CluProcessor

@vanh17 , @marcovzla : the NumericProcessor is now in master.
@kwalcock : can you please release 8.4.4

Thank you!

Yes.

thanks!

It is at maven and should be available imminently.

Thanks!
On July 15, 2021 at 7:01:59 PM, Keith Alcock @.***)
wrote:
It is at maven and should be available imminently.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/clulab/processors/pull/529#issuecomment-880817236, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI75TTXE4QXAMHA5WH6QXLTX4A7NANCNFSM5ANNQRYQ
.


Portfolio

Diary
Camera
Portfolio

https://uxdesign.cc/tips-for-a-successful-portfolio-cea57a0c9b9d


Port test_vcache_simplified, test_vcache_flush to new API

I'd like to use these tests in the long run - they're much faster, and test the same behavior as vcache_sequence.

Not urgent - when someone has 5-10 minutes

I don't understand, they look like they are already ported

Hmm. I guess the naming needs to match the new tests then.


Nerd font not working with LSP diagnostic errors

Describe the bug
I'm not able to see the selected nerd font glyphs in inline diagnostic messages. I can verify that the glyphs are rendered correctly when they appear in a text file. (For this screenshot, I haven't saved the typo, so the init.lua was parsed correctly when nvim started)

To Reproduce

brew install --cask font-fira-code-nerd-font
select the installed font in iTerm
set have_nerd_font = true in  init.lua
uncomment this code:

     -- if vim.g.have_nerd_font then
      --   local signs = { ERROR = '', WARN = '', INFO = '', HINT = '' }
      --   local diagnostic_signs = {}
      --   for type, icon in pairs(signs) do
      --     diagnostic_signs[vim.diagnostic.severity[type]] = icon
      --   end
      --   vim.diagnostic.config { signs = { text = diagnostic_signs } }
      -- end

restart nvim

I also verified that the above code block is executing using a print() statement.
Desktop

OS: MacOS Sonoma
Terminal: iTerm2

Neovim Version
NVIM v0.10.2
Build type: Release
LuaJIT 2.1.1727870382

This feature is intended to change only the diagnostic signs displayed in the status column, and not those displayed inline.
If I understand your goal correctly, you might need to add something like:
vim.diagnostic.config {
  signs = { text = diagnostic_signs },
  virtual_text = {
    prefix = function(diagnostic)
      return signs[vim.diagnostic.severity[diagnostic.severity]]
    end,
  },
}

If you'd prefer not to use the same signs for the status column and inline, you might want to consider trying something like:
local signs_prefix = { ERROR = 'E', WARN = 'W', INFO = 'I', HINT = 'H' }
...
    prefix = function(diagnostic)
      return signs_prefix[vim.diagnostic.severity[diagnostic.severity]]
...


Update theme to PyData, matching event-model and ophyd

This should fix #1666 as well

Reviewers: @danielballan @mrakitin

As of now in PR #1706 the searching is NOT fixed. More work is required there.


Some meshes don't render in gridmaps while in compatibility mode

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Windows 11 - RTX 2060, driver version <IP_ADDRESS>99
Issue description
I have two gltf files, created in two different programs, both containing a (as best I can tell) identical white cube. Both scenes import and can be seen and used correctly in Godot and at least one other program, so I don't think there's anything wrong with those files. With each file, I have created a MeshInstance3D, as well as a MeshLibrary, which I've then used in a GridMap. In Forward+, everything works fine.

The two cubes in the front are the MeshInstance3Ds, and the two clusters in the back are the TileMaps.
The problem comes when I switch to Compatability, which I often use for game jams which prefer HTML5 builds, and for working on my older laptop.

The MeshInstance3Ds work just fine, but the GridMap created with the mesh from Crocotile disappears entirely. The gridmap still "works", ie you can and remove cubes, but none of the cubes will render at all until you switch back to Forward+.
Steps to reproduce
Open the attached project, verify that all cubes are present, switch to Compatibility, see that one GridMap stops rendering.
Minimal reproduction project
GridMapMinimalProject.zip

I can confirm that this issue existed in 4.1.1 (and all the way up to and including dev 6).
After testing in master, it looks like this has been fixed already, most likely by https://github.com/godotengine/godot/pull/81575 which will be included in 4.2-beta1 and also will be cherrypicked for 4.1.3.


Include webvtt and srt formatting

Proposed changes
Provide methods to transform  a Deepgram prerecorded transcription response into WebVTT or SRT captions
We've decided to do this as a separate package
Context
This feature was available in V2 as to_WebVTT() or .to_SRT(). We need to continue to provide this feature in V3
Possible Implementation
See V2 implementation: https://github.com/deepgram/deepgram-python-sdk/blob/main/deepgram/extra.py
Take this V2 implementation and create a standalone python package to create captions. The standalone package can be a dependency in this SDK so users can use it from the SDK, or they can use it independently.
Other information

@SandraRodgers is this considered done since we released the python caption package?

Not done because we still need to add it as a dependency so it can be used in the SDK @jpvajda

@SandraRodgers I'm assuming this is no longer needed since we have the captions library/repo now.

For those that are interested, please checkout this project:
https://github.com/deepgram/deepgram-python-captions/tree/main


Remove non-custom checkbox and radio button vertical alignment / margin adjustment for older browsers such as IE11

Unstyled checkboxes and radio buttons are not an issue in mature evergreen browsers, and so the vertical alignment / margin adjustment is now having a detrimental effect. This does not apply to WebUI custom checkbox / radio button components.

Fixed.


Support BenchmarkTools.jl in Julia

Hi!
Thanks for this great project!
This github action is pretty useful and I'd like to add support for Julia. I've added the necessary changes by following the CONTRIBUTING.md. However, this is my FIRST time to write both typescript and github action. So let me know if anything seems incorrect.😃

Gently ping  @ktrz 😃
Any feedback would be appreciated.

@findmyway
FYI I will upgrade TypeScript version to the latest soon (I'll try today) so if some of the requested changes are not supported by the currently used TS version just give me a moment :)

Hey @findmyway
I've merged my PR #88 which among other things updates the TypeScript version. You'll need to merge master into your branch and npm install again
I can see that you have a merge conflict now but it shouldn't be hard to resolve. Let me in case of any trouble.

Thanks for your review!
I feel I need to learn some typescript this weekend 😆
I've tried to fix most errors, but there's still one left: https://github.com/findmyway/github-action-benchmark/runs/4406800729?check_suite_focus=true
I'm not sure how to fix it yet. Any thoughts?

@findmyway support for Julia benchmarks released
https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.11.1

Awesome! 🎉 🎉 🎉


Unify various layer extension handling, big UO tidy-ups.

I see, travis is angry about the merge, not the state on this branch. Will rebase tomorrow.

Thanks Chris, this has been on the list for awhile.  As is all the intercept_xxx_command crud.  LGTM.

Rebased to catch @krOoze's change which required a slight tweak. TravisCI should be happy now.


encoding/json: eof error of NewDecoder().Decode() should be same with Unmarshal()

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.10.1 darwin/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64" GOOS="darwin"
What did you do?
https://play.golang.org/p/gr5cHhrpmbK
What did you expect to see?
shown in previous link
What did you see instead?
shown in previous link

/cc @dsnet

BTW. a solution is change io.ErrUnexpectedEOF to &SyntaxError{"unexpected end of JSON input", dec.scan.bytes} in https://github.com/golang/go/blob/c99300229de4e69220790c71da14785dc52c3d68/src/encoding/json/stream.go#L126

Seems worth changing, want to send a CL?

@ianlancetaylor - Just concerned, can it be considered a borderline breaking change ?

@agnivade Yes, it's clearly possible to write a program that will observe this change.  I'm guessing that few programs test explicitly for io.ErrUnexpectedEOF.  But I don't actually know.  The only way to find out would be to try it.
Actually thinking about it a bit more I'm not sure which way to change it.  Is it better to always return a json.SyntaxError?  Or is is better to not wrap io.ErrUnexpectedEOF in a json.SyntaxError, just as we generally avoid wrapping io.EOF?

A quick github search for TestInvalidJSON gives some hits which are potential breakages.

https://github.com/lemonldap-ng-controller/lemonldap-ng-controller/blob/a151ed71970d6199a936f028a25fcc2969da7aff/internal/lemonldapng/converter/converter_test.go#L56

https://github.com/smagch/patch/blob/fee8a6dae4f796e0714a27c0a06d356e3059ce33/parse_test.go#L85

There might be more but I stopped searching after I got these.
Both of these do json.Unmarshal, so I guess it might be safer to change json.NewDecoder. But again, there just might be some code out there which breaks.

Arguments for changing it to *json.SyntaxError:

io.ErrUnexpectedEOF is documented as indicating that "EOF was encountered in the middle of reading a fixed-size block or data structure",  for which this does not seem to be the case.
This situation really does look like syntax error. There is no amount of characters that you can add to {"name":"} to make it valid JSON.

That being said, I may have expected {"name":" to return io.ErrUnexpectedEOF, since it is possible to append "} and obtain valid JSON. However, this is not the case today, either.
See https://play.golang.org/p/93ozJzoQSRR

I support changing it to io.ErrUnexpectedEOF for the following reasons:

Despite the documentation on ErrUnexpectedEOF, I (and my observation of other parser code) has commonly interpreted that error as indicating that is some number of bytes you could be appended to the string to turn in into a valid input.
It is generally safer to move from a less distinguishable to a more distinguishable error. While SyntaxError is distinguishable, it is functionally less so than ErrUnexpectedEOF, which only requires a comparison instead of a type assertion.

@dsnet - I tried changing it to io.ErrUnexpectedEOF and several tests failed -.
--- FAIL: TestUnmarshal (0.00s)
    decode_test.go:1016: #38: checkValid: &errors.errorString{s:"unexpected EOF"}
--- FAIL: TestUnmarshalSyntax (0.00s)
    decode_test.go:1962: expected syntax error for Unmarshal("\"hello"): got *errors.errorString
    decode_test.go:1962: expected syntax error for Unmarshal("[1,2,3"): got *errors.errorString
    decode_test.go:1962: expected syntax error for Unmarshal("{\"key\":1"): got *errors.errorString
    decode_test.go:1962: expected syntax error for Unmarshal("{\"key\":1,"): got *errors.errorString
FAIL
FAIL	encoding/json	1.086s

Whereas, if I do the other way and change to SyntaxError, no tests fail. It seems to me that changing to SyntaxError may actually be less invasive.
But your call. Let me know.

I'm also hitting this, it's awkward to have to check if err == io.ErrUnexpectedEOF before a type assertion switch containing *json.SyntaxError.

Any news on this?

I think the solution here needs to be adapted given that error wrapping is a reality, e.g. see https://golang.org/pkg/errors/#Is.
SyntaxError should now wrap the underlying error, such as io.ErrUnexpectedEOF. And the json APIs should all be consistent with this.
If anyone wants to work on a patch and send it, I'm happy to review it. Otherwise, I don't think anyone is actively working on this, so there won't be any news unless someone leaves a comment with an update.

I should also clarify - such a change is too risky now that we're in the middle of the 1.14 freeze, so a CL would probably be merged once the tree reopens in roughtly six weeks from now.

Sir I'm using go1.14
var member Member // struct type
err := json.NewDecoder(request.Body).Decode(&member); if err != nil{println(err)} // yeah this return eof


sign_in_with_password locking python unittest

Bug report
Describe the bug
I'm using the Supabase Client Python with the unittest library to make some asserts in a data transform. But, if when I use the sign_in_with_password() method in the setUpClass to log in the project, the terminal is locked after the tests execution. The process is not kill and the Ctrl+C doesn't work too. I tried to call close() in the auth, but the problem persists. It appears there to be some deadlock.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Import the supabase in a unittest file
Create a client
Call sign_in_with_passwod() in the setUpClass
Wait for the test execution end
See the error

Expected behavior
The process needs to be killed when the test finishes.
System information

OS: Windows 11
Version of supabase-python: 2.5.1
Version of Python: 3.12.3

You just need to sign_out in order for it to not be locked. This has been discussed in a past issue.
The discussion here with one solution of calling sign_out: https://github.com/supabase-community/supabase-py/issues/494#issuecomment-1778224450
Another solution here of passing a config property: https://github.com/supabase-community/supabase-py/issues/451#issuecomment-1736329894

Here's my use case: I'm trying to pass the user's JWT token from a Javascript frontend to a Python backend so that I can log the user in on the backend and perform RLS-protected operations. I'm using supabase.auth.set_session to get the job done. This causes Pytest to hang, and supabase.auth.sign_out() doesn't fix the issue in this case.
I mean, it might just be that this is a bad approach. I suspect that signout on the backend will sign the user out from the frontend too, although I've not even gotten that far in my testing due to this Pytest issue. So at the moment, I'm leaning toward dropping the whole idea of passing the session from frontend to backend like this.
But if there's a way to clean up the threads associated with supabase.auth.set_session, and to do it without signing out the user on the frontend, I'd love to know about it.

Did you try the other solution of passing the config property on initiating the client in Python?

@chriscarrollsmith Did you try the other solution of passing the config property on initiating the client in Python?
Also @chriscarrollsmith are you the same person as @FelipeNFL?

Thanks; I so.ehow missed that in your reply above and will give it a try. (No, I am not the same person as Felipe.)

Closing out as no reply from OP for more than two months.


OpenAi returned no response

I freshly built Wire-Pod yesterday. So far everything works except for one thing. As soon as I make my request via "openai" I get "OpenAI returned no response." return. I've reset my OpenAI API several times and even switched my free account to a paid account. Does anyone else have problems connecting to Openai. It works fine via Houndify.

The only cause I can think of for that is a bad API key.

I've just started getting this same error. I've tried restarting the wire-pod and the router, and generated a new key. I am still getting the error- and even more strangely, no attempt to access the knowledge graph is showing in the wire pod logs.

Having the same issue.

SOLVED- I've figured out what had happened. My free trial OpenAI account and its attached credits had expired, so I had to set up a paid account and generate a new API key. Thankfully, the accounts are very cheap.

Yep, same for me. My trial tokens expired. I went to a paid plan and now the issue is resolved.
@kercre123 is there any error code or message you get back from the server that indicates the trial has ended so that we can have Vector speak "Open AI has indicated your free trial period has ended. Please move to an Open AI pay-as-you-go plan if you want to use VOSK + Knowledge Graph + Open AI. Otherwise, switch back to Houndify"?

I have a question. why i say "hey vector" but it doesn't work. I have to press the button on its back

Same issue - have a paid OpenAI account and everything.

Should be fine now


[P0] BUG - ALERTS dashboard is stuck and won't show any ALERTS

ALERTS dashboard is stuck and won't show any ALERTS.
Environment tested:

Windows 11
AKS EE / k3s
E4K

I don't see problems in the deployed pods. Even the FrameSplitter pod was created properly after provisioning a camera:

I tried this:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Check it out:
kubectl get sc
Re-deployed the app, and it works well....

@virubiotor please, if it's 100% sure that we need to run that K8s persistent storage command, please, update it in both .MD procedures (Script based and step-by-step) when using AKS EDGE ESSENTIALS.


Database Migration

Created by @mike-eason: The database schema needs to be in a state where we can make small iterative changes. Ideally this means that if a developer was to make a change to the schema, this will not require a full sql dump.
One approach would be to implement DB Up. So changes to the database will be like so:

Branch for feature
Write a SQL script to migrate the database (i.e create a table, add a new column etc)
Merge the branch
CI/CD executes the script against the database

We will need a utility application that will execute the db migration scripts on a given database.
Here's an example of a tool I have used in the past for migrating MSSQL databases: https://dbup.readthedocs.io/en/latest/philosophy-behind-dbup/

Resolved in #10


Configures build to output es2015 and commonjs module trees along with the bundle.

As per discussion #134 .

Coverage remained the same at 100.0% when pulling feb2fa4d4ed8b5ee70ac7582ea36d6264af07700 on Glinkis:master into 5d3dec43750bab8b1e0bbf14188d46dee087d9d1 on alexjoverm:master.

Thanks @Glinkis, very appreciated


Using Font Icons

"Then, use the format "&#x/(UNICODE);" in XAML, or the format "\u/(UNICODE)" in code, where (UNICODE) is the value of the glyph that indicates the location in the font file."
The above does not work....
This Does work........
<winui:NavigationViewItem.Icon>                     <FontIcon FontFamily="Segoe MDL2 Assets" Glyph=""/> </winui:NavigationViewItem.Icon>

@groovykool , thanks for letting us know about this. The doc has been fixed.


Failed to login

Hello ImSejin, I also got this login error, any idea what's the problem?
Originally posted by @furosty in https://github.com/ImSejin/lezhin-comics-downloader/issues/34#issuecomment-855364052

Could you run with option -d and show me the logs and where chrome browser is stuck?

Here

I can't see the error log.
It looks like you captured it as soon as you saw the browser.
Show me if the browser shows the login page and the error logs at that time.

I think I got the problem it because the privacy error

I've never seen this error before.
The browser shuts down as soon as a page titled "Privacy error" is viewed.
Try test version that doesn't shut down even if an error occurs and tell me about that.

Okay, I'll try it later and let u know

Already tried using the test version, and the problem of privacy error is beacuse this certificate, idk why I can't find this certificate to disable it.
Is it possible change the address of login from lezhin.com to lezhinus.com?

when I try to proceed unsafe, got stuck in here

Not using downloader, when you just go www.lezhin.com, browser still show you the following text?
Hello Staybrella Backend Serevr!!

Yes, still show up that message. I think this is because my internet provider blocked wwww.lezhin.com

Umm... I don't think so.
I think you are being attacked by hacker.
Try again using different network or different device.

I've tried to use my laptop but yeah it's still can't login
And I already asked my friend he said it is because the ISP is blocking the site, well I think I should use another ISP

Generally speaking, I don't understand why they blocked the lezhin comics site.
I hope it works well.

Yeah, many sites especially that contains 18+ contents got blocked in my country 😂
Thanks


Does gorm support sqlcipher?

Does gorm support sqlcipher?
I wonder how to use gorm with sqlite3 and sqlcipher.
The document does not mention anything about this.

gorm没有一行sqlite的代码，自己改啊


implement min and max

I implemented a lattice class in algebra, and other subclasses, to define min and max. There are theorems relating them to an additive group structure, but I still have to prove theorems for ordered rings, e.g. max (a * b) (a * c) = a * max b c when a >= 0.
The types nat, int, rat, and real are instances, so we have min and max for all of them uniformly. Handling nat was a little tricky, because min and max are defined in init, so we cannot use the generic definitions from algebra.
I also got rid of an unused class in order.lean.
@htzh These should include at least some of theorems you wanted for min and max. Please let me know if there are others you need.
@fpvandoorn Unfortunately, this makes the standard library diverge from the hott library. It would be really tedious to track all the changes and make them again in hott. Perhaps when we are both back in Pittsburgh and the concrete number types in the standard library have settled, we can do another port? I think the concrete number types are close to settling down. (A note for the port: I renamed the theorems max_eq_right and max_eq_left in init/nat to max_eq_right' and max_eq_left', because those theorems mean something slightly different (and more natural) in the algebra.)
@rlewis1988 I defined abs a b := max a (-a) which is also valid constructively, and I moved a number of theorems to a class that can be instantiated constructively. One thing I could not prove was abs a b >= 0, even though that is true of the constructive reals. I also don't know how to prove the triangle inequality constructively in a general algebraic setting. We should talk about this, and find a good constructive axiomatization, to which we can instantiate the reals.

@avigad: It is fine that the libraries diverge. I was already planning to remove the ported HoTT files, and port everything again after the new simplifier exists and we don't rely on the fake simplifier anymore. I tried to make as little additions to the HoTT files as possible, and instead created a new file with HoTT-specific theorems (e.g. hott/types/int/hott.hlean).
@leodemoura: do we need max and min for nat in init? Currently everything up to data.nat.order compiles if I remove those definitions. Will later features use them? If not, I think it would be nicer to move max/min to data.nat.order and use the algebra library as much as possible to prove things about them.

@leodemoura: do we need max and min for nat in init? Currently everything up to data.nat.order compiles if I remove those definitions. Will later features use them? If not, I think it would be nicer to move max/min to data.nat.order and use the algebra library as much as possible to prove things about them.

The original plan was to use max when automatically generating the direct_subterm relation (#347). However, this approach would not cover reflexive datatypes such as
https://github.com/leanprover/lean/blob/master/tests/lean/run/ftree_brec.lean#L3-L5
So, I don't have any reason for keeping max and min at init.

I will remove max and min from init when I am back in Pittsburgh. Floris, I will also remove it from the HoTT library, to facilitate the port later on, unless you tell me not to.

That's good!


Automated cherry pick of #3657: user-project create api bugfix

Cherry pick of #3657 on release/2.13.
#3657: user-project create api bugfix

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@8909d8d). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #3658   +/-   ##
==============================================
  Coverage                ?   6.96%
==============================================
  Files                   ?     500
  Lines                   ?   83839
  Branches                ?       0
==============================================
  Hits                    ?    5838
  Misses                  ?   77505
  Partials                ?     496

Flag
Coverage Δ

#aFlag
6.96% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/loadbalancercertificates.go
4.39% <0%> (ø)

Continue to review full report at Codecov.

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

/approve
/lgtm


Lodash dependency is a security vulnerability

Need to update lodash, because of security vulnerabilities: https://www.npmjs.com/advisories/1065

@oleksiyk Any outlook on fixing this issue?


Reformatting in the README

I added links, reformatted the list, and most importantly put formatting on the code blocks (python and bash code).

Tom improvements on first version


[google_maps_flutter_android] Fixes points losing precision when converting to LatLng

Fixes points losing precision when converting to LatLng. The points were losing precision as they were converted to float instead of double.
https://github.com/flutter/flutter/issues/94146
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[X] I signed the CLA.
[X] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[X] I listed at least one issue that this PR fixes in the description above.
[X] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[X] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is test-exempt.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@GaryQian can you please review this

@reidbaker can you please review this

@reidbaker can you please review this

Yes added to my queue

@reidbaker  @camsim99 Thanks for the quick review :D