Relax the ExactSizeIterator trait.

Specifically, shift the requirement that size_hint return the exact size of the Iterator to len.
Rendered

I think this is a good idea: using traits to put requirements on other traits implemented by a single object is problematic.
I wonder if there are any other traits that add restrictions like this via documentation?

Can you give an example of an iterator with this property? I can only think of ExactSize O(n) iterators, which are pretty silly to do ExactSize for (I think?).

I can only think of ExactSize O(n) iterators, which are pretty silly to do ExactSize for (I think?).

What if you have a doubly linked list and want to enumerate it backwards (dlist.iter().enumerate().rev())? Yes, computing the length takes O(n) time but that's the only way to enumerate backwards. However, computing the length isn't worth it if you just need a size hint.

Can you give an example of an iterator with this property?

The only thing I can think of is a perfectly balanced/filled tree that caches min/max information (or just returns a size_hint of (0, None)). The number of items in the tree could be calculated by determining the depth of the tree (O(log(n))).
Regardless, I'm not bringing this up because I need a non-constant time len. I'm bringing this up because this restriction doesn't provide any benefit (as far as I know) and someone could need a non-constant time len sometime post 1.0.

Sorry for the overdue response on this one.
After discussing some with @alexcrichton, our feeling was that much of the purpose for ExactSizeIterator is saying that len is cheap to compute, so that motivation doesn't seem too compelling. Would you mind updating the motivation slightly?
That said, the change to the comment seems fine regardless.

Updated.

There's a big drawback that is not addressed. It requires all adaptors to implement both size_hint and len separately.

:-1:
I don't think it's a good idea for ExactSizeIterator to relax the requirement that Iterator::size_hint must return the exact size of the iterator. Making that change has two drawbacks:

It suggests that ExactSizeIterator::len() can be implemented in a more expensive fashion (and in fact you have given an example of an iterator where computing the exact size would be expensive). I think this is something we definitely do not want. All existing code that uses ExactSizeIterator has been written with the assumption that calling len() is cheap (just as calling size_hint() is cheap), and that's a very valuable assumption to be able to make.
It allows ExactSizeIterator::len() and size_hint() to disagree, which I think is a bad idea as well. Any existing code that is bounded on ExactSizeIterator knows that it can call APIs that don't have that bound and that those APIs will still get the exact size if they use size_hint(). For example, size_hint() is used as part of Vec's implementation of FromIterator. This means any existing code that is bounded on ExactSizeIterator knows that it can construct a Vec from it and that the Vec will be precisely sized, which may be important for reasoning about the performance of the code in question. Similarly, any existing code using ExactSizeIterator may have been written to call size_hint() instead of len() (for whatever reason) with the knowledge that size_hint() returns the exact size.

It seems the only real motivation for making this change is that it seems like ExactSizeIterator::len() is useless (as it returns the same info size_hint() does). But len() exists for two reasons:

It asserts that the size_hint's lower and upper bounds are identical (sadly not a debug assert, because it's part of the stdlib, so it will perform this check even under optimization).
It provides a more convenient interface for getting "the length" of the iterator for those iterators that are known to have an exact length.

If you want to be able to have a way to request a potentially-expensive exact length computation of an iterator, I'd suggest introducing a different mechanism to do so (perhaps a different trait). Of course, you can always call .count() on the iterator, which consumes it and returns the exact size it had, which is perfectly fine for any iterator that can be cheaply cloned (so you can consume the clone). And you could investigate overriding .count() on the stdlib-provided iterators that conform to ExactSizeIterator to have them simply return their known size (so that way calling .count() on such an iterator is no more expensive than calling .len()). And you could also investigate adding .as_ref() methods to all the stdlib-provided iterators that own their contents (such as std::vec::IntoIter) that return iterators that yield references instead (thus allowing you to .count() those reference iterators without consuming the underlying iterator).
That said, you already said that you don't actually need non-constant-time len, so I expect that you don't actually need to do any of this.

The "potentially expensive" motivation was dropped. The only motivation left is that traits should avoid imposing requirements on other traits (its messy and brittle). However, given your objection and @bluss's comment, I'm just going to go ahead and close this. I still feel that this API is a mistake but it's too dangerous to change it at this point.

I agree it is messy as the situation is now. I even suggested we remove this trait (for lack of use case).

for lack of use case

It's not very commonly used, but it is required for the rposition() method and for certain DoubleEndedIterator implementations (such as the ones for Zip and Enumerate)


Language selection

When i am selecting some other language in rake then it is not identifying keyphrase rather its throwing the whole sentence as an key phrase.

Are you able to post a snippet/gist with the code you're using and the output?

`from rake_nltk import Rake
r = Rake("german")
text = "Weitere Luftschläge gegen syrische Stellungen würden "unweigerlich Chaos" verursachen, droht Russlands Präsident Putin. Frankreich will den Konflikt jetzt mit einer neuen Uno-Resolution entschärfen."
r.extract_keywords_from_text(text)
print r.get_ranked_phrases() # To get keyword phrases ranked highest to lowest.`
The above code produces the following output:
['frankreich will den konflikt jetzt mit einer neuen uno', 'weitere luftschlge gegen syrische stellungen wrden', 'droht russlands prsident putin', 'unweigerlich chaos', 'resolution entschrfen', 'verursachen']
It seems like for languages other than English, it is not removing stopwords at all!

@juggernauts : When you use the API as r = Rake("german") you are not actually using the API with language set to german. You need to use it as r = Rake(language="german") to get that set. i,e Language is not the first parameter to the API. Please use as above and it will work as advertised.


EN-3331 - add app_id to logs

we lost the [mod_perimeterx] in the log - we should prefix the log messages with PerimeterX or something like that so we can easy identify our messages from the rest.


Fails to roundtrip various types

I have the following test case:
Cargo.toml
[package]
name = "toml-bug"
version = "0.1.0"
authors = ["sp3d"]

[dependencies]
toml = "0.4"
serde = "1.0"
serde_derive = "1.0"
sodiumoxide = "0.0.15"

src/main.rs
#[macro_use]
extern crate serde_derive;

extern crate toml;
extern crate sodiumoxide;

use sodiumoxide::crypto::box_::curve25519xsalsa20poly1305::*;

#[derive(Serialize, Deserialize, PartialEq)]
pub struct PubKey(PublicKey);

#[derive(Serialize, Deserialize, PartialEq)]
struct S { pubkey: PublicKey }

#[test]
fn test() {
	let (pubkey, _privkey) = gen_keypair();
	let s = S {pubkey};

	let encoded = toml::to_string(&s).unwrap();
	println!("encoded: {}", encoded);
	let s2 = toml::from_str(&*encoded).expect("failed to roundtrip");
	assert!(s == s2);
}

#[test]
fn test2() {
	let (pubkey, _privkey) = gen_keypair();

	let encoded = toml::to_string(&pubkey).unwrap();
	println!("encoded: {}", encoded);
	let pubkey2 = toml::from_str(&*encoded).expect("failed to roundtrip");
	assert!(pubkey == pubkey2);
}

#[test]
fn test3() {
	let (pubkey, _privkey) = gen_keypair();
	let pubkey = PubKey(pubkey);

	let encoded = toml::to_string(&pubkey).unwrap();
	println!("encoded: {}", encoded);
	let pubkey2 = toml::from_str(&*encoded).expect("failed to roundtrip");
	assert!(pubkey == pubkey2);
}

At present test2 and test3 panic with  Error { inner: ErrorInner { kind: Wanted { expected: "a right bracket", found: "a comma" }.
If I implement deserialize_bytes as follows, test2 starts working but test3 continues to give the same error. Am I on the right track here? Any guidance would be appreciated.
diff --git a/src/de.rs b/src/de.rs
index d5af272..5d0018d 100644
--- a/src/de.rs
+++ b/src/de.rs
@@ -248,10 +248,40 @@ impl<'de, 'b> de::Deserializer<'de> for &'b mut Deserializer<'de> {
         }
     }

+    fn deserialize_bytes<V>(
+        self,
+        visitor: V
+    ) -> Result<V::Value, Error>
+        where V: de::Visitor<'de>
+    {
+        let mut ret = Vec::new();
+
+        let at = self.tokens.current();
+        let value = self.value()?;
+        let out = match value {
+            Value::Array(v) =>
+                v.iter().fold(Ok(()), |state, inner| {
+                    if state.is_err() {
+                        return state
+                    };
+                    match inner {
+                        &Value::Integer(n) if n < 256 => { ret.push(n as u8); Ok(()) },
+                        &Value::Integer(_) => Err(self.error(at, ErrorKind::NumberInvalid)),
+                        _ => Err(self.error(at, ErrorKind::MixedArrayType)),
+                    }
+                }),
+            _ => Err(self.error(at, ErrorKind::Wanted {
+                    expected: "a byte array",
+                    found: "something else"/*self.token.describe()*/,
+                })),
+        };
+
+        return out.and_then(|()| visitor.visit_bytes(&*ret))
+    }

     forward_to_deserialize_any! {
         bool u8 u16 u32 u64 i8 i16 i32 i64 f32 f64 char str string seq
-        bytes byte_buf map struct unit newtype_struct
+        byte_buf map struct unit newtype_struct
         ignored_any unit_struct tuple_struct tuple option identifier
     }
 }

Thanks.

I can reduce test3 (which still fails) to a simpler case not involving serde:
#[derive(PartialEq, Serialize, Deserialize)]
pub struct UsizeWrapper(usize);

#[test]
fn test4() {
	let lt = UsizeWrapper(4);

	let encoded = toml::to_string(&lt).unwrap();
	println!("encoded: {}", encoded);
	let lt2 = toml::from_str(&*encoded).expect("failed to roundtrip");
	assert!(lt == lt2);
}

I'll put together a PR for the fix for test/test2; I don't understand yet how to fix test3/test4. Do you think you could point me at the code relevant to [de]serializing tuple-structs?

Ok, apparently this case is actually explicitly separated as newtype struct, and toml-rs doesn't support the more general forms of tuple structs. However, when I add code to the impl of de::Deserializer for Deserializer to handle newtype structs (such as the below), it fixes test3 while leaving test4 unchanged:
    fn deserialize_newtype_struct<V>(
        self,
        _name: &'static str,
        visitor: V
    ) -> Result<V::Value, Error>
        where V: de::Visitor<'de>
    {
        return visitor.visit_newtype_struct(self)
    }

In test4, the newtype struct serializes to just the string 4. And it kind of makes sense that toml-rs refuses to deserialize that, since it's not a valid TOML document on its own. But the same should be true for the naked arrays serialized and deserialized in test2 and test3 (e.g. [75, 33, 238, 90, 63, 60, 170, 120, 212, 143, 73, 18, 161, 210, 218, 110, 72, 72, 67, 229, 19, 31, 24, 209, 204, 144, 133, 92, 176, 227, 24, 101]). So now I'm not sure what to do. If toml-rs should serialize values to valid TOML documents, then the serialization for "bytes" and newtype structs is wrong, and the deserialization should be written against a corrected serialization, not the present one.
Any thoughts?

@sp3d that addition of handling newtype structs looks good to me! I'm not sure I follow the business with "test4" though, mind elaborating?

At this point I don't think that either of the impls I posted above should be included in the library, because they deserialize strings which are not themselves valid TOML documents (key-value pairs and tables). However, I'm confused by the fact that these strings are currently produced by toml-rs when asked to serialize bytevectors and tuple-structs. Shouldn't toml-rs always serialize a value to a valid TOML document?
Test4 is the test that made me realize this problem, as it simply serializes to "4" at the moment, which is very clearly not a TOML document (which, per the spec and the general setup of toml-rs's deserializer, consist of key-value pairs and tables, but not standalone values).
It seems like the right way to address this may involve separate traits for top-level and value-level (as in, right-hand side of a key-value pair) serialization, since a given Rust value may need to be serialized either standalone or as part of another value.

The thinking was that you could serialize any toml-like-value, but you can only parse toml documents. I wouldn't mind changing the parser to also accept toml-like values so you could parse just a toml string or number instead of only being able to parse out tables.

I don't really know of a use case for serializing to "toml-like" strings, except as part of serializing to a complete TOML document. I'd think it would make more sense to make the distinction between top-level and key-value-rhs serialization modes internally to toml-rs, but as a user of the library it's much simpler and more robust to always get valid TOML documents out and accept the same.

Yeah I'm fine tiehr way!

Maintenance of this crate has moved to the https://github.com/toml-rs/toml repo.  As a heads up, we plan to move toml to be on top of toml_edit, see https://github.com/toml-rs/toml/issues/340.
Closing this out.  If this is still a problem, feel free to recreate this issue in the new repo.


Unable to connect to Mailhog from container

With cachalot I was able to send mail from PHP application/container to Mailhog by using ssmtp config mailhub=mailhog.docker.amazee.io:1025. Outgoing mail was routed to Mailhog perfectly.
Upgrading to pygmy this doesn't work anymore. Apparently the 1025 port isn't forwarded/linked to Mailhog anymore.
Trying with telnet from PHP container:
root@309fadbe2c8d:/var/www/html# telnet mailhog.docker.amazee.io 1025
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused

Am I doing something wrong or is this a bug?

Hi @todeveni
I shortly checked that and it seems to work without any issues. Note you'll need to connect via the IP internally
[drupal-example]cli-drupal:/app$ telnet <IP_ADDRESS> 1025
220 mailhog.example ESMTP MailHog


Fix misconfigured package name used in examples/blocks/blocks.go

examples/blocks/blocks.go was introduced in #480, but it doesn't use nlopes/slack package, but the PR's author's package.
I think that it is better to use the upstream repository, nlpopes/slack, to avoid confusion when running examples.

oh god. haha. thanks


Improvement to "--list" flag

Right now, radio --list shows the user's list of favorite stations and then drops them right back to the shell. Perhaps we could improve the --list flag so it asks the user if (s)he wants to play a station from that list? We could attach numbers to the favorites list, and the user could just input the number of the station (s)he wants (or, say, 0 to go back to the shell as before).
On a related note, we could also improve the question Type the result ID to play: so it will actually accept 0 as a valid input to go back to the shell. This already does work, but the program also prints error messages at the end before dropping to the shell. Perhaps the user legitimately changed his/her mind and didn't want to play anything? In that case, if (s)he enters 0, don't print the unnecessary error messages.

invoking radio  without any options allows you to select a station from your favorite menu already. I don't think we should unnecessarily play from the favorite list table.


Passing isHeaderSticky=true, breaks column reordering.

Passing isHeaderSticky=true makes the column reordering behave strange.
Probably something to do with the cell headers position?

@ilayofir i believe you meant Passing isHeaderSticky=false makes the column reordering behave strange.
And you're right, it's a positioning issue, or the lack of positioning, while not in sticky mode, the header cells now will be relative positioned which will fix the strange behavior.

@ilayofir i believe you meant Passing isHeaderSticky=false makes the column reordering behave strange.
And you're right, it's a positioning issue, or the lack of positioning, while not in sticky mode, the header cells now will be relative positioned which will fix the strange behavior.


Changing to winner screen in debug mode causes crash

Has probably something to do with Box2DDebugRenderer, since it works fine outside of debug mode.

Fixed in #71


Ksyxis

Mod name
Ksyxis
Curseforge link
https://www.curseforge.com/minecraft/mc-mods/ksyxis
Other links
Modrinth: https://modrinth.com/mod/ksyxis
Github: https://github.com/VidTu/Ksyxis
What it does
Vanilla Minecraft loads 21x21 (441) chunks every time you load a world. This mod disables this feature.
Why should it be in the modpack
Speed up your world loading by not loading nearby chunks every time.
Why shouldn't it be in the modpack
WARNING: This mod may be unstable and incompatible with some mods.
The effect may not be noticeable on high-end PCs. This mod is designed primarily for low-end devices
There's a video through.
Categories
Performance optimization
Additional details
Got To Know From: https://gist.github.com/alkyaly/02830c560d15256855bc529e1e232e88#gistcomment-3929964
I didn't got have any problem with this mod and I also got nice performance improvement in loading worlds :

Well, when on a potato pc causes a ton of lag when the world is created, until the chucks load

Tested in FO 3.5.0:

without Ksyxis: the user is shown the loading screen throughout and after that the FPS seems smooth
with Ksyxis: the user is shown the loading screen which is stuck at 0% for a while, after that the world actually loads and causes initial frame drops

Conclusion: in its current form, the mod does not seem to improve perceived performance or overall loading UX and therefore will not be added.

This mod has been rewritten recently. Compared to FastLoad:

Faster with my testing.
Compatibility should be better.
FPS is smooth thanks to ThreadTweak.

This mod has been rewritten recently. Compared to FastLoad:

Faster according to my testing.
Compatibility should be better.
Doesn't unfocus mouse input away from the window.
FPS is smooth thanks to ThreadTweak.

Did you test on latest stable version of FO? If not, please do so.

@Madis0
I tested with FO 5.6.3. After creating the world, I don't have to wait for it to generate to play. Furthermore, FPS is still smooth right after the loading screen even though CPU usage is 100% (my CPU is 4c, 8t).
The mod looks very simple and it's only 11 KB.

Things could change for very weak CPUs.

ModernFix has the same features as Ksyxis

Interesting. I guess it could be tested which implementation, if any, is better at this point then.

They have similar performance, but Ksysis seems to be a tiny bit faster. The loading screen also looks a bit different between two mods.

As of 24w03a (1.20.5), spawn chunks are now a gamerule, defaulting to 2 (3x3). Hence either methods will likely be unnecessary to include in FO.

Rejected per my comment above.


Feature/jpaley geom align

This is a rather significant PR.
I have added a new "Align" package, which has a class that loads alignment constants and users can get a translation+rotation matrix from it.  There is an art::service for it too: "AlignService".  The idea is that these alignment constants will be in the global coordinate system, so they should be applied at that level.  They are currently being applied in the DetGeoMap class, which has a function that returns a line segment of a SSDCluster in the global coordinate system, but the Align class can be used anywhere.
I made a bunch of other changes to clean up bits of code here and there.  One thing probably worth pointing out is that I've further factorized services from their data providers.  In particular, the DetGeoMap service depends on the geometry and alignment [services], but instead of calling these service[s] within the DetGeoMap class, the DetGeoMap class is handed pointers to the Geometry and Align objects by the DetGeoMap service itself.  This removes the dependency of services within the data providers (a good thing in general), but it means that care must be taken to instantiate the services in the proper order and to reset pointers when necessary and appropriate.  This is all handled within the DetGeoMapService.
I have tested all of the code from simulation through Robert's single-track reconstruction module and the CAFMaker.  I've added an example of how to access track[segment] information in the CAF in an example script in CAFAna/example.  Everything works so far.  The alignment constants, currently set to 0 for all translations and rotations, live in the new ConstBase/Align directory.  We'll probably want to switch at some point to using a database.  And of course we need to test the usage of real alignment constants.
Reviewers should probably take some time to consider these changes.  I don't see any conflicts with the code in main.

Thanks for all the code cleanup! It looks really nice. Mostly minor comments. And then my usual question: has this been tested on data?

I have not been able to test this on data.  I'm not sure how to do that until we are actually ready to start doing alignment work with data itself.  The changes only impact simulation and track reconstruction, which so far has only been applied to simulation.

I have not been able to test this on data. I'm not sure how to do that until we are actually ready to start doing alignment work with data itself. The changes only impact simulation and track reconstruction, which so far has only been applied to simulation.
There were changes to some of the services. Though I would hope if those worked for MC they'd work for data too.


Move from Make to taskfile

Motivation:
Changing the toolchain to Make brought great advantages for operators to quickly configure and build stboot images. The Make program is used to take care of dependency management, while the build tasks themselves are done in easy to maintain bash scripts. However, to include the ST_XYZ configuration variable into the dependency management requires some nifty tricks in the makefiles that are not that straightforward to audit. Further, from a developers/contributors perspective, it is a complex task to extend the toolchain by further variables or change the logic of the build process.
TLDR: easy to use, hard to maintain.
Additionally, the main task of ST tooling is to create one configurable stboot image (Linuxboot kernel, initramfs including u-root, etc. ,STBOOT ans STDATA partitions). Creating ST OS-packages is the job of stmanager utility.  Creating these OS artifacts should be out of the scope of ST tooling. There can be reference commands  provided in the docs on how one can create such artifacts which can also be used for an example build, but in general it is the user responsibility to provide these files. Further, the user should not take care of tboot kernels and related stuff but just indicate via a flag to stmanager if intel TXT should be used with the OS-package or not.

Apart from building the Linux kernel, everything is built with https://taskfile.dev


Dataset update frequency

Hi,
Apologies if this is the wrong place to raise this.
How often is the dataset updated?
I'm new to ruby so I'm still familiarising myself with the yorobot script, otherwise I would update the data myself.
If this is something I can support on, I would be keen to do it.

@dan-abu  thanks for your interest in football.db and (football.json).   the plan is to update the datasets once a week.  the .json gets outgenerated when the .txt datasets get updated.   yes, sorry there was no update in the last couple of weeks.  next update upcoming in the next days.
note - as written on the readme - one option is to generate your own .json datasets using the fbtxt2json command-line - see https://github.com/sportdb/sport.db/tree/master/fbtxt2json    cheers.  happy new year. prosit 2025! greetings from austria.


Concrete items definition

Something is wrong with concrete items definition. I know this mod is abandoned but please check the reason if other mods maybe affected too.
print(minetest.registered_items["cityscape:concrete3"].name)
get the result cityscape:concrete5
I found the issue because the smart_inventory was crashing in recipe analysis (worked around now)

I left out the intervening clone_node calls. This is the similar fix to Squaresville: https://github.com/duane-r/squaresville/commit/aa87e11429e2e43d0524993dc480d3108e833798


etcdserver: support update cluster version through raft

Persist the cluster version change through raft. When the member is restarted, it can recover
the previous known decided cluster version.

When there is a new leader, it is forced to do a version checking immediately. This helps to
update the first cluster version fast.

Is there already an entry in Documentation explaining the process? Otherwise it should be added in this PR.

@philips
Here is the tracking issue that explains the process in details:
https://github.com/coreos/etcd/issues/2778

@xiang90 Right, but having a Document that reflects what this PR is trying to accomplish will make reviewing this PR easier. Is the process in this PR identical to https://github.com/coreos/etcd/issues/2778#issue-72246235?

@philips
What doc do you expect to see? This pull request does two things mentioned in the commit message.
The actual version detected logic was implemented in a previous pull request that has been merged(which is identical to 2278).

@yichengq @barakmich I fixed the comments. Please take a look again. Thanks.

LGTM.

lgtm


Add *Logger.Enabled()bool

By having this, it can reduce time taking for additional formatting
// Enabled will return if logger is currently enabled
func (l Logger) Enabled() bool {
	return l.enable
}

5b2b660


Support for quad_bez and quad_bez

It would be nice if there exists a way to have animation other than linear
It seems like the interpolation crate provides both cub_bez and quad_bez, would be nice if those are provided also.

Great idea 👍 I think it may possible piping Ease through use_spring and the other hooks


Remove fauxpolltask

Fixes #119
Removes fauxpolltask. The only effect fauxpolltask has, it that the test slows down the test suite.

Check this 'un with @lunkwill42 as well in case he still has plans for this thing.

No, not at all.  This was just a placeholder back when we had no real task implementations yet.


Allow for private buckets

Downloading from private buckets only works with the s3:// scheme
This adds a "private" boolean option to make metalink generate an
s3:// URL as output

Co-authored-by: Max Petersen<EMAIL_ADDRESS>

FYI, authenticated s3 downloads will also work using https as well. Just have to be sure to configure it with an explicit match; e.g. https://github.com/dpb587/metalink-repository-resource#url-credentials. Not really an example there, but if it’s okay to switch s3 to https, it works.
Probably makes sense still, to allow users to explicitly write s3 to the output URIs. Any specific needs/desires to use s3 instead of https in recording the URIs? I had mixed feelings since acces control seems a technically different piece than how a blob might be addressed and since s3/https are very similar, so I’d been trying out just using https to see how it feels. Any thoughts from that perspective?

Closing old pull request. And greetings to Luan 👋


Update API documentation on CombinedError.

Currently our API documentation on CombinedError is non-existent. This is an important part of the urql API and deserves to be covered in more depth. API documentation should include the following:

Type signature and description of the CombinedError.combinedError record.
Examples showing how to pattern match combinedError on the networkError and graphQLErrors fields.
Example showing the message field added in #105.

In addition, we should add a .rei file for this module as long as we're here.

One thing that I found a little funny with this module is that the "type t" is the js version of this type, which afaict isn't really used that much by users. Mostly I would interact with the combinedError type (the record version). Caused some confusion once when trying to annotate something with UrqlCombinedError.t fwiw

Definitely agreed, that was an oversight on my part @Schmavery. I think initially I was planning to leave the Js.t as the exposed API, but now that the record is what people are actually working with I'm going to adjust the API.


Add html-pipeline-hashtag to 3rd party extensions

Close https://github.com/mr-dxdy/html-pipeline-hashtag/issues/1
Thanks @JuanitoFatas!

@mr-dxdy Cheers!


I can not do the push notification

Hello,
The push.on ('notification') method does not run in the example index.js#50 and the documentation has not have any example of how to implement push () with the plugin.
Could help me?
Thank you in advance.
example/www/js/index.js#L50

@devtosystems the notification event listener should only get called when your app gets a push. Check out the example/server folder for Ruby scripts to send pushes from GCM and APNS.

Closing, re-open if the problem can be reproduced.


Signal server APN service

Hello,
I’m trying to connect my signal server with APNS, but when the iOS client app is terminated I can’t receive the push notification properly and the signal server log this error
    WARN [2020-08-07 13:04:05,204] org.whispersystems.textsecuregcm.push.RetryingApnsClient: Got APN failure: DeviceTokenNotForTopic
    WARN [2020-08-07 13:04:05,205] org.whispersystems.textsecuregcm.push.APNSender: *** Got APN generic failure: DeviceTokenNotForTopic, +***************

and i can only receive the notification when i open the app.
If the last notification is a voice call, the app will crash when i open it and i have to reopen it again.
I created a development push notification certificate and then i export the certificate and rsa key and set it inside the apn with the bundle id in config file
Thanks

Sorry, I did not see this issue for days since I did not get any notification, unfortunately I can't say a lot about iOS.
But this issue seems to be related iOS in general, not Signal iOS.
https://developer.apple.com/forums/thread/31654


Hungarian notation hits for event parameters

The Hungarian Notation check is showing hits for parameters used in event subscribers where we have no choice on the naming, because the signatures must be specifically named. It would be ideal if it recognized that this was an acceptable scenario.
Example:

Fixed, and I made so much more cool functions. Please give me ideas so I can make the tool better.


mode mapping property, code cleanup

Hello @antrikshmisri! Thanks for opening this PR.

In the file checkpoint/io.py:

Line 163:1: W293 blank line contains whitespace
Line 181:1: W293 blank line contains whitespace
Line 183:55: W292 no newline at end of file

Do see the Hitchhiker's guide to code style

Codecov Report

Merging #7 (97c7171) into master (5354848) will decrease coverage by 3.43%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
- Coverage   96.24%   92.80%   -3.44%
==========================================
  Files           4        4
  Lines         133      139       +6
  Branches       10       11       +1
==========================================
+ Hits          128      129       +1
- Misses          2        7       +5
  Partials        3        3

Impacted Files
Coverage Δ

checkpoint/tests/test_crypt.py
100.00% <ø> (ø)

checkpoint/io.py
85.45% <28.57%> (-8.30%)
:arrow_down:

checkpoint/crypt.py
93.10% <100.00%> (ø)

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 5354848...97c7171. Read the comment docs.


Fixed broken progress bars

@rootux I significantly simplified the code, using help from Flexbox (CSS). The current version of the progress bars are no longer compatible with right-to-left text such as Hebrew. Still, you may want to integrate some of the changes I made, back to the code of your generic component.


I forgor rcctl needs root priviliedges

TODO: Password Prompt to grant rcctl commands root access.

Will most likely not return and is removed


[wait for #1362] [test] Add semantic tests for activation layer

Add semantic tests for activation layer
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1366. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.


Adding Riemannian Manifold HMC

Close #283.
As suggested by @junpenglao over in https://github.com/dfm/rmhmc/issues/1, I've started the skeleton of a RMHMC implementation.
It doesn't check all the boxes yet, and I'll need to keep working on it, but I wanted to open the draft since I'm about to go on leave and might not get to it soon :D
There are various open interface question so it's probably not worth reviewing in too much detail as yet!
Refs:

Girolami et al.
Brofos & Lederman

A few important guidelines and requirements before we can merge your PR:

[x] ish If I add a new sampler, there is an issue discussing it already;
[x] We should be able to understand what the PR does from its title only;
[x] There is a high-level description of the changes;
[x] There are links to all the relevant issues, discussions and PRs;
[x] The branch is rebased on the latest main commit;
[x] Commit messages follow these guidelines;
[x] The code respects the current naming conventions;
[x] Docstrings follow the numpy style guide
[x] pre-commit is installed and configured on your machine, and you ran it before opening the PR;
[x] There are tests covering the changes;
[x] The doc is up-to-date;
[ ] If I add a new sampler* I added/updated related examples

Consider opening a Draft PR if your work is still in progress but you would like some feedback from other contributors.

Thanks @dfm!!! Super excited for this!

@junpenglao is this something of interest for blackjax devs?

Yes! Especially nice that you already see a path of building it on top of this PR!

But either way, I'd love to hear any feedback about this implementation at this point, including from @krzysztofrusek to get a sense for if there would be any interface changes that would make your future PR more straightforward!

Great abstraction, it will be super simple for me to use blackjax parts.
I started with a direct port of Matlab code from the paper and now I am splitting it into parts like integrator, and proposal.
I think I can implement it within your interface.
All I  need is to pass the Jacobian of the constraint function to a few parts.  Metric abstraction is nice and will serve me as well.
The additional constrained function is needed in

the momentum generator, so it will stay in the tangent space
Logdet to account for projection
the Hamiltonian - this is tricky because it's neither kinetic nor potential energy. I could add constrain as a part of potential but it would lose its physical interpretation so I need to think about how to handle this case.

the Hamiltonian - this is tricky because it's neither kinetic nor potential energy. I could add constrain as a part of potential but it would lose its physical interpretation so I need to think about how to handle this case.

Good point! In general, I think it might actually be better to abstract all the way to Hamiltonian rather than just the metric because it many cases where you might want to use RMHMC it would actually be more efficient to evaluate the log density and mass matrix together! Let me poke at that a little bit more.

the Hamiltonian - this is tricky because it's neither kinetic nor potential energy. I could add constrain as a part of potential but it would lose its physical interpretation so I need to think about how to handle this case.

Good point! In general, I think it might actually be better to abstract all the way to Hamiltonian rather than just the metric because it many cases where you might want to use RMHMC it would actually be more efficient to evaluate the log density and mass matrix together! Let me poke at that a little bit more.

While waiting for this PR to be reviewed, I drafter CHMC in a separate repo.
The api is similar to the one from blackjax but slightly simplified, and closer to the original MATLAB implementation by @mbrubake .

@junpenglao — I've been on parental leave and I'm just catching up, so I don't have much to add here at the moment. I'm happy to revisit this implementation in the coming months or happy to hand it off to someone who is keen to take it over!

Thanks Dan! Let me take a look and get back to you.

@dfm I updated the PR to the main branch, and it is good to go now. Do you have other things you would like to add?
cc @krzysztofrusek

Thank you for the contribution @dfm !!!

Thanks @junpenglao! Sorry for disappearing!!


Add a way to see your favorite Gemfiles

Hi!
I'd like to add a feature where you can see a list of the Gemfiles you've starred. Can I start working on this?

@varkum Great idea and yes, that'd wonderful. Thank you!


Preserve field order for introspection

I've the following code:
pub enum ChangeStatus {
    Applied,
    Canceled,
    Handling,
    Pending,
    Rejected,
    Scheduled,
}

Resulting GraphQL SDL from playground:
enum ChangeStatus {
  APPLIED
  CANCELED
  REJECTED
  PENDING
  SCHEDULED
  HANDLING
}

Is it possible to preserve declared order? I think this feature is important, especially for Interfaces with common fields, which should have a stable order for readability.

Good suggestion, enumValues, fields, possibleTypes, inputFields, args have order problems, I will fix this problem now.
Thank you. 😁

Please upgrade async-graphql to 1.12.8. 😁

Great. My scheme looks nice. Many thanks.


[5.1] using forget instead of pull in Iluminate\Support\Arr

by using pull function :
1-> first we will iterate through array and find the value we're looking
for
2->again we should iterate array and this time remove that item
3->return the value we found
but by this new version of forget function we select item(s) we want
remove items and return value(s) at one time

You can add this to your own project if you want.


Fix showing wrongly formatted text

Details
When typing text with command + b or command + i or command + u effect was applied to inputted text, which was unwanted.
Also connected issue: when text was pasted to an empty filed, it was in the colour of placeholder.
In these cases instead of <span> object with text, <b>, <i>, <u>.... was being created.
My proposal is to change the created object when it's not <span>

@BartoszGrajdek I agree this solution is much more clear but it leaves unwanted behaviour connected to placeholder.
Look below how it looks in the example app and Expensify App
https://github.com/Expensify/react-native-live-markdown/assets/92310164/833107c8-0e04-4c40-900a-9d1b46cb1039
https://github.com/Expensify/react-native-live-markdown/assets/92310164/e64f5efd-1d74-48fb-a74b-43a9658d88c0

We'll merge it after a version bump in E/App. To make sure in case of any regressions we don't have to add testing steps for this PR as well


Delay for camera preview in New android wrapper.

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D435i

Operating System & Version
Android

Platform
Android

SDK Version
2.31.0, 2.35, 2.32.5 , 2.36.0

Language
Android java wrraper

Issue Description
I have seen there a lag in all the new version from v2.31.0 in android wrapper i started working on intel realsense with 1280,720 color and depth frames it working fine in camera perivew without lag if i upgrade the library to 2.35 or 2.35.2 or 2.36.0 it still laggy. The preview from the camera is not smooth it has a delay.

Hi @ankittecholution   Is the delay that you are experiencing occurring with the RGB, please?  There was a bug-fix for a preview for the RGB stream added in SDK 2.35.0:
Android: Fix YUYV preview for the RGB stream in camera app.
https://github.com/IntelRealSense/librealsense/pull/6143
It would be useful if you could test the preview with earlier SDK versions such as 2.34.0 to see whether the lag begins at SDK 2.35.0 onwards.  Thanks!

There was lag when i start both depth and colour frame in preview.

Sure will test it and update the thread.

Thanks so much, I very much appreciate the effort you are making.   :)

@MartyG-RealSense There is certain regression in the camera stream. I am using RGB and Depth streams and notice delay and intermittent choppiness of RGB stream (probably due to frame skips). I am using camera at 15 FPS. The delay is around 1.5 to 2 seconds.
I downgraded my SDK to v2.30.0 and firmware to <IP_ADDRESS> but the issue remained.

@ankittecholution  @kafan1986   As more than one person has reported the same issue with lag when using depth and RGB together on the Android wrapper, I will file an official bug report with Intel now so that it can be investigated.  This case should be kept open whilst the report is being investigated.

I am not sure whether the source of problem is the firmware related or SDK related and also I am not sure whether I am noticing the delay now more or whether it always existed.
@ankittecholution Did you find any combination of SDK/firmware that resolved the issue for you?

Yes as I mentioned it always come with any SDK 2.35 or 2.35.2 or 2.36.0 but not in 2.31

Yes as I mentioned it always come with any SDK 2.35 or 2.35.2 or 2.36.0 but not in 2.31

What firmware version are you using?

Are you asking about the camera Firmware???

Are you asking about the camera Firmware???

Yes

Let me check right away

I think this wat you were asking right?

Yes. The firmware you used is quite recent one <IP_ADDRESS>. Although the latest firmware is 5.12.6

I was having the same issue as you and on updating to the latest my problem went away.

From: kafan1986<EMAIL_ADDRESS>Sent: Wednesday, July 29, 2020 1:28:32 PM
To: IntelRealSense/librealsense<EMAIL_ADDRESS>Cc: Joey Fedor<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [IntelRealSense/librealsense] Delay for camera preview in New android wrapper. (#6817)
Yes. The firmware you used is quite recent one <IP_ADDRESS>. Although the latest firmware is 5.12.6
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/IntelRealSense/librealsense/issues/6817#issuecomment-665828424, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOWOZTCKF3H4D2XXRJNBWJ3R6BS5BANCNFSM4OYOWDEA.

I still had lag. Although somewhat minor. I lowered the RGB resolution to 480p and helped reduce the lag.

btw, has anyone of you tested the depth camera as just a simple camera on android? Does it work like that?

Yes, The realsense makes a fairly good camera when you are using the RGB camera and the Color StreamType.
From: kafan1986<EMAIL_ADDRESS>Sent: Wednesday, July 29, 2020 1:46 PM
To: IntelRealSense/librealsense<EMAIL_ADDRESS>Cc: Joey Fedor<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [IntelRealSense/librealsense] Delay for camera preview in New android wrapper. (#6817)
btw, has anyone of you tested the depth camera as just a simple camera on android? Does it work like that?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/IntelRealSense/librealsense/issues/6817#issuecomment-665837197, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOWOZTABBNVFZNGKAUV32WTR6BU77ANCNFSM4OYOWDEA.

Yes, The realsense makes a fairly good camera when you are using the RGB camera and the Color StreamType. From: kafan1986<EMAIL_ADDRESS>Sent: Wednesday, July 29, 2020 1:46 PM To: IntelRealSense/librealsense<EMAIL_ADDRESS>Cc: Joey Fedor<EMAIL_ADDRESS>Manual<EMAIL_ADDRESS>Subject: Re: [IntelRealSense/librealsense] Delay for camera preview in New android wrapper. (#6817) btw, has anyone of you tested the depth camera as just a simple camera on android? Does it work like that? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub<#6817 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOWOZTABBNVFZNGKAUV32WTR6BU77ANCNFSM4OYOWDEA.

I am asking whether the camera gets detected as a regular camera (webcam) for android native camera 1 or 2 API or does it always need the SDK and specific code to get the frame data? I believe the D4xx series camera gets detected as regular RGB camera on Linux and maybe on windows platform.

No, I didn't try only the depth camera.

So I think you guys are saying if I update the firmware it would resolve the issue???

@ankittecholution    Do you still require assistance with this case, please?   Thanks!

Is the delay resolved in new release.

Never mind, I just read back through the case and reminded myself that the case needs to be kept open because there is still an active bug report related to it that has not been resolved yet.  My apologies.
No, I have no updates to provide.  Thanks for your quick response.

@kafan1986 I think this delay will not happen in Release mode it will only happen in the case of debug mode. I have not tried it but if anyone else can try and give a report it will give a clear idea for the issue. If the Frame doesn't lag in release mode then I think we can close this issue.

Cased closed due to no further reports of the problem received for months and the likelihood that it occurs only in Debug mode.


Gitcoin Bounty for OpenZeppelin "How-To" Documentation

Judging Criteria
All submissions must contain clear and concise information with explicit instruction and images describing each step required to execute the process. An accompanying video in addition to the written content is highly desired.
All submissions will be put through an industry standard plagiarism detection tool to ensure that all submissions are the work and ideas of the person submitting for the bounty. If the plagiarism tools flags your submission you will be disqualified from participation in the bounty.
You will be provided with resources (if available) as an aid to help you get started. The sole act of submitting content for the bounty does not automatically qualify you for the bounty. Our team will review all submissions and will choose the submission whose content best fits the needs and requirements of the bounty.
Only one participant will be selected as the winner for the bounty, and they will be notified within 7 working days after the bounty has ended.
Description
Amount of Bounty
Grant Sponsor: XDC Foundation. All monies paid will be in XDC.
What will you be creating?
You will be creating how to documentation for the XDC Network. Some documentation has already been created, and you will read through it to ensure it works as intended, reads clearly or if it needs better clarification, then make those changes. Those items without documentation will be created from scratch.  Documentation will have images that describe or represents what's being done or described in your tutorial.
Details
Using OpenZepplin

Overview
OpenZeppelin is an open-source framework to build secure smart contracts.

What you will learn
In this tutorial, you will learn how to Create and deploy a smart contract using OpenZepplin and deploy it to the Apothem test network.
What you will do

Set up OpenZepplin
Create a simple smart contract(Please reference Pizza smart contract from https://docs.xdc.community/learn/how-to-articles/how-to-deploy-your-first-smart-contract-on-the-xdc-network-using-truffle)
Compile contract
Test contract
Deploy contract

Setting up the development environment

Creating a project (with images)
Checking the contract (sample code with images preferred)
Setting up the contract
Compiling the contract
Testing the contract (where is the contract going to be tested...a link will be great)

Deploying a contract on the XDC Network
This section can be used if you are deploying contracts on the network. Otherwise it can be ommited when you create your bounty.
Total Prize of Bounty
Total sum of up to $500.00 USD worth of XDC for this event, reward amount assigned at judge's discretion.
Further Details
This event will be an ongoing collaboration to create "how to" documentation for the XDC Network. All documentation will be open source and added to the docs repository in the how-to folder via pull request: https://github.com/XDC-Community/docs/tree/main/how-to
Resources
These are some of the resources you have available to you where you will find the necessary information to complete your submission. Apothem Test Network https://www.apothem.network/
Apothem Faucet https://faucet.apothem.network/
Node.js v8+ LTS and npm https://nodejs.org/en/
Guide to Apothem Test Network https://ruslanwing100.medium.com/the-beginners-guide-of-using-xinfins-apothem-network-sandbox-network-to-test-blockchain-e94d55455a00
Sample of Documentation
https://docs.polygon.technology/docs/develop/remix
Note: Do not copy and paste from this source as it will be plagiarism and disqualify your submission.

I like to read and write clear and accurate documentation. Can start working on this, apart from the content already available, are there any resources that can help in this task?

I like to read and write clear and accurate documentation. Can start working on this, apart from the content already available, are there any resources that can help in this task @lucksin3 ?

A structure proposal to give my progress on this issue:

[X] Overview

[X] What you will learn
[X] What you will do
[X] About OpenZeppelin library

[X] Starting a new OpenZeppelin project

[X] Install node dependencies
[X] Using Contracts Wizard

Writing our first ERC20 Token

[X] Compiling
[ ] Testing (WIP...)
[ ] Deploying in XDC Network

... ERC721
Verifying and interacting with your contract

...

@alexjorgef you need to take a lead in creating the content and to also make sure its not copied from anywhere else. we are looking at creating a unique content for the How-to's


ARROW-146 Update benchmark tests to include BSON Arrays

@blink1073 @ShaneHarvey this is ready for review now after the Consolidation.

58 minutes is probably too long, perhaps cut the number of large documents in half?


Marathon sometimes fixates on launching a specific app to the exclusion of others, ignoring dependencies

I have a group which contains dependencies.
For example, "babyservice" depends on "parentservice".
Often, I will deploy the group, and "babyservice" will repeatedly get started over and over again.  Each time, it fails, because it tries to connect to "parentservice",  which isn't there because marathon has never even created a Mesos task for "parentservice".  Recently I saw "babyservice" start and fail 77 times in a row (without any attempts for "parentservice").
I know this may not be enough detail to go on - if there's a specific log file or something that you'd like me to include, let me know and I'll try to grab it next time this happens.

What does your json for the apps look like? Do you model the dependency there? If so, it should deploy the services in the correct order.

Are you sure that the parent service was NOT successfully started before? I.e. are you sure that the StartApplication step of "babyservice" is step 1 in the deployment?
I have seen often a health checked service like "parentservice" somehow passing the StartApplication step of the deployment with its health checked being completely ignored. Then in the next deployment step the "babyservice" fails due to missing "parentservice".
Hence, I think there is a bug that sometimes the StartApplication code will succeed although the app is down.

@drexin Yes, the dependencies are formally specified in the json of the apps.   @sttts When this happens, there may be be some trace (in zookeeper?) of the parentservice having been started before... but Mesos doesn't show any record of the parentservice having ever been launched (no running task, no finished task).
I have just upgraded both Mesos & Marathon this morning to new version (0.7.6 of marathon) so I will close this issue if I don't see it pop up again soon.

Hey @mforsyth I will close this issue. Please reopen, if this problem still exists.


feat(bpf): use time window for bpf sampling to replace per call based sampling

From @vimalk78 finding, the per call based bpf sampling has very large cpu time variations.
Now changing to time window based sampling. The cpu time is much consistent and close to the probing results, while the overhead is reduced even more.
Disclaimer: some of the code is generated by ChatGPT.

Active Time (ms)
Idle Time (ms)
Average kepler_sched_switch_trace bpf runtime (ns)

5
95
400

20
80
875

80
20
2100

1000 (default)
0
2500

converting to draft, pending test results.

Test results:
Below is a comparison of two keplers, one with sampling window enabled (100 ms active, 1000 ms idle), other without sampling.
We can see that on bare metal, the two keplers produce very close values for package power and core power, because the ratio of bpf cpu time, with sampling, is very close to without sampling.
process cpu time, exhaustive vs sampling

process core joules, exhaustive vs sampling

process package joules, exhaustive vs sampling

kepler cpu time, exhaustive vs sampling

As expected, the kepler with sampling consumes less cpu time, and less cpu instructions compared to kepler without sampling.

@dave-tucker @sthaha @marceloamaral PTAL, thanks

@rootfs @dave-tucker I’m concerned about the impact on VM power estimation. If we're undercounting CPU time, the power consumption will be underestimated as well.
To address this, we need to extrapolate the results, similar to how Linux handles counter multiplexing. For instance, if we collected data for only 1 second out of a 5-second window, we should multiply the results by 5 to estimate for the full 5 seconds.
All we need to do is track the collection interval and adjust the results accordingly.

@marceloamaral good point! at the moment, the sampled cpu time is not extrapolated. We can consider different scaling factors. One approach in my plan is to find the max and min cpu time from each sample, and use the mean cpu time to extrapolate the entire active + idle duration. This will account for the variable cpu utilization conditions. If that proves effective, we then will discuss removing the EXPERIMENTAL prefix from these params. wdyt?


Added support for RuToken USB key PKCS#11

Tested on RuToken-S key.
https://www.rutoken.ru/products/all/rutoken-s/

Thank you so much for your contribution to enrich the SoftEther VPN source code.
Your patch has been merged on the main source-tree of SoftEther VPN.
As a token of our gratitude, your GitHub username will be added on the AUTHORS.TXT file and on the header of the related source file.
(It will be done within a few days.)
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/AUTHORS.TXT
Thanks again for your contribution.


JSON file loading and saving

You explicitly requested these in the original thread, so here they are.
A lot of rookies are not using JSON to its fullest power because these functions aren't built-in, and I often have to repeat myself about these functions to explain to them that loading and saving JSON files isn't something to be afraid of.
///@func json_load_file(filename)
///@param {String} filename The name of the JSON file to load from.
///@desc Load the given JSON file and return its parsed result.
function json_load_file(filename) {
    var buffer = buffer_load(filename);
    var fileContent = buffer_read(buffer, buffer_string);
    buffer_delete(buffer);
    var result = json_parse(fileContent);
    return result;
}

///@func json_save_file(filename, value)
///@param {String} filename The name of the JSON file to save to.
///@param {Struct,Array,String,Real,Bool,Undefined} value The value to save.
///@desc Encode the given value as JSON and save the result into the given JSON file.
function json_save_file(filename, value) {
    var result = json_stringify(value);
    var buffer = buffer_create(string_byte_length(result), buffer_fixed, 1);
    buffer_write(buffer, buffer_text, result);
    buffer_save(buffer, filename);
    buffer_delete(buffer);
}

Another one I hoped to include, eventually. :wink:
In another issue, I suggested functions for reading/writing text files as string, which would take care of all the buffer reading. Then the JSON loading/saving functions could use these, like in another two of my copy-pasted functions:
/// @function json_load(filename)
/// @description Loads a given JSON file into a GML value (struct/array/string/real).
/// @param {String} filename        The path of the JSON file to load.
function json_load(_filename) {
    var _json_content = file_read_all_text(_filename);
    if (is_undefined(_json_content))
        return undefined;

    try {
        return json_parse(_json_content);
    } catch (_) {
        // if the file content isn't a valid JSON, prevent crash and return undefined instead
        return undefined;
    }
}

/// @function json_save(filename,value)
/// @description Saves a given GML value (struct/array/string/real) into a JSON file.
/// @param {String} filename        The path of the JSON file to save.
/// @param {Any} value                The value to save as a JSON file.
function json_save(_filename, _value) {
    var _json_content = json_stringify(_value);
    file_write_all_text(_filename, _json_content);
}

One notable feature of my implementation is that it doesn't crash when the JSON file is non-existing or invalid, and returns undefined instead. We're dealing with what would most likely become save files, which then some users would want to manipulate and accidentally make the file invalid, so preventing crashes in this situation might be preferable.
Also, I prefer json_save and json_load over jsonsave_file and json_load_file, since saving/loading to me already implies working with files 99% of the time. I wonder what's other's opinion about it.

The feature has been accepted for development!
It should include two functions in utils_Json script:

json_load(filename) function for loading a value from JSON
json_save(filename,value,[prettyprint]) function for saving a value into a JSON file (with optional pretty-print)

json_load tests should check loading different types of value (null, bool, number, string, array, struct). Most of these aren't covered by a nice fluent interface thing, so instead of using fluent assertion structures you can opt for direct assert_equal or assert_that assertions, I guess.
json_save would save file which might lead to weirdness if tests aren't cleaned up properly, so it won't be tested.
The demo should expand the file utilities demo by adding "Load JSON", "Save JSON" and "Save JSON (pretty)" (or maybe a checkbox for saving JSON, but we don't yet have a full-fledged checkbox control).
After loading JSON, the text area should be replaced with a pretty-printed value of the JSON, or "" if json_load returns undefined (if JSON contains "null", it will be parsed to pointer_null instead, so there's no conflict here).
After saving JSON, a JSON file should be created at a given location (duh!).
As usual, if someone wants to implement this, please post here to let others now.

I'll take this one for now. Should be a minor adaptation of the File Utilities demo.

The PR is now available: #49
Please note that I was not able to get loading a file containing only null to work, because json_parse("null") crashes under Runtime 2<IP_ADDRESS>. The PR does not contain the test for that.

The PR has been accepted and merged, thank you for your contribution! ^^

Also also, I made the issue #50 for moving the text areas from File/JSON utilities demos into its own control.


Provide a default IconTheme in CupertinoTheme

Description

Inserted an IconTheme widget under CupertinoTheme to provide a default icon color when using CupertinoTheme.
Changed CupertinoTheme to a StatelessWidget, to match the implementation of Theme
Changed the nesting order of Theme's sub widgets, to let Theme.iconTheme take precedence, so that Theme's behavior is kept as is.

Related Issues
fixes #29099
Tests
I added the following tests:

CupertinoTheme has default IconThemeData, which is derived from the theme's primary color
IconTheme.of creates a dependency on iconTheme
CupertinoTheme's IconTheme is ignored when using a material theme

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

LGTM


Cannot use VTU-next as a module because it depends on commonjs dependencies

Found this when trying to use VTU inside of Vite. Ended up patching the modules.
<script type="module">
import '@vue/test-utils'
</script>

will fail because we depend on two modules that use commonjs exports in our es bundle:

lodash
dom-event-types

The changes I had to make to get them to work are here:
https://github.com/JessicaSachs/vite-component-test-starter/blob/master/patches
To recreate a failure, you can...

clone the vite-starter
remove the patches directory
remove the node_modules
re-install deps
launch the dev server and navigate to /test/index.html

Fixed here https://github.com/vuejs/vue-test-utils-next/pull/116
Will go out as soon as this is merged

Fixed in #116, will release in the next alpha.


[in_app_purchase] no products when fetching subscriptions from the Play Store

Hi I tried everything to query/retrieve subscriptions with Flutter using the official in_app_purchase package but I don't get them.
Everything works fine with iOS. With the same code on Android, it doesn't work. I followed the complete guide codelabs from google: https://codelabs.developers.google.com/codelabs/flutter-in-app-purchases
This is what I get in the console

Purchase etf_info_access_subscription not found

That's my code:
class IAPConnection {
  static InAppPurchase? _instance;
  static set instance(InAppPurchase value) {
    _instance = value;
  }

  static InAppPurchase get instance {
    _instance ??= InAppPurchase.instance;
    return _instance!;
  }
}

class SubscriptionsProvider extends ChangeNotifier {
  List<PurchasableProduct> products = [];
  List<PastPurchase> purchases = [];

  StoreState storeState = StoreState.loading;

  final iapConnection = IAPConnection.instance;

  SubscriptionsProvider() {
    loadPurchases();
  }

Future<void> loadPurchases() async {
    final available = await iapConnection.isAvailable();
    if (!available) {
      storeState = StoreState.notAvailable;
      notifyListeners();
      return;
    }
    final serverAvailable =
        // ignore: use_build_context_synchronously
        await NetworkService.instance.testServerAvailability();
    if (serverAvailable == false) {
      storeState = StoreState.notAvailable;
      notifyListeners();
      return;
    }
    const ids = <String>{storeKeySubscription}; // which is 'etf_info_access_subscription'
    final response = await iapConnection.queryProductDetails(ids);
    for (var element in response.notFoundIDs) {
      debugPrint('Purchase $element not found'); // I always get this printed in Android :(
    }
    products =
        response.productDetails.map((e) => PurchasableProduct(e)).toList();
    debugPrint(products.toString()); // Always empty
    storeState = StoreState.available;
    notifyListeners();
  }
}

These are the dependencies in /app/build.gradle
def billing_version = "5.0.0"

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation("com.android.billingclient:billing:$billing_version")
}

My AndroidManifest.xml permissions:
   <uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   <uses-permission android:name="com.android.vending.BILLING" />

I also uploaded a build with these onto the play store closed and internal testing successfully but still I can't retrieve products...
I have also created a subscription with the same ID as the app:

Hi @SwiftiSwift
Which in_app_purchase version are you using?  Please try using the latest version in_app_purchase: ^3.0.7 to see if the issue is still reproducible.
If not so, you can try using the same version as the example here

I am using version 3.0.7 the solution was to enter the testers program which I have not done before. But now if I try to buy the item the google play popup comes up and says: "The requested item cannot be purchased". I don't know why because the subscription is active

So I had to accept to become a tester for CLOSED TRACK AND INTERNAL TRACK not only the closed track


username for linux VM in scale set

File: docker-cloud/cloud-swarm/create-cloud-swarm-azure.md, CC @johndmulhausen
Just wanted to say that the docs should probably tell us what username was used to provision the linux VMs in the scale set.
I was getting error messages when trying to SSH into the master node. I tried admin but didn't work.
$ ssh -p 50000 admin@<ssh load balancer ip>
Permission denied (publickey,keyboard-interactive).

By luck, I tried using docker as the username e.g. ssh -p 50000 docker@<ssh load balancer ip> and it worked but hopefully the next person following this tutorial won't need to go through that ;)

Hi, @frankfuu , I see nothing about scale sets on this page. Can you provide more information?

On step 9 of this page Docker Cloud instructs the user's Azure Subscription to provision assets (scale sets, load balancers etc) behind the scenes based on a template (which I assume is written by Docker Cloud) to provision x number of master nodes and y number of worker nodes (on step 8).
Once this is done, the user will want to ssh into a given instance within the scale set, however, without knowing what username to use for the ssh session, he/she may not be able to gain access.

Got it. Thanks, @frankfuu .

No worries! Thanks @gbarr01 and team for writing these tutorials, it really helps us get started!

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


Missing a license

Description
We should add a license to this repository. This way, people will know what and what not they can do with this repository, permissions, notices, etc.. I suggest using the MIT license, however, we can use any other one as well. 🙂

@Panquesito7 Go for it!


Raspberry Pi Kubernetes

I'm trying to setup Kubernetes for the first time on my Pi. I followed the README and installed kubeadm without any issues. When I attempt to setup the master I'm getting stuck at initialization. Here's the output from kubeadm:
$ kubeadm init --pod-network-cidr <IP_ADDRESS>/16
[kubeadm] WARNING: kubeadm is in alpha, please do not use it for production clusters.
[preflight] Running pre-flight checks
[preflight] The system verification failed. Printing the output from the verification:
OS: Linux
KERNEL_VERSION: 4.4.39-hypriotos-v7+
CONFIG_NAMESPACES: enabled
CONFIG_NET_NS: enabled
CONFIG_PID_NS: enabled
CONFIG_IPC_NS: enabled
CONFIG_UTS_NS: enabled
CONFIG_CGROUPS: enabled
CONFIG_CGROUP_CPUACCT: enabled
CONFIG_CGROUP_DEVICE: enabled
CONFIG_CGROUP_FREEZER: enabled
CONFIG_CGROUP_SCHED: enabled
CONFIG_CPUSETS: enabled
CONFIG_MEMCG: enabled
CONFIG_INET: enabled
CONFIG_EXT4_FS: enabled
CONFIG_PROC_FS: enabled
CONFIG_NETFILTER_XT_TARGET_REDIRECT: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled (as module)
CONFIG_OVERLAY_FS: enabled (as module)
CONFIG_AUFS_FS: not set - Required for aufs.
CONFIG_BLK_DEV_DM: enabled (as module)
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: missing
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
DOCKER_VERSION: 1.12.5
DOCKER_GRAPH_DRIVER: overlay
[preflight] Some fatal errors occurred:
	missing cgroups: cpuset
[preflight] If you know what you are doing, you can skip pre-flight checks with `--skip-preflight-checks`

I tried bypassing this with --skip-preflight-checks but I'm getting hung up at:
[apiclient] Created API client, waiting for the control plane to become ready
No Docker containers are being launched in the init process...btw. Not sure if they should be.
What do I need to do to get the master node up and running here?

This is an error you'll have to fix:
[preflight] Some fatal errors occurred:
	missing cgroups: cpuset

You need to set cgroup_enable=memory and cgroup_enable=cpuset in /boot/cmdline.txt.

That worked great, thanks! Happy Holidays!


Show total number of silenced alerts in preview

Closes #953
Show number of affected alerts in create Silence preview:

This looks good to me, can you run make build-all from the repo root to regenerate bindata.go, and commit and push that?

@Conorbro thanks for working on this issue!
I have two concerns:

do we really need to use a library for this or we can have our own dialog component?
showing a confirmation instead of a button or in a tooltip would've been a better ux, because it wouldn't block the whole ui

Because it's an improvement over what we have now, I think it can be merged, and then we could iterate on top.

@w0rm I think your comment was meant for #993 !

@Conorbro sorry for this! :)

What are y'all using to create those gorgeous GIFs showing your front-end changes?

@brancz I'm using https://www.cockos.com/licecap/ on OSX


npm package

hi,
congrats for the new dashboard!
it would be nice to have this project as a npm package in order to simplify the installation step.
are you considering it or are there some problems that block the publishing?
thanks.

how would that work?

actually i don't know.. i will investigate if it's possibile! one solution can be to distribute directly the binaries and make a js wrapper to manage the execution..

I tried this out locally by building the project on my Mac, launching the .app file, then starting up another project with the webpack-dashboard plugin added. I think this could be published to npm like so:
Create a package for each platform, e.g. electron-webpack-dashboard-darwin, electron-webpack-dashboard-win32, electron-webpack-dashboard-linux. Each of these packages contains only the binaries for the associated platform, with a definition in its package.json limiting the os. e.g.:
{
  "name": "electron-webpack-dashboard-darwin",
  "version": "1.0.0",
  "os" : ["darwin"]
}

Then, create a main package called electron-webpack-dashboard which lists all of the platform packages as optional dependencies, along with a bin to spawn the right binary for the right platform:
{
  "name": "electron-webpack-dashboard",
  "version": "1.0.0",
  "bin": "bin/electron-webpack-dashboard",
  "optionalDependencies": {
    "electron-webpack-dashboard-darwin": "1.0.0",
    "electron-webpack-dashboard-win32": "1.0.0",
    "electron-webpack-dashboard-linux": "1.0.0"
  }
}

#! /usr/bin/env node
const { spawn } = require('child_process');
const { platform } = process;
let child;

if (platform === 'darwin') {
  child = spawn(pathToMacApp, { detached: true });
} else if (platform === 'win32') {
  child = spawn(pathToWinApp, { detached: true });
} else {
  child = spawn(pathToLinuxApp, { detached: true });
}

child.unref();

Does that make sense?

i think that there is room for improvement:

you are starting the dashboard process but you are not closing it after
to solve 1. and tohave a seamless integration i suggest to wrap also the executable of webpack so that "start": "electron-webpack-dashboard" can be enough.

what do you think? @kenwheeler @eliperelman

Performing 2 would completely destroy my use case which is to allow it to be used from other webpack wrappers, like Neutrino.
Since my goal is to manage the lifecycle of the electron process within my own webpack wrappers, 1 is not a concern for me either. Better to keep the implementation flexible rather than lock users into a webpack abstraction that doesn't do anything else right now.

since your use case sounds like an advanced one i suggest to default to 2. and via a flag disable the webpack lifecycle management like --no-webpack to let the the developer manage it. what do you think?

If you go down the road of wrapping webpack, you put a much higher maintenance burden on this library to keep webpack and its apis up to date, as well as making sure to support all it's CLI features. In my opinion, it's just coupling this too much and expanding the scope of this tool far beyond its original use.
My vote is neither 1 nor 2.

not implementing 1. means that the execution is not idempotent. 2. should be implemented via a flag or a default behaviour in order to easily give a nice dev experience via the npm package.

Would really appreciate this

Why couldn't this be a plugin for webpack, much like the current one, but launch a secondary server that loads this app?
From the source code it looks like most of the code is just a react app, with a little bit of Electron specific stuff. If that can be separated it seems like this would be very easy, although I don't know how the electron app and the dashboard plugin interact.
@kenwheeler is this a possibility?


add CODEOWNERS

I'm going to add a CODEOWNERS file and setup a github app that uses https://github.com/miekg/dreck that allows for commands in issues and pull requests.

done


0.10.0-beta cannot be installed by npm

npm WARN peerDependencies The peer dependency<EMAIL_ADDRESS>included from marty will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm ERR! Darwin 14.1.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "marty"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.5
npm ERR! code ETARGET

npm ERR! notarget No compatible version found<EMAIL_ADDRESS><0.11.0'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.10.0-beta"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'marty'
npm ERR! notarget

Same here. On Ubuntu 15.04 / Node v12
You can install Marty by adding "marty": "^0.9.0" in your dependencies of the package.json file.

Yep, I enforce npm to install 0.9.12 which is the previous version before 0.10.0-beta
npm install<EMAIL_ADDRESS>--save

There shouldn't be any issues with installing marty v0.10 any more. If you see any more please re-open this issue


Almost All Authy OTP records say Corrupted

Extension
https://www.raycast.com/guga4ka/authy
Description
Almost all of my OTP records in this extension say "Corrupted," which makes the extension useless. I tried re-installing 3 times and got the same results.

Steps To Reproduce

Set Up Account
Finish Account Set Up
See all OTP with status Corrupted.

Current Behaviour
No response
Expected Behaviour
No response

@gabeperez have you tried changing your backup password?

duplicate of #10544?


Some consistency fixes for arg positionality

Summary

Checklist

[ ] I have run nox and all the pipelines have passed.
[ ] I have made unittests according to the code I have added/modified/deleted.

Related issues

Add last commit's changes to changelog


Django 1.5 and adminmedia

The TreeEditor is currently not functional in Django 1.5 because it's templates use the removed adminmedia tag library. This bug report says it all: https://github.com/feincms/feincms/issues/371
As per: https://docs.djangoproject.com/en/dev/releases/1.5-beta-1/
The template tags library adminmedia, which only contained the deprecated
template tag {% admin_media_prefix %}, was removed. Attempting to load
it with {% load adminmedia %} will fail. If your templates still contain
that line you must remove it.

This issue seems to refer to very old version of Django/django-categories. I am closing it. Please reopen if it is still relevant to the currently supported version of Django or newest version 2.0.0 of django-categories.


Tooltips

Features like keyboard control are likely not obvious to users. Adding tooltips for any feature where it makes sense could improve usability.

github has a very cool way to show that there are keyboard shortcuts available:
a small link exists on pages with keyboard shortcuts:

clicking on this opens a popup:


DAG execution will schedule fine, but never gets actually run by a worker.

I deployed this cloudformation without changes, and successfully got to the dashboard after adding a security group change.
I was able to write and deploy my own DAG, and schedule it.  It only queues the work, (evidenced by the SQS messages waiting) but the workers never actually pick up and execute the job.
Are there other instructions that have been overlooked to get workers to actually run work.  DAG works fine on a local single node airflow instance.
TIA

Hi @velebak, if the task is queued on SQS, it should be a matter of time for the workers to pick it up. It might take a while if the minimum number of workers is 0 because autoscaling is a bit slow. If you do have a worker instance already, it probably failed to bootstrap.

Thanks for the reply.  That's probably what it is wrt the worker node not bootstrapping properly.  I have some more digging to do there.  Also, this project is awesome.  Keep up the good work.

Im still working on this, but want to close the ticket for now as it might be a while before I get back to it.

I ran into a similar issue and this might be what @velebak is experiencing.
On a worker system, this was in the logs:
Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 37, in <module>
    args.func(args)
  File "/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py", line 75, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/airflow/bin/cli.py", line 1089, in worker
    worker = worker.worker(app=celery_app)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 781, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 698, in make_context
    ctx = Context(self, info_name=info_name, parent=parent, **extra)
TypeError: __init__() got an unexpected keyword argument 'app'

Running airflow worker produced the same error. It looks to be caused by this issue: https://github.com/apache/airflow/issues/11301
Celery recently updated to version 5. Uninstalling the version on the worker, which was 5.0.2 (singularity) according to celery --version on my test system, and installing 4.4.7 worked. The service immediately started back up and kicked off tasks.
sudo pip3 uninstall celery
sudo pip3 install celery==4.4.7

Urgh, Airflow and their unpinned version requirements. Thanks for digging into it!


[SPARK-43522][SQL] Fix creating struct column name with index of array

What changes were proposed in this pull request?
When creating a struct column in Dataframe, the code that ran without problems in version 3.3.1 does not work in version 3.4.0.
In 3.3.1
val testDF = Seq("a=b,c=d,d=f").toDF.withColumn("key_value", split('value, ",")).withColumn("map_entry", transform(col("key_value"), x => struct(split(x, "=").getItem(0), split(x, "=").getItem(1) ) ))
testDF.show()

+-----------+---------------+--------------------+
|      value|      key_value|           map_entry|
+-----------+---------------+--------------------+
|a=b,c=d,d=f|[a=b, c=d, d=f]|[{a, b}, {c, d}, ...|
+-----------+---------------+--------------------+

In 3.4.0
org.apache.spark.sql.AnalysisException: [DATATYPE_MISMATCH.CREATE_NAMED_STRUCT_WITHOUT_FOLDABLE_STRING] Cannot resolve "struct(split(namedlambdavariable(), =, -1)[0], split(namedlambdavariable(), =, -1)[1])" due to data type mismatch: Only foldable `STRING` expressions are allowed to appear at odd position, but they are ["0", "1"].;
'Project [value#41, key_value#45, transform(key_value#45, lambdafunction(struct(0, split(lambda x_3#49, =, -1)[0], 1, split(lambda x_3#49, =, -1)[1]), lambda x_3#49, false)) AS map_entry#48]
+- Project [value#41, split(value#41, ,, -1) AS key_value#45]
   +- LocalRelation [value#41]  at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.dataTypeMismatch(package.scala:73)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$5(CheckAnalysis.scala:269)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$5$adapted(CheckAnalysis.scala:256)
  at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:295)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1(TreeNode.scala:294)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1$adapted(TreeNode.scala:294)
  at scala.collection.Iterator.foreach(Iterator.scala:943)
  at scala.collection.Iterator.foreach$(Iterator.scala:943)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
  at scala.collection.IterableLike.foreach(IterableLike.scala:74)
  at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
  at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
  at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:294)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1(TreeNode.scala:294)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1$adapted(TreeNode.scala:294)
  at scala.collection.Iterator.foreach(Iterator.scala:943)
  at scala.collection.Iterator.foreach$(Iterator.scala:943)
  at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
....

The reason is CreateNamedStruct will use last expr of value Expression as column name. And will check it must are String. But array Expression's last expr are Integer. The check will failed. So we can skip match with UnresolvedExtractValue when last expr not String. Then it will when fall back to the default name.

Why are the changes needed?
Fix the bug when creating struct column name with index of array

Does this PR introduce any user-facing change?
No

How was this patch tested?
Add new test

cc @cloud-fan @sadikovi

thanks, merging to master/3.4!


🐛 Insufficient Heap Memory During Build

Context

During the npm run build process, the following error occurs:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory.
As a result, the test stack deployment is stuck and not synchronized with the latest updates.
The failure can be observed in the test stack: Test Stack Failure.

Actual behavior
<--- Last few GCs --->

[1486016:0x61c0320]    27122 ms: Mark-Compact (reduce) 2046.3 (2081.6) -> 2045.9 (2082.3) MB, 448.85 / 0.01 ms  (+ 56.0 ms in 13 steps since start of marking, biggest step 5.1 ms, walltime since start of marking 517 ms) (average mu = 0.357, current mu = 0[1486016:0x61c0320]    27863 ms: Mark-Compact (reduce) 2046.6 (2082.3) -> 2046.3 (2082.8) MB, 614.20 / 0.00 ms  (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 622 ms) (average mu = 0.265, current mu = 0.1

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

 1: 0xb86ecf node::OOMErrorHandler(char const*, v8::OOMDetails const&) [node]
 2: 0xef74d0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 3: 0xef77b7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
 4: 0x1109355  [node]
 5: 0x11211d8 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 6: 0x10f72f1 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 7: 0x10f8485 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 8: 0x10d4ba6 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [node]
 9: 0x10c631c v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawArray(int, v8::internal::AllocationType) [node]
10: 0x10c6484 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [node]
11: 0x13f623d v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Allocate(v8::internal::Isolate*, int, v8::internal::AllocationType) [node]
12: 0x13f62e3 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Rehash(v8::internal::Isolate*, v8::internal::Handle<v8::internal::OrderedHashMap>, int) [node]
13: 0x1526ef3 v8::internal::Runtime_MapGrow(int, unsigned long*, v8::internal::Isolate*) [node]
14: 0x760af54d9ef6
Aborted (core dumped)

Expected behavior
The build process should complete successfully without encountering an out-of-memory error.
Suggestion
Increase the heap memory allocation in the Dockerfile before initiating the build.

@kneerose is it PDF or Voting/Delegation? Cause it says pdf pillar and is assigned to @MSzalowski

@bosko-m  , I apologize for assigning the wrong label earlier. The issue is neither related to the voting/delegation, nor the proposal pillar. Instead, it is specifically associated with the frontend code build setup. which is failing on docker setup npm run build.

@MSzalowski The issue is still not resolved: GitHub Actions Run Link.

When I attempt to build the Docker file from the code, it continues to show a "heap out of memory" error

@MSzalowski  The issue is still not resolved yet : GitHub Actions Run Link.
--max-old-space-size=4096
Increasing the Node space to 4GB is not enough


[Nox.Generators] Implement relationship mechanic in generated dto context

Need to

Implement relationships so expand works properly for non-owned entities
Implement test in ClientApi


Fix Windows Path Problem On Build

After Building App In Windows OS  When Try To Serve Files Error Occur Due To Path Problems. This Is A Fix To That Problem

Thanks but I don't think this is the right fix.


Using ML Kit on specific phone can't download face-model properly

Step 1: Describe your environment

Android device: Lenovo A6020a46
Android OS version: 5.1.1
Google Play Services version: 19.8.31(020408-284611645)
Firebase/Play Services SDK version: firebase-ml-vision:24.0.1

Step 2: Describe the problem:
Steps to reproduce:
This has started happening long back, when I was using firebase-ml-vision:15.0.0, targetSdkVersion=27. It was working very well in the same device for very long time, suddenly when I bumped up targetSdkVersion to 28, it started failing.
If I include face-model in Gradle Dependency, it works fine. I do not want to detect face contours, no landmark detection or classification either. I just want count of faces present.
Observed Results:
E/Vision: Error loading module com.google.android.gms.vision.face optional module true: com.google.android.gms.dynamite.DynamiteModule$LoadingException: No acceptable module found. Local version is 0 and remote version is 0.
Once face-model is downloaded, it works once. App is crashing on 2nd run. Again when I run after the crash, it works for the first time.
I assume that some face-model is downloaded, otherwise it shouldn't work for the first instance as well, number of faces detected is accurate. It works perfectly fine on other test devices.
Logcat for the crash is attached here. It's a native crash so I could not find anything in logs.
After clearing Play Services data, it downloads face-model again. It starts detecting faces once its downloaded. Vision TAG locat is attached here for this. When I restart the app, it crashes.
Expected Results:
face-model should have been downloaded properly and app shouldn't crash.
Relevant Code:
Using this same repository, up to commit ID d14bf9cb018892c8eff94b95bd83f0d6a8b363a9

@sandeep5193 sorry for the very late response here, I was out of office for the holidays.  This sounds like an ML Kit SDK issue, let me transfer the issue.


Errors on Win10 22H2

Hi James, Thanks for the great work.
When I run the work on Win10 22H2 (19045.2728) with the command $allrpc = ls "C:\Windows\system32\*" -Include "*.dll","*.exe" | Get-RpcServer, it has the following errors:
Get-RpcServer : Exception calling "ParsePeFile" with "4" argument(s): "Value cannot be null.
Parameter name: key"
At line:1 char:65
+ ... = ls "C:\Windows\system32\*" -Include "*.dll","*.exe" | Get-RpcServer
+                                                             ~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-RpcServer

This error just keep happening and it cannot parse any server. I guess this happens because Windows has changed its APIs? or because some kind of new Windows security policies?
btw, when I run the same command on Win10 1909, it has no problem.

Never mind. The problem disappeared when I reinstalled the system.
Maybe I just messed up the previous system.


Update Operations Form Language and Blurb

Describe the task
Need to:
Add a blurb above the "additional operators" section to explain more about what that means. [Need wording and design]
Also, change the language which currently says Operator 1, Operator 2, to something like "Additional Operator Information". [Need wording]
Acceptance Criteria

[x] Update wireframe
[ ] second
[ ] third

Additional context

Add any other context about the task here.
Or here

@nanyangpro  and @hannavovk  this was the one during the backlog refinement walkthrough that will need some wording changes. cc @patriciarussellCAS

Thanks @Dianadec! The wireframe has been updated as discussed with @hannavovk. This ticket can be turned into a dev task once refined.

Covered by other tickets, closing


storage: extend timeout for slow CI

extend timeout

print out stacktrace. When it fails again, we can get more confidence that the
failure is caused by slow IO.

Fix https://github.com/coreos/etcd/issues/4057
/cc @gyuho @heyitsanthony

LGTM

lgtm


Hover effect

Description
In the provided screenshot,links in navbar at landing page has not hover effect right now.I would like to add hover effect with some css.I feel that will improve its UI effectively.
Screenshots

@CSEdgeOfficial Please assign me this issue.
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSoC'24 contributor.
[X] I want to work on this issue.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

It's an easy task. I have a experience in this. I would like to work on this issue. It would be great if you assign this to me.
Thank you
Your sincerely,
Sarthak Sharma


JSON can now be sent with different data types than just string

Generated reports

Generated reports

Generated reports

Generated reports

Generated reports


Alignment of logo in footer section is not perfect

Describe the bug
Alignment of logo in footer section is not perfect
@DeadmanAbir please assign me this issue
Screenshots

It's alright there, no need to change.


[Requirement] Tools for processing time-dependent instrument parameters

Executive summary
Instrument parameters are time dependent, this needs to be processed before, e.g., associating neutron events with parameter values
Context and background knowledge
Version 0.1 of summary written by @g5t:
time_parameter_report.pdf
Inputs
1-D DataArray, typically loaded from an NXlog in a NeXus file.
Methodology
To be determined for individual cases. See also attached PDF.
Outputs
Processed DataArray that can be used, e.g., with Scipp's event filtering.
Which interfaces are required?
Python module / function
Test cases
Creating synthetic data is easy and a good start, but we should consider testing robustness on real data.
Comments
This is likely very generic functionality and may result in addition of basic tools in Scipp as well as ScippNeutron.

Seems to me that the interface here should look something like this:
Input: A time dependent log.
Output: A function that maps arrays of time-points to a DataArray containing the log values.
For example it could look like this
class LinearInterpolation:
    def __init__(self, log_data):
        ...
    def __call__(self, time_range):
        ...
        return DataArray(interpolated_data_in_time_range, coords={'time': ...}, masks={'interpolation_invalid_here_for_some_reason':  ...})

class SimpleConstantInterpolation:
    ...
class StepwiseInterpolation:
    ...
class FancySplineInterpolation:
    ...

# usage:
log_data_interpolated = LinearInterpolation(raw_log_data)
values = log_data_interpolated(sc.linspace('time', 1, 5, 50, unit='s'))
other_values = log_data_interpolated(sc.linspace('time', 5, 6, 10, unit='s'))

This would cover the cases in the time-parameter report by @g5t and it would make a simple interface for downstream code using values from the log.


Create tests on server dir

Create tests on server dir

tests  would be trivial, because they check if async objects are created correctly. It's like test getters/setters. I don't think it's necessary.


Validate a 1.0 server runs in a 1.1 cohort

In 1.1, the Connection type was changed.  This issue covers the test that a 1.1 server can consume 1.0 Connections and vice versa.

We need to create a new test environment that adds a new repository for each release we make and then test that each can exchange data with the other.

I'll add myself to the assignees so we can work together on the infra to support it also

We have docker images dating back to 1.1 which could facilitate such a test.
We could fairly easy pick a combination of prior versions to add to a cohort by some modification of the lab notebook environment.
Alternatively we could create a much more targetted automated check, but again uses the docker images is probably the most useful source of the older code and most representive (given compiler updates etc) of what is being used for old versions.