Restructure .lint-todo directory contents

Currently, we have a single flat .lint-todo folder structure where all of the todo items are in that directory directly. This means that to check todo for a single file (e.g. your editor is running linting) we have to parse all of the .lint-todo folder contents which could be quite large.
I'd like to restructure things to be structured such that .lint-todo contains a folder per-file with todo items (that folder's name would be a hash of the full filename) as its contents. This would allow the most common operation (reading all todo items for a given file, or updating the todo items for a file) to be much quicker.

Agree. Will do this ASAP.

@scalvert - I think this is done?

This is in progress. I'll have a PR up soon.

This is implemented. We just need to resolve #19. Going to close this as that issue tracks the remaining work.


CheatMinimap key remaping in config does nothing

Actually setting ToggleKey = N in akarnokd.theplanetcraftermods.cheatminimap.cfg is not reflectd in game. I put there M, but it still use default N.
## Settings file was created by plugin (Cheat) Minimap v<IP_ADDRESS>

...

## The key to press to toggle the minimap
# Setting type: String
# Default value: N
ToggleKey = M

Nice to have minimap not only verticaly configurable, but to be able horizontally placed would be great addition. BTW all plugins it is great job done.

Thanks for reporting. Fixed the shortcut key issue and added MapLeft so you can now position it freely.


Make checkInfo argument implicit

This is mostly to reduce the re-allocation of the functions that reference it. It also makes the function a little bit shorter.
I've only done it for a (small) part of the code because I'm not sure @lue-bird would be okay with it.
What do you think, is this a direction we should go into or not? If so, feel free to merge it, otherwise I'd be curious to discuss it.

No, this was my plan all along but I was "worried" about currying overhead.
Do you have plans of e.g. changing the -Checks functionsinto returning a list and applying thefirstThatConstructsJust` as late as possible?

No, this was my plan all along.

Nice :+1:

I find it much cleaner/atomic/readable but I was "worried" about currying overhead.

The currying overhead shouldn't matter too much here. It is slower, but because the functions are defined once at the start of the review application, and the only thing remaining is a function call with the last remaining argument, which is fast because it translates to a plain function call (without A2/A3/...).

Do you have plans of e.g. changing the -Checks functions into returning a list and applying the firstThatConstructsJust as late as possible?

I hadn't thought of that. I'm not sure. I think it could make sense but if it puts the burden on the function that calls the check (and shouldn't necessary know whether there is one or more checks) then I'm not sure it's worth it. But feel free to try it out :+1:

I'll merge this PR now so as not to create conflicts for other things, and let's do these changes as we go along and/or in other PRs like this.


issue #26, delay monit service start to allow lwrp resources setup

no fundamental objection to this change, but it looks like this breaks one of the unit tests. would you mind updating the spec for the new behavior?


Phenotips authentication connection extremely slow

Phenotips connection is very slow and often times out.
Must fix.

Unfortunately this seems to be a problem with Phenotips.
Resolved with caching.


About deprecated functions and current examples

I had a problem trying to load the function "extract_frames" with  from autovideo import extract_frames
In another issue I saw that the function is deprecated. My question is, is the guide available in https://towardsdatascience.com/autovideo-an-automated-video-action-recognition-system-43198beff99d no longer valid?
What is the most current example?

Found the answer, in the specific model page there are links. For example:
https://github.com/open-mmlab/mmaction2/tree/master/configs/recognition/x3d
I'll leave this answer so it can be helpful to other people.


Representation of enums

Discussion topic about how enums are represented in Rust. Some things to work out:

What are the #[repr] options available for enums?

RFC 2195 defined the layout of #[repr(C)] enums with payloads.
RFC 2363 offers a proposal to permit specifying discriminations

When do we currently perform Option<T>-like layout optimizations?
When do we guarantee Option<T>-like layout optimizations?

For any Option-like enum? What about things like Result<T, ()>?
What are the conditions on T? (Obviously, must have some undefined values)
the Rustonomicon has some text on this topic

Are there important enum variant optimizations we want freedom to do in the future that we might want to keep in mind?
Size of empty enums and !: defined to be 0
C-like enums: define, what does it say about representation?

document the effect of #[repr(C) and friends here

I'm surprised to see so little activity here. I'm going to stake out a position that:

We need to guarantee Option<T> is optimized for some range of types T

I think we should guarantee that this is true for any enum where you have one nullary variant and one non-nullary variant
I think the types where this applies should include &T, extern fn, and stdlib types like NonZeroU32 that are designed for this

Otherwise, we should reserve the right to optimize (or not optimize) other sorts of enums as we choose

We also probably want to document (but perhaps not guarantee forever?) our layout rules around ! -- in particular, we currently say that if you have an enum with a variant whose types are "completely" uninhabited (e.g., excluding product types), then this variant is ignored. This is needed, iirc, to handle uninitialized data, where we may try to initialize and use just those parts that are inhabited.

I think we should guarantee that this is true for any enum where you have one nullary variant and one non-nullary variant

+1

I think the types where this applies should include &T, extern fn, and stdlib types like NonZeroU32 that are designed for this

+1, follow-up question: should we document this as propagating through newtypes? (and what's the exact defintion of newtype for this purpose -- e.g., do PhantomData fields make a difference)
I propose guaranteeing one additional fact about repr(Rust) structs: an univariant enum should be represented the same as a struct containing the same data as the sole variant. So for example:

enum Foo { Foo } is laid out like struct Foo;
enum Foo { Foo(i32) } is laid out like struct Foo(i32);
enum Foo { Foo { x: i32, y: i32 } } is laid out like struct Foo { x: i32, y: i32 }

This would be particularly useful if we also guaranteed that fully-uninhabited variants are ignored for layout purposes, because it allows type-punning between T and Result<T, !>.

What about Option<T> where T has enough unused continuous space to store the discriminant (e.g. in padding bytes) ? Could we / should we guarantee anything here ? We can always leave it unguaranteed for now.  cc @eddyb

As I wrote earlier in #13, I don't see any way to repurpose padding for these or other purposes (if it's settled to be padding in the contained type's padding -- while determining the layout of T we can futz with the padding between T's immediate members) because code that just writes to the T through a pointer wouldn't be obligated to preserve the discriminant/padding, nor would it even know how to do that.

I would like to see Result<&T, ()> get optimized, but this depends on the representation of (), and in particular, what if we consider platforms where null pointers are nonzero? Do we always make () have a representation such that it can be used in this way?
Newtypes with repr(transparent), at the least, should be able to be optimized in enums in the same way that their underlying types are. This is not something that we can fully commit to until we discuss validity of values, however.
I agree with @eddyb's distinction in rust-lang/rfcs#2363 that the tag and discriminant are different concepts, and only the RFC 2195 reprs necessarily make the discriminant directly affect layout. I think that repr(rust) should offer no guarantees about how the discriminant values are taken into account for layout.
In particular, if RFC 2363 is adopted, I am inclined to say that assigning discriminants does not affect the Option<&T> layout optimization.

Explicit discriminants won't affect a two-variant enum, because only one invalid value is being used, but the choice of assignments does matter when more variants are involved.
In particular, if there any gaps in between the discriminants of variants that need invalid values, that will use up invalid values as well.
We have a pragmatic limitation, which is that decoding the discriminant from the invalid value representation should be simple/quick: currently it's limited to "rebasing" the invalid value to the discriminant (i.e. they have matching ranges, just different starts).

Can you elaborate a bit more on why this is the case? On a #[repr(Rust)] enum, is the discriminant used for anything other than std::mem::discriminant()?

@alercah Yes, it's what the MIR switch (really called SwitchInt) works with, for matching on an enum. So we have to decode the tag/invalid value into the discriminant value.

Ah, I see. Why do we support specifying discriminants on repr(Rust) enums at all, then?

@nox's usecase is matching the tags between two enums for optimization purposes (LLVM generating better code if they match up, without writing any unsafe code).

That usecase isn't repr(Rust), though. What they're trying to do wouldn't work in repr(Rust), since there's no guarantee that the discriminant is stored in the first byte (or, in fact, is stored anywhere, because niche optimizations may mean it doesn't have to be).
If I write enum Foo { Bar = 1 }, it's not clear to me what the = 1 is actually doing. I'd forgotten that std::mem::Discriminant doesn't actually expose the underlying value. So you mentioned that the compiler uses it internally, but as far as I can tell, since we don't offer any layout guarantees, there's no guarantee that Bar is actually represented as a 1 of any kind.
I think this means that we should just deprecate explicitly-specified discriminants on repr(Rust) enums.

Ahh, right, I understand. Some testing shows that we don't seem to do these optimizations for repr(Rust) enums: https://play.rust-lang.org/?gist=c67903cbb0b6242b64f14d326c6f5849&version=stable&mode=debug&edition=2015. Note that all of @nox's examples include repr(Int).
Honestly, I had completely forgotten that we expose the discriminants of fieldless #[repr(Rust)] enums in numeric casts. I proposed in rust-lang/rust#46213 just now to not allow specifying discrimimants of #[repr(Rust)] enums with fields.
Still, even with them being observable, I think that we should opt against making any kind of layout guarantees based on discriminants. I frequently write code like that in this comment, except that I specify (almost always by omission, so they start from 0) overlapping discriminants. A very clever compiler could ignore the values of the discriminants as specified, and realize that it has an opportunity to optimize multiple types together. Consider this:
enum First {
  A,
  B,
}

enum Second {
  C,
  D,
}

enum FrontTwo {
  First(First),
  Second(Second),
}

Currently, the compiler lays out First and Second based on the discriminants---0 for A and C, and 1 for B and D. Both types use only 1 bit, but since it's the same bit, FrontTwo can't do any niche optimization. But someone very enterprising doing the layout could see that the representation of Second could be offset by setting C to 2 and D to 3, setting the second bit to 1 always and meaning that the representations now don't overlap. This allows FrontTwo to rely on the niche overlap to only take up one byte. If you're uncouth enough to actually use as to cast these to numbers, then the compiler
Now, imagine we have Third, Fourth, and BackTwo defined similarly. If we then define AllFour with FrontTwo and BackTwo variants, we could offset the representations similarly, storing all eight variants in only three bits instead of three bytes.
This tells me that there are potential optimizations that even a guarantee of "A C-like #[repr(Rust)] enum is laid out as if it is just an unspecified integer of size at most isize, and the value of each variant is the discriminant." Moreover, they are quite significant. Given that the actual underlying integer type is unspecified anyway, it's difficult to depend directly on the layout, and you can always pick #[repr(Int)]if you want to. So I think we should guarantee nothing about#[repr(Rust)]` except for any niche optimizations we want to support.

On the subject of Option, the bare minimum guarantee, I think, is as follows.
If an enum has exactly a single inhabited variant with a single nonempty field, it is the same as a newtype struct. If it has exactly two inhabited variants, with exactly one nonempty field between them, and that field is of suitable type, then it is niche-optimized.
This definition would cover Result<&T, ()>, Result<T, !>, and Option<&T>.
"suitable type" is a bit fuzzy. At the very least, Niko's types are definitely suitable, because of the C ABI, but if we accept nonzero values being guaranteed for niche-filling, bool and char could be too, as could any struct containing at least one field of suitable type. Any tagged enum---meaning any enum other than a #[repr(Rust)] enum with fields---that does not have exactly as many variants as it has room for would be eligible as well (although note that a #[repr(Rust)] field-like enum with, say, variants 0-255 would still require a second byte; it's just that we treat 256 like a valid value, put the niche there, and that causes the spillover).

bool and char could be too

char can't be 0-optimized

C-like enums: define, what does it say about representation?

Please document the ABI considerations. In particular, document how Rust C-like enums work w.r.t. -fshort-enums. Note in particular, some targets have short enums as the default and others don't.

When do we currently perform Option-like layout optimizations?
When do we guarantee Option-like layout optimizations?

I think we should give these optimizations a proper name instead of calling them Option<T>-like. They are optimizations that apply to enums with sentinel values. Currently, these sentinel values can be specified via magic types like NonNull and NonZero, but I've wanted to use an Option<NotMax<usize>> in the past, so it wouldn't be crazy to think that we might want to provide a way for users to specify these sentinel types in the future, and extend this to more than one sentinel value, so that enums with multiple variants can also be optimized.
I think that once we specify exactly what we guarantee about these sentinel-value-based enum optimizations, we only have to specify how core::option::Option is to be implemented, and that size_of::<Option<&T>>() == size_of::<*const T>()  should just follow from that.

Using @eddyb's terminology, these are "niche optimizations" because they use a "niche" (a bunch of values that are never allowed in elements of a type) to store the enum discriminant.

@RalfJung I actually like "sentinel" too. It'd be great to come up with a name to replace "niche" because it has gotten people confused and it's kind of a... niche term.

While I also like sentinel I don't mind much about using "niche". After going through https://en.wikipedia.org/wiki/Sentinel_value I don't know if the "sentinel" term is also commonly used for multiple values.

It'd be great to come up with a name to replace "niche" because it has gotten people confused and it's kind of a... niche term.

The main reason is probably because we don't define this term anywhere yet and because the docs / nomicon / ... do not use it consistently. Whatever term we pick, we should just properly define it in the "enum layout" document and update the book, nomicon, etc. to use the term appropriately.
What terms do other languages use ?


Ideas for chart examples/tests of d3fc flexibility

An issue to bring together any ideas for charts.

There's an interesting collection of charts here:
http://bl.ocks.org/nbremer
Would be a good test for the flexibility of d3fc

https://github.com/ScottLogic/d3fc/issues/895

Some great visualisation here, would be interesting to reproduce with d3fc:
http://githut.info/

#875


Text horizontally out of the viewport does not become visible when vieport size is increased

I have found the a problem regarding scrolling end re-sizing. Since it's not easy to describe I just post the steps needed to reproduce and a GIF showing the behavior:

open the RichText demo
disable "wrap"
insert one long line of text
decrease the horizontal size of the window until a horizontal scroll bar is visible
scroll all the way to the right
increase the window size until the horizontal scrollbar dissapears
-- Result: The content stays scrolled to the right
-- Expected: Same behavior as for the vertical dimension (which works just fine)

Sidenote: As horizontal scrolling is broken with Flowless 0.5.1 I used a snapsot that was created from the current state of the Flowless repo.

Good catch. Unfortunately, I don't understand Flowless' inner code that well, so I'm not the one who can determine where the bug is occurring and then fix it.

This is another issue I want to look into after better documenting Flowless' code.

I fixed the bug in TomasMikula/Flowless#42. Just waiting for Tomas to merge it.

I've created a branch in my repo of Flowless called jitpack-master that includes the fix I've submitted. If you change your build to use that via Jitpack, then this bug will no longer appear. Follow these instructions to update your build to use it. You can revert your build to the next release whenever Tomas makes the next one including the fix.
Maven
Add the repository
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Add the dependency
<dependency>
    <groupId>com.github.JordanMartinez</groupId>
    <artifactId>RichTextFX</artifactId>
    <version>jitpack-master-SNAPSHOT</version>
</dependency>

Gradle
repositories {
    maven {
        url 'https://jitpack.io'
    }
}

dependencies {
    compile "com.github.JordanMartinez:RichTextFX:jitpack-master-SNAPSHOT"
}

Sbt
resolvers += "jitpack" at "https://jitpack.io"

libraryDependencies += "com.github.JordanMartinez" % "RichTextFX" % "jitpack-master-SNAPSHOT"

This was fixed in the latest snapshot of Flowless (6.0.0-SNAPSHOT), so all one needs to do is refresh their dependencies.


How to get the latest block of the contract?

I need to get the latest block because 'latest' as toBlock doesn't work. I tried the code below with $toBlock = 'latest'
$this->eth->getLogs([
  'fromBlock' => (is_int($fromBlock)) ? '0x' . dechex($fromBlock) : $fromBlock,
  'toBlock' => (is_int($toBlock)) ? '0x' . dechex($toBlock) : $toBlock,
  'topics' => [$this->ethabi->encodeEventSignature($this->events[$eventName])],
  'address' => $this->toAddress
],<callback here>);

but it says: fromBlock must be less than or equal to toBlock. It only returns a result when I set fromBlock to 0 and toBlock to 'latest' or when I use 2 specific blocknumbers.
That's why I need to get the latest block.
Thanks!

$this->eth->blockNumber();

$this->eth->blockNumber();

Sorry, I meant the latest block of the contract.

Alright, I changed providers in testnet and it works now, Thanks!


Update SECURITY.md

Coverage remained the same at 100.0% when pulling 81febf495de1df5d93a085d20a35dba0cf2d7eb8 on ndaidong-patch-1 into 4da216bc69278ce46bd55821b28dcceed524e50e on main.


iAd Interstitial ad being covered by viewcontroller transition

I'm trying out your code across three viewcontrollers.  The first VC is displaying a banner ad.  The 2nd view is also displaying a banner ad.
The main issue is my second VC is a tableview.  If I tap an entry on the tableview, it segues to a detail view controller.  The iAd interstitial ad shows up and is then covered by the new viewcontroller.  It seems to be treated as its own viewcontroller, because the 'Back' button goes back to the interstitial, and pressing back button again in the navigation bar then moves back to my tableview.  The AdMob interstitial works fine and displays after the viewcontroller is loaded.
In the viewDidLoad() function, I call:
Ads.sharedInstance.showInterAd()
so I'm not sure what's up.  Either I'm doing something wrong, or I guess it's a bug?

Hey,
Thanks for your feedback and bug reporting. I have actually been aware of this issue thanks to another member. As you hopefully read in the instructions I mainly designed this helper for SpriteKit so my apologies for these bugs.
I believe the reason it is causing issues on regular UIKit apps is because the property
currentViewController
in Ads.swift  gets reset (due to the changes in "Not a SpriteKit game") and therefore is not the rootViewController anymore. I will try to address this soon, been busy finishing my latest game.
Can you try resetting/redownload the helper so it looks like the spriteKit helper (ignoring the changes in "Not a SpriteKit game") and than only set the presentingViewController property once when your app launches, just like for spriteKit.
As far as I understand the app delegate will set the first view as its rootViewController, therefore if you set the Ads.sharedInstance.currentViewController property only once maybe it will work once using your other view controllers.
I would appreciate if you could try this and maybe report your findings.
Thanks again

Switching it back to the original code only seems to load the banner on the first VC, and won't load a banner or interstitial on any other VC.

Himhhh this sucks, I will try to fix this soon.
I have also asked a question on stack overflow to figure out how I can use a helper that has a viewControllerProperty
presentingViewController: UIViewController

and than use it in apps with multiple ViewControllers.
I thought my changes for UIKit apps where you set this property in each user method would be sufficient, but thats obviously not the case. It must be something with rootViewControllers.
I will report back asap.
thanks again

Hey,
Could you do me a favour, can you try make the following changes in the Ads helper and see if it works.
Go to all the methods that add the ads on screen (iAdShowInterAd, adMobShowInterAd etc) and change this line
  presentingViewController.view.addSubView.......

to
   presentingViewController.view?.window?.rootViewController?.view.addSubView...

I believe this might fix the issues. I appreciate if you could report back.
Thank you

Dom,
I gave up yesterday and stripped the code out and went in a different direction, sorry.  After reading about iAd shutting down in June, I started looking for ways to shift over to Admob.  I decided to try your code, knowing I might run into some issues with multiple viewcontrollers, but thinking the shared ad would be worth it.  Apple was pretty picky on having a single shared banner when you used multiple viewcontrollers… otherwise each VC change would call another ad.  They don’t like that.
I assumed Admob/Google would be the same, but I was wrong.  On their developer forum I found out yesterday that they don’t care about having a single shared banner.  I’m guessing they handle that on the back end and just feed whatever banner is currently available to the app in the given time duration.  Their mobile ads guy said just call an ad from each VC, and that’s it.  He even said you can use all the same AP Unit ID or use separate ones if you want certain VCs to show different ads.  So that’s what I did, and finished up all the coding this morning.
Sorry I can’t be more help.
Brian

On Feb 18, 2016, at 11:13 AM, Dom<EMAIL_ADDRESS>wrote:
Hey,
Could you do me a favour, can you try make the following changes in the Ads helper and see if it works.
Go to all the methods that add the ads on screen (iAdShowInterAd, adMobShowInterAd etc) and change this line
presentingViewController.view.addSubView.......
to
presentingViewController.view?.window?.rootViewController?.view.addSubView...
I believe this might fix the issues. I appreciate if you could report back.
Thank you
—
Reply to this email directly or view it on GitHub https://github.com/crashoverride777/Swift2-iAds-AdMob-CustomAds-Helper/issues/5#issuecomment-185868308.

Hey
Thanks for the reply.
I believe the iAd shutDown does not affect developers like us that just want to use ads, its the iAd App Network that will shut down, as in the program where you create your own ads.
The shared banner ad is defiantly the way to do it with banner ads, as per apples guidelines. Normally its in the appDelegate but because my helper is a Singleton, there is no need for it.
I dont think its recommended to load a new banner on every viewController, that is very inefficient, hence you are supposed to use a sharedBanner ad.
I believe I fixed my helper, the reason was I was not adding the ads to the rootViewController therefore if you use multiple viewControllers the ad might disappear.
I mainly asked for you to test was because I dont deal with a lot of UIKit app, but its fine, I very mich appreciate your helper.
Like I said I believe I addressed the issue now and will post a updated version of my helper now.
If you dont mind I would like to close this question
Thank you again.


Moving human test data over

Draft PR for discussion
Moving human test data over from modules repo.
I applied some of the naming suggestions from @drpatelh PR. Personally, I find leaving T and N as marker easier to read than 1 and 2. But since I am mostly using sarek this is probably highly subjective. Would be curious to hear what other's preference is.
Unfortunately, the gtf/gff3s I pulled from Ensembl are still not working for @FloWuenne, so for now I opted for using the Gencode ones in the hopes they work. However, I am not sure whether we should rather try to make this as similar to the sarscov data as possible. For now I left both in but when merging this, we can easily remove one of them.
Let me know what you think and what is missing. I will try to add in some of the missing files. If anyone has a good dataset that is also covering chr6 we could still replace it relatively easily, now that I have everything set up locally.

Hi @FriederikeHanssen , this looks really great!
Whether we lave T  and N or use 1  or 2 instead really depends whether we want to try and normalize the different filenames between organisms as much as possible. Personally I like having those letters in there, as I could immediately guess what they represent. On the other hand, if we are going for a yml file that is associated with every data file, the information could be relatively easily retrieved from there.
I guess we just have to evaluate what the benefits of 100% normalized filenames are ... I'm just going to dump some of my thoughts here.
Pro:

makes file names less complex
slightly less risk of having something twice
possible to easily switch between organisms (at least for some files and some tools)

Con:

almost no idea what's in the file from looking at it
it will always only be possible for certain files

Okay apart from that though, I think it looks good! I would like to try and get this in. I'm sure we find some issues with it then but it will be easier to debug using it. Ah one thing we might need at some point is a small description for every file, how it was created. In a way we have this by your README.md, but also given what we said yesterday, we probably should have some file-specific info too.
:+1:

Looks supercalifragilisticexpialidocious now @FriederikeHanssen . Thanks a bunch!


Updating file information via gridfs.files.update()

I am trying to update the filename and metadata via gridfs.files (as suggested by #98):
gridfs.files.update(
  { _id: req.params.id },
  { $set: { filename: req.body.filename } },
  (err, updated) => { ... }
)

However, this is not working for me on gridfs-stream 1.1.1 and mongod 3.2.11:
{ ok: 1,
     nModified: 0,
     n: 0,
     opTime: { ts: [Object], t: 1 },
     electionId: 7fffffff0000000000000001 }

Any idea what could be wrong? Did this feature break in a later version of this library/mongod?

I noticed that it is picky about ObjectIds. So it must be probably:
ObjectId = require('mongoose').Types.ObjectId
...
_id: new ObjectId("req.params.id")


stages/containers.storage.conf: support pytoml

RHEL 8 only has the old pytoml library, so we need to support that as well. Try falling back if importing toml fails.

The stage is not (yet) used in any Composer tests or any of our integration tests. We do have the unit tests, merging.


Sweep: improve cleanAccount stored procedure to accept a list of accounts

Currently, the cleanAccount stored procedure can be used to delete the database records for an individual account. Extend it to take a list of accounts.

Sweep: retry

Hey Pierre, I'm looking into this issue. Sorry about that!

Shouldn't be that, we're able to finish the entire retrieval step. The bug is actually on branch creation, which is strange

Maybe it's because master is stale? I can sync the fork and retry if you want.

That would help!

Sweep: retry

sweep: Retry

Looking into this!

sweep: retry

@pierre Found the issue! We name our branches sweep/{feature}, but it turns out your repository already has a sweep branch. Looks like this branch doesn't have any changes, so would you mind deleting this branch to get Sweep to work?

sweep: retry

Hey @pierre! We got one working here. Feel free to make more issues/comment on that PR!

I added 5 more tickets to your user, thanks for bearing with us

Thanks! Happy to help iron out the kinks!


Fix python detection

Some platform, like ArchLinux, may not have python in the PATH, but can still have python2. So we should add some fallback option to detect python correctly. This detection order is copy from rust-lang/rust.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

:hourglass: Testing commit f97f854 with merge 5e2a949...

@bors: retry force clean

:hourglass: Testing commit f97f854 with merge 6440616...

:broken_heart: Test failed - cargo-linux-32

@bors: retry
On Mon, Jul 25, 2016 at 11:48 AM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - cargo-linux-32
https://buildbot.rust-lang.org/builders/cargo-linux-32/builds/1736
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/pull/2910#issuecomment-235047282, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95MJFzhsRCqdtygIO8WYlY9TElHC9ks5qZQUagaJpZM4JTcZ2
.

:hourglass: Testing commit f97f854 with merge c547d97...

:sunny: Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64
Approved by: alexcrichton
Pushing c547d972f2edc3395caae0f759cd8c058ff9ee5a to master...


Update to nginx-route for Ingress

Enhancement Proposal
Currently the charm supports the nginx-integrator ingress relation, which is deprecated in favor of the nginx-route library and interface. It would be good to update to the nginx-route relation (and update the docs) to avoid users being presented with a deprecated notice.

Closed with https://github.com/canonical/discourse-k8s-operator/pull/69


Issue from Browser: Assertion should fail if expected value is given without operator

"Would definitely be better if there was a failure if assertion_expected is not None and assertion_operator is None.
Example in the keyword documentation would obviously help with correct usage as well."
https://github.com/MarketSquare/robotframework-browser/issues/1142

I agree, should not be difficult to fix, somewhere here. Something like:
if operator is None and expected:
    raise ValueError("Assertion can not be made with only expected value")


SSL certificate for https://angular-maps.com/ expired yesterday

Issue description
https://angular-maps.com/ is not accessible due to an expired SSL cetificate.
Steps to reproduce and a minimal demo of the problem
Navigate to https://angular-maps.com/
Current behavior
SSL connection terminates because the certificate is expired.

@andir thanks!  cert is now up to date.


Add classname_style option

The type name when printing an object should be supplementary and lightweight information.
If the user wants to know the type name, they can print it using typeid.
Therefore, I won't provide detailed customization features of the type name.

[ ] apply styled_classname to std::queue and etc.
[ ] class or type?


Notify if there is an update available for SIT

Show a badge on the install page nav view if there is an update available for SIT which uses the same Tarkov version as currently installed.

Will then resolve #52
Not sure if you think it's worth including a button on the install page called 'Update to latest' which quickly updates them to the latest version users are able to get.
But have a little look at it and see what you think. I tested using EFT version <IP_ADDRESS>.28965 and SIT version 1.10.8824.27027 installed

I think an update to latest button would be a great addition

Thought you'd say that 😆

I do believe it works properly now


TASK [ispmail-webmail-apache-roundcube : Create certificate for this site]

Hi,
I'm running into this error on my VM where I want to setup a test-ispmail-server:
TASK [ispmail-webmail-apache-roundcube : Create certificate for this site] ***************************************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "certbot -a apache --non-interactive --apache-le-vhost-ext \"s.conf\" --agree-tos --register-unsafely-without-email --domains mail.local.example.com", "delta": "0:00:00.890664", "end": "2024-02-25 14:46:54.004900", "msg": "non-zero return code", "rc": 1, "start": "2024-02-25 14:46:53.114236", "stderr": "Saving debug log to /var/log/letsencrypt/letsencrypt.log\nMissing command line flags. For non-interactive execution, you will need to specify a plugin on the command line.  Run with '--help plugins' to see a list of options, and see https://eff.org/letsencrypt-plugins for more detail on what the plugins do and how to use them.\nAsk for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.", "stderr_lines": ["Saving debug log to /var/log/letsencrypt/letsencrypt.log", "Missing command line flags. For non-interactive execution, you will need to specify a plugin on the command line.  Run with '--help plugins' to see a list of options, and see https://eff.org/letsencrypt-plugins for more detail on what the plugins do and how to use them.", "Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details."], "stdout": "", "stdout_lines": []}

The related error message in /var/log/letsencrypt/letsencrypt.log is clear about the root cause:
certbot.errors.Error: An e-mail address or --register-unsafely-without-email must be provided.
2024-02-25 14:47:44,970:ERROR:certbot._internal.log:An e-mail address or --register-unsafely-without-email must be provided.

Can you please advise how to fix this error?

I want to use my own existing certificate, I don't want to create a new one.
How to do that?
Best regards.

@cmonty14 Please add "certbot_admin_email" in your group_vars/all file so that there is a valid email address for Let's Encrypt. I haven't witnessed that yet and have to reproduce it.

@mikysal78 You need to set tls_key and tls_cert (found in group_vars/all) to the path where you put your own key and certificate files. Then just omit the "certbot" role in the ispmail.yml main playbook.

@mikysal78 You need to set tls_key and tls_cert (found in group_vars/all) to the path where you put your own key and certificate files. Then just omit the "certbot" role in the ispmail.yml main playbook.

I put the keys in but certbot still runs.
Need to find a way to make a skip when tls_key is defined and tls_cert already exists.
I didn't spend a lot of time and made some manual modifications.
If you want I can try to find some time to figure out how to fix it

I want to use my own existing certificate, I don't want to create a new one. How to do that? Best regards.

Why are you using this issue for your specific issue?


Failure building Atom from source on macOS 10.15 Catalina

Description
./script/build fails on macOS Catalina.
Steps to Reproduce

Verify the macOS-specific prerequisites are satisfied as outlined at https://flight-manual.atom.io/hacking-atom/sections/hacking-on-atom-core/#requirements:
$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.15 (19A602)
      Kernel Version: Darwin 19.0.0
      ...

$ python -V
Python 2.7.16

$ node -v
v10.16.3

$ npm -v
6.9.0

Clone atom/atom and verify that you have the latest code:
$ git show
commit 6f16a7a40cda53ab9b351b6d3cd946f102814159 (HEAD -> master, origin/master, origin/HEAD)
Merge: bd3f9c2e5 a9a6c27b2
Author: Lee Dohm<EMAIL_ADDRESS>Date:   Tue Sep 24 13:19:48 2019 -0700

    Merge pull request #19953 from atom/bump-ts

    :arrow_up<EMAIL_ADDRESS>

Run script/build as specified at https://flight-manual.atom.io/hacking-atom/sections/hacking-on-atom-core/#instructions.

Expected behavior: Atom builds successfully
Actual behavior: script/build fails as seen below
$ ./script/build
Node:	v10.16.3
Npm:	v6.9.0
Installing script dependencies
Installing apm
...
apm  2.4.3
npm  6.2.0
node 10.2.1 x64
atom unknown
python 2.7.16
git 2.21.0
Installing modules ✗
><EMAIL_ADDRESS>preinstall /Users/j/src/atom
> node -e 'process.exit(0)'

npm ERR! code ENOLOCAL
npm ERR! Could not install from "node_modules/jasmine-focused/jasmine-node@git+https:/github.com/kevinsawicki/jasmine-node.git#81af4f953a2b7dfb5bde8331c05362a4b464c5ef" as it does not contain a package.json file.

npm ERR!       Could not install from "node_modules/jasmine-focused/jasmine-node@git+https:/github.com/kevinsawicki/jasmine-node.git#81af4f953a2b7dfb5bde8331c05362a4b464c5ef" as it does not contain a package.json file.
npm ERR!      /Users/j/.atom/.apm/_logs/2019-10-17T14_54_36_051Z-debug.log
child_process.js:650
throw err;
^
Error: Command failed: /Users/j/src/atom/apm/node_modules/atom-package-manager/bin/apm install
at checkExecSyncError (child_process.js:629:11)
at Object.execFileSync (child_process.js:647:13)
at module.exports (/Users/j/src/atom/script/lib/run-apm-install.js:14:16)
at Object. (/Users/j/src/atom/script/bootstrap:44:1)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)

Reproduces how often:
100% of the time

It turns out that this particular error is not specific to Catalina after all. I was able to reproduce the same issue on macOS Mojave, and @lkashef reproduced it on Ubuntu. I'm going to change the title of this issue and the description accordingly.


Hello, I'm glad you've done a great job, so when can the code and dataset be released.

Anyway, thank you very much.

https://github.com/Raghvendra-14/M3LS
That's a link I received from one of the authors

https://github.com/Raghvendra-14/M3LS
That's a link I received from one of the authors

Thank you very much again. I will go to see that link.


Assertion count seems to be wrong

Snitch seems to count test cases towards assertion count. A singular empty test case counts as 1 test case and 1 assertion. Note: I'm on 1.2.3 since that's the last version that shipped with the header-only version.

Indeed, this is because each test case automatically checks that no uncaught exception is thrown in the test body. Disabling exceptions will remove this additional check.

@cschreib should we also address this issue? There are no assets in 1.2.4 and 1.2.5 for some reason.

I'm on 1.2.3 since that's the last version that shipped with the header-only version.

@s9w meanwhile, you can generate it yourself using the SNITCH_HEADER_ONLY CMake option (example).

I don't use/like cmake, hence my reliance on the header-only version. But thanks for the suggestion @tocic

Yes we should make sure all releases have assets. I must have forgotten to upload them the last couple times. GitHub actions already generate them, but the upload to the release entry is still manual. I haven't yet figured out how to make it automated.
@s9w are you OK otherwise with the resolution of this specific ticket being a won't fix?

@cschreib I disagree with the way that this is counted - at least in this opinionated/non-customizable way - but can accept it as it's not crucial to me. I think that this is explicitly counting an implicit assumption. We might as well count that the function didn't terminate and so on. But again: all good, I don't care much for the number. We can close this

I think that this is explicitly counting an implicit assumption. We might as well count that the function didn't terminate and so on

That's the thing actually, it appears like an implicit check for the user, but it is definitely explicit for the snitch library: there's a try/catch specifically added around the execution of each test case to catch this. If you run the tests with full verbosity, you will see that there's a "no exception caught" being reported when the test returns successfully. If we were able to check for "doesn't terminate" in the same way (#35), we would report it too, because this (like for an exception being thrown, or the test entering an infinite loop) effectively results in the end of the test case not being reached. I hope that clarifies the reasoning a bit more! I'll close the issue, but feel free to respond.
Now that being said, I agree that "empty test case reports one successful assertion" is a surprising situation. I read about this the other day and discovered this is what people call a "rotten green test" (i.e., it reports "green" = pass, but doesn't actually test what it should). There's a report on the topic, and a PR for GoogleTest to attempt to catch and report this. It got me thinking about your issue, and that perhaps we should also do something about it. I'll open a separate ticket for that (#176).


syslog drain and reliable delivery

Would it be possible to add RELP support to syslog drain (adapter)?
One may argue it makes no sense as log pipeline cannot guarantee 100% delivery under back pressure anyway. While it is true if loss happens due to back pressure we have metrics to detect and count missing logs however when a loss happens on network level it is completely invisible to both sender and receiver.

@giner Sorry for not getting back quicker. I haven't heard anyone else asking yet for RELP support. Just out of interest, what system are you using to ingest RELP? Logstash or something else?

I will keep this open for a little while. Since we are in the middle of rewriting the syslog drain logic, we might consider adding support for RELP if we hear from more CF users and operators who might need this.


xiaomi / smart xi fan not connected to any home automation network

Back in https://github.com/130s/hut_10sqft/issues/466 it was connected to wifi, then some sort of app (likely Tuya? I forgot), Google Home, and openHAB. Now after switching routers to a new one, , it is not connected.

Manual.
I actually found it connected to Mi Home app.

Looking at https://www.home-assistant.io/integrations/xiaomi_miio/#linux-and-rooted-android, I jumped to Manual run in python (PiotrMachowski/Xiaomi-cloud-tokens-extractor). Running Python version, I was able to pull the info:
root@98f6b1d751b0:/token_extractor# python3 token_extractor.py
Username (email or user ID):
xxxxxxxxxxx
Password:
ppppppppppp
Server (one of: cn, de, us, ru, tw, sg, in, i2) Leave empty to check all available:
us

Logging in...
Logged in.

Devices found for server "us":
   ---------
   NAME:     Fan_SmartMi
   ID:       iiiiidddddd
   MAC:      macmacmacmacmac
   IP:       ip.ip.ad.addr
   TOKEN:    tokentokentokentokentokentoken
   MODEL:    zhimi.fan.za3
   ---------

But this info is not what HASS was looking for. It needs an account info for Xiaomi Miio Cloud (i.mi.com). Turned out I can log on with the same email I use for mobile app. Looks like I've created an account more than a year ago so my webbrowser remembered creds.
The website complained that I haven't logged in for more than an year, so I have to come back to the same website 1 day later.
BUT, using the email and pw, I was able to log on to Xioami Miio integration.

It's now an issue again inhttps://github.com/130s/hut_10sqft/issues/644

Getting more concerned with them requiring cloud accounts credentials.


Multiple charts tooltip issue

When creating multiple graphs at one page, all in a different canvas, for some reason only the tooltip of the last drawn chart shows up. Depending on which chart that is, everytime the tooltip is at a different graph. Someone any clou what the reason might be for this very strange issue?

Closing since this needs a test case. Will reopen when a test case becomes available


style "visibility:hidden" of GElement not working as intended, only style "opacity:0" does

I created a svg with a <g> working as a library, so I can <use> its elements multiple times elsewhere. But hiding that library did not work using style="visibility:hidden".
I came across https://stackoverflow.com/a/20328945/3410351, so I tried style="opacity:0" and it actually hides the children of the GElement. However, those SVGs with <g style="visibility:hidden"> are not rendered correctly by SvgRen.

fixed in svgren version 0.4.48


Animal/Hostile Spawning Behaviour

Description
Task: Animal Spawning Behaviour.
Feature: Implement Alien Animals Advanced
The entities in the game need to spawn in intelligent and meaningful ways to ensure they add value to the gameplay experience. The entities both need to spawn in valid game areas and spawn periodically as the player may kill them. This applies to both the hostile and passive entities.
For the spawning behaviour of hostiles, they should only spawn when the player has completed a specific mandatory quest that will allow the player to defend himself. In addition, the spawning behaviour will be similar to minecraft's hostile spawning behaviour. In the day, there will be more normal animals hanging around instead of hostiles. At night, anything can happen when hostiles are out and about.
Example

Valid tiles: The entities should only be spawned on valid tiles, not on impassable terrain or outside the map.
Spawning behaviour: Entities should spawn at somewhat random (though still meaningful) times to make the game less predictable. Hostile animals may only spawn after a certain number of days have passed to allow the player time to familiarise themselves with gameplay mechanics. More hostiles should be spawned as the player progresses as to increase the difficulty with the players familiarity with the game.

Dependencies

[x] Game map terrain (#167)
[x] Time system (#10)
[x] Quest systems (#387)

Milestones
List of steps that need to be completed for this task.

[x] Step 1  Discuss with studios idea about spawning animals and hostile. (Sep. 25)
[x] Step 2 Create the base functionality for the spawner (Sep. 30)
[x] Step 3 Integrate spawning with hostiles and animals (October. 1)
[x] Step 4 Write tests for feature (October. 2)

Completion Deadline: October. 2
Documentation

Animals

Member

Tze Kheng Goh (@UniversalTze)
Abdullah Badat (@27abdullah)

Completed


Preprocessing error with ControlNet in Stable Diffusion AUTOMATIC1111 webui

I am using Stable Diffusion AUTOMATIC1111 webui with ControlNet and I encounter an error that I don’t know how to fix. The error happens when I try to add an image to ControlNet for preprocessing. Most of the time, the preprocessing fails and I get a black preview instead of the image. Then, ControlNet gives me an “AttributeError: ‘NoneType’ object has no attribute ‘rsplit’” message. I have to try many different images before one of them works. This is very frustrating and it seems to be getting worse. I have attached a screenshot of the error below. Is this a bug or something wrong with my installation? Please help me solve this problem. Thank you.

same issue


[SPARK-35556][SQL][TESTS] Avoid log NoSuchMethodError when HiveClientImpl.state close

What changes were proposed in this pull request?
There are some UTS testing multiple versions of hive in sql/hive module, such as hive.client.VersionsSuite,  so we need to ensure that the SessionState#getTmpErrOutputFile method exists in the hive version being used because this method was added after hive 2.0.
Otherwise, the error log related to
java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.getTmpErrOutputFile()Ljava/io/File;

will be printed.
The main change of this pr is added a condition to make sure to call SessionState#getTmpErrOutputFile only when it exists
Why are the changes needed?
Avoid log NoSuchMethodError when HiveClientImpl.state close and make sure to call SessionState#getTmpErrOutputFile only when it exists.
Does this PR introduce any user-facing change?
No
How was this patch tested?

Pass the GitHub Action Scala 2.13 job
Manual test：

Execute
mvn clean install -DskipTests -pl sql/hive -am
mvn test -pl sql/hive -DwildcardSuites=org.apache.spark.sql.hive.client.VersionsSuite -Dtest=none

Before
Run completed in 17 minutes, 18 seconds.
Total number of tests run: 867
Suites: completed 2, aborted 0
Tests: succeeded 867, failed 0, canceled 0, ignored 1, pending 0
All tests passed.
15:04:02.407 WARN org.apache.hadoop.hive.metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 2.3.0
15:04:02.408 WARN org.apache.hadoop.hive.metastore.ObjectStore: setMetaStoreSchemaVersion called but recording version is disabled: version = 2.3.0, comment = Set by MetaStore<EMAIL_ADDRESS>15:04:02.441 WARN org.apache.hadoop.hive.metastore.ObjectStore: Failed to get database default, returning NoSuchObjectException
15:04:03.140 ERROR org.apache.spark.util.Utils: Uncaught exception in thread shutdown-hook-0
java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.getTmpErrOutputFile()Ljava/io/File;
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$closeState$1(HiveClientImpl.scala:168)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$withHiveState$1(HiveClientImpl.scala:312)
	at org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:243)
	at org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:242)
	at org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:292)
	at org.apache.spark.sql.hive.client.HiveClientImpl.closeState(HiveClientImpl.scala:158)
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$new$1(HiveClientImpl.scala:175)
	at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:214)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$2(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1994)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$1(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.util.Try$.apply(Try.scala:213)
	at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
	at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
15:04:03.141 WARN org.apache.hadoop.util.ShutdownHookManager: ShutdownHook '$anon$2' failed, java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.getTmpErrOutputFile()Ljava/io/File;
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.getTmpErrOutputFile()Ljava/io/File;
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:206)
	at org.apache.hadoop.util.ShutdownHookManager.executeShutdown(ShutdownHookManager.java:124)
	at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:95)
Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.getTmpErrOutputFile()Ljava/io/File;
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$closeState$1(HiveClientImpl.scala:168)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$withHiveState$1(HiveClientImpl.scala:312)
	at org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:243)
	at org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:242)
	at org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:292)
	at org.apache.spark.sql.hive.client.HiveClientImpl.closeState(HiveClientImpl.scala:158)
	at org.apache.spark.sql.hive.client.HiveClientImpl.$anonfun$new$1(HiveClientImpl.scala:175)
	at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:214)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$2(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1994)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$1(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.util.Try$.apply(Try.scala:213)
	at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
	at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

After
Run completed in 11 minutes, 41 seconds.
Total number of tests run: 867
Suites: completed 2, aborted 0
Tests: succeeded 867, failed 0, canceled 0, ignored 1, pending 0
All tests passed.
16:59:18.841 WARN org.apache.hadoop.hive.metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 2.3.0
16:59:18.841 WARN org.apache.hadoop.hive.metastore.ObjectStore: setMetaStoreSchemaVersion called but recording version is disabled: version = 2.3.0, comment = Set by MetaStore<EMAIL_ADDRESS>16:59:18.870 WARN org.apache.hadoop.hive.metastore.ObjectStore: Failed to get database default, returning NoSuchObjectException
16:59:27.252 WARN org.apache.hadoop.hive.metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 2.3.0
16:59:27.252 WARN org.apache.hadoop.hive.metastore.ObjectStore: setMetaStoreSchemaVersion called but recording version is disabled: version = 2.3.0, comment = Set by MetaStore<EMAIL_ADDRESS>16:59:27.284 WARN org.apache.hadoop.hive.metastore.ObjectStore: Failed to get database default, returning NoSuchObjectException

Test build #139055 has started for PR 32693 at commit c190873.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43576/

Test build #139055 has finished for PR 32693 at commit c190873.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139055/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43576/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43576/

Test build #139097 has started for PR 32693 at commit eb22ac9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43618/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43618/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43618/

Test build #139097 has finished for PR 32693 at commit eb22ac9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139097/

Test build #139130 has started for PR 32693 at commit 698bea5.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43650/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43650/

Test build #139130 has finished for PR 32693 at commit 698bea5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139130/

Test build #139146 has started for PR 32693 at commit a2e9960.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43666/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43666/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43666/

Test build #139146 has finished for PR 32693 at commit a2e9960.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139146/

Test build #139274 has started for PR 32693 at commit 9310db7.

Test build #139274 has finished for PR 32693 at commit 9310db7.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139274/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43798/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43798/

Test build #139530 has started for PR 32693 at commit dbbd4af.

Test build #139530 has finished for PR 32693 at commit dbbd4af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44057/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44057/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139530/

ping @yaooqinn @dongjoon-hyun @HyukjinKwon

cc @wangyum

+1 for Yuming's opinion

@wangyum  #32410  merged to master 26 days ago, but I still found this Error log in latest jenkins daily test

https://amplab.cs.berkeley.edu/jenkins/job/spark-master-test-maven-hadoop-3.2/2995/consoleFull

Test build #139688 has started for PR 32693 at commit 46c35da.

Test build #139688 has finished for PR 32693 at commit 46c35da.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ShuffleMergedDataBlockId(appId: String, shuffleId: Int, reduceId: Int) extends BlockId
case class ShuffleMergedIndexBlockId(
case class ShuffleMergedMetaBlockId(
class KubernetesLocalDiskShuffleDataIO(sparkConf: SparkConf) extends ShuffleDataIO
class KubernetesLocalDiskShuffleExecutorComponents(sparkConf: SparkConf)
trait InvokeLike extends Expression with NonSQLExpression with ImplicitCastInputTypes
case class LateralSubquery(
case class LateralJoin(
public class ParquetVectorUpdaterFactory
case class CommandResultExec(
class RocksDBFileManager(
case class CommandResult(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139688/

It seems that we do not need to deal with these session directories now, because they will not be generated after this pr: #32410.

@wangyum @yaooqinn
I added a log to check whether TmpOutputFile and TmpErrOutputFile exist. The code is as follows：
if (state.getTmpOutputFile != null) {
      logWarning(s"version = $version, TmpOutputFile ${state.getTmpOutputFile}, " +
        s"exists = ${state.getTmpOutputFile.exists()}")
      state.getTmpOutputFile.delete()
      state.setTmpOutputFile(null)
    }
    if (shim.getTmpErrOutputFile(state) != null) {
      logWarning(s"version = $version, TmpErrOutputFile ${state.getTmpErrOutputFile}, " +
        s"exists = ${state.getTmpErrOutputFile.exists()}")
      state.getTmpErrOutputFile.delete()
      state.setTmpErrOutputFile(null)
    }

run mvn test -pl sql/hive -DwildcardSuites=org.apache.spark.sql.hive.client.VersionsSuite -Dtest=none and the logs as follows:
5:40:16.564 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/29465188-6f23-4ff6-b2cd-4106ed6d049d6046166454442575351.pipeout, exists = true
15:40:16.567 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_0, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/29465188-6f23-4ff6-b2cd-4106ed6d049d4242252845976863603.pipeout, exists = true
15:40:16.590 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_1, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/34d3ac01-ea7c-45a9-888f-94dbfdc39e004387486968654558925.pipeout, exists = true
15:40:16.591 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_1, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/34d3ac01-ea7c-45a9-888f-94dbfdc39e004195215296688492649.pipeout, exists = true
15:40:16.610 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_3, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/8f609286-87a7-48fb-aaab-f9f903c750a31878401772230169748.pipeout, exists = true
15:40:16.615 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_3, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/8f609286-87a7-48fb-aaab-f9f903c750a38392023963543176532.pipeout, exists = true
15:40:16.642 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/d30bdbc6-0c2f-4306-9b1e-3b4aad535e158638013945143377928.pipeout, exists = true
15:40:16.643 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v3_0, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/d30bdbc6-0c2f-4306-9b1e-3b4aad535e151163344546187356244.pipeout, exists = true
15:40:20.928 WARN org.apache.hadoop.hive.metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 2.3.0
15:40:20.929 WARN org.apache.hadoop.hive.metastore.ObjectStore: setMetaStoreSchemaVersion called but recording version is disabled: version = 2.3.0, comment = Set by MetaStore<EMAIL_ADDRESS>15:40:20.961 WARN org.apache.hadoop.hive.metastore.ObjectStore: Failed to get database default, returning NoSuchObjectException
15:40:21.511 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_2, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/b412fffa-94f7-4e4e-9737-76ebbcea68657537376491865215575.pipeout, exists = true
15:40:21.514 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_2, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/b412fffa-94f7-4e4e-9737-76ebbcea68652630341764089541067.pipeout, exists = true
15:40:21.554 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_3, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/78b164aa-4a19-4290-92f3-382754f6b5eb8817210522107381307.pipeout, exists = true
15:40:21.556 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_3, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/78b164aa-4a19-4290-92f3-382754f6b5eb9018760134240849099.pipeout, exists = true
15:40:21.588 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v12, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/f0f0993d-e112-4d72-96bc-72f1bd7b3dce8389333243580648925.pipeout, exists = true
15:40:21.598 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/b5028767-1dcb-460e-a73a-f1040a03a4087784566790767080481.pipeout, exists = true
15:40:21.622 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_2, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/27eb39e0-33a6-4841-997f-f1fe739674332330608174582929049.pipeout, exists = true
15:40:21.623 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_2, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/27eb39e0-33a6-4841-997f-f1fe739674338623579564031605430.pipeout, exists = true
15:40:21.673 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/5a622559-dd15-4847-a64c-c1f463bf10181812901792092274832.pipeout, exists = false
15:40:21.675 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_0, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/5a622559-dd15-4847-a64c-c1f463bf10182583426440911855811.pipeout, exists = false
15:40:21.705 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_1, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/1694b243-75dd-4a1a-b6cb-1ccc0df4275c2848140385223458989.pipeout, exists = false
15:40:21.707 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_1, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/1694b243-75dd-4a1a-b6cb-1ccc0df4275c7935159698768455602.pipeout, exists = false
15:40:21.728 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_2, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/5afe0523-06c8-4a43-b50f-cb67460c570c5947222341246452210.pipeout, exists = true
15:40:21.754 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/e30b548b-d41d-4a33-b120-533babe886622691756388180862769.pipeout, exists = false
15:40:21.755 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_0, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/e30b548b-d41d-4a33-b120-533babe886627545865308020288420.pipeout, exists = false
15:40:21.759 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_1, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/6dff4ebd-9801-42a6-a286-22d98852a5545896208236220536311.pipeout, exists = false
15:40:21.760 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v2_1, TmpErrOutputFile /spark-source/sql/hive/target/tmp/yangjie01/6dff4ebd-9801-42a6-a286-22d98852a5543427804008723015422.pipeout, exists = false
15:40:21.771 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_1, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/a73dc77c-0b2b-4985-9954-7582fdf170b27143760359965874400.pipeout, exists = true
15:40:21.802 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_2, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/2190ef5b-430c-422c-81d7-da47946895ba7983579376143486857.pipeout, exists = true
15:40:21.813 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_0, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/d72db119-ed5a-4820-8928-adab2c7e701e8329597961731395160.pipeout, exists = true
15:40:21.815 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v1_1, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/4332fcf3-b786-4aa7-9f00-fd0f168445593159479301496984340.pipeout, exists = true
15:40:21.837 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v14, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/e961b814-183c-4f65-a5e6-8acb7823a1733564943126481452919.pipeout, exists = true
15:40:21.867 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v13, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/6b7223d3-cef6-4d27-b25a-07af0cd5ad868143994489599912504.pipeout, exists = true
15:40:21.869 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v14, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/2ca0568c-89c7-4f54-a347-f0192ede7cc35477674386745689474.pipeout, exists = true
15:40:21.886 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v12, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/1f4a0b25-b701-4d9a-93c7-105b4e293a565965652575218891295.pipeout, exists = true
15:40:21.887 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v13, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/d311cc01-6a43-4f76-853d-30107015212b8320766062103240048.pipeout, exists = true
15:40:21.894 WARN org.apache.spark.sql.hive.client.HiveClientImpl: version = v12, TmpOutputFile /spark-source/sql/hive/target/tmp/yangjie01/5f58ec76-86fb-486f-980e-b0bf9ad03f372514319116057676135.pipeout, exists = true

It seems that TmpOutputFile and TmpErrOutputFile were created。

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44241/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44241/

Test build #139849 has started for PR 32693 at commit 01579a5.

It seems TmpOutputFile and TmpErrOutputFile  are generated by SessionState.start(state).
I think we can remove these lines:
https://github.com/apache/spark/blob/ebb4858f7185c6525adc4b23bc89f0a8262bf940/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala#L158-L175
and add state.close() to runHive.

Test build #139849 has finished for PR 32693 at commit 01579a5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MakeYMInterval(years: Expression, months: Expression)
case class DayTimeIntervalType(startField: Byte, endField: Byte) extends AtomicType
case class YearMonthIntervalType(startField: Byte, endField: Byte) extends AtomicType

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139849/

Test build #139873 has started for PR 32693 at commit 498dc5f.

@LuciferYang Please update the PR title and PR description.

@wangyum Thanks for your guidance.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44403/

Test build #139873 has finished for PR 32693 at commit 498dc5f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44403/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139873/

thx @wangyum @yaooqinn @HyukjinKwon

Merged to master.


Can not access to url: https://python.langchain.com/docs/integrations/text_embedding/sentence_transformers

Issue you'd like to raise.
https://python.langchain.com/docs/integrations/text_embedding/sentence_transformers is unreachable.
Suggestion:
No response

when i tried to reach the link , it is re-directing to the correct website . please re-check the link one more time


[WIP] Merge rxinference and inference functions

This PR is meant to address #181.
I am currently working on this issue. FYI, the flag from infer  setting will be omitted.
@bvdmitri small question; is autoupdates keyword mandatory for rxinference or not? The docs say no. But I can't see this from the code and I can't come up with the scenario where you can avoid using autoupdates for the filtering problem (unless it's just one observation).

I guess we can make it mandatory and allow missing as an input in case someone comes up with a scenario where it is not mandatory.

@bvdmitri the question is more like if we can deduct that the user wants to run rxinference or inference based on the presemse autoupdates, or we still better have a keyword that explicitly specifies the behaviour, i.e.,
infer(..., setting=:filtering)?


Added iglunix to ascii art distros

Changes
I added the ASCII artwork of iglunix to the main file. (https://iglunix.xyz/)

I tested it myself with ./neofetch --ascii_distro iglunix on openSUSE Tumbleweed. Works.


Update Dockerfile

There is an official Docker image for node.js: https://hub.docker.com/_/node/
So there is no need to install it manually.
I recommend building the image before merging.

I'll build and test it myself as soon as I get home

Now I've tried it. But it can't be built.
I see the error from your code is WORKDIR , this should be set before copy as the path has not been created yet. Based on an example from the documentation of Node.js
  => ERROR [3/4] WORKDIR /usr/src/app 0.3s
------
  > [3/4] WORKDIR /usr/src/app:
------
Dockerfile:5
--------------------
    3 | COPY package*.json /usr/src/app
    4 |
    5 | >>> WORKDIR /usr/src/app
    6 |
    7 | COPY . .
--------------------
ERROR: failed to solve: mkdir /var/lib/docker/overlay2/4f3hdvvfmul830brkuavvrsl6/merged/usr/src/app: not a directory

Anyway, I appreciate your little suggestion. I'm currently tweaking the way Docker works as you mentioned above.

Ok, good luck!


GDPR Compliance

Because of legal reasons, we might need to comply with the GDPR as we store personal data.
My current idea and possible solution is to add two commands:

c!gdpr dump

Dumps all of the data that we know from a user in a JSON that is sent via PMs
Complies with Chapter 3/Article 12

c!gdpr forget

Deletes all of the data from the user
Complies with Chapter 3/Article 17

Art. 2 GDPR Material scope

2. This Regulation does not apply to the processing of personal data:
  (c) by a natural person in the course of a purely personal or household activity;

Still, I want to make available some tools for those that want to have access to their data under articles 12 and 17 of the chapter 3.


record collection problem please help

Challenge Record Collection has an issue.
User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
var collection = {
    2548: {
      album: "Slippery When Wet",
      artist: "Bon Jovi",
      tracks: [
        "Let It Rock",
        "You Give Love a Bad Name"
      ]
    },
    2468: {
      album: "1999",
      artist: "Prince",
      tracks: [
        "1999",
        "Little Red Corvette"
      ]
    },
    1245: {
      artist: "Robert Palmer",
      tracks: [ ]
    },
    5439: {
      album: "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
//function update(id, prop, value) {
    if (value === "") {
        delete collection[id][prop];
    } else if (prop === "tracks") {
        collection[id][prop].push(value);
    } else {
        collection[id][prop] = value;
    }
    return collection ;
}

  //return collection;
//}

// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

@ashishhbwsl thanks for the issue but if you get stuck with a challenge, please first ask questions to the Help Room. Happy coding!


[NIXIO] Save and load date, time, and datetime annotations

This PR adds support for saving and loading date, time, and datetime objects to NIX without losing the original data type.
On write, it marks annotations by setting property.definition to DATE, TIME, or DATETIME.  On load, it uses the definition to recreate the original object.
Fixes #783.

Looks like I used some datetime methods that are only available in newer versions.  I'll fix it tomorrow.

Works nicely! Thanks :)


fix : show message for empty list

Check for empty list

Check what you did wrong from https://github.com/hawkular/hawkular-android-client/pull/95#issuecomment-283667995

Issue is closed with #97


docs: Outdated API in Mock Functions

It seems mock.returnValues is outdated but it's still present in many places of Mock Function documentation, such as this example within Using a mock function section:
// The return value of the first call to the function was 42
expect(mockCallback.mock.returnValues[0]).toBe(42);

That's not outdated, it's new in Jest 23

Nice catch, we replaced this with results before the 23 release: https://github.com/facebook/jest/pull/6172/files#diff-3eb46e5efb818eec731c401704f180feR42

Oh 🤦♂


[SPDM 1.1.2] END_SESSION request

From the spec- This request shall terminate a session. Further communication between the Requester and Responder using the
same session ID shall be prohibited.
END_SESSION request format does not mention about session_id :(
How does the responder know which session to end without knowing the session_id from the requester?
From the lib_spdm - I see they kill the session based on the last  session_id from spdm_context->last_spdm_request_session_id. But, let's say you have 3 active sessions (Example: session_id 1,2,3) and the last sesion_id is 3 and requester wants to kill the first session (session_id) - How does the responder know in this case?

See https://www.dmtf.org/dsp/DSP0277 which has the nice diagram.

This is a secure message format, my question is for END_SESSION request.
For some reason if the requester wants to end an session- How does the responder know which session_id to end?

See the circled box.

I know, but this is the secure message format, right?
Will END_SESSION request be sent always as part of secure message, no, right?

I know, but this is the secure message format, right?

Correct.

Will END_SESSION request be sent always as part of secure message

Yes.


Add option to not run: add redis init config file

https://github.com/DavidWittman/ansible-redis/pull/280 added the option to install through the OS package manager.
In that case it might not be necessary to create the init file. In my case it even lets the playbook fail as the port is already:
redis_6379[9038]: Could not create server TCP listening socket *:6379:
systemd[1]: redis_6379.service: start operation timed out. Terminating.
systemd[1]: redis_6379.service: Failed with result 'timeout'.

Can you please add a variable to control the execution of these tasks?
https://github.com/DavidWittman/ansible-redis/blob/4d4f55f7988728c46f47022e2e354405ba41ff83/tasks/server.yml#L123-L137

Just figured out that this is already possible, this is what I used for Ubuntu:
redis_install_from_source: false
redis_install_dir: /usr
redis_as_service: false
redis_service_name: redis


Terminal doesn't work in Ubuntu Unity 24.10

Hello, I recently installed ecode on an Ubuntu Unity 24.10 installation through the AppImage; i copied the AppImage to the /usr/local/bin directory and installed libfuse2t64.
Here's a screenshot:

Mmhh that's odd, maybe you can try to configure a different shell in Settings -> Terminal -> Configure Terminal Shell. It looks like the shell isn't responding. I don't have Ubuntu 24.10 installed, I'll check just in case (in 24.04 works just fine).

Yeah, I did that. I chose /usr/bin/bash. Also, I'm in the process of installing the tar.gz version. I hope that'll work better.

Nope... the tar.gz version is still broken.

Also, it used to work in my previous Debian 12 installation. I'm using the same computer, but with a different hard drive. Just in case, here's the output of  uname -a:
Linux <...> 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

I can reproduce the issue on Ubuntu 24.10. So I'll investigate. I've no idea what's going on, also the window manager change the colors of the app to match the default theme WTF.

Oh, it's crazy, if you wait long enough (a few minutes) the shell will end up loading, it also the forked process will use 100% of the CPU while "loads". There's something really wrong.

Found the issue, will push a fix later.

Oh, it's crazy, if you wait long enough (a few minutes) the shell will end up loading, it also the forked process will use 100% of the CPU while "loads". There's something really wrong.

I can confirm this is the truth.

For several minutes, the fans are pretty loud (they're usually silent), and one core is always at 100%.
However, even after waiting several minutes, nothing seems to load.

I just pushed a fix. You'll be able to get the nightly build in about 15 minutes from this message.


Question: How to check for unsuccessful migration

Hi.
I am using IMigrator to execute migrations in my app and I want to ensure successful migration process before application start. However from https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.migrations.imigrator.migrateasync?view=efcore-2.1 it is not clear if Migrate methods throw exceptions which i can check. How can i achieve this?
Thanks.
EF Core version: 2.1.2

@lkts If you mean are there specific exception types that indicate specific types of failures, then no, not currently. While there are specific cases where this might be helpful, we have generally found this not to be the case since it is very unlikely that an exception being thrown can be recovered from without fixing the issue and restarting the process, at which point all exceptions can be treated the same.


[Feat]:  Proposal for Automating Project Management with Supabase Integration

What feature?
I have an idea
Title: Proposal for Enhancing Project Management in ProjectHut
Problem Statement
Currently, adding projects to ProjectHut involves forking the repository and manually updating the Db/project.json file with project details. Over time, this file accumulates numerous projects, leading to potential scalability and management issues. To address this, I propose implementing a serverless database solution, such as Supabase, to automate project management and enhance user experience.
Proposed Solution
The proposed solution aims to streamline the project submission process and provide users with a more efficient way to manage their projects on ProjectHut. The implementation will involve the following key features:

Serverless Database: Integrate Supabase, a free and user-friendly serverless database, to store project data securely. Supabase offers a free tier with ample storage capacity (500MB) that aligns with our current needs.

User Authentication: Implement a login/signup page to allow users to create profiles. Once registered, users can access a personalized dashboard to manage their projects effectively.

Profile and Project Management: Upon logging in, users will have the ability to provide their profile details only once. This information will be associated with their account and can be used for future project submissions. Users can add, edit, and remove projects seamlessly from their dashboard, offering a similar experience to platforms like Product Hunt.

Improved User Experience: By automating project management, users will no longer need to manually fork the repository and update the Db/project.json file. The proposed solution simplifies the process, encourages more project submissions, and enhances the overall user experience.

Benefits
The adoption of a serverless database and user authentication system brings several benefits to ProjectHut:

Scalability: With the implementation of Supabase, ProjectHut will be able to handle a growing number of projects without facing limitations imposed by a single file approach.

Efficiency: The automated project submission process saves time and effort for both users and maintainers. Users can focus on showcasing their projects, while maintainers can allocate resources to other important tasks.

Enhanced User Engagement: By providing users with a personalized dashboard and project management capabilities, ProjectHut will encourage greater user engagement and foster a vibrant community around project sharing.

Seamless Integration: Supabase's documentation and compatibility with React/JS projects make it an ideal choice for integrating the proposed solution into ProjectHut. The ease of use and robustness of Supabase simplify the development and maintenance process.

Add screenshots
Add screenshots
Code of Conduct

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

hey @murtazajoo we will add appwrite/firebase later but we don't need to add this moment.
also, why do we need login/logout features? the main motive of projectshut is adding projects by creating a PR so newbies can know how to create a pr & issue

Ok


Internal Server error

When I click on "Export this project" a message in a new page says "Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Version information

Windows 10

Hi @Suburbreverberation, is there an error message in the terminal? And how many records does the dataset have? Does the export result option work?

Hi, thank you for your answer. There are 461 records. The problem occurred with all the three projects I did. The download results works well but not the export.
doc1.docx

Can you share the version of the software (see left menu)? Can you copy the content of the terminal?

The content of the terminal is in the docx attached in the previous message. version ASReview LAB 0.13

@Suburbreverberation, sorry for the inconvenience. This is a bug in ASReview version 0.13. We are working on a fix, but it takes a little longer. The fix will be available before the end of this week.

No problem, thank you for your answer. Do I need to download ASReview again once the problem will be solved?

@Suburbreverberation once the problem is solved, you can upgrade ASReview by running
pip install --upgrade asreview

Thanks a lot for reporting this bug. You can upgrade right now.

Well done @J535D165 !!
And many thanks @Suburbreverberation for reporting this bug! Do let us know if you experience any more problems. And if not: enjoy working with ASReview!!


Made some playable settings editable to aid with debugging.

Instead of printing all playable settings on text, some of those settings are now editable.
This lets you change settings on the fly, which helped me debugging.
This is a simple change, it won't override values set by other scripts, so changes can only be made if nothing else is touching the playables. Still, it was enough for my needs.
There's a style problem between settings that remain as text, as they can't be edited, and those that are editable as they use float/slider/toggle fields.
I tried to change as few lines as possible. Had to use IMGUI inside an IMGUIContainer instead of UI Toolkit as I'm not familiar with it.
Thank you!

Screenshot with how it looks now.


Array#size returns integer

It is wasteful calling to_i on a result that is already an integer

Absolutely right that it was unnecessary to call to_i, but just a drop in the ocean compared to the IO already going on ;)


std::option_env!("URL").unwrap() in tests

I don't know exactly whether this is a good title for the issue but I'm wondering how you manage to run tests for all databases without the hassle of setting them all up separately.

The CI runner uses docker compose, as an example: https://github.com/maxcountryman/tower-sessions/blob/cbde7ea0818c5a7113d78c2738b566937857c3ad/tests/docker-compose.yml
Each database URL is defined as part of the workflow environment: https://github.com/maxcountryman/tower-sessions/blob/cbde7ea0818c5a7113d78c2738b566937857c3ad/.github/workflows/rust.yml#L12-L15
There probably could be some glue that would make this easier to run locally.

Thanks! Will try this out tomorrow.


node-orm2 or sequelize?

Hey all,
Have any of you had experience using both sequelize and node-orm2? If so, which one is best? I've used sequelize quite a bit and just came across this & it looks good, really good!

@jamesone http://blog.chilon.net/node/javascript/2017/03/03/on-node-orm2.html

You can promisify with bluebird e.g.
const models = Promise.promisify(require('../models'));

models('yourDb', false)
    .then(db => doSomethingWithDb)

You might also need to set the context right...but yes this is a pain and you also should really read this and then decide to use python and django instead 😄 . If you stick with node sequelize looks good, loopback a more full featured option.

You can't promisify with bluebird though, well only partially, due to https://github.com/dresende/node-orm2/issues/773 and see also https://github.com/rafaelkaufmann/q-orm/issues/1.
For many reasons orm2 is a terrible choice, thankfully I'm not working with the client who made me use it anymore ;) sequelize is better, I will check out loopback, but honestly I'm starting to feel that ORMs often aren't a good idea and there's plenty of recent articles by people who feel the same.

Python/Django is pretty cool, used it a lot. Slightly prefer rails to Django though, much terser code due to ruby's advanced metaprogramming. Node is still cool though, despite the lack of mature ORMs, with recent projects I've been using rethinkdb without an ORM and finding there's less boilerplate when I'm just writing my joins directly.

const doSomethingAsync = Promise.promisify(db.models.my_model.create, {context: db.models}) is working fine for me in addition to the example i gave above. Thanks for reference to q-orm issue. Currently i do have to use orm2 haha but i'm going to raise exploring other options while the API i'm working on is still fairly small.
Loopback is good but like anything there are drawbacks, context handling was an issue for me but i think they are improving that in 3.0.
I want to take a look at rethinkdb and not using ORMs is an interesting approach, I guess it depends on the ORMs available.

Promise support is baked into node-orm2 now however I recommend using an actively maintained ORM like Bookshselfjs or Sequelize.


Fix API GET method for bugzilla comments.

New Bugzilla REST api uses a different endpoint for comments
Minor lint fixes

Please add a couple of tests for this.

Coverage decreased (-0.06%) to 91.68% when pulling 7db01e739e0a646452c0837358d3de8d3b5254f6 on johngian:1150281 into 651ba61c140276beffad2d51f5c0856c9d70e604 on mozilla:master.

r+wc :cocktail:

Coverage decreased (-0.12%) to 91.63% when pulling 06f609465b7f336d64c09b7cf1743596faf348bb on johngian:1150281 into 651ba61c140276beffad2d51f5c0856c9d70e604 on mozilla:master.