Use DeepDiff library for a/b record diffing

Purpose and background context
Originally, the library jsondiff was used for getting a diff between the A and B version of a JSON record.  This was selected based on prior use and experience.  For the most part it was a nice fit, but lacked the ability to ignore changes in array order as a difference to report.  This resulted in high numbers of records showing a diff, when the only change was a differently ordered array.
The solution was to utilize another JSON diffing library, DeepDiff.
How this addresses that need:

DeepDiff library has built-in support to ignore_order when generating diffs, allowing us to programatically ignore order in arrays as a diff to report
DeepDiff is as fast, or faster, than jsondiff making it a performant option
Our primary, current use of diffs is to highlight records where a TIMDEX field changed, which is conveniently a "root" field on the JSON object.  DeepDiff provides the attribute .affected_root_keys on the diff object that returns an explicit list of modified "root" fields, which is just what we need, further simplifying some logic in ABDiff to parse this information.  Here is where that is applied in our code.  Note in this commit how additional diff parsing logic is no longer needed.

Overall, DeepDiff is a more configurable library, with built-in options that align closely with our use case.
How can a reviewer manually see the effects of these changes?
See the following tests to understand how array order is an optional difference to report (where we default to not reporting it):

test_calc_record_diff_array_by_default_order_not_a_diff
test_calc_record_diff_array_set_flag_order_is_a_diff

Includes new or updated dependencies?
YES
Changes expectations for external applications?
NO
What are the relevant tickets?

https://mitlibraries.atlassian.net/browse/TIMX-373

Developer

[X] All new ENV is documented in README
[X] All new ENV has been added to staging and production environments
[X] All related Jira tickets are linked in commit message(s)
[X] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer(s)

[ ] The commit message is clear and follows our guidelines (not just this PR message)
[ ] There are appropriate tests covering any new functionality
[ ] The provided documentation is sufficient for understanding any new functionality introduced
[ ] Any manual tests have been performed or provided examples verified
[ ] New dependencies are appropriate or there were no changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

17 of 17 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 91.184%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.02%

Covered Lines:
693

Relevant Lines:
760

💛  - Coveralls


Can we make this safe for server-side use?

First up, thanks for this library :)
We've introduced it into Elemental UI but it has caused havoc with rendering React components on the server, because it references the window global when it is included, specifically this line (and possibly others)
Would you be open to adding support for the library to be loaded in environments that don't have a window global? I'd be happy to put together a PR.

Yep. I can't use this unless this is fixed. All my apps are universal JS. :+1:

First up, thanks for this library :)

First up, thanks for trying to use it :)

Would you be open to adding support for the library to be loaded in environments that don't have a window global?

Of course the answer is yes!
The problem is: I don't have such an environment to test that kind of support. Also I have zero experience with "universal JS". @darobin has expressed the same requirement a couple of weeks ago and I was waiting for him to see what we could do about this.
That said, I have no idea what ally.js could possibly do without access to a browser's DOM and BOM. So what do you expect the non-browser environment to achieve with ally.js?
How would we go about testing this to avoid regressions? Can we do that in the browser, or do we have to run a second set of tests in Node?

I'd be happy to put together a PR.

I'd love that! How can I help?

A lot of the time you don't need the library to do anything: you just need it to load without crashing. That pretty much means not touching window or document.
If there is nothing useful for your library to do when loaded server-side (which I believe is largely the case) then all you need to do is short-circuit any code that runs when the library is loaded. A check of the kind if (typeof window !== 'undefined') around it ought to be enough.

A lot of the time you don't need the library to do anything: you just need it to load without crashing.

So what you need is the structure (.e.g. ally.foo.bar actually being a function), but if executed (what likely doesn't happen) it's effectively a dud (no operation performed)?
Are there any features that should run server-side?

A check of the kind if (typeof window !== 'undefined') around it ought to be enough.

That sounds simple enough.

Yeah pretty much.
To give you an example, here is how the last app I wrote works. It's all JS and React, all of the data fetching, rendering, etc is written as a client-side app. But it would be a shame if it stayed only that way since it's pretty much just textual articles. So on the server side I load it up and run the data fetching, templating, etc. so I get to send a pre-rendered article to the client (and React is smart enough to detect that is rendered the HTML and doesn't try to re-render). Some stuff that only makes sense on the client (e.g. tethering bits of UI with Tether.js) only runs on the client, but since it's the same code that gets loaded on the server, it just has to not crash.
Does that give you enough context to make this more meaningful?

Does that give you enough context to make this more meaningful?

yes. What is expected of ally.js is to successfully do exactly nothing when not run in a browser. Adding the following snippet to every module's default export should do the trick:
if (typeof window === 'undefined') {
  return undefined;
}

It would have been nice if we only had to do that in src/ally.js, but then you'd be barred from consuming modules (as opposed to the UMD bundle). We'll have this in version 1.1.0. I'm adding the "good first contribution" tag as this seems rather straight forward :)

Since window and document are not available in Web Workers as well, we can use those to run the tests. I could not find any reference to importScripts in the dojo loader (used by Intern), but RequireJS has got us covered there.

I've had another look at "invoking functions in non-browser env" and decided that it makes no sense to touch them. All of them need the DOM and some of them even verify arguments (explicitly requiring Element). So the first attempt at fixing this problem will only cover actually loading the library.

@JedWatson, @ericelliott, @darobin: please have a look at 1.1.0-beta.2 and tell me if your problem is resolved :)

Thanks @rodneyrehm - I've added that to Elemental, we'll let you know how it goes!

How did this shake out?

In elementalui/elemental#119 @JedWatson said he disabled the integration for now…

Thanks @rodneyrehm


Using RenderDoc as a Global

When I first started using this crate, I thought the easiest way to use it was to throw it in a once_cell::sync::Lazy and then call it from in there, that way the DLL only gets loaded once, and only if I actually use it, so if I never use it it never gets loaded.
I noticed that because RenderDoc is neither Send nor Sync it's impossible to put it in a global at all, even behind a mutex. From what I can tell the renderdoc api requires that some things are single threaded, but not necessarily accessed from the same thread. This should, in theory, allow it to be marked Send, so it could be put globally behind a mutex.
With clone gone, it shouldn't be possible to get more than one handle to renderdoc at a time, which would mean that I believe it would be safe to mark it as Send. I don't know if there are other confounding factors though.
In the mean time, I was able to still use it by creating a new RenderDoc instance every time I needed something done in renderdoc, but this is clunky, and I'd only imagine, slow. I can't store this in any of my state (my renderer is multithreaded behind Arcs and Mutexes) because I need it to all be at least Send.
Besides this comparatively minor issue, things work well, thank you for making these bindings!

Hey there, @cwfitzgerald! Thanks for the kind words, and I'm glad the crate was useful to you. ☺
Unfortunately, I can't find enough information online about whether the in-application API is intended to be thread-local or not. As such, I had marked the struct !Send just as a conservative default. But if it can be shown that invoking any part of the API except for RENDERDOC_GetAPI() doesn't result in undefined behavior, then I wouldn't mind lifting this restriction.

@cwfitzgerald Sorry to ping you directly, but are you still interested in lifting this restriction? I haven't been able to find any documentation which clarifies whether the RenderDoc API entry point is supposed to be thread-local or not, but I was wondering if maybe you had any luck on this.

I haven't, but let me go poke the renderdoc discord to see if they have any information. I have a hunch that it shouldn't matter, as they know that the dll can be loaded from any thread, and support highly multithreaded apis like vulkan anyway, but I'll see if I can get a more definitive answer from them.

Welp that was fast. Baldurk himself said that you can call it from any thread, but the api is not reentrant but only one thread at a time. He says a global mutex on the api would work fine, so having things be Send but not Sync should work perfectly.

That's fantastic news! Thanks for the direct confirmation. I'll ship a new release to crates.io right away.

Version 0.9.1 has been released to crates.io! :tada: I think this issue should be safe to close now. Thanks for reporting and helping to investigate, @cwfitzgerald. Please feel free to open further issues and PRs if there are other matters you'd like to raise.


Randomly getting white screen on start, but records in background

Hi!
Following problem. I am able to record and play the video files recorded with CameraEngine, but sometimes it just shows a white screen at start. While showing white screen, it still records, because I start my video player immeditaly after recording. I can't find a solution or a reason for that nor could figure out why and where in code to look for ?! Any ideas?

Solution: White screen is of course the background color of the ViewController. Change it to black and it will get black at the beginning of recording.
I solved my problem by adding a small delay before starting the recorder session. I figured that out, because I had the same problem with playing the video file. After recording I started immediatly my video player and it gave me also a random error (video could not be played). By adding an delay before starting the video player also solved the problem.
override func viewDidAppear(_ animated: Bool) {

    //without delay randomally getting white screen
    DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {

    //camera auto rotation
    self.cameraEngine.rotationCamera = true

    self.cameraEngine.startSession()
    //EncoderSettings
    self.cameraEngine.videoEncoderPresset = .Preset1280x720
    //FocusSettings
    self.cameraEngine.cameraFocus = CameraEngineCameraFocus.continuousAutoFocus
    //setZoomFactor
    self.cameraEngine.cameraZoomFactor = 1
    }

}


Add Harvester v1.0.0-rc2 release

Add Harvester v1.0.0-rc2 release

[x] tag harvester, harvester-webhook and harvester-upgrade to v1.0.0-rc2
[x] tag harvester-installer to v0.2.8
[x] tag harvester-dashboard to v1.0.0-rc2
[x] tag harvester-network-controller to v0.2.6
[x] tag harvester-node-disk-managet to v0.4.0
[x] Longhorn already bumped to v1.2.3-rc2, Kubevirt has no version bump required
[x] tag harvester-load-balancer to v0.1.1

v1.0.0-rc2 commit change https://github.com/harvester/harvester/pull/1688/commits/001c470c41aa02f135efccc36186b7bf2cd19b5a

Do we need these manual checks as well? https://github.com/harvester/harvester/pull/1605#pullrequestreview-820127460

Do we need these manual checks as well? #1605 (review)

I was planning to use the v1.0 ISO image to test it after it gets merged but before we cut the RC2 release.


Cutscene editor doesn't work?

I tried making cutscenes in the better editor, but they just don't appear? I try to trigger them but nothing happens. Is this something on my end?

afaik last time I used that tool, it also didn't work for me, that is a general issue with this editor


Test infrastructure

I have setup the test infrastructure for the repo. Also added the basic test for  component Geosuggest.
Fixes #53

So, at the moment I've been using jsdom ^3.1.2 because it works with node.js as well as with iojs. But now it looks like there is no such version of jsdom that works with node 0.12 and node 4.x at the same time :(

Thanks for your efforts! We should definitely get this to work in the current Node version. As Node 4 is the current stable and LTS, I’m not sure if it would be an option to drop Node 0.12 from the tests. I don’t mean to drop it from being supported but from being tested. What do you think?

@ro-ka Even I think the same. It's better to have the test on the latest version than not having the test at all.

Can you adjust the PR? Make it run in Node 4 and 5 and update the travis config to test those recent versions.

@ro-ka made changes to run in Node 4 and 5. It works now :)

Fantastic! Thanks a lot!  :)

Somehow the test fail after the merge in Node 4: https://travis-ci.org/ubilabs/react-geosuggest/jobs/115270546
Do you have any idea why?

looking into it

@ro-ka This error had occurred before and it was because the repo had older version of babel. I solved it by upgrading babel to babel-cli, but now it says babel to be installed globally do you think this could be the problem?

No, babeldoesn’t have to be installed globally. npm checks the ./node_modules/.bin/ folder and executes from there if found.
But it looks like it doesn’t know the presets in the package.json. Maybe move them to an own file?

Can you create .babelrc and add the below config
{
  "presets": [
    "es2015",
    "react"
  ]
}

Also remove the below config from package.json
"babel": {
    "presets": [
      "es2015",
      "react"
    ]
  }

Tested, but the same error occurs. Only in Node 4.   :/   Why did it work before the merge?

really weird. If it worked in PR, it should work here. We are missing something very basic.
It's working totally fine here in local. Do we set some different ENV for PR and master?

Didn’t set anything. Maybe it’s the cache? Not sure.  :/

It still seems to be using old babel. Can we manually clear the cache?

@ro-ka I still see the build error :( any updates?

Still have to take a look. Will do it soon.  :)

Okay, found out that there is a simple menu for the caches on Travis. Cleared all and reran the tests on master and it passed this time. :)  Thanks again!


Fastlane >= 2.183.0 support

Would we be able to get a new version released containing eee528b056609d06ce36126012f9636028af6536 ?
I'm struggling to install this plugin with fastlane 2.183.0
ᐅ bundle
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Bundler could not find compatible versions for gem "google-cloud-storage":
  In Gemfile:
    fastlane (~> 2.183.0) was resolved to 2.183.2, which depends on
      google-cloud-storage (~> 1.31)

    fastlane-plugin-firebase_test_lab (~> 1.0.7) was resolved to 1.0.7, which depends on
      google-cloud-storage (~> 1.25.1)

Thank you!

Hi, @powerivq 👋 If you still have an ability to publish new versions of this plugin could you please do it 🙏?


Add support for Arabic

Possible methods of transliteration include:

http://en.wikipedia.org/wiki/Qalam (1985)
http://en.wikipedia.org/wiki/Buckwalter_Transliteration (1990s)
http://en.wikipedia.org/wiki/Bikdash_Arabic_Transliteration_Rules (2007)

Bikdash/BATR is looking most likely candidate for this.

It looks like speakingurl has added this already with what looks like Bikdash transliteration- see https://github.com/pid/speakingurl/blob/master/lib/speakingurl.js#L114


How do I decode cinepak frames

Overview
From a quicktime movie encoded with cinepak I dumped the data per frame to disk.
With a python script I'm able to convert the cinepak frames to PIL images and save those
Script: https://github.com/rvanlaar/QTVR/blob/master/read_cinepak.py
Expected behavior
In the manner of Parsing https://pyav.org/docs/stable/cookbook/basics.html#parsing
I expect to be able to parse packets to frames.
Actual behavior
import av
fh = open("cinepak/nav_13.cinepak", "rb")
codec = av.CodecContext.create("cinepak", "r")
chunk = fh.read()
packets = codec.parse(chunk)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[5], line 1
----> 1 packets = codec.parse(chunk)

File av/codec/context.pyx:343, in av.codec.context.CodecContext.parse()

ValueError: No parser for cinepak

Investigation
I looked at the source code and couldn't see anything which specifically is different.
Research
I have done the following:

[x] Checked the PyAV documentation
[x] Searched on Google
[x] Searched on Stack Overflow
[x] Looked through old GitHub issues
[ ] Asked on PyAV Gitter
[ ] ... and waited 72 hours for a response.

Additional context
I am working on figuring out QTVR 1 fileformat. For that I would like to be able to pass raw frame data to PyAV to use FFMPEG to decode the frames., as to not have to write a decoder for every different encoding I find.

Dug into the code, it seems to me somethings off with the way the decoder is created...
Tested it with another old codec, namely rpza.
Take the following example
import av

rpza = av.CodecContext.create("rpza", "r")
h264 = av.CodecContext.create("h264", "r")

chunk = b"bogus"

ret = h264.parse(chunk)
assert ret == []

try:
    rpza.parse(chunk)
except ValueError as err:
    print("Error: couldn't decode")
    raise err

With the output:
Error: couldn't decode
Traceback (most recent call last):
  File "/home/roland/projects/scummvm-director/QTVR/py-parse/spiel.py", line 15, in <module>
    raise err
  File "/home/roland/projects/scummvm-director/QTVR/py-parse/spiel.py", line 12, in <module>
    rpza.parse(chunk)
  File "av/codec/context.pyx", line 343, in av.codec.context.CodecContext.parse
ValueError: No parser for rpza

The exception comes from:
https://github.com/PyAV-Org/PyAV/blob/main/av/codec/context.pyx#L340-L343
https://ffmpeg.org/doxygen/4.4/parser_8c_source.html

Update:
Wrote C code directly interfacing with ffmpeg.
Apparently there is no parser for RPZA.
How to proceed, I still would like to decode single frames.
#include <stdio.h>

#include <libavcodec/avcodec.h>

int main(int argc, char **argv)
{
   const AVCodec *codec;
   AVCodecParserContext *parser;

   codec = avcodec_find_decoder(AV_CODEC_ID_RPZA);
   if (!codec) {
       fprintf(stderr, "Codec not found\n");
       exit(1);
   }
   parser = av_parser_init(codec->id);
   if (!parser) {
       fprintf(stderr, "parser not found\n");
       exit(1);
   }
   printf("codec initialized");
   exit(0);
}

Success.
A little bit of context.
In this quicktime file, I found out the first frame is located at offset 1621 and has a size of 1772
import av

FILENAME = "quicktime.mov"

# constants for this specific movie
# frame 1 starts at:
offset = 1621
# and has a size of
size = 1772
# the frame has these dimensions
image_height = 120
image_width = 120

f = open(FILENAME, "rb")
f.seek(offset)
data = f.read(size)

codec = av.codec.Codec("rpza", "r").create()
codec.width = image_height
codec.height = image_width

packet = av.Packet(data)
frames = codec.decode(packet)
frames[0].to_image().show()

As an idea, create an example for decoding a single frame.


Tray module spacing option breaks hover when in group drawer.

Currently I am using tray within a group's drawer, when spacing is set within the tray module if I hover between the gap of the first and second tray icon the drawer collapses.
Relevant Config:
"custom/expand": {
    "tooltip": false,
    "format": "\uf0d9"
},

"tray": {
    "spacing": 8
},

"group/minimized": {
    "orientation": "horizontal",
    "modules": ["custom/expand", "tray"],
    "drawer": {
        "transition-duration": 500,
        "children-class": "minimized"
    }
}

Relevant Styling:
#custom-expand {
    min-width: 25px;
}

#tray {
    margin: 0;
    padding: 0;
    margin-left: 3px;
}

#group-minimized {
    border-left: solid;
    border-left-width: 0.5;
}

Demo:

I have tried a lot in fixing this, including referencing Issue #2569, which uses menu and menuitem tags in the css selector, but I have so far failed to get either of these to work. My solution is not very clean, but gets the job done, I use the #tray * selector and set a left margin, note that #tray > * > * also works and is technically more "specific" in terms of selection.
Working Config:
"custom/expand": {
    "tooltip": false,
    "format": "\uf0d9"
},

"tray": {},

"group/minimized": {
    "orientation": "horizontal",
    "modules": ["custom/expand", "tray"],
    "drawer": {
        "transition-duration": 500,
        "children-class": "minimized"
    }
}

Working Styling:
#custom-expand {
    min-width: 25px;
}

#tray {
    margin: 0;
    padding: 0;
}

#tray * {
    margin-left: 8px;
}

#group-minimized {
    border-left: solid;
    border-left-width: 0.5;
}

It is important to note that I have not been able to get this selector to work with the hover pseudo class.
Working Demo:

Running waybar version 0.9.24 on Arch Linux with Hyprland.

+1

Same situation.


[v6]  params are not working

Version
6.0.0-beta.0
Steps to reproduce
const slug = useParams();
console.log(slug)
will return
{*: "store/test"}
const { slug } = useParams();
here slug is udefined
Expected Behavior
It should return the actual slug

Does your route include that param? Please see the docs: https://github.com/ReactTraining/react-router/blob/dev/docs/installation/getting-started.md#reading-url-parameters

I have the following code
{folderState.apps.map((app) => (                 <Route                     key={app.id}                     path={isMobile ? app.link : '/*'}                     element={                         <>                             {app.isOpen && checkUserPermisions(app) && (                                 <Suspense                                     fallback={<SpinnerApp global delay={200} />}                                 >                                     {app.component}                                  </Suspense>                             )}                         </>                     }                 >                     {app.id === 4 && (                         <Route                             path=':slug'                             element={
something here
}                         />                     )}                 </Route>             ))}
The app with id 4 have a route '/store' and a child route ':slug'

You can't use useParams unless you are under the Route with the param(s) in the path. There is no Route context in your App component.

Ok, I found the problem seems like I need to wrap my entire loop in a , but there is a problem since my path is exact only on mobile, only on mobile will render the routes, on the desktop the path '/*' will not render anything.


problem with index my configuration index class

Hi @babenkoivan thanks for your great package, I am newly read your package..
here I have a problem to run my IndexConfigurator class.. and while I run this command php artisan elastic:create-index App\\Elastic\\Configurator\\CandidateCV it gets me this error Invalid argument supplied for foreach()
can you tell me how to resolve my problem?
I searched but I couldn't find anything..
thanks

I searched more.. and found that the problem is in ScoutElasticServiceProvider class in register method.. it seems that the $config variable is null,
so the problem may come from scout-elastic config file.. but I think that's OK!
return [
'client' => [
    'hosts' => [
        env('SCOUT_ELASTIC_HOST', 'localhost:9200')
    ]
],
'update_mapping' => env('SCOUT_ELASTIC_UPDATE_MAPPING', true),
'indexer' => env('SCOUT_ELASTIC_INDEXER', 'single')
];


Add an interface "MemberFilter" to exclude unqualified members in cluster

It's over-engineering and unnecessary currently.


Bug: using form.buffer() and form.done() in conjunction with useHistorySync() can lead to mismatched history indexes

Because form.buffer() and form.done() aren't global, and they rely on callAllChangeCallbacks() not being called in order to buffer changes.

WIP: https://github.com/dxinteractive/dendriform/tree/feature/sync-stack-demo

This may also be an issue with useHistorySync() and form.replace()


How to clear rating ?

When I click to rating, I want to clear rating 0. How can I do this ?

Hello @ismailtosun ,
Did you mean the feature like the demo?
You can simply set the property app:srb_clearRatingEnabled="true" to the RatingBar in xml,
and it's 'true' with default value.
if you got any problems, please let me know.
thanks!


Update zio-prelude to 1.0.0-RC25

About this PR
📦 Updates dev.zio:zio-prelude from 1.0.0-RC19 to 1.0.0-RC25
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio", artifactId = "zio-prelude" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio", artifactId = "zio-prelude" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #758.


Ship with Fiji

@igorpisarev @axtimwalde
I saw that this is currently not shipped as part of your n5 update site: https://sites.imagej.net/N5/jars/

Could you add it you your update site?
If you add it, I guess one also has to ship this dependency?

<dependency>
	<groupId>com.amazonaws</groupId>
	<artifactId>aws-java-sdk-s3</artifactId>
	<version>1.11.534</version>
</dependency>

cc @constantinpape

...above dependency comes in fact with a bunch of other dependencies, including

...and some more.

@tischi Yes, these dependencies would need to be shipped as well, and n5-aws-s3 would need to be included into the pom-scijava configuration, possibly resolving dependency clashes. We haven't done this yet because of these non-trivial dependencies, but it would be definitely nice to add it to the N5 update site!

OK! For now I am shipping everything with my update site: https://sites.imagej.net/EMBL-CBA/jars/
Not ideal and I will change it once we have a more official solution.

@tischi would you mind filing a pull request to pom-scijava?

I feel honoured but also overestimated regarding my knowledge 😃. I think you guys have much much more of a clue which dependencies are really needed for this to work properly. So frankly, I would prefer if e.g., @igorpisarev is doing it, just to avoid me screwing things up...

Shipping with Fiji for a while :).


Feature request: Add simple internal group statistics.

My group needs to evaluate members activity periodically. So, we need some kind of members activity statistics. But we don't want to use those fancy and over-complicated stats-bot like the ones popular out there. We simply need these informations:

Number of total messages sent into the group within a time period.
Number of total members involved in the conversation within a time period.
A few of most active members in the group within a time period.
A few of most inactive members in the group within a time period.

Say, the command is /stats which would produce output like this:

Group Statistics
Within the last 30 days, there are 871 messages sent into this group by 26 members involved in the conversation of 40 registered members.
The most 10 active members are:

username_1 (x messages)
username_2 (x messages)
username_3 (x messages)
username_4 (x messages)
username_5 (x messages)
username_6 (x messages)
username_7 (x messages)
username_8 (x messages)
username_9 (x messages)
username_10 (x messages)

The most 10 inactive members are:

@userid_1 (x messages)
@userid_2 (x messages)
@userid_3 (x messages)
@userid_4 (x messages)
@userid_5 (x messages)
@userid_6 (x messages)
@userid_7 (x messages)
@userid_8 (x messages)
@userid_9 (x messages)
@userid_10 (x messages)

Any members who send less than 5 messages within last 30 days will be kicked out from this group. This group forbids silent readers. You have been warned!

Configuration:
/stat_period = 30 (days)
/stat_active = 10 (members)
/stat_inactive = 10 (members)
/stat_statement = "Any members who send less than 5 messages within last $period days will be kicked out from this group. This group forbids silent readers. You have been warned!"
Please note that the inactive members list does mention the members so they get the notification. If you like, you could set this as config as well, such as /notify_inactive.
I hope this request will be implemented. Thank you.

Sounds like an entire separate bot. Sorry, but this function is out of scope for @shielfy_bot. But thank you for suggestion.


Simplify initial setup

pnpm run setup
We want to provide a script a la pnpm run setup to bootstrap the initial development setup even more.
CLI should ask for:

What's the name of the stack (library) going to be? e.g. table
What's the name of the author?
Which framework core should be used?

Vue
petite-vue
potential for other drivers? (e.g. React)

Which icon sets should be installed?

Heroicons
...

Which testing frameworks should be bootstrapped?

Cypress
Vitest

Which "story framework" should be bootstrapped?

Histoire
Vitebook

Which documentation framework should be used?

Vitebook
Docus
Vitepress

possibly more.
It should also check whether node & pnpm are installed.
(Check spaties skeleton templates for potential ideas)

Let's also explore the idea of simplifying this:
npx degit openwebstacks/stacks-framework hello-world-stack
cd hello-world-stack
npm run setup # WIP

to:
pnpm create stacks hello-world-stack

npx artisan setup


Delete STS

STS is only used for Stackdriver, Google CAs, and Google xDS. This removes the implementation from OSS.
We preserve all env variables and template parameters to avoid any potential issues with upgrade.

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

Test name
Commit
Details
Required
Rerun command

release-notes_istio
1fbfd662a40baf5f48c0d212936d0e129bf37d45
link
true
/test release-notes

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


Connection to HmIP-SMI55 Channel 1+2 broken

Describe the bug
The connection with HmIP-SMI55 is broken for the channels 1 and 2. It works perfectly with only one HmIP-SMI55 but since if have two of them in my setup ... the second one is not working on the channels 1 and 2. The HmIP-SMI55 is not just blinking orange when pressing the button for channel 1 or 2 and not getting the submit confirmation (green light).
To Reproduce
Steps to reproduce the behavior:

Register a new HmIP-SMI55
Configure HmIP-SMI55, e.g. timeout for long press
Do the self check for the channels
Channel 1 and 2 not working; channel 3 is working correctly.

Expected behavior
Channel 1 and 2 are working correctly and also if more then one HmIP-SMI55 is registered.
Screenshots
If applicable, add screenshots to help explain your problem.
System information (please complete the following information):

Version: RaspberryMatic <IP_ADDRESS>00621
Hardware: Virtual RaspberrryMatic; HmIP-SMI55 1.0.12

Additional context
Could be related to issue #705

Just an update on it: If I link HmIP-SMI55 channel 1 or 2 to a different action like HmIP-BROLL channel 6 then it works. It seems like that the events from HmIP-SMI55 channel 1/2 are not populated anymore as an RPC event.

Sorry, but the RaspberryMatic firmware does not have any way to deal with these kind of issues. So please explain in somewhat more detail what the problem is (show screenshots/screencasts where one can see what is going wrong) and what you expect RaspberryMatic to do.


Scrapper, Taisia Solareva - 21FPL2

ALERT: transfer of mentor. Now your mentor is @dmitry-uraev

it is right time to finish your implementation

No progress since last review

No progress since last review

No progress since last review

There is not so much time left. Keep up.
I think you need a higher lab score than 4.

It is time to implement pipeline as well

you may do it in current PR


Define cable mapping

Request new feature

Short description of new feature: EPSG designators
Submitter: David Podrasky, Silixa LLC

Feature request (reason, suggestion to implement):
Coordinate system descriptions are too vague. If provided in meta-data, geodetic or projected coordinate systems should be fully defined by things like horizontal datum, vertical datum, ellipsoid, units, projection, zone, etc. EPSG codes exist for this purpose and propose that they be required when including any sensing cable coordinates. Descriptive text is fine too, but EPSG codes should be a requirement.

I fully support this suggestion

@dbpodrasky , thanks for the suggestion. will implement in the updated attributes.


Mobile nav slides under the location map

Searching leaflet.css for z-index properties shows the highest index:
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
}

so our nav and button will need to trump this.


Problems fresh Install (zeroconf)

Hi All.
I did a fresh install via >
https://github.com/home-assistant/hassio-build/blob/master/install/hassio_install
and now getting following error
2019-04-03 12:49:57 ERROR (MainThread) [homeassistant.setup] Error during setup of component zeroconf,
Traceback (most recent call last):,
File "/usr/local/lib/python3.7/site-packages/homeassistant/setup.py", line 154, in _async_setup_component,
component.setup, hass, processed_config)  # type: ignore,
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run,
result = self.fn(*self.args, **self.kwargs),
File "/usr/local/lib/python3.7/site-packages/homeassistant/components/zeroconf/init.py", line 29, in setup,
zeroconf = Zeroconf(),
File "/usr/local/lib/python3.7/site-packages/zeroconf.py", line 1734, in init,
socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, _value),
OSError: [Errno 105] No buffer space available,
2019-04-03 12:49:57 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.0 seconds.,
This looks a little like:
https://github.com/home-assistant/home-assistant/issues/22422
wich is referred to:
https://github.com/tchellomello/raincloudy/issues/30
It's a fresh install, im on Ubuntu 18.10 with docker hassio is versio 152.
Any help is appreciated

OSError: [Errno 105] No buffer space available,

That means your system has not enough space for sockets. Maybe a HassOS inside a VM would be a better solution for you, so you need not to fight with your operating system.


Decide on final DNS name

eps.gavi.nu is easy to do.
Some other possibilities:
epsapp.org
epsapp.co
epsapp.io

Final DNS name will be epschedule.com


[Docs] Fix typos

Signed-off-by: Karan Singh Thakur<EMAIL_ADDRESS>The scope of the changes included misspelling and fixing grammar mistakes.
This PR fixes  typos and grammatical errors found in

ADOPTERS.md
Contributing.md
ui/README.md

Signed commits

[X] Yes, I signed my commits.

Thank you, @thisiskaransgit! 👍


fix: Consistent font for Colorbar

The colorbar does not have the font set.  Set it the same way as for other plot elements fonts.

Good catch, thanks a lot!


kernel panic when use wrong ‘docker run’ command

I just used the wrong command, however the result is the kernel panic. Below is my environment:
OS: Centos6.5， 2.6.32-431.el6.x86_64
docker-version：docker-io-1.7.1-2.el6.x86_64
command: docker run -P rhel6.5

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

You should file this on your distribution's bug tracker. Kernel panics are bugs within the kernel itself. While docker may have been the one to trigger the panic, the docker project can't do anything to fix the issue.

Especially with RHEL/CentOS 6 releases, make sure you've fully updated your system. There have been regressions in some versions of the 2.6.x kernel that resulted in kernel panics. These were not issues with Docker, but Docker did trigger them (as @phemmer mentioned).
Be aware that Docker dropped support for RHEL/CentOS 6 releases with Docker 1.8, so if you're able to, I'd strongly advise you to upgrade to a newer release (RHEL/CentOS 7)
I'm going to close this issue, because unfortunately, this is not something that Docker can solve, but I hope you are able to resolve this. Feel free to comment here after I've closed this issue


20.5 image fails to build due to ubuntu:manic EoL

The 20.5 images are being built with ubuntu:manic, however that non-LTS version has reached its end of life and the repositorys are no longer availabe/moved. We should switch this image to use the slightly newer, LTS version noble.

Some additional changes needed as part of this transition:

Python 3.11 is no longer available from the standard repositories so we'll need to use deadsnakes instead
As part of the former change, it looks like the /usr/lib/pythonX.Y/EXTERNALLY-MANAGED file may no longer exists, so add in a -f to the rm call in case it doesn't
libasound2 is now a virtual package type thing and we'll need to get the actual things we need from an alternative package such as libasound2t64

Additionally, the build workflow and test badges are broken due to referring to the former private test repo name for this project


Sound bugs

There are some issues regarding sound.
Frequency/pitch is sometimes incorrect

Adventure Island (USA, Europe)  - The sound is basically cursed in this game.
A-mazing Tater (USA) - Bass notes in music is out of pitch.

Related to Pitch-sweep

Atomic Punk (USA).gb - Game makes heavy use of pitch sweep effect, which does not work properly.
Super Mario Land (World) (Rev A).gb - Mario's jump is missing the pitch sweep effect.
Alfred Chicken (USA).gb - Wave channel lingers on when game is paused. Pitch sweep also missing when jumping/bouncing.

Other sound-related issues

Adventures of Lolo (Europe) (SGB Enhanced).gb - When resetting level (with B), the 'game over' jingle doesn't fully play.
Alleyway (World).gb - Hanging frequency sound FX when ball hits the wall.
Amazing Penguin (USA, Europe).gb - Hanging frequencies at end of title screen jingle (e.g. noise channel doesn't mute when it should).
Another Bible (Japan).gb - errors in playback of title screen sequence - a gap of silence between loops that shouldn't be there.
Asmik-kun World 2 (Japan).gb - bassline of in-game music is a constant sound, not changing properly as it should.

Fixed the sound issues


object is not valid for secretOrPublicKey

Description
when using jwt.verify (token, secretOrPublicKey, { algorithms: ['RS256'] } ). It return a TypeError: key must be a string or a buffer or a KeyObject.
Reproduction
when using jwt.verify (token, secretOrPublicKey, { algorithms: ['RS256'] } ). I see the secretOrPublicKey is accept for an object . But when define an object for It, It cause an error: "key must be a string or a buffer or a KeyObject"y.
I find and see that at line 127  of verify.js is this " valid = jws.verify (jwtString, decodedToken.header.alg, secretOrPublicKey); " . In jws, secretOrPublicKey is not valid for an object.
For verify successful in this case, I need to fix at line 24 of jwa module , replace "if (typeof key === 'string' )"  to  if (typeof key === 'string'  || typeof key === 'object').

Detail the steps taken to reproduce this error, what was expected, and whether this issue can be reproduced consistently or if it is intermittent.
Where applicable, please include:

Code sample to reproduce the issue
Log files (redact/remove sensitive information)
Application settings (redact/remove sensitive information)
Screenshots

Environment

Please provide the following:

Version of this library used: 8.5.1
Version of the platform or framework used, if applicable: nodejs v12.16.1
**Other relevant versions (language, server software, OS, browser): **
Other modules/plugins/libraries that might be involved: jws

Also running into this. Typescript type Secret is incompatible with the runtime validation found in jwa dependency.
export type Secret =
    | string
    | Buffer
    | { key: string | Buffer; passphrase: string }; // this is rejected by jwa

I ran into this issue today, traced it to JWA doing some weird check on the key when it's an object.
I dug a bit into the two lib with the debugger and kinda addressed the issue in JWA here but it may also be an issue with node-jsonwebtoken not populating the key object properly.

Update from JWA: We are using the key wrong, check the link for details

When verifying with the public key you do not need to set the passphrase, even if the private key has the passphrase you dont need it to verify the token, the code would be something like this:
jwt.verify('token', 'publicKey', options);


logging: Can't set "partialSuccess"

This is possible with the google-api-nodejs-client, but my naive attempt to do this fails:
log.write(entries, {partialSuccess: true}, cb)

Good catch. That's where it should go, and it should work, but it looks like the proto file doesn't specify it as an option: https://github.com/googleapis/googleapis/blob/master/google/logging/v2/logging.proto#L69
cc: @filipjs

Hey,
looks like the proto file on Github was last updated in January.
I'll check what's the process of updating it.

Update is in progress, should be done shortly

The updated logging protos are now available at https://github.com/googleapis/googleapis/tree/master/google/logging

Thanks, @ethanbao!
@zbjornson PR incoming.

@zbjornson until our next release, you can install from master:
$ npm install --save googlecloudplatform/gcloud-node

Thank you all!


added initial support for lockfiles

Changelog: Feature: Added initial support for lockfiles for default runner

[x]  Refer to the issue that supports this Pull Request.
#466
[ ] If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
[x] I've read the Contributing guide.
[x] I've followed the PEP8 style guides for Python code.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #467 into develop will decrease coverage by 0.04%.
The diff coverage is 71.42%.

@@             Coverage Diff             @@
##           develop     #467      +/-   ##
===========================================
- Coverage    92.69%   92.65%   -0.05%
===========================================
  Files           34       34
  Lines         3368     3375       +7
===========================================
+ Hits          3122     3127       +5
- Misses         246      248       +2

Impacted Files
Coverage Δ

cpt/run_in_docker.py
0% <0%> (ø)
:arrow_up:

cpt/packager.py
85.45% <100%> (+0.03%)
:arrow_up:

cpt/runner.py
90.39% <80%> (-0.24%)
:arrow_down:

Continue to review full report at Codecov.

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

Hi @k1rk ! Thanks for submitting this PR. Could you please sign the CPT's CLA? https://github.com/conan-io/conan-package-tools/pull/467#issuecomment-590246324

It gonna be replaced by #471 I want to push that feature on the next release. Thanks for your effort.


ncurses: patch wrong st-0.7 terminfo

Motivation for this change
ncurses 6.1 has a defective st-0.7 terminfo entry according to
https://github.com/tmux/tmux/issues/1264#issuecomment-367385211
which resulted in tmux crashing if it is used within st and neovim
is started inside. Which is my use case with nix on debian8. On nixos
the issue can't be reproduced as the terminfo database out of
/run/current-system is also used, which contains ncurses 6.0
on my system.
Of course it is a bit unfortunate that a correction to the terminfo database
necessitates a rebuild of so many packages :(
Things done
Applied the fix stated in the comment above and checked that the crash doesn't
occur any more.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)

Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
Sadly this ate all my ram and was killed by oom.

[x] Tested execution of all binary files (usually in ./result/bin/)

[ ] Determined the impact on package closure size (by running nix path-info -S before and after)

[x] Fits CONTRIBUTING.md.

Has this patch been submitted/accepted by ncurses upstream? Is there an upstream ncurses issue we can reference?

which resulted in tmux crashing if it is used within st and neovim
is started inside.  Which is my use case with nix on debian8. On nixos
the issue can't be reproduced as the terminfo database out of
/run/current-system is also used, which contains ncurses 6.0
on my system.

Sounds like a rather specific combination of things is needed to trigger this bug. I'm not sure whether this warrants using an unofficial patch for such a crucial package.

@xeji The corrected attribute is an extension of the terminfo database by tmux, which is described in the manual page of tmux. As the entry for suckless terminal is corrected you need at least tmux and st to reproduce the issue. neovim is just used to trigger the bug, by using a program, which tries to do something, which yields in tmux using the entry.
@xeji @Ma27 I will investigate, wether that patch is already upstream or I try to send it upstream. But here I will need a few hours.

At least the terminfo database, which can be viewed online, contains the corrected line:
st-0.7|simpleterm 0.7,
    ccc,
    dim=\E[2m,
    initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
          %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
    kcbt@, kent@, oc=\E]104\007,
    sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
        %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
    Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
    kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
    kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
    kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
    use=ecma+strikeout, use=st-0.6,

It is the line with Ms= which reads Ss= in the ncurses-6.1 distribution tarball.
Comparing the file misc/terminfo.src from the release download and the development download you see, that the patch is already upstream:
6263c6297
<       Ss=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
---
>       Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,

Also in the development source download is the following comment:
# 2018-02-24
#	+ correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD

So yes, the patch is already upstream.

Ok. Then please leave a short comment that the patch can be removed with the next upgrade.

Added the comment, that the patch is only necessary for the 6.1 version of ncurses and needs to be removed, if the ncurses is upgraded.

Fixing/upgrading terminfo DB sounds good to me!

Might make sense to package/ship terminfo separately? Related: https://github.com/NixOS/nixpkgs/pull/41544 .
Ideally once we move to it, future terminfo updates wouod not trigger mass rebuilds...

Not to hijack this PR but if we're eating an ncurses build anyway... :)

"While we're at it" :P, why not bump to latest ncurses release? How do we feel about that?

https://invisible-island.net/ncurses/NEWS.html#t20180804

IIRC while there are other goodies there is precedent for picking this st fix in particular. I was looking through all this recently re:termite and some issues I was having with screen (and TERM=termite vs TERM=xterm-termite, lol)

Anyway LGTM but haven't given any hands-on checking of the result.

Previously: https://github.com/NixOS/nixpkgs/pull/28334

Hmm well regarding the original issue, doesn't latest st ships a fixed terminfo? If so this might only be fixing things when using st and ssh'ing to a box with ncurses 6.1 but not at installed?

Arch also ships ncurses 6.1 for a while. Upgrading makes sense then.

You lost me. So you suggest to update ncurses to some weekly unreleased version?
Shipping terminfo db separately should be good in my opinion. Shouldn't it be a runtime dependency only always? Why should it be needed for building?

@dtzWill Regarding the fixed terminfo that ships with st. That doesn't change anything for me, as tmux only reads the terminfo database from ncurses-6.1. I did some strace -f -ff -o tmux.strace tmux inside st, starting neovim which leads to an immediate crash for me (with nixpkg-unstable on debian8). Afterwards inspecting the straces, I see that it sometimes reads the terminfo database of ncurses 6.1 in ~/.nix-profile and sometimes directly in the nix store, but never the fixed terminfo from st.

Sorry. Somehow I toughed we still have an old version of ncurses. But we already have 6.1. In this case we can just merge this one instead.


modify the code style of markdown

Hi @neal1991 , sorry for the late response. There's a conflict here. Can you fix it?


Global 'View' and Workspace 'Add': Test Qualification Data

As an ECMPS user, I want to view Test Qualification Data in the Global-View and add new Test Qualification Data in the Workspace so that I can look at real-time data or add to a test as needed
Acceptance Criteria: (Global-view)
Given a user has selected Relative Accuracy from the Test Type Group dropdown and the Test Qualification data is available
When the Test Qualification data is displayed
Then the data is displayed as a separate table (see list below for columns and order)
Test Claim Code (Dropdown)
Begin Date (Date Picker & Text)
End Date (Date Picker & Text)
High Load Percentage (Text)
Mid Load Percentage (Text)
Low Load Percentage (Text)
Given a user is viewing Test Qualification Data
When the data is displayed in a table
Then the default sort order is alphanumeric descending by the contents in the 1st column
And the user will have the option to sort the columns in ascending or descending alphanumeric order

[x] The fields and their order specified

Pagination?

[ ] Yes
[x] No

Filter by keyword?

[ ] Yes
[x] No

Columns are sortable?

[x] Yes
[ ] No

Nested rows, expandable?

[ ] Yes
[x] No

Dev Note: Test Qualification Data is at the same level as Protocol Gas Data is for RATA. Add Protocol Gas Data section to Relative Accuracy as part of this ticket
Acceptance Criteria: (Workspace - Add)
Given the user has selected Relative Accuracy from the Test Type Group dropdown
When the user clicks on 'Add' for Test Qualification Data
Then the system displays a modal
and the user can add new data for:
Test Claim Code (Dropdown)
Begin Date (Date Picker & Text)
End Date (Date Picker & Text)
High Load Percentage (Text)
Mid Load Percentage (Text)
Low Load Percentage (Text)
Given the user has added Test Qualification Data
When the user chooses to save and close
Then the data is saved
And the modal closes
And the user is returned to the Landing screen for RATA data
And the Test Qualification Data is reflected on the UI
Given the user has added new Test Qualification Data
When the user chooses to Cancel
Then the user is returned to the Landing screen for RATA data
And no updates are saved
Reference Invision:
Global-view: https://projects.invisionapp.com/freehand/document/SrHrFhGQ3?zoomToItems=Y2w2Z3IwMHZhMDFrcjNiN2lpNnY4a3p5eQ%3D%3D
Workspace: https://projects.invisionapp.com/freehand/document/SrHrFhGQ3?zoomToItems=Y2w2bnZtdnp3MDFlaTNiNnhsc3MxcHI0Yg%3D%3D

Configuration: Glen Lyn, 51


not possible to open any page after upgrade from 0.17.4 to v0.18

For Bug Reports

BookStack Version: 0.18
PHP Version: 7.0.23
MySQL Version:

Actual Behavior
After upgrade to v0.18 I cannot open anyone page on my bookstack.
After each click to try to open a page I got: "Whoops, looks like something went wrong."
Directory organization on the server:
domain_name
domain_name\BookStack
domain_name\private_html\wiki <- symlink to domain_name\BookStack\public and directory root in web server for this page/vhost
From the web it is available on domain_name.com/wiki
.htaccess file content (from public direcory):
    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /wiki/index.php [L]

Hmm, strange :|
After manually cleaning directory ./storage/framework/views/, viewing page works well.


No such module 'Material'

No such module 'Material'

Same here

Hey! Please elaborate on the actual issue and when you are ready, reopen this. Thank you!

@sandeepan512, @forsan
After script, you need to open the Xxx.xcworkspace, for example Textfield.xcworkspace.
And NOT Samples.xcworkspace

This should now be fixed in the latest sample update. Thank you!

@danieldahan Yesterday, I check it on the latest version.

@SeRG1k17 which project?


Fix user comment bug

User comments appear as empty chat bubbles because we clear the input value before recording the comment string. This fixes that.

ah whoops, i broke this recently. thank you!


implementation(name: "tuyasmart-3.10.0", ext: "aar")

After this commit: https://github.com/TuyaInc/tuyasmart-home-sdk-react-native/commit/253c644f8fb19eccaf28aefb73211b8fef709fc4
Our system can't file tuyasmart-3.10.0.aar. I think that you forgot to add this file. Could you add this file, please?

i am sorry I updated.


'Disabled' attribute on buttons is ignored during testing

Version
1.0.0-beta.11
Reproduction link
https://github.com/jamesoshea/vue-test-utils-button-bug
Steps to reproduce
Run npm install, then npm test. The test will fail as vue-test-utils trigger a click on a disabled element, and the element's bound method is called anyway.
What is expected?
The method should not get called when the button is clicked.
What is actually happening?
When testing a vue component, I will sometimes call .trigger('click') on a wrapper containing just a button. If the button is disabled and a method is bound to its click event, the button is clicked and the method called anyway.

Thanks, a PR be great 😀

This is not working again..


Unable to build meson-built derivations (nix build permission denied errors)

Describe the bug
Using nixos-unstable in a flake, a recent rebuild on an un-updated package geoclue2/xdg-desktop-portal-wlr has caused what looks to be a meson bug, but I've been seeing an epidemic of permission denied errors trying to run scripts or other pieces across many derivations in the last week or so.
To Reproduce
I do not, unfortunately, have a minimized reproduction. This drv hasn't been updated recently, and it was working properly prior to a nixpkgs update. I plan on trying to bisect the flake to find the breaking commit.
Expected behavior
Expected geoclue2/xdg-desktop-portal-wlr to build properly (or at least have a built package on nix cache)
Screenshots
builder for '/nix/store/37l54ysfjqp8n1kq8lbfrpa1h503afsa-geoclue-2.5.6.drv' failed with exit code 1; last 10 log lines:
  Source dir: /build/source
  Build dir: /build/source/build
  Build type: native build
  Project name: geoclue
  Project version: 2.5.6
  Using 'CC' from environment with value: 'gcc'

  meson.build:1:0: ERROR: Could not invoke sanity test executable: [Errno 13] Permission denied: '/build/source/build/meson-private/sanitycheckc.exe'.

builder for '/nix/store/s33fjhbkbd7j6n4y88l2zin74gvj7y6w-xdg-desktop-portal-wlr-0.2.0.drv' failed with exit code 1; last 10 log lines:
  Source dir: /build/source
  Build dir: /build/source/build
  Build type: native build
  Project name: xdg-desktop-portal-wlr
  Project version: 0.2.0
  Using 'CC' from environment with value: 'gcc'

  meson.build:1:0: ERROR: Could not invoke sanity test executable: [Errno 13] Permission denied: '/build/source/build/meson-private/sanitycheckc.exe'.

  A full log can be found at /build/source/build/meson-logs/meson-log.txt

Additional context
This exact derivation has built in the past and no changes have recently been committed.
Notify maintainers
@minijackson
Metadata

system: "x86_64-linux"
host os: Linux 5.11.0, NixOS, 21.05.20210224.f6b5bfd (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20201205_a5d85d0
nixpkgs: /nix/store/zfmxqr26bm36kmk22x2zsk0qbcd559qs-source

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: geoclue2 xdg-desktop-portal-wlr
# a list of nixos modules affected by the problem
module:

Hello! I'm not sure I fully understand your situation. What exactly do you mean by "un-updated"? Are you using geoclue2 or xdg-desktop-portal-wlr through overlay?
Like you said, it sounds to me like a global meson or compiler problem, you probably need meson maintainers instead. Here is the meson sanity check, for reference: https://github.com/mesonbuild/meson/blob/ed252b87e02c39f7ab7ef81c681e3d933b600041/mesonbuild/compilers/c.py#L77-L79

Finally figured this out. NixOS will fail in fun ways if your /tmp dir is set to mount with 'noexec' see https://github.com/NixOS/nix/issues/157, https://github.com/CaptainSpof/dotfiles/commit/ddbfce1ff75ca7ccffb9c7a2e2a3009fdcd916b9, and https://github.com/mesonbuild/meson/issues/5765 and which lead me to the path to get this fixed

I've just recently experienced issues like the following, also other issues like
Executables created by c compiler gcc are not runnable.

I used
boot.tmp.useTmpfs

with a reboot to resolve my issues, thanks @jboyens 😄


saplins cannot be used in composter

saplins cannot be used in composter to create bonemeal

Working fine for me. Let me know if you have more information on this.


Fix EVP_MD_meth_dup and EVP_CIPHER_meth_dup

Make sure the origin is set correctly when duping an EVP_MD or EVP_CIPHER.
Fixes #16157

@mattcaswell, isn't it worth adding an asan test according to #16157?

Does this warrant a test case?

Test case added. Please reconfirm.

no-deprecated failure seems relevant

Fixup pushed to address the no-deprecated problem.

Formal reapprove.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged to master, thanks for this.


Fix slicing issue in push when random_init is False

Fixing https://github.com/rlworkgroup/metaworld/issues/367

@mergify rebase

I don't know what's wrong with the CI. The Mujoco key is updated.
I tested this change manually and it works, so I'm merging it.


Use stream size instead of attribute size

Actual stream size may be different from the time it created the attributes which causes failure in scp command.  Please see https://support.jfrog.com/support/tickets/28343 for details.

:+1: :shipit:


Doc issue

Hello!  I read the readme and don’t understand how this is supposed to work.
Dev files like pyproject.toml are not installed, so how do you find the version at runtime?

Ah so it’s not single-source!  For libraries or any code that’s a dependency, devs need to write code that tries importlib.metadata.version(name) first, falls back to importlib_metadata for older Python versions, then falls back to using this project for the uninstalled use case or when building a dist.

So, you described exactly how it works. The decision of the usage a newer importlib.metadata or an older importlib_metadata is resolved when it's imported

Working example from a file in a child directory of pyproject.toml:
try:
    # Only works when package is installed
    version_ = version("geostore")
except PackageNotFoundError:
    # Only works in dev env
    version_ = get_version(__name__, Path(__file__).parent.parent)


feat(activate): change activate to alias, promote to command

Makes promote the primary command, with alias activate.
Adds option aliases for 'activate' / 'promote' command:

from = source-environment
from-build = build-sid
to = environment

Adds appropriate examples showing usage.
resolves twilio-labs/serverless-toolkit#8

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

Thank you for your contribution @nihonjinrxs :) it's very much appreciated!


kick start manuals

Follow-up to https://github.com/jetstack/cert-manager/issues/399
Ok I am basically looking for a quick start like a "hello world" manual.
For example if one checks this repo https://github.com/gnab/remark and copies the snippet then one could start immediately.
When I read the documentation of the cert-manager repo it is clear how to install tiller and how to deploy the cert-manager using helm, but how to get a simple certificate up and running is unclear.
My suggestion is to have three manuals for Google Cloud Platform (GCP), Amazon Webservices (AWS) and Azure, e.g.:
In order to get cert-manager up and running on GCP:

create k8s cluster
deploy cert-manager using helm
deploy simple spring boot app, e.g. hello world app (also using helm)
create a dns name in gcp
deploy ingress
update dns (please wait 15 minutes to ensure that the dns has been updated
test it and it should work

In summary, I am basically looking for a kick start, a helloworld example.
I am willing to create several PRs, but I need some pointers as I am struggling to get this working.

+1. I read documentation but it's still not clear for me what should be done to make it work. For example, should I use spec.tls like in kube-lego or not?
spec:
  tls:
  - hosts:
    - echo.example.com
    secretName: echoserver-tls

Some examples directory also like in kube-lego (https://github.com/jetstack/kube-lego/tree/master/examples) will simplify everything :+1:

@Jokero I've just found out that you have to add spec.tls part to make the cert manager work with ingress-shim. And as the documentation already states, the name of the secret will be the same as the name of the Ingress, so you have to put the name of the Ingress in the spec.tls.hosts.secretName field. (I'm using cert-manager-0.2.9 chart.)

@novakg I tried with my custom secretName and it also works)

@Jokero @novakg Where did you define your DNS and where do you run k8s?

@Jokero Do you mean that the part of kube lego your were referring to https://github.com/jetstack/kube-lego/tree/master/examples/gce#create-the-kube-lego-related-objects should be replaced with the cert-manager part?

DNS is owned by namecheap (where I bought a domain; if you asked about it) and k8s provider is Google Kubernetes Engine.
Do you mean that the part of kube lego your were referring to should be replaced with the cert-manager part?

Might be made by analogy, yes. For me it's much easier to learn new k8s component based on some ready manifests and only then switch to helm package.

@jokero I will try the following
Create a domain in was
Clone the kube Lego project
Adjust the echo.domain example by changing the DNS name in echo to the domain that has been created in aws
Run the kube Lego commands on a GCP k8s cluster
An ingress will be created
Navigating to that domain will be green
What do you think of this approach? I have concerns regarding the combination of AWs DNS combined with gcp k8s
Once this works, I will run the cert manager helm example. Did you use a same approach as well? Or did I not understand it well?

/remove-lifecycle rotten

There seems to be a discrepancy between "Reading the docs" and the github readme
https://github.com/jetstack/cert-manager/blob/master/docs/getting-started/2-installing.rst
https://cert-manager.readthedocs.io/en/latest/getting-started/2-installing.html

I assume that the issuers have to be deployed in the cert-manager namespace?
https://github.com/jetstack/cert-manager/blob/master/docs/tutorials/quick-start/index.rst#step-6---configure-lets-encrypt-issuer

Once I followed this https://github.com/jetstack/cert-manager/blob/master/docs/tutorials/quick-start/index.rst#step-6---configure-lets-encrypt-issuer and deployed the issuers in the namespace of the app, it works

We now have the let's encrypt quick-start tutorial which covers most of what you're asking for here. If you've got suggestions or improvements, it'd be great if you could open a PR against the document or otherwise open an issue with suggestions for different areas that could be improved 😄


Update typescript.md

The typescript template name is corrected

Hi @SimoneMSR, this change is a duplicate of #1777 and many more.
For more information please check out react-native-template-typescript usage note or the note on the documentation page.


Sorting with respect to Coding platform

Selecting a perfect platform is very important when It comes to competitive programming.

.

.

Nice addition! U can submit a PR if u want

Submitted the PR


Tweak DNS customization page

The kube-dns option has been deprecated since 1.18 and no longer supported. The support to kube-dns has been removed from kubeadm since 1.21. This PR tweaks the DNS customization page to remove the outdated contents and also reformat the paragraphs where appropriate.

/lgtm

Page preview:
https://deploy-preview-35923--kubernetes-io-main-staging.netlify.app/docs/tasks/administer-cluster/dns-custom-nameservers/

/lgtm

Thanks @tengqm
/approve


fixing  deleted code for menuItemClick

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug fix

What this PR does / why we need it:
the menuItemClick method was modified to fix the issue of active menu item not being highlighted when user navigated to a different page using addressbar. when the previous pr #659 was merged during the conflict resolution this piece of code was deleted . this may cause the dashboard to not work properly.
Which issue(s) this PR fixes:
Fixes
Test Report Added?:
/kind NOT-TESTED

Seems like the previous commits got pushed here. Closing this one.


pull-request: different "origin" and "upstream" remote repo names

Have an edge case here, I think, where the "upstream" remote repo has a different repo name from the "origin" repo.
I haven't found a way to make a pull request into the "origin" repo without removing the "upstream" remote.
Is there a way of doing it?

In case of "upstream" remote, it takes precedence over "origin" remote (this was a highly requested feature). Pull requests are always created against the canonical ("main") version of this project, which is pointed to by "upstream" remote. Is it an option for you to swap the names of your remotes?
Also, you can try hub pull-request -b OWNER:master, where "OWNER" is the username/org name of the repo against which the PR should be opened on.


Added Updated Trainer Card URLs

Trainer Card URL Update, please Obama let this work

You opened this PR in the wrong repository.


Add text-to-speech using Web Speech API

This PR adds text-to-speech functionality to the chat interface using the Web Speech API. Features:

Uses browser built-in Web Speech API for text-to-speech
Only speaks assistant messages (not user messages)
Can be toggled on/off with a button in the chat interface
Automatically stops speaking when disabled
Removes markdown formatting before speaking
Tries to use a good English voice if available
Cancels any ongoing speech when a new message arrives

The implementation is simple and works directly in the browser without additional API calls or dependencies.
All speech-related tests are passing:

Chat message speech tests
Speech slice tests
Toggle speech button tests

To run this PR locally, use the following command:
docker run -it --rm   -p 3000:3000   -v /var/run/docker.sock:/var/run/docker.sock   --add-host host.docker.internal:host-gateway   -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:7ad29b7-nikolaik   --name openhands-app-7ad29b7   docker.all-hands.dev/all-hands-ai/openhands:7ad29b7

@neubig gentle ping to check if this is still on your radar

This PR has been superseded by #5889 which contains the same changes but with fixed React context providers and click outside hook handling.


Small change to the requirements.txt and warnings

Added periodictable to the requirements
Removed the warning "Estimating atomic form factor as atomic number" as now we have an option to use Cromer-Mann form factors.

Should we make 'cromer-mann' the default method?


Abstract Data Class

Part of #3

File with abstract Dataset class
This is a rebase, it should be merged after #8.

PR just because we said we will merge to main once a day. I will work on the rest of #3 next.

It would be good to add an abstract method for sub-sampling the data (split could arguably then be concretely implemented in a basic way given a sub-sampling method), and maybe even for sampling a single "row" (though obviously row doesn't have a consistent meaning across dataset types). All dataset types will also need to support dropping a row/set of rows and adding a row in, whatever that might mean. So I guess I'm suggesting the following abstract methods: sample, sample_row, drop, add (maybe add could be called include). Maybe also a replace method to allow investigation of bounded privacy notions (e.g. bounded differential privacy).

It would be good to add an abstract method for sub-sampling the data (split could arguably then be concretely implemented in a basic way given a sub-sampling method), and maybe even for sampling a single "row" (though obviously row doesn't have a consistent meaning across dataset types). All dataset types will also need to support dropping a row/set of rows and adding a row in, whatever that might mean. So I guess I'm suggesting the following abstract methods: sample, sample_row, drop, add (maybe add could be called include). Maybe also a replace method to allow investigation of bounded privacy notions (e.g. bounded differential privacy).

Sounds good! I think in my mind the split method was equivalent to what you describe as sample, which makes more sense as a name for the method btw. For you, the split method is equivalent to the scikit learn method?
I'm not sure what the replace method is meant to do specifically, can you give more details?

'replace' would basically be shorthand for calling 'sample(1)', 'drop' on the result of 'sample', and then 'add'. So replace a random row with a given row. This could probably be a concrete implementation in the base class, rather than abstract.

Update:

I've added a minimal implementation of the TabularDataset Class, the read function, more to come!
But more importantly, we have a first test based on the texas data and an associated CI!

There is a lot more to implement on the Tabular dataset but i wanted to have a testing setup ready asap.


store dataset configuration in a sensible way (not in global annotation)

Configuration can now be stored in the metadata top-level JSON (e.g. split).


[Feature Request] Track multiple degraded counts

When they do, the capacity of the pouch is reduced by a few essence (3 for the medium pouch, 2 for the large pouch, 3 for the giant pouch, and 5 for the colossal pouch)

Reflect degradation state on the stored essence count. Currently, if a pouch degrades again and user stores essence, the plugin state could be invalid an a user will have to recheck their pouch.
Potential work-around until this is implemented: Listen for a degradation and flag the stored essence count on the pouch as unknownStored

Currently trying to find a way to implement this as a part of #56 changes; however I'm having trouble with the implementation. I can't think of a way that can appropriately handle multiple consecutive degradations to different pouches. It would be viable to implement it by checking to see if the pouch is close to degrading again similar to seeing if a regular pouch will degrade soon. Unfortunately, I can't find any consistency in how a pouch is calculated to degrade after another degrade.
Take the following chart for a Large Essence Pouch for example:

The number of fills I was able to do before it degraded again is not constant. Furthermore, if my data collection was right, then why was 4 max skipped?

I could make it such that when a player interacts with a degraded pouch, they are forced to wait a tick before performing any other fill pouch actions. This could possibly slow RC down especially if a player chooses to use degraded pouches. However, in GOTR players could still use a degraded pouch if they don't care about repairing it and instead search the Rift Guardian for a new pouch, or maybe they're waiting until they finish their game. Forcing the delay will just impact their gameplay in a way you wouldn't really want. Yet, without properly tracking additional degrade counts, it could result in incorrect states.
Potential work arounds:

One issue with degrades is inventory state. Consecutive degrades invalidates inventory state if a player fills and then empties the respective pouch. However, I suppose by re-updating the inventory state we could mitigate this

Currently what comes to mind is hooking into the existing logic that is used to clear the pouch actions queue within onGameTick

In the future, it would be more ideal to have a pouch interaction listener and check to see if the result of the pouch action matches with the inventory update; however, due to the nature of pouch actions are able to be done faster than a tick and ItemContainerChanged inventory updates only happening on a GameTick, I suppose this contradicts itself or rather wouldn't matter...

Large pouch max stored: 12 (original) followed by these consecutive degradations: 9 -> 8 -> 7 -> 6 -> 5 -> 3 -> Removed ("Your pouch has decayed beyond any further use")


Option to not include the source location comment

Would it be possible to include an option to allow source map generation but not add the comment to the end of the minified JS.
This would allow for people who want to use the HTTP header to send the source map location, or possibly conditionally include the comment or header.
Thanks, Scott.

Hi @sgoo, I apologize for taking so long to come back at you.
I'm closing the issue for now.
However, if you strongly believe it will be of great benefit to the plugin, feel free to reopen it.


Notification sound preferences are missing

The 5.700 version appears to be missing the option for notification sound.  I noticed that I wasn't getting notified, then I realized it was a little little weak "ping" noise so I looked in the preferences to fix it and I can not find the preferences for setting it anywhere.
Expected behavior
K9 has always had an option to set the notification sound, I would hope that isn't going away.
Actual behavior
Default notification sound?  Not sure offhand, it's just a light little "ping" noise.
Environment
K-9 Mail version: 5.700
Android version: Android 10 on Pixel 3 XL
Account type:  IMAP

Hi,
The sound can be changed in Settings » Account name » Notifications » Notification settings.

The sound can be changed in Settings » Account name » Notifications » Notification settings.

No, it can not.  You can turn on/off notifications, allow notification dot, etc..  but there is nothing for setting the notification sound there.

We could go directly to the notification settings for the "Messages" channel of an account.
I'm not sure it's a good idea, though. We'd need another entry to go to the "Miscellaneous" notification settings or users will have a hard time finding that. And then we'd have to add another entry every time we add another notification group.

Btw. you can also get to the system screen to configure an app's notification settings by long-pressing the notification, then clicking the settings icon.

Yep, I had no idea that you could change the notification sound using this system dialog.  It might be worthy of some notes in the Notifications docs, just in case.  But otherwise, this can be closed.


observability: make logs structural

Currently when printing logs with tracing, we tend to format the runtime information into the message like this:
https://github.com/risingwavelabs/risingwave/blob/4f3bce2d024f958d1eeebc49a5556a81372fe824/src/meta/src/rpc/election_client.rs#L107-L122
Although intuitive, this approach lacks observability friendliness. It is hard to retrieve the lease_id from these messages after they're formatted, which makes it also challenging for us to build some analytics or alerting tools by consolidating related logs, traces, and metrics.
Instead, we should prefer structural logs instead. This is enabled by "recording fields" with tracing. It looks like...
https://github.com/risingwavelabs/risingwave/blob/4f3bce2d024f958d1eeebc49a5556a81372fe824/src/utils/pgwire/src/pg_protocol.rs#L345-L352
By explicitly specifying fields, the tracing subscriber will be able to decide how to handle them.

For local debugging, we can get them printed after the message just like they're formatted into the message. This is what we've already done.
For cloud deployment, we can format each event into a structural format (like JSON, which is a common practice of Golang), so the logging services can collect them back in a structural format losslessly.
Currently, we use Promtail to extract the "flatten" lines from the log file to Grafana Loki on the cloud, where structural fields cannot be parsed accurately.
For tracing, the OTLP-compatible collector will also recognize these fields and enable us to query logs or spans with these fields. (#10000)

cc @fuyufjh @arkbriar @Nebulazhang

So this means we need to refactor all logs?

I think so, at least for those useful for debugging.

+1
Using different log config for multiple deploying env is quite common.

So this means we need to refactor all logs?

From my experience, it's almost impossible to enforce every log to be structured. However, we can enforce it for the most critical logs and newly-added ones. It still helps.

From my experience, it's almost impossible to enforce every log to be structured. However, we can enforce it for the most critical logs and newly-added ones. It still helps.

Agree. It's more feasible to start on critical ones and then refactor the others gradually.
Besides, structured logs make everything based on logs easier, such as analysis on SQL logs.

From my experience, it's almost impossible to enforce every log to be structured. However, we can enforce it for the most critical logs and newly-added ones. It still helps.

Agree. It's more feasible to start on critical ones and then refactor the others gradually.
Besides, structured logs make everything based on logs easier, such as analysis on SQL logs.

But I'm concern about if the log collector recognizes hybrid format since we won't unify all the logs at once. Do you have any idea? @Nebulazhang

The format won't be "hybrid". They are always in JSON if the env var RISINGWAVE_CLOUD is set after #10633.
For example, if a log event is structural, we may get something like...
tracing::debug!(actor_id, ?state, "take snapshot")

{
    "timestamp": "2023-06-28T17:17:35.404904+08:00",
    "level": "DEBUG",
    "fields": {
        "message": "take snapshot",
        "actor_id": 42, <- 👀
        "state": "[Nexmark(NexmarkSplit { split_index: 2, split_num: 4, start_offset: Some(315394) })]" <- 👀
    },
    "target": "risingwave_stream::executor::source::source_executor"
}

But if it's simply formatted into the message, we'll only get the message field.
tracing::debug!("take snapshot for actor {} with state: {:?}", actor_id, state)

{
    "timestamp": "2023-06-28T17:17:35.404904+08:00",
    "level": "DEBUG",
    "fields": {
        "message": "take snapshot for actor 42 with state: [Nexmark(NexmarkSplit { split_index: 2, split_num: 4, start_offset: Some(315394) })]"
    },
    "target": "risingwave_stream::executor::source::source_executor"
}

Although it may be harder to analyze these unstructural logs, this format should still be considered consistent with the structural one.

Are there any actionable sub-issues?

Are there any actionable sub-issues?

I have no idea currently. Maybe we need some practices of log analyzing in production to determine what needs prioritization.

No actionable tasks now. BTW, we can add a section in the developer guide https://github.com/risingwavelabs/risingwave/issues/17436


Rewrite Riders and Hangfire using new DI

Some cleanup to use DI better

Is this the usual, wait a couple of days for Denys to finish it type of PR's? :)

lol, it is v8, go ahead and merge 😂😂

Well, unit tests fail for me (Receive_Specs) so yeah, no.

Split into two separate commits, cleaned up, merged.


Detect asyncio-dangling-task (RUF006) when discarding return value

import asyncio

for i in range(10):
    asyncio.create_task(foo)

triggers asyncio-dangling-task but
import asyncio

for i in range(10):
    _ = asyncio.create_task(foo)

does not.
I would expect Ruff to trigger asyncio-dangling-task when the return value of asyncio.create_task is discarded, following the rationale of the rule.

This seems reasonable to me!

Hye, @tjkuson
I'm fresh to Ruff's contributions. I try to duplicate your error by compile Ruff using cargo build --release and running the command on a python file.
./ruff check /home/nemesis/Documents/Github/test/python/game.py

game.py:
import asyncio

async def some_coro(param):
    print(f"Executing coroutine with param: {param}")
    await asyncio.sleep(1)
    print(f"Coroutine with param {param} completed")

async def main():
    for i in range(10):
        asyncio.create_task(some_coro(param=i))

if __name__ == "__main__":
    asyncio.run(main())

I expected it would produce an error: asyncio-dangling-task, like you mentioned above, but it didn't.
The result is also the same for this snippet.
_ = asyncio.create_task(some_coro(param=i))

Python Version:
$ python3 --version
Python 3.12.0

Local Machine:
Release 11 (bullseye) 64-bit
Kernel Linux 5.10.0-26-amd64 x86_64
Release 11 (bullseye) 64-bit
Memory: 7.5 GiB
Processor: Intel® Core™ i5-8250U CPU @ 1.60GHz × 8
Graphics: Mesa Intel® UHD Graphics 620 (KBL GT2)

@MichaReiser - Not intentional -- this rule doesn't look at assignments, it only looks at standalone expressions that include asyncio.create_task(...), and then assumes that those are dangling by virtue of being a standalone expression statement.

@allaboutevemirolive I think you need to select the rule (it isn't enabled by default) using --select RUF006.

Hi,I gave it a try.
I'm new to rust (and the project codebase) and would love feedback. What do you think?

Thanks @asafamr-mm!


model.save_weights causes TypeError: a bytes-like object is required, not 'str'

Describe the bug(问题描述)
model.save_weights causes TypeError: a bytes-like object is required, not 'str'.
Related issue: h5py==3.0.0 causes issues with keras model loads in tensorflow 2.1.0 (https://github.com/tensorflow/tensorflow/issues/44467)
Traceback (most recent call last):
  File "/Users/zsx/Code/DeepCTR/examples/run_classification_criteo.py", line 53, in <module>
    model.save_weights('deepfm_weights.h5')
  File "/Users/zsx/anaconda3/envs/tf2.3/lib/python3.6/site-packages/tensorflow_core/python/keras/engine/network.py", line 1107, in save_weights
    hdf5_format.save_weights_to_hdf5_group(f, self.layers)
  File "/Users/zsx/anaconda3/envs/tf2.3/lib/python3.6/site-packages/tensorflow_core/python/keras/saving/hdf5_format.py", line 631, in save_weights_to_hdf5_group
    param_dset = g.create_dataset(name, val.shape, dtype=val.dtype)
  File "/Users/zsx/anaconda3/envs/tf2.3/lib/python3.6/site-packages/h5py/_hl/group.py", line 143, in create_dataset
    if '/' in name:
TypeError: a bytes-like object is required, not 'str'

To Reproduce(复现步骤)
There are two ways to reproduce the behavior:

add model.save_weights('deepfm_weights.h5')  in the end of run_classification_criteo.py

or

run the DeepFM_test.py

Operating environment(运行环境):

python version 3.6.5
tensorflow version 2.1.0
deepctr version 0.8.2
h5py version 3.0.0

Additional context
Add any other context about the problem here.

Resolved in DeepCTR 0.8.3 by set h5py==2.10.0:
https://github.com/shenweichen/DeepCTR/blob/9564e05ce9b33d6bf2a15779ef6a42831869c390/setup.py#L7


MM-13186: Adds a confirmation modal when removing team or channel association from group.

Summary
Adds a confirmation modal when removing groupchannels or groupteams.
Ticket Link
https://mattermost.atlassian.net/browse/MM-13186
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[ ] Needs to be implemented in mobile (link to PR or User Story)
[ ] Has server changes (please link)
[ ] Has redux changes (please link)
[x] Has UI changes
[x] Includes text changes and localization file (.../i18n/en.json) updates
[ ] Touches critical sections of the codebase (auth, posting, etc.)

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0f3189bdaafa447bf.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0f3189bdaafa447bf

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0701347163b2cc9a1.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0701347163b2cc9a1

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-00d8a8e70083479bb.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-00d8a8e70083479bb

Spinmint test server created at: https://i-0207efb046cd99d86.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0207efb046cd99d86

@wiersgallak Now the routing is messed up... the app can't even navigate to a group details view.

Awaiting https://github.com/mattermost/mattermost-webapp/pull/2452#pullrequestreview-211308140 then I'll create a new spinmint.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0bfd5d5231f573cda.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0bfd5d5231f573cda

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0762b440d0e335c9b.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0762b440d0e335c9b

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-089c6a356f206a900.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-089c6a356f206a900

@wiersgallak You should be able to test now.

@mkraft Two things I noticed:

When removing a team, the message modal does not disappear.  The removal happens as expected but it is behind the modal.  You need to hit cancel to dismiss the removal message modal.
I think we need to review the styling.  Here is an example of a similar modal for navigating away with changes.  Let's update this to be consistent with all others.

@wiersgallak
re 1) I'm not experiencing the same "modal does not disappear" behaviour as you in my tests on the spinmint. What browser are you using? Does it reproduce for you consistently?
re 2) Note that the modals in the admin console are not styled the same as the rest of the app. For example, here is the modal for resetting permissions to default (which was previously approved by design):

and here is the modal from this PR:

Let me know how you would like to proceed with the styling.

@wiersgallak Yes I think the "reset to default" was not implemented as per design specification: https://projects.invisionapp.com/share/SYEX1XXD8#/screens/295160618
I'll update both!

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spintmint test server creation failed. See the logs for more information.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-01c7b1b396d8d67b3.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-01c7b1b396d8d67b3

@wiersgallak I have been able to replicate the bug now. Will let you know when fixed.

Spinmint test server destroyed

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-00b3029f08cd1496e.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-00b3029f08cd1496e

@wiersgallak Should be fixed now. Please try again.

Spinmint test server destroyed

Spinmint test running for more than 7 days. This test server was terminated.

Spinmint test running for more than 7 days. This test server was terminated.

Spinmint test running for more than 7 days. This test server was terminated.


fix: add single_file_support for dockerls

Allow dockerls to attach to a dockerfiles regardless if the default Dockerfile is found.
This is useful for editing files with custom names, e.g. Dockerfile.release

tested with release.Dockerfile according to the rules here:
https://github.com//neovim/neovim/blob/29cec32f44db358b0dfcd560d2ba8228b9d9de39/runtime/filetype.vim#L396


Add shift-enter to mean run and go to next line

So that it's same as Hydrogen

Fixed with https://github.com/kylebarron/stata-exec/commit/1b833851d4377d5d42366a5c3a46eb021cda293d


“jrcs/letsencrypt-nginx-proxy-companion” docker image: too many certificates already issued for exact set of domains

I'm using "jwilder/nginx-proxy" y "jrcs/letsencrypt-nginx-proxy-companion" images to create the ssl certificates automatically, when the server its updated and I run "docker-compose down" and "docker-compose up -d" the following error appears
[Sat May  8 09:11:04 UTC 2021] Using CA: https://acme-v02.api.letsencrypt.org/directory
nginx-proxy-letsencrypt_1  | [Sat May  8 09:11:04 UTC 2021] Creating domain key
nginx-proxy-letsencrypt_1  | [Sat May  8 09:11:04 UTC 2021] The domain key is here<EMAIL_ADDRESS>nginx-proxy-letsencrypt_1  | [Sat May  8 09:11:04 UTC 2021] Single domain='biznage.com'
nginx-proxy-letsencrypt_1  | [Sat May  8 09:11:04 UTC 2021] Getting domain auth token for each domain
nginx-proxy-letsencrypt_1  | [Sat May  8 09:11:07 UTC 2021] Create new order error. Le_OrderFinalize not found. {
nginx-proxy-letsencrypt_1  |   "type": "urn:ietf:params:acme:error:rateLimited",
nginx-proxy-letsencrypt_1  |   "detail": "Error creating new order :: too many certificates already issued for exact set of domains: biznage.com: see https://letsencrypt.org/docs/rate-limits/",
nginx-proxy-letsencrypt_1  |   "status": 429
nginx-proxy-letsencrypt_1  | }

I understand that letsencrypt allows a limited amount of certificates creation over a week. Every time that I have to do a "docker-compose down" and "docker-compose up -d" I'm using one of this instances to generate a certificate. Now I have reached the limit and can't use the site.
Which is the way to avoid certificates generating if is not necessary? Is there a way of reset the counter of this week to keep using the site?
My docker-compose.yml
version: '3.7'

services:
  web:
    build:
      context: ./app
      dockerfile: Dockerfile.prod
    command: gunicorn Backend.wsgi:application --bind <IP_ADDRESS>:8000
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    expose:
      - 8000
    env_file:
      - .env.prod
    depends_on:
      - redis
  celery:
    build: ./app
    command: celery -A Backend worker -l INFO
    env_file:
      - .env.prod
    depends_on:
      - web
      - redis
  nginx-proxy:
    container_name: nginx-proxy
    build: nginx
    restart: always
    ports:
      - 443:443
      - 80:80
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
      - certs:/etc/nginx/certs
      - html:/usr/share/nginx/html
      - vhost:/etc/nginx/vhost.d
      - /var/run/docker.sock:/tmp/docker.sock:ro
    depends_on:
      - web
  nginx-proxy-letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    env_file:
      - .env.prod.proxy-companion
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - certs:/etc/nginx/certs
      - html:/usr/share/nginx/html
      - vhost:/etc/nginx/vhost.d
    depends_on:
      - nginx-proxy
  redis:
    image: redis:5-alpine

volumes:
  static_volume:
  media_volume:
  certs:
  html:
  vhost:

Hello @buchdag thank you for your response.
Now i am getting these error
nginx-proxy                | dhparam generation complete, reloading nginx
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:49:23 +0000] "GET /.well-known/acme-challenge/RVkVLHdEkjtoNkNEVxSMZ5G_GY_qJqnneFDtjXM9FiY HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:49:23 +0000] "GET /.well-known/acme-challenge/RVkVLHdEkjtoNkNEVxSMZ5G_GY_qJqnneFDtjXM9FiY HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:49:24 +0000] "GET /.well-known/acme-challenge/RVkVLHdEkjtoNkNEVxSMZ5G_GY_qJqnneFDtjXM9FiY HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:49:24 +0000] "GET /.well-known/acme-challenge/RVkVLHdEkjtoNkNEVxSMZ5G_GY_qJqnneFDtjXM9FiY HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:51:05 +0000] "GET / HTTP/1.1" 301 170 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.71 Safari/537.36"
nginx-proxy                | nginx.1    | biznage.com <IP_ADDRESS> - - [12/May/2021:10:51:07 +0000] "GET / HTTP/2.0" 200 18591 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.71 Safari/537.36"

I don't see any errors in your logs, all those lines are normal operation informations.

yeah now it's working thank you @buchdag