Anonymous user geneset building

Copied from https://github.com/biothings/mygeneset.info-website/issues/30
Currently, the website's "Build" page allows users to build and download genesets while logged out. There is also a "Create" button that would allow the user to create an "anoymous" geneset in the database, but this feature is not implemented at the moment.
We need to decide whether we want to support these two Build/Download features, and may need to implement a few things to make this workflows smoother.
Downloading anonymous genesets - This is mostly working, and I think it's a good idea to keep.
One thing that could be improved is offloading some of the geneset creation code to the backend. The benefit would be that the data would match exactly what the database would record if the user was logged in. One way to do it is to allow unauthenticated POST requests with the --dry_run flag (This could also be useful for testing). In this case, to download a geneset we simply fetch the JSON from the response, and transform it to csv/tsv/gmx formats if needed.
Creating anonymous genesets - Not supported. Currently returns a 401 Unauthorized Error if user is not logged in.
If we don't plan to support it, we should remove the button for logged out users, and update the text under the Login page's "Use As Guest" section.
I'm open to discussion into reasons to support it, but I think we would have to address a few questions on the backend namely:

If an anonymous user creates a geneset, who can edit/delete it? (Perhaps it could be temporary and auto-delete itself?)
How to keep track of changes, and avoid conflicts? e.g. If two people edit the same geneset at the same time.

I'll duplicate this issue in the mygeneset backend repository, to track any changes it may require in the backend.

Update: I have enabled creating anonymous public genesets. It may be beneficial to enforce XSRF cookies if we only want the approved frontend application to do this.

Merged in: https://github.com/biothings/mygeneset.info/pull/64

Some other important consideration regarding anonymous genesets:

Rate limiting: We may want to limit POST and PUT requests to the /user_genesets endpoint to say, once per second.
Deleting old anonymous genesets. Anonymous genesets could have a default expiration date of say, 1 month (but we could allow customization for shorter or slightly longer expiries). Anonymous genesets are intended to allow quick sharing or user testing of the application, but we want to encourage users to associate an account for long-term storage.

I'm leaving this open for reference, in case we want to implement other security features.

Note, we also previously discussed using XSRF cookies to prevent other websites/clients from writing anonymous genesets.
However, this would not prevent the automated writing/editing of genesets, which can still be easily done if the user logins with a browser and copies the value of the user_cookie.
Implementation of XSRF cookie protections
The code that I commented out here would enable XSRF cookie checks on anonymous POST requests to the user_geneset endpoint:
https://github.com/biothings/mygeneset.info/blob/master/src/web/handlers/api.py#L44-L49
Currently, the xsrf_token endpoint provides an html chunk that, when rendered by the frontend, should generate an xsrf_cookie. The problem is that if it is being rendered inside an iframe, the request may not be able to read the value of this cookie to submit as a custom HTTP header named X-XSRFToken.  We need to check whether it can be accessed from the javascript code that makes the request: https://github.com/biothings/mygeneset.info-website/blob/main/src/api/genesets.ts#L127-L164
Tornado documentation: https://www.tornadoweb.org/en/stable/_modules/tornado/web.html#RequestHandler.check_xsrf_cookie


feat(client): validate query arguments at runtime

closes #60

Blocked by https://github.com/samuelcolvin/pydantic/issues/3297


Installation error from h5py dependency of Qiskit 0.29.0

OS: Windows 10
Python: 3.11
QAOAKit version: "0.1.13"
I followed your instructions for installing from source (+ virtual env):
git clone https://github.com/QAOAKit/QAOAKit.git
cd QAOAKit
python -m venv myprojectenv
myprojectenv\Scripts\activate.bat
pip install -e .
I get an error while installing the h5py dependency:
Collecting h5py<3.3.0
Using cached h5py-3.2.1.tar.gz (368 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... error
error: subprocess-exited-with-error
...
It looks like qiskit==0.29.0 does not install correctly on my computer. I tried recreating a fresh venv and only installing qiskit==0.29.0 and I get the same error.
Any chance this could be updated to work on the latest qiskit version?

Thanks for reaching out! Can you try unpinning the qiskit version and installing? Specifically, replace this line (https://github.com/QAOAKit/QAOAKit/blob/4cbb6c0cc398c38fa97db40976de104618b4bb4a/setup.py#L23) with `"qiskit"' (no version).

Hi @rsln-s,
I tried that and ended up getting more errors that I can't remember the details about. However, it looks like pynauty is not compatible with Windows anyway. So I'm in the process of creating a docker image, without the qiskit version requirement like you suggested. It's looking promising :).

I can confirm that it's working correctly with the latest version of Qiskit when removing version restriction "qiskit==0.29.0". I install pynauty and qiskit before installing QAOAKit when building my python:3.8-slim-buster docker image.


go.mod: github.com/Microsoft/hcsshim v0.8.16

full diff: https://github.com/microsoft/hcsshim/compare/v0.8.15...v0.8.16
also updating github.com/Microsoft/hcsshim/test to current master

@kevpar @katiewasnothere @cpuguy83 ptal

Looks like test cleanup failed on Windows due to a layer issue. Any idea if we've seen that in CI recently?

Looks like test cleanup failed on Windows due to a layer issue. Any idea if we've seen that in CI recently?

Hmm.. not sure; I recall https://github.com/containerd/containerd/pull/5133 was merged recently (which I think was to fix that?)

The CI failure was due to hcsshim.UnprepareLayer returning this error:
failed to remove test root dir failed to cleanup WCOW layers in C:\Program Files\containerd\root-test\io.containerd.snapshotter.v1.windows\snapshots: failed to unprepare C:\Program Files\containerd\root-test\io.containerd.snapshotter.v1.windows\snapshots\9: hcsshim::UnprepareLayer - failed failed in Win32: The system could not find the instance specified. (0x801f0015)

I did some testing and this seems to be another error case that the cleanup needs to handle. I've pushed #5328 to address this.


Addition of Uart generic profile

PR Changes
This PR has the below changes

Removal of the existing UART profiles
Addressing review comments in the PR#3 & PR#4
Adding generic UART profile which supports read and write with any serial device

Test cases Executed

UART Read - Send data from the PC
UART Write - Write data from the Rasp Pi
Auto events
device commands
Multiple device resources in device commands

Test setup and procedure is mentioned in README file

Hi @iain-anderson
Could you please review this and let me know your comments?
Thanks in advance,
Vijay

Thanks Iain for the review. Need some clarifications. Please give your comments

Regarding the point

"device-sdk-go should be imported at version 2.2.0"

this change should be in the file go.mod like this "github.com/edgexfoundry/device-sdk-go/v2 v2.2.0"? Is that right?

Instead of cast.ToUint16E, I am using cast.ToIntE as the base serial go package expects int as the argument for baud. Hope this is fine

Thank You

Hi @iain-anderson Could you please give your clarifications for the above comment? It will be helpful for me to update the code changes and commit.
Thank you.

Thanks Iain for the review. Need some clarifications. Please give your comments
1. Regarding the below comment

"device-sdk-go should be imported at version 2.2.0"

this change should be in the file go.mod like this "github.com/edgexfoundry/device-sdk-go/v2 v2.2.0"? I should remove "-dev.13" from "v2.2.0-dev.13". Is that right? Please confirm

Yes. Also do the same for go-mod-core-contracts

2. Instead of cast.ToUint16E, I am planning to use cast.ToIntE, since the base serial go package expects int as the argument for baud parameter. Hope this is fine

Yes, use whichever cast is suitable

Thank you @iain-anderson for the clarifications. Addressed all the review comments in the commit 2b62209. Please review.
Thank you

@iain-anderson Made the changes as suggested and added a commit 623d9e1. Please review.
Thank you


[Do NOT merge] Overviews

@pramsey We mostly concur with your comments regarding aggregation of other attributes (categorical values, modes and average).
Let's focus on the points reduction for the moment (_CDB_GridCluster_Reduce_Strategy). I also understand the "spare loner" over-representation problem you mentioned. Is there any other thing algorithm-wise or performance-wise that you think we could improve?
Thanks!
cc/ @jgoizueta

I forgot to mention that spatial clustering plus sampling could work well IMHO...

It looks pretty good to me. I like the pluggability of it all, nice work.

@pramsey @rafatower  please CR this. cc @javisantana
I think we've got something usable here, we have CDB_CreateOverviews(table) to create overviews for (points) table and CDB_DropOverviews(table) to remove them.
Then, there's CDB_Overviews(table) to obtain information for using the overviews in rendering as shown in these examples:

http://bl.ocks.org/jgoizueta/a054e9f345ac28ada9e5
http://bl.ocks.org/jgoizueta/881fedb9b83df2b75f60

I don't think CDB_Overviews is a good idea, cache wise we will have a lot of problems. Why not to have methods to know the tables and some other stuff instead of hiding the stuff behind a function?

My first intention was to maintain some overviews metadata tabla, but I decided to delay decisions about that by having the CDB_Overviews() interface to that metadata.
Considering caching opportunities (which I hadn't) it makes sense to eliminate the interface function and go for having the metadata table to be used directly by clients.

I think makes sense to have more granularity methods there like:
# select * CDB_Overviews('table')

zoom |   table
------+-----------
   10 | tablename

# select * CDB_OverviewAggType('table')

CDB_OverviewAggType
---------------------------------
cluster
```

so we can play with that form the tiler.

We can talk about that tomorrow


Add more tests for voting behaviour

Description
Resolves #4326, #4513

Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[x] New tests are added if needed and existing tests are updated
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages.
New section is never added with the code changes. (See RELEASING.md)
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated.
If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
[x] Self-reviewed the diff

I recommend reviewing commit-by-commit so the refactoring commit doesn't get in your way.


Add Parity Check information

Is your feature request related to a problem? Please describe.
The integration could provide information about Parity Check status
Describe the solution you'd like
Add sensors with information about Parity as shown on Unraid UI, like: Last check, Next check, Avg. Speed, Current status, Errors count, etc.
Additional context
This is the information provided by Unraid UI:

@adyannu I had a quick look and came up with this. It will be a binary sensor. I tested on my system that does not have parity check enabled so it shows nothing but if you have it enabled then it will show you info.

Sounds good. A binary sensor as "Unraid Parity is Valid" with the current state, and other info as Last check, Next check, Avg. Speed, Errors count could be attributes of that sensor.

@adyannu I released a new version with parity check sensor. Let me know if it works for you.

Also replied in a less related topic. But Parity is shown, but not completely right.
Status is correct in de attributes, but not shown in the entity status

Hello @domalab, thank you for your fast development... nice job!!
Here I have some feedback:

Status: shows "Checking", but Unraid is not checking parity.
Avg. Speed: Shows wrong unit or value (152 MB/s vs 148578 MB/s).
Would be nice to have: "Next check scheduled" value.

Screenshots:

@adyannu I made some adjustments to the parity sensor code. Not sure if it will work or not as I don't use parity.
Copy the code files from unraid folder in repo to your custom_components\unraid folder and restart home assistant.
Best to test it on HA Dev instance if you have one.
Also, if you want to, please send me your parity-check.log file situated in \boot\config folder. I don't have enough parity log file data to check if sensor will work or not.
I also looked everywhere and couldn't find a config file on unraid that stores parity check schedule data.

@domalab I tried the latest version and this is what I found:

Status: shows correct status (valid!)
Average speed: still shows wrong drive or value (152 MB/s vs 148578 MB/s).
Current speed: no longer shown.

I'm having some strange behavior with the disks, related to the last comments in #3. I'll post there.
Also Docker container and VM services appears as not running.
Thank you for working on this nice plugin!

@domalab I tried the latest version and this is what I found:

Status: shows correct status (valid!)
Average speed: still shows wrong drive or value (152 MB/s vs 148578 MB/s).
Current speed: no longer shown.

I'm having some strange behavior with the disks, related to the last comments in #3. I'll post there. Also Docker container and VM services appears as not running.
Thank you for working on this nice plugin!

Remember to clear your browser cache when running the experimental code. I had same issue and after clearing the cache its working fine. Just HA that likes to cache old data


Updated the stale issue/pr handling in the README

/cc @prydonius

I'll like the old policy better. 30 days times 2 is really long. But, well, if that's the standard...

@unguiculus I tried to look at alternatives so we could do something different. But, I lost that battle. They are trying to make it uniform for all repos on the kubernetes org.

/lgtm


Check menu against DL and VRT

Check menu

[ ] matches DL
[ ] check VRT passes
[ ] check and update migration guides example

Border has gone missing and positioning is changed by icon sizing changes.

ActionButton Border missing is expected. Below screen captured from un-released ActionButton-v6.0.xd


Wrong position and size for grouped shapes

Hello, @scanny!
For a project, I'm trying to group/cluster/build a hierarchy of shapes on slides. Trying to do that using positions of a given shape and its sizes. For visualizing I'm using matplotlib library.
Here are screenshots from a .pptx file under investigation:

And here are plots with lines that represent the boundaries of every given shape on every slide:

Here enclosing boxes are group shapes with their own positions and sizes. For group shapes it's fine, but it's not fine for nested shapes...
Code that I'm using for correct coordinates:
def get_all_shapes(slide):
    deq = deque(slide.shapes)
    shapes = []

    while deq:
        cur_shape = deq.popleft()
        if cur_shape.shape_type == MSO_SHAPE_TYPE.GROUP:
            outer_shape = cur_shape
            inner_shapes = cur_shape.shapes

            min_y = min([shape.top for shape in inner_shapes])
            min_x = min([shape.left for shape in inner_shapes])

            max_y = max([shape.top + shape.height for shape in inner_shapes])
            max_x = max([shape.left + shape.width for shape in inner_shapes])

            # max(1, *) for lines, arrows, thin shapes
            original_height = max(1, max_y - min_y)
            original_width = max(1, max_x - min_x)

            height_coeff = outer_shape.height / original_height
            width_coeff = outer_shape.width / original_width

            for inner_shape in inner_shapes:
                inner_shape.height = int(height_coeff * inner_shape.height)
                inner_shape.width = int(width_coeff * inner_shape.width)

                inner_shape.top = outer_shape.top + int(height_coeff * (inner_shape.top - min_y))
                inner_shape.left = outer_shape.left + int(width_coeff * (inner_shape.left - min_x))

            deq.extend(inner_shapes)
            shapes.append(outer_shape)
        else:
            shapes.append(cur_shape)

    return shapes

We calculate scaling coefficients and use them to find out the correct size and position of every nested shape.
After that fix we have:

Am I doing something wrong and the library is capable of handling this?

Hi, I'll take a look at your problem over the weekend. There is another option, you can create a template and use the library to access presentation objects and change their contents depending on the business logic.

@baevpetr this is an interesting problem, one I might need to address myself at some point. Can you be more specific about what the problem is?
Is it that scaling applied to a "container" shape is not directly reflected on a "contained" shape?
There is no mechanism for getting this from the library so far. I expect your approach is pretty much what is required if you need that sort of thing. It's kind of an edge-case requirement in that most users of the library would never have an interest in that sort of thing, but could be important for document indexing.
If you can say more I'd be happy to think more with you about how it might make sense to support this sort of thing in the general case.
A good place to start might be seeing what PowerPoint reports for position and size when you select a shape inside a scaled group.

In some cases, the position and size of group type shapes are incorrect, but I have found that even if they are in the wrong position, their relative positions are still relatively accurate. Therefore, there is a way to convert themprs = Presentation("your_ppt.pptx") slide = prs.slides[13] for m,shape in enumerate(slide.shapes):       if shape.shape_type == 6:         # true size and xy         group_top_left_x = shape.left         group_top_left_y = shape.top         group_width = shape.width         group_height = shape.height         # false size and xy         shape_top_left_x = min([ sp.left for sp in shape.shapes])         shape_top_left_y = min([ sp.top for sp in shape.shapes])         shape_width = max([sp.left + sp.width for sp in shape.shapes]) - shape_top_left_x         shape_height = max([sp.top + sp.height for sp in shape.shapes]) - shape_top_left_y         # scale xy         px = group_width/shape_width         py = group_height/shape_height         group_shape_xy = []         for n,sp in enumerate(shape.shapes):             group_shape_left = (sp.left - shape_top_left_x) * group_width /shape_width + group_top_left_x             group_shape_top = (sp.top - shape_top_left_y) * group_height /shape_height + group_top_left_y             group_shape_width = sp.width * group_width / shape_width             group_shape_height = sp.height * group_height/shape_height             group_shape_xy.append([int(group_shape_left),int(group_shape_top),int(group_shape_width),int(group_shape_height)])
then group_shape_xysaved relatively real location information

In some cases, the position and size of group type shapes are incorrect, but I have found that even if they are in the wrong position, their relative positions are still relatively accurate. Therefore, there is a way to convert them
prs = Presentation("your_ppt.pptx")
slide = prs.slides[13]
for m,shape in enumerate(slide.shapes):
    if shape.shape_type == 6:
        # true size and xy
        group_top_left_x = shape.left
        group_top_left_y = shape.top
        group_width = shape.width
        group_height = shape.height
        # false size and xy
        shape_top_left_x = min([ sp.left for sp in shape.shapes])
        shape_top_left_y = min([ sp.top for sp in shape.shapes])
        shape_width = max([sp.left + sp.width for sp in shape.shapes]) - shape_top_left_x
        shape_height = max([sp.top + sp.height for sp in shape.shapes]) - shape_top_left_y
        # scale xy
        px = group_width/shape_width
        py = group_height/shape_height
        group_shape_xy = []
        for n,sp in enumerate(shape.shapes):
            group_shape_left = (sp.left - shape_top_left_x) * group_width /shape_width + group_top_left_x
            group_shape_top = (sp.top - shape_top_left_y) * group_height /shape_height + group_top_left_y
            group_shape_width = sp.width * group_width / shape_width
            group_shape_height = sp.height * group_height/shape_height
            group_shape_xy.append([int(group_shape_left),int(group_shape_top),int(group_shape_width),int(group_shape_height)])

then group_shape_xysaved relatively real location information


Console/Editor lose focus when auto-connected to help

Description of your problem

Open spyder
Enable automatic connection to help in settings
Type in editor or console until the help connects, either by function(, or function? in the console

Expected behaviour is for the help for that function to show and I can continue typing my code.
What happens is that when the help activates, where I'm typing loses focus and I need to click back into the editor or console window to continue typing. The only way to write code in the editor without constantly being interrupted is to disable the help connection, which is annoying because thats one of my favourite parts of spyder.
Versions and main components

Spyder Version: 3.0.0b4
Python Version:3.5.2
Operating system: Mac OSX 10.11.5

Dependencies
jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.5.1 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.11.1 (OK)
pandas >=0.13.1  :  0.18.1 (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  4.3.0 (OK)
pyflakes >=0.6.0 :  1.2.3 (OK)
pygments >=2.0   :  2.1.3 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.4.1 (OK)
sympy >=0.7.3    :  1.0 (OK)

We need to give focus to the Help pane to show it in case it's not visible at the moment of asking for the docs of an object.
But we could improve the logic of how this is done to not do it every time a request is sent to Help ;-)

Or we should just give the focus back to the editor (in the cases where the help pane was indeed "hidden") ?

Needing to give focus makes sense, but it is obstructive to typing when it happens at every open bracket. This isn't the behaviour I get on the Windows version, so there must be something different about the Mac.
The solution could either be to send the focus back and make sure it happens fast enough that is doesn't cause lost keystrokes.
Or, don't change the focus and just have the help update in the background. If a user has the help panel not visible, they can manually shift focus if they need to read it, which is much better than interrupting coding when they don't need it.

The problem is worst than that : when I type into the help (let's say 'percentile') I can't go further than "p" because the focus is on the Help pane showing "No further documentation available" instead of letting me typing the rest.
The problem seems to be new with the beta3 or 4.
in Winpython <IP_ADDRESS>, the HELP pane behave as expected. Winpython <IP_ADDRESS> is using Spyder3 beta2 according to their changelog ( https://github.com/winpython/winpython/issues/217 ).
I don't agree on "we need to give focus". If one would need to see the Help, he would search for the pane. Changing the focus and forcing the pane to be visible just slow down everything for a function which (imho) is meant to work in background.
On contrary to Keou0007, I reproduced it on Win7. (but in Spyder beta4 not in beta2)
I would not mark this as issue "enhancement" because this focus behaviour make the HELP pane completely useless.

With the current behavior it is impossible to work with help connected to editor and/or console.
I don't think there is any reason to give focus to the help pane when help is updated in the background as you type.
I would expect that the focus to move to the help pane only for the cases when help is called explicitly via ctrl-I.

Yes, we also think this is a bug.

Thank you for marking this as a bug. (I would still remove the "Type-Enhancement" label)
I tested the last WinPython version "<IP_ADDRESS>Qt5" with Spyder 3.0.0beta 5 in it : it works like a charm :)
I agree with wtheis :

I would expect the focus to move to the help pane only for the cases when help is called explicitly via ctrl-I.

though this is an ancient issue, I do observe this behavior (console looses focus after opening parenthesis) for at least a year myself. am I the only one?


Make AnyOfValidator return the default value of its first child if it does not have a default set explicitly

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
868

Relevant Lines:
868

💛  - Coveralls


[Bug]Path compression lost space

Original svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 1125">
    <path d="M448.6,997.7c.2,5.6,16.6,9.4,36.5,8.4s35.8-6.2,35.5-11.8a1.7,1.7,0,0,0-.1-.7c-1.5-5.2-17.3-8.6-36.4-7.7s-34.4,5.8-35.5,11.1Z" fill="green" />
</svg>

After svgo compression, the spaces are removed, and an error will be reported:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 1125">
    <path d="M448.6 997.7c.2 5.6 16.6 9.4 36.5 8.4s35.8-6.2 35.5-11.8a1.7 1.7 0 00-.1-.7c-1.5-5.2-17.3-8.6-36.4-7.7s-34.4 5.8-35.5 11.1z" fill="green" />
</svg>

Use svgcleaner
<svg viewBox="0 0 750 1125" xmlns="http://www.w3.org/2000/svg">
  <path d="m448.6 997.7c.2 5.6 16.6 9.4 36.5 8.4s35.8-6.2 35.5-11.8a1.7 1.7 0 0 0 -.1-.7c-1.5-5.2-17.3-8.6-36.4-7.7s-34.4 5.8-35.5 11.1z" fill="#008000"/>
</svg>

00-.1 Spaces are required here.

Hi @yisibl. Where the error is reported? I see no errors or visual differences in chrome and firefox.

You can see visual problems here: https://github.com/ubuntu/yaru/issues/2630

@Jupi007 I see. Could you help me to find this particular icon?

In fact almost all icons of the icon theme was bugged using svgo.
For example with folder-documents-symbolic:

source file: https://github.com/ubuntu/yaru/blob/master/icons/src/scalable/places/folder-documents-symbolic.svg
and exported bugged file: https://github.com/ubuntu/yaru/blob/87a40309aa735adca7e28d54ce5706e5d492e003/icons/Suru/scalable/places/folder-documents-symbolic.svg

But this isn't noticeable directly into the navigator, we was only be able to reproduce that using Ubuntu 18.04 (more recent version seems to use a new SVG parser).

So was it a bug in ubuntu parser?

I think that the new parser is more permissive with syntax error. But as I'm not a SVG syntax expert I could be wrong.

My understanding is that only the following number starts with - or is the English letter of the next command, can the space be omitted. The browser may have done compatibility processing. We should be consistent with svgcleaner.

In fact, the compressed SVG has a very subtle position change in the browser. Re importing sketch will also have problems. We should ensure good compatibility in non browser environments.

@Jupi007 Can you provide the svg link of this right arrow (>) icon, this icon is simpler and helps svgo test problems.

Here is the source file: https://github.com/ubuntu/yaru/blob/master/icons/src/scalable/actions/go-next-symbolic.svg

Thanks @Jupi007
@TrySound Through this example, we can also clearly see that there should be a space in the 01-1.825, The correct one should be 0 1-1.825.

@TrySound I don't know which file to modify. Can you give some guidance?
In addition, are there any plans to introduce correctness tests, like svgcleaner.

I don't know which file to modify. Can you give some guidance?

Me neither to be honest 😄 Maybe _path.js.

In addition, are there any plans to introduce correctness tests, like svgcleaner.

Good idea. I will look into this.

Thanks, @TrySound
Update, fsoder replied in https://github.com/w3c/svgwg/issues/827#issuecomment-782601638:

Those would be the large-arc and sweep flags, which are either 0 or 1 (single character, not a number) so it should be possible to omit spaces there.
[1] https://svgwg.org/svg2-draft/paths.html#PathDataEllipticalArcCommands

I use the Demo in the spec, and omitting blanks cannot display correctly in both Sketch and Adobe Illustrator.
Original file:
<svg viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg">
  <path d="M300 200 h-150 a150 150 0 1 0 150 -150 z" fill="red" stroke="blue" stroke-width="5" />
</svg>

Use svgo:
<svg viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg">
  <path d="M300 200H150A150 150 0 10300 50z" fill="red" stroke="#00f" stroke-width="5"/>
</svg>

So, it seems that we can add an option to control whether to compress the large-arc and sweep flags blank. And in order to compress SVG more safely, this option should be enabled by default. What do you think?

I agree

Will close after release

Fixed in https://github.com/svg/svgo/releases/tag/v2.0.3


While running the fastlane beta "block (2 levels) in shift': [!] Illegal quoting in line 1. (CSV::MalformedCSVError)

Fastlane beta does not export the build to crashlytics. I got an error as block (2 levels) in shift': [!] Illegal quoting in line 1. (CSV::MalformedCSVError)
Kindly anyone help me to solve this.I does not have any idea to solve this error.
I need to generate a build and upload to Crashlytics to see the crashes inside the app.
/.rvm/rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.95.0/fastlane/lib/fastlane/actions/register_devices.rb:38:in `run'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1346:in `read'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1289:in `open'
    /.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1346:in `block in read'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1777:in `read'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1777:in `to_a'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1763:in `each'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1821:in `shift'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1821:in `loop'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1867:in `block in shift'
/.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1867:in `each'
    /.rvm/rubies/ruby-2.5.1/lib/ruby/2.5.0/csv.rb:1911:in `block (2 levels) in shift': [!] Illegal quoting in line 1. (CSV::MalformedCSVError)

My fastfile is like
fastlane_version "2.25.0"

default_platform :ios

platform :ios do
  lane :beta do |values|
    # Before calling match, we make sure all our devices are registered on the Apple Developer Portal
    register_devices(
      devices_file: "./fastlane/devices.txt",
      username<EMAIL_ADDRESS>    )

    # After registering the new devices, we'll make sure to update the provisioning profile if necessary
    # options for type are "adhoc", "development", "appstore"
    match(
      force_for_new_devices: true,
      type: "development",
      # readonly: true  #readonly mode to be sure it won't create any new certificates or profiles.
    )

    # Change build number (requirement of Testflight).
    increment_build_number(
     xcodeproj: "./AppName.xcodeproj"
    )

    # Build a release
    gym(
      scheme: "AppName",
      clean: true,
      workspace: "./AppName.xcworkspace" # since using pods
      # project: "./AppName.xcodeproj"
    )

    emails = values[:test_email] ? values[:test_email]<EMAIL_ADDRESS><EMAIL_ADDRESS># You can list more emails here
    groups = values[:test_email] ? nil : nil # You can define groups on the web and reference them here

    # Upload release to crashlytics
    crashlytics(
      api_token: "[insert_key_here]",
      build_secret: "[insert_key_here]",
      emails: emails,
      groups: groups,
      notes: 'Distributed with fastlane', # Check out the changelog_from_git_commits action
      notifications: true # Should this distribution notify your testers via email?
    )

    # You can notify your team in chat that a beta build has been uploaded
    # slack(
    #   slack_url: "https://hooks.slack.com/services/YOUR/TEAM/INFO"
    #   channel: "beta-releases",
    #   message: "Successfully uploaded a beta release - see it at https://fabric.io/_/beta"
    # )
  end
end

Are you able to post there the contents of the ./fastlane/devices.txt file?

Device UDIDs

deviceIdentifier
xxxxxxxxxxxxxxxxxxxxxxxx
iPhone X
IPHONE NAME

Clarification:
File name for the devices is given as devices in my project not as devices.txt. Is it mandatory to give the devices files as devices.txt?

Also I have given the folder as
Device ID     Device Name
XXXXXXXXXXX     Device name
I don't know how the exact format of my devices

(I never used the Crashlytics action, but I'll try to help you by guessing)
I think that what you posted it from a *.deviceids file, right? From what I see, there is a standard format for this as you can see mentioned in the second example here: https://docs.fastlane.tools/actions/register_devices/#4-examples

Is there a tab character between Device ID and Device Name and between ...XXX and Device name?

I have given the space

@nihp It should be tabs like @revolter had mentioned 😊 (taken from http://devimages.apple.com/downloads/devices/Multiple-Upload-Samples.zip)
Device ID	Device Name
A123456789012345678901234567890123456789	NAME1
B123456789012345678901234567890123456789	NAME2

Replace it/them with tabs instead and let me know if it works.

Thanks @revolter
Thanks for yr reply @joshdholtz
It works after I have given the devices as you mentioned here.
https://docs.fastlane.tools/actions/register_devices/#4-examples
But after running the fastlane beta it showing the error while I am trying to upload the build in the crashlytics.
Here I have run the fastlane beta and gave my repository url and the password which I has given while running the match appstore. But it repeatedly showing the same.
How can I upload the build automatically in crashlytics?
Note: I already done the fastlane to upload the build in Testflight. I need to know the crash reports very clearly for individual testers. So I am trying to integrate Crashlytics  with in my project.
Enter the passphrase that should be used to encrypt/decrypt your certificates
 This passphrase is specific per repository and will be stored in your local keychain
 Make sure to remember the password, as you'll need it when you run match on a different machine
 Passphrase for Git Repo:

@nihp You need to now setup match - https://docs.fastlane.tools/actions/match/#match
I"m going to close this issue for now as your CSV issue is solved but you will need to setup each tool/action that you are using in your beta lane before things will work 😊 The docs (https://docs.fastlane.tools) and searching through past issues will be your friend 💪

I don't know if I understood correctly, but it looks like you want to distribute beta builds view TestFlight and receive crashes via Crashlytics.
For this, you don't need the crashlytics action at all. That's for distributing beta builds via their platform, so you should use either Crashlytics either TestFlight for beta distributions.
To only receive crashes you just need to follow the steps in their documentation: https://fabric.io/kits/ios/crashlytics/install

I have followed the steps in the https://fabric.io/kits/ios/crashlytics/install.
My requirement:
I need to distribute my beta build and also need to know about the crashed logs.
I have followed this document to upload the build in testflight https://medium.com/react-native-training/fastlane-for-react-native-ios-android-app-devops-8ca85bee614e.
Here it will upload our build directly to testflight and we can't able to see the crash logs.
Really I need to know the crashed logs from my App. So I have followed this https://medium.com/@tjkangs/react-native-with-fastlane-and-crashlytics-beta-aa0d6ca630fd
I need to know how the build will be uploaded in the crashlytics and how we know about the crashes fastlane and crashlytics. Is this is a right way or not. I don't know.
Kindly let me know your thoughts to know the crashed logs in crashlytics.

@revolter Thanks you for your help


How to service?

Calling a separate service,For example, a call to the reception site data

can you please elaborate about your question?
did you mean to call existing service endpoint generated by Serenity?
do you want to skip Authentication?
write new service / webapi?

Do not skip validation, how to call, request

Read guide. If it is an external service, read their guide / .NET service references.

Not to search?


Sigma tool update

Thanks again for your work!
I did a small update in your script to have a fix UUID for the galaxy (as this one needs to be kept among updates).
I used the tool for the newly merged update in misp-galaxy.

@adulau thank you for your contribution :)


Create a start-open closable tooltip component

Shows a start-open closable tooltip for certain elements
Allow defining conditions to show this tooltip
Can be set to be shown once
Can be set to never displays once closed by user.
Readjust its position if the browser/window is resized/rotated

Done


2.0.0 beta documentation

Pull Request Test Coverage Report for Build 57

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

Totals

Change from base Build 50:
0.0%

Covered Lines:
30

Relevant Lines:
34

💛  - Coveralls


[Bug] unix_timestamp/from_unixtime timestamp function exception

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
1.0
What's Wrong?
mysql>  select unix_timestamp('2038-11-30 10:30:19');
+---------------------------------------+
| unix_timestamp('2038-11-30 10:30:19') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+

mysql>  select from_unixtime(2147529599000/1000)
    -> ;
+----------------------------------------+
| from_unixtime(2.147529599E12 / 1000.0) |
+----------------------------------------+
| NULL                                   |
+----------------------------------------+
1 row in set (0.01 sec)

mysql>  select from_unixtime(1831910399000/1000)
    -> ;
+----------------------------------------+
| from_unixtime(1.831910399E12 / 1000.0) |
+----------------------------------------+
| 2028-01-19 15:59:59                    |
+----------------------------------------+
1 row in set (0.01 sec)

The time is wrong after about 2038-01-19
mysql>  select unix_timestamp('2038-01-20 00:00:00');
+---------------------------------------+
| unix_timestamp('2038-01-20 00:00:00') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+
1 row in set (0.01 sec)

mysql>  select unix_timestamp('2038-01-18 00:00:00');
+---------------------------------------+
| unix_timestamp('2038-01-18 00:00:00') |
+---------------------------------------+
|<PHONE_NUMBER> |
+---------------------------------------+
1 row in set (0.00 sec)

mysql>  select unix_timestamp('2038-01-19 00:00:00');
+---------------------------------------+
| unix_timestamp('2038-01-19 00:00:00') |
+---------------------------------------+
|<PHONE_NUMBER> |
+---------------------------------------+
1 row in set (0.01 sec)

mysql>  select unix_timestamp('2038-01-21 00:00:00');
+---------------------------------------+
| unix_timestamp('2038-01-21 00:00:00') |
+---------------------------------------+
|                                     0 |
+---------------------------------------+
1 row in set (0.00 sec)

What You Expected?
expectations are correct
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

For Mysql:
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_unix-timestamp
Prior to MySQL 8.0.28, the valid range of argument values is the same as for the TIMESTAMP data type: '1970-01-01 00:00:01.000000' UTC to '2038-01-19 03:14:07.999999' UTC. This is also the case in MySQL 8.0.28 and later for 32-bit platforms. For MySQL 8.0.28 and later running on 64-bit platforms, the valid range of argument values for UNIX_TIMESTAMP() is '1970-01-01 00:00:01.000000' UTC to '3001-01-19 03:14:07.999999' UTC (corresponding to<PHONE_NUMBER>9.999999 seconds).
Now Doris unix_timestamp and from_unixtime both are 32-bit, they will overflow in around '2038-01-20'.
So we need to update them to 64-bit, if nobody is working on this issue, you could assign it to me.


Add SnG, MADS, mapd speed limit

Add SnG, MADS, mapd speed limit to Subaru global
Needs to be built with my PR to panda since new signals are being used for SnG.

I can say this for sure. Mads won’t be merged. We use always on lateral which is under (dp-control). It doesn’t make sense to have two different lateral option. Rest I will look into it and will merge it! Thanks

I can say this for sure. Mads won’t be merged. We use always on lateral which is under (dp-control). It doesn’t make sense to have two different lateral option. Rest I will look into it and will merge it! Thanks

OK, no prob, just follow "CS.lkas_mode" to remove (carcontroller.py, subarucan.py and carstate.py).
You will also see I have a very different approach to the speed limit. This is due to Subaru easily changing speed in 5 speed unit increments, 1 is more difficult since it requires a long press. Also, ACC cannot be set below 30 kph, therefore the min speed limit.
SnG is pretty much as per MLK's code, that should be the easiest to adopt at this stage.
Let me know if you need more clarity on anything.
JP

@jprous can you test out the code?

safe to say their is no interest, will close for now


Update Azure VMware Solution.md

VMware Explore updates

@bhitney or @ZacharyRiffle can you please merge. thanks a lot.

Hello Husam,
I just approved the merge - the changes should be visible in the next 10 to 15 minutes.
Zach
From: Husam Hilal @.>
Sent: Sunday, August 20, 2023 9:51 AM
To: microsoft/PartnerResources @.>
Cc: Zachary Riffle @.>; Mention @.>
Subject: Re: [microsoft/PartnerResources] Update Azure VMware Solution.md (PR #569)
@bhitneyhttps://github.com/bhitney or @ZacharyRifflehttps://github.com/ZacharyRiffle can you please merge. thanks a lot.

Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PartnerResources/pull/569#issuecomment-1685328649, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A23QSUOO2MSQNFEYD6LQRI3XWI573ANCNFSM6AAAAAA3XMLKTM.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


fix: Ensure that user cannot override reserved labels

Fixes https://github.com/argoproj/argo-workflows/issues/7215, which could be a potential security vulnerability with users overriding labels set by Argo.
Signed-off-by: Simon Behar<EMAIL_ADDRESS>Don't bother creating a PR until you've done this:

[ ] Run make pre-commit -B to fix codegen, lint, and commit message problems.

Create your PR as a draft.

Your PR needs to pass the required checks before it can be approved. If the check is not required (e.g. E2E tests) it
does not need to pass.
Once required tests have passed, you can make it "Ready for review".
Say how how you tested your changes. If you changed the UI, attach screenshots.

Tips:

If changes were requested, and you've made them, then dismiss the review to get it looked at again.
Add you organization to USERS.md if you like.
You can ask for help!

@simster7 Still working on this?

@simster7  Any chance this is going to re-open?


Update to add AzureOpenAI provider

Initial AzureOpenAI provider implementation for the SDK.

I kept the implementation confined to the azureopenai directory for this initial work, even though a large chunk of the code is the same as openai.  We can combine to the openai if you think that makes sense.

This is great @caleteeter! I think some parts of the OpenAI and Azure OpenAI can be merged (similar to the C# SDK) but I'm happy to refactor/merge the two SDKs after merging this PR.

Thanks @caleteeter. I will refactor the release a new version after the OpenAI Streaming branch is merged.


Starting Training from a Previous Model

Hi,
I noticed that you have two parameters that may allow for training starting from a previously trained model (--ckpt and --pretrained_model). I have tried both but I get an error saying that file is not found, using a command that looks like this: "bash scripts/dist_train.sh 1 --cfg_file cfgs/waymo/mtr+100_percent_data.yaml --batch_size 4 --epochs 1 --extra_tag my_second_exp --ckpt /MTR/output/waymo/mtr+100_percent_data/my_first_expe/ckpt/latest_model.pth"
Do you have any advice with regards to what I am doing wrong? Thank you in advance.

It seems that your given path /MTR/output/waymo/mtr+100_percent_data/my_first_expe/ckpt/latest_model.pth is not correct. If you are under the folder of MTR/tools, please give correct path like this: ../output/waymo/mtr+100_percent_data/my_first_expe/ckpt/latest_model.pth


CI uses actions/checkout@v3, which is a deprecated Node.js 16 action

https://github.com/Enet4/faiss-rs/actions/runs/8510739583


App layout support for "fixed", "sidebar-collapse", "sidebar-mini".

Support for 'layout' config values:  "fixed", "sidebar-collapse", "sidebar-mini" in config/admin.php

@bytebrain Much appreciated. (Please note that this might not work when you have to many menu items)


Cannot connect

Hi,
docker shows the image is running but if I try to open localhost:8000/shell it I cannot connect
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
326315035db0        dwmkerr/dynamodb    "java -jar DynamoDBL…"   10 minutes ago      Up 10 minutes       <IP_ADDRESS>:8000->8000/tcp   hardcore_nightingale

Any idea why that might be?

Hmm that's a strange one - can you clone the repo and run:
make test

and share the output?
Also, are you on Windows/Mac/Linux and what is your docker version?

Win10 + Docker Version 17.11.0-ce-win40 (14328) Channel: edge

Try running:
docker-machine ip

Note down the IP, e.g, <IP_ADDRESS> then run open http://<IP_ADDRESS>:8000. On Windows, docker doesn't bind to localhost as the virtual machine is not as tightly integrated, so you'll probably need to hit the docker machine IP. Can you let me know if that works?

docker-machine ls is empty but the container is running.

Weird, can you show the output of:
docker container list

and then:
docker container inspect <name_of_dynamodb_container>

please? It might shed some light. I am trying to reproduce at the moment, but I am on a Mac. Docker isn't running in my Windows VM because I don't have the facility to run in nested virtualization mode (have to have a $50/year subscription for that feature, which is a pain). Am rooting out a PC to run the same test now...

eeeh, my bad. I somehow ignored -p 8000:8000 when invoking the container.

Ah OK no worries, glad it is sorted out!


I am not able to login to my wallet

What happened: I am not able to login to my DefiChain app wallet.
What you expected to happen: I already insert the correct password but still unable to login to my wallet. Why is that happening? I even jog down my seed phrase and my password in my notepad. Hence, there is no way I get it wrong. What actually happen?
How to reproduce it (as minimally and precisely as possible):

I open my DefiChain wallet app
I want to perform a conversion in DEX from my BTC to USDT
The error message said insufficient DFI token.
I buy DFI token at cake and withdraw to DefiChain app wallet which makes it my DFI wallet total value is equivalent of 2.6 DFI.
I tried to perform conversion in DEX from BTC to USDT again.
I failed again due to insufficient DFI token.
I exited the Defichain app wallet and wait until it closed itself automatically. I didn't perform any force close.
I entered Defichain app wallet again
I login to Defichain app wallet by inserting my passphrase. Sadly, it failed to login. It mentioned, "Wrong Passphrase."

What are your environment parameters?

DeFi App Version:
Operating System (OS): 2.3.0.

Anything else we need to know?:

app log.zip

Hi @rickcys , thanks for your feedback, please give us time to investigate this issue.

Here you go

Hi @rickcys , the team has investigated and it's highly likely that you have forgotten your passphrase, can you try again? There's no limit to trying. Unfortunately, there's no way to retrieve your passphrase if you lose it, likewise for your mnemonic seed.
Alternatively you can try to Restore from mnemonic seed, so your unencrypted wallet will be loaded and encrypt again — but if you did anything when your encryption was active, then you might lose those transactions.

what do you mean by losing those transaction if I perform mnemonic seed restoration? Will the BTC inside still be there?

Hi @rickcys , if you did any transactions between when you start your passphrase and then when it became locked, those transaction are contained in between that period, and is saved in your wallet.dat. Hence, we suggest that you try and remember your passphrase. Could it be that you mis-typed 1 alphabet or capitalised one letter? Please try to remember.

Alright. Thank you.

Hi @rickcys , update v2.3.1 is out.

I'll be closing this issue in the mean time, thank you.


MVP-443

New design based on current OAS options.  UR has identified that users dont really know what to put in the free text box, and using a series of radio buttons allows us to soften the tone of the formerly accusatory question.  Short demo of new design below

I have not yet updated the check your answers page to reflect the impact of the new design

This looks good John. Thanks


fix: placeholders

Description

fetch localized placeholders.json
use localized placeholders as alt text for imgs, title text for svgs

Related Issue

Icon alt texts 287
Introduce placeholders 307

Links

https://placeholders--express-website--adobe.hlx3.page/express/
https://placeholders--express-website--adobe.hlx3.page/express/pricing
https://placeholders--express-website--adobe.hlx3.page/dk/express/pricing
https://placeholders--express-website--adobe.hlx3.page/tw/express/pricing

beginnings of placeholder functionality... because the icon building happens so early, i wonder if it makes more sense to "fix" the icons, then update the alt text later, maybe with the lazy or delayed scripts? what do you think?

Merging now, we can add the English fallback later - if needed


Fix panic on is_resource_* calls (#2828)

Changed out unwraps to use if let syntax instead. Returning false when None.
Also modified an existing test to encompass these methods
This PR fixes #2828

Very good call!

bors r+


[FEATURE] Add Text web part with Image web parts inside the Text web part

Is your feature request related to a problem? Please describe.
Manually you can add Image web parts inside a single Text web part. I.e., some text, image1, some more text, image2, etc., everything inside a single Text web part like the image below

Dynamically I can add Text web parts, and Image web parts but they are individual web parts in the page using Add-PnPPageTextPart and Add-PnPPageWebPart, which is likely to go over the 20 web parts per page limit recommendation (https://docs.microsoft.com/en-us/microsoft-365/enterprise/modern-portal-limits?view=o365-worldwide)
Describe the solution you'd like
I would like to dynamically be able to add Image web parts inside a Text web part using using similar commands to Add-PnPPageTextPart or Add-PnPPageWebPart. Potentially the images be part of the properties of the Add-PnPPageTextPart command.
Describe alternatives you've considered
Use Add-PnPPageTextPart and Add-PnPPageWebPart to individually add web parts accordingly
Additional context

In pnp core this is made possible by "GetInlineImageAsync" inside the "https://github.com/pnp/pnpcore/blob/dev/src/sdk/PnP.Core/Model/SharePoint/Pages/Internal/Page.cs"
(just for info)

hello
i am interested in this feature too for pnp powershell.
le me know once it is added in your roadmap and released.
thank you.

We need this feature ASAP.

This would be a vital feature necessary for any meaningful bespoke migration effort, it would be great if it is implemented as part of pnp.


Update zero-hour-auto-purge.md

Highlight the cons of using Safe Senders.

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.

@chrisda - PR has been copy edited and is ready for final review.
Thank you.
cc: @kenwith


Advanced Audio

NOTE: I could not find any existing issues about this so I decided to open one. If there is one I missed please let me know.
What problem does this solve or what need does it fill?
The current audio system in bevy is very lacking and in most cases not enough. I am proposing that a more advanced audio system that allows for volume control, pitch modifications, custom playback speed, and also 3D audio (based on 3D coordinates). This would greatly improve the usability of Bevy's audio API and make it suitable for full 2D and 3D games.
What solution would you like?
Possibly add functions for directly altering an AudioSource's pitch and playback speed:
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    let music: Handle<AudioSource> = asset_server.load("sounds/test.wav");

    music.set_playback_speed(...);
    music.set_pitch(...);
}

Add an extended audio.play() function (maybe audio.play_ex()) that takes in a playback config struct:
fn some_system(audio: Res<Audio>) {
    let some_audio = ...; // pretend this has a Handle<AudioSource>

    // we could wrap this into a struct of some kind
    let playback_options = AudioPlayback {
        volume: 1.0, // default volume
        pitch: 1.0, // default pitch
        speed: 1.0, // default speed,
        position: Some(Vec3::new(0.0, 0.0, 0.0)) // center of world
    };

    // if position == None, then it will play it without a position (meaning it wont be altered by position)

    audio.play_ex(some_audio, playback_options);
}

What alternative(s) have you considered?
There is a plugin called bevy_kira_audio which integrates Kira into bevy, but it does not seem to support 3D (position based) audio which I find necessary for 3D games. I also find it inconvenient to have to use a plugin for something as common as audio.
Additional context
This is just an idea, this does not need to be the final API. If there already are plans for this then this can be closed; I only opened this because I didn't see any previous issues open about this.

See also #1304 :) Audio is very much lacking, and most of the ecosystem is using bevy_kira_audio at the moment. It's likely that we'll upstream it, and work with the Kira team to add positional audio support.

Oh thank you, I did not see that issue. Should I close this one?

Yep, I'll close this out in favor of #1304 :)


How do I use the qcustomplot package?

I have install the qcustomplot to draw a heatmap. However, I don't know how to use this package. I tried

find_package(Qt5PrintSupport CONFIG REQUIRED)
...
target_link_libraries(${target_name} Qt5::PrintSupport)
target_link_libraries(${target_name} qcustomplot2.lib Qt5Concurrent.lib)

and copy qcustomplot2.dll and Qt5PrintSupport.dll to the bin folder, I got

unable to locate the program entry point ??0QDebug@@QEAA@$$QEAV0@@Z in the dll Qt5PrintSupport.dll

This problem puzzled me for many hours, I cant work out where the problem came. Thanks a lot for any help.

At last, I find it come from the debug and release options. If use debug, it will try to use Qt5PrintSupportd.lib, so change to release works well.


Compare directories md5s

This script compares copied files md5s. The inputs are a single file, containing the origin directory and destination directory,  the top level google bucket where the input file lives, and an output file within that bucket. The directories being compared cannot be renamed as the paths are needed for dictionary lookups. I have tested this on a 3GB directory that was copied from gnomad-public to gnomad-public-requester-pays and it took 35 minutes to run.

Closing this PR as #28 is more efficient.


Final Report // Deliver products and draft content by CoB April 9th

Converting the prototype code run on ARE ( Gadi Broadwell Nodes ) to batch (Gadi Cascade Lake nodes) has proven non-trivial.  I'm going to finish delivery of #2 using only ARE.
DEADLINE: Deliver all draft products and content by CoB April 9th
from discussion:
+provide netcdf files for currently available variables
+fix lack of climatological output for ALL stats, not just the mean
+reformat output files to be in a single NC file ( requires breaking out the quant levels )
+provide content to support drafting final report on this demo code
+finish generating ARD zarr collections & finalnetcdf for all variables
next steps as of 8 April 2024

[ ] 1. get a megamem ARE 1-node
[ ] 2. run BRAN2020_ARE_3D_chunk.ipynb on salt #code written and ready
[ ] 3. …. u #code written and ready
[ ] 4. …. v #code written and ready
[ ] 5. meanwhile run the new climatology code on the available collections, eta_t
[ ] 6. …. mld
[ ] 7. …. temp #currently running on an ARE hugemem job
[ ] 8. sanity check plots #code written and 2D variables generated
[ ] 9. provide netcdf files in draft_delivery #2D variables there
[ ] 10. make diagram(s) of workflow
[ ] 11. finish draft report
[ ] 12. check all metadata, make required edits, and store in delivery/clim_stat_demo/

location for final netcdf product output

@matt-csiro :
current draft netcdf files are:
/g/data/es60/users/thomas_moore/clim_demo_results/daily/draft_delivery ls -ltrh
total 74G
-rw-r--r-- 1 tm4888 es60  44G Apr  3 10:57 BRAN2020_daily_temperature_climatology.nc
-rw-r--r-- 1 tm4888 es60  13G Apr  3 10:58 BRAN2020_daily_temperature_quant.nc
-rw-r--r-- 1 tm4888 es60  16G Apr  3 10:59 BRAN2020_daily_temperature_stats.nc
-rw-r--r-- 1 tm4888 es60 742M Apr  3 11:07 BRAN2020_daily_eta_t_climatology.nc
-rw-r--r-- 1 tm4888 es60 310M Apr  3 11:07 BRAN2020_daily_eta_t_stats.nc
-rw-r--r-- 1 tm4888 es60 248M Apr  3 11:07 BRAN2020_daily_eta_t_quant.nc
-rw-r--r-- 1 tm4888 es60 248M Apr  3 11:07 BRAN2020_daily_mld_quant.nc
-rw-r--r-- 1 tm4888 es60 742M Apr  3 11:07 BRAN2020_daily_mld_climatology.nc
-rw-r--r-- 1 tm4888 es60 310M Apr  3 11:07 BRAN2020_daily_mld_stats.nc

progress on the remaining 3D variables

[ ] Salinity
[ ] U
[ ] V

whoops, issue 4 not 3

Noting here that we discussed, offline, generating all the statistics (mean, median, minimum, maximum, 5th percentile, 95th percentile and standard deviation) as monthly climatologies.

@matt-csiro - /g/data/es60/users/thomas_moore/clim_demo_results/daily/draft_delivery is now empty pending refactoring how I do the output.
the older output files are still here:
/g/data/es60/users/thomas_moore/clim_demo_results/daily/03042024_draft_delivery/

With the new climatology calculation workflow:

2D results from chunked4time zarr collections take about 20 minutes

sanity check on results

next steps

[ ] is BRAN2020-daily-temp-chunk4time-v07022024.zarr OK?
[ ] add ENSO compositing to workflow and run on 2D

@matt-csiro
As far as file structure how does this look to you?  I've not yet checked or added metadata.
/g/data/es60/users/thomas_moore/clim_demo_results/daily/draft_delivery/BRAN2020_clim_demo_mld.nc

@matt-csiro
As far as file structure how does this look to you? I've not yet checked or added metadata.
/g/data/es60/users/thomas_moore/clim_demo_results/daily/draft_delivery/BRAN2020_clim_demo_mld.nc

The file structure looks like it is coming along.
As discussed, there are a couple of considerations that would also bring down the file size.

There is no need for quantiles to be kept as doubles, at least convert to floats, or even consider packing to shorts like is done with the BRAN output.
However, packing can get messy if different files have different scales and offsets, so staying with floats may be preferred (?)
And also, turning on some deflation with netCDF4 which may reduce the file size by about half again.  For reference, BRAN output is just deflation level 1 and chunked (300,300,1,1) in (x,y,z,t), for variables with depth; seems to work well and didn't worry about optimising further.

Adding some metadata to the time axis will be useful; please include a modulo attribute.

Please check the quantiles for the el_nino and la_nina for eta and mld; in the versions in draft/ they are currently the same as all_years.
For example, in the attached with eta el_nino profiles at y=0 and month=12, the quantiles (short dashes) in some places exceeds the min or max ('dots')

Gosh darn!  Yep, looks like np.quant doesn't work on NaN masked xarray objects like the other stats calculations. =(
Thanks heaps for picking that up @matt-csiro.

Please check the quantiles for the el_nino and la_nina for eta and mld; in the versions in draft/ they are currently the same as all_years. For example, in the attached with eta el_nino profiles at y=0 and month=12, the quantiles (short dashes) in some places exceeds the min or max ('dots')

@matt-csiro - this was a hard to see but very basic typo! fixed.

sanity checking the new output #8

@matt-csiro - the no-composite "all-time" job for all the stats (base + quant) is running well for 3D variables in about 7 hours.  As I refactor the ENSO-phases composites code I'm running the "all-time" results to make best use of the time.  Will bring them all back together in final netcdf's.
"all-time" base stats and quant stats for temp
(base) tm4888@gadi-login-08 /g/data/es60/users/thomas_moore/clim_demo_results/daily/draft_delivery ls -ltrh *temp*
-rw-r--r-- 1 tm4888 es60 18G May 18 04:42 BRAN2020_base_stats_temp_alltime_2<IP_ADDRESS>.05.08.nc
-rw-r--r-- 1 tm4888 es60 11G May 18 07:35 BRAN2020_quantile_stats_temp_alltime_2<IP_ADDRESS>.05.08.nc

let's sanity check the temp in Neutral phase

sanity check temp all-time minus neutral

sanity check all-time salt

I should probably better understand the eastern pacific, and there are many rivers and embayments on the South American coastline but are we expecting this range of salt right up against the coast?

need a better approach to plot all 28 stats & phases for each variable . . .

after conversion to GISready files

report finished


content editable word-wrap: break-word for IE11, to match behavior of…

… other browsers
This PR changes/includes the following components:

CSS for Editable

This PR includes:

[ ] Unit tests for every change/new component
[ ] Documentation for every change/new component

Does this PR has breaking changes?
No


add external trap to HubbardRealSpace

add (precomputed) external trapping potential to HubbardRealSpace

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

76 of 83 (91.57%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 90.698%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Hamiltonians/Momentum.jl
27
28
96.43%

src/Hamiltonians/HubbardRealSpace.jl
31
37
83.78%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
4251

Relevant Lines:
4687

💛  - Coveralls


DTLS Implementation

Hi,
Does it support DTLS?

Hi,
DTLS is currently not supported. You have to implement it as a Custom TransportLayerObject conforming to SCCoAPTransportLayerProtocol.

Ok. Thanks!


missing pseudochr.fasta.gz for Leishmania in Public server (is Companion still supported)

Dear Companion team,
I would like to use your public server for annotating some assemblies from leishmania that I have generated. However, it seems to me that the server does not actually contain the training sets mentioned in the webpage list. I have use a Leishmania mexicana downloaded from NCBI and the job fails, despite a lot testing of trial and error. The error obtained is the below. I have emailed the contact address given in the website but no one replies. Is it still supported? I appreciate your input.
/www/companion/annot-web/app/workers/hard_worker.rb:34:in add_result_file': required file not present: /www/companion/annot-web/public/jobs/74f8275b60bbaeba61562e29/pseudochr.fasta.gz (RuntimeError) 	/www/companion/annot-web/app/workers/hard_worker.rb:142:in perform'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:150:in execute_job' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:132:in block (2 levels) in process'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:127:in block in invoke' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/server_middleware.rb:37:in call'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:129:in block in invoke' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/server/active_record.rb:6:in call'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:129:in block in invoke' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/server/retry_jobs.rb:74:in call'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:129:in block in invoke' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/server/logging.rb:11:in block in call'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/logging.rb:30:in with_context' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/server/logging.rb:7:in call'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:129:in block in invoke' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/middleware/chain.rb:132:in invoke'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:127:in block in process' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:166:in stats'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:126:in process' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:79:in process_one'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/processor.rb:67:in run' 	/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/util.rb:16:in watchdog'
/www/companion/annot-web/vendor/ruby/2.3.0/gems/sidekiq-4.0.2/lib/sidekiq/util.rb:24:in `block in safe_thread'
Many thanks,
Ivan

We have the same issue with Lmex too. Have you found any solution?
I'm thinking about disabling pseudochromosome contiguation (in step 5), as that step uses pseudochromosomes, to see if it makes any difference. Have you tried or considered this?
Btw on their twitter they seem to be looking for programmers.
Thanks for any help.


Website down?

The title is self-explanatory : ) I get a 404 when trying to access staticcms.org

This is resolved now. I was messing with the build process earlier and didn't realize I broke it 😅


E-mail bounce detection and subsequent notification management

I.e. if an appropriate e-mail bounce is detected (where the account doesn't exist, or is some other unrecoverable error) -

Put the user's account into a special 'no emails state' until they update their address or otherwise flag their account as fixed
Let the user know via on-site notifications.

I'm looking through the 'reply by e-mail' code at the moment, and it doesn't seem to be handling this at all.
Since I send over ten thousand notifications per day, managing mail reputation like this has become the most tedious technical task on the site. This wouldn't solve everything (abuse reports are more nuanced), but it would greatly improve the workflow for highly active forum operators.

/me likes the idea

nods  Should be able to do something to un-subscribe them when it bounces to prevent future attempts until they fix it.  Agree tracking email reputation takes a lot of diligence on the part of the site operator.
The post by stuff, when an email bounces, eventually a postmaster email will arrive and end up in the failed log.  We could add an action there to "unsubscribe" the user with a click.

As I mention, I'd prefer mail to simply be suspended, rather than fully unsubscribed. Give them an option to unsub or fix their e-mail, depending on which they prefer.

I've started working on this - so far, just a rudimentary DSN detection in the Email Parser that logs bounced messages with an "Undeliverable" notice rather than handling them like any other email. Still a lot of work to do, including making sure that the outgoing emails are setting the SMTP envelope as well as the "From:" address, or the DSNs will never hit the script.

:+1:

A few observations as I build my corpus.

My own return-path for bounced e-mails is , which is probably going to be a fairly common return-path for DSNs alongside <>.

Outside from those<EMAIL_ADDRESS>bounces which still have a valid bounce return-path, every DSN bounce seems to be from mailer-daemon@(sendingdomain)

Currently, bounces can be categorized into four types.

Account not found.
Account locked (exceeds quota, user hasn't logged in in awhile, etc)
Connection timeout (most commonly because the user typoed their domain name or entered in a false one)
Congratulations! You're on a blocklist.
This feels like it's it, but I may be forgetting some.

In addition to DSNs, we may want to handle general member replies as well. In doing so, we'll want to be careful with out of office replies and making sure they don't lead to spamsplosions.

Yeah, <> is pretty standard for DSNs, as it prevents the DSN from generating a DSN which generates a DSN which... you get the idea. ;) I don't know why Microsoft still hasn't learn how to run a damn mailserver...
I have come across something I wanted to ask about: the database creation code in install/ is a bit... convoluted, so I figure I can spend hours backward-engineering it to figure out how it works, or just ask. :)  I need to add a flag field to the members table ('notify_bounce' in keeping with the other fields related to notifications) - adding it in install_1-0.sql seems straightforward enough, but I'm not sure how far I should go with it as far as all the upgrade_*.php files, or whether those get re-done anyway when new versions come out, etc.

In addition to DSNs, we may want to handle general member replies as well. In doing so, we'll want to be careful with out of office replies and making sure they don't lead to spamsplosions.

Those could be trickier, since there's no standard for OO replies - They can be replies (which may, as I understand it, trigger a new post) or new messages, which would be picked up the same as any other "Failed" email. Most out of office reply setups also limit replies by sender or sender and time period (one reply per email, or per email per day/week/etc...).  The only thing I can think of to handle these would be to maybe take the same action as we would with a DSN (whatever that turns out to be) after receiving so many "failed" response emails over a period?

It's probably clear I favor option 2, but if you all think one of the others are a better fit, or have another idea, I'm all ears.

Good summary of the options.  Option 2 sounds like the best solution to me as well.

I need to add a flag field to the members table ('notify_bounce' in keeping with the other fields related to notifications) - adding it in install_1-0.sql seems straightforward enough, but I'm not sure how far I should go with it as far as all the upgrade_*.php files, or whether those get re-done anyway when new versions come out, etc.

@emanuele45 may be able to explain those upgrade files !  I think the plan will be that those will only be used to upgrade an Elk 1.x to a 1.1 installation.  At one point (or the plan) was those would have upgraded from smf 1.x all the way to Elk 1.0 in a recursive sequence of db upgrades.
Now upgrades from other packages should be done with the open importer instead which should help with some of the confusion of those upgrade files.

For the upgrade, you have to take in consideration just upgrade_elk_1-1_mysql.sql and upgrade_elk_1-1_postgresql.sql.
The two contain exactly the same code (it's a temporary measure, later the two will become one, but that's another point), so you can modify one and copy&paste the whole thing to the other.
For the "how", you can take inspiration from any of the already existing $db_table->db_add_column pieces, the important part is that the code shall be included within:
---# Comment here better if ending with three dots for consistency...
---{

and:
---}
---#

Anyway, if you have any problem, feel free to drop the details here and I can write down the block of code for you. ;)

Oops, apparently Github interpreted my post as a tag. The return path for my postfix install is
MAILER-DAEMON
inside <>

Mark the user's email as "unverified" and require revalidation. This, of course, requires that "Email Activation" be turned on, and is an already in-place method of making it mandatory that the problem be addressed.

May be it's own bug, or may have been addressed (still have to do a proper database pass) but at least in SMF 2.0, it's very confusing as members often are not aware that they can change their e-mail address. If it's not extremely straightforward in Elkarte it needs to be made so.
OTOH, this is possible, but it tends to annoy users. Since spammers have such an easy time making e-mail addresses, the primary reason for requiring a mail address is for account recovery.

Modify the user's notification settings to disable notifications entirely, without removing thread/board subscriptions. As far as I can tell, this would only require a "Not at all" option to be added to topic notifications (it already exists in board notification options). Users turning notifications back on without fixing the address problem will just find it disabled again. Probably even easier to implement than #1.

I have seriously had members fill up their quota with notifications and then wonder why they're not getting notifications anymore.
It's rather effective for member retention to make sure notifications stay as they are when restoring them.

Add a new, standalone framework for dealing with the issue. This is, to my mind, the least desirable option, since it would require more change to existing code (adding checks for this new setting, probably in Notifications.subs.php:sendNotifications()) and new code: a new interface and logic to allow the user to address the problem, and a workflow would have to be decided on before I could proceed with it.

This was my original plan, actually. Just add another flag and run with it. Right now I have a hugely convoluted setup on Elliquiy to manage this. : /

Those could be trickier, since there's no standard for OO replies - They can be replies (which may, as I understand it, trigger a new post) or new messages, which would be picked up the same as any other "Failed" email. Most out of office reply setups also limit replies by sender or sender and time period (one reply per email, or per email per day/week/etc...). The only thing I can think of to handle these would be to maybe take the same action as we would with a DSN (whatever that turns out to be) after receiving so many "failed" response emails over a period?

Had a thought. Most of these are identical and don't contain the original messages. Take a hash of the message body, store it in the member table. If it matches a new reply, do nothing with that message.

I have seriously had members fill up their quota with notifications and then wonder why they're not getting notifications anymore.

It's rather effective for member retention to make sure notifications stay as they are when restoring them.

I don't think disabling the setting in their options unsets their "notify" flags, but I can test it in a few hours, after dinner. If it keeps their settings so that changing/fixing their email issue and turning the setting back on brings things back to the way they were, would that be acceptable to you?

I don't think disabling the setting in their options unsets their "notify" flags, but I can test it in a few hours, after dinner.

Confirmed: changing notification settings doesn't clear the list of thread or board notifications - if we go with option 2, then fixing the problem and re-enabling notifications in their options panel should allow users' notifications to continue as if nothing had happened.

Would still be nice to have a flag to notify the user of the issue.

Would still be nice to have a flag to notify the user of the issue.

Oh, yes, naturally. I figure either a message on the top of the screen, kind of like the one on E that pointed out that you were looking for volunteers for this (if the capability is already in - I don't think it's worth adding in just for this), or a system-generated auto-PM notifying them.
Just now, I'm more interested in trying to nail down the what we tell them to do, and when we've got that settled, we can get on to HOW we tell them, but I agree it's a given that we DO tell them.

The floating notice deal is a custom mod that

Points people visiting the IP address to the domain
Points people towards registration
Points unapproved members towards the approval process
Does random specific banners to a subset of members at random intervals

It exists entirely within the theme and has no awareness of other user properties, however.

Then a PM is probably the easiest way.

An alternative would be to make that into a sortof customized notice/news system for cases like the above and this. Hell, Twitter does it.

Twitter may do it (I wouldn't know) but if Elkarte doesn't, then that turns into another function that has to be added in before the feature becomes usable.
At this point, though, we're getting off track with bicycle-shedding. We haven't, to my knowledge, decided on how to handle the issue yet, so fixating on the method of notification at this point is pretty premature.

I'm a little lost, sorry... :blush:
So, the current issue is?

emanuele45: What we should do when we've detected a bounced notification.
I came up with three options (reposted from above):
Notify the user of the issue and:

Mark the user's email as "unverified" and require revalidation. This, of course, requires that "Email Activation" be turned on, and is an already in-place method of making it mandatory that the problem be addressed.

Modify the user's notification settings to disable notifications entirely, without removing thread/board subscriptions. As far as I can tell, this would only require a "Not at all" option to be added to topic notifications (it already exists in board notification options). Users turning notifications back on without fixing the address problem will just find it disabled again. Probably even easier to implement than #1.

Add a new, standalone framework for dealing with the issue. This is, to my mind, the least desirable option, since it would require more change to existing code (adding checks for this new setting, probably in Notifications.subs.php:sendNotifications()) and new code: a new interface and logic to allow the user to address the problem, and a workflow would have to be decided on before I could proceed with it.

Ohh okay, now I see, sorry. :smile_cat:
Yup, number two seems the easiest one to me as well!

So Veks, how 'bout it? With the stipulation that the user gets notified and that his/her notify subscriptions don't get wiped, are you okay with method #2?

Well you're the one doing the work, and #2 is basically how the semi-manual system works on E at the moment : p

Well the advantage of the way I'm doing it would be that it will be automatic. :)

I know, my original plan (and what I'm working towards on my own framework/CMS) is for something like #3, is all. But there's only so much that makes sense to do to Elkarte as it is.

I tend to prefer the approach "first build it and then improve it". Because it allows to create little pieces at a time, and in this kind of environment (where you are never sure when you have time to work on something, or what others may or may not do) to me this seems a better approach (of course it's just my opinion and I tend to do the opposite, messing a lot with code at a time and then launch the :bomb: :lollipop: :angel: ).

I'd have to agree with @emanuele45 in the first build it and then improve it approach.
It gets this particular feature out ASAP and when that's done, you can shift to adding #3 as the desired feature.
I'm eager to see this happen as this'll also be perfect for my company's forums. >_>

Well, I've just put in a pull request for the #2 implementation. The bounce detection function is still a stub and there's no notification left, but it should be good enough for testing.

@Targren I lost a bit track here
If I'm not completely wrong, it lacks "just" the /** Add non-header-based detection **/ right?

I guess the way to test it is set up a board, setup and SMTP email address, add a fake user with a wrong email and send a PM. Am I right?

basically yes ... enable the PBE functions including reply to PM's ... Send a PM (or post if you want), it should send it to the user, who's email is "bad" ... bad as in wrong, mailbox full, or other.  The bounce should be returned to the PBE handle when it arrives and be processed as a bounce.

Some potential gotchas:

Hotmail can have two different bounce notifications. One of these means that they dun goofed, and the user's e-mail is still accessible but that specific e-mail just didn't make it. Irritating.

Yahoo, also, is fond of doing its own thing.

If we build a testing apparatus for this, I can drop some of the bounce notices I've gotten for Elliquiy into this. When I get my test forum going though I'll also be instructing users to test with a wide variety of service providers though.

So, if I got it right, from the "database-side" there is nothing to add, right?

Want to run through a few bounce tests before making that definitive.

Okay, do you have a time frame? (One week, one month, more.)
Just to have an idea how to plan the release of the beta.
I was kind of hoping first half of April (apart from that one, the only thing that bothers me a bit is the upgrade, the rest is either somehow trivial or can be pushed to B2).

A week and change at most, it's not a big thing to test, I just want to make sure it works for major providers.

Cool! :D

I guess the structure is there and should work, if there are bugs we will deal with them...


Step needs to have a T icon, to paste the "Format String Expression"

Lab Name: Create calculation groups
Task: Create the Time Intelligence calculation group
Step: 14
Issue Type: non-blocking
Description of issue : Please can we ensure that the expression for "Format String Expression" property provides a T icon in lab later, so it can be copied over easily by clicking.

Hi @strugdt! We just enabled copy+paste from outside the VM (eg. the instructions) to inside the VM. Hopefully this also solves for the issue.


Subsampling pipeline

Hi @optimass, thank you for your interesting work.
Just to clarify the sizes. For e.g. python er_main.py --method mir_replay --dataset split_cifar10 --mem_size 20 --subsample 50 --samples_per_task -1 --n_runs 5 --disc_iters 1 --suffix 'ER_MIR' this seems to be the flow:

Total buffer size: 20 * 10 classes = 200 samples (line)
Randomly sample 50 from the 200, from classes other than the current batch's 2 classes (line)
For MIR: get top buffer_batch_size=10 from the 50 samples, using MIR metric to rank (line). For plain ER: randomly get 10 from the 50.

Is this correct?
What is the purpose of sub-sampling 50 as opposed to ranking the top 10 from the full 200?

that looks correct. @eugenium can you validate?
the purpose of the subsampling is to give the user control over the computations required for the replays.

I suppose if you don't want to run the entire buffer through the network, subsampling will save on computation costs. I see. Though, would probably expect training without sub-sampling to give the best performance?
You showed that multiple iterations improves performance. I wonder if this is because it increases the effective sampling coverage of the whole buffer, since you sample afresh in each repeated iteration.

Yes the calculations look correct.
About subsampling, it is not only for computational complexity, it's important to enocurage sample diversity as otherwise the same set of samples might be picked too often. I guess one could also use a diversity criteria for this but we found this way is the cleanest and addresses the issues with computational complexity for larger buffer
About mutliple iterations. It also helps in the case when sampling from the buffer is fixed after iteration 1, so it is not completely due to coverage, but it may be a factor

I see, thank you.


 Please input the functionality of the changes you are pushing in the commit messages. I should be able to ascertain what features are being developed from these messages.

Of course, sorry about that!
We'll try to be more concise and consistent with the commits and changes we make. We were just messing around :'D


Support new emacs built-in font face: mode-line-active

What did you expect to happen?
Emacs master added a new modeline face, mode-line-active, in this commit two weeks ago: https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=3f843b25dc96867043feebb1d928bde4a7a777a3
When using doom-themes, they should modify this face as appropriate.
What actually happened?
As is, mode-line-active inherits from the default variable-pitch face and doom-themes don't touch it. This results in a different, unexpected font for the active mode line after upgrading emacs.
Describe your attempts to resolve the issue
I believe it's appropriate for themes to set face mode-line-active to the same thing as mode-line or just modify the inheritance. Not an active theme tweaker so thoughts appreciated. Going to experiment but wanted to get a tracking issue out there.
As a temporary workaround I've just grabbed the face settings from mode-line and thrown them into a custom-set-faces in my personal config:
(custom-set-faces `(mode-line-active ((t (:background "#68217A" :foreground "#f4f4f4" :box (:line-width 4 :color "#68217A"))))))

This gets me fixed visually while waiting for theme support.
Steps to reproduce

Install a version of emacs at least as recent as https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=3f843b25dc96867043feebb1d928bde4a7a777a3
Apply a theme such as (load-theme 'doom-dark+ t)
M-x describe-face on faces mode-line, mode-line-inactive, and mode-line-active.
Observe that only the former two are modified. Specifically mode-line-active retains its inheritance of variable-pitch while mode-line and mode-line-active do not. This results in a visually different font.

Package commit
96edc0ceb864b7d72218e58c8e9272cd96e5712c
System Information

NixOS
GNU Emacs from source using the pgtk branch and nativeComp enabled, built from https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ea8bb59c1b393e57046fec698fbb498f08bc70cc

Here's a general purpose workaround that just tweaks the inheritance. Should work for anyone seeing the same change to variable pitch.
(set-face-attribute 'mode-line-active nil :inherit 'mode-line)

This issue should now be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!

Late shout back that it works great here! Cheers!


bugfix: UserAccessFilter filter openapi request

Coverage decreased (-0.03%) to 45.81% when pulling 57c7264cd75f96d5a9b584968bfe6ed9cfef8910 on lepdou:bugfix_openapi3 into 26b44e2f522366aa9e4e20d0e5a1058f7e031875 on ctripcorp:master.


testers.hasPkgConfigModules: Shorten derivation name

Overly long names are annoying, and grab attention that these tests usually don't need.
Keep it short and sweet.
This changes a behavior introduced in af60e68744fc34d61766d1bf0b58fc0cc6aa11de. I don't think anything depends on it.
cc @sternenseemann

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@ofborg build tests.testers.hasPkgConfigModules


Fix the incorrect string limit when declaring NVARCHAR(Max)

Description
Previously, the limit on the max length of NVARCHAR(Max) was 4000, longer characters will be truncated. But NVARCHAR(MAX) should be capable of handling strings far longer than 4,000 characters. This pr change the limit to default INT_MAX rather than 4000 to fix this issue, and add test cases to verify.
The issue is the typemod for nvarchar(max) in AS JSON queries is set as 4000, which limits the query length, the solution is to remove the code setting 4000 and recover typemod from TSQLMaxTypmod to -1 in tds client.
Issues Resolved
BABEL-5054
Test Scenarios Covered

Use case based ✅

Boundary conditions - ✅

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

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

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 74.815%

Totals

Change from base Build<PHONE_NUMBER>7:
0.001%

Covered Lines:
46470

Relevant Lines:
62113

💛  - Coveralls


Allow hooks registration

Closing because this is an old PR and the universe (main) has changed to something completely different. :-)


fix: transform vars error

fix: MatchingRules wrong  unequal value
fix: transform vars error

#341

you can add an action name like fix or close, then the related issue will be closed automatically after your PR was merged.
fix #341


RUM-391 use networkInfoEnabled to serialize or not network info in spans

What does this PR do?
Use the networkInfoEnabled to decide whether network info should be serialized or not in spans
Motivation
This is part of several PRs to allow enabling/disabling attaching network info in spans collected in an Android app

Codecov Report

Merging #1637 (5e1acb3) into xgouchet/RUM-391/1_trace_network_info (6771c8b) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@                            Coverage Diff                            @@
##           xgouchet/RUM-391/1_trace_network_info    #1637      +/-   ##
=========================================================================
+ Coverage                                  83.68%   83.75%   +0.07%
=========================================================================
  Files                                        456      456
  Lines                                      15715    15720       +5
  Branches                                    2338     2339       +1
=========================================================================
+ Hits                                       13150    13165      +15
+ Misses                                      1940     1929      -11
- Partials                                     625      626       +1

Files Changed
Coverage Δ

...src/main/kotlin/com/datadog/android/trace/Trace.kt
85.71% <100.00%> (+2.38%)
:arrow_up:

...m/datadog/android/trace/internal/TracingFeature.kt
91.67% <100.00%> (+0.36%)
:arrow_up:

...datadog/android/trace/internal/data/TraceWriter.kt
92.31% <100.00%> (ø)

...e/internal/domain/event/DdSpanToSpanEventMapper.kt
96.08% <100.00%> (-3.92%)
:arrow_down:

... and 19 files with indirect coverage changes


add client side filtering recipe

cc @antje-s @6a6d74 @golfvert, as discussed at ET-W2IT 2024-11-11.

Thanks for the feedback @antje-s @amilan17.  PR updated.


ia json restructuring

Pull Request Overview

Restructure IA Json so that the _identifiers data is in blocks
Change calling code so that it knows only which block(s) it is to use, not the individual fields that it needs to remove

/rebase

/rebase

/rebase

/rebase

@drewblount What to you think would be the best place to make a note of these required changes? I'm of a mind to approve and merge this in the meantime.


fix: vulnerabilities by running 'npm audit fix'

title^^^

Codecov Report

Merging #8657 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8657   +/-   ##
=======================================
  Coverage   65.76%   65.76%
=======================================
  Files         482      482
  Lines       23824    23824
  Branches     2594     2594
=======================================
  Hits        15667    15667
  Misses       7984     7984
  Partials      173      173

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 acf0753...a823b71. Read the comment docs.


Searching in content of notes

Added in https://github.com/redsolver/notable-mobile/commit/f23263824545c4afcec8b13c4fbc6420a24f15e7