Automatically run session.commit() in session dependency BEFORE returning request

First Check

[X] I added a very descriptive title to this issue.
[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.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
# orm.py
def fastapi_session_scope() -> sqlalchemy.orm.session.Session:
    session = session_maker(bind=engine)
    try:
        yield session
        session.commit()
    except:
        session.rollback()
        raise
    finally:
        session.close()

# routers.py
@router.post("/v1/organizations", response_model=Organization)
def create_org(session: Session = Depends(orm.fastapi_session_scope)):
    org = sqlalc.Organization(name="test")
    session.add(org)
    return org

@router.get("/v1/organizations", response_model=List[Organization])
def get_orgs(session: Session = Depends(orm.fastapi_session_scope)):
    return session.query(sqlalc.Organization).all()

Description
(I realize this is diverging slightly from the SQLAlchemy example, which explicitly uses session.commit() in the body of the function and not in the session dependency.)
I'm creating a row with a POST and then immediately afterwards fetching all rows with a GET. I've got session.commit() in the session scope dependency, which is convenient because it runs a commit() at the end no matter what and doesn't require us to always explicitly commit at the end of an endpoint body.
As written, if an Organization is created via a POST and then all the organizations are immediately afterwards fetched via a GET, the GET will not include the recently created Organization. This is not a JS async issue. What's happening, as best I can tell, is that the POST starts a transaction, org is returned, and then, before the commit() actually happens, the GET is called and the list of organizations is returned without the organization that was just created (or so it seemed).
t  POST            GET

1  request
2  session.add
3  return
4                  request
5                  session.query
6                  return          # POSTed organization is missing!
7  session.commit
8                  session.commit

The behavior I'd like is for commit() to run BEFORE the value is returned, which would guarantee that the POST and GET could be run back-to-back safely. Is that possible using a FastAPI dependency? Has anyone else run into this issue?
t  POST            GET

1  request
2  session.add
3  session.commit
4  return
5                  request
6                  session.query
7                  session.commit
8                  return

Operating System
macOS
Operating System Details
No response
FastAPI Version
0.59.0
Python Version
3.8.10
Additional Context
No response

As the documentation says, the statement after yield will be executed after the response is returned, so you should consider putting the commit statement in the function body

@waynerv Got it, thanks. It sounds like the options are either 1) to use Depends() and always specify commit() in the endpoint body or 2) to use a context manager, an explicit with statement and an implicit commit() (like the following)
# orm.py
@contextmanager
def session_scope(expire_on_commit: bool = True) -> sqlalchemy.orm.session.Session:
    orm_session = _orm_session(expire_on_commit=expire_on_commit)
    try:
        yield orm_session
        orm_session.commit()
    except:
        orm_session.rollback()
        raise
    finally:
        orm_session.close()

# routers.py
@router.post("/v1/organizations", response_model=Organization)
def create_org():
    with orm.session_scope() as session:
        org = sqlalc.Organization(name="test")
        session.add(org)
        return Organization.from_orm(org)

@anguspmitchell , I think you should avoid dependencies like this:
@contextmanager
def session_scope(expire_on_commit: bool = True) -> sqlalchemy.orm.session.Session:
    orm_session = _orm_session(expire_on_commit=expire_on_commit)
    try:
        yield orm_session
        orm_session.commit()
    except:
        orm_session.rollback()
        raise
    finally:
        orm_session.close()

For those reasons:

as @waynerv said, the statement after yield will be executed after the response is returned. So that means, in some circumstances you will send OK response, but commit will actually fail.
If you raise HTTPException from endpoint function body, then session will be commited too. This kind of exception won't be caught by try-except of session_scope function.

P.S. I also tried to use the same approach in the very beginning of my work with FastAPI, but finally I'm confident it's much better to commit explicitly at the end of endpoint function body.

@AlexanderPodorov Very good points.
I may not have been entirely clear on this part:

It sounds like the options are either 1) to use Depends() and always specify commit() in the endpoint body or 2) to use a context manager, an explicit with statement and an implicit commit()

What I'm proposing in (2) is just to not use a FastAPI dependency at all, and instead to use an explicit with block in the function body. (More verbose obviously, but, alas, tradeoffs.) I really do not want to run into the problems that you mentioned, though. To make sure those issues don't occur with this approach, I added two lines of code to test it. From what I can tell, neither of dangers you mentioned come up when using an explicit with block:
# orm.py
@contextmanager
def session_scope(expire_on_commit: bool = True) -> sqlalchemy.orm.session.Session:
    orm_session = _orm_session(expire_on_commit=expire_on_commit)
    try:
        yield orm_session
        raise   # <- this causes a 500 error to be returned,
                #    so it doesn't appear to run the risk of returning OK
                #    but then silently failing after the yield statement
        orm_session.commit()
    except:
        orm_session.rollback()
        raise
    finally:
        orm_session.close()

# routers.py
@router.post("/v1/organizations", response_model=Organization)
def create_org():
    with orm.session_scope() as session:
        org = sqlalc.Organization(name="test")
        session.add(org)
        raise HTTPException(status_code=404, detail="Item not found") # <- this returns a 404
                    # and causes the rollback in the context manager to be executed,
                    # avoiding the possibility of a commit after an HTTPException raise
        return Organization.from_orm(org)

Yes, I think this approach should work. And yes, you can create a session in the endpoint function. My 1. and 2. points are related to dependency approach.
BTW, as of SQLAlchemy 1.4 we don't need to write our own context managers for sessions/transactions, it should work out of box.
See: https://docs.sqlalchemy.org/en/14/orm/session_transaction.html
Example for their site:
Session = sesssionmaker(engine)

with Session() as session:
    with session.begin():
        session.add(some_object)
    # commits

# closes the Session

Hi all,
I was made aware of that behavior through a bit of tracing when I realised my db sessions were committed after the response was returned. One of the other downside is that we keep a transaction opened longer than it needs when it is would be better to release db resources as early as possible. i'll go with the proposed workaround as well but I believe this is a bit of an issue that should at least be documented (I mean how the documented behavior may lead to potential risks).

FWIW I resorted to using a middleware in the end, and picking up the session in a dependency through the application state:
@app.middleware("http")
async def db_session(request: Request, call_next):

    with _SessionLocal() as session, session.begin():

        # Make the session available to the FastAPI dependency.
        request.state.db_session = session

        return await call_next(request)

def get_database_session(request: Request) -> Session:
    """
    FastAPI dependency to obtain a database connection.
    """
    # This is set up in the database middleware.
    return request.state.db_session

This felt simpler than the solution proposed before, and keeps the session logic in one place so you can use the context managers again. Caveat is that database access in background tasks is probably completely broken without further work.


[RFC] Add Support for File based Service Binding Information

This RFC suggests to introduce an alternative option for the CF platform to provide Service Binding information to applications.
Preview

We are starting the FCP with the goal to approve this RFC by next Tuesday 7th of May.


Create palindrome.py

Added a palindrome checking program with commented explanation on how it works.
Closes #25

Looks good, keeps Contributing


Potential tracer and older kernels compatibility issues

Type: Bug
Description: Tracer breaks in older kernel versions
Affects: v52.3.83
2024-10-11T12:40:13Z ERR tracer/pkg/bpf/bpf.go:141 > load bpf objects failed: field SchedProcessFork: program sched_process_fork: load program: permission denied: invalid indirect read from stack R3 off -32+12 size 16 (349 line(s) omitted)
2024-10-11T12:40:13Z FTL tracer/main.go:135 > Couldn't initialize the tracer: error="creating bpf failed: field SchedProcessFork: program sched_process_fork: load program: permission denied: invalid indirect read from stack R3 off -32+12 size 16 (349 line(s) omitted)"

Suggest interim remedy: Disable tracer by using --set tap.tls=false; or
tap:
  tls: false

Those issues must be because of no debugfs nor tracefs are mounted
We probably need to put into documentation that debugfs and tracefs support is required


Dark mode preference not saved when navigating to feedback page or user is returning.

Issue solved by using cookies.


Arnej/add network ports 1

@mpolden please review (especially config-provisioning and node-repository changes)
@bratseth please review
@hmusum FYI

i have added some more commits here, still missing unit tests (at least).
@bratseth and @mpolden, can you please take a quick look to see if it's going in the right direction?  Will make a new PR (rebased from master branch) tomorrow.

This looks good now


Update OpenSearch 2.12 to use Apache Lucene 9.8.0

Description
Update OpenSearch 2.12 to use Apache Lucene 9.8.0
Related Issues
N/A

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[ ] Public documentation issue/PR created

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@kotwanikunal @andrross please take a second to approve, thank you

@reta - Are there any documentation updates required as a result of this change? Thanks!

@reta - Are there any documentation updates required as a result of this change? Thanks!

@hdhalter not sure to be fair, it is going to release notes (likely) but AFAIK there no public API changes as the result of this update, thank you


Possible bug with unread posts

I was on https://www.elkarte.net/community/index.php?action=unread;all
and the list of unread posts was empty, do notice the "all" at the end of the link
Then I saw on Recent Post a new icon for the topic "Support for webp images" (sorry I didn't do a screenshot first)

I'm sure I did not read that topic.
I'm not 100% sure if this is a bug, or it was a mistake of mine, but I'd say to keep an eye on this behaviour.

Lets keep an eye on this and see if the behavior shows up again.


"!permission_all" command not working

Whenever i enter the command on my discord server, i get the message,
"The correct Role was not found. Creating now...
Please re-run this command."
Though even after re-running the command, i get the same issue still. I assumed it possibly needed me to create a Moderator / Delibot role so it would then just enable+assign that to everyone (?), but still nothing worked.

Hmm, I think you forgot to set "Manage roles - Members with this permission can create new roles and edit/delete roles lower than this one." on the Bots role? I tried it on my server and if i forgot to set the right permissions it just keeps on saying "Please re-run".


fix: Return default application and page id in the restore snapshot response

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description
This PR fixes an issue that's triggered due to merge conflicts. We accidentally removed the code from the restore snapshot service that replaces the actual ids with default ids when application is connected to git.
PR fixes following issue(s)
Fixes #22956
Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

[x] Manual
[x] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test sha=b1ab3d0


[ts] Cannot find name 'PasswordCredential'

TypeScript Version:  2.4.0 / nightly (2.5.0-dev.201xxxxx)
Code
var cred = new PasswordCredential({
  id: '1234',
  password: '1234'
})

Expected behavior:
PasswordCredential {idName: "username", passwordName: "password", additionalData: null, name: "", iconURL: ""…}
Actual behavior:
a mistake

Where did you define PasswordCredential in an interface or a class?

I would not know how to define it, I just want to be able to use this new language feature https://developer.mozilla.org/en-US/docs/Web/API/PasswordCredential

Experimental features are generally not included in the libraries until the point where the get general browser support.  You would have to acquire the types from somewhere or create them yourself.

I've been looking for some interface that can serve me, but for now I find nothing u.u

So you will have to create your own...
declare global {
    interface PasswordCredentialConstructor {
        // stuff
    }

    interface PasswordCredential {
        // stuff
    }

    const PasswordCredential: PasswordCredentialConstructor;
}

Fine my friend, let me see what I can do
thanks for your attention n.n

Did anyone find solution ?

@ahmedwaleed1:  Yes, @kitsonk answered, you have to define the interface yourself so TypeScript is aware about this type.


Stop using proprietary archive compresion methods

Since the repo TF2BD-Community-Lists dont have an issue section nor any links to any contact information and since the tf2_bot_detector wiki is linking to the zip file i am talking about i will post this here, the All.zip file is using a compression method named deflate_64 this is a version of the deflate compression method which is usually used on 99% of the zip files that you want to ship.
The difference between those is that the 64 version is proprietary, heres a quick rundown of the wikipedia page:
Deflate64, specified by PKWARE, is a proprietary variant of Deflate. It's fundamentally the same algorithm. What has changed is the increase in dictionary size from 32 KB to 64 KB.. more info bla bla.
I'd like to request a change of the compression method because why make a project like that open source when using a proprietary compression method that isn't even supposed by every uncompression tool?

Bro get off the weed before u create github issues cus i cant comprehend what u just said

.tar.gz plz

.tar.gz plz

This would even be better compression and supported

HELPHELPHELP anti free software zhi wu han vi rus
尸100尸手火卜弓心5廿弓一十山心

i have to agree with that one

I did check with the zipdetails utility and the archives do in fact use Deflate64. In all seriousness, zip is going to be the most operating system compatible archive format. I don't know what software was used to create the archives, but using a 32 KB dictionary size instead would be simple enough using e.g. 7-zip.

I did check with the zipdetails utility and the archives do in fact use Deflate64. In all seriousness, zip is going to be the most operating system compatible archive format. I don't know what software was used to create the archives, but using a 32 KB dictionary size instead would be simple enough using e.g. 7-zip.

Correct, but I dont think .zip should be used at all when there are better supported compression methods like .tar.gz.

You complained about the usage of the proprietary 64 KB dictionary size implementation. Changing the dictionary size to 32 KB would resolve your issue, as your issue is the proprietary nature of the specification. Zip and deflate are widely supported as archive formats and compression schemes, respectively, on both Windows and Linux, whereas tar is not as supported on Windows and requires additional software to be installed.

Since the repo TF2BD-Community-Lists dont have an issue section nor any links to any contact information and since the tf2_bot_detector wiki is linking to the zip file i am talking about i will post this here

I've repacked the zips at https://github.com/incontestableness/TF2BD-Community-Lists, but cannot open a pull request as @ClusterConsultant limited that to collaborators. If they want to merge it they can.

I've repacked the zips at https://github.com/incontestableness/TF2BD-Community-Lists, but cannot open a pull request as @ClusterConsultant limited that to collaborators. If they want to merge it they can.

I appreciate the effort in doing so, I hope this gets fixed asap.

i'll think about it


⚠ Bofrost.at has degraded performance

In b9ec428, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2621 ms

Resolved: Bofrost.at performance has improved in 65afbe8 after 8 minutes.


Find out and document what waveHybridCA does

Currently, usage of both the simpleWave and waveHybridCA result in dominance of the light green facies, and 100 % stratigraphic completeness. This effect (1) is present in both attached and isolated carbonate platforms and (2) vanishes as soon as sea level fluctuations are present.
It might not be a boundary effect (bc it is present in both isolated and attached platforms) and not depend on the CA (bc it is present in simpleWave, which has no CA)

The effect is absent under productionCA (produces a mound geometry) and waveCA (drowns) when starting from the simple isolated platform bathymetry (isolated_platform.txt)

Can you pop an image of the output in here for me to have a look at? Also, can you check and tell me the grid size for this model e.g. 200 x10 or perhaps 200x20 would be a typical size. Also, perhaps pop me the paramter input files in an e-mail and I can run it on my version of CarboCAT lite and see what happens...

Image sent via email.
For the record: @xyl96 and I found that under constant SL, wave energy across the whole platform top is zero.
In this case, the simpleWave procedure then always selects the facies that can best deal with low wave energy, which will then immediately fill the accommodation space generated by subsidence.

We changed the wave energy tolerance parameters to be 0 (minimum) and 1 (maximum) for all factories, making them effectively independent of wave energy (which is effectively removing any environmental niche). This lead to the following results:

for simpleWave, the factory dominating the platform changes to factory 1. This is because if all factory have the same wave energy tolerance, the algorithm always picks the first one, making the results dependent on the enumeration of factory
for waveHybridCA, the platform drowns. Before drowning, the factory with highest production rate dominates, and there is spatial heterogeneity visible.

wave hybrid: first calculate neighbors and CA, production, and then feed into wave energy selection: if the wave energy is within the range of the wave tolerance of the facies assigned, then output the facies. If not, empty. If more than one facies suits meets both CA and wave, choose the facies with the minimum WaveEnergyImbalance. I am still looking at the difference between WaveCA and WavehybridCA.

If you check Burgess (2013) it explains how the CA rotates the facies checking order to avoid the first choice bias. This snippet of code from the basic CA function could be popped into waveHybridCA too, of course, to cover for the sitations where the wave energy and water depth ranges do not determine which facies to choose. Or perhaps just turn wave energy calculation off and use the basic CA? Depends on the philosophy behind the triangle experiment - what EXACTLY are we trying to test with the triangle? I know in general, but perhaps some more specific thought is required to decide on the final CarboCAT formulation to use; one of my PhD examiners said to me "Model less, think more" and they definitely had a point ;-)


fix: package doesn’t work with expo 52

Those package bumps make the plugin compatible with expo 52. More info and context here:
https://github.com/expo/expo/issues/33025
@matt-oakes if you could make a new release with those changes that would be awesome!

Thanks for this. I will merge and release this now as a major version bump with a new peer dependency.

@matt-oakes @Kudo thank you guys! 🚀

@compojoom Can you confirm if v1.0.0 is working for you? I have updated the example project and it doens't seem to be working.
@Kudo Are there any other changes that are needed to get this working? I have updated the example to Expo 52 and the version of this plugin which uses the updated libraries, but there connection between the two doesn't seem to be working. It will launch correctly, but messages are not being passed my iOS Simulator and the web interface. I can't see any websocket connection being opened at all.

@matt-oakes - I can confirm that it works for me!
The behavior you are describing was what I was getting with the old version. Are you sure that the example version is using the latest version?

Interesting. I'm glad it's working for you. On second look it seems like the websocket is opened correctly for the web UI, but none of the messages are being passed into it.
Maybe if @Kudo can let me know what the breaking changes were I can look into why the example project in this repo doesn't seem to be working correctly.

@matt-oakes - unless you do some magic to link the latest version from sources in the example I think that you just forgot to update the package version in the example: https://github.com/matt-oakes/redux-devtools-expo-dev-plugin/pull/16
After updatiing the example runs just fine :)


Support Maven Wrapper (mvnw)

cdxgen support the Gradle Wrapper (gradlew) - it should also support the Maven Wrapper (mvnw), which is used the same way. Implementation would be the same as the existing gradlew support.

@candrews, could you kindly send a PR since I don't have a test project for this?


Some links to canonical datasets in the docs are outdated

As we don't have canonical datasets in the github repo anymore, some old links to them doesn't work. I don't know how many of them are there, I found link to SuperGlue here: https://huggingface.co/docs/datasets/dataset_script#multiple-configurations, probably there are more of them. These links should be replaced by links to the corresponding datasets on the Hub.

Thanks for catching this, I can go through the docs and replace the links to their corresponding datasets on the Hub!


Visually indicate stack position in stack-frame window

Is it possible to indicate the current position in the stack-frame window when we navigate through the stack by showing a ">" in the list?

I've added both a new highlight and icon to show the current frame :smile: Please try the latest master

Wow, nice! Thank you so much :-)
I can see the indicators when I press enter in the stack list (initially no indication of where I am in the stack is shown).
Ideally I would like to navigate the call-stack using keybindings:
map("n", "[s", function() require("dap").up() end)
map("n", "]s", function() require("dap").down() end)

The naviagtion using keybindings does not update the stack window though. Also, once I pressed enter on the stack-window and try to use the keybinding afterwards, I get this error:
E5108: Error executing lua: ...e/nvim/site/pack/packer/opt/nvim-dap/lua/dap/session.lua:1441: id of current frame must be present in frames
stack traceback:
        [C]: in function 'assert'
        ...e/nvim/site/pack/packer/opt/nvim-dap/lua/dap/session.lua:1441: in function '_frame_delta'
        ...cal/share/nvim/site/pack/packer/opt/nvim-dap/lua/dap.lua:468: in function 'up'
        [string "..."]: in function <[string "..."]:0>

Let me know if you need more info to reproduce this!

This looks like an issue with the adapter. Can you provide the nvim-dap log?

Also you may be in a hidden frame, press t in the stacks window to show them

Pressing "t" does not toggle anything (it always hows "hidden" frames (i.e. frames belonging to external node related files)).
How do I provide the logs?
I tried setting them to DEBUG using lua require"dap".set_log_level("DEBUG") but nothing seems to show up in ~/.cache/nvim/dap.log (I deleted the file hoping it would regenerate, but it doesn't).

Did you restart nvim after deleting the log file? It won't continue writing after being deleted in the same instance.

Oh ok. So I set the log level to "TRACE", deleted the log file, started a new debugging session, clicked enter inside the stackframe window and then called require("dap").up() to trigger the error.
Attached you'll find the log of the described interaction.
dap.log

AFAICT the log looks OK. Can you reproduce this without nvim-dap-ui? You can test by not calling the setup function. I'm not sure where the bug is coming from but I just want to be sure it's not nvim-dap-ui.

Closing this issue as there's no activity and the original request has been resolved


fix(v2): Fix double trailingSlash in sitemap.xml

Fix issue where when trailingSlash option is enabled, routes that already end in a / are shown with double slash at the end.
Motivation
Some of my routes show in sitemap.xml without a trailing slash, so I use trailingSlash to make them all consistent. However, some of my paths (e.g. /docs/ created by getting_started.md) already have a trailing slash. Currently /docs/ will be rendered as /docs// in the sitemap which isn't correct. This fix prevents that trailing double slash when the trailingSlash option is enabled.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

Update your docusaurus.config.js to enable sitemap's trailingSlash option

plugins: [
    [
      '@docusaurus/plugin-sitemap',
      {
        id: 'plugin-sitemap-default',
        trailingSlash: true,
      },
    ],
  ],

Create a page in /docs with slug: /
Generate the sitemap by creating an optimized production build
Verify that the build/sitemap.xml entry generated for /docs/ doesn't have a trailing slash

Related PRs
N/A

LGTM, thanks 👍

LGTM, thanks 👍

weird, this PR has a prettier formatting issue that was not catched by the CI
Will be fixed by https://github.com/facebook/docusaurus/pull/4005
Also replaced code by our addTrailingSlash util (it does not add duplicate trailing slashes)

weird, this PR has a prettier formatting issue that was not catched by the CI
Will be fixed by https://github.com/facebook/docusaurus/pull/4005
Also replaced code by our addTrailingSlash util (it does not add duplicate trailing slashes)


Fixed alias for bucket name in InitiateMultipartUploadResult

Description
Renamed bucket name's alias to "Bucket" according to https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html
Related Issue
#102
Tasks

[x] I have signed the CLA.
[x] I have written tests and verified that they fail without my change.

Thanks for this contribution @ptomala5. I'll have a look


fix: SQLite DB locked and crashes.

Traceback (most recent call last):
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1144, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 702, in do_commit
    dbapi_connection.commit()
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/.local/bin/spiderexpress", line 8, in <module>
    sys.exit(cli())
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/cli.py", line 53, in start
    ctx.obj.start(config)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 406, in trigger
    return self.machine._process(func)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1251, in _process
    self._transition_queue[0]()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 420, in _trigger
    self._process(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 443, in _process
    if trans.execute(event_data):
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 278, in execute
    self._change_state(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 289, in _change_state
    dest.enter(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 130, in enter
    event_data.machine.callbacks(self.on_enter, event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1174, in callbacks
    self.callback(func, event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1195, in callback
    func(*event_data.args, **event_data.kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/spider.py", line 439, in gather_node_data
    self._dispatch_connector_for_node_(task, task.connector)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/spider.py", line 573, in _dispatch_connector_for_node_
    insert_layer_dense_edge(
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/model.py", line 126, in insert_layer_dense_edge
    session.commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2028, in commit
    trans.commit(_to_root=True)
  File "<string>", line 2, in commit
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
    ret_value = fn(self, *arg, **kw)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1320, in commit
    trans.commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2631, in commit
    self._do_commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2736, in _do_commit
    self._connection_commit_impl()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2707, in _connection_commit_impl
    self.connection._commit_impl()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1146, in _commit_impl
    self._handle_dbapi_exception(e, None, None, None, None)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1144, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 702, in do_commit
    dbapi_connection.commit()
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
[SQL: SELECT application_state.id AS application_state_id, application_state.version AS application_state_version, application_state.iteration AS application_state_iteration
FROM application_state
WHERE application_state.id = ?]
[parameters: ('1',)]

Traceback (most recent call last):
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1144, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 702, in do_commit
    dbapi_connection.commit()
sqlite3.OperationalError: database is locked

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/.local/bin/spiderexpress", line 8, in <module>
    sys.exit(cli())
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/cli.py", line 53, in start
    ctx.obj.start(config)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 406, in trigger
    return self.machine._process(func)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1251, in _process
    self._transition_queue[0]()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 420, in _trigger
    self._process(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 443, in _process
    if trans.execute(event_data):
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 278, in execute
    self._change_state(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 289, in _change_state
    dest.enter(event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 130, in enter
    event_data.machine.callbacks(self.on_enter, event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1174, in callbacks
    self.callback(func, event_data)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/transitions/core.py", line 1195, in callback
    func(*event_data.args, **event_data.kwargs)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/spider.py", line 439, in gather_node_data
    self._dispatch_connector_for_node_(task, task.connector)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/spider.py", line 573, in _dispatch_connector_for_node_
    insert_layer_dense_edge(
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/spiderexpress/model.py", line 126, in insert_layer_dense_edge
    session.commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2028, in commit
    trans.commit(_to_root=True)
  File "<string>", line 2, in commit
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
    ret_value = fn(self, *arg, **kw)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1320, in commit
    trans.commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2631, in commit
    self._do_commit()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2736, in _do_commit
    self._connection_commit_impl()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2707, in _connection_commit_impl
    self.connection._commit_impl()
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1146, in _commit_impl
    self._handle_dbapi_exception(e, None, None, None, None)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1144, in _commit_impl
    self.engine.dialect.do_commit(self.connection)
  File "/home/ubuntu/.local/share/uv/tools/spiderexpress/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 702, in do_commit
    dbapi_connection.commit()
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
(Background on this error at: https://sqlalche.me/e/20/e3q8)


AY-6965_ROP default output path, update '/pyblish/' to something less legacy

Please describe the issue with documentation?
Additional context:
link to discussion on Discord
(might be a private channel)
This issue was automatically created from Clickup ticket AY-6965

This may be the issue as https://github.com/ynput/ayon-houdini/issues/21

It overlaps - but I don't think custom staging dirs define the "defaults" - it only defines overrides?


”Nadășa”, ”Sânmihai de Pădure”, ”Șerbeni” are listed in the drop-down menu

Description:
When user writes ”Nadășa”, ”Sânmihai de Pădure”, ”Șerbeni” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Nadășa"

Expected results
The location appears in the drop-down menu as "Sat Nadășa, MUREȘ (Beica de Jos)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Sânmihai de Pădure"

Expected results
The location appears in the drop-down menu as "Sat Sânmihai de Pădure, MUREȘ (Beica de Jos)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Șerbeni"

Expected results
The location appears in the drop-down menu as "Sat Șerbeni, MUREȘ (Beica de Jos)".


Implement global permissions for some entities

Implement global permissions for

[x] all entities
[ ] scripts
[ ] queries
Planning to include in 1.17.0

1.17.0


Update anti-request-forgery.md

Remove phonetic pronunciation explanation of acronym. Such acronyms are spelled out verbally.

Not always ... this is accurate information. I've heard people say it this way.


chore: set the view mode when fetching actions for action collection

Description

Fetch the correct actions for action collection based on view mode.

Fixes [Bug]: When triggering a workflow, unpublished js object is being used instead of a published one.
Automation
/ok-to-test tags="<EMAIL_ADDRESS>:mag: Cypress test results

[!IMPORTANT]
🟣 🟣 🟣 Your tests are running.
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/9691919440
Commit: f3b7bdd5a23ffcc891fffb51aaed39266f8d2dad
Workflow: PR Automation test suite
Tags<EMAIL_ADDRESS>

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

Summary by CodeRabbit

Bug Fixes

Improved handling of action collections in view mode for better accuracy.

Tests

Enhanced tests for action collections, ensuring better validation of collection IDs and metadata.

/build-deploy-preview skip-tests=true


Force libpq{5,-dev} to 9.4.x to unbreak Docker build

Right now the Bottled Water client can't build against libpq version 9.5.x.  I've filed #49 for that problem, but in the meantime, this fixes the Docker build (#48) by forcing the libpq library and dev packages to 9.4.x.
Confusingly the postgres:9.4 Docker image includes libpq5 version 9.5.x, and Ubuntu won't let you install a different version of libpq-dev, so this actually downgrades libpq5 in order to install the desired version of libpq-dev.

+1 looks good to me as a workaround until we fix the build with 9.5.


google-chrome, virtualbox: fix patchelf usages to not crash constantly; tree: patchelf as native

Tired of seeing build logs telling me patchelf segfaults 20 times or
unfriendly assertion failure messages, neither of which are reasonable state of "normal".

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Tested virtualbox, google-chrome, and a number of the expressions modified but not all.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: google-chrome, virtualbox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: google-chrome, virtualbox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: virtualbox
The following builds were skipped because they don't evaluate on x86_64-linux: google-chrome
Partial log (click to expand)
patchelf: cannot find section '.dynamic'. The input file is most likely statically linked
patchelf: wrong ELF type
patchelf: wrong ELF type
patchelf: wrong ELF type
patchelf: wrong ELF type
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/v3wdajb2kbwia7rpic1nqk69g7yh8dsf-virtualbox-5.2.14-modsrc
/nix/store/v3wdajb2kbwia7rpic1nqk69g7yh8dsf-virtualbox-5.2.14-modsrc/build_in_tmp: interpreter directive changed from "/bin/sh" to "/nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/v3wdajb2kbwia7rpic1nqk69g7yh8dsf-virtualbox-5.2.14-modsrc...
postPatchMkspecs

I haven't looked at the details yet, but for virtualbox it might be easier to override stdenv in all-packages.nix to replace patchelf with patchelfUnstable. Similar to overrideCC ...

Bah, I'll just drop the virtualbox fix -- although I do still move it to nativeBuildInputs since that's where it should be as long as it's anywhere.
Then we can use your PR to remove it and leave fixing it for another day (another PR) since it appears to be more involved than I originally thought :).

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: google-chrome
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: google-chrome
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: google-chrome
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

@GrahamcOfBorg build virtualbox

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: virtualbox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: virtualbox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: virtualbox
Partial log (click to expand)
patchelf: wrong ELF type
patchelf: wrong ELF type
shrinking RPATHs of ELF executables and libraries in /nix/store/7bmm92big7jq83lic91agkjyqraiac0h-virtualbox-5.2.14-modsrc
shrinking RPATHs of ELF executables and libraries in /nix/store/7bmm92big7jq83lic91agkjyqraiac0h-virtualbox-5.2.14-modsrc
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/7bmm92big7jq83lic91agkjyqraiac0h-virtualbox-5.2.14-modsrc
/nix/store/7bmm92big7jq83lic91agkjyqraiac0h-virtualbox-5.2.14-modsrc/build_in_tmp: interpreter directive changed from "/bin/sh" to "/nix/store/czx8vkrb9jdgjyz8qfksh10vrnqa723l-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/7bmm92big7jq83lic91agkjyqraiac0h-virtualbox-5.2.14-modsrc...
postPatchMkspecs
/nix/store/84grqvy1b7mja0750578bhc6nma27vph-virtualbox-5.2.14

Great stuff!


ords behaviour does not match the documentation

according to the docs: Add a suffix to an integral, e.g. 1st, 2nd, 3rd, 21st.
λ> format ("prefix "%ords%" suffix") (1 :: Int)
"prefix 1.0st suffix"
"prefix 2.0nd suffix"
"prefix 3.0rd suffix"
"prefix 21.0st suffix"
λ> :q
Leaving GHCi.

[nix-shell:~/Downloads]$ ghc-pkg list | grep formatting
    formatting-6.3.4

i believe its due to the use of shortest in:
https://github.com/chrisdone/formatting/blob/a922965aa58d523feb3174ed994f12b4c4788719/src/Formatting/Formatters.hs#L198-L210

I just made a PR that fixes this and adds tests for ords.


Linter issues solved (fix #64)

flow_manager now is using yala. 17 issues on linter solved.

@josemauro, removing .scrutinizer.yml fixed the test problems. Please accept https://github.com/josemauro/flow_manager/pull/1

After that, please rebase and squash the repeated commits before we accept the PR.


Remove version: qBittorrent.qBittorrent.Qt6 version 5.0.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/qbittorrent/files/qbittorrent-win32/qbittorrent-5.0.0/qbittorrent_5.0.0_lt20_qt6_x64_setup.exe/download
OK
(Automated message - build 923)

Close with reason: Package still available.;


Bluetooth: Fix RX thread deadlock

Fix host RX thread being deadlocked. The deadlock occurs because the
RX thread is stuck waiting in conn_tx_alloc with K_FOREVER but if the
connection is disconnected only the RX thread can unblock it in the
handling of the disconnect event.
Fixes this deadlock by splitting the processing of the
disconnected event into two parts.
The part needed to unblock the RX is to release resources held by
unack'ed TX packets and mark the connection state as not connected
anymore.
The RX thread waiting for free_tx fifo and the TX thread waiting for
the bt_dev.le.pkts semaphore will both check the connected state after
having acquired them and will abort if disconnected.
The rest of the processing will be handled at normal RX thread
priority like normal.
The HCI drivers need to be updated to deliver the disconnected event
from both priority and normal RX context.
Also fix an issue with the advertiser not resuming connectable
advertiser if the last bt_conn_unref happens from something other
than the disconnected callback.
In this case this last bt_conn_unref was from gatt.c notify_cb called
from application main thread.
Fixes: #23364

@erwango @cvinayak @thoh-ot @alexandru-porosanu-nxp could you please test this with your respective Bluetooth platforms please? At the very least connection and disconnection multiple times, ideally with ongoing traffic.

@erwango @cvinayak @thoh-ot @alexandru-porosanu-nxp could you please test this with your respective Bluetooth platforms please? At the very least connection and disconnection multiple times, ideally with ongoing traffic.

Yep, I can do that; I'm thinking of using peripheral_hr (VEGA) & central_hr (NRF) and hack one of them to disconnect and reconnect at about 5-10s interval. If you have a better scenario in mind, let me know and I'll try to figure out how to do it...

Testing on nucleo_wb55rg, I face an issue on disconnect (while HRM notifications are on)
[00:00:24.124,000] <wrn> bt_hci_core: Unhandled event 0x00 len 2: 0813
Then, impossible to reconnect.
Works fine on master

Testing on nucleo_wb55rg, I face an issue on disconnect (while HRM notifications are on)
[00:00:24.124,000] <wrn> bt_hci_core: Unhandled event 0x00 len 2: 0813
Then, impossible to reconnect.
Works fine on master (fae5d96)
EDIT: I'm seeing the same behavior with disco_l475_iot1 (different BT controller, different HCI driver)

Thanks @erwango. Yes the HCI driver shouldn't matter. It is because the bt_recv_prio is doing net_buf_mem_pull on the buf, the state needs to be saved and restored.
It doesn't happen in the hci_driver.c because it doesn't re-use the buf.
Pushed a fix for this issue.

Testing on nucleo_wb55rg, I face an issue on disconnect (while HRM notifications are on)
[00:00:24.124,000] <wrn> bt_hci_core: Unhandled event 0x00 len 2: 0813
Then, impossible to reconnect.
Works fine on master (fae5d96)
EDIT: I'm seeing the same behavior with disco_l475_iot1 (different BT controller, different HCI driver)

Thanks @erwango. Yes the HCI driver shouldn't matter. It is because the bt_recv_prio is doing net_buf_mem_pull on the buf, the state needs to be saved and restored.
It doesn't happen in the hci_driver.c because it doesn't re-use the buf.
Pushed a fix for this issue.

Ok, I'm not able to reproduce anymore.
I've tried to test more and it's working so far. 2 times, I had trouble to restart HRM notifications, but second request went through (not sure this is related of even a zephyr issue).

@erwango @cvinayak @thoh-ot @alexandru-porosanu-nxp could you please test this with your respective Bluetooth platforms please? At the very least connection and disconnection multiple times, ideally with ongoing traffic.

Yep, I can do that; I'm thinking of using peripheral_hr (VEGA) & central_hr (NRF) and hack one of them to disconnect and reconnect at about 5-10s interval. If you have a better scenario in mind, let me know and I'll try to figure out how to do it...

I changed the scenario a bit and did about 10 connect/disconnect with NXP IoT toolbox to the VEGA board running peripheral_hr. So far, no issues.

In general this does seem like the right way to solve the issue. However, could we consider some other name for the new bt_conn state? "Priority' is appropriate for a thread or context, but not a state IMO. Something like PRE_DISCONNECT, or DISCONNECT_1 and DISCONNECT_2 would make more sense to me.

I think I'd also like to generalise this more. I didn't look through the driver changes, but you can't e.g. assume that the host won't change the parsing state of the net_buf, so net_buf_simple_save/restore may need to be used on the driver side.
That said, I don't think it's particularly clean to have the driver have to deal with this. The two-stage processing details would really be best to be left to the host. However, this will require even more redesign of the HCI driver interface. What we would need is a for the host to inject net_bufs to the "root" of the RX threaad. That way you could always feed the disconnect through bt_recv_prio() to the host, and the host would then re-inject it to itself through the RX thread. Another use case that might benefit from this is the ECDH emulation that hci_ecc.c does, i.e. it might make sense to have it feed the HCI events through the RX thread instead of its own.

That said, I don't think it's particularly clean to have the driver have to deal with this. The two-stage processing details would really be best to be left to the host. However, this will require even more redesign of the HCI driver interface. What we would need is a for the host to inject net_bufs to the "root" of the RX threaad.

I was considering this, but this is complicated by the BT_RECV_IS_RX_THREAD option. All the drivers that don't select this one has the same handling for bt_recv and bt_recv_prio. We could move the processing of this to bt_recv in that case.
The drivers that select this option is the zephyr controller and the H4. Maybe we could remove this option from H4 to further simplify it.

@jhedberg @carlescufi Pushed a commit with suggestion for moving the bt_recv/bt_recv_prio handling to the Host when BT_RECV_IS_RX_THREAD is not defined.
If we agree to do this I can rebase it properly. Not exactly sure what should be done when this option is defined. The HCI driver is the one with the most complicated bt_recv/bt_recv_prio handling.

CC: @rugeGerritsen This affects the nRF BLE Controller.

In general this does seem like the right way to solve the issue. However, could we consider some other name for the new bt_conn state? "Priority' is appropriate for a thread or context, but not a state IMO. Something like PRE_DISCONNECT, or DISCONNECT_1 and DISCONNECT_2 would make more sense to me.

I've been trying to come up with sensible names, it's not easy.
I would prefer to leave DISCONNECTED state name as is, since this is also the initial state.
The _1 and _2 versions I'm not sure if you meant for what is now DISCONNECTED_PRIO, and DISCONNECTED, or DISCONNECT, and DISCONNECTED_PRIO
Best I could come up with:
BT_CONN_DISCONNECT_CMD (HCI command has been sent)
BT_CONN_DISCONNECT_EVT  (HCI disconnect complete event has been received).
BT_CONN_DISCONNECTED
or possibly:
BT_CONN_DISCONNECT_SENT
BT_CONN_DISCONNECT_RCVD
BT_CONN_DISCONNECTED
@carlescufi @jhedberg Thoughts?

@jhedberg

I think I'd also like to generalise this more. I didn't look through the driver changes, but you can't e.g. assume that the host won't change the parsing state of the net_buf, so net_buf_simple_save/restore may need to be used on the driver side.

I think that in the case of an event that is both prio and normal we could guarantee that the host will leave it untouched.

That said, I don't think it's particularly clean to have the driver have to deal with this. The two-stage processing details would really be best to be left to the host.

In an ideal world, I completely agree. But the problem is the combined builds and the h4 driver, where the driver and stack are already tightly coupled by the fact that CONFIG_BT_RECV_IS_RX_THREAD=y

That way you could always feed the disconnect through bt_recv_prio() to the host, and the host would then re-inject it to itself through the RX thread

That won't work in the combined build. You would be reordering data and events, because at the point you receive the disconnected event through bt_recv_prio() there might well be data and other events that are queued inside hci_driver.c in non-net_buf format yet, and that haven't been processed into the queue that ends up creating the sequence of calls to bt_recv().

I just realized, for the drivers where CONFIG_BT_RECV_IS_RX_THREAD=n, this breaks the priority handling of num complete (and now disconnect), which is still required. If those drivers just call bt_recv() and the RX thread is blocked then posting it to the rx queue won't help. You still need to be able to execute the processing of the event from another context, which in this case is whoever calls bt_recv_prio()

@joerchan
My preference would be to unify the "disconnection in progress" state into a single one:

BT_CONN_DISCONNECTING: Applies to both having called bt_hci_disconnect or having recieved the first disconnect event through bt_recv_prio
BT_CONN_DISCONNECTED: Final disconnection complete processed

if that is not possible then I would suggest:

BT_CONN_DISCONNECTING_LOC (or BT_CONN_DISC_LOCAL): Applies to having called bt_hci_disconnect
BT_CONN_DISCONNECTING_REM (or BT_CONN_DISC_REMOTE): Applies to having recieved the first disconnect event through bt_recv_prio
BT_CONN_DISCONNECTED: Final disconnection complete processed

The reason why I added a new state instead of re-using BT_CONN_DISCONNECT state is that that would introduce a no state change in bt_conn_set_state since the event is generated when initiating locally as well.
Using remote/local might be confusing since it might be related to who initiated the disconnect (hci status codes: BT_HCI_ERR_REMOTE_USER_TERM_CONN and  BT_HCI_ERR_LOCALHOST_TERM_CONN). So I think using cmd/evt or sent/rcvd would be better.

@carlescufi @jhedberg Updated according to what we agreed on. The use of flags didn't turn out as clean as I would have wanted it, but maybe it is good enough.

The ADV resume commit f24c38c306 (in local 2.2.1 backport version) fixes our ADV race condition, +1 from me.

The ADV resume commit f24c38c (in local 2.2.1 backport version) fixes our ADV race condition, +1 from me.

Great. I have created a separate bug-report in case others run into the issue, they can then see that it has been fixed.


Wildcard host matches in load balancer

Not sure if this is supported, apologies if I've missed it. I'd like to set up a wildcard host match in a Rancher load balancer.
Since (I think) the load balancer uses HAProxy, I wonder if it might be worth adding a type setting to domain and path matches? Or perhaps it'd be enough just to add it for hosts? "Exact" and "Ends with" are the only use cases I can think of, and those only for hosts.
Thanks.

@ndarilek today rancher uses "equals" for host rules and "starts with" for the path. Its a good idea to enhance it with custom qualifiers.
@deniseschannon - marking this ticket as an enhancement request. The fix is not trivial as it would require rancher-compose syntax change for port labels.

+1; This enhancement would be nice.
We're running multiple domains on a single server / IP.
The natural approach was a load balancer to divide requests on a domain basis; such that requests for example.com hit the DomainBalancer which forwards it to a specific load balancer for that domain, and requests for magic.com is forwarded to another domain-specific load balancer.
We tried to use;

example.com --> ExampleLoadBalancer
*.example.com --> ExampleLoadBalancer
magic.com --> MagicLoadBalancer
*.magic.com --> MagicLoadBalancer

But as the wildcard isn't supported, only the magic.com requests will go to the balancer; wiki.magic.com will be lost on the DomainBalancer.
While regex support would be a nice enhancement; I believe that simple capture-all wildcards are a must.

+1

+1

+1

+1

+1

+1

Huge +1 on this

+1
For the implementation of let's encrypt it would be nice to have a total wildcard. Just a asterisk for the hostname would be funtastic

@sangeethah here are the rules for the wildcards:
*.domain.com ->  hdr_end(host) -i .domain.com
domain.com.* ->  hdr_beg(host) -i  domain.com.
domain.com   ->  hdr(host)     -i  domain.com

Tested with server version - V0.50.0-rc3
LB service is degraded when targets are added with Request Host - https://github.com/rancher/rancher/issues/3023

Tested with server version - V0.50.0-rc4
We are able to specify ""Request Host" for targets in the following format:
.domain.com ->  hdr_end(host) -i .domain.com
domain.com. ->  hdr_beg(host) -i  domain.com.
domain.com   ->  hdr(host)     -i  domain.com
Traffic gets routed to the correct set of targets.
This should be available in the next rancher release.

What has the higher priority?
*.domain.com           /api
app.domain.com
If you request 'app.domain.com/api' which container is addressed? I'll assume the first one.

@zaubererty: yes, In your case  , request 'app.domain.com/api' will be redirected to targets configured for  "*.domain.com /api " . The order of priority should be as defined in #1654.

Just checking if wildcard in the middle is not supported. Didn't work for me.

No, thery are mapped to "begins with" and "ends with".  In the middle requires regex, and probably a manually controlled ordering of the rules to control priority.

Any particular reason it wouldn't use hdr_reg?

It would, but there is no sensible way to decide what order multiple begin, contains, and end rules should go in and no mechanism for you to specify it today.
What exactly is the use case here?

But hdr_reg would only require one single rule, i.e. replacing the need for individual begin/contain/end rules.
My case involves multiple layers of load balancing, so that the layer in the middle ends up with a *.foo.* rule. There's a workaround, but was just curious why this is not supported.

Again, the specific way the rule is implemented is irrelevant, there still needs to be an explicit way to order them and we don't have that today because they are an unordered map of labels.

Does Rancher not support catch-all wildcards? I need one container to be a "fallback" container, so if no other rules match, go to this one. This needs to catch any custom domains pointing to it, and is crucial to my use case. Worked fine with setting the virtual host and weight with the official Docker Cloud image, but I've since migrated to Rancher.

Does Rancher support *.sub.domain.com notations?

+1

@Ilya-Kuchaev just a few comments up, the response to https://github.com/rancher/rancher/issues/1787#issuecomment-164651124 indicates that it is.. ;)


The script editor does not remember vertical scrolling when Separate Distraction Mode is enabled in the editor settings

Godot version
3.3.2 stable official
System information
w10 64
Issue description
When switching between 2D and Script, the script editor is placed in a vertical scroll point that does not coincide with that of the user.

Steps to reproduce
Activate the option "separate distraction mode" in the editor settings, in the "editor" section
Make a script with multiple lines to get scroll.
Scroll down the script editor.
Select one of the last lines of the block
Switch to 2D.
Go back to the script.
Check that the vertical scroll matches the one you had previously.
video ->https://youtu.be/kEVSS2ZttlA
Minimal reproduction project
No response

It could be related to the fact of the activation / deactivation of the "no distraction" mode since the activation of the mode reduces the scroll and there may be a mismatch between the scroll point with the activated mode and the scroll point with the mode disabled

I was unable to recreate this with and without "no distraction" mode with the same version and OS

I was unable to recreate this with or without "no distraction" mode with the same version and OS. Is there maybe some other setting that could be playing a role here?

Please try to enable the "Separate distraction mode" option in the editor.
The test would not be valid if your scroll has the same length with the "no distraction" mode enabled or disabled.
That is, the scroll must be different depending on the mode it is activated or not.
This is a test, I am not saying that the "no distraction mode" option or the "Separate distraction mode" option is to blame.

and  Select one of the last lines of the block

I'm not seeing the "Separate distraction mode" option anywhere.
With the normal CTRL+SHIFT+F11 "Distraction Free" mode I don't get the behavior when selecting one of the last lines of the block.
Also, there is a General->Global->"No Distraction" option in the project settings of one of my projects, but not in another, that doesn't seem to do anything when activated... I'm a bit confused why my available Project Settings vary

I'm not seeing the "Separate distraction mode" option anywhere.

It's in Editor > Editor Settings, not Project > Project Settings.

Ok, the option:

A video showing the problem.
In the video you can see that the scroll is positioned well when the current line selected in the script editor does not belong to the last lines.
Later, in the video one of the last lines is selected and now when it is changed to 2D and returns to the code editor, the scroll is not positioned correctly.
https://youtu.be/kEVSS2ZttlA

I can confirm that this happens only when the option "separate distraction mode" is activated

Thanks for the help in finding that menu option. I guess I didn't properly read the first post.
Even with "separate distraction mode" I can't seem to recreate this behavior in 3.3.2.stable, which I see is the same build you're using here.

I have two computers, the error happens to me on the laptop, I will test it on the desktop computer and report the result.

Present in v3.5.beta1.official [b9b23d222]

Present in v3.5.rc8.official [516d6b6ba]
This doesn't happen if I switch between scripts, it only happens if I activate another viewer, for example the "2D" viewer, as you can see in the video above.


combine multiple inflections into a single call?

Is there a way to combine performing multiple h helper/inflection methods into a single call?
my files are looking like this:
to: src/<%= h.inflection.dasherize(h.inflection.pluralize(h.changeCase.lower(name))) %>/<%= h.changeCase.pascal(name) %>ListPage.tsx
which is looking a bit too crazy

nvm found it. i'll just answer my own question
inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'

still, it'd be nice if there's a way to combine both inflection and changeCase

sounds easy. I'll provide a way to compose for v6.2


CPU Feature Detection

The pre-compiled binary used for inference is currently selected either manually (by setting lib=avx or similar) or auto selected based on the current platform:
https://github.com/marella/ctransformers/blob/41abee5aaac84ae9885f2fd90f70dcd8b3edfdfb/ctransformers/lib.py#L14-L24
This auto-selection is unfortunately too coarse to work perfectly, which results in Illegal Instruction errors and requires users on certain systems to manually select a binary based on their CPU feature set.
Would there be interest in a PR to support more fine-grained automatic CPU feature detection? Something like cpuinfo could be used to parse CPU flags from supported operating systems. From there, the implementation logic should be straightforward:
flags = cpuinfo.get_cpu_info['flags']

if 'avx2' in flags:
    path = 'avx2'
elif 'avx' in flags and 'f16c' in flags:
    path = 'avx'
else:
    path = 'basic'

This looks good. In the past, I thought of using a similar library (forgot the name) but didn't use it as it is based on C and requires compiling on user's system. Since the library you mentioned doesn't require compilation, we can use it.
The logic you mentioned can be added inside the last else condition to avoid unnecessarily loading/calling the library when not needed.
else:
    from cpuinfo import get_cpu_info
    flags = get_cpu_info()["flags"]
    if "avx2" in flags:
        path = "avx2"
    elif "avx" in flags and "f16c" in flags:
        path = "avx"
    else:
        path = "basic"

It would be great if you can send a PR.

Sounds good. I've opened a PR (#66) for this.

Thanks. This is released in the latest version 0.2.16

Not sure if it's related but on my side, I had to recompile the package to allow AVX (only) instructions. My CPU is a bit old, even using good GPU. The "cuda" package option yields the same error. I had to recompile it myself.
Is the test, made in this PR, working?


I was running the same ACI as in https://github.com/coreos/rkt/issues/2474 but on a different host.
After some seconds the complete system/desktop freezes (see screenshot) for the last commands.
I could still log into the system from remote however I was unable to reboot the system in a clean way.

There is a warning about the missing 'rkt' group. However adding the group later did not solve the problem. I can crash my system with this rkt command.
What did you expect to see?
What did you see instead?

Are you by chance using btrfs?

OpenSuse Leap uses Btrfs, yes.

It might be https://github.com/coreos/bugs/issues/1110
Can you try to use the --no-overlay flag?

@iaguis I can confirm on my opensuse tumbleweed box this. If I don't use --no-overlay then my laptop freezes. Otherwise, if I use it, everything works as expected.

--no-overlay also works for me.
I wonder if rkt could do some sanity checks on the runtime environment in
advance.
Or something like this script for Docker:
https://github.com/docker/docker/blob/master/contrib/check-config.sh

I agree, would be nice if we can check for this in rkt and bail a little more gracefully.

It works now, with the kernel 4.5.2 (at least with the latest one in Tumbleweed)

Closing, filed #2619 for https://github.com/coreos/rkt/issues/2475#issuecomment-213411558


⚠ Bofrost.de has degraded performance

In 8182bdc, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2102 ms

Resolved: Bofrost.de performance has improved in 8e202b2 after 21 minutes.


New version: InterestRates v0.6.0

Registering package: InterestRates
Repository: https://github.com/felipenoris/InterestRates.jl
Created by: @felipenoris
Version: v0.6.0
Commit: c25d7e139da91901057f77a823ffe314c1fd30af
Reviewed by: @felipenoris
Reference: https://github.com/felipenoris/InterestRates.jl/commit/c25d7e139da91901057f77a823ffe314c1fd30af#commitcomment-56961332

cancel merge


fix: fix/metric annotation wrongly typed

Hello,
following the issue https://github.com/pragmaticivan/nestjs-otel/issues/471, I created this fix
The createParamDecorator didn't returned the right type, so the example code in the Readme can't be compiled. But it does work if you ignore the TS error.
This is the type that was generated in metrics/decorators/counter.d.ts
export declare const OtelCounter: (...dataOrPipes: (string | import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;

I reworked a bit the param decorators with the function createMetricParamDecorator, and gather all of them in param.ts as it has become simpler
With the fix this is the d.ts generated:
export type MetricParamDecorator = (name: string, options?: OtelMetricOptions) => ParameterDecorator;
export declare const OtelCounter: MetricParamDecorator;

I also added an assertion in the E2E test for this use case

Thank you!


PPTX - add support for sequential colouring of likert scales

A request to use specific colours for poistive and negative series in the stacked bar uses for arrays.
This is to be triggered and defined by looking for nets labeled with a "positive" or "negative" label.

https://github.com/Quantipy/quantipy/pull/1332


Build error on ioctx_octopus.go even will using -tags

Hi,
I am running into an issue when building go-ceph when using golang:1.22-bullseye docker base image.  I am using go-ceph v0.28.0.
root@d3cbf0ccd5ac:/src# go version
go version go1.22.4 linux/amd64
root@d3cbf0ccd5ac:/src# cat /etc/debian_version
11.9
root@d3cbf0ccd5ac:/src# apt list --installed | grep -E 'rbd|rados'

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

librados-dev/now 14.2.21-1 amd64 [installed,local]
librados2/now 14.2.21-1 amd64 [installed,local]
librbd-dev/now 14.2.21-1 amd64 [installed,local]
librbd1/now 14.2.21-1 amd64 [installed,local]

Here is the actual error when trying to build. I would think that by selecting tags of quincy this octopus release file wouldn't be compiled.
root@d3cbf0ccd5ac:/src# go build -tags quincy
# github.com/ceph/go-ceph/rados
/go/pkg/mod/github.com/ceph/go-ceph@v0.28.0/rados/ioctx_octopus.go:25:2: could not determine kind of name for C.rados_set_pool_full_try
/go/pkg/mod/github.com/ceph/go-ceph@v0.28.0/rados/ioctx_octopus.go:38:2: could not determine kind of name for C.rados_unset_pool_full_try

According to https://docs.ceph.com/en/latest/releases/ Ceph 14 was Nautilus.
They way our build tags work is inclusive of older versions. So if you use build tag "pacific" you'd get all features that were added in pacific and prior (octopus, nautilus, etc...) . Build tag "quincy" includes all new features for quincy + pacific (and prior).
So choosing "quincy" will not exclude features that were added in "octopus". You can try using the nautilus build tag. We still test it - but as I note in #648, not for long*.

We're not planning on removing the tag, just cease testing. But you know what that leads to. :-)

I should also note that these days I try to discourage folks from naming files after ceph releases. But we were not aware of the confusion that can sometimes cause at the time the file in question was added.

Thanks for the help. I advanced the librbd and librados libraries on my build image to Quincy (which is the Ceph version we are using) and was able to build just fine.


add in "link" ability to parse HTML files and/or Google docs

leave this out for 1.0 release but in future would be great to have ability to paste link and it would

parse HTML file if it's web file
parse Google doc if it's google doc

not crucial for now

+1 - i'd love to be able to go to something like https://databasic.io/en/wtfcsv/url?u=https://publiclab.org/114735.csv -- and be able to view the CSV from there. I would love to have a little WTFcsv icon to click on to open it up. Love the site; happy to see if I can implement this if pointed at the right part of the code!

Ah and if implementation in WTFcsv is separate enough from the other services, this might be a separate issue.


Stack size too large

sink-connector-lightweight
version: 2.1.0
started getting error:
java.lang.RuntimeException: java.sql.BatchUpdateException: Code: 306. DB::Exception: Stack size too large. Stack address: 0x7f7208dff000, frame address: 0x7f72091fde20, stack size: 4198880, maximum stack size: 8388608. (TOO_DEEP_RECURSION) (version <IP_ADDRESS>00 (official build))
running with java opts -Xmx10g -Xms4g

Sorry, I'd my materialised view problem in Clickhouse. Nothing to do with connector.


)HERE’S! WAY TO WATCH Aston Villa vs Tottenham Hotspur EPL Premier League Live STREAMS ON Tvs CHANNEL Reddit

27 minutes ago
The game-day comes and his little tweaks at half-time were the best I have been a part of.
As a Chelsea fan, I’ve never really taken a liking to Tottenham, but I always respected their line-ups when they had a spine of English players and the values that they seemed to have in their club to promote English talent, something which Chelsea struggled to do for a long time. With only one English player selected today it’s sad to see that this is no longer the case. Funny what clubs will do in search of that elusive trophy!
I spoke to Ange Postecoglou and I didn't know his background.
I was potentially thinking about finishing football, but I wanted an opportunity to play with freedom and passion and he said, 'I could do it with him' [at Celtic].
I went up there and Celtic were in a bit of disarray, and he was so clear and dedicated in what he wanted.
Tottenham vs Aston Villa Live
Tottenham vs Aston Villa Live Stream
Tottenham vs Aston Villa Live Stream Reddit
WATCH Tottenham vs Aston Villa LIVE

gbnghngh


Expand PR checks to cover windows-2022

Expands our test coverage to test against windows-2022. In particular, we run these tests in addition to existing ones whenever a test is with a new CLI version and was already being run on Windows.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

Closing and reopening to restart the CI.


[capture-promotion] Be sure to copy_value a struct_extracted value from a promoted capture even though the value is borrowed.

[capture-promotion] Be sure to copy_value a struct_extracted value from a promoted capture even though the value is borrowed.
The issue here is that we know that the given value is already borrowed, so
technically, we do not need a copy. The problem is that there is still
potentially a destroy of the value that will be cloned by the closure cloner.
This results in use-after-frees.
This commit fixes the problem by inserting the relevant copy_value and changing
the borrowed value into a +1 copy.
This is a bug that would have been caught by the Ownership verifier since a
borrowed value can not be destroyed (so the verifier would have tripped).
rdar://32625475

@swift-ci smoke test and merge


Http-based clients should send client version in User-Agent header

GCS reporting can only parse out of the header rather than the x-goog-api-client header.
The format of the User-Agent header should include be gcloud-java/x.y.z
Note: this is a short-term fix

@chingor13 Is this still valid (and causing some problems)? If so, please reopen this.


bin file data format

Hello, I have another question. When I read the point cloud bin file, I found that the value inside is very small, all less than 1. What preprocessing has been done? I would be waiting for your reply. Thank you!

Hi, points clouds in robotcar dataset, are actually not the original point clouds in Oxford RobotCar dataset. The dataset we use contains pre-processed point clouds from an original Oxfrod RobotCar dataset, prepared by authors of PointNetVLAD paper. Their pre-processed dataset is used in a number of other works (e.g. PCAN, LPD-Net, MinkLoc3D and our MinkLocMultimodal).
This paper describes how these preprocessed point clouds are prepapred: https://arxiv.org/pdf/1804.03492.pdf. Basically they merge consecutive scans from 2D Lidar (from the original Oxford RobotCar dataset) during 20 meter traversal of the car, remove points on the ground plane, downsample to exactly 4096 points and re-scale all coordinates to be in -1..1 range. So it's OK that the values are within -1..1 range - it corresponds to a real range about 20 meters.
mink_quantization_size parameter in model_config file (e.g. in models/minklocmultimodal.txt) controls voxel size and must be set appropriately. Currently it's set to: mink_quantization_size = 0.01 - which is fine for point clouds with coordinates in -1..1 range. In each direction we'll have up to 200 voxels.
But if you want to process point clouds with coordinates in real world units (e.g. point clouds from 3D Lidar scans with coordinates within 100 meters range from Kitti dataset) you need to change mink_quantization_size parameter to larger value, e.g. 0.3 (=30 centimeters).

Ok, I see, it’s great for me to help the team, thank you very much


Add Alert Component

@osbornm  - Can you help me figure out this build error?  I didn't touch this component and locally my system sees this import but fails to build.
https://github.com/Hyphen/hyphen-components/actions/runs/7718159289/job/21038831259?pr=4#step:5:44

We are also using semantic release here just like with design tokens (sorry not documented) so you'll need to name this PR correctly. see: https://github.com/Hyphen/hyphen-design-tokens?tab=readme-ov-file#releases

The issue with the button component is a difference in storybook build and dts build I will fix that in a separate branch/pr. After commenting that out you had another build error I fixed.


I don't think you meant for this to be included in the project.

https://github.com/BESTSELLER/backstage-plugin-harbor/blob/56069c378de93a918a9a4204e2b5e9bd22b81ff7/app-config.yaml#L2

As we are no longer using Harbor, we will now archive this repo.
We would love to donate the project to someone else, so if anyone wanna take over the project they can contact us on<EMAIL_ADDRESS>


build meta - allow moving the build folder

at the moment is not possible to move the build folder generated during the build wheel outside of the project root directory; the main reason for it is that setuptools assumes setup.py is in the cwd at start 👍  perhaps allow changing it is all that would be needed

What would the interface for this look like? Is the idea that this would be something that a project does, or an option that an individual developer would invoke as part of the build?

Paul this is mostly related to improving the build meta frontend. Notably, I would like to avoid creating additional temporary directories within the root file system. A wheel build now generates three directories:

the wheel metadata,
the build folder,
and the output directory

The first one is immovable at the moment because of https://github.com/pypa/setuptools/issues/1825. The third one can be changed via the build frontends wheel_directory. The final build folder is about this issue.
https://github.com/pypa/setuptools/blob/master/setuptools/build_meta.py#L225 delegates PEP-517 calls to setup.py invocations. Notably the setup.py is assumed to be always at the current working directory as the setup_script='setup.py' and script_dir = os.path.dirname(os.path.abspath(setup_script)). This is correct though as PEP-517 states under https://www.python.org/dev/peps/pep-0517/#config-settings:

All hooks are run with working directory set to the root of the source tree, and MAY print arbitrary informational text on stdout and stderr.

Now coming back to the build folder this is set by https://github.com/python/cpython/blob/master/Lib/distutils/command/build.py#L101-L108; and the default is build per https://github.com/python/cpython/blob/master/Lib/distutils/command/build.py#L57. Now this folder is configurable though:
python3.7 setup.py build --help
Options for 'MyBuild' command:
  --build-base (-b)  base directory for build library

What I'm asking here is to make this controllable from the PEP-517 entry-point. That being said now that I walked through this realize that if anything this would goo into mostly the wheel package as that's what calling the bdist that calls build 🤦♂  So never mind. The solution is probably for wheel to provide some kind of --build-base that one could pass through via the --global-option.

created https://github.com/pypa/wheel/issues/306 as follow-up

Per discussion in https://github.com/pypa/wheel/issues/306 https://github.com/pypa/setuptools/blob/master/setuptools/build_meta.py#L191 should first call build with the --build-base argument. Perhaps the way it could be done is to allow arbitrary command selection, we already have config_settings["--global-option"] that contains arguments for the wheel command. Maybe we should allow the caller to invoke additional commands before the bdist_wheel as in:
config_settings["build"] = ['--build-base', '/w/x']

and instead of https://github.com/pypa/setuptools/blob/master/setuptools/build_meta.py#L191-L193:
cmd = list(sys.argv[:1])
for key, value in config_settings.items():
    if key != '--global-option':
       cmd.append(key)
       cmd.extend(value)

cmd.append(setup_command)
cmd.extend(['--dist-dir', tmp_dist_dir])
cmd.extend(config_settings["--global-option"])
sys.argv = cmd

What do you think, would a PR achieve this be accepted?


[Request] allow devTools with --production

It would be helpful to be able to build a production build using electron-builder that can have devtools enabled, so that we can debug any discrepancies between the dev and prod desktop build. Perhaps an env var
ELETRON_DEV_TOOLS_PRODUCTION=true meteor run --mobile-server=<IP_ADDRESS>:3000

thanks for getting this in!

No problem, sorry you had to wait for it and thanks for your effort in the PR!


Error building: conn.setSession undefined (type *Conn has no field or method setSession)

I have a problem building mongodb using linuxbrew. It crashes when it tries to build this module.
Building bsondump...
# github.com/spacemonkeygo/openssl
vendor/src/github.com/spacemonkeygo/openssl/net.go:121: conn.setSession undefined (type *Conn has no field or method setSession)
vendor/src/github.com/spacemonkeygo/openssl/net.go:128: conn.SetTlsExtHostName undefined (type *Conn has no field or method SetTlsExtHostName)

Do you have any idea what's causing the problem?
See this related issue for full log: https://github.com/Linuxbrew/homebrew-core/issues/1892

Maybe the upstream people who stuck the code in the vendor folder missed some updated files? The conn.setSession method was added in 4d3c3b16ef613e640d553be49fb1cfd95492a6e0, but SetTlsExtHostName was there from the first time we open sourced it.
Perhaps they've made some changes? I honestly don't know.


Markerview not work (Xamarin.Forms) in Android

When Pin clicked , How to show custom info window View on Marker Click???..........
Polygons and polyline can not work for different longitude and latitude. How can I solve this Issue???.....

Hi @NaiyaPatel2598 ,
MarkerView is being rebuilt from ground-up, and it doesn't support custom view at the moment.
To handle PIN click event, it's a bit tricky.
Please check out sample PluginSymbolListener and read more on Mapbox relevant document.
Cheers.

Thank you!


(BKR-1139) Add /usr/local/bin to SSH PATH on OSX

Typically an interactive OSX SSH shell has /usr/local/bin added
to PATH.
However, for non-interactive SSH shells, OSX locks down security a
bit tighter and doesn't add /usr/local/bin by default. Beaker has
already added PermitUserEnvironment yes to /etc/ssh/sshd_config
to be more lenient and allow additional elements to be added by
the way of ~/.ssh/environment file written during Beaker host
initialization.

This is necessary because of OSX SIP (System Integrity Protection)
that marks /usr/bin read-only, and suggests /usr/local/bin be the
target destination for any user installed binaries.
For instance, should the Ruby gem command be used to install
gems with binstubs (like Bundler), they are written to
/usr/local/bin. Without this change the bundle command is not
in PATH. This can prevent Puppet source based acceptance testing
through ci:test:git from finding binaries it may install during
setup.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3883/

More info on the OSX and why /usr/local/bin isn't in the SSH env by default - https://git-annex.branchable.com/forum/OSX__39__s_default_sshd_behaviour_has_limited_paths_set/

@Iristyle I've taken the time to add some tests to this in https://github.com/Iristyle/beaker/pull/1. If you'd either merge those into this branch, or add your own tests, we'd like to have some tests to make sure we don't break this functionality in the future. Once that's in, we'll get this through automation once more & merge it. Thanks!

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3889/

build timed out on the reboot test 🤢 , not something that we typically see, but it doesn't seem related to the changes in this PR, so I'll re-kick.
@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3891/

@kevpl it turns out that other platforms look to have similar needs (SLES for instance).  I'm wondering if it would be that harmful to just include /usr/local/bin in PATH for all platforms even if it they don't explicitly need it?

@Iristyle I've created #1410 to try this out against our testing. I like the idea, but I worry that there's some one-off OS that won't eat the error if the path doesn't exist or something hinky like that..

@kevpl thanks.
A couple of additional notes:

I can't think of a situation where it would be harmful to include /usr/local/bin automatically in PATH - and doing it in one spot for all platforms is pretty convenient / future-proof, rather than incrementally adding individual platforms, which will probably be cumbersome over time.
But... where does /usr/local/bin belong in PATH order?  I believe it should be at the front of PATH and preferred over other system directories as this is where newer tools would be installed.  Interestingly, while validating ci:test:git against SLES11, /usr/local/bin did not end up at the beginning of the evaluated PATH, even with it at the beginning of PATH in ~/.ssh/environment. It appears SLES has a different way of merging environments together than other platforms, so the resultant PATH does not prefer /usr/local/bin as desired.  In the SLES11 case, I had to "echo 'PATH=/usr/local/bin:$PATH' > ~/.bashrc" to get the desired behavior.

For reference, a few more notes on the SLES11 ci:test:git case:

SLES11 system Ruby is 1.8.7, which is not compatible with Puppet
To enable ci:test:git to work I needed to build / install Ruby 2.4
I used the simplest most vanilla build process possible (i.e. no RVM or rbenv) - grab a tarball and kick off gcc
The ~/.bashrc solution was the only one that would allow the newly compiled / installed Ruby to override the pre-installed system Ruby
I did not try uninstalling the system Ruby package, which might also achieve the same thing - but uninstalling existing packages probably isn't a great solution as package names / dependencies will vary by platform. It's probably best to just let multiple Ruby versions peacefully co-exist.

this conversation has been sitting fallow between this PR, #1406, & #1410 for a very long time.
Since that's the case, it doesn't seem like a pressing issue, so I'm going to close these PRs.


EL:1233: Display the full UAT URL, in CircleCI dashboard

Jira ticket
What changed and why
Updating this file bin/deploy in order to unhide $BRANCH_HOST_SUFFIX in CircleCI job output.

Secrets masking is applied to environment variables set within Project Settings or Contexts in the web app.
The value of the environment variable or context will not be masked in the job output if:

the value of the environment variable is less than 4 characters
the value of the environment variable is equal to one of true, True, false, or False

Guidance to review

Used this [documentation ](https://circleci.com/docs/env-vars/#secrets-masking

Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing
Branch is generally up to date with main Github - definitely no conflicts
No unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
PR description says what changed and why, with a link to the JIRA story.
Diff has been checked for unexpected changes being included.
Commit messages say why the change was made.

No longer needed - wanted to try out different things in order to show environment variables in the CircleCi job output.


Remove or update NetworkStatusController

The network controller relies on https://api.infura.io/v1/status/metamask, which is depracated.
This endpoint's only use case is showing a message about network status in mobile. That usage is currently broken, and shows the network status as good/operational regardless of the actually network status.
We either need to remove this controller or update it. The former can be a short term solution to unit tests failing on develop. The latter is what we need to do to eventually support correct display of network status in mobile. The latter will require use of an endpoint like https://hfq2h9152m63.statuspage.io/api/v2/components.json, or a proxy for status should we so choose.

This was removed in #298


Installation and mounting of npm bootstrap causes toCSS generations error

What version of Hugo are you using (hugo version)?

$ hugo version
hugo v0.140.0-3f35721fb2c75a1f7cc5a7a14400b66e73d4b06e+extended linux/amd64 BuildDate=2024-12-17T14:20:55Z VendorInfo=gohugoio

Does this issue reproduce with the latest release?
Yes
Bug description
Installing Bootstrap with NPM causes errors in hugo, where it complains that there no provided resources in SCSS to CSS transformation. Mount in the node_modules dir is present in config.
Here is the error log:
Error: error building site: render: failed to render pages: render of "/home/mathis/Documents/Git/Freecad-library_Viewer/content/_index.md" failed: "/home/mathis/Documents/Git/Freecad-library_Viewer/layouts/_default/list.html:3:3": execute of template failed: template: _default/list.html:3:3: executing "_default/list.html" at <partial "head.html" .>: error calling partial: "/home/mathis/Documents/Git/Freecad-library_Viewer/layouts/partials/head.html:14:45": execute of template failed: template: partials/head.html:14:45: executing "partials/head.html" at <toCSS $opts>: error calling toCSS: no Resource provided in transformation

Here is the site code:
code.zip
Is the bug reproducible?
Yes. Bug was succesfully replicated by @rafaelmardojai on latest version of hugo

Please use https://discourse.gohugo.io/ for questions/troubleshooting. Also see  Hugo Documentation.