Refactoring: The great API review

Since for 3.0 a big compatibility breakage is expected, it will be a perfect time to review the API to rename confusing stuff, create/remove singletons, and also standardizing names across the different classes.
Confusing names

set_hidden() from CanvasItem and the corresponding property, which is visibility/visible (#5531).
is_visible()/is_hidden(), which sound the same but do different things.
pressed/released signals from BaseButton, which does not really do what it sounds like. They should be renamed to button_{down,up} (#4625, #5262).
CheckBox inherits Button, which means it has is_pressed() method instead of a more natural is_checked().
Input.get_mouse_speed() returns the speed of the last non-null mouse motion, not the current one. It could be renamed to Input.get_last_mouse_speed() or similar.
Tween.set_speed() is confusing as it returns a scale, could be renamed to set_speed_scale() (#2060) Same with the property (#6935).

Singletons/Classes to split

OS, which has generic functions.

Move to Engine singleton:

get_main_loop()
is_debug_build()
dump_{memory,resources}_to_file()
{get,set}_iterations_per_second()
{get,set}_target_fps()
{get,set}_time_scale()
get_engine_version()

Functions to move

Dictionary.parse_json() -> String.parse_json(), since JSON can be dictionaries, arrays, or single values (#382, #3011, #4232).

Functions to change

DirAccess::list_dir_begin should return Error like other functions of this kind.

Functions to remove

OS.set_video_mode() (https://github.com/godotengine/godot/issues/3778#issuecomment-233447010).
OS.get_fullscreen_mode_list() (https://github.com/godotengine/godot/pull/4624#issuecomment-218515473).

Properties to remove

Expand from TextureFrame. The Strech Mode property is much more flexible and can do some things that already override the Expand settings.

I actually like how show() / hide() / and set_hidden() works. I know it's
confusing, but it needs to be this way because is_visible() is not the same
as is_hidden().
You will naturally go and try to find a set_visible() function, and when
you don't find it you learn how it actually works.
An Engine singleton does indeed make sense.
I am collecting stuff that needs to change in this document:
https://docs.google.com/spreadsheets/d/1SqLGKpF5B5KzYnY2JzuuP71tsR8WeXZn1imMvHkoKDc/edit?usp=sharing
On Thu, Jul 14, 2016 at 11:58 AM, George Marques<EMAIL_ADDRESS>wrote:

Since for 3.0 a big compatibility breakage is expected, it will be a
perfect time to review the API to rename confusing stuff, create/remove
singletons, and also standardizing names across the different classes.
Confusing names

set_hidden() from CanvasItem and the corresponding property, which
is visibility/visible (#5531
https://github.com/godotengine/godot/issues/5531).
show()/hide() also from CanvasItem which does the same thing as
set_hidden().
pressed/released signals from BaseButton, which does not really do
what it sounds like. They should be renamed to button_{down,up} (#4625
https://github.com/godotengine/godot/issues/4625, #5262
https://github.com/godotengine/godot/pull/5262).

Sigletons/Classes to split

OS, which has generic functions.

Move to Engine singleton:

get_main_loop()
is_debug_build()
dump_{memory,resources}_to_file()
{get,set}_iterations_per_second()
{get,set}_target_fps()
{get,set}_time_scale()
get_engine_version() (not yet on OS, but proposed by @akien-mga
https://github.com/akien-mga)

Functions to move

Dictionary.parse_json() -> String.parse_json(), since JSON can be
dictionaries, arrays, or single values (#382
https://github.com/godotengine/godot/pull/382, #3011
https://github.com/godotengine/godot/issues/3011, #4232
https://github.com/godotengine/godot/issues/4232).

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696, or mute the thread
https://github.com/notifications/unsubscribe/AF-Z2z31QAEIb70bh26SEeaUDE5E2asHks5qVk6mgaJpZM4JMhcW
.

I agree about set_hiddenbeing better than set_visible for the reasons already discussed in other issues. What was proposed however to make the API clearer is to change the parameter to visibility/hidden, which clears the confusion (and is more accurate).

set_hidden() is OK for me too (with the change of the corresponding property). Also, show()/hide() can stay too. The biggest problem with is_visible()/is_hidden(). Those look like they do the same thing. The latter may be changed by is_hidden_enabled() to make more clear that it's a toggle property.

SceneTree.call_group() (and notify_group()) requires flags as the first argument, which pretty much just results in many zeros in the code, I'd suggest an alternative call_group_flags() or something to mitigate this, and remove the flags argument from call_group().

At first it didn't agreed with set_hidden(), then I understdood that is_visible could be confused with the fact the object is actually in view. But actually, I would have solved this by naming the other functions is_in_sight, is_in_view or is_culled (unless the reason is different?).
I don't like is_hidden_enabled, because it has enabled in something supposed to remove something from view, which is kinda the reverse way of common thinking IMO.
Between 2D and 3D, function names doing same things sometimes differ, for example set_pos in 2D, is set_translation in 3D, although they do the same thing with just one additional coordinate (https://github.com/godotengine/godot/issues/4311)
Some constants have redundant naming, for example in VisibilityEnabler2D, all identifiers have the ENABLER_ prefix, but it seem useless since they already are scoped in the class.
On the opposite side, there are a lot of consts that are outside of any class, and it can be confusing. For example, the first time I looked for button codes I was trying to get them from Input, or InputEvent, to no avail. So I eventually used the raw numbers, to finally find they are in global scope like KEY_A or BUTTON_LEFT.
I agree for call_group() to not have the flags as first parameter, because I never use it anyways. But I also see it should be first because what follows are the arguments of the call. So I agree there should be another version of the function having the flags as first arg.
OS.get_ticks_msec() => should be named get_time_msec(), the name makes it hard to find it (it was for me) because no one would search for tick to get the current ms-precise time.
About String.parse_json() and encode_json(): the String type already has lots of various things in it, could we instead have this in a dedicated JSON class, as in Javascript? (there is also an XMLParser class which is neither in String nor in Dictionary, which is great, but doesn't seems to be made only for reading).
Why File.get/store_(content) instead of File.read/write_(content) as any other I/O API?
That's all I recall at the moment :)

@Zylann thanks for the lots of insights. About  JSON class I'm not so sure, as it would have parse(), encode(), maybe escape() and what else? Seems to much of a push for a class without much functionality. I prefer to add this to an existing class, and String seems the best fit, since JSON is just a string.

@vnen Then you could say XML is just a string. I don't think the number of functions in a class really matters (unless it's only one of course, would be weird), it's just a matter of having parser consistently have their class, and avoid to bloat the String type. Also, there is a JSON class already in Godot engine, it should just be a matter of making it "official", instead of having that in unrelated objects.

My problem with making a JSON class is that it needs to be a singleton (or have static methods, if that's possible). Otherwise you'd have to do what you already have to for some functions like FIle.get_md5(): create a dummy object just to call the functions on it.
And it's pretty much one function to add in String: parse_json(). Dictionary already has to_json() and Array can have one too. Unless you want to unbloat String and move some of its functions to another class.

I'm talking about static methods, it doesn't makes sense to call this on a JSON object.

I think the methods API always needs an instance. That's why classes like Input and OS are singletons.

Oh, right. Well in that case JSON could be a singleton, but it doesn't changes much how it would be called in GDScript.

Vector2::get_aspect should probably become Vector2::aspect, since none of the other methods in the class have the get_ prefix.

For reference this is the list I'm keeping:
https://docs.google.com/spreadsheets/d/1SqLGKpF5B5KzYnY2JzuuP71tsR8WeXZn1imMvHkoKDc/edit?usp=sharing
On Sat, Jul 30, 2016 at 10:04 AM, Bojidar Marinov<EMAIL_ADDRESS>wrote:

Vector2::get_aspect should probably become Vector2::aspect, since none of
the other methods in the class have the get_ prefix.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-236364163,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z207623uOEbGoSTywt57-lKsLGRiUks5qa0vlgaJpZM4JMhcW
.

http://docs.godotengine.org/en/latest/classes/class_packetpeerudp.html?highlight=udp
set_send_address should be set_destination_address
When I first saw this function I thought I will be able to set packet origin IP/Port (so I can later listen on that port - I'm trying to do UDP hole punching). Sadly it's something different.

Many nodes override inherited methods, which makes the said methods uncallable from GDScript.
Here is a small list
Viewport::get_viewport
CanvasItem::get_viewport
EditorPlugin::get_name

ah, that is clearly a bug
On Wed, Aug 3, 2016 at 11:34 AM, Bojidar Marinov<EMAIL_ADDRESS>wrote:

Many nodes override inherited methods, which makes the said methods
uncallable from GDScript.
Here is a small list
Viewport::get_viewport
CanvasItem::get_viewport
EditorPlugin::get_name
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-237245397,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z29RyjvUiXdJR8w3zTBKnk9vcO7TZks5qcKb_gaJpZM4JMhcW
.

As explained in #6048, the infamous visibility property is not only confusing due to its propagating nature, but also since it controls more than just visibility. A few examples that come to mind:

whether a Control node can be focused
whether a CollisionObject2D is pickable

Maybe it's just those, but I suggest either renaming visibility and related names to enabled or something similar, or to move this behavior out of visible to some other property

I think it's good to implement String.parse_json() and String.to_json(Object) in 2.2 and leave deprecated Dictionary.parse_json() until 3.0 will come.

there's no hurry, let's do things properly and do all the changes in 3.0
On Sat, Sep 17, 2016 at 5:20 PM, pkowal1982<EMAIL_ADDRESS>wrote:

I think it's good to implement String.parse_json() and
String.to_json(Object) in 2.2 and leave deprecated Dictionary.parse_json()
until 3.0 will come.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-247805169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z20JFmia54_U_ajOi0_Qk5Pp7YzbDks5qrEtwgaJpZM4JMhcW
.

rotation setters and getters must be standarized:, currently there are many variations like

set_rot
set_rotation
set_rotation_deg
set_rotationd
set_rotd

String and Array should get an alias to size()/length() respectively or one of them should be renamed.

I took this from C++ STL but it's true it makes not much sense
On Sep 17, 2016 22:40, "supaiku-o"<EMAIL_ADDRESS>wrote:

String and Array should get an alias to size()/length() respectively or
one of them should be renamed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-247818665,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2xSc9BlDEFfdtJ3rK5nm5NDz8xcLks5qrJaggaJpZM4JMhcW
.

Collision layers and masks have many confusing names like set_collision_mask set_collision_layer set_layer_mask (some in bodies, others in tilemaps, etc.), also the parameters used on similar methods varies (some use bit mask, others layer number).
I think these should be unified, it will simplify collision checks.

The collision layer and mask are really useful, but I have no idea how to
make the names more obvious. Any idea welcome.
On Mon, Sep 19, 2016 at 11:28 AM, eon-s<EMAIL_ADDRESS>wrote:

Collision layers and masks have many confusing names like set_collision_mask
set_collision_layer set_layer_mask (some in bodies, others in tilemaps,
etc.), also the parameters used on similar methods varies (some use bit
mask, others layer number).
I think these should be unified, it will simplify collision checks.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-248008980,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2zJ3QVH-A75AYTq3u89fN2UZhjZ2ks5qrpv7gaJpZM4JMhcW
.

Just giving them the same names throughout the nodes they're used would be a start?

The different polygons need a consistent API too. Here's a major divergence for about the same functionality:

ConvexPolygonShape2D has set_points()
ConcavePolygonShape2D has set_segments()
NavigationPolygon has set_vertices()
OccluderPolygon2D has set_polygon()

@reduz
Area2D and PhysicsBody2D have:
set_collision_mask
set_layer_mask

I think that could be better:
set_collision_layer
set_collision_mask

That way is clear that you are talking about collisions.
Tilemap has these names but lacks of the bit set part, which is useful too, so I propose:
set_collision_layer
set_collision_mask
set_collision_layer_bit
set_collision_mask_bit

For everything that is related to collision detection (physics, area, tilemap)
ps: Not sure if the occluders and 2D lights have clear/matching names for the layers too.

This one has just been uncovered: https://github.com/godotengine/godot/issues/6639#issuecomment-250567911
Also, GridMap function names should probably be made similar to TileMap, since the principle is the same.

In String we have
get_base_dir()
get_file()

Why not the same with
basename() -> get_basename()
extension() -> get_extension()

Yeah, all inconsistencies with choosen style (#3916) should be removed.

I think the JSON singletob makes sense only because you can encode a single Variant (I think?) But Dictionary and Array are the only to_json methods. A JSON singleton makes it so you know where to look, and you dont assume the data allowed. Previously you could only serialize a Dictionary, so it made sense for it to be a method of that class.

JSON was changed to built-in functions for GDScript already
On Fri, Jan 13, 2017 at 12:11 PM, Leonard Meagher<EMAIL_ADDRESS>wrote:

I think the JSON singletob makes sense only because you can encode a
single Variant (I think?) But Dictionary and Array are the only to_json
methods. A JSON singleton makes it so you know where to look, and you dont
assume the data allowed. Previously you could only serialize a Dictionary,
so it made sense for it to be a method of that class.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-272465932,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2wRx9qkvMeCt5WKYw8_lju4bnml-ks5rR5Q_gaJpZM4JMhcW
.

ConvexPolygonShape2D has set_points()
Makes sense, you supply points to it, because any point cloud will work

ConcavePolygonShape2D has set_segments()
This is segments, not points

NavigationPolygon has set_vertices()
This is named vertices because there are indices involved to form a polygon

OccluderPolygon2D has set_polygon()
This is specifically a polygon

Everything in this post has been taken care of, so with a lot of joy, will proceed to close it!

Most things evoked here and not fixed yet should have been moved to #7516 IINM.

@reduz I don't really get the difference between the polygons. Aren't points the same as vertices? And the occluder one is "specifically a polygon" but it's also set as Vector2Array with "points", what's the difference? For ConvexPolygonShape2D, does it get the convex hull now? (as per 2.x API, it has set_point_cloud which states to be not implemented and set_points which requires an order, so as stated it's not different from segments).

A point cloud is not a polygon, a polygon is generatd from its convex hull.
Segments are individual a-b segments, they are unconnected.
Vertices do not make up a polygon, the indices do.
On Jan 13, 2017 21:15, "George Marques"<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz I don't really get the difference
between the polygons. Aren't points the same as vertices? And the occluder
one is "specifically a polygon" but it's also set as Vector2Array with
"points", what's the difference? For ConvexPolygonShape2D, does it get the
convex hull now? (as per 2.x API, it has set_point_cloud which states to
be not implemented and set_points which requires an order, so as stated
it's not different from segments).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5696#issuecomment-272582409,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z29b-H1hcCg6ohyCt3tdesWg_8YkMks5rSBO9gaJpZM4JMhcW
.

Okay, I guess what's missing is documentation then.


Update main.py

Fixes Issue🛠
Closes #80
Description👨💻
This pull request implements a machine learning model for classifying drug reviews as either positive or negative using transformers, specifically the DistilBERT model.
Proposed Changes:

Used the tsv file to train and use the transformer model for drug review classification. A point to be noted is transformers like DistilBERT have their own initial embedding layers so the original text data was used , not the Word2Vec embeddings.
Included the required data preprocessing steps, such as reading the dataset, tokenization, label modification, and data splitting.
Implement the model training and evaluation pipeline(Ratings above the 5 was considered positive), including the necessary training arguments and the model trainer.
Saved the trained model and tokenizer for later use.
Tested the model with new reviews and provide sample predictions.

Type of change📄

[x] New feature (non-breaking change which adds functionality)

How this has been tested✅
After the model training and evaluation, I've added a step where we test how the model classifies new, unseen reviews. This is an essential step to understand the model's performance in real-world scenarios.
Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I am an Open Source Contributor (GSSOC'23)

Sir please let me know if I can improve on this further or modify something!

Sir the new unseen data screenshots along with the evaluation metrics of the model I implemented are listed :

Sir please let me know if there is anything else I can improve so the PR can be counted to Gssoc! Thank you

LGTM!! Pls just change the PR title similar to the work you have done @Nabanita29

done sir

Nice work, Merged!! Congrats on getting your PR merged to this repo 🥳🎉 @Nabanita29


do not install docker-engine policy in debs

this is for release, this is a new policy and the conventions used in it are not compatible with the apparmor version in ubuntu 12.04, there could be other things broken with it as well
i think it is too risky for the release... but we can add it back after, the docker-default policy in the binary is still there so I think this is fine for the time being.
fixes https://github.com/docker/docker/issues/15340

ugh wait on this.... doing more debugging


WIP 1902 test basic frontend workflows

@alexlemann I will be reviewing it to learn selenium testing.

@pkdash Thanks for checking it over. For an update: I'm feeling good about the tests and plan to move onto the Jenkins configuration next.

@alexlemann Sounds good.

@alexlemann +1 from me.

These tests seem to be working and are not excluded in run-tests-jenkins. Is there anything else to do to get them setup in Jenkins, @mjstealey ?

Is there anything else to do to get them setup in Jenkins

@alexlemann - if they are already showing up here, then no. Otherwise we'll need to look further into it.

@alexlemann It seems your front-end tests are getting executed by Jenkins (http://ci.hydroshare.org:8080/job/hydroshare-pull-requests/283/testReport/theme.tests.test_functional/) .
After you merge this PR, I will try to add similar tests.


How to ignore case-sensitive,

I'm running regex test of the below based on the given example at the repo, and get correct answers, except it is case-sensitive,
let required_skills: Vec<&str> = vec!["Project(s|^s)", "Plicy|Policies"];

To solve this issue, I tried creating another set of the above, adding the i at the end to be case-insensitive, with the below format:
format!("r\"{}\"i", s)

So, I ended up with the below code, it is compiling correctly, but give no match at all, what mistake I did?
use std::io::Read;

use regex::RegexSet;

fn main(){
    let required_skills: Vec<&str> = vec![
        "Project(s|^s)",  // (s|^s) ending with or without `s`
        "Plicy|Policies",  // either singular or plural
    ]; //  to be scanned in the given CV

    let searches =required_skills.iter().map(|s| format!("r\"{}\"i", s)).
        collect::<Vec<String>>();

    let set = RegexSet::new(&searches).unwrap();

    let mut file = std::fs::File::open("CV.docx").expect("Cannot open file");
    let mut isi = String::new();
    let _ = file.read_to_string(&mut isi);

    if set.is_match(&isi){
        let matches = set.matches(&isi).into_iter().collect::<Vec<_>>();
        let exact_matches = matches.iter().
                                    map(|s| searches[*s].as_str()).collect::<Vec<&str>>();
        println!("Out of {} requirements, the below {} matches had been found:",
                set.len(), matches.len());
        for x in exact_matches {
                println!("{}", x );
        }
    } else {
            println!("No matches found");
    }
}

Please see the relevant section in the docs: https://docs.rs/regex/1.3.1/regex/#grouping-and-flags


Align logging for region_id

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/6233
Problem Summary:
Some logging use region {} while some logging use region_id={}. It make greping the log of specified region difficult.
As TiKV use region_id={} format in logging, it would be better if TiFlash can also use the unified logging format.
What is changed and how it works?

Refine the logging with format ..., region_id={} ...
Use decoding_schema_epoch instead of decoding_schema_version to distinguish from schema_version

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[x] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/rebuild

/rebuild

/run-all-tests

/run-all-tests

/run-all-tests

/rebuild

/rebuild

/run-all-tests

/run-all-tests

/rebuild

/run-integration-test

/rebuild

/run-integration-test

/rebuild

/run-integration-test

/run-integration-test

Running at https://ci.pingcap.net/blue/organizations/jenkins/tiflash-ghpr-integration-tests/detail/tiflash-ghpr-integration-tests/13906/pipeline


OIntentMassiveInsert in distributed mode

Enable OIntentMassiveInsert, the hook will be disabled except index hook for performance purpose, but on distributed mode, hooks will still be triggered in remote node.
In remote execution, user/password information in database instance in thread local is null. Need add those information into remote session.

Not relevant anymore, closing it.


Add ANSI color codes

Hey there,
thanks for your library, you helped me a lot for a personal project!
I feel like you also could include color codes in the library and I'd be more than happy to implement that!
Let me know If I can open a pull request!
Cheers,
Michael

Hi Michael,
I am glad to hear that you found my library useful. You are certainly welcome to open a pull request for color codes support.

Thanks!


Duplicate output CSS file.

I want to create these structures in my WP theme:
/src/
-- /scss/
---- /main.scss
----/base/
------/typography.scss
----/modules/
----/partials/
-- /js/
----/vendor/
----/lib/
----/modules/

And tried to modify gulpfile.js as below:
// Style related.
var styleSRC                = './src/scss/*.scss'; // Path to main .scss file.
var styleDestination        = './assets/css/'; // Path to place the compiled CSS file.
// Default set to root folder.

However when output, it loads to assets/css/assets/css/main.min.css
Can you please check that kind of issue?

Can confirm. Makes using this package impossible. Will check back later for a fix. So promising :(

@khoipro This is happening because the sourcemap location is too specific, it should be relative if you are in the pipe already.
Make sure the line that writes the sourcemap is the following: .pipe( sourcemaps.write ( './' ) ) This makes sure that the sourcemaps get written alongside the min files, reguardless of where the source css is. This should never change.

@ahmadawais I just experienced this issue and solved with the above ^. Your latest release in the tags section of this repo is not working with even small customization, and a lot of deps are out of date, yet aren't being mentioned in npm outdated for some reason.

@theenoahmason We are close to releasing a major upgrade. Can you help test it to see if things are looking good there? It's there in the v2.0.0 branch.

Also you should try the gulpfile in the master with the installation instructions, that is already updated.

@ahmadawais gotcha, sorry for confusion! maybe release 1.0.4 with just that fix for people who may still be using 1.0?

Sure thing!

Can you check this and repoen for the latest v2 release?


how to ignore these warnings

as title:
Warning: Indicator constraint x_14_1 >= 1 -> 0 <= 0 has a trivially feasible constraint (no effect)

Hello,
You can try building your model with output_level="error" (the default is to display all warnings, passing error will make the error handler only display errors).


Test class takes service name as the parameter for start service.

Currently when testing a service, the startService method is taking the service name. But ideally it should take the base path as it's the unique reference for the service. When the base path is used testerina results in error.
erandi@erandi-Latitude-E6540:~/ballerina_0.9/0.87_release/tests$ ./../../ballerina-tools-0.86/bin/ballerina test googleSpreadSheet/ ballerina: unexpected error occurred

ATM service name is unique, Balerina will not allow to create two services with the same name.


[Feature]Add loader args to config

Describe the feature
Add train_dataloader, val_dataloader, and test_dataloader in the data field of config so that users can specify different arguments for them.
Motivation
Originally, the data field of config only allows the following usage:
data = dict(
    samples_per_gpu=64, workers_per_gpu=4,
    train=dict(type='xxx', ...),
    val=dict(type='xxx', samples_per_gpu=4, ...),
    test=dict(type='xxx', ...),
)

Such a design only allows setting the different batch sizes in Val and test data loader.
Adding train_dataloader, val_dataloader, and test_dataloader in the data field of config allows more flexible usages.
A new example looks like below:
data = dict(
    train=dict(type='xxx', ...),
    val=dict(type='xxx', ...),
    test=dict(type='xxx', ...),
    # Use different batch size during inference.
    train_dataloader=dict(samples_per_gpu=64, workers_per_gpu=4),
    val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
    test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
)

To achieve that, we should:
allow train_dataloader/val_dataloader/test_dataloader to be set in the data filed by modifying train_detector.
deprecate samples_per_gpu in data.val field by raising warnings if it is set
Related resources
See PR https://github.com/open-mmlab/mmclassification/pull/752.
BC
None

#https://github.com/open-mmlab/mmdetection3d/pull/1388

#[Feature]Add loader args to config https://github.com/open-mmlab/mmdetection3d/pull/1388

Describe the feature

Add train_dataloader, val_dataloader, and test_dataloader in the data field of config so that users can specify different arguments for them.
Add cfg_compatibility to handle the compatibility of config

Motivation
Originally, the data field of config only allows the following usage:
data = dict(
    samples_per_gpu=64, workers_per_gpu=4,
    train=dict(type='xxx', ...),
    val=dict(type='xxx', samples_per_gpu=4, ...),
    test=dict(type='xxx', ...),
)

Such a design only allows setting the different batch sizes in Val and test data loader. Adding train_dataloader, val_dataloader, and test_dataloader in the data field of config allows more flexible usages. A new example looks like below:
data = dict(
    train=dict(type='xxx', ...),
    val=dict(type='xxx', ...),
    test=dict(type='xxx', ...),
    # Use different batch size during inference.
    train_dataloader=dict(samples_per_gpu=64, workers_per_gpu=4),
    val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
    test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
)

To achieve that, we should:
allow train_dataloader/val_dataloader/test_dataloader to be set in the data filed by modifying train_detector. deprecate samples_per_gpu in data.val field by raising warnings if it is set Related resources See PR open-mmlab/mmclassification#752.
Midification

modifying train_detector to allow passing args in the loader field to the build_dataloader
Add a cfg_compatibility to handle the compatibility

BC
None

It make an error raised when test_dataloader  not inside cfg.data that
AttributeError: 'ConfigDict' object has no attribute 'test_dataloader'

it wou better to add an if  to tell if the cfg.data get the attribute test_dataloader to avoid error.


Rendering glitches with directional light and more complex geometry

Been posting about this issue in the matrix room for a while but it seems to be a problem for most of the meshes I try so I will make it an issue here so that we hopefully can resolve it.
To be clear this issue only affects meshes lit by directional light or with an opacity value of above ca 30%.
It not only shows something that looks a lot like clipping issues but the depth and occlusion are both totally wack.
Here are some examples:

Same mesh but with a solidify modifier at 0.01 going inward:

Mesh 2 with directional light:

Mesh 2 with only ambient light:

Could you provide a gltf or something that I would be able to test this with?

Could you provide a gltf or something that I would be able to test this with?

https://github.com/Jovian-Entertainment-Studios/Project-Heaven-Code/tree/main/Project Heaven%2Fsrc%2Fdata%2F3d
The model called Heaven 1 here is the model used in the first two examples. This codebase is also where these issues occur so feel free to look around if you need to.
Haven't tried to replicate these issues outside of my code yet because some models work and some don't.

@cwfitzgerald

I've seen this too. I reported it back at Issue #208, but double-sided rendering confused the issue.
I understand it better now. Curved surfaces in blend mode, where parts of both the front and back of the same object face the camera, have a sorting order problem. I've seen this in several places with curved translucent surfaces.
In some cases, there is no one Z-order that will work. Sometimes it's wrong for cases which ought to be sortable. It's as if sorting chose some triangle pointing away from the camera to guide sort order. But that's just a guess.
Order-independent transparency would probably fix this.
This ought to be reproduceable in GLTF.

Just weird that I now have had this problem on every single model I have ever imported...

I get it in my program, but haven't tried to reproduce it in scene-viewer. Try making a simple U-shaped transparent object in GLTF, and I think it will happen. The stuff I'm having trouble with is more complex than that.


[Question]Project name too long (is it fixed ???)

I am seeing same issue when it try to use project name consist of more than 30 characters. I am using Harbor v1.4.0 .

Error I am seeing when I try following request
curl 'https://HARBOR_ADRESS/api/projects' -u username:password -H 'Content-Type: application/json' -d '{"project_name":"abcdefghigklmnopqabcdefghigklmnopq","metadata":{"public":"true"}}'
Response
invalid request: Project name is illegal in length. (greater than 2 or less than 30)
According to #3617 it says that it is fixed in v1.4.0 that's why i am creating issue.

Fixed in #4395


Session based VS Code storage.

Problem:
If multiple tabs are open on the same computer then changes via VS Code may oddly propagate between those tabs.
Cause:
Currently our VS Code integration uses the project ID to create the storage that is used to communicate with VS Code as well as the filesystem for VS Code. This means that multiple tabs with the same project open can write data to each other in unexpected ways.
Fix:
The main fix for the above issue is to have a session based unique ID instead of something based on the project ID as the basis for the name of the IndexedDB storage which is used by VS Code and the editor. Previously we had a unique session based one as a placeholder and then once the project ID was set (crucially not necessarily when it was loaded) we would then reload VS Code with one based on the project ID.
Along with this two longstanding issues have now been fixed:

Forever loading VS Code, this was due to a race condition between the message listeners ready message and the init project message. If the init project message was fired before the handler was created to wait for it then it would just get missed and then VS Code would never "finish" loading as a result.
Empty VS Code, this was due to the SET_PROJECT_ID action firing before the LOAD action which ends up sending an empty project contents to VS Code. With the logic around changes to VS Code's content not being aware that nothing has been sent.

Commit Details:

VSCodeIframeContainer now has a property vsCodeSessionID and assigns that to a query parameter vs_code_session_id.
Removed EditorState.vscodeBridgeId and it's associated type.
Simplified SET_PROJECT_ID action.
getUnderlyingVSCodeBridgeID now returns a value which is assigned to a unique value on startup.
initVSCodeBridge now only permits a single instance of the message listeners ready message to be handled.
setupVSCodeEventListenersForProject repeatedly fires the message listeners ready message until it gets an init project message in return.
build-vscode now clears the ./dist and ./node_modules folders.

The "Run Systems Tests" check will never succeed here, as the PR branch deploy doesn't include VS Code changes, so we can just go ahead and ignore that failure

this is really nice!


output should line up with source code for easy error lookup

When a javascript environment displays an error with a line number, it would be nice if the line number corresponded with the line number of the coffeescript source. To achieve this, coffeescript can output javascript where the lines in the javascript match the lines in the coffeescript.

Yes, that would be nice -- see all of the previous issues suggesting the same idea.


Adding rental house page

As this is a house renting website there should be a page where the user can see the available rental houses, assign me for this feature

I would like to contribute.


[$500] Admins room - auto-reporting frequency from 'weekly' - 'weekly' message is displayed

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.30-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/runs/view/19717&group_by=cases:section_id&group_order=asc&group_id=295000
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Create account on ND
Settings > Go to Expensify Classic
On OD, Settings > Workspace > Group > click on Collect
Notification will be sent to your device
Open the notification & verify that you are redirected to admin room

Expected Result:
Updated the auto-reporting frequency from "weekly" to "weekly"' message shouldn't be displayed since there is no change in frequency as we see from the message
Actual Result:
'Updated the auto-reporting frequency from "weekly" to "weekly"' message is displayed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/ebb4cfe2-2a4f-45b8-9b46-9da5830d3d04
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b3035d3ea06843d1
Upwork Job ID:<PHONE_NUMBER>542017024
Last Price Increase: 2024-01-24

We think that this bug might be related to #wave9.
CC @MitchExpensify

Confirmed the service returns this action:
requestID: "84a560d2de754743-DFW"
service message
text: "updated the auto-reporting frequency from \"weekly\" to \"weekly\""

When you create a Collect workspace, I agree we should not send a system message about the submission frequency in the #admins room - That is a bug.
Adding to wave 9 as this is weird in the sign up flow and soon we will be creating Collect workspaces via the engagement modal

Hey @jeremy-croff, we're looking for proposals on this one. Given you've been able to reproduce the issue, do you have any ideas on how to solve it? We'd love to hear them!

Hey @jeremy-croff, we're looking for proposals on this one. Given you've been able to reproduce the issue, do you have any ideas on how to solve it? We'd love to hear them!

Well since the service returns this as an action with the text, the service should adress this if at all.
We would only render what the service gives us.

Got it. Thanks!
We're still fishing for proposals 🎣

Got it. Thanks!
We're still fishing for proposals 🎣

I wish I had access to slack :D It's taking a long time!
I can relook at this to see if there are front end workarounds.

This is a backend issue, a fix is under review now.

Hi there, I'm attempting to install a repository by running npm install on my Windows machine, but I'm encountering an error (screenshot attached). I've followed the steps outlined in the documentation, but the error persists.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~011972bf1e0b698553

Hi there, I'm attempting to install a repository by running npm install on my Windows machine, but I'm encountering an error (screenshot attached). I've followed the steps outlined in the documentation, but the error persists.

I know this is not the correct place, but that vrsion shellcheck is not compatible with windows. You can bump it locally as a workaround. But I haven't been able to get fully installed on windows myself. I tried to create an issue regarding this but it got auto closed.

Forgot to close this, the backend fix was deployed a few days ago already.


Suggestion: Color Groups

As like the "normal tabs", it would be nice to have "color groups"
I don't know if everyone has it, since i'm using beta version, but it should be farily easy to implement since it's already there...
Retards.

(Retards lol)
One thing you can consider is that Chrome already has a concept of tab groups, which I was using before getting this extension - if those are parseable it would be cool if the UI uses those groups/the naming you can associate with each group.


TypeError: Cannot read property 'request' of undefined

I use axios 0.18.0 that uses follow-redirects 1.5.5. Sometimes I get this exception:
/home/andrey/projects/com-scanner/scanner/node_modules/follow-redirects/index.js:142
        nativeProtocol.request(this._options, this._onNativeResponse);
                       ^

TypeError: Cannot read property 'request' of undefined
    at RedirectableRequest._performRequest (/home/andrey/projects/com-scanner/scanner/node_modules/follow-redirects/index.js:142:24)
    at RedirectableRequest._processResponse (/home/andrey/projects/com-scanner/scanner/node_modules/follow-redirects/index.js:233:10)
    at ClientRequest.RedirectableRequest._onNativeResponse (/home/andrey/projects/com-scanner/scanner/node_modules/follow-redirects/index.js:39:10)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:551:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:115:23)
    at Socket.socketOnData (_http_client.js:440:20)
    at emitOne (events.js:116:13)

Sometimes

Would you happen to know (or be able to narrow down) when?
It could be helpful is you could edit the index.js file to add console.log(protocol) right above and tell me the output.
I'm currently in the dark as to how this could occur, given that we explicitly assert this value to be valid: https://github.com/olalonde/follow-redirects/blob/v1.5.5/index.js#L278.

@RubenVerborgh,
the output:
about: [ 'http:', 'https:' ]

and the url:
andrey@minidron:~$curl -v http://nancyleestewartartist.com/failed_request
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to nancyleestewartartist.com (<IP_ADDRESS>) port 80 (#0)
> GET /failed_request HTTP/1.1
> Host: nancyleestewartartist.com
> User-Agent: curl/7.61.0
> Accept: */*
>
< HTTP/1.1 302 Object moved
< Cache-Control: private
< Content-Length: 132
< Content-Type: text/html
< Location: about:blank
< Server: Microsoft-IIS/7.5
< Set-Cookie: ASPSESSIONIDCQRADQTC=HOCELLKAEIMEFHJMINIBCBNH; path=/
< X-Powered-By: ASP.NET
< Date: Sun, 19 Aug 2018 19:45:50 GMT
<
<title>Object moved</title>

Object Moved
This object may be found here.
* Connection #0 to host nancyleestewartartist.com left intact

about: [ 'http:', 'https:' ]

I'm very confused about where the about comes from.
Would you have any idea?
To increase clarity, could you please:
console.log({ protocol: protocol, keys: Object.keys(this._options.nativeProtocols) })

@RubenVerborgh,
How to reproduce the bug
require('follow-redirects').http.get('http://nancyleestewartartist.com/failed_request')

The output of console.log:
{ protocol: 'http:', keys: [ 'http:', 'https:' ] }
{ protocol: 'about:', keys: [ 'http:', 'https:' ] }

The url http://nancyleestewartartist.com/failed_request returns Location: about:blank as you can see from the curl output above.

Right, now I fully get it. Will fix.

The way I see it, this particular case will result in an error event with an error along the lines of No handler for about: protocol. Would that be fine, @wholegroup?

Yes, an error event will be fine!

Published as v1.5.6, thanks for your help!


SetRayTracingShaderGroupHandlesCommandHeader::data_size may need to be uint64_t

SetRayTracingShaderGroupHandlesCommandHeader::data_size uses size_t which means that 32-bit captures will be incompatible with 64-bit replay and vice-versa.
Making this change will break backward compatibility with 32-bit captures that contain SetRayTracingShaderGroupHandlesCommandHeader blocks. Alternatively a new block type could be added to fix the issue, leaving the current block type to operate as-is.

Since this header has been in gfxreconstruct for more than a year, my preference is to make a new block type, rather than break any existing captures.

Although we could have a discussion about whether there will be any 32-bit captures that are using raytracing....

I can't believe this. It's the same on windows. 32bit driver does not expose the ray tracing extensions.
I'm not familiar with windows so I'll post some proof. Shout if you spot something wrong:
The one on the left is the output from \Windows\System32\vulkaninfo.exe
The one on the right is the output from \Windows\SysWOW64\vulkaninfo-1-999-0-0-0.exe

I'll just write a patch and rely on someone else with nvidia hardware testing it for me

We've established that we don't see any non-experimental 32-bit drivers exporting raytracing.  We also don't seem to have a workable test case for a 32-bit capture even on RADV.  So our judgment call is to simply change the struct parameter.

Is now uint64_t as part of #723


Image-based tests

Consider using https://github.com/domenic/svg2png for image based unit tests.

Pageres also claims to render SVG, but I haven't found any examples of this https://github.com/sindresorhus/pageres

They both use https://github.com/ariya/phantomjs


Draft texts for AppStore/GPlay

There are good texts in android/res/values/strings.xml.

There are good texts in android/res/values/strings.xml.


Version link to 1.10.1 looks strange

The link to the 1.10.1 version has a dot after the v, is this intentional?
https://github.com/structurizr/cli/releases/tag/v.1.10.1
The past releases did not have these:
https://github.com/structurizr/cli/releases/tag/v1.9

Thanks, that should be fixed.


errors when run : python main_stream.py

When running the Python script main_stream.py, an error occurs; awaiting a response.
tks!
env is as below:

ubuntu 20.04 and 18.04
python 3.11 and python 3.12

error is as below:
Traceback (most recent call last):
File "/home/xx/arch_test/stream/main_stream.py", line 94, in
scme, _ = mainstage.run()
^^^^^^^^^^^^^^^
File "/home/xx/anaconda3/envs/stream/lib/python3.11/site-packages/zigzag/stages/MainStage.py", line 17, in run
for cme, extra_info in self.list_of_callables[0](self.list_of_callables[1:], **self.kwargs).run():
File "/home/xx/arch_test/stream/stream/classes/stages/AcceleratorParserStage.py", line 26, in run
for cme, extra_info in sub_stage.run():
File "/home/xx/arch_test/stream/stream/classes/stages/ModelParserStage.py", line 43, in run
for cme, extra_info in sub_stage.run():
File "/home/xx/arch_test/stream/stream/classes/stages/GenerateCNWorkloadHybridStage.py", line 131, in run
for cme, extra_info in sub_stage.run():
File "/home/xx/arch_test/stream/stream/classes/stages/IntraCoreMappingStage.py", line 170, in run
for cme, extra_info in sub_stage.run():
File "/home/xx/arch_test/stream/stream/classes/stages/DetermineSchedulingOrderStage.py", line 40, in run
for cme, extra_info in sub_stage.run():
File "/home/xx/arch_test/stream/stream/classes/stages/InterCoreMappingStage.py", line 151, in run
pop, hof = self.genetic_algorithm.run()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xx/arch_test/stream/stream/classes/opt/allocation/genetic_algorithm/genetic_algorithm.py", line 125, in run
logbook = algorithms.eaMuPlusLambda(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xx/anaconda3/envs/stream/lib/python3.11/site-packages/deap/algorithms.py", line 302, in eaMuPlusLambda
for ind, fit in zip(invalid_ind, fitnesses):
File "/home/xx/arch_test/stream/stream/classes/opt/allocation/genetic_algorithm/fitness_evaluator.py", line 63, in get_fitness
scme.run()
File "/home/xx/arch_test/stream/stream/classes/cost_model/cost_model.py", line 51, in run
results = schedule_graph(
^^^^^^^^^^^^^^^
File "/home/xx/arch_test/stream/stream/classes/cost_model/scheduler.py", line 287, in schedule_graph
best_candidate, preds_end = get_best_candidate(candidates, scheduling_order)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xx/arch_test/stream/stream/classes/cost_model/scheduler.py", line 84, in get_best_candidate
idxs = [scheduling_order.index((n.id, n.sub_id)) for n in cn_candidates]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/xx/arch_test/stream/stream/classes/cost_model/scheduler.py", line 84, in
idxs = [scheduling_order.index((n.id, n.sub_id)) for n in cn_candidates]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: (0, 0) is not in list

Thanks for bringing this to our attention. This has been fixed.


Docker compilation fails

When compiling the package in Xcode, everything works as expected.
When I try to compile the project in a docker container, I get the following error:
/build/.build/checkouts/sendgrid-kit/Sources/SendGridKit/SendGridClient.swift:50:60: error: cannot convert value of type 'ByteBuffer' to expected argument type 'Data'
throw try decoder.decode(SendGridError.self, from: byteBuffer)
                                                   ^

To reproduce the error, you can use the following Dockerfile:
FROM swift:5.7.1-focal as build

# Install OS updates and, if needed, sqlite3
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
    && apt-get -q update \
    && apt-get -q dist-upgrade -y \
    && apt-get install -y libsqlite3-dev \
    && rm -rf /var/lib/apt/lists/*

# Set up a build area
WORKDIR /build

# First just resolve dependencies.
# This creates a cached layer that can be reused
# as long as your Package.swift/Package.resolved
# files do not change.
COPY ./Package.* ./
RUN swift package resolve

# Copy entire repo into container
COPY . .

# Build everything, with optimizations
RUN swift build -c release --static-swift-stdlib

And the following docker-compose.yml:
version: '3.7'

services:
  app:
    image: demo:latest
    build:
      context: .

Looks like this will be fixed in #13

@melgu 2.0.1 has been tagged :)


Propagate/expose object headers from storage adapters

In order to facilitate caches and to set file metadata/headers on http server and nfs/dav/fuse mounts - we need to propagate object headers from storage fetch method.

Storage adapter fetch should return a struct with readercloser reference, and object metadata
CDR metadata needs to be extended

@ozkatz we can put all them headers in a map trash can or we can create a struct with important ones (e.g. ETAG, expire, timestamp). or both. preference?


MRVC or LowLatencyMRC players for Non Windows devices.

Hello,
I'm trying to set up a Unity app to stream from the hololens to multiple platforms. From my understanding I just need to compile the dlls for the other platforms, but I have no clue if this is achievable in any sort of easy way.
To be able to utilize this I need at least OS X and iOS.
I really just need any way to play the stream on these other platforms.

Unfortunately, there are no immediate plans to support additional platforms. The key pieces required for a player component would require a network TCP stack, and a way of decoding H.264 frames that are received from the network. The network protocol is simple enough, each network message has a simple header that describes the packet type with a size. For each type, convert to the appropriate structure to get the data.
The harder part would be decoding each of the h.264 frames once streaming begins. Each frame is a serialized IMFSample, which has both attributes and buffers.

Thanks for the reply. I'm pretty sure there are h.264 decoders out there that support os x and ios, so that part shouldn't be too terribly hard. But developing libraries like this is outside of my current scope so I'm reliant on finding someone who can build the necessary dlls to support this for Unity apps on these other platforms.


Add Dockerfile

Signed-off-by: Nicko Guyer<EMAIL_ADDRESS>

Codecov Report

Merging #37 (6ded5bd) into main (a755619) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #37   +/-   ##
=======================================
  Coverage   59.17%   59.17%
=======================================
  Files          11       11
  Lines         801      801
=======================================
  Hits          474      474
  Misses        317      317
  Partials       10       10

Continue to review full report at Codecov.

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


DRILL-5809 Fixed Option Storage Backward Compatibility Issue Introduced With Option System Change

This PR resolves the backward compatibility issue introduced with https://github.com/apache/drill/commit/6adeb986016a769755fd5e8fc66244ee1e8d18e1 using the strategy outlined by Paul in this thread http://mail-archives.apache.org/mod_mbox/drill-dev/201709.mbox/<BLUPR16MB0371144903DC73E0505BA1FEC3670%40BLUPR16MB0371.namprd16.prod.outlook.com>

@paul-rogers

@paul-rogers Applied comments and squashed commits

@paul-rogers Applied comments and did a few other changes. Unit tests cover backward compatability. I manually tested forward compatability locally by saving some options with the new version using the LocalStore. Then I rolled back to an older version of Drill and loaded the data from the LocalStore.

Thanks for the changes.
+1


Optional parts not working as expected

I have an mask containing optionals, like *-******[-**].
My expectation is, that it either accepts a-bcdefg or a-bcdefg-hi but NOT a-bcdefg-h (last character missing).
Is this a bug or a desired behavior?
Tested using the latest version from dist.

Can you retry with 5.0.9-beta.7

@fanste ,
I tried your mask.
Initial: -_____
Type: abcdefgh => a-bcdefg-h_
Blur: a-bcdefg-h_
The mask is visually ok, but I noticed a oncomplete is triggered, which is incorrect.
Is this what you mean?

I noticed, that I missed a detail in the initial posting, sorry for that.
I've edited the initial posting and added the info about clearIncomplete = true.
So in other words:

The InputMask is configured to clear the entered value, if the mask is not fully filled ( => clearIncomplete=true)
The mask is set to *-******[-**]
If I only fill 1-234567-8 (missing the last position) and blur, what is the desired outcome?

clear the field, as the input incomplete and clearIncomplete is set
keep the value as it is currently implemented

You mentioned that oncomplete is triggered which should not be the case. So i think that clear the field (=> option 1) should be the desired behavior?

@fanste ,
Version 5.0.9-beta.10 should fix the issue.


Cachet v2.5.0 404 Incident updates

Developing a POC for my office to make use of cachet and we're testing the API functionality.
I'm getting a 404 response when trying to create an update:
GET incident snippet:
{
            "id": 5,
            "component_id": 0,
            "name": "API Test Incident 3",
            "status": 2,
            "message": "API Test Incident 3",
            "created_at": "2019-01-22 14:00:00",
            "updated_at": "2019-01-22 14:00:00",
            "deleted_at": null,
            "scheduled_at": "2019-01-22 13:41:50",
            "visible": 1,
            "human_status": "Identified"
        }

POST Incident update creation
http://localhost/api/v1/incidents/5/updates

Content-Type:application/json
X-Cachet-Token:<REMOVED>

{
    "status": 2,
    "message": "update test"
}

And the response:
{
    "errors": [
        {
            "id": "c352ccfe-a7e7-4a1f-b7bd-05fb8ca5106e",
            "status": 404,
            "title": "Not Found",
            "detail": "The requested resource could not be found but may be available again in the future."
        }
    ]
}

cc @CachetHQ/core

Moving to the main Cachet repo.


Payment permit generation issue

Describe the background or context
          @0xcodercrane why isn't the payment permit generated here?

Originally posted by @pavlovcik in https://github.com/ubiquity/pay.ubq.fi/issues/73#issuecomment-1628831785
Describe the solution

Figure out why it happens rarelly

The theory for why it happens must be proven with an example to prove that the theory is correct.

Make sure it doesn't get blocked by any unexpected stuff.

I think that in order to collect the bounty, the theory for why it happens must be proven with an example to prove that the theory is correct.

I think to debug this issue one would need access to logs and also logging would need to be improved as per #511


Remove newline from odo create output

Removes an extra newline that was added to the output.
log.Infof already adds a newline..

level=fatal msg="failed to fetch Cluster: failed to generate asset \"Cluster\": failed to create cluster: failed to apply using Terraform"

/retest

/approve

/lgtm


Memory usage growth

We are seeing an increase in memory usage from 70 mb to 356 mb in 9 hours.
Centos 7.
routr.service - Routr
   Loaded: loaded (/etc/systemd/system/routr.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-09-11 23:21:56 MSK; 9h ago
 Main PID: 5497 (sh)
    Tasks: 72
   Memory: 356.8M
   CGroup: /system.slice/routr.service
           ├─5497 sh /usr/local/routr/routr
           └─5501 /usr/local/routr/jre/bin/java -Dlog4j.configurationFile=config/log4j2.xml -Dnashorn.args=--no-deprecation-warning -classpath libs/* com.fonoster.routr.core.Launcher

And still growing
   Active: active (running) since Wed 2019-09-11 23:21:56 MSK; 10h ago
 Main PID: 5497 (sh)
    Tasks: 72
   Memory: 366.5M

I'm currently taking a look at this issue. I was able to reproduce the error by shorten the registration time to 1s. The current version in OSX stars at  ~600mb. The process seems to peak to ~900mb.
Sampling process 26319 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling java (pid 26319) every 1 millisecond
Process:         java [26319]
Path:            /Library/Java/JavaVirtualMachines/graalvm-ce-19.0.2/Contents/Home/bin/java
Load Address:    0x104d0a000
Identifier:      java
Version:         1.0 (1.0)
Code Type:       X86-64
Parent Process:  sh [26315]

Date/Time:       2019-12-07 09:41:25.677 -0500
Launch Time:     2019-12-07 09:38:28.049 -0500
OS Version:      Mac OS X 10.14.4 (18E224)
Report Version:  7
Analysis Tool:   /usr/bin/sample

Physical footprint:         840.2M
Physical footprint (peak):  857.2M

This seems to be related to https://github.com/fonoster/routr/issues/60

I trace this to an issue with the js engine which causes the memory grow until which eventually triggers #60. I'm submitting a fix that will be available in RC4. I'm closing this issue but feel free to re-open this happens again.


Client Allocation Request for: AOEU Inc.

Client Allocation Questions
Core Information

Name: AOEU Inc.
Website / Social Media: aoeu.com, (aoeuinc, aoeu)
Region: Africa
DataCap Requested: 288 GiB
Addresses to be Notarized: f789607895687058
Notary Requested: Irene Young

Application created via filplus.storage

This user’s identity has been verified through filplus.storage


I ran this and nothing happened.

Could it be because I ran rm -rf /* before compiling?

Hmmm.... I had the same issue here... But luckily I found everything in /dev/random

How fast did nothing happen? For me nocode ran in no time at all.


Adding status message to response to inform user on warnings.

the apis status messages are returned so user can be informed on warnings concerning addressdata.
Example:
{:shipment_number=>"41276....", :label_url=>"http://test-intraship2.dhl.com:80/c......", :status_message=>["ok", "Warning: The address could not be validated correctly. Please correct the street name, because this is unknown for entered post code or written incorrect. This could lead to delays within shipment delivery advice ([NON_CODABLE])"]}

Looks good to me.


vttablet: deprecate StrictMode in favor of RBR

StrictMode was an old flag and pretty much unsafe to turn off.
It's now been removed. Instead, if we detect that we're in RBR
mode, we use that to just pass-through queries that are otherwise
too complex.

LGTM
by proxy


chore: Add Bhavik Bhavsar as Release Actor

Signed-off-by: Tibor Dudlák<EMAIL_ADDRESS>

Thank you :)


Multiple OrderBy support

Hello
At current time Orma support only single orderBy operator for  queries
orderBy(@NonNull OrderSpec<Model> orderSpec)
Better practice (such us in Realm)
orderBy(@NonNull OrderSpec<Model> ... orderSpec)
or
orderBy(@NonNull OrderSpec<Model>[] orderSpec)

orderBy(orderSpec) adds orderSpec to the ORDER-BY clause, not sets.
i.e. it sets orderSpecs to relation / selector:
for (OrderSpec<Model> orderSpec : orderSpec) {
  relation.orderBy(orderSpec);
}

What do you think of this solution?

Thanks for quick reply.
After your answer I looked sources: all calling orderBy add new spec for query
Issue isn't actually now

👍


chore: Move Commute results earlier

These lemmas aren't really proved any faster using units, and I will soon need them not to be proved using units.
Part of #9411

bors merge

bors merge


greedy decomposition not working on some german verbs

I was testing the example of greedy decomposition for German, which works for the example angekündigten, but when using the word funktioniert, I get funktioniert out. Oddly though, both funktionierten and funktionierte return funktionieren. Testing again with angekündigt, it works as expected and returns the infinitive.

Hi @joprice I was working on something else but I take good note of your example. By design the simplemma preserves the word forms rather than overgenerating lemmata.
As it cannot differentiate between word forms I often use the shorter form as a proxy: funktionierten is longer than funktionieren but not funktioniert. Besides, adjectives are often found in similar forms (-iert) although the length is probably the culprit here.


Handling events on rotation

Green robot works fine for me. But I have this rare case when lets say I fire a service call from an activity, and the moment the service call is returned to greenrobot to post it back to activity .. the user rotates. So the current state of activity will be destoryed and getting recreated but not created yet.. in that case my reult will not be handled.
Any ideas how to handle this using green robot .. I know its really hard to happen but it might.
What I was thinking in send a stickypost instead of a regular but I dono how appropriate that would be.

I have not tried this yet but posting sticky events and using EventBus#removeStickyEvent after consuming these could work. You'll have to preserve processed data via standard methods like onSaveInstance.

If anyone searches for this issue maybe my solution can help. I have a singleton that stores a queue. Since singleton will not be destroyed, so I can always have access to it. The queue maintains the order of the events so we never process out of order.
• If an event is sent with no subscriber OR if the queue is not empty, the event will be put into the queue. This can occur during orientation change which can cause a subscriber to unregister right as the event is posted.
• After orientation change and app resumes, it should process events from this queue until it is empty!
Let me know if this is helpful!

So a related question I have is.... Does this EventBus not handle queing (as in a JMS queue)?  I thought that was one of the reasons for having an event bus... to, for example, make a network call, but the activity that was going to consume it has now been backgrounded (because you got a phone call or whatever.) and so you want to subscribe to the bus again and if it has anything in the queue, it will give it to you.  Does this event but not handle queing like this?

Does this EventBus not handle queing

Last of each sticky event remains cached. Unless you manually remove it.
Removing a sticky event typically isn't safe because multiple subjects may be listening and you'd be making one of them responsible for cutting access to the event. One of the subscribers never knows about the state of all subscribers.
So you don't remove the sticky event. And process the same event on each configuration change (if you registerSticky in onStart).
That doesn't sound fancy for performance. It also sounds like a lousy replacement for a proper persistent storage such as SQLite database, or Realm or something that backs up data to disk (and in better case holds some kind of in memory cache).
Implement proper persistent model. Don't use sticky broadcasts.

Yeah, I agree.  Doesn't seem that helpful for subscribers that may be down.  Will have to implement my own queue in a service or something.  Lame...


add controls for angular bounds of subsiding region

Closes #94.
This adds two parameters to the yaml: theta1 and theta2 which set the bounds for the subsiding region.
Default behavior is unchanged from how it was previously. This just adds a bit of flexibility, for complex situations subclassing should be encouraged/used. Added a few tests to check the yaml behavior and to check that we could control the subsiding region.

Codecov Report

Merging #108 into develop will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #108      +/-   ##
===========================================
- Coverage    75.67%   75.64%   -0.04%
===========================================
  Files           11       11
  Lines         1472     1470       -2
===========================================
- Hits          1114     1112       -2
  Misses         358      358

Impacted Files
Coverage Δ

pyDeltaRCM/init_tools.py
99.28% <ø> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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

lgtm. It would be helpful to have a good example document somewhere showing the pattern of subsidence created by a few sets of options. I think this fits into the broader documentation effort, and the need to do even more work to get subsidence all polished up, and you have some minimal documentation here, so I'm good with just opening an issue to address it down the line (or adding to an existing issue?).
Nice pr.

Yeah fair enough. Will sort this out so it is ready to merge after #104.

document looks great. I approve whenever you want to merge :+1:


[nitro-protocol] Introduce Interfaces with NatSpec

This PR introduces the following interfaces:

Adjudicator
IAssetHolder
IForceMove*

*not actually an interface, but an abstract contract. See comment below.
The new inheritance graph looks like this:

The idea is to move toward a clearer separation between the specification of a contract and its implementation.
A nice side effect is that the interfaces can be the main target of the NatSpec documentation, and this will get around some prior issues (see discussion in #33 ) with NatSpec-ing contracts with external imports (since interfaces are unlikely to rely on external contracts).

Note that IForceMove is an abstract contract and not an interface. This is because interfaces have fairly strict requirements which would require a fairly large refactor to satisfy. That refactor to be subject to another PR and separate discussion (it comes with downsides and may not be worth it).


Check if API directory exists before generating Build

One day I miss typed SDK Directory instead of "C:" I forgot the backslash like "C:Program Files". For some reason CMake Built the solution for Visual Studio but the Resource Compiler was giving errors. So I thought that it would be nice if CMake checks if directory exists before it builds.

Thanks for the contribution, @arhitextura. I agree that misspelled SDK path should raise an error, but as I see that some lines after your modification there is a code that detects the same error:
set (ACAPINC_FILE_LOCATION ${AC_API_DEVKIT_DIR}/Support/Inc/ACAPinc.h)
if (EXISTS ${ACAPINC_FILE_LOCATION})
	file (READ ${ACAPINC_FILE_LOCATION} ACAPIncContent)
	string (REGEX MATCHALL "#define[ \t]+ServerMainVers_([0-9][0-9])" VersionList ${ACAPIncContent})
	set (ARCHICAD_VERSION ${CMAKE_MATCH_1})
	message (STATUS "Archicad Version: ${ARCHICAD_VERSION}")
else ()
	message (FATAL_ERROR "Failed to detect Archicad version, please check the value of the AC_API_DEVKIT_DIR variable.")
endif ()

As far as I understand project generation should fail without your modification, too. Am I missing something?

I made a spelling error in the dev kit path and still CMake built it without warning. When I debuged CompileResource.py the path was not good because resconv.exe was not found. My typo was like this:
"C:Program Files\GRAPHISOFT\API Development Kit 24.3009" instead of
"C:\Program Files\GRAPHISOFT\API Development Kit 24.3009"

For me the original versions shows the error, too. Could you please double check if the modification is really needed?

I will check again tomorrow I don't have access to a pc right now.

I double checked and the error is gone. Maybe it was something I missed. You can remove this pull request.

Thank you for checking this, and feel free to open issues or pull requests if you have any further improvement idea. Every contribution is welcome!


fix: spellcheck makefile target fails if SELinux is active

This patch fix the spellcheck docker run command to allow the container to read the source code when SELinux is active.
Fixes: #4519

I tested manually this patch with and without SELinux, and with a Docker machine on a Mac.

/ok-to-merge updating Makefile


Updated Validation Rules for Topics, Actions and Services

Respected Miss Nadia

The imports for ros.node,ros.artifact, ros.package are necessary.
The file gitignore should i remove it from the project?
I will try the previous method. I have checked this one and you are right it is working on the full node and not where it should be.

Thanks and regards
Ameer Hamza

From: Nadia Hammoudeh García<EMAIL_ADDRESS>Sent: Friday, November 08, 2019 11:23 AM
To: ipa320/ros-model
Cc: Hamza, Ameer; Author
Subject: Re: [ipa320/ros-model] Updated Validation Rules for Topics, Actions and Services (#82)
@ipa-nhg requested changes on this pull request.

In plugins/de.fraunhofer.ipa.ros.xtext/.gitignorehttps://github.com/ipa320/ros-model/pull/82#discussion_r344106144:

@@ -0,0 +1 @@
+/bin/

this file is not needed as there is a main one for the repository https://github.com/ipa320/ros-model/blob/master/.gitignore

In plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/validation/RosValidator.xtendhttps://github.com/ipa320/ros-model/pull/82#discussion_r344107201:

@@ -6,6 +6,11 @@ import org.eclipse.xtext.validation.Check
import ros.Node
import ros.Artifact
import ros.Package
+import org.eclipse.emf.ecore.resource.Resource

I think this imports are not needed
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ipa320/ros-model/pull/82?email_source=notifications&email_token=ANIBBJCWY2K3XB2M2ZTVBY3QSU42VA5CNFSM4JKVH7N2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCK4PETY#pullrequestreview-314110543, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANIBBJE7VVNKP46ID7Z73VTQSU42VANCNFSM4JKVH7NQ.

Superseded by https://github.com/ipa320/ros-model/pull/83


Review visually hidden Helper CSS

I came across this: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L137.

Fixed in #91.


[opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths.

Also delete vcpkg_get_program_files_32_bit because it was used in only one place.
Resolves #8288 (and probably others)
Obsoletes #11421, #11261, #8329

Related: #11261.


Update channel-setup-retail.md

Updated path to include the correct module designation

These changes were made and published from the private repo.


docker swarm leaving replicas in created mode

With the following configuration:
Fedora 25
Docker 17.06.1-ce
cc-runtime 3.0.0-beta.1
commit   : 48255158a15166ecaae2497c3b15f203b7728727
OCI specs: 1.0.0-rc5
While starting swarm and then creating a service to launch swarm replicas, it is seen that replicas are
shown in "created" mode or not running
CONTAINER ID        IMAGE                 COMMAND                   CREATED             STATUS                        PORTS               NAMES
1686ced00a9c        gabyct/nginx:latest   "sh -c '"hostname ..."   2 seconds ago       Created                                           test.1.wc9cruvrx3aj7n7i3v80n2mli
51e8ee70c83c        gabyct/nginx:latest   "sh -c '"hostname ..."   9 seconds ago       Exited (127) 2 seconds ago                        test.1.nhmnrsb27hoi1uxl2fkyvzy3l
e849382dd470        gabyct/nginx:latest   "sh -c '"hostname ..."   16 seconds ago      Exited (127) 9 seconds ago                        test.1.lnhlknuss20lwa668v1jgimkw
8eda4543e783        gabyct/nginx:latest   "sh -c '"hostname ..."   22 seconds ago      Exited (127) 16 seconds ago                       test.1.6k8qe8b2dnwca6hbvts9r4jon
0205ee1fc74c        gabyct/nginx:latest   "sh -c '"hostname ..."   29 seconds ago      Exited (127) 23 seconds ago                       test.1.bj5pw2888pn8p1xt62h0qryu7
95ded7a418ba        gabyct/nginx:latest   "sh -c '"hostname ..."   37 seconds ago      Exited (127) 30 seconds ago                       test.1.dzm4ls7haix860hm5kplx0ck1

Tried reproducing this in a Fedora VM with ciao-down, was not able to do so. I see that the containers are in running state and can be exec'ed into.
$ sudo docker swarm init
Swarm initialized: current node (j19wxzqbx16wv3617fllqohsq) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-5u3ao2g6axixn9o2978jlfr644keqxutnk6wf2k113ah3c8ivy-2lsqxlzmhq9ys5zhchqqjw1yu <IP_ADDRESS>:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

[amshinde@singlevm ~]$ sudo docker service create --name testswarm --replicas 4 --publish 8080:80 nginx /bin/bash -c "hostname > /usr/share/nginx/html/hostname; nginx -g \"daemon off;\""
ljzuvrv2fcku2xp9pv6esshu4
Since --detach=false was not specified, tasks will be created in the background.
In a future release, --detach=false will become the default.

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
3b54b9ebae5b        nginx:latest        "/bin/bash -c 'hos..."   14 seconds ago      Up 8 seconds        80/tcp              testswarm.1.px7685r2n3yynd324vguryurz
f97c7c24e0bb        nginx:latest        "/bin/bash -c 'hos..."   15 seconds ago      Up 9 seconds        80/tcp              testswarm.3.pofjifwhrza3x54zjb4h5slgr
1f51b9cab398        nginx:latest        "/bin/bash -c 'hos..."   15 seconds ago      Up 8 seconds        80/tcp              testswarm.2.tr554n6c6lozazyp2c48dpqsf
2f5820f808a3        nginx:latest        "/bin/bash -c 'hos..."   15 seconds ago      Up 7 seconds        80/tcp              testswarm.4.kjuhulx7bcidrnojw84y5btz1

sudo docker service ps testswarm
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE           ERROR               PORTS
px7685r2n3yy        testswarm.1         nginx:latest        singlevm            Running             Running 5 minutes ago
tr554n6c6loz        testswarm.2         nginx:latest        singlevm            Running             Running 5 minutes ago
pofjifwhrza3        testswarm.3         nginx:latest        singlevm            Running             Running 5 minutes ago
kjuhulx7bcid        testswarm.4         nginx:latest        singlevm            Running             Running 5 minutes ago

I have tried the above with
Fedora 25
Docker 17.06.2-ce
cc-runtime  : 3.0.0-beta.2
commit   : d5a569a1cf65584380339414ed430c315376a036
OCI specs: 1.0.0-rc5
@egernst Not able to reproduce this issue, can we close this?


[Bug]k3d start doesn't bring back the server container

Issuing the command: k3d start --name <custom name> after a reboot where in the previous session I didn't stop the cluster only my worker nodes(containers) come up but not the server node.
The output shows that the container was started but it actually is not present.
2019/05/18 15:59:20 Starting cluster [prometheus] 2019/05/18 15:59:20 ...Starting server 2019/05/18 16:00:01 ...Starting 5 workers 2019/05/18 16:00:42 SUCCESS: Started cluster [prometheus]
Here is the docker ps output:

And of course you can't get cluster information since the master is absent:
 $ export KUBECONFIG="$(k3d get-kubeconfig --name='prometheus')"
2019/05/18 16:08:45 No server container for cluster prometheus

Hey, thanks for opening this bug report. I guess this is a similar issue to #54. Can you reproduce this with the latest dev build or with a custom build from the top of the master branch?
I will create a new non-dev release soon.

Thank you for getting back this fast. Just installed k3d version v1.1.0. Let me try this and see if I get the same results. By the way this is a great project keep it up. I am just getting started with k8s and with my machine being so low on specs minikube works but k3s is actually what I have been looking for.

Just released v1.2.0, you may want to try it with this one :+1:
Easy installation via: wget -q -O - https://raw.githubusercontent.com/rancher/k3d/master/install.sh | bash

Thanks, it actually starts if you add --all otherwise it behaves the same way.

I just checked with the master branch and this works fine when I use Docker for Desktop on windows

Hi @rugwirobaker , I couldn't reproduce this with v1.2.0... can you please give some more details?

Which version of k3d are you currently using?
Which OS are you on?
Which commands did you issue to hit this problem?
Can you check the logs of the server container with docker logs please?

Hello @iwilltry42,
my bad, just went back and retraced my steps, first by stopping the cluster with  k3d stop --name <custom-name> on restart the server cluster is up and running, then I powered off my laptop without stopping the container and on reboot restarted the cluster with  k3d start --name <custom-name> which also worked. I can confirm that the bug was solved as far as I am concerned.
My setup:

k3d version v1.2.0
ubuntu 18.64, amd64

Cool, thanks for the update :)
I'll close the issue then :+1: