[Bug] Secure/HTTPOnly cookies untestable

First check

[x] I added a very descriptive title to this issue. (I think?)
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to one of:

Implement a Pull Request for a confirmed bug.

What?
When testing a FastAPI application with normal cookies, everything works as intended. When setting secure=True, it breaks tests. The TestClient request context seems to lose information about cookies given to it via response, which breaks tests that depend on the cookie being resubmitted to the application.
Example
I've produced a small repository with this reproducible issue: https://github.com/kevr/fastapi-secure-cookie-bug
Route that causes the issue: https://github.com/kevr/fastapi-secure-cookie-bug/blob/secure_cookie_bug/secure_app/app.py#L13
Test that tests and fails: https://github.com/kevr/fastapi-secure-cookie-bug/blob/secure_cookie_bug/test/test_app.py#L8
$ pytest test
# test_secure_cookie fails.

# Load up uvicorn on another shell.
$ uvicorn --reload secure_app.app:app

# Use our app server over http localhost.
$ curl -v 'http://localhost:8000' # Gives `set-cookie`.
$ curl -b test_cookie=TEST -v 'http://localhost:8000' # Provides a `test_cookie` to the app.

Additional Comments
Am I approaching this the wrong way? I'm not sure if this is actually a bug or a "bug due to lack of understanding."

I wouldn't say this is a bug, IMO this is completely expected: the Secure flag on a cookie means it should only be sent through HTTPS (https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies). That's a security mechanism to prevent browsers sending a sensitive cookie (like an authentication token) through unsafe connection.
The TestClient is based on the requests library, the popular Python HTTP client, which makes sure to follow this convention. Actually, it seems to use the standard http.cookiejar library under the hood. You can see the relevant code here: https://github.com/python/cpython/blob/4844abdd700120120fc76c29d911bcb547700baf/Lib/http/cookiejar.py#L1127-L1131

I wouldn't say this is a bug, IMO this is completely expected: the Secure flag on a cookie means it should only be sent through HTTPS (https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies). That's a security mechanism to prevent browsers sending a sensitive cookie (like an authentication token) through unsafe connection.
The TestClient is based on the requests library, the popular Python HTTP client, which makes sure to follow this convention. Actually, it seems to use the standard http.cookiejar library under the hood. You can see the relevant code here: https://github.com/python/cpython/blob/4844abdd700120120fc76c29d911bcb547700baf/Lib/http/cookiejar.py#L1127-L1131
To circumvent this, what I do in my projects is to have an environment/configuration variable to set the Secure flag: False in local and during testing; True in production.

I would call it a bug. As far as I know, TestClient is an object used to setup tests for your FastAPI application. A FastAPI application which serves out HTTP routes. Not being able to test this case and check to see that everything behaved as expected is quite a drawback and removes the ability for us to actually test that feature does what we want from an HTTP perspective.

I think there are two things there:

Testing that the cookie has been set with the right properties
Testing that the cookie is correctly read

Testing that the cookie is passed or not following the flag is not of your concern; it's the one of the client (whether it is a browser or an HTTP client).
Testing that the cookie has been set with the right properties
You can test that the server correctly sets your cookie with the right properties by looking at its attributes in the response (response.cookies is a CookieJar).
app.py
@app.get("/set-cookie")
def set_cookie(response: Response):
  response.set_cookie("test_cookie", "foobar", secure=True, httponly=True)

test_app.py
def test_set_cookie():
  with TestClient(app=app) as test_client:
    response = test_client.get("/set-cookie")

    test_cookie = next(cookie for cookie in response.cookies if cookie.name == "test_cookie")
    assert test_cookie.secure
    assert test_cookie.has_nonstandard_attr("HttpOnly")
    assert test_cookie.value == "foobar"

Testing that the cookie is correctly read
Since you are making the request, it's your responsibility to pass the cookie value or not depending on the case you want to test.
app.py
@app.get("/read-cookie")
def read_cookie(test_cookie: str = Cookie(...)):
  return {"test_cookie": test_cookie}

test_app.py
def test_read_cookie():
  with TestClient(app=app) as test_client:
    response = test_client.get("/read-cookie", cookies={"test_cookie": "foobar"})

    assert response.json() == {"test_cookie": "foobar"}

Full example: https://replit.com/@frankie567/fastapi-testclient-secure-cookies

After looking through the code-base, I completely understand why this may be a no-go. The FastAPI application (or starlette) doesn't really concern itself with https-specific things at all, and the majority of the framework is hardcoded to work over websocket or http, which can then be proxied to via web servers like nginx.
Modifying all of that just to cover this case is a bit overkill, and would not really be useful to the majority of the code-base.
That being said, I'll definitely just workaround the issue by testing secure cookies specifically to ensure that the flag triggers the correct cookie values (like you have done here in your example test).
I wonder, are you guys open to any additions to documentation? I'd like to possibly specify this and why it's the case, and how to work around it somewhere, if that kind of contribution is welcome. Please let me know.


Library source does not match the bytecode for class in 3.0.0

I was looking at 3.0.0 code when IntelliJ showed a warning that:

Library source does not match the bytecode for class EnableEncryptablePropertiesConfiguration

This is a bit concerning since jasypt is responsible for encrypting app secrets.

 EnableEncryptablePropertiesConfiguration is a jasypt-spring-boot class, not a jasypt one.


Introduction to plain language: remove March 21 course

The page lists all offerings of the course through the end of June. This issue is to remove the March 21 course once it has taken place.

March 21 course removed from the site.


Truncate query request time in metadata

Currently the query metadata reports a query request time in ms with a large number of decimal places such as:
Request execution time (ms) |<PHONE_NUMBER>125

Given the resolution of statement execution and network delays, etc, not sure that number of decimals points does anything but make the results harder to read :)
Would suggest we truncate it down to a reasonable number or round it to the closest ms?

Thank you for the suggestion @jklap ! This has been implemented, metrics are now rounded to the nearest hundredth of a ms.


Doesn't describe a migration

This article doesn't describe how to migrate anything. Migration of 'Identity' implies migration of data, but this article doesn't discuss that at all.
There's a package AspNetCoreCompat intended to help with that, but no documentation for it. https://github.com/aspnet/Identity/issues/2043
Some information about how to migrate the schema would be very useful. There is a similar article for Membership > Identity which contains SQL but this article has none.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: db6772c4-1017-5e86-8045-8849b5dd1ad7
Version Independent ID: bcb8d6b2-f38a-ac10-d3f2-69d4223bfd72
Content: Migrate Authentication and Identity to ASP.NET Core
Content Source: aspnetcore/migration/identity.md
Product: aspnet-core
GitHub Login: @ardalis
Microsoft Alias: riande

You're right it doesn't have any migration of data. What about Migrate from ASP.NET Membership authentication to ASP.NET Core 2.0 Identity that you mentioned?

If you don't want to ask users for resetting their passwords, but want to gradually update password hashes to the new algorithm as they authenticate, I posted what I did in this Stack Overflow question.
However If you can ask for password resetting, that's better I think.

@DanJ210 you need to Scaffold Identity. It's now a RCL.

@HaoK  this issue is correct, the article vaguely shows how to migrate the UI to ASP.NET Core 1.x.
I think a better approach is to replace this doc with a new one:

How to migrate  Identity users data from MVC5 to ASP.NET Core. Recommend require new PW approach.
Create a new MVC app with Identity, scaffold Identity and copy the Identity code to your migration app.

This topic is low traffic, less than 4K user/month, but it's like 4K important users.
@mkArtakMSFT  please set priority.


Update links to new server

Update the links on external sites:

[x] Digital Accessibility Toolkit
[X] README

Links changed.


No tf transform between map and my own odom

Hi, I am a new to cartographer and i have read different issues but still can't determine what caused it.
I am using ros-melodic and install the cartographer by sudo apt-get install ros-melodic-carotgrapher_ros.
And i have a 3D lidar ,imu on a real robot.
Now,I wrote the odometer file and broadcast the TF tree between base_link and odom.The frame_id of my lidar is laser_link,the frame_id of my imu is imu_link,and odom's frame_id is odom.
I modified the demo_ backpack_ 3d.launch,backpack_3d.launch and backpack_3d.lua as shown below.
issue.zip
This is my tf_tree.

After rosrun tf static_tf_tranform 0 0 0 0 0 0 world map 100

At the same time ,when i roslaunch demo_backpack_3d.launch ,it seems to have a variety of situations.
A situation

Another situation（According to the current configuration, this situation occurs most）

Rviz shows this，and /scan_mached_point （I don't know what this is, and I don't seem to have posted this topic）shows the radar, but it seems only once，of course, there is no tf between map and Odom

I also tried to set provide_odom_frame = true  ,  use_odometry = false,instead of using my own odom,but there was still no transform(also there is no tf between base_link and odom)
What caused my problem, parameters or something？Or is there any way to build maps only by relying on lidar？Thanks a lot.

Can you record a bag file to provide testing?

can you record a bag file to provide testing? and the zip file you provided is missing the file "backpack_3d.launch"

I use rosbag rocord -a and rocord about 30s.I'm not sure if it meets your needs. If you have any questions, please continue to contact me
https://github.com/Rikyuugo/issuebag.git

File cannot be opened

imu topic does not look good, I think you need to confirm your hardware

imu topic does not look good
It should look like this under normal conditions.
I use 2d slam and disable imu data, the map looks good

Thanks a lot.I will try to build 2D map and confirm IMU. Can you share your configuration？

imu topic does not look good
It should look like this under normal conditions.
I use 2d slam and disable imu data, the map looks good

I tried 2D mapping and succeeded.It seems that it is indeed the problem of IMU. Thank you very much.close


Add azure pipelines plugin

This should allow us to use the dedicated test runner UI
See: https://github.com/tonybaloney/pytest-azurepipelines

Doesn’t seem to be well maintained, too bad!


Waypoint: Override Class Declarations by Styling ID Attributes - an opinion

I understand the principle you are trying to teach here.  But have a dispute with the choice of nomenclature for the id.
It is inappropriate to use an id that is "style specific".  This challenge would be more 'real world' (and not teach poor habits) if the name for the h1 element was something like "main-heading" or "primary-header".  It should be contextual and not stylistic.

Our overriding concerns are pedagogical in nature.  We need to teach true novices how these operators work and interact and that is simplified by having simple descriptive names.
Thank you and happy coding!


Bumped to latest dotenv

@types/dotenv removed since dotenv now includes its own type definitions

Copying my comment over from the other pr so it doesnt get lost, https://github.com/imodeljs/imodeljs/pull/1964#issuecomment-892012738
Might i add we look into using dotenv-flow?
We could then commit default env vars to the .env and track in vcs, and then just override accordingly in a .env.*.local file.
I know dotenv recommend not commit .env files but dotenv-flow suggest otherwise, and this is the approach taken by main big names, like react-scripts and others.
I guess if we wanted to pick this up, we could do it in this pr or another.

@aruniverse it has pretty low usage compared to the other two packages. I guess only people using react-scripts would be using it?
I'd want to do it in a separate PR as well.

@mergifyio update

@Mergifyio update


Add primary flag to Output struct

The primary flag indicates whether the output is currently considered
the primary output by the X server.

Thank you! It looks like it was accidentally missing from i3's ipc documentation.


Small typo fixes

@tnewman Hello Thomas, thank you so much for your Ansible examples for Kazoo. They've really helped me understand how to put Kazoo cluster together. I noticed a small typo while following along. Hope it's okay to send a PR.

@nojonono, I am super excited that my project helped you! Let me take a look at this.

Thanks for catching this. I had to read this over a few times to notice the typo :)


OVS-WITH-P4: Action Selector feature enablement.

This review implements action selector feature, where user can program
ActionProfileMember, ActionProfileGroup enabled p4 tables via ovs-p4ctl grpc
client. P4-OVS enables action_profile_manager for programming target device
with action selector configurations.
Below are the CLI's that are provided to user for configuring members and
groups.
add-action-profile-member SWITCH TABLE FLOW adds member reference
delete-action-profile-member SWITCH TABLE FLOW delete member
add-action-profile-group SWITCH TABLE FLOW adds group reference
modify-action-profile-group SWITCH TABLE FLOW modify group
delete-action-profile-group SWITCH TABLE FLOW delete group
get-action-profile-member SWITCH TABLE FLOW print member entries
get-action-profile-group SWITCH TABLE FLOW print group entries
Implementation is based on p4runtime.proto and P4Runtime-Spec.
Change-type: FeatureImplementation
Title: OVS-WITH-P4: Action Selector Feature enablement.
Signed-off-by: n-sandeep<EMAIL_ADDRESS>

https://cbjenkins-fm.devtools.intel.com/teams-nex-epgsw-ipdkci/job/nex-epgsw-ipdkci/job/GitHub_MultiBranch_Pipelines/job/ovs/job/PR-22/ Result:SUCCESS JenkinsConsole:https://s3.ipdk.io/nex-epgsw-ipdkci/GitHub_MultiBranch_Pipelines/ovs/PR-22-4/index.html GitCommit:https://github.com/ipdk-io/ovs/commits/c6352ae72f362572156ef2d8af273f7e4caa7905


go/ast: the position of "range" keyword is lost during parsing

Although the AST does not record the entire concrete syntax, it does record most of the important tokens.  The position of the "range" token can't be reliably reconstructed from an ast.RangeStmt, and I need to use it to indicate the location of an implicit channel receive operation.  I propose to add a 'Range token.Pos' field to ast.RangeStmt and set it in the parser.

Closing per discussion on CL 17770. (Suggestion is to use RangeStmt.X.Pos() or if X==nil then RangeStmt.Body.Lbrace, and work backward from there.)


Attempt to run Julia (nightly) again for coverage numbers

This PR attempts to close #79 by rerunning Julia nightlies to generate coverage data.
It all seems to work, except that Coverage fails with an inscrutable error:
Coverage.MallocInfo[]
src/algorithms.jl
src/cie_data.jl
src/Color.jl
src/colormaps.jl
src/colormatch.jl
src/colorspaces.jl
src/conversions.jl
src/differences.jl
src/display.jl
src/maps_data.jl
src/names_data.jl
src/parse.jl
src/utilities.jl
ERROR: cfunction: return type of write does not match
 in associate_stream at /home/travis/.julia/v0.4/GnuTLS/src/GnuTLS.jl:299
 in open_stream at /home/travis/.julia/v0.4/Requests/src/Requests.jl:219
 in send_multipart at /home/travis/.julia/v0.4/Requests/src/Requests.jl:515
 in do_request at /home/travis/.julia/v0.4/Requests/src/Requests.jl:562
 in post at /home/travis/.julia/v0.4/Requests/src/Requests.jl:579
 in submit at /home/travis/.julia/v0.4/Coverage/src/Coverage.jl:217
 in process_options at ./client.jl:241
 in _start at ./client.jl:403

I'm not sure what could have changed in the past 4 days between build #116 and build #115 to cause this. And then there's build #118 where printing out the environment apparently circumvents this error. Any ideas @IainNZ ?

Coverage increased (+48.67%) to 48.67% when pulling 9715add6e3e4bd8c5f2558779945ef8290a81c79 on cjh/fix-79 into 092991f540a7bc0817319e96f0d079b12e87c0fc on master.

Coverage increased (+48.67%) to 48.67% when pulling 9715add6e3e4bd8c5f2558779945ef8290a81c79 on cjh/fix-79 into 092991f540a7bc0817319e96f0d079b12e87c0fc on master.

That looks like the issue fixed by this https://github.com/JuliaWeb/GnuTLS.jl/pull/38 that was tagged here https://github.com/JuliaLang/METADATA.jl/pull/2178

Inscrutable


OpenWhisk running on CloudFoundry

Greetings,
Currently OpenWhisk requires an Ubuntu Virtual Machine with Docker to get installed and running.
Is there any interest/efforts in getting it running in CloudFoundry's docker support?
CloudFoundry seems to support Docker (atleast 'docker build' and 'docker run' from the CF cli).
Is that support sufficient to get OpenWhisk running on CloudFoundry?
Any Ideas/Opinions on that from experts?
Thanks
pj

I have few experience on CloudFoundry, and didn`t try to run OW on it.
But I have experience on running OW with Swarm.
You may refer to it.
Since CloudFoundry is PaaS, I guess it might provide docker in a similar way with Swarm.
In Swarm, it provides a single docker endpoint which accepts docker run request.
It will deploy a container on one of(few of) its agent machines.
Scheduling is managed by swarm manager.
So user can only care about a single docker endpoint to run container on docker cluster.
But in OpenWhisk, it is deployed via ansible which requires ssh access to host machine.
And Openwhisk Invoker communicates with local docker engine.
It requires docker unix socket as well as volume mapping of docker RootDir.
To find out the RootDir of docker, it uses docker remote api.
(Docker remote api is used in other parts also)
To sum up,

SSH access on docker host
Remote docker api should be enabled.
Access on host(volume mapping of docker RootDir)

There could be more things to consider, but in my case(Swarm), it was working with those things.
I am not sure these are allowed in CloudFoundry.
I hope it helps you.
And for the next time, you may want to join slack or subscribe mailing list<EMAIL_ADDRESS>

Another path could be deploying openwhisk on Bosh (if your considering on premise cloudfoundry, you have bosh director).
There is already : a docker bosh release wich could be leveraged, with swarm support.
https://github.com/cloudfoundry-community/docker-boshrelease

I agree the appropriate integration here isn't wouldn't be to run OpenWhisk on top of Cloud Foundry, but to use the BOSH deployment tool (closely associated with Cloud Foundry, but also able to deploy other things, like Kubernetes via Kubo) as an option to deploy and manage OpenWhisk.


External sites

Make it possible to show external sites. For example the audio-controller site of another building.
Actions:

add external sites (urls) to settings
show extra menu-item, for each external site
show iframe with external site content on click of menu item

This functionality was added, but also removed again, because it is not a good solution for showing another audio controller site. Cookies do not work properly inside iframes. It is not a secure solution.


[Model Compression] Pruning Scheduler

depend on pr #4074

@J-shang , looks good, better to add necessary tests

@J-shang , looks good, better to add necessary tests

ut will add in another pr #4125.

@J-shang , please add tests for pruning scheduler, maybe in the next pr if you like


⚠ Melody Beta has degraded performance

In 77a3868, Melody Beta (https://canary.melody.api.triza.dev) experienced degraded performance:

HTTP code: 200
Response time: 1368 ms

Resolved: Melody Beta performance has improved in 832c6b2.


Upgrade to Java8

Issue #702

NetflixOSS » Hystrix » Hystrix-pull-requests #429 FAILURE
Looks like there's a problem with this pull request

NetflixOSS » Hystrix » Hystrix-pull-requests #430 SUCCESS
This pull request looks good

NetflixOSS » Hystrix » Hystrix-pull-requests #432 FAILURE
Looks like there's a problem with this pull request

NetflixOSS » Hystrix » Hystrix-pull-requests #433 SUCCESS
This pull request looks good


Examples builder

We plan to add an examples builder which would take a sequence of things (e.g. pydantic models, dataclasses, dicts etc.) and serialize them.
Usage would be something like
from pydantic_ai import format_examples

@agent.system_prompt
def foobar():
    return f'the examples are:\n{format_examples(examples, dialect='xml')}'

The suggest is that LLMs find it particularly easy to read XML, so we'll offer (among other formats) XML as way to format the examples.
By default, should it use
"""
<example>
  <input>
    show me values greater than 5
  </input>
  <sql>
    SELECT * FROM table WHERE value > 5
  </sql>
</example>
...
"""

or
"""
<example input="show me values greater than 5" sql="SELECT * FROM table WHERE value > 5" />
...
"""

?

im 99% sure is the first one

When you ask Claw to generate new meeting notes, this is basically what it will do: very, very simple XML.

Hi @samuelcolvin
I would like to work on this as it is a good first issue.

On a related note then I often want to use a pydantic object as input to an llm. This involves converting the pydantic object to a string representation that is easy to read for the llm. Having a llm_str method would be really handy. That way it is easy to get a pydantic object as output from an llm call using Instructor or PydanticAI and then you can pass that pydantic object to another llm function and call llm_str, for instance.
Something along those lines have been implemented here: https://github.com/AnswerDotAI/toolslm
Following anthropic documentation and prompt generator then it seems the llms prefer a very simple form of xml. Currently i use the following method:
def llm_str(self) -> str:
    root_tag = self.__class__.__name__
    lines = [f"<{root_tag}>"]

    for field_name, field in self.model_fields.items():
        value = getattr(self, field_name)
        if isinstance(value, BaseModel):
            lines.append(value.to_xml())
        elif isinstance(value, list):
            lines.append(f"<{field_name}>")
            for item in value:
                if isinstance(item, BaseModel):
                    lines.append(item.to_xml())
                else:
                    lines.append(f"- {item}")
            lines.append(f"</{field_name}>")
        else:
            lines.append(f"{field_name}: {value}")
    lines.append(f"</{root_tag}>")
    return "\n".join(lines)

But you could also have a general pydantic to xml converter. Something like this:
def pydantic_obj_to_xml_repr(obj: BaseModel, tag_name: str = None) -> str:
    if tag_name is None:
        tag_name = obj.__class__.__name__.lower()

    def to_element(o: BaseModel, name: str) -> etree._Element:
        e = etree.Element(name)
        for field_name in o.model_fields:
            value = getattr(o, field_name)
            if isinstance(value, BaseModel):
                e.append(to_element(value, field_name))
            elif isinstance(value, list):
                sub = etree.SubElement(e, field_name)
                for item in value:
                    if isinstance(item, BaseModel):
                        sub.append(to_element(item, "item"))
                    else:
                        item_el = etree.SubElement(sub, "item")
                        item_el.text = str(item)
            elif isinstance(value, dict):
                sub = etree.SubElement(e, field_name)
                for k, v in value.items():
                    if isinstance(v, BaseModel):
                        sub.append(to_element(v, k))
                    else:
                        kv_el = etree.SubElement(sub, k)
                        kv_el.text = str(v)
            else:
                sub = etree.SubElement(e, field_name)
                if value is not None:
                    sub.text = str(value)
        return e

    root = to_element(obj, tag_name)
    return etree.tostring(root, pretty_print=True, encoding="unicode")


Typo in Documentation

Problem: Spacing issue in the following documentation:
https://docs.microsoft.com/en-us/powershell/scripting/dsc/resources/resources?view=powershell-7.1
In the 'Types of Resources' section, there is a missing space between words.

What is does say
"Windows comes with built in resources and Linux has OS specific resources. There are resources for cross-node dependencies, package management resources, as well ascommunity owned and maintained resources. You can use the above steps to determine the syntax of these resources and how to use them. The pages that serve these resources have been archived under Reference."

What it should say
"Windows comes with built in resources and Linux has OS specific resources. There are resources for cross-node dependencies, package management resources, as well as community owned and maintained resources. You can use the above steps to determine the syntax of these resources and how to use them. The pages that serve these resources have been archived under Reference."

@sdwheeler Maybe you have access to this file or know who does to fix the spacing issue.

@sdwheeler Maybe you have access to this file or know who does to fix the spacing issue.

Copied issue to https://github.com/MicrosoftDocs/PowerShell-Docs/issues/7164.
#please-close

Copied issue to https://github.com/MicrosoftDocs/PowerShell-Docs/issues/7164.
#please-close


adding default config and stats

Pull Request Test Coverage Report for Build 469

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
28 unchanged lines in 14 files lost coverage.
Overall coverage increased (+0.01%) to 83.683%

Files with Coverage Reduction
New Missed Lines
%

datmo/snapshot.py
1
84.06%

datmo/cli/command/base.py
1
93.02%

datmo/cli/driver/helper.py
2
60.81%

datmo/cli/command/snapshot.py
2
100.0%

datmo/cli/command/datmo_command.py
2
100.0%

datmo/core/controller/file/driver/local.py
2
91.67%

datmo/core/controller/environment/driver/dockerenv.py
2
87.54%

datmo/core/util/i18n.py
2
100.0%

datmo/core/util/json_store.py
2
82.35%

datmo/core/util/misc_functions.py
2
71.13%

Totals

Change from base Build 466:
0.01%

Covered Lines:
2590

Relevant Lines:
3095

💛  - Coveralls

new tests are passing, merging to master


MSI package

Exists a MSI package to install it on Windows?
I know I could clone, install dependencies, compile... But I am asking for an easier way to use your software without all that hassle...

I just did builds for GNU/Linux and Windows for testing, I could make a release of this repo.

It would be great.

check this release, include a zip with .exe https://github.com/kurai021/MDWriter/releases/tag/v16.03.3

Thanks!


Add HP bars

This PR adds hp bars to the card, addresses https://github.com/pongstylin/tactics/issues/25

I love that you're using a 2d canvas to achieve gradients.  That demonstrates skill and a drive to artistic perfection.  I haven't yet had a chance to exercise the code and see the effect, but will before I approve this.  In the meantime, I did review the code.  I have two questions:

I see that you are drawing the health bar and creating the canvas in the unit object.  This implies that there is one canvas created (and cached) per unit.  Why did you place the code in the Unit class instead of the Board class?
I don't see you using a mask anywhere.  I assumed a mask would be necessary to cut our a curved region of the gradient rectangle to achieve the curved-up effect at the start of the health bar.  I would approve a rectangular health bar, but making it curved would be a nice stretch-goal.

FYI: I intend to eventually create an issue for breaking out card management to its own class using ES6 syntax.  The Card class would accept a unit object as input and would, again, only cache one canvas object for the purposes of drawing the health bar.

Hey Dave, thanks for the kind words :)

The canvas object is passed as a reference to PIXI.Texture.fromCanvas. This means that sharing a single canvas objects between the units will result in a single canvas object being shared.
The parallelogram (I had to look that up haha!) is achieved with the lineTo commands. There could be a better way to do this so let me know!

I finally had a chance to look at it.  It looks great, but I have some adjustment requests.  If any of them are too hard or time consuming, let me know and I'll merge your work.

I'm not sure where its from, but I had a different shape in mind for the health bar.  But, you're right.  The shape matches the original.  I have a few tweaks that should give the various card components a little more room to breath:

Raise the title text position slightly (4px?).  I don't intend to ever place wait turns above the title text.
Decrease the height of the health bars slightly.  (1-2px)
Lower the health bar position slightly.  (2-4px)
Try setting strokeThickness to 2 to improve contrast between overlapped text and health bar.  (I found it difficult to read when bar is yellow).
(tricky) Right-align the notice text.  That is, determine how wide it is and position the "x" coordinate such that the right-edge is on or just adjacent to the right-edge of the card.

Looks like you're only caching the canvas on each unit.  It doesn't look like you're caching the entire health bar for each unit (and only update when the health changes).  That's fine (I don't think we need an additional performance optimization), but it does mean there is only one health bar.  So I don't see an issue with changing the health bar for one unit impacting all the units.  Every time we "drawCard", the health bar is drawn from scratch (using one cached shared canvas) for the unit being carded.  Do you think this is a good idea?
When a unit is attacked, I see a dramatic shift from green to yellow.  I'm still studying the right approach for fixing that.  So expect more from me on this unless you have an idea on how to make the transition more smooth.

@pongstylin Sounds good, thanks for the feedback. You're right about the canvas stuff, at least for the cards, we can share one global canvas since there's only one global card. Also it makes sense not to re-draw if the health hasn't changed.
I'll start working on this tonight. Thanks again

@pongstylin Made the changes, let me know what you think. The health bar does indeed look better with the new triple gradient

Yes, this is brilliant work.  Definitely moving in the right direction.  I particularly like how you improved on my instructions by using a yellow-green color and made use of the "anchor" feature for aligning text (I didn't know about this feature).  I'm also quite pleased with the strokeThickness of 2.  The overlap of text and health bar is stylish, perfectly readable, and closely resembles the original game.  But we're not done yet!  I have a few more requests.

There's a bug.  You're using a "7px" font for the notice text.  For one, this is way too small.  For two, it is temporary and only noticeable when you first load the "classic" app and the champion tells you which team goes first.  The reason is because the font size is changed after its initial definition.  The font size may be either 11px or 13px depending on whether the notice represents unit status (e.g. paralyzed) or a temporary notice (e.g. attack chances) respectively.  Now that the notice has a different position, the 13px font size is arguably too large.  Please reconcile all of this in a way that seems attractive/readable to you.
It's a little odd seeing the Champion message offset.  This is because the position of the notice text is fixed to not conflict with the health bar.  But the champion doesn't have a health bar.  Please position the notice text conditionally based on whether it is displaying a "unit" in the card or the champion.  Essentially, all champion notices should be centered like they were before.
The offset notice text could be shifted more to the right.  The card width is 176, but the notice is currently set to 170.  I recommend 174 since I think a slight indent looks good.
Play around with attacking a unit.  Not only will you see your very slick health bar shrink and change in color, but you will see duplicate health numbers decrementing, which doesn't look very good at all.  The board has a "playResults" method that applies the duplicate numeric notice.  Please remove.

@pongstylin comments addressed

Looks good!  I agree with the consistent 11px font size choice.  Since I'm super obsessive about the details, I'm going to tweak on this a little more.  But it isn't significant enough to trouble you over.  Thank you very much for tackling this.  I really wanted to get to this, but I couldn't justify it over the higher priority of getting server-based multiplayer in place.
You are welcome to work on other issues that already exist or create your own.  You can also join us on our discord to discuss potential changes.
https://discord.gg/ASb2pr


chore(dev-deps): Add auto-changelog

It's nice to see at a glance an overview of what's happened and have it kept up to date in CHANGELOG.md, and be able to drill into details easily from there.
I used npm version premajor --preid=pre to get npm to generate the 4.0.0-pre.0 version consistent with prior prereleases in the past.

Links aren't quite right as auto-changelog is not accounting for the original and this fork on GitHub out of the box. Probably would be nice to teach it how do that in future though not a current priority.


Add some headings to repo views

Add role heading level 1 to username/repo title.
Copy behaviour of Releases to some other views.

Contributed by @Forgejo.

Actually I think we need screenshots just to make sure that the h2 change doesn't destroy format

Actually I think we need screenshots just to make sure that the h2 change doesn't destroy format

Uploaded :+1:

Codecov Report

Merging #22869 (e156a9b) into main (00f695d) will increase coverage by 0.07%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main   #22869      +/-   ##
==========================================
+ Coverage   47.26%   47.33%   +0.07%
==========================================
  Files        1112     1113       +1
  Lines      150055   150159     +104
==========================================
+ Hits        70918    71081     +163
+ Misses      70715    70644      -71
- Partials     8422     8434      +12

Impacted Files
Coverage Δ

modules/util/io.go
78.94% <0.00%> (-15.79%)
:arrow_down:

modules/indexer/stats/queue.go
50.00% <0.00%> (-9.10%)
:arrow_down:

modules/git/command.go
84.08% <0.00%> (-2.05%)
:arrow_down:

services/pull/check.go
28.12% <0.00%> (-1.18%)
:arrow_down:

modules/queue/workerpool.go
52.85% <0.00%> (-0.96%)
:arrow_down:

services/pull/pull.go
42.72% <0.00%> (-0.95%)
:arrow_down:

models/issues/review.go
52.17% <0.00%> (-0.57%)
:arrow_down:

routers/api/v1/repo/pull.go
49.55% <0.00%> (-0.17%)
:arrow_down:

modules/queue/queue_bytefifo.go
50.18% <0.00%> (ø)

modules/markup/orgmode/orgmode.go
52.88% <0.00%> (ø)

... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

For the record: I was confused about level in Releases page and I have said "adding H1 to the current page title (as Release page does)" and "The H1 should wrap the Labels|Milestones button in two comments related to this improvement. I have liked to mean H2 and this PR copy that solution from the Release page besides adding the level 1.


improve *nix build experience

Add shell scripts and update execute file permissions to make running on *nix based systems easier.

Closing, we've diverged quite a bit from this branch.


How can I modify the test cases on Defects4j and repair again?

After I ran the command "python script/repair.py jGenProg --benchmark Defects4j --id chart-1",I go to the working_directory and want to modify the test cases in the folder named  jGenProg_Defects4j_chart_1.However,the folder is disappear or being deleted,only the outcome left in "results".So I want to retain the " jGenProg_Defects4j_chart_1"folder and re-run this bug when test are modified,How can I do for it?

Hi @guoweijun137
I am not sure if that is possible. As far I remember, each time RtAll lanches a repair process first it checkout a bug, and at the end it removes the folder where it was removed.

Hello@martinezmatias
Emmm maybe there is a problem with my Nopol deployment since after I ran the command "python script/repair.py Nopol...",the related folder named "Nopol_..." still exists

There is indeed a problem, you have commented the line that removes the folder: https://github.com/program-repair/RepairThemAll/blob/master/script/core/repair_tools/Nopol.py#L111
You can comment the same line for genprog in https://github.com/program-repair/RepairThemAll/blob/master/script/core/repair_tools/Astor.py#L141 if you want to keep the working directory

Appreciate you very much @tdurieux
By the way ,If I want to re-run the program with my modified test cases，should I just need to comment the line in https://github.com/program-repair/RepairThemAll/blob/master/script/core/RepairTool.py#L60#L61

I think if you also remove https://github.com/program-repair/RepairThemAll/blob/master/script/core/RepairTool.py#L65 it should work. You should do some test to be sure but I don't see why it would not work.

What you suggested may also be a good method.I remove https://github.com/program-repair/RepairThemAll/blob/master/script/core/RepairTool.py#61 and add bug.working_directory=bug_path ,finally placing the other related parts of this function in else


git: tags view

[ ] show all local tags
[ ] add tag
[ ] delete tag
[ ] show tags on remote (?)
[ ] push tags to remote

I was thinking about tackling this one today, as I use tags quite a bit in my projects.
I wanted to hear with your first though, do you want it to be handled by the menus entirely, or do you want something more like the status window?
Both have their advantages and disadvantages.

I was thinking something similar to the status view.  I like the way I can interact with stashes in the command view, and I imagine it'd be a similar productivity boost here.  Basically git: tag palette command takes you to the TAGS view.  Does that sound reasonable?

I agree on using a view for this, but I'm still going to implement some quick commands for the menu as well (just like with commit there is quick commit).
I don't mind the work that is required by this, I'm really enjoying Python so far, fantastic language.

:+1:

Closed by #80.


[ADD] Backup / Rename / Reshare services

Back Up Vault
Rename Vault
Reshare Vault

I don't think this need a "service" , it just implementation detail


ibc: add withdrawal timestamp rounding chain rule

this is a consensus-breaking change
Fixes #4064

Updated the chain rule to require rounding to 1 minute, updated pcli to round to 1 hour

@valardragon comments:

Dev, [Mar 21, 2024 at 10:55:18 PM]:
That make sense to me, but I personally wouldn't set a 1hr timeout as the default
I'd recommend 5m-15m, 1 hour is quite long

Changed the pcli default to round to nearest 10 minute, per suggestion


Bump go version to 1.20

Just a regular go version bump to keep us on a supported version.

Codecov Report

Merging #76 (9128f86) into master (9b8e397) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master      #76   +/-   ##
=======================================
  Coverage   73.10%   73.10%
=======================================
  Files           7        7
  Lines         714      714
=======================================
  Hits          522      522
  Misses        162      162
  Partials       30       30


nbgrader update -- force build new version

to force an envt rebuild on docker hub i'm pinning nbgrader to version 0.5.6
https://github.com/earthlab/earth-analytics-python-env/pull/56
however, we will want to unpin this in the future once we have the newest version just to avoid future dep issues.

Closing this


Tags definition and Lexemes matching

Each terminal component, either a reserved keyword or a symbol, was associated with its corresponding tag

This fixes #2


Making a new user without making them an Administrator

I want to give someone access to use my Void instance as a screenshot service with ShareX, however I don't want them to be able to delete my account. How do I accomplish this? The site says that ticking the administrator box is required.

same lol

Try the latest commit f999155 in the dev branch.


force_index_by_date can't work with primary key 'toDate(toDateTime(dt / 1000))'

Describe the bug
force_index_by_date can't work with toDate(toDateTime(dt / 1000))
How to reproduce
the unit of our timestamp is 'millisecond', not 'second', so, when we convert it to datetime, we should
/1000 at first, but this let force_index_by_date can't work.
we opened conf 'force_index_by_date', my MergeTree table set 'PARTITION BY toDate(toDateTime(dt / 1000))', but the query
SELECT count() FROM table1
WHERE toDate(toDateTime(dt / 1000)) = '2019-04-18'
=> DB::Exception: MinMax index by columns (dt) is not used and setting 'force_index_by_date' is set
but
SELECT count()
FROM ks_app_analytics_dev.mwprod_overview_hourly_analysis_realtime_local
WHERE toDateTime(dt) = '2019-04-19 00:00:00'
can work, although wrong result, no exception
may be this is a bug, CH version: 18.14.13

SELECT count() FROM table1
WHERE toDate(toDateTime(dt / toInt32(1000))) = '2019-04-18',
This can work, so, the problem is, CH use the 'biggest' type for input, use 'float' here, not 'int'

MinMax index of partition key is build on columns participating in expression (dt) and not on expression itself (toDate(toDateTime(dt / 1000))).
You can write dt BETWEEN toUInt64(toDateTime(toDate('2019-04-18'))) * 1000 AND toUInt64(toDateTime(toDate('2019-04-19'))) * 1000 - 1


How can I configure logging level?

I want to see some more logs when I run docker logs. I tried to edit corresponding line in  DockerFile to run elastalert with --verbose parameter, but it didn't work.
echo "exec elastalert --verbose --config /opt/config/elastalert_config.yaml \"\$@\"" >> /opt/elastalert/run.sh && \
How can I run elastalert with logging level info or even below?

There is no need to modify the Dockerfile. You can add either --debug or --verbose to the end of the docker run ... command line.    Skipping index creation.
INFO:elastalert:Note: In debug mode, alerts will be logged to console but NOT actually sent.
                To send them but remain verbose, use --verbose instead.
INFO:elastalert:Note: In debug mode, alerts will be logged to console but NOT actually sent.
            To send them but remain verbose, use --verbose instead.
0 rules loaded
INFO:elastalert:Starting up
INFO:elastalert:Disabled rules are: []
INFO:elastalert:Sleeping for 59.999902 seconds

You can further tweak logging output via the logging section in the config.yaml file, if needed.
As this is not an actual issue I'm moving this to the Discussions area.


Plugin for setting the ViewPreferences

TBH, i dont know if it is working or not. I couldnt find any examples to check if the dictionary generation is correct or not.

@Flamenco
@MrRio
Can someone please review it?

@MrRio
I am confused. My plugin doesnt work because I cant use the internal methods. I debugged now an hour but I cant see the error.


Dependencies Table & server side pagination/filter/sort

Add skeleton for the dependencies table. Using this issue to cover the initial server side filter/sort/pagination
Add drawer support for dependencies table. This includes the filter toolbar and the query for the list of affected applications.

Nearly closed by #839, I just need to add the drawer to this page and figure out what columns we can display.

Not sure how important it is right now to make sure these issues are up to date, but it might be reasonable to move the drawer contents part of this to another issue and mark this one resolved. The drawer contents stuff will need to wait until after Issues stuff is done


progged game is leaving leftover audio play processes

play progged one or two times
hang up or finish or whatever
there are still audio play processes running
top or ps -u asterisk should show them
I think the progged process is still running also?
Is this happening to all agi processes? This may be the first one that runs forever until killed, maybe record.agi and others also do this but its just a wait_for_digit thats left over?

I am seeing leftover 'mpg123' procs after making a recording set or two... this seems likely to be an agi issue in general.

if they go away eventually, NBD - I was seeing them change after I hung up, like the AGI file was still running

ah, on a closer look I think I was being tricked by the operator and hold music:
asterisk 13891  0.0  0.3  11980  3052 ?        S    22:32   0:00 mpg123 -q -s --mono -r 8000 -b 2048 -f 4096 operator.mp3
asterisk 13894  0.0  0.0  11980   396 ?        S    22:32   0:00 mpg123 -q -s --mono -r 8000 -b 2048 -f 4096 ipanema.mp3
asterisk 13895  0.0  0.0  11980   396 ?        S    22:32   0:00 mpg123 -q -s --mono -r 8000 -b 2048 -f 4096 operator.mp3


rotbeer lib will detect Magisk is present.

rotbeer lib will detect Magisk is present.
Scenario 1: If Magisk is present and root hide is enabled
Scenario 2: If Magisk is present and root hide is disabled

We just added a Magisk check in Pull Request #66

@madhuCNKony
The Magisk check ,checks the presence of Magisk.
Both your scenarios will give you a positive, regardless whether roothide is enabled/disabled.

@karandpr
Thanks for the info.
I have one more question; Play Store accepts app we submitted to store, if we check the presence of multiple apps present on device?

@madhuCNKony
You will have to add a clause in your privacy policy, that you are checking for root apps using an external library.  Depending on how you implement the app and system , you will have to disclose how you are using the information gathered (if).
If you are not transmitting data , you will have to write that in privacy policy.
Spend some time in defining a privacy policy. It will prevent all future headaches.


Menu doesn't open

Thanks for this, it is a great idea. But the menu doesn't open when the hamburger icon is clicked. Not in your demo either.

There is some problem with content loaded inside Github. jQuery is not being included.
Download the project. It is working. I'll remove the demo inside github domain.

Thanks @natzar you are right. I implemented it with state rather than jQuery and it looks great. Thank you! For anyone else wanting to do that, here's how:
Install and import classnames.
Make the hamburger div look like this:

Set initial state:
  state = {
    hamburgerActive: false
  };

Add this function:
  hamburgerToggle = () => {
    this.setState(prevState => ({
      hamburgerActive: !prevState.hamburgerActive
    }));
  };

Replace the Menu open with this:
      <Menu
        stackable
        pointing
        className={classnames('testing1', {
          open: this.state.hamburgerActive
        })}
      >


Add local database

We need a local database to store the assets list to retrieve them faster each time launching the app.
Also in the future, we need to keep some metadata for each asset (e.g. Sync status with Fula/Box)

dublicated #103


Improved incremental pump history update.

Querying by top record timestamp is sometimes racy because of different
reasons:

some records have the same timestamp such as Bolus and BolusWizard.
some records have timestamps out of order such as DailyTotal records.
Timestamps can also become non monotonically increasing whenn clock
has been changed.

To avoid all these problems, a new argument was added to the pumphistory
command to query from a given record id. The record id is the base64
encoded string of the record.
Note this is not available yet in the latest go pump libaries, so this
change depends on https://github.com/ecc1/medtronic/pull/8

Note, i'm currently running this branch with additional testing code seen here https://github.com/alimhassam/oref0/compare/improvedIncrementalHistory...alimhassam:improvedIncrementalHistoryTesting?expand=1
which is trying to compare the incremental pump history with a full refresh on every loop. I'll try to test and monitor different scerarios, and report back, but let me know any comments meanwhile.

Sorry I wasn't clear. This can't be merged until the corresponding change on ecc1 repo gets merged

If anyone wants to test this pull request which removes the race condition in incremental pump history, it's now available when building go lib from source.

This is now ready to merge

What happens after we merge this if someone just does git pull and doesn't re-run oref0-setup to get the latest medtronic?

It won't work. They'll need to get the latest binary.

It'll also be difficult to work around this. Any suggestions?
Might just be best to merge it and let people know they should re-run oref0-setup? Or oref0-runagain, since this is the dev branch. (Not sure about runagain still working I want to try it out when I get time)
Knowing this, I'll let you decide when you think its the best time to merge this pr.

How exactly will it fail? Will it stop looping until setup/runagain is run? Or something more subtle?

The pumphistory command will fail with an error saying the parameter is not supported, so I'm pretty sure looping will stop.
I'll test it out this evening to confirm and paste the logs.

I rolled back my pumphistory binary & openaps.jq binary to a previous version. What actually happens is that it does a full pump history refresh at every loop, but still works. The reason for this is that the old openaps.jq doesn't produce an id field and so the code automatically falls back to a full history refresh.
I think this is acceptable behaviour, though it would be better if people run oref0-runagain after updating their dev branch to get the the benefits.

Ok, great. I like backwards compatibility.

Looks like there is a merge conflict with valid_pump_settings() - can you resolve that? Is that just a “keep both” thing?

That's right. Done, I kept both change.


Image pasting in Firefox thows error

There is handlePastedFiles callback in DraftEditor. When I paste image in Chrome, everything working fine. But in Firefox i got: TypeError: appendToHead is undefined.
As I know, FF doesn't support pasting images by default.

Thanks for reporting this! A fix was merged and will be released in 0.10.0 - https://github.com/facebook/draft-js/pull/654
We are currently creating and testing the 0.10.0 release; thanks for your patience.


[storage] set max receive message len on gRPC storage server

PR #403 set max receive message len on the gRPC client of the storage
channel. It turns out the gRPC server side needs to be configured as
well to make it work.
Test Plan
Tested locally with a simple gRPC client/server project, will double check on benchmark cluster.
Related PRs
#403

I'm worried about this change if it comes without any extra logging or debugging into whether message sizes increased or some other change (started ~2 weeks ago).
When this error happens (i.e., execution fails to call save), this is a non-recoverable error. We cannot rely on gRPC message limit as our guard from getting into a non-recoverable mode, and have to manage it ourselves. Which starts with understanding the circumstances in which it happens.

I think we might be able to break the request to storage into small chunks. I'll look into that once we finish the current data structure design.

I have more logging for the requests that fail, and increased the buckets for the size histogram to understand what happens between 4MB and Inf.
It repros locally, so I'll do some local testing


Add docker image for clang-10

We recently added a clang-10 compiler image to our dockerhub space: https://hub.docker.com/layers/axom/compilers/clang-10
We should add a corresponding TPL image for this.

@white238 -- I think you said you'd look into this so I assigned it to you.
Apologies if I misremembered, and feel free to remove yourself.


Documentation : Bad information about restartPolicy

Hi,
I read this issue https://github.com/kubernetes/kubernetes/issues/24725, and I found a section in the documentation that explains that there are other possible values for the restartOnly spec (Always, OnFailure, and Never).
Here's the link where I found this information :
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
I haven't seen any other place.
I hope this helps.

@felixleo22 where do you think the bad information is? Pods can indeed have several values for restartPolicy.

Hi @felixleo22 , the first link that u have mentioned about the issue which was related to the deployment. I indeed, deployment does not support restartPolicy Never it only supports Always
And this link, restart-policy having the details about the pod which supports all the below mentioned values.
The Pod "demo" is invalid: spec.restartPolicy: Unsupported value: "onFailure": supported values: "Always", "OnFailure", "Never"

I think, we are good to close this issue.

@felixleo22 I am confused why the issue was closed without a fix to the documentation.

Please.... midnight here preparing ckad exam and uncovering that the documentation is broken.... ahi D:


Table display: rows not aligned

The rows are not aligned. Tested /w latest Firefox, Chrome.

@NejcZdovc can you look into this?

Hi @skipjack, @NejcZdovc,
I'm currently looking into this issues and will love to send a PR if I'm allowed.
Mobile First

Issue: On screen below 400px, the class table-td-content and table-td-title collides/overlaps.
Solution:  Since the parent of both classes is displayed:flex, instead of display:block on both classes, we could simply utilize the flex property on table-td-content, give it a fixed with flex:0 0 150, then progressively adjust the flex-grow to 40%. This will prevent them from ever overlapping, even on a screen below 320px, at the same time shrink/grow as needed.
Desktop
The major course of the dis-aligned table appears to be the  element inside each table-td-content. Since the <code> is rightly styled white-space:nowrap, it forces the table-td-content to grow beyond its width.
To fix this, we must first turn off the flex property, then, give all table-td-content fixed width. Then set the overflow-x to auto. This is the image of how it looks like after edit.

Note we can further customize the scroll-bar for chrome users :stuck_out_tongue_winking_eye:

@Dajust I am already working on some fixes, so let me finish it first and let's talk afterwords.


StorageFile.GetThumbnailAsync (overload 3): Updated link

The PR fixes the link to the thumbnail mode guidance.

Thanks for your contribution!


MudStepper: Fix some bugs and improve documentation

Description
Follow-up to PRs #9911, #9925 and #9931
This PR fixes the following issues in MudStepper

[x] Stepper should jump over disabled steps
[x] Add a navigation control example
[x] Fix bug: dynamically added steps not immediately rendered
[x] Hide skip button if step is not skippable
[x] Allow to configure action button icons
[x] Separate the next and complete action buttons (even though both call the same API). But they are styled differently (text and icon) and shown under mutually exclusive circumstances.

To see all issues catalogged for MudStepper see #9928
Docs changes:
Less boring/repetitive second example

Customization example has better action buttons now

New controlled navigation example

How Has This Been Tested?
unit && visually
Type of Changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Even better explanation of the navigation control event

Skip button isn't shown on the first step
Maybe "Reset" should be "First" or something similar to avoid the implication that it resets all the data in the steps
Reset button is always enabled if Step 1 has an error
In "Controlling navigation", I would think the next steps would be disabled until the prerequisite is complete, instead of showing a modal telling you since it already has validation errors

Skip button isn't shown on the first step
That is expected. The first step is not skippable in the docs. I changed that the SkipButton is only shown if the step is skippable. I think that is better UI. For most steppers the button will never be shown because they have no skippable steps and I think that is good.

Maybe "Reset" should be "First" or something similar to avoid the implication that it resets all the data in the steps
The reset button is actually only for the docs so that users can revert to the initial state. In real life you'd not need it.

Reset button is always enabled if Step 1 has an error
This is expected.

In "Controlling navigation", I would think the next steps would be disabled until the prerequisite is complete, instead of showing a modal telling you since it already has validation errors

Yeah, good point. But we currently can't do that with the existing design. We'll need to add more API to the event to distinguish between the stepper just checking if the action would be allowed and an actual attempt by the user.


::1 localhost set in /etc/hosts but ::1 not added to the looback device

Description
Not sure if this is directly containerd or otherwise some other docker component?
Running containers as IPv4 only (default for docker) results in an /etc/hosts file being mounted into the container such as:
<IP_ADDRESS>	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
<IP_ADDRESS>	971c2fe9d3e3

However the container's loopback device has no ::1.
When software tries to open a listening socket, the localhost address will resolve ::1 and then fail to bind to ::1 because it doesn't exist.  I ran into this when my code executed python asyncio.loop.create_server(callback, "localhost")
These /etc/hosts entries don't originate from the host machine or the image.  So somehow they are being supplied by containerd or otherwise docker (Apologies if it's docker and not containerd)
Steps to reproduce the issue

Run any container and read the contents of /etc/hosts and check the IP addresses on the loopback device.

Describe the results you received and expected
Either the loopback device should have ::1 or ::1 localhost should not exist in /etc/hosts
What version of containerd are you using?
containerd github.com/containerd/containerd 1.4.6 d71fcd7d8303cbf684402823e425e9dd2e99285d
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

containerd has no logic to set up DNS resolvers, /etc/hosts configuration, etc. That is all part of the Docker engine's "libnetwork" implementation so you will have to open a bug in the moby project to get help for the issue.

I recall there was a ticket for this; https://github.com/moby/moby/issues/37616

Wow, that was quick @thaJeztah; and quite the read 👀 ❗
@couling: I wish there were better news from that end, but it appears it is at least a known, reported issue. Given there is nothing we can do in containerd to solve the issue, I'm going to close the issue here. Thanks.

Yes, we should try to have some people give it another look. I recall the networking people at the time having some reasons for it, but must admit that I wasn't very closely involved in those discussions, so will also have to read up on it all ☺😅

From my end, it's just about having /etc/hosts match reality.
Thanks a lot for your attention.


Group console violation reports by file

This PR addresses #1355
Open questions:

Should we make type of report to be displayed configurable to the user ?
The output format would be similar to the existing report and all the violations of a file appear together. Do we need to make any changes to the output format ?

Thank you for the suggestion.
Will update the PR accordingly.

we could provide a selection of FindingsRepots and let the user choose which to use in the config file.

In the updated PR, it is a boolean value. Would it be better if it is changed it to Enum as it will allow the users to choose multiple console reports or would a boolean value suffice ?

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@ed77f0c). Click here to learn what that means.
The diff coverage is 91.89%.

@@           Coverage Diff            @@
##             master   #1852   +/-   ##
========================================
  Coverage          ?   80.4%
  Complexity        ?    1968
========================================
  Files             ?     327
  Lines             ?    5536
  Branches          ?    1027
========================================
  Hits              ?    4451
  Misses            ?     557
  Partials          ?     528

Impacted Files
Coverage Δ
Complexity Δ

...osch/detekt/cli/console/FileBasedFindingsReport.kt
100% <100%> (ø)
6 <6> (?)

...ab/arturbosch/detekt/cli/console/FindingsReport.kt
100% <100%> (ø)
4 <0> (?)

...ab/arturbosch/detekt/api/FileBasedConsoleReport.kt
100% <100%> (ø)
1 <1> (?)

...n/io/gitlab/arturbosch/detekt/cli/ReportLocator.kt
74.07% <66.66%> (ø)
4 <0> (?)

...itlab/arturbosch/detekt/cli/console/DebtSumming.kt
94.28% <88.23%> (ø)
8 <3> (?)

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 ed77f0c...a6a8f1e. Read the comment docs.

The report FileBasedFindingsReport should be added to the default-detekt-config.yml file.
Perhaps a comment should be included, which states that only one of the reports can be activated at the same time (either FindingsReport or FileBasedFindingsReport)
https://github.com/arturbosch/detekt/blob/ed77f0c9ebff73a50348c76782e6dcb1bd7d7b08/detekt-cli/src/main/resources/default-detekt-config.yml#L21-L25

When the FileBasedFindingsReport is added in default-detekt-config.yml  , the build fails.
In addition, added the FileBasedFindingsReport in io.gitlab.arturbosch.detekt.api.ConsoleReport as it is used by Service loader. Please let me know if I am mistaken here.

detekt-cli/src/main/resources/META-INF/services/io.gitlab.arturbosch.detekt.api.ConsoleReport

Yes , this has been done.
But i am unable to add FileBasedFindingsReport  to default-detekt-config.yml. This gets reset when build is run and if added, the CI fails.

CI fails because of other issues. (not related to this PR)

Ah okay, but the exclusion gets removed once the build runs in local. I have removed the exclusion from default-detekt-config.yml for the time being.


[Feature] Allow setting minimum and maximum date/times for DateTimeDialog

Right now the datetime dialog supports only min year and max year, however a common use case is for example select a date in the future only or set boundaries on available values.
Proposed solution is to add minimum datetime and maximum datetime to date selection and datetime selection dialogs.

you can use like this
CalendarConfig(
yearSelection = true,
monthSelection = true,
style = CalendarStyle.MONTH,
boundary = LocalDate.of(2023, 5, 12)..uiState.currentDate
),
boundary is the range of dates that are displayed.

Right now the datetime dialog supports only min year and max year, however a common use case is for example select a date in the future only or set boundaries on available values. Proposed solution is to add minimum datetime and maximum datetime to date selection and datetime selection dialogs.

you can use like this
CalendarConfig(
yearSelection = true,
monthSelection = true,
style = CalendarStyle.MONTH,
boundary = LocalDate.of(2023, 5, 12)..uiState.currentDate
),
boundary is the range of dates that are displayed.

I'm not taking about the calendar dialog, @yu502950715yang

I knew this would be a request sooner or later. 😆  I will work on it, but currently I have no free time left. I would like to see it as well.


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
SassAutocompileView.initialize (/Users/tristan/.atom/packages/sass-autocompile/lib/sass-autocompile-view.coffee:21:13)

Thanks for your report!
I fixed it!


Implementation of Presentation Exchange

As per https://identity.foundation/presentation-exchange/

also need to update the manifest impl to point at pres def models in manifest/model.go

Partly handled in https://github.com/TBD54566975/did-sdk/pull/69

First cut completed by #70


[Parse] Add execution class to track each command results

Is your feature request related to a problem? Please describe.
Currently we only have one execution result per turn, but each turn may contain several commands. We need to parse them to properly understand the execution failure.
Describe the solution you'd like
Add a execution class to track each execution results.

Fixed in #14


markdown.experimental.editor.pasteLinks.enabled does not work with custom vscode.FileSystemProvider

I have a custom vscode extension that loads markdown pages from a database; load and save operations are implemented via the vscode.FileSystemProvider interface.  I was hoping to use the newish vscode settings to enable paste-image-from-clipboard and render a ![filename.png](uri) link in the document body:
{
    "markdown.experimental.editor.pasteLinks.enabled": true,
    "editor.experimental.pasteActions.enabled": true
}

When I try and paste, the "Running paste handlers..." progress never finishes.
https://github.com/microsoft/vscode/blob/main/src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts#L200-L209 may be involved.

Is it known whether this scenario is supported?  I would assume the implementation would locate the vscode.Filesystem associated with the document and perform fs.copy operation to create the file.
Thanks in advance.
cc

Does this issue occur when all extensions are disabled?: No

Version: 1.74.3
Commit: 97dec172d3256f8ca4bfb2143f3f76b503ca0534
Date: 2023-01-09T17:05:47.808Z
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 21.4.0
Sandboxed: No

Works fine with memfs sample virtual file system
What file system provider are you using? Are you sure it's implemented properly?

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!

@mjbvz it's at https://github.com/input-stream/vscode-inputstream/blob/main/src/inputstream/page/filesystem.ts.
Maybe it's not implemented propertly, I'm not sure, but I can't a breakpoint to hit in any of its methods; seems like it never gets called in the first place.
I can open devtools for the vscode window itself and break in the copyPasteController and step into this, but then it seems to cross an RPC serialization boundary and I'm no longer debugging the correct process.
	async provideDocumentPasteEdits(model: ITextModel, selections: Selection[], dataTransfer: VSDataTransfer, token: CancellationToken) {
		const request = this.a.add(dataTransfer);
		try {
			const d = await typeConvert.DataTransfer.toDataTransferDTO(dataTransfer);
+			const result = await this.c.$providePasteEdits(this.b, request.id, model.uri, selections, d, token);
			if (!result) {
				return undefined;
			}

			return {
				insertText: result.insertText,
				additionalEdit: result.additionalEdit ? reviveWorkspaceEditDto(result.additionalEdit, this.f) : undefined,
			};
		} finally {
			request.dispose();
		}
	}

If I step further, the progress window "Running paste handlers..." pops up and the document is hung.
I can cancel the window, which calls:
			const providerEdit = await this.i.withProgress({
				location: ProgressLocation.Notification,
				delay: 750,
				title: localize('pasteProgressTitle', "Running paste handlers..."),
				cancellable: true,
			}, () => {
				return this.n(providers, dataTransfer, model, selections, tokenSource.token);
			}, () => {
+				return tokenSource.cancel();
			});

I've chosen a custom uri scheme for these types of documents, in this case it looks something like page://input.stream/pcj/{uuid}/testing.md.  Perhaps the authority of non-file scheme is throwing it off?
Any idea how to debug this further?

Not sure I agree with @VSCodeTriageBot closing the issue because it's still not clear if this is a bug in vscode or I'm just holding it wrong.

I think I found it.  The magic bit was:
vscode.workspace.updateWorkspaceFolders(0, 0, { uri: vscode.Uri.parse('page:/'), name: "Input Pages" });

I have a separate treeview for the custom fs and wasn't intending to show it in the main explorer view, but it looks like that is a pre-requisite to using paste.
Perhaps the documentation should be updated to reflect this, and also not hang indefinitely if pasting to a filesystem provider that isn't registered as a workspace folder.

Can you share the code for a minimal file system provider that has this issue? As I noted, it works fine with the memfs file system so it would be interesting to see what the difference is

I'll try and work on that tonight, but basically the steps would be:

fork the memfs example
remove the call to vscode.workspace.updateWorkspaceFolders but keep vscode.workspace.registerFileSystemProvider.
Populate some dummy file in the memfs.
implement some minimal ui to be able to select a file uri to view.
invoke vscode.commands.executeCommand('vscode.open', uri), which will call the fs.stat and fs.readFile methods.
Edit the file.
Try and paste an image.

Having refactored my custom filesystem to work on conjunction with the workspace explorer better, I realize that it forces the user into a multi-root workspace whose name is Untitled (Workspace):
Initial vscode appearance:

Subsequent appearance after adding second workspace:

Personally I find that rather disorienting unless I know what a multi-root workspace is, which most people don't.  The title remains Untitled unless they specifically save it to a file like foo.code-workspace that looks something like:
{
	"folders": [
		{
			"path": "."
		},
		{
			"name": "Stream",
			"uri": "page:/"
		}
	],
	"settings": {}
}

I'd like to be able to contribute the custom filesystem to the explorer view, but you must implement a TreeView for that, and it won't work with paste, which brings me back to square one.
It would be ideal if vscode supported this:
        "views": {
            "explorer": [
                {
                    "id": "some-id",
                    "name": "Pages",
                    "uri": "page:/"
                }
            ],
       }
    }

such that the workspace remains single-root and filesystem is presented as a separate collapsible view, re-using same widget that the file explorer already uses.


microwaves are horribly broken

Description

anything not cooked is not ejected
food is not ejected when unpowered
can work without power!!!
you have to insert an item then take it out to eject unejected items

I am working on UI fixed to the microwave and I will see if I can tackle any of these.
Also wanted to bring the conversation over here. On Discord we were talking about what the instant cook button does and figure out it’s  the exact same thing as pressing five seconds. I’m gonna get rid of it in the next version since it’s only there (as far as we can tell) because of needing a 0 time option to satiate a for loop.

thats wrong, i think its just a bug that in the ui instant is default but 5 seconds is the actual default
switching to 5 then instant actually instantly cooks it

the instant button was useful for cooking an id instantly


Very short charging sessions are not displayed in Charges

Describe the bug
Very short charging sessions are not displayed in Charges, however they are displayed in Charging Stats at least in the Top Charging Station list.

Expected behavior
If the charging stop is recorded by Tesla and it is in the Top Charging Station list, it should be also mentioned among Charges, otherwise you also miss km driven in the Charges table.

How to reproduce it (as minimally and precisely as possible):
I haven’t tried to reproduce it yet, however it was a brief stop on DC where probably less than 1kWh was charged and it lasted less than a minute (then I had to cancel the session).

Relevant entries from the logs
n/a

Screenshots
n/a

Data
n/a

Environment

TeslaMate version: 1.19.3
Type of installation: Docker
OS TeslaMate is installed on: Linux
User OS & Browser: Firefox
Others: -

The logs and an export of your most recent charging sessions are needed to investigate this any further.

I tried to get logs from the time of charging, I hope this helps:
teslamate_1  | 18:48:26.386 car_id=1 [info] Driving / Start
teslamate_1  | 19:09:09.347 car_id=1 [info] Driving / Ended / 12 km – 21 min
teslamate_1  | 19:09:09.347 car_id=1 [info] Start / :online
teslamate_1  | 19:10:13.557 car_id=1 [info] Charging / SOC: 22%
teslamate_1  | 19:10:13.557 car_id=1 [info] Disconnecting ...
teslamate_1  | 19:10:51.375 car_id=1 [info] Derived efficiency factor: 152.0 Wh/km (3x confirmed)
teslamate_1  | 19:10:51.375 car_id=1 [info] Charging / Stopped / 0.10 kWh – 1 min
teslamate_1  | 19:10:51.407 car_id=1 [info] Start / :online
teslamate_1  | 19:10:51.444 car_id=1 [info] Connecting ...
teslamate_1  | 19:13:35.460 car_id=1 [info] Driving / Start
teslamate_1  | 19:27:40.980 car_id=1 [info] Fetch already in progress ...
teslamate_1  | 19:27:42.557 car_id=1 [info] Driving / Ended / 12 km – 14 min
teslamate_1  | 19:27:42.557 car_id=1 [info] Start / :online
If you need anything from the db, please specify the query.

If you open a new bug report it shows how to export charge data. We need the charging_processes.csv and charges.csv.

Thank you, the charging session which is not displayed in the Charges in Grafana is this one:
id,start_date,end_date,charge_energy_added,start_ideal_range_km,end_ideal_range_km,start_battery_level,end_battery_level,duration_min,outside_temp_avg,car_id,position_id,address_id,start_rated_range_km,end_rated_range_km,geofence_id,charge_energy_used,cost
4,2020-05-14 17:10:13.063,2020-05-14 17:10:51.142,0.10,110.05,110.72,22,22,1,13.5,1,110151,40,110.05,110.72,,0.32,
id,date,battery_heater_on,battery_level,charge_energy_added,charger_actual_current,charger_phases,charger_pilot_current,charger_power,charger_voltage,fast_charger_present,conn_charge_cable,fast_charger_brand,fast_charger_type,ideal_battery_range_km,not_enough_power_to_heat,outside_temp,charging_process_id,battery_heater,battery_heater_no_power,rated_battery_range_km,usable_battery_level
1317,2020-05-14 17:10:13.063,f,22,0.00,0,,16,-1,2,t,IEC,,Combo,110.05,,13.5,4,f,,110.05,22
1318,2020-05-14 17:10:20.753,f,22,0.00,0,,16,41,2,t,IEC,,Combo,109.37,,13.5,4,f,,109.37,22
1319,2020-05-14 17:10:28.098,f,22,0.00,0,,16,37,2,t,IEC,,Combo,109.37,,13.5,4,f,,109.37,22
1320,2020-05-14 17:10:35.788,f,22,0.00,0,,16,36,2,t,IEC,,Combo,109.37,,13.5,4,f,,109.37,22
1321,2020-05-14 17:10:43.462,f,22,0.10,0,,16,37,2,t,IEC,,Combo,110.72,,13.5,4,f,,110.72,22
1322,2020-05-14 17:10:51.142,f,22,0.10,0,,16,-1,2,t,IEC,,Combo,110.72,,13.5,4,f,,110.72,22
If you need a previous and following sessions too, let me know.

Fixed on master. Short charging sessions with 0.1 kWh or less were previously hidden.

Can we make that configurable? I'd like to either not see "top up" charges or have them counted towards the "real" charge.
I.e. When I charge to 80% and keep plugged, the car will periodically charge from 79 to 80 again, which might be interesting for counting cycles but might also irritate in the number of "real" charges.
Depends on what data I want to see..

In my opinion eslaMate should always count all charges, otherwise it will not display real figures. If you do not want to see real power consumption, then you can omit some charges...

I agree it should all be logged to the database. But there could be "viewing" options to "merge" the small top-up charges into "real" charges.

I think you made the point - merging. This could sort out many situations, if there is a way how to merge sequential charges or drives (I think this was mentioned in some other issue too). However, I do not see some easy way how to implement it in the current Grafana interface...

“Some SQL wizardry required“


After adding, can't run app on iOS Simulator M1

Hi, after adding this package, I can't run my app on my iOS simulator on an M1 Mac, getting this error:
 /Users/armandojimenez/Development/Flutter/SDK/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_funding_choices-0.2.0/ios/Classes/SwiftFlutterFundingChoicesPlugin.swift:3:8: error: no such module 'UserMessagingPlatform'
    import UserMessagingPlatform
           ^
78
    Command CompileSwift failed with a nonzero exit code
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Analyzing workspace
    note: Constructing build description
    note: Build preparation complete

I'm not an expert of pods and all of this, but go to the ios folder and run pod install and it may work after that.

Hi! First: thanks for the plugin!
I am also having that same error (but on an Intel Mac). In my case, it started happening after I upgraded the Flutter SDK (to 2.2.0) along with some dependencies, one of them being Firebase, which started to require an iOS deployment target of 10 or higher (as seen here: https://firebase.flutter.dev/docs/installation/ios#ios-supported-versions). I've tried to remove and reinstall all pods, to no avail. I even created a new project with just the same pubspec and had the same results.
I think the main problem here is that the reference to Google UMP SDK we are using needs to be updated (latest version as of writing is 2.0.0, and I believe this plugin is currently using 1.0.0 for android and 1.3.0 for iOS). I also think we should bump the iOS "platform" version on the podspec to 10.0, here: https://github.com/Skyost/FlutterFundingChoices/blob/8ef4cb21fa2d5a3c503638f7ca14e57abb0dc06d/ios/flutter_funding_choices.podspec#L18
Admob currently requires 10.0 or later (https://developers.google.com/admob/ios/quick-start), so now that we have ads and analytics on 10.0, I think we can stop using 9.0.
UMP SDK versions and release notes:
https://developers.google.com/admob/ump/ios/download
BTW 1: Version 1.4.0 states: "Included an arm64 slice for simulators to support testing on Apple Silicon devices.", I think this is the fix for his problem.
BTW 2: I could try to fork and try a PR, but I have just a sliver of an idea on how these plugins work, so it would probably take more time than actually needed.

Hello again. So, I ended up forking it and updated accordingly, which apparently resolved my problem. I am now using it in two of my apps, so far without issues. Would you like me to make a pull request?
My fork:
https://github.com/Andre-lbc/FlutterFundingChoices

@Andre-lbc Great ! It would be very nice of you if you could submit a pull request :wink:

Sorry for the delay. I've just submitted it: #13  😬

Forgot to link it with #13, but I think we can close it now.


Iris Flower Classification

Description
This project is used to predict the different species of flowers on the length of there petals and sepals.
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#288

Do I need to make any changes still in order to merge my pull request, please do let me know because the pull request which I done later to this iris classification got merged but this is still in pending.


Fixed being unable to scrape card details..

when using scrapeAll method.

Thanks for the PR! I completely forgot to test scrapeAll(..., true). All working now.


ImportError: cannot import name ChatBot

I copied an example, but get this when executing it:
Traceback (most recent call last):
  File "chatterbot.py", line 1, in <module>
    from chatterbot import ChatBot
  File "/root/taartbot/chatterbot.py", line 1, in <module>
    from chatterbot import ChatBot
ImportError: cannot import name ChatBot

This is a circular import error. You named your file chatterbot.py, then imported from chatterbot.
To fix this rename your chatterbot.py in /root/taartbot/ to something else.

Thanks, I was having same problem

@DhaneshKumarHeerani If you are trying to run the tests for this project, please use the command python runtests.py, this will run the test suite for Django.

yes i did but it's not running i checked it showing this error
C:\Users\Dhanesh\Desktop\Check it Please\ChatterBot-master>python runtests.py
Traceback (most recent call last):
File "runtests.py", line 16, in
django.setup()
File "C:\Users\Dhanesh\AppData\Local\Programs\Python\Python35\lib\site-packages\django_init_.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "C:\Users\Dhanesh\AppData\Local\Programs\Python\Python35\lib\site-packages\django\conf_init_.py", line 55, in getattr
self.setup(name)
File "C:\Users\Dhanesh\AppData\Local\Programs\Python\Python35\lib\site-packages\django\conf_init.py", line 43, in setup
self.wrapped = Settings(settings_module)
File "C:\Users\Dhanesh\AppData\Local\Programs\Python\Python35\lib\site-packages\django\conf_init.py", line 99, in init
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Users\Dhanesh\AppData\Local\Programs\Python\Python35\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 944, in _find_and_load_unlocked
File "", line 222, in _call_with_frames_removed
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 956, in _find_and_load_unlocked
ImportError: No module named 'mysite'

try to add current directory your python path I am not sure which operating system you are using, this command will work on Ubuntu ``export PYTHONPATH=${PYTHONPATH:."

check the spelling once again.it is "ChatBot" not Chatbot.Hope it works fine

LMAO I just lost 1 hour with this.


libxml-ruby 3.0.0 performance loss moving from ruby 2.1.0 to ruby 2.6.0

I have a tool that I would like to move to ruby 2.6.0 from ruby 2.1.0.  In both cases, I have installed libxml-ruby for the particular ruby baseline such that switching the tool to the later ruby was as simple as changing the she-bang line in the tool.  That is, nothing about the use of libxml here has changed.
I'm finding that the same process runs significantly slower.  It also appears to be consuming more memory than before.  I (naively?) expected the opposite to occur.
Any idea why this might have happened?  I didn't personally install the libxml-ruby gem in either case - maybe there were some optimizations left out of the 2.6.0 install?

I wouldn't expect anything to change, assuming you are using the same version of libxml2 under the covers and the same version or the libxml-ruby gem.

I dug a bit deeper.  It looks like the libxml portion of my tool is not the issue.  Something else changed in ruby 2.1.0 -> 2.6.0 that is causing a perf issue.
Sorry for the false alarm!

Cool - that makes more sense.


New version: Lenovo.SystemUpdate version <IP_ADDRESS>

Created by 🥟 Dumplings in workflow run #6975.

Log
Updated: <IP_ADDRESS> → <IP_ADDRESS>
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run


⚠ API - Lens has degraded performance

In 25cc9de, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 502
Response time: 1356 ms

Resolved: API - Lens performance has improved in 74f516a after 6 minutes.


isInputEventSupported method is creating a non-passive event

Describe the bug
isInputEventSupported method- in doing the secondary check setting "return;" to the attribute actually creates an event that isn't passive.   (Seems to be at least one warning for every input with a mask)
Live example
Use the library and look in console for warnings about the touchstart not being passive.
Please complete the following information:

OS: Windoze
Browser: Chrome, and most likely anything Chromium based like the new Edge and others.
Inputmask version : 4.0.6, but the 5 beta still does the same thing.  I think the secondary check is for some FireFox bug that may not even exist anymore.

Additional context
How do you feel?  Fine.  Do you want to talk about (it)? Just did, and removed the secondary check in my code to get rid of the warnings.  Why do you care?  Saves others time and trouble trying to track down where all the warnings are coming from.

@weisborg ,
Fixed in the latest 5.x ;-)


On disable only Cancel if isEditing

This was causing the value to be changed twice in the same runloop and thus was causing an Ember runtime error.

Thanks @Alonski. I will merge and release a version later today.

Thanks @swastik for this awesome addon :)

@swastik Just giving you a small reminder :)

👍 Published as 1.1.1!

Thanks man you're awesome!
I have a few more ideas for this addon. Are in the Discord by any chance?

Sorry @Alonski, somehow missed this notification! I recently created an account on the community discord (same username) — drop me a message! 🙂


beets-unstable: unstable-2024-10-26 -> unstable-2024-03-16

Description of changes
See commits at https://github.com/beetbox/beets/commits/master/
Things done

Built on platform(s)

[x] 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

[x] 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

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[x] Fits CONTRIBUTING.md.

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

4 packages built:
beets-unstable beets-unstable.dist beets-unstable.doc beets-unstable.man
Result of nixpkgs-review pr 296664 run on x86_64-linux 1

4 packages built:

beets-unstable (beetsPackages.beets-unstable)
beets-unstable.dist (beetsPackages.beets-unstable.dist)
beets-unstable.doc (beetsPackages.beets-unstable.doc)
beets-unstable.man (beetsPackages.beets-unstable.man)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3717

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3792


Recover from DRM License request authentication error (401)

Use case description
Access to MultiDRM license servers is prudently protected by client authentication headers.   With Widevine Proxy server the proxy is able to authenticate the caller and reject it or respond by forwarding the request to Google's widevine server.  One common use case would be signaling a HTTP 401 status.
ExoPlayer provides for error recovery via the LoadErrorHandlingPolicy, calling the getRetryDelayMsFor() when the request fails, however there is no provision for returning anything other than a delay value.
Note this license request is often issued while there is significant buffered content, so being able to recover in-place saves a lot of time.
Proposed solution
Add an optional method to LoadErrorHandlingPolicy interface, like:
  /**
   * Updates the request properties, if required.  Returns true if updated
   */
  boolean updateRequestPropertiesForError(LoadErrorInfo loadErrorInfo, HashMap<String, String> keyRequestParameters) { return false; }

This would be used, for example to update any short-lived login token in the request headers.   Obviously this is just an idea to riff on, as the ultimate source of the header values is the MediaItem.DrmConfiguration.   The MediaItem is far distanced from the point of the load error detection
Alternatives considered
The only alternative with the current code base (that I can see) is to not retry, and completely restart playback with an updated MediaItem from outside of ExoPlayer code.

Note, the API would allow the MultiDRM License Server to implement an HTTP Challenge like scheme for authentication
FWIW Shaka Player provides this via a relatively low level API, Shaka License Server Authentication.  It should be possible to do something in ExoPlayer's HttpMediaDrmCallback that is as versatile without being as invasive.


Icons are offset from the marker

I am using ExtraMarkers 1.0.5 release, and Font Awesome v5.x.
The Extra Marker appears about 15 pixels above where it should be if it was centered in the marker.
I am pretty sure that I haven't made any custom style definitions in my CSS that would affect this. You can see the code on http://chicagocityscape.com

fixed in v1.2.0+


[WIP] post api

I've been working on the API starting with post endpoints and I'm finally at a point where I think its worth getting some feedback, since I'm making some non-trivial changes. This is still a work in progress, but you should be able to build the pr branch and see how the changes are looking. I plan on reorganizing the app/handler package into 3 new packages, app/handler/blog for the main public blog pages, app/handler/api for the api stuff, and app/handler/admin for the admin pages, but that will prolly be in a separate pr.
Some high level bullets

I'm in the process of replacing global variables (like app in app/handler/init.go) with function/method args. This should help make testing easier using dependency injection and mocking.
Following REST guidlines, URLs should reflect the ownership structure of the resources they map to. "/api/posts/:post_id/comments" should be used instead of "/api/comments/post/:post_id", because comments are a subresource of a post. "/api/.../foos" returns a list of the resource foo, and "/api/.../foos/:foo_id" returns a single foo. (Sorry if this is patronizing, just wanted to be clear)

Hi @samdfonseca,
I think this is going to the right direction. The challenge is that we may need to deal with some cyclic import problems after we split up the handlers, as those tests require to import handler/init.go to create app mock-ups to test the request handling. However, we will see how to deal with that when we get there.
For the RESTful APIs, I think you're right and we should go with /api/posts/:post_id/comments.
Thanks!

@bentranter let me know if you're still interested in working together on this. if you have a spare few minutes, i'd love some feedback on the changes here.

Hey @samdfonseca, I'm definitely still interested in working together on this. I looked over this PR for a while tonight and I think everything looks good so far, but I'll give it a more thorough review first thing tomorrow and leave some comments. I really like your idea/comment about following REST guidelines for naming, I feel like sensible naming and URL paths can make or break an API, and this definitely makes it. Awesome decision.

@samdfonseca I left a few nit-picky comments, feel free to ignore any of them if you don't agree with them since some are just opinion based. Overall though, wow, this looks really, really good. I think this approach and design totally works for this API, and I'm glad everything is being split into its own package.

hey guys sorry i left this hanging. i just merged the changes in master for the last few weeks back into here and didn't run into any major conflicts. unless someone tells me not to, i'm gonna go ahead and merge it in since the none of this api stuff is being used currently


refactor(zentao): add custom types OperatedBy and StringFloat64 to simplify codes

⚠ Pre Checklist

Please complete ALL items in this checklist, and remove before submitting

[x] I have read through the Contributing Documentation.
[x] I have added relevant tests.
[x] I have added relevant documentation.
[x] I will add labels to the PR, such as pr-type/bug-fix, pr-type/feature-development, etc.

Summary
What does this PR do?

The progress field in response of zentao's api is a string or a float, at #6089  we add a progressRes field to receive this field and convert it into progress(float64).
So do ClosedBy and CanceledBy fields.

Does this close any open issues?
Closes None
Screenshots
Include any relevant screenshots here.
The main branch cannot running, so test is on the way.
Other Information
Any other information that is important to this PR.

Here is an example for closedBy field:
{
    "closedBy": {
        "id": 1,
	"account": "admin",
	"avatar": "",
	"realname": "admin"
    },
    "others...": ""
}