zero-copy and lazy rows deserialization

Currently, QueryResult deserialization deserialize all rows eagerly, and does a lot of allocations:

a vector for all rows;
for each row, a vector for all columns;
for each blob/string column, a copy of the bytes in a new allocated vector/string;

The last point, which can be quite important in workflows with a lot of strings/heavy blobs, is pretty easy to address. Indeed, the crate already use bytes::Bytes, so it query result's bytes could be kept along the deserialization, and blob column be deserialized as Bytes, while string column could use string::String<Bytes>. I ignore the reason why raw &[u8] are used, maybe it's because of the API of byteorder, but bytes crate also provides an endian-aware API, so byteorder could be dropped in favor of bytes.
Allocating a vector for all rows is also a relative overhead regarding queries returning only one row. Instead of deserialized rows, raw Bytes could be stored into QueryResult. It could then have method returning an iterator of rows deserialized at each iteration. It would still be possible to obtain a vector of rows just by collecting the iterator.
Columns deserialization could also avoid using a vector, using a trait system similar to FromRow to deserialize rows into tuples. By the way, compatibility of the tuple could be checked only once before iterating the rows (row deserialization would still return a Result because it must still check there is enough bytes). Old API could still be accessible by making Vec<Option<CqlValue>> implement the row deserialization trait; actually, there could also be an Iterator<Item=Option<CqlValue>> implementing the trait.
To illustrate these points, I've implemented a quick and dirty POC in a branch in order to run some quick benchmarks; they show a (very) significant improvement in terms of memory consumption and performance. I can open a draft PR to make the POC simpler to visualize.
Of course, some of these changes would be breaking:

part of deserialization API is public, e.g. Response, but it has to be modified to use Bytes instead of &[u8];
QueryResult.rows is public, but it would have to be replaced, for example by bytes: Bytes, row_count: usize;
CqlValue::Blob/CqlValue::Text/CqlValue::Ascii should use Bytes/String<Bytes>; actually, this change should not be required, as raw CqlValue may not be used so much anymore.

On the other hand, the typed API rows_typed/single_row_typed/etc. (and even rows()) could stay relatively untouched, as FromRow could implement the deserialization trait too , and breaking changes above seems quite minor to me.
P.S. There are also some strings in ColumnSpec and ColumnType which could also be modified to use string::String<Bytes>; it would save the few remaining allocations, while being a minor breaking change.

@ultrabug

I believe we already have a very similar issue: https://github.com/scylladb/scylla-rust-driver/issues/462 .
I agree that the eager allocations are a problem. Both your approach and the one described in #462 address the issue by pointing to the memory of the original, unserialized frame. However, the main difference is with respect to lifetimes: you suggest to use reference counting, and I suggest using explicit lifetimes. I think there is value in both - reference counting is easier to use, but explicit lifetimes gets rid of the (AFAIK atomic) reference counting and makes it possible to use standard library types such as &str and &[u8] instead of string::String<Bytes> and Bytes.
We could unify both approaches if we used the interface from #462. Instead of deserialize taking data: &'a [u8], we could pass &'a Bytes so that it is both possible to borrow the unserialized frame as well as refer to it via shared pointer semantics.
There is one potential argument against reference counting that I can see. Let's say that you fetch a large page of results, but you only decide to keep one string::String<Bytes> from it. The Bytes need to refer to the unserialized response frame and will keep it alive, leading to a space leak. I'm not sure how frequently this problem could happen in practice, but it definitely makes memory usage harder to reason about. This problem does not happen with explicit lifetimes, as the user of the types that borrow from the frame needs to manually keep the frame alive or convert the types to their owned variants.
WDYT @wyfo @cvybhu?
P.S: I have a work-in-progress branch for #462, I worked on it from time to time but it's quite untidy and didn't even manage to make it compile yet: https://github.com/piodul/scylla-rust-driver/tree/462-more-efficient-deserialization

I don't know how I missed #462 ... -_-'

We could unify both approaches if we used the interface from https://github.com/scylladb/scylla-rust-driver/issues/462. Instead of deserialize taking data: &'a [u8], we could pass &'a Bytes so that it is both possible to borrow the unserialized frame as well as refer to it via shared pointer semantics.

Agree 100% with it! It's indeed way better this way. I went with Bytes because of my use case, spawning tasks with 'static lifetime, but I've a lot of smaller queries where &'a str would be more suited. However, I think we will need to pass both &mut &'a [u8] and &'a Bytes, the first one being used to deserialize, and the second one to use Bytes::slice_ref when needed.

There is one potential argument against reference counting [...] The Bytes need to refer to the unserialized response frame and will keep it alive, leading to a space leak.

I agree too, but as stated above, giving the choice to the user solves this issue IMO.

P.S: I have a work-in-progress branch for https://github.com/scylladb/scylla-rust-driver/issues/462, I worked on it from time to time but it's quite untidy and didn't even manage to make it compile yet: https://github.com/piodul/scylla-rust-driver/tree/462-more-efficient-deserialization

Actually, our works are pretty similar ... too much similar in fact, my inspiration could become questionable :sweat_smile: at least, it seems to be the right direction.
Before continuing, we need to answer some questions:

should we modify CqlValue to either use &[u8] or Bytes? I think we could try to make it generic: CqlValue<Blob=Vec<u8>> with the ability to choose between Vec<u8>, Bytes and &[u8] (I don't know if this is feasible, but why not try).
should we try to keep the current API rows_typed/single_row/etc. and maybe deprecate it?
a little parenthesis about error type: ParseError could be cleaned a little bit, as ParseError::CqlTypeError seems to no more be used, and I think the only io::Error of ParseError::IoError should be UnexpectedEOF raised by bytesorder, but it should then be ParseError::BadIncomingData.
what about strings contained by metadata? should we use string::String<Bytes>, or hack it storing only offsets on the frame bytes, retrieving the strings with a method? so, no more shallow clone but a less intuitive API. As it seems to me that metadata are rarely used directly (it's mainly serve to deserialization, and only the ColumnType, not the strings), I think it will be ok to optimize it this way.
Should we close this issue as duplicate? or keep this one because discussion seems to happened here? or keep both?

Maybe I can open a draft PR to start more precise discussion about implementation/naming/etc.

what about strings contained by metadata? should we use string::String, or hack it storing only offsets on the frame bytes, retrieving the strings with a method? so, no more shallow clone but a less intuitive API. As it seems to me that metadata are rarely used directly (it's mainly serve to deserialization, and only the ColumnType, not the strings), I think it will be ok to optimize it this way.

Actually, I've just realized that it's not really necessary to deserialize metadata. In fact, there could be a column type parsing iterator, the same way as there will be a row parsing iterator. Strings would just be ignored.
Of course, fully deserialized metadata could still be available using a dedicated method.

Agree 100% with it! It's indeed way better this way. I went with Bytes because of my use case, spawning tasks with 'static lifetime, but I've a lot of smaller queries where &'a str would be more suited. However, I think we will need to pass both &mut &'a [u8] and &'a Bytes, the first one being used to deserialize, and the second one to use Bytes::slice_ref when needed.

Using &'a mut Bytes should be sufficient (forgot about the mut before). Bytes implement Deref<Target=[u8]> so you can borrow directly from it, no need to use Bytes::slice_ref.

Before continuing, we need to answer some questions:
* should we modify `CqlValue` to either use `&[u8]` or `Bytes`? I think we could try to make it generic: `CqlValue<Blob=Vec<u8>>` with the ability to choose between `Vec<u8>`, `Bytes` and `&[u8]` (I don't know if this is feasible, but why not try).

I can see how CqlValue could be changed to a generic, however I can see some challenges:

There are some variants that allocate and I'm not sure there are ref-counted or borrowed equivalents for them, notably BigInt and BigDecimal,
The CqlValue itself needs to allocate in case of UDTs, collections and tuples. How do we handle that? Should the borrowed and ref-counted variants use iterators that lazily deserialize the compound type?

I'm OK with postponing solving those issues for later, as the API suggested in #462 would allow deserializing query results directly to the types requested by the users. The CqlValue would still be a type which owns its data.

* should we try to keep the current API `rows_typed`/`single_row`/etc. and maybe deprecate it?

Why would you want to deprecate/remove them?

* a little parenthesis about error type: `ParseError` could be cleaned a little bit, as `ParseError::CqlTypeError` seems to no more be used, and I think the only `io::Error` of `ParseError::IoError` should be `UnexpectedEOF` raised by `byteorder`, but it should then be `ParseError::BadIncomingData`.

I agree, the error hierarchy needs some rethinking and simplification...

* Should we close this issue as duplicate? or keep this one because discussion seems to happened here? or keep both?

Let's keep both issues open and close them later in one go. Both of them contain valuable information IMO.

Maybe I can open a draft PR to start more precise discussion about implementation/naming/etc.

Sure, sounds like a good idea. We can continue the discussion on the PR.

Using &'a mut Bytes should be sufficient (forgot about the mut before). Bytes implement Deref<Target=[u8]> so you can borrow directly from it, no need to use Bytes::slice_ref.

In fact, you can't borrow a slice and calling Bytes::advance on the same Bytes. So you need to have an immutable Bytes buffer, to borrow immutable slice (or shallow clone a new Bytes), and a mutable slice/offset to keep parsing advancement; slice and offset are roughly the same information, but slice is a fat pointer (2 usize) vs 1 usize for the offset, so maybe the second could be a little bit more efficient to pass around. I need to bench that.

I'm OK with postponing solving those issues for later [...] The CqlValue would still be a type which owns its data.

I'm fine with that.

Why would you want to deprecate/remove them?

The error type will change, as it will have to include parsing error, but that's a minor concern. However, they also take QueryResult by value; this is not an issue for untyped methods, as CqlValue owns its data, but it prevents typed methods to deserialize &[u8]/&str, defeating one of the purpose of the refactoring. Maybe we can cheat and modify the interface to pass self by reference instead, so it should not break most of the code.
There is also a discussion about FromRow, because as written earlier, FromRow could implement the row deserializer trait, but that would imply having a temporary deserialization to Vec<Option<CqlValue>>, with a big overhead. That's why I think the trait should be deprecated.

Using &'a mut Bytes should be sufficient (forgot about the mut before). Bytes implement Deref<Target=[u8]> so you can borrow directly from it, no need to use Bytes::slice_ref.

In fact, you can't borrow a slice and calling Bytes::advance on the same Bytes. So you need to have an immutable Bytes buffer, to borrow immutable slice (or shallow clone a new Bytes), and a mutable slice/offset to keep parsing advancement; slice and offset are roughly the same information, but slice is a fat pointer (2 usize) vs 1 usize for the offset, so maybe the second could be a little bit more efficient to pass around. I need to bench that.

OK, I see the problem now... I'm not sure what would be the best way to deal with that. It sounds like we would like to have something that behaves as a slice, but allows to take ownership of it via Bytes::slice_ref. Maybe something like this exists already?

Why would you want to deprecate/remove them?

The error type will change, as it will have to include parsing error, but that's a minor concern. However, they also take QueryResult by value; this is not an issue for untyped methods, as CqlValue owns its data, but it prevents typed methods to deserialize &[u8]/&str, defeating one of the purpose of the refactoring. Maybe we can cheat and modify the interface to pass self by reference instead, so it should not break most of the code.

I remember that I got this problem while working on my work-in-progress implementation and I had to introduce an as_typed method so that borrowing is possible. The into_typed method should still be usable with the types that own the data. AFAIK if we restrict the types that the function could return only to types with lifetime 'static then it should work.

There is also a discussion about FromRow, because as written earlier, FromRow could implement the row deserializer trait, but that would imply having a temporary deserialization to Vec<Option<CqlValue>>, with a big overhead. That's why I think the trait should be deprecated.

I agree about FromRow, it will probably become obsolete.

Note: this should be fixed by https://github.com/scylladb/scylla-rust-driver/pull/665 when it is merged. It follows some ideas that were discussed here.

Note: this should be fixed by #665 when it is merged. It follows some ideas that were discussed here.

#665 was closed - not merged. Unsure where we stand now with this.

Is this still realistic for 0.15.0?

This is the main addition for 0.15, so it makes no sense to release 0.15 without it. Is the date currently set in the milestone realistic? Definitely not. We'll need to move it.

Done in https://github.com/scylladb/scylla-rust-driver/pull/1057.


Not overridden options

Hello!
The problem arose from the fact that I override options, and the output is a file with the default settings.
http://joxi.ru/Dr8nq07H8EeG26 - css file
http://joxi.ru/E2pkaRxIN1l4mY - gulpfile
http://joxi.ru/xAee4zWTEB9BAy - output file
I expect the file to shrink, only formatted. And he shrinks and classes are grouped. I can not understand what the problem is.
In gulp-clean-css I sent to You, because all the options are applied directly

What you do looks fine. Can you ensure you run clean-css 4 via npm ls clean-css?

The output looks like this:
http://joxi.ru/MAjM6YaFQJMG2e
I also thought it was strange. Errors any does not give.

I decided to try directly, without wrappers.
http://joxi.ru/L21jknOcMk6nAX
I think, with these options, there should be groupings of tags, and should be added prefixes for  transform.
Get this:
http://joxi.ru/Vm6bNq1ipNDVmZ

You need 2.4.0, not 2.3.4, to use clean-css 4, see: https://github.com/scniro/gulp-clean-css/blob/master/CHANGELOG.md#240-02052017

Yes, yesterday updated. The package I recently updated.
http://joxi.ru/nAyXyEgTzqPk2Z
But, again, strange works or something I don't understand.
For example, put, level: 2.
http://joxi.ru/L21jknOcMkbxAX
And get only file without formatting.
http://joxi.ru/12MQwGoSzyBE2J
Though like, it needs to combine the same properties (height:100%)?

Hmmm, I probably need to give it a try locally. Let me find some gulp project.
Btw, it's interesting that gulp-clean-css depends on clean-css 4.0 while its other dependency, gulp-pug, depends on clean-css 3.4.

Posted here: https://github.com/alosev/testpack.git
Deleted all superfluous, leaving only gulp-clean-css.
Have pug, apparently, have not been updated some of the dependencies.

I began to dig in the source code and saw that for the unification of rules is responsible restructureRules, and it defaults to false.
Thank You for your help! Overall, the problem was solved.

Glad you figured it out! 👍
Yes, 4.0 disabled rule restructuring, however it should be fairly safe to turn it back on.


Add SqlTransformer

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (f550a66) to head (6f2c059).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #81   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           30        31    +1
  Lines          650       672   +22
  Branches        27        27
=========================================
+ Hits           650       672   +22

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Flutter

Is this library compatible with Flutter ?
I get some messages when starting
[ERROR:../../lib/tonic/logging/dart_error.cc(16)] 'package:initialize/src/mirror_loader.dart': error: line 7 pos 1: import of dart:mirrors with --enable-mirrors=false import 'dart:mirrors';

You would need to run through pub serve first - I don't know too much about flutter so I don't know if it supports running transformers?

I don't know dart enough I'm a beginner but I would love to see this package available.
Thx @jakemac53

I would suggest asking about pub serve on the Flutter gitter channel, https://gitter.im/flutter/flutter.

dart:mirrors and pub serve is not supported in Flutter.

This package could be updated to work with package:build, but it would have to be a breaking change as it would have to entirely remove the mirrors support.
We can leave this open for now though and I might do that in the future.


THREESCALE-11535 add arm support

Adding arm support to CSV: https://issues.redhat.com/browse/THREESCALE-11535
Verification - just PR tests

/lgtm

/lgtm

Nice!
I guess we need this on 3scale-2.15-stable as well, right ?


Custom dialogue boxes with oua

Describe your problem here.
How can you create custom dialogue box sprites with in scripting lua? Shadow mario did said it's possible with lua,so it's definitely possible
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

replace  the box image

look at the code of this mod it brings its own dialog box, exactly the Lua 'handlerTextBox' from the custom_events folder.
"I didn't understand much of the code"
https://gamebanana.com/mods/345103


Floating point precision problem

Describe the bug
When adding maximum privacy expenditure of each query, it may encounter floating point precision problem. This will make it impossible to exhaust the privacy budget.
To Reproduce
m_rr = dp.m.make_randomized_response_bool(prob=0.55)

m_sc = dp.c.make_sequential_composition(
    input_domain=m_rr.input_domain,
    input_metric=m_rr.input_metric,
    output_measure=m_rr.output_measure,
    d_in=1,
    d_mids=[1.0, 1.0],
)
qbl = m_sc(True)
print("Randomized Response1:", qbl(m_rr))

m_sc_sub = dp.c.make_sequential_composition(
    input_domain=m_sc.input_domain,
    input_metric=m_sc.input_metric,
    output_measure=m_sc.output_measure,
    d_in=1,
    d_mids=[0.1, 0.9],
)
qbl_sub = qbl(m_sc_sub)
print("Randomized Response2:", qbl_sub(m_rr))
print("Randomized Response2:", qbl_sub(m_rr))

Get error:
OpenDPException:
  FailedFunction("insufficient budget for query: 1.0000000000000002 > 1.0")

Environment: Python 3.9.0 + OpenDP 0.11.1

Hi! Congratulations on your wedding! 🎉🎊
Thank you for the detailed explanation and for modifying my script to handle this problem. I really appreciate it, and the solution works perfectly!


FocalNet onnx conversion

Hi,
I am trying to convert FocalNet model to onnx using mmdeploy. However, I am running into an error due to size mismatch.
Config being used: cascade_mask_rcnn_focalnet_tiny_patch4_mstrain_480-800_adamw_3x_coco_lrf.py
Weights: focalnet_tiny_lrf_cascade_maskrcnn_3x.pth
The error I am encountering:
File "/DATA/scratch/FocalNet-MMDetection/tools/mmdeploy/mmdeploy/codebase/mmdet/models/roi_heads/cascade_roi_head.py", line 66, in cascade_roi_head__simple_test
bbox_pred = bbox_pred.reshape(batch_size, num_proposals_per_img, 4)
RuntimeError: shape '[1, 1000, 4]' is invalid for input of size 8000
Can you please point out what could be the reason for this error?

Yes, I was able to run the inference code successfully on this ckpt file.

Interesting, probably you need to debug a bit, because it seems that your bbox_pred does not match the reshape size, are you using batch size 1 or 2?

I'm using batch size as 1

a bit weird then you might want to debug with some breakpoints, maybe caused by different versions of mmdet?

Which mmdet version do you suggest?


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


"RJW" Unity crash with 1.1.14

Describe the bug
After a few seconds up to a minute of being ingame, a Unity crash window appears and closes the game.
To Reproduce
Steps to reproduce the behavior:

Install the mods from the following Modlist (a 7zip containing local mods can be found at http://www.mediafire.com/file/ztp5hpe7oypys5v/Mods.7z for ease of use)
Start a new save or load an existing one (Current savefile used : http://www.mediafire.com/file/an47kkciw0kshzl/United_Flesh_Cult_Fixed.rws/file )
Play normally (usually for a few seconds to 1 or 2 minutes)
See Unity crash window close the game.

Error Log
Link to contents of Player.log or Error.log (Please use something like gist or pastebin. DO NOT PASTE HERE)
Error.log : https://pastebin.com/h4dePwP7
Player.log : https://gist.github.com/Magichp/06e0d008155ca4c6970cdbcdea759062
Mod List
Paste contents of ModList used when bug occurred.
https://pastebin.com/efzGQvy2
Rimpy Exported ModOrder for ease of use : http://www.mediafire.com/file/p882g3bltiln90h/RimpyModlist.xml/file
Screenshots
If applicable, add screenshots to help explain your problem.

Looks like problem with Rimworld-Animations. This will likely get fixed in a future release. Thanks for the bug report!

issue was fixed on 2.2.19 preview.


Adds path argument

Adds the path argument to the CLI so that biscuit <path> would start the editor and open said directory.

@moonlander101 Simply adding the click argument won't work in this case, this will shadow the subcommands like biscuit clone biscuit diff biscuit ext (breaks rest of the CLI except opening folder)
There are several approaches to have both running without conflict.
First of all let's check the current output when we run biscuit . (or any path)
$ biscuit .
Usage: biscuit [OPTIONS] COMMAND [ARGS]...

Error: No such command '.'.

Define a custom Group class to use, override it's main method to handle fail exceptions thrown
Use this to parse the arguments as path and open it in an app instance

@moonlander101 here are the final changes made

Added BiscuitCLI custom Group class and used that for the cli group cls=BiscuitCLI
Overrided main method to catch exception
If exception is caught, use the path to open new Biscuit instance

Accessing the path argument can be done in many ways
In following code resolve_command method of click.Group is overriden

stores the make_str(args[0]) as a class member, now accessible anywhere in class
also suppresses the failure messages shown by click by default when subcommand is not found

from click.parser import split_opt
from click.utils import make_str
...

class BiscuitCLI(click.Group):
    path = ""

    def main(self, *args, **kwargs):
        try:
            return super(BiscuitCLI, self).main(*args, **kwargs)
        except Exception:
            path = self.path

            if path:
                path = Path(self.path).resolve()
                path.mkdir(exist_ok=True)

            appdir = Path(__file__).resolve().parent
            app = get_app_instance(appdir, open_path=str(path))
            app.run()

    def resolve_command(self, ctx, args):
        cmd_name = make_str(args[0])
        original_cmd_name = cmd_name

        cmd = self.get_command(ctx, cmd_name)
        if cmd is None and ctx.token_normalize_func is not None:
            cmd_name = ctx.token_normalize_func(cmd_name)
            cmd = self.get_command(ctx, cmd_name)

        if cmd is None and not ctx.resilient_parsing:
            if split_opt(cmd_name)[0]:
                self.parse_args(ctx, ctx.args)

            # ctx.fail(_("No such command {name!r}.").format(name=original_cmd_name))
            self.path = original_cmd_name

        return cmd_name if cmd else None, cmd, args[1:]

@click.group(cls=BiscuitCLI, invoke_without_command=True)
def cli(): ...


more practice 1

404: Not Found

? What is 404: Not found in response to? Can you update the issue title?


opt-out of using open

opt-out of using open
implement own links opening function. currently the package relies on open. implement a function to open links in the default browser of a machine.

issue has been resolved.


C++ or Swift component uses prebuilt binaries for a C++ library

Add support for consuming a C++ library that is not built by Gradle's native plugins. There are two use cases:

The library is installed somewhere on the machine.
The library is built by the Gradle build. For example, by a task that calls out to another build system or a custom plugin that drives the compiler itself.

When such a library is added as a dependency of the main C++ component, it should also be made visible to the unit test component.
Both main and test components should be able to consume such a library. The headers and symbols for the library should be available in Xcode.
The consuming component may be implemented using Swift or C++.
Should support prebuilt header-only and runtime only libraries if these are also supported by the native plugins.

I could certainly use support for locating prebuilt Boost installations.
In addition to the header-only Boost libraries, my project also uses some Boost libraries that require compilation. CMake comes with a module named FindBoost. You tell it what version and what kind of build you need (static or dynamic libs, static or dynamic C++ runtime, single-threaded or multi-threaded...). The plugin then automatically finds a matching local Boost installation (by looking at BOOST_ROOT etc.). Within that installation, it finds the library files that match the specified configuration.
It would be great if Gradle had a similar mechanism. Something that not only automatically finds the correct local Boost installation, but also uses the libraries with the correct configuration.


Error in converting Curl Command to Node.js

I have entered the following command and for converting it to node.js get the error

Error parsing curl command.

curl -X POST -H "Content-Type: application/json" http://<IP_ADDRESS>:9000/sulekha/postprocessing -d  '{   "needName" : "Maid Services",   "commentID" :"1234",   "comment": "Through this agency, I have got a good service." }'

Hi @vijay1anand
Where are you trying it? Can you explain the steps you are following to get the error?
I just tried cloning the repository, installing it from the npm modules and from the demo web site(https://curl.trillworks.com/) and it is working as expected with these 3 methods.

Now it's working fine.


lv

Language requested:
[e.g. German]
Status values:

Sleeping: { status: { hrDeviceStatus: 2, status1: " Sleeping... " ...
Ready: { status: { hrDeviceStatus: 2, status1: " Ready " ...
Warming up: { status: { hrDeviceStatus: 2, status1: "Warming up" ...
Printing: { status: { hrDeviceStatus: 2, status1: "Printing..." ...
...

(whichever you have identified with your printer)
How-To
Access http://your-printer-ip/sws/app/information/home/home.json via wget or a webbrowser.
You can dump the result here, but the important part is status:status1 like in the below example:
{ status: { hrDeviceStatus: 2, status1: " Sparbetrieb... ", ...

Closing this as it seems to have been created accidentally


suppress DeprecationWarning -- using request.get_json() instead of request.json

Fixes # .
When using  connexion, deprecation warning messages are showed, such as bellow.
/home/me/venv/lib/python3.5/site-packages/werkzeug/local.py:343: DeprecationWarning: json is deprecated.  Use get_json() instead.

This is noisy, little bit.

This change could break other Frameworks besides Flask, because ConnexionRequest includes a json property. Maybe it's time to wrap the Flask request

oh, I thought this is tiny change, but need to decision for architecture.
If so, closing this PR and creating issue is better?

This PR can be closed, we actually use get_json, look here: https://github.com/zalando/connexion/blob/63abcad51203321fbc81d2e9d93c40b6a673bcca/connexion/apis/flask_api.py#L247
Maybe there is another place where it is called again?


Cleanup of JAX-RS JSON binding

The JacksonJsonProvider is used to JSON-serialize the Swagger object returned by the ApiListingResource. But it's registered as a JAX-RS Provider for all application/json media types. This leads to various issues, the strangest of which that we had application/json media types serialized by fasterxml-Jackson, while vendor type json media types where serialized by codehaus-Jackson.
To fix these issues I suggest to not register a JAX-RS Provider at all, but simply return the converted json string directly from ApiListingResource, which is analogous to the conversion to yaml done in the same class.
I've been looking for related issues, and there are some that might be fixed with this as well, but I'm not sure.
BTW: I wonder what the class io.swagger.jackson.SwaggerModule is used for. Looks like dead code to me.

io.swagger.jackson.SwaggerModule looks like the anonymous class in AbstractModelConverter.

The JacksonJsonProvider is provided for backwards compatibility for some cases when migrating from 1.3.X. It is not intended to be used directly anymore and nowhere in the docs is it suggested to use it. Not sure if removing it is the right step right now.

In what regard is the JacksonJsonProvider required for backward compatibility? There are no tests for that :-)

Some projects that used 1.3 had to use it. It just makes the transition smoother without having to remove it.

I fully appreciate the desire to stay backward compatible. Just how exactly is the JacksonJsonProvider required for that?

I pretty much explained it already. We provided it, people used it. Some people depend on it, don't want to remove it. There's no harm in it being there.

There's no harm in it being there.

Maybe I'm missing something, but we've experienced a lot of issues due to the fact that swagger-core registers JacksonJsonProvider  as the provider for application/json. We need a different Jackson configuration for the serialization to work. It would have been okay, if swagger would define a vendor specific media type like application/vnd.swagger+json, but now it just breaks our apps.

Something is being misunderstood I think.
The swagger POJOs are serialized by io.swagger.jaxrs.listing.SwaggerSerializers.  These are necessary to ensure the right serializers are configured for parameters, models, etc., and that nulls aren't written.  This @Provider will only try to write entities of class io.swagger.models.Swagger.
You don't need to use JacksonJsonProvider unless you want to.  It's strictly for convenience.  If you don't want it, please make sure it's not in your scanning path.

If you don't want it, please make sure it's not in your scanning path.

How can I exclude JacksonJsonProvider from being scanned, if I include the swagger-jaxrs jar in my Java EE app? This was the path I was heading before I started to create this PR, but the scanning is done automatically, I'm not in a Dropwizard ;-)

How are you configuring jersey?

I'm not configuring Jersey ;-) I'm in a Java EE 6 container (namely JBoss 7), which ServiceLoader-scans for MessageBodyReaders/Writers, finding Jackson bound to */*, and the Swagger-JacksonJsonProvider bound to application/json. This results in various strange behaviors: E.g., if a client passes a vendor type, it uses the correct one, and if a client passes application/json, it uses the Swagger binding, which does not work correctly for all types, as this one doesn't, e.g., ServiceLoader-scan the modules.

It's a fair use case where automatic scanning is done (and classloading priorities and all that). Perhaps we should consider dropping it and mention something in the migration guide. Now matter how we planned it, moving from 1.3 to 1.5 requires some extra work.

OK got it.  To be honest, every JAX-RS framework I've dealt with has some control over what is scanned.  Can you include specific property packages or classes to scan, @t1?

Can you include specific property packages or classes to scan?

Not that I'm aware of, no. But I don't see the use-case, either. If something is annotated as @Provider, it is supposed to be found. You just have to be careful to just annotate things that work in the way they are supposed to work, and this JacksonJsonProvider doesn't handle application/json in general. Maybe we should not remove the JacksonJsonProvider but merely the @Provider annotation? Should still work when registering manually somewhere, shouldn't it? I'd then also rename it to SwaggerJsonProvider, so the name reflects the function.
BTW: The SwaggerModule looks like a duplicate of the anonymous inner class in the constructor of AbstractModelConverter.

@t1 - I can actually think of a few reasons why @Provider shouldn't always be scanned automatically, and the simple fact is that most (if not all) JAX-RS frameworks let you choose whether to scan everything, scan specific packages or pick specific classes to load. That said, there's definitely a problem with your use case. I imagine there's a way to exclude a resource, but that defeats the purpose of zero-config, doesn't it? Renaming the provider is not an option as again, it breaks the original intent. It's either keep or remove entirely.

@t1 were you able to look into including/excluding classes or packages?

We could switch to manual configuration, but automatic scanning saves us a lot of work, and hasn't caused a lot trouble before.
I guess it's just the @Provider annotation. It's intended for automatic scanning. The javadoc says:

Marks an implementation of an extension interface that should be discoverable by JAX-RS runtime during a provider scanning phase.

So this annotation should not be put on the JacksonJsonProvider if it's not intended to be auto-scanned.

OK thanks for the feedback.  Thinking through what the best way is to handle this, I'll update this issue here shortly.

@webron, on July 31st you wrote It is not intended to be used directly anymore and nowhere in the docs is it suggested to use it.
https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-Jersey-1.X-Project-Setup-1.5#package-scanning--concrete-class-selection states you have to add the package io.swagger.jaxrs.listing to the Jersey servlet configuration. I think this does suggest you should load the JacksonJsonProvider. Or am I missing something?

@rockxwre - you're right that it would load it, but it's fairly meaningless. That's actually an indirect loading as it scanned in the package, however, as you can see, it is not explicitly set.

I agree. It's implicit, however, since the JacksonJsonProvider affects all application/json media types, it does have undesired side effects in my case too: my clients are not compatible with the JSON responses any more.
So my point is, it might be a good idea to add to the documentation that the io.swagger.jaxrs.json package is optional to scan and it's used for backward compatibility.


SCL validation does not work correctly when re-opening an SCD file

Whilst trying to fix some validation errors introduced by an SEL-2440 ICD upgrade, I found that the validation did not work correctly when reloading the same file after making changes in an external editor. e.g. I can fix the errors in some text editor, select 'Open Project' in OpenSCD and then the 'Validating' option. The same validation errors are present as before. If I open a separate SCD and then open the fixed SCD, the 'Validating' option works correctly. Perhaps some buffer is not being cleared when the same file is opened? Note that I am not updating the history section of the file when I make the correction, in case that makes a difference.
Workaround:
I am now in the habit of reloading a separate SCD file before reloading the project file as some editors don't seem to behave correctly when reloading the same file consecutively.

I think that this may be the same concern as this issue: https://github.com/openscd/open-scd-core/issues/92
I believe this may be fixed this in a development version of core that we hope to see in the not too distance future. Can you confirm @ca-d?


CSRF validation fails after backend restart

Hey, I've been using your tooling for my projects
After a successful CSRF token set in cookies, if I refresh my server, the CSRF gets invalid. This would cause issues in production environments. Are there any solutions to this problem or am I missing something?

Went deep into the implementations. It seems that tokens are identical.

However, the serializer fails to validate the signature. (I commented out try/except to see the error)

Going to look further into it 🧐

Turned out, that I had a random token generation in my settings secrets.token_urlsafe(32) and because of this every time I restarted the server, the token changed. Due to the changed value, the cryptographic algorithm failed to validate tokens generated with the old token value.
Added note in README and made a pull request - #17


Dictionary doc proposal

@charleso @raronson You guys might be interested in this.

Looks interesting :+1:

will the output dictionary be more or less the same...?

@tranma there might not be a need to distinguish between virtual and normal features in the output dictionary, and it will have to be readable by R, so it might be more convenient for the output dictionary to  be a similarly structured JSON document, but looks like it has to be discussed

There is an R toml library, so potentially something similar could be used.

:+1: a cli test or something would be good though

I think I have to close this PR and reopen it onto the conversion branch.

I just merged this into topic/conversion

OK if I delete this branch? I guess I could have deleted it since I merged it, but I didn't want to step on toes


rsvm.sh should be loaded from within ~/.bashrc

After some confusion as to why rsvm was not loading when launching a terminal and finding this Ask Ubuntu question, I think that the line
[[ -s "$RSVM_TARGET/rsvm.sh" ]] && . "$RSVM_TARGET/rsvm.sh"  # This loads RSVM

should be placed in ~/.bashrc by default

Want to provide a PR?

Still appending to .zshrc on my system from master.

Appending to .zshrc for me as well.


404 when browser tag tree

Gitea version (or commit ref): 8aadf79
Git version:
Operating system:
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes https://try.gitea.io/zhsj-pkg/packer/src/upstream/1.0.2+dfsg
[ ] No
[ ] Not relevant

Log gist:

Description
I can't browser the git tree, maybe caused by the tag contains slash?

I believe the problem is that this repo also has a branch named upstream. When the RepoRef(..) handler sees src/upstream/1.0.2+dfsg, it thinks you're asking for the 1.0.2+dfsg tree-path in the upstream branch.
Working on a fix

I think we'll need to change our URL schemes, for the following reason:
Suppose I have a repo with a file foo, a branch bar, and a tag bar/foo. If I request .../src/bar/foo there is no way to tell whether I want to view the foo file on branch bar, or I if want to view the root directory for tag bar/foo.


Update to latest BASED version

PR reverts many super deck breaker commits, after erroneous PR #40 (reverted #41)
https://github.com/Trimatix/BASED/pull/41


Some file names do not work

Some file names do not seem to work and no target setting picture is shown.
E.g. Photo%20Juni%2025%2C%2010%2046%2039.jpeg
Might be related to spaces.
Daniel

Thanks for reporting. I will have a look at this.

I found the problem. There will be a fix soon – maybe today 😉


Ui fixes cloudstack upstream 20160124

This is a back port from the recent UI fixes in Apache CloudStack:
7ad0d47 Merge pull request #1362 from remibergsma/ui-name-layout
02ca92e Merge pull request #1354 from resmo/fix/ui-div-filter-width
8361595 Merge pull request #1334 from nitin-maharana/CloudStack-Nitin17_4.7
c14183b Merge pull request #1337 from nitin-maharana/CloudStack-Nitin20_4.7
c99f57f Merge pull request #1340 from nitin-maharana/CloudStack-Nitin23_4.7

LGTM :+1:
@wilderrodrigues @miguelaferreira @michaelandersen

UI changes already merged on ACS 4.7/Master and about to be released. Okay to get it.
Will merge.
Cheers,
Wilder


feat: Add <>/<>/<>/json endpoint

Adds minimal support for the JSON API. This saves sub-requests when Renovate queries for package versions.

closes: #8


Add Timeout Option for linux based notifications (libnotify/dbus)

Added notification timeout / duration support, if not specified, the chosen backend uses it's default value

I realized that the command options don't actually work, fixing this then reopening


No module named 'umap.parametric_umap'

Hi, when trying to use parametric UMAP I get the following error:
ModuleNotFoundError: No module named 'umap.parametric_umap'
I installed TensorFlow, and when I run pip install umap-learn[parametric_umap] I get the following:
Requirement already satisfied: umap-learn[parametric_umap] in /home/users/r******/anaconda3/envs/tf-gpu/lib/python3.8/site-packages (0.4.6)
Followed by some other output about the requirements already installed. Any ideas what might be wrong here?

You won't find the parametric_umap.py file in that site-packages folder. I had to download the Github code and move it into that location, then I renamed the pycache and then reran the calling script. It loads
import umap
from umap.parametric_umap import ParametricUMAP, load_ParametricUMAP
perfectly fine but I had trouble with actually running the example Jupyter notebook (see an issue I opened a few days ago). Not sure it's ready for public consumption yet.
Hope this helps.

What resolved this issue? I'm having the same problem.


Need to select with models are logged

I'm finding that for some models, fsm-log is adequate, for others, it's not; because some other metadata needs to be recorded along with the state change.
Maybe we could introduce a setting, and/or model mixin, to indicate which models should/shouldn't be logged?

fixed in https://github.com/gizmag/django-fsm-log/pull/31


datastore should make transaction retries easier

At the moment, doing transactions correctly is much harder in this API than in the equivalent App Engine package because there's no support provided by the package for retries, correct rollback logic, etc.

Fixed in commit 2bec3f8f.


Dialog "Open From Close To"

Bug, feature request, or proposal:
Feature request for Dialog
What is the expected behavior?
expected behavior to open from clicked button and close to it or any customized elements are enabled to open The Dialog
What is the current behavior?
current behavior open from the center
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, browsers are affected?
Is there anything else we should know?
Can See example angular material 1 dialog demo

Dialog animations are waiting for https://github.com/angular/angular/issues/9668 to be finished so we can dynamically open and close the dialog to places :)

Closing this into #2665


Add wiki

Add wiki page with information about settings, etc.

Won't do it. Added GitHub pages and readme instead.


Differing behaviour of serializer.serialize_bool() when using #[serde(serialize_with = "...")]

I have an enum which I am serializing using serde and serde_json so that some of the variants are of String type, and others are bool:
enum Filter {
    Text,
    True,
}

I can manually implement Serialize like this, which works for my use case:
impl Serialize for Filter {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        match *self {
            Self::Text => serializer.serialize_str("text"),
            Self::True => serializer.serialize_bool(true),
        }
    }
}

However, I have lots of these sorts of enums and I don't want to pay the cost of manually serializing all of the String cases every time I want one or two variants to be bool. So, I can up with this:
#[derive(Serialize)]
#[serde(rename_all = "lowercase")]
pub enum Filter {
    Text,
    #[serde(serialize_with = "serialize_true")]
    True,
}

fn serialize_true<S>(serializer: S) -> Result<S::Ok, S::Error>
where
    S: Serializer,
{
    serializer.serialize_bool(true)
}

The problem now is that Filter::True serializes (in json) to Object({"true": true}), whereas with the manual impl, it serializes to just a plain true.
I tried adding #[serde(untagged)] to the enum, but whilst that fixes the boolcase, theStringcases now get serialized tonull`!
Is this expected behaviour that calling serializer.serialize_bool() has a different output when called from a serialize_with context versus a manual impl context?
If this is better in the serde_json issue tracker, let me know...

The problem now is that Filter::True serializes (in json) to Object({"true": true}), whereas with the manual impl, it serializes to just a plain true.

This is intentional, because the default enum representation is "externally tagged" (https://serde.rs/enum-representations.html):

Filter::Text => {"Text": null}
Filter::True => {"True": true}

Serde seems to special case when the inner data is null, and writes just the variant name, which is the reason you saw "Text" instead of {"Text": null}.

I tried adding #[serde(untagged)] to the enum, but whilst that fixes the boolcase, theStringcases now get serialized tonull`!

This is also intentional, because #[serde(untagged)] just writes the inner data of the enum variant, and that is null and true respectively.

What you want is to set the tag of Filter::True to true and leave the other tags to their default values:
#[derive(Serialize)]
#[serde(rename_all = "lowercase")]
enum Filter {
    Text,
    #[serde(rename = true)]
    True,
}

You can currently only rename enum variants to strings, not to other data types. This is a missing feature in serde-derive and should be implemented. PRs to add support for non-string enum tags already exist for adjacently- and internally-tagged enums (#2056), but not for externally tagged enums
As a workaround, you can create a macro that generates your enum and its Serialize impl


Set properties on unit tests

Slave machines used in automated testing get wildly oversubscribed, especially when allowing a number of concurrent builds >1

[ ] Consider specifying how many processors a given unit test require
[ ] Must act on MPI unit tests that have OpenMPI enabled (set OMP_NUM_THREADS environment variable and specify the number of MPI processes instead of using MPIEXEC_MAX_NUMPROCS)

Since #296 this hasn't been an issue, and there are no plans to act on this. Closing.


Enable CORS so safeApp manifest can be read by Gnosis App

The following files were added to enable CORS when using a SafeApp for development & production:
To enable CORS In development mode

packages/react-app/src/setupProxy.js

To enable CORS when deploying to Surge:

packages/react-app/public/CORS

@santteegt can you create a new PR for this to master?


Knc issue

Hi,
I still have an issue while setting up aquilon :
[root@aqd ~]# aq.py status
Error: BadStatusLine("''",): knc[6149]: gstd_initiate: continuation failed

Error log :
[root@aqd ~]# tailf /var/log/aquilon/aqd.log

2015-10-14 12:47:31+0200 [-] Starting aqd version Unknown
2015-10-14 12:47:31+0200 [-] KNCSite starting on '/var/quattor/run/sockets/kncsock'
2015-10-14 12:47:31+0200 [-] Starting factory <aquilon.worker.knc_protocol.KNCSite instance at 0x57413f8>
2015-10-14 12:47:31+0200 [-] AQDSite starting on 6901
2015-10-14 12:47:31+0200 [-] Starting factory <aquilon.worker.base_protocol.AQDSite instance at 0x489eef0>
2015-10-14 12:47:44+0200 [-] [knc] /usr/local/bin/knc[6408]: gstd_error: gss_accept_sec_context: Key table entry not found
2015-10-14 12:47:44+0200 [-] [knc] /usr/local/bin/knc[6408]: do_work: handshake with peer failed

I added the aqd service in freeIPA and I think everythink is setup :
[root@aqd ~]# klist
Ticket cache: KEYRING:persistent:0:0
Default principal<EMAIL_ADDRESS>
Valid starting       Expires              Service principal
10/13/2015 16:51:10  10/14/2015 16:44:56<EMAIL_ADDRESS>10/13/2015 16:47:18  10/14/2015 16:44:56<EMAIL_ADDRESS>10/13/2015 16:44:58  10/14/2015 16:44:56<EMAIL_ADDRESS>
[root@aqd ~]# klist -t -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   2 10/13/2015 16:47:18<EMAIL_ADDRESS>   2 10/13/2015 16:47:18<EMAIL_ADDRESS>   2 10/13/2015 16:47:18<EMAIL_ADDRESS>   2 10/13/2015 16:47:18<EMAIL_ADDRESS>   4 10/13/2015 16:56:34<EMAIL_ADDRESS>   4 10/13/2015 16:56:34<EMAIL_ADDRESS>   4 10/13/2015 16:56:34<EMAIL_ADDRESS>   4 10/13/2015 16:56:34<EMAIL_ADDRESS>   3 10/14/2015 12:41:35<EMAIL_ADDRESS>   3 10/14/2015 12:41:35<EMAIL_ADDRESS>   3 10/14/2015 12:41:35<EMAIL_ADDRESS>   3 10/14/2015 12:41:35<EMAIL_ADDRESS>
I'm stuck, so if someone could help, that would be great !

What version of knc is installed?

Also, is your broker config pointing knc at your keytab?

It is knc-1.7.1-1.x86_64 (the one you provided at the workshop)
And yes :
[broker]
keytab=/etc/krb5.keytab

Ok, try:
export AQSERVICE="aqd"
aq.py status

I did it. If I put something else, I got another error. Is there a way to test the keytab for aquilon ?

Up ?

Sorry, I don't understand.
Did exporting AQSERVICE work?

Nope, I was already exporting this. But still not working.

Ooh, hang on, you're running the client as root?
You should be using a different (non-privileged) user which has it's own kerberos credentials acquired with kinit.

I assume that aq.py status --noauth works fine...

Yes it works with --noauth
[root@aqd ~]# aq.py status --noauth
Aquilon Broker Unknown
Server: aqd.wn.iihe.ac.be
Database: postgresql+psycopg2://aquilon:PASSWORD@localhost/
Sandboxes: /var/lib/templates

Ok, use FreeIPA to create a new user and give it a password, then try from there.

Hi, I tried, same issue, another idea ?
-bash-4.2$ export AQSERVICE=aqd
-bash-4.2$ aq.py status
Error: BadStatusLine("''",): knc[27373]: gstd_initiate: continuation failed
-bash-4.2$ klist
Ticket cache: KEYRING:persistent:20879:krb_ccache_tIDeFyA
Default principal<EMAIL_ADDRESS>
Valid starting       Expires              Service principal
10/19/2015 14:31:26  10/20/2015 14:31:02<EMAIL_ADDRESS>10/19/2015 14:31:04  10/20/2015 14:31:02<EMAIL_ADDRESS>-bash-4.2$ id
uid=20879(samary) gid=20500(localusers) groups=20500(localusers),1904600000(admins) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Nope, looks largely like it is working, at least the kerberos part of it...

Maybe this is something else propagating through...
Edit /etc/aqd.conf and try setting:
[broker]
version = MyFirstVersion

It doesn't work either.
But I found something interesting.
If I launch aquilon daemon as root :
[root@aqd ~]# aqd.py aqd

Then it seems to work :
[samary@aqd ~]$ aq.py status
Aquilon Broker MyFirstVersion
Server: aqd.wn.iihe.ac.be
Database: postgresql+psycopg2://aquilon:PASSWORD@localhost/
Sandboxes: /var/lib/templates
Connected as<EMAIL_ADDRESS>[nobody]

This might be related to the aquilon user permissions/properties ?

Certainly seems that way, is there nothing useful in /var/log/aqd.log?

Sat down with @samary at the 21st workshop, the permissions on the keytab wouldn't let the aquilon user read it (which is who knc starts as), chowning it to the aquilon group and adding group read permissions fixed the issue.


The sudo make install step fails when using --prefix

The installation does not actually fail (the files are copied), but we get a nasty error message from easy_install... maybe set PYTHONPATH prior to invoking it? If someone is using --prefix, they probably know what they are doing.
artem@nessie:/store/artem/git/remill$ scripts/build.sh --prefix /store/artem/local
... lots of output ...
artem@nessie:/store/artem/git/remill/remill-build$ sudo make install
[  1%] Built target ext_clang
[ 21%] Built target remill
[ 23%] Built target ext_llvmlink
[ 28%] Built target amd64
[ 32%] Built target x86_avx
[ 37%] Built target x86_avx512
[ 42%] Built target x86
[ 46%] Built target amd64_avx
[ 51%] Built target amd64_avx512
[ 54%] Built target aarch64
[ 56%] Built target protobuf_python_module_binja
[ 56%] Built target semantics
[ 57%] Built target protobuf_python_module_ida
[ 82%] Built target mcsema-lift-4.0
[ 85%] Built target mcsema-print-runtime-amd64
[ 90%] Built target mcsema_rt64-4.0
[ 93%] Built target mcsema-print-runtime-x86
[100%] Built target mcsema_rt32-4.0
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Up-to-date: /store/artem/local/bin/remill-clang-4.0
-- Up-to-date: /store/artem/local/bin/remill-llvm-link-4.0
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/x86.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/x86_avx.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/x86_avx512.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/amd64.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/amd64_avx.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/amd64_avx512.bc
-- Up-to-date: /store/artem/local/share/remill/4.0/semantics/aarch64.bc
-- Up-to-date: /store/artem/local/bin/mcsema-lift-4.0
running install
Checking .pth file support in /store/artem/local/lib/python2.7/site-packages/
/usr/bin/python -E -c pass
TEST FAILED: /store/artem/local/lib/python2.7/site-packages/ does NOT support .pth files
error: bad install directory or PYTHONPATH

You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from.  The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /store/artem/local/lib/python2.7/site-packages/

and your PYTHONPATH environment variable currently contains:

    ''

Here are some of your options for correcting the problem:

* You can choose a different installation directory, i.e., one that is
  on PYTHONPATH or supports .pth files

* You can add the installation directory to the PYTHONPATH environment
  variable.  (It must then also be on PYTHONPATH whenever you run
  Python and want to use the package(s) you are installing.)

* You can set up the installation directory to support ".pth" files by
  using one of the approaches described here:

  https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations

Please make the appropriate changes for your system and try again.
-- Up-to-date: /store/artem/local/lib/libmcsema_rt32-4.0.a
-- Up-to-date: /store/artem/local/lib/libmcsema_rt64-4.0.a
artem@nessie:/store/artem/git/remill/remill-build$

Update: does not copy all the files, none of mcsema-disass make it there.

Suggestion: install into a python virtualenv. It will result in fewer python headaches and you wont need sudo to install.


Origin/jens/howitworkstokenomicsedits

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ ] You have updated the .github/CODEOWNERS file according to your changes.
[ ] You have registered new documents to /sidebars.js if any.

@bjoernek @LaraAS


Explore different ways to dynamically populate the Client class

In #31, we introduced some metaprogramming to split the Client class into modules by endpoint. As raised in #32, using inspect may not be the best way to do this.

Some other points:

Any way you program this is going to make tooling difficults (pydoc, sphinx, anything that does static analysis)
It's going to be harder for maintainers and consumers to understand than normal attribute access

I think you could get a similar interface with way less magic by doing something simple like:
class Client(object):
    def __init__(...):
        self.business = Business(self)
        self.phone = Phone(self)
        # etc.

# Which would get used like
client = Client(...)
business = client.business.get_by_id(...)

I still think that's a little overkill as well.
I'd actually be happiest with an api like this  (pure functions, doesn't have circular dependency)
from yelp.endpoints import business

client = Client(...)
my_business = business.get_by_id(client, id='...')

I'd vote for less magic here.
The hard part here seems to be (user code interacts with Client) and (client interacts with Yelp server), with several endpoints in the middle.
What about splitting the "Client" class into ThingYouUseDirectly and ThingThatTalksToYelp?
(Naming could be perhaps "Client" and "LowLevelClient")


AppVeyor build is failing

The AppVeyor build has been failing since https://github.com/FormidableLabs/radium/commit/c4e8e8388c8732cd3638915c4981649cdf45ea53.
First failing build: https://ci.appveyor.com/project/ryan-roemer/radium/build/1.0.617
Build history: https://ci.appveyor.com/project/ryan-roemer/radium/history
Let's fix it, and add a badge to the README.

Looks like something to do with the prefixer on IE9.
On Fri, Jan 8, 2016 at 3:06 PM Per Nilsson<EMAIL_ADDRESS>wrote:

The AppVeyor build has been failing since c4e8e83
https://github.com/FormidableLabs/radium/commit/c4e8e8388c8732cd3638915c4981649cdf45ea53.
First failing build:
https://ci.appveyor.com/project/ryan-roemer/radium/build/1.0.617
Build history: https://ci.appveyor.com/project/ryan-roemer/radium/history
Let's fix it!
—
Reply to this email directly or view it on GitHub
https://github.com/FormidableLabs/radium/issues/506.

This is a great ticket for somebody to pick up. It's causing false negatives for the greenkeeper.io PRs.


Document Crate's Features & Storage Details

Crate looks extremely exciting! While evaluating it, and I'm sure others too, there is little information provided on some of the following:

ACID Properties
Consistency Guarantees (How is replication done…)
Transactional Support (If any…)
Storage Durability (In what scenarios could data loss occur due…)
Index Types (Geo, Full Text, Composite etc…)

I've tried to find any of the above through the web docs or the Github repo but have not found much other than Full Text support.

this information can be found in the latest documentation: https://crate.io/docs/en/latest/storage_consistency.html (will be in the stable section as soon as 0.46 is stable)


CloudWatch QueryDefinitions

Hey there,
Any change of supporting CloudWatch QueryDefinitions ?
awsets is awesome :D
Thanks!

Hey! Glad you find it useful! I'm currently having to rewrite a good chunk of things due to some rather massive changes in the AWS SDK, but will add support for QueryDefinitions in the next release which should be out in the next few days.

Awesome, thanks!


Add endpoint telemetry label

Ref: https://github.com/istio/istio/issues/25185, https://github.com/istio/istio/issues/20538
This will only be enabled when telemetry is enabled, and the enablement will be added in the following PR. Also removes UID from IsitoEndpoint since it is  not used anywhere.
Design doc: https://docs.google.com/document/d/1Pt_ytbIZlNmeg2MqaI2IXCC6haP0ZvsnVP5GpRlOAfA/edit?ouid=102173040547560889502&usp=docs_home&ths=true

@bianpengyuan: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
6b244950e701586489c1e76561fbcf0322ab9f73
link
/test release-notes_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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
6b244950e701586489c1e76561fbcf0322ab9f73
link
/test release-notes_istio

unit-tests_istio
6b244950e701586489c1e76561fbcf0322ab9f73
link
/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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
6b244950e701586489c1e76561fbcf0322ab9f73
link
/test unit-tests_istio

release-notes_istio
3a6babdabaea79d3319f533f09e5db57e37ff95d
link
/test release-notes_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

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
6b244950e701586489c1e76561fbcf0322ab9f73
link
/test unit-tests_istio

release-notes_istio
3a6babdabaea79d3319f533f09e5db57e37ff95d
link
/test release-notes_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.

/test benchmark_istio

@bianpengyuan: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test release-notes_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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test release-notes_istio

gencheck_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test gencheck_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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test release-notes_istio

gencheck_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test gencheck_istio

lint_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/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.

@bianpengyuan: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test release-notes_istio

gencheck_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test gencheck_istio

lint_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/test lint_istio

unit-tests_istio
7942f92f96ed44b309e940c731761f9d0a5a9c91
link
/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.

@hzxuzhonghu @howardjohn Any help on reviewing this again?

/test benchmark_istio

@howardjohn This is wrapped by a feature flag. Do you want me to turn it on by default, run benchmark, and turn it off?


Contradictions in documentation about supported languages

https://github.com/conversationai/perspectiveapi/blob/master/2-api/methods.md
says

Currently, all production attributes only support English, Spanish, and French

https://github.com/conversationai/perspectiveapi/blob/master/2-api/models.md
says

Attribute name  Type      Description   Language
TOXICITY        prod      ...           en, fr, es, de, it, pt

issue https://github.com/conversationai/perspectiveapi/issues/11 is still open and there is a comment

At the moment we only have datasets in English; so we don't have any German models

https://support.perspectiveapi.com/s/article/perspective-faqs
says

Is the API available in my language?
Right now, Perspective API is only available for scoring English-language comments. Check out Languages served by Perspective API for information about other languages.

When I follow the link there's said

Currently, Perspective API has production TOXICITY and SEVERE_TOXICITY models in the following languages:

English (en)
Spanish (es)
French (fr)
German (de)
Portuguese (pt)
Italian (it)

What is the current situation with languages support for TOXICITY?

Thank you for flagging this! TOXICITY is currently supported in English (en), Spanish (es), French (fr), German (de), Portuguese (pt), and Italian (it). We will work to remove the contradictions you identified.


Mouse button

My desktop/laptop - both running Debian with KDE - pretty much standard config.
Standard tray icons activate their menu on left click but Control Center activates on right click.

Fixed in Master.

Fixed in Prod.


On silence, the mic hallucinates

The current version(bd9c18a4ce614b511216757d5962e934b56b2d09) also has a large amount of output when the microphone is silent
https://github.com/V-Sekai/godot-whisper/assets/153103332/13ce75ed-2c6f-4224-bdd7-6bc0b118caa2
I remember the previous version(three months ago?) didn't seem to have so many microphone hallucinations
https://github.com/V-Sekai/godot-whisper/assets/153103332/aad89a0c-f965-4349-9b4c-6d0233161b79
If possible, it would be best to solve this problem

That's true. In new version i decoupled the logic as much as possible, so it can be called from gdscript independently. Its true halucination is worse. I'll try look into combining iree.gd for hallucination, now that thats done. @fire ? Ideas?

People have mentioned combining silence detection with whisper as a first thought, but I am concerned about the total latency of the voice transcription.

I see. I'll look into the vad_detection logic, most likely that one when I migrated I didn't do it right. I'll look at old version and see what is different in this one.

AI based VAD is also a thing, and that was my approach for iree and whisper-jax.

The silence part maybe works, some parts in project settings:
-audio/input/transcribe/vad_treshold

audio/input/transcribe/freq_treshold
Need to be configured.

For now increasing vad_treshold to 2, as that seems to give good results in my case. Increasing it to 5 is even better in terms of silence detection.

@aiaimimi0920 , lmk if u get a chance to try it.


TypeError Message

"TypeError: message.startsWith is not a function" ... I get this message without even using the .startsWith

My code works perfectly in jsfiddle
when I try it on twitch chat it doesnt work (im making a command for a twitch bot)

Hey, can you provide more context for this issue?
Desirable:

the code causing the issue
the full error message (with stacktrace)

Please make sure not to post any credentials here

I hope I provided all the info needed

I believe this is because you pass z, a number into client.say(). This function requires you to pass a string as an argument though.
Fix:
setTimeout(function () {
  client.say("channelname", "" + z) // here z ist casted into a string first
}, delayInMilliseconds)

it worked. I will keep this in mind, that client.say requires two strings as arguments. Thank you so much for the help


:boom: Activate CRC32 header protection

This enables header part inclusion of CRC32 calculation. This is a breaking change. Please test.
This addresses and actually fixes #46.
And this #617.

With so many v1.x instances out there, I believe we should maintain the v1.0 wire protocol in libcsp when it is configured at runtime to communicate with v1.x.
Any thoughts?

We cannot implement this yet, because there was a bug up untill recently, that would prohibit the support. I belive we should keep the default to sending without header CRC for 2.1 as well, but implement it as optional runtime parameter to do or not. Then in 2.2 we change the default, but keep the optional runtime parameter for backwards capability.

Actually one could argue, that adding header crc would be version 3 of the header... But maybe that is stretching it too far?

Actually one could argue, that adding header crc would be version 3 of the header... But maybe that is stretching it too far?

I think that's reasonable. I'm not sure how

Let's not activate this for v2.1. I'm dropping it. We'll discuss how to proceed in another issue.


Replace travis-ci.org with travis-ci.com

Pull Request Test Coverage Report for Build 4246

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.687%

Totals

Change from base Build 4244:
0.0%

Covered Lines:
1126

Relevant Lines:
1163

💛  - Coveralls


[Bugfix] Fix flaky DefaultCacheStatsHolderTests

Description
Fixes flakiness in DefaultCacheStatsHolderTests.testConcurrentRemoval(). The test previously waited 1 ms after starting the removal of a set of dimensions, then added a set of dimensions back to the stats holder. If the removal took >1 ms, the adding could happen before the removal and an assertion would fail. On my machine I was sometimes able to reproduce the failure when the sleep interval was 0, confirming this was the issue.
Reworked the test to not rely on Thread.Sleep(), and also to do more concurrent removals. Re-adding the set of dimensions after the removals is not necessary. The test now passes when run 10,000 times on my machine.
Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/14301
Check List

[x] Functionality includes testing.
~- [N/A] API changes companion pull request created, if applicable.~
~- [N/A] Public documentation issue/PR created, if applicable.~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Flaky test: https://github.com/opensearch-project/OpenSearch/issues/14292


reinforceAttack issue

Hey, @coccoinomane, for some reason even if I set the strategy highestBp and reinforcement to pick to "1". I am still not getting the usual highest Bp bulks.
My max tus price is set high as well.
Not sure what is happening today.

Maybe cz of the sudden influx of crabs to the tavern, the bot is acting up?

moved to discussions sorry


Account type conflict

TypeScript Version:
2.7.2 and 2.8.0-dev.20180220

Search Terms:
type conflict name
Code
type Account = {
  identifier: string;
  scriptVersion: string;
  name: string;
};

Expected behavior:
Should let me set the type Account.
Actual behavior:
Tells me Duplicate identifier 'Account'.
I saw the type Account comes from lib.esnext.full.d.ts (or lib.dom.d.ts if you set lib: ["dom"] within tsconfig.json).
However, it's not related to any element/specification of DOM/esnext, is it?
So, shouldn't it be named more specifically in order to not conflict with other users codes (for example 'TSDomAccount')?
Also, I had set it as an interface before and it had merged the 2 interfaces with the same name automatically - which is to be expected as per Typescript specification - but does that mean I have to make sure my interfaces' names are unique?
Should we treat our types/interfaces names as CSS class names and add a hash to them? :(
I guess I'll never use interfaces anymore, only type aliases because at least I'll know whether my type is unique or not.

You can avoid name conflicts by putting your code in a module -- this happens automatically if the code contains any import or export statements. Some info is here.

Yup, if you want to avoid problems with the global scope, use modules instead.

@andy-ms @DanielRosenwasser but then I'd have to import the type/interface in every file I want to use it, wouldn't I?
Seems a bit unpractical, just like Flow.
And in any case, I really think you should rename Account to something else.
Because if you keep adding generic-named interfaces like that it might start interfering with someone else's code.

Account is part of the Web Authentication DOM APIs (though it is still experimental). if you are not interested in DOM, consider using --lib es2015 this will get you the JS standard library for es2015 without the DOM.

OK, thanks a lot for your input guys :)
We've decided 2 things here in my team:

We're not using Interfaces anymore. Type aliases make it easier to see its definition (by moving the cursor over them on vscode) and make sure we don't merge stuff unexpectedly
If we need to share some types among other files, we define them in a .d.ts file (as usual) but we set them within a declare module statement, so it's easier to import the types later and avoids any conflicts with the global scope

I'm closing this issue as it seems to be the desired behavior of TypeScript.


BTS-913: Abort startup if timezone is not configured properly. (#16593)

backport of https://github.com/arangodb/arangodb/pull/16593

unrelated errors.


security: fix CVE-2023-29405

This is a PRIVATE issue for CVE-2023-29405, tracked in http://b/280805901 and fixed by http://tg/1875094.
/cc @golang/security and @golang/release

@gopherbot please open backport issues.


Make fails on Debian 11

Super excited to try this out, but I get the following error trying to make this on a standard Debian 11 stable (Intel x86_64, kernel 5.10.0-20-amd64) machine:
cc -g -O -Wall -Wextra   -c -o src/ifgraphd.o src/ifgraphd.c
cc -o ifgraphd src/ifgraphd.o
/usr/bin/ld: src/ifgraphd.o: in function `create_shared_memory_blocks':
/home/ifgraph/ifgraph/src/ifgraphd.c:132: undefined reference to `shm_open'
/usr/bin/ld: src/ifgraphd.o: in function `unlink_shared_memory_blocks':
/home/ifgraph/ifgraph/src/ifgraphd.c:115: undefined reference to `shm_unlink'
collect2: error: ld returned 1 exit status
make: *** [Makefile:6: ifgraphd] Error 1

Same for Centos 8.
Can be made to compile by modifying the Makefile
ifgraphd: src/ifgraphd.o
$(CC) -o $@ $^ -lrt
ifgraph: src/ifgraph.o src/grapher.o
$(CC) -o $@ $^ -lrt

Sorry about that.
Please add:
-lrt to the link command in the Makefile.
On Sun, Jan 15, 2023 at 5:42 PM qsysopr1 @.***> wrote:

Same for Centos 8.
Can be made to compile by modifying the Makefile
ifgraphd: src/ifgraphd.o
$(CC) -o $@ $^ -lrt
ifgraph: src/ifgraph.o src/grapher.o
$(CC) -o $@ $^ -lrt
—
Reply to this email directly, view it on GitHub
https://github.com/stolk/ifgraph/issues/1#issuecomment-1383341393, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADPE4CWGU7ZKOQRKRSXICTWSSRRNANCNFSM6AAAAAAT4FTFJY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Owner/Director of Game Studio Abraham Stolk Inc.
Vancouver BC, Canada
@.***


Allow default values for MeasurementInitiators

Add default value to prior_state for SimpleMeasurementInitiator & MultiMeasurementInitiator

The prior state is overwritten with 0s in the function so it makes little sense to require a value for it when a StateVector and CovarianceMatrix can initalised with zeros

Slight breaking change to MultiMeasurementInitiator as the order of arguments has changed. No effect when initialising the object with keyword arguments

Add option to skip detections in MultiMeasurementInitiator with a non reversible measurement model

The prior state is overwritten with 0s in the function so it makes little sense to require a value for it when a StateVector and CovarianceMatrix can initalised with zeros

So this currently only overwrites elements of the prior that are mapped to the measurement space. This could result in having some elements of the covariance default to zero, which would cause cause issues. I don't think this is suitable default behaviour.

Add option to skip detections in MultiMeasurementInitiator with a non reversible measurement model

The multi-measurement initiator doesn't have any calls to the inverse function of the measurement model, so not sure why this would be required?

Add option to skip detections in MultiMeasurementInitiator with a non reversible measurement model

The multi-measurement initiator doesn't have any calls to the inverse function of the measurement model, so not sure why this would be required?

This additional option was used to filter the detections going into the initiator.
Measurements with non-reversible measurement models generally don't have sufficient co-ordinate information to map to a single position/state. Therefore they're more likely to associate to clutter and form clutter tracks.
This was an easy quick fix and may be more appropriate as a wrapper for the initiator instead

I'm not sure if SimpleMeasurementInitiatorWithCovar adds much, let me know what you think.

Yeah, I'm not sure SimpleMeasurementInitiatorWithCovar is really needed. But certainly the filtered detections would be useful.

@gawebb-dstl I'll close this one for now, but the filtered detections for initiators would be useful if you could open another PR for this.


Accelerator Refactor/RPC + Sharded

This should be the last PR adding new classes for the accelerator refactor (#5616 ).
It should be merged after #5719 .
It adds support for sharded training and RPC/Model parallelism.

Hello @justusschock! Thanks for opening this PR.

In the file pytorch_lightning/plugins/training_type/rpc.py:

Line 42:9: E128 continuation line under-indented for visual indent
Line 43:9: E128 continuation line under-indented for visual indent
Line 44:9: E125 continuation line with same indent as next logical line
Line 44:9: E128 continuation line under-indented for visual indent
Line 44:29: E231 missing whitespace after ','

In the file pytorch_lightning/plugins/training_type/rpc_sequential.py:

Line 42:1: E303 too many blank lines (3)
Line 46:22: E231 missing whitespace after ':'
Line 46:26: E252 missing whitespace around parameter equals
Line 46:27: E252 missing whitespace around parameter equals

In the file pytorch_lightning/plugins/training_type/sharded_spawn.py:

Line 39:5: E303 too many blank lines (2)

Do see the Hitchhiker's guide to code style

just add chlog :]


Migrate from appdirs to platformdirs

platformdirs is a friendly, maintained fork of appdirs (which stopped development after ~2020) - This should be 100% compatible for the used method.
I'm not exactly sure about the PDM lock file, getting rid of appdirs there might be dependent on https://github.com/YoWASP/runtime/pull/2 ?!?

I'm not exactly sure about the PDM lock file, getting rid of appdirs there might be dependent on YoWASP/runtime#2 ?!?

You should be able to update the PR now that yowasp-runtime is released.

Thanks!


[#258] Restore build compatibility with iRODS 4.3.1 packages (main)

Just thought about this - to make sure the logic works, I guess you'd have to bump the iRODS version to 4.3.2 or something to make sure the >4.3.1 codepaths are being exercised.

Yeah I'm gonna submit PRs for that today.
We have a lot of repos that use EXACT when calling find_package(IRODS so that will need to be adjusted too.

Added #

Will cherry-pick shortly.


cosmic-osd: unstable-2023-11-15 -> 1.0.0-alpha.1

Description of changes
Obligatory: https://github.com/NixOS/nixpkgs/issues/327063
Part of: https://github.com/NixOS/nixpkgs/issues/259641

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

cosmic-osd


Define Project Scope

With the direction of supporting additional SR-IOV devices(#208, #214 ) I think it's important to lay down some ground rules to make sure the project does not slowly diverge to an undesired direction. I suggest we add a “Project Scope” section under README.md to say what this project should and should not handle. Divergence from the defined rules should be done knowingly and after discussion.

#208, #212, #214,

I like this idea. Perhaps, do you a draft or something that you could share?

Let's discuss on next meeting, as this IMO should be addressed as part of the work on #208

Writing down some of my thoughts on the matter to kick start the process:

Selectors shall not contain any hardcoded vendor specific non-standard logic. The selection logic must be generic.
As a note: The data on which this logic operates can have a vendor specific nature.
e.g:
OK: Have a selector that ensures the existence of a driver file which name is provided in config file.
Not OK: have a selector that matches on vendor specific driver file in a hardcoded manner.
OK: Have a selector that runs a Hook (specified in config file) that returns true/false given the PCI device address
Not OK: have a selector that runs vendor specific tooling

Determining Mounts, DeviceSpecs, Environment Variables (e.g by ResourcePools, InfoProviders, DeviceProviders) shall be done by a vendor agnostic logic.
Should a vendor specific logic be required, A "hooks" or "plugin" mechanism may be introduced in the future to allow customized logic to be applied for a PCI device / PCI device driver returning the required  Mounts, DeviceSpecs, Environment Variables.

I'd like to raise a question here about the future of the project with regards to other device slicing technologies such as Intel's Scalable IOV or Mellanox's subfunctions.
Do you envision adding support for these technologies alongside SR-IOV?

So i think the high level scope is defined by the governance doc of k8snpwg and this can be closed.

See previous comment. Closed.


City grows beyond 10 without the aqueduct

I think city building effects are yet to be coded.

Building effects have not been implemented.

What happens to the food storage when the city should grow beyond 10 but there's no aquaduct? Will it remain full?

I think so, with a popup each turn to say that that city requires an aqueduct for further growth. Will check it tonight if no one else has by then =)

Thank you.
Also, if you can, please make a screenshot (Ctrl+F5) of the popup in the original game and upload it.

Ok so, I was wrong.  After popup is given about aqueduct, food storage drops back.  In this case to 7 units past the granary line (tested twice), and just 2 units without a granary which is the excess food for this city.  Not sure why granary is 7 (or 5 once you take into account the 2 produced that turn).  Have only tested with this one city but have the save if someone else wants to test further before I can. Please note that the resource fields are different for the 7 screenshot and the 2 screenshot, but one of the 'with granary' tests was with the same resources as the 2 screenshot. If that makes sense?!?

EDIT BUT NOT REALLY: Just thought, Granary version had 1 space left on the turn before the city should have expanded, leaving 1(of the 2 food produced each turn) to spill over.  This may mean that granary mode dropped back to 4 (1 for spillover, and 2 for that turn's production).  Non Granary mode, the box was perfectly full the turn before.  Will investigate further but can't do tonight I'm afraid!

Really nice, thank you for the screenshots. This will help implement both the Aquaduct and the Granary building effects.

This is a screenshot from CivOne.

Fixed dialog.

I think there might be a little more to the granary effect with the aqueduct thing. I would like to test different circumstances to find out exactly what goes on and will post here and on cff


Missing FamilyTreeScreen from example

example/lib/main.dart:228 says:
  MaterialPageRoute(builder: (context) => FamilyTreeScreen()),

but FamilyTreeScreen doesn't exist.

Fixed in 1.1.1


Parsing issue

Hey, we were chatting to the forum earlier. I was trying out the library and found that for some reason this doesn't render. I know it's super-early in dev cycle, but figured might as well file it in case you don't know about it.
This doesn't work.
@media only screen {
   header nav a {
       display: block;
       color: white;
       text-decoration: none;

       a:focus, a:hover {
         color: #000;
       };
   }
}

I believe it has to do with the some multiple nesting.
This works.
   header nav a {
       display: block;
       color: white;
       text-decoration: none;
   }

       a:focus, a:hover {
         color: #002;
       };
@media only screen {
  div { color: green; }
}

This works.
@media only screen {
   header nav a {
       display: block;
       color: white;
       text-decoration: none;
   }

       a:focus, a:hover {
         color: #002;
       };
  div { color: blue; }
}

However, removing the last div with color blue causes it to not correctly update.

Hey, thanks for giving it a try!
Yeap, the issue is that it's crashing due to the trailing ";" on:
a:focus, a:hover {
     color: #000;
};

Although interesting that it doesn't on the last one though.
I'll be pushing changes up today, including a fix on this, and additional tests.

@tjheeta I was thinking, my inclination is to (eventually) make all invalid things crash, for instance this would show you an error with line/col. I think this approach is the correct specially because it's a preprocessor, you can fix this while you'r working, and it's better than trying to "auto-fix"/ignore the issue. Do you have any thoughts on that?

Postel's law comes to mind.
Syntactical correctness is great for new projects and I think could be helpful. I think older projects might have an issue with a strict mode though.
From a user perspective, 80% will already have something working.  They will try the library, but if it doesn't compile the stylesheet they will need to do hours of work before seeing a result. Will they bother? After they see a result, then they'll decide whether they like the tool or not and make a decision to migrate.
So, my opinion is that a strict mode is good as an option, but not as the default. Throwing warnings is fine, people generally get around to fixing them to see a nice compile screen.

The idea of making "ignorable" errors be warnings and having a toggle for strictness sounds good.
I will add it to the roadmap.

I think in the end I'm not going to allow this. It could be helpful when the errors are things that a browser can ignore, the issue is that other errors if dropped silently can make it quite hard to understand. I think that given the use case of being a pre processor that you have running as you're developing it makes more sense to just fail. If I have a syntax error I prefer to have it shown to me - specially because functions, variables and eex blocks all re-insert code that is parsed after they return. I might revisit this after finishing everything for v1 but as of now I'm going to keep errors.

Due to https://github.com/mnussbaumer/cssex/issues/49 this won't happen anymore with multiple, or misplaced semicolons, as was the case with the original report - In this particular case I would actually still want it to crash, but writing the parser in a way that errors out in this particular case while just dropping semicolons following other semicolons (the issue #49 addressed) is probably more work than warranted, so it will just drop misplaced semicolons always


Gh action for config

THIS IS A DRAFT FOR TO TEST GH ACTIONS
We're often forgetting to update json configs when releasing
Related JIRA tickets : IA-XXX, WC2-XXX, POLIO-XXX
Self proof reading checklist

[ ] Did I use eslint and black formatters
[ ] Is my code clear enough and well documented
[ ] Are my typescript files well typed
[ ] Did I add translations
[ ] My migrations file are included
[ ] Are there enough tests

Changes
Explain the changes that were made. The idea is not to list exhaustively all the changes made (Github already provides a full diff), but to help the reviewers better understand:

which specific file changes go together, e.g: when creating a table in the front-end, there usually is a config file that goes with it
the reasoning behind some changes, e.g: deleted files because they are now redundant
the behaviour to expect, e.g: tooltip has purple background color because the client likes it so, changed a key in the API response to be consistent with other endpoints

How to test
file: hello world
admin: hello admin world
Explain how to test your PR.
If a specific config is required explain it here (dataset, account, profile, ...)
Print screen / video
Upload here print screens or videos showing the changes
Notes
Things that the reviewers should know: known bugs that are out of the scope of the PR, other trade-offs that were made.
If the PR depends on a PR in bluesquare-components, or merges into another PR (i.o. main), it should also be mentioned here

Closing as further testing is needed


Add Demo Link to README

Issue Description
Description
To provide users with a quick way to explore the project, a demo link should be added to the README. This will allow potential users and contributors to better understand the project’s features and functionality before setting it up locally.
I would like to work on it.
Please assign it to me under gssoc-ext and hacktoberfest.
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

it's already there in readme, please check it.
So I am closing this issue.
Please understand.
And one more thing this project and i am going to be inactive from today night.


Supressing Topics

Hello,
Is modifying the launch file enough to supress topics (and possibly nodes) such as hd and qhd?
Best,

If you open the launch file you will see
  <!-- sd point cloud (512 x 424) -->
  <node pkg="nodelet" type="nodelet" name="$(arg base_name)_points_xyzrgb_sd" machine="$(arg machine)"
        args="load depth_image_proc/point_cloud_xyzrgb $(arg nodelet_manager)" respawn="true">
    <remap from="rgb/camera_info"             to="$(arg base_name)/sd/camera_info" />
    <remap from="rgb/image_rect_color"        to="$(arg base_name)/sd/image_color_rect" />
    <remap from="depth_registered/image_rect" to="$(arg base_name)/sd/image_depth_rect" />
    <remap from="depth_registered/points"     to="$(arg base_name)/sd/points" />
    <param name="queue_size" type="int" value="$(arg queue_size)" />
  </node>

  <!-- qhd point cloud (960 x 540) -->
  <node pkg="nodelet" type="nodelet" name="$(arg base_name)_points_xyzrgb_qhd" machine="$(arg machine)"
        args="load depth_image_proc/point_cloud_xyzrgb $(arg nodelet_manager)" respawn="true">
    <remap from="rgb/camera_info"             to="$(arg base_name)/qhd/camera_info" />
    <remap from="rgb/image_rect_color"        to="$(arg base_name)/qhd/image_color_rect" />
    <remap from="depth_registered/image_rect" to="$(arg base_name)/qhd/image_depth_rect" />
    <remap from="depth_registered/points"     to="$(arg base_name)/qhd/points" />
    <param name="queue_size" type="int" value="$(arg queue_size)" />
  </node>

  <!-- hd point cloud (1920 x 1080) -->
  <node pkg="nodelet" type="nodelet" name="$(arg base_name)_points_xyzrgb_hd" machine="$(arg machine)"
        args="load depth_image_proc/point_cloud_xyzrgb $(arg nodelet_manager)" respawn="true">
    <remap from="rgb/camera_info"             to="$(arg base_name)/hd/camera_info" />
    <remap from="rgb/image_rect_color"        to="$(arg base_name)/hd/image_color_rect" />
    <remap from="depth_registered/image_rect" to="$(arg base_name)/hd/image_depth_rect" />
    <remap from="depth_registered/points"     to="$(arg base_name)/hd/points" />
    <param name="queue_size" type="int" value="$(arg queue_size)" />
  </node>

So yes you can remove some nodelets.
Though I don't think there is a point in doing this. The kinect2_bridge nodelet are waiting for subscribers before computing data. So basically the hd/qhd topics aren't filled up with data until you start watching them.

As @JimmyDaSilva said, you can remove the point cloud nodelets if you don't need them. Anything else is not possible (at least not without changing the code). The kinect2_bridge does not only wait for subscribers, it will also only compute the parts that are needed for the subscribed topics. Why do you need/want to suppress topics?

I wanted to get rid off extra topic names but I guess that is very cosmetic
.


You cannot use "type":"module" and "require" at the same time!

You cannot use "type":"module" and "require" at the same time!
In your package.json file you use "type":"module" and in "index.js" you use var lezer = require('lezer');. According to node js documentation it's not appropriate
Useful links:
https://nodejs.org/api/esm.html#esm_introduction
https://nodejs.org/docs/latest-v13.x/api/esm.html#esm_enabling

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\node_modules\feelin\dist\index.js
require() of ES modules is not supported.
require() of C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\node_modules\feelin\dist\index.js from C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\src\services\matrixServices\buildMatrixService.ts is an ES module file as it is a .js file whose ne
arest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\node_modules\feelin\package.json.

    at Module._extensions..js (internal/modules/cjs/loader.js:1080:13)
    at Object.require.extensions.<computed> [as .js] (C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\node_modules\ts-node\src\index.ts:1045:43)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\src\services\matrixServices\buildMatrixService.ts:1:1)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Module.m._compile (C:\work\Projects\BEACON-PROJECTS\forms-manager-server-ts\node_modules\ts-node\src\index.ts:1056:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)

Steps to Reproduce

Download "0.24.0" version of "feelin" library
Import and use it in express application with TS like import * as feelin from 'feelin' or import { unaryTest, evaluate } from 'feelin';
Build it

Expected Behavior

Should work without errors as in "0.23.0" version
Environment

node 14.16.0
OS: windows 10
Library version: 0.24.0

We nowadays include scripts that verify TS usage. The issue should be fixed.


[Feat] Add Temperature Convertor

Description
A temperature converter that allows users to enter a temperature value, select the unit they want to convert from, and select the unit they want to convert to. The “Convert” button should only be enabled when all three fields are filled in. Once the user clicks “Convert,” the tool will display the converted temperature below the form.
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

Please assign me under gssoc extd and hacktoberfest

Hi, i am willing to contribute to this issue, can you assign me this issue under SWOC


Support pr creation for new quark releases

The name was changed from cf-operator to quarks, but to keep compatibilty
we support both names.

Closing for now since the release tool renames quarks back to cf-operator.

Closing for now since the release tool renames quarks back to cf-operator.


Use StandardSQL by default

This change disables support for Legacy SQL in the bigquery exporter.
As well, this change adds a live bigquery test of the queryRunner.Query function. To disable this during travis builds, we use the go test -short flag.

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

bq/live_test.go, line 16 at r1 (raw file):

// Note: disable this test in travis by specifying "go test -short [...]"
func TestLiveQuery(t *testing.T) {
	if testing.Short() {

BTW, nice!

Comments from Reviewable