webui: low priority improvements

Notification
Warn user if required options are missing and trying to build. At the moment only required option should be localization.hostname.

Order of the options
Options should appear in the same order as they appear in https://github.com/ponkila/nixobolus/blob/main/modules/homestakeros/options.nix. Please note that this is not a webui issue, as they are arranged in the same order in schema.json like they should. It seems that some process is rearranging them in alphabetical order, and I'm not sure if there's anything we can do about this.

I will add things here as they come to mind and feel free to add them yourself as well.

Show/hide sections

I think that all the option sections should be closed, except for "localization". It would be nice to control these kinds of things from the module options at some point. In the same manner that Juuso was talking about the "required" tag here: https://github.com/ponkila/HomestakerOS/pull/12#issuecomment-1689079750. Something to think about.
Show/hide all section would be good to have if most of them are closed by default.

Localization could later be fetched using browser APIs: the browser has access to geolocation and time localization of the user. This approach for default values is something to consider.
I think in general, we can address these smaller issues after getting some feedback on what seems the most logical to someone who has never seen the options before. Counterintuitively, some people have asked basically a book on the options so that they can learn more about homestaking and Linux in general -- these people wan't to control things and understand why these options even exist.


Assess IOSPE codebase for any more features to adapt

Jamie: is everything under IOSPE mined and replicated to your satisfaction? If so, please close this ticket. If not, comment on what remains to be done, and assign to "1.0" or "Future" as appropriate!

Support for bibliographic concordances needs to be added. It's the first case of a file in content/ needing to be a particular name (by default; it can be changed in the sitemap) for it to work, sadly. Otherwise I believe it's all done. I hadn't realised the concordance was something backed by the EpiDoc guidelines.

The handling of the concordance requires coming up with a rendering of tei:bibl, tei:biblStruct, etc, which is a well-known nightmare because they can contain basically anything, and everyone wants their bibliographic entries to look in their particular precise style. I propose that EFES just provides a basic rendering based on the simplest possible markup (ie, tei:bibl, no children of tei:author and tei:editor, etc? Even that will require some sort of specification of the desired output.

I have committed the bibliographic concordance work, even without any good display of bibliographic items, simply because the actual functionality is present and it involves changes to a bunch of files. Polina is working on a wiki page documenting this feature.

This looks done to me. There is a bibliography WP for EFES 2.0, so any incomplete work there will be reopened next year. Closing.


Set the model matrix and projection separately for shadow cameras

This is in preparation for VSM, which needs to access the light's position in the shaders.

This makes me very nervous, I'm not sure why.

Understandable. I double checked and the resultant clipFromWorld remains unchanged.


lxd/instance/qemu: Don't use the RAM backend

We were using an inconsistent mix of ram & memfd in some situations
which apparently causes memory issues.
Closes #8400
Signed-off-by: Stéphane Graber<EMAIL_ADDRESS>

Testsuite passed


React 19 - Each child in a list should have a unique "key" prop.

Describe the bug
When trying react-grid-layout with React 19 (beta), I get the following error:
Warning: Each child in a list should have a unique "key" prop.

Check the top-level render call using <Fragment>. It was passed a child from ReactGridLayout. See https://react.dev/link/warning-keys for more information.
    at GridItem (http://localhost:3000/static/js/app.bundle.js:82024:5)
    at div
    at ReactGridLayout (http://localhost:3000/static/js/app.bundle.js:82620:5)
    at ResponsiveReactGridLayout (http://localhost:3000/static/js/app.bundle.js:83614:5)
    at WidthProvider (
   ...

Your Example Website or App
https://codesandbox.io/p/sandbox/react-grid-layout-d5v98m
Steps to Reproduce the Bug or Issue
Open the sandbox then open the console. I believe the bug is present on all grids, whether they have blocks or not.
Expected behavior
There should not be key error.
react-grid-layout library version
1.4.1
Operating System Version
Windows
Browser
Chrome
Additional context
If I'm not wrong, the fix is just adding a key here. I'm not sure why there is no error on React 18.
Screenshots or Videos
No response

Solved on 19.0.0-rc-bf3a29d097-20240603. So it was a problem with the beta version.
I'm still wondering why we don't always get the error though, I can't see key on GridItem.


Settings for Mask RCNN version

Thank you for sharing your work! I really enjoy playing with VIMA.
Your code in example.py assumes ground truth segmentation mask of object is given.
Can you share codes for Mask RCNN version where segmentation mask is not given by simulator?
Or can you tell me which kind of modification is needed for Mask RCNN version?

Hey, thanks for your interest! We are currently working on clean-up and will release corresponding code soon.

Thank you!

@yunfanjiang training code is going to be public in the future?

Because the training code is tightly coupled with company infra, I'm afraid that we will not be able to disclose it. Apologize for that.


Fix wording in a warning message.

Added a "but" to match the corresponding warning for the other bit in the same register.

Thanks :) will accept on the next stream.

Alrighty! Do you know when you might stream next...?

Probably this weekend :)

Yeah, just decided Saturday 2pm PDT :)


Ability to change Window/Tab title

An ability to define what's shown in the title of the tabs/windows would be nice, additionally to what's displayed in the footer of the window. Information could include (but not limited to):

Currently running task(s) and their argument
Name of working directory
Window size
Account/Hostname

Kind of like Max OS X Terminal does it.

Please vote.


Dashboard: Pg2 - Add table and drawer framework

Reviewer: @suzinyou
Estimate: 20mins

Ticket
Fixes: AAQ-712
Description

Goal
Add the Table at the bottom
Add framework for drawer
Changes

Table added - filter, sort, and pagination work
Refactored dashboard to logically organise components

Future Tasks (optional)
Next up: Populate drawer.
See JIRA for other tasks
How has this been tested?
Create dummy data
Try sorting, filtering and navigating pages
To test out pagination, you'll need to either add more content or change const N_TOP_CONTENT = 10; to const N_TOP_CONTENT = 5;
To-do before merge (optional)
Checklist
Fill with x for completed.

[x] My code follows the style guidelines of this project
[x] I have reviewed my own code to ensure good quality
[x] I have tested the functionality of my code to ensure it works as intended
[x] I have resolved merge conflicts

(Delete any items below that are not relevant)

[x] I have updated the automated tests
[ ] I have updated the scripts in scripts/
[ ] I have updated the requirements
[ ] I have updated the README file
[ ] I have updated affected documentation
[ ] I have added a blogpost in Latest Updates
[ ] I have updated the CI/CD scripts in .github/workflows/
[ ] I have updated the Terraform code

Would it be easy to get rid of this scroll? Somehow, make the page occupy the full height of the page? It looks fine on full screen for MacBook air 13 inch, though..


[Snyk] Security upgrade passport-saml from 3.1.1 to 3.2.2

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

opencti-platform/opencti-graphql/package.json
opencti-platform/opencti-graphql/yarn.lock

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

656/1000  Why? Recently disclosed, Has a fix available, CVSS 7.4
Improper Verification of Cryptographic Signature SNYK-JS-PASSPORTSAML-3043103
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Not using the master branch, this can be ignored


Create PKGBUILD and fixed licensing issues..

This pull request addresses the issue regarding the use of Apache2 as a license identifier in the PKGBUILD script for the napture package. As per recent updates, Apache2 is no longer recognized as a valid SPDX license identifier. To resolve this, I've updated the license entry to comply with SPDX standards.
Key Changes:
License:
Updated the license entry in the PKGBUILD script from Apache2 to Apache-2.0, aligning with the SPDX License List (https://spdx.org/licenses/) and Arch Linux packaging guidelines (https://wiki.archlinux.org/title/PKGBUILD#license).

I still don't see cargo in makedepends 🤔

Done


Bug: No spacing between tag and input

Need spacing between input and tags:

@tamtamchik is it Safari? I can't reproduce this bug in Chrome or Firefox

@Sacret yep.

Magic! >_<

@Sacret fixed! Thanks!


Connectivity issues with Azure Cosmos API

Are you looking for help?

Connectivity issues with Azure Cosmos Mongo API

ReactiveMongo Version (2.12:1.0.10)
MongoDB version

We are using Azure Cosmos Mongo API. So, we don't know any specific MongoDB version

Operating System (MacOS 12.5.1)
JDK (Oracle 1.8.0_292-b10, OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10))

openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)

Library Dependencies

Playframework-27
play2_reactivemongo_2.12:1.0.10-play27

Expected Behavior
Please describe the expected behavior of the issue, starting from the first action.

Using connection string
mongodb://abhishek-dev-db:{password}@abhishek-cosmos-dev-cosmos.mongo.cosmos.azure.com:10255/movies?ssl=true&maxIdleTimeMS=20000&rm.keepAlive=true&rm.tcpNoDelay=true&appName=@movies-cosmos-dev-cosmos@
Should maintain a consistent connection pool and recover connection (if failure)
strictUri=true

Actual Behavior
Getting different errors, random and inconsistent

"MongoError['No authenticated channel for the primary node:
"MongoError['No primary node is available!
Connection lost very often

Please provide a description of what actually happens, working from the same starting point.

Reading data from a source and writing to MongoDB (Azure Cosmos MongoDB)
For each record we write to Cosmos we first look for that record using an id
if records exists we skip else we run an insert query
We are processing at least 100,000 records.

Reproducible Test Case
Process 100,00 or more queries

As indicated, this issue tracker is for confirmed issue, not to ask for help.
Please rather use StackOverflow or MailingList.

BTW "Process 100,00 or more queries" is not a reproducer.


Jetpack navigation plan

From the README:

we are thinking about ways to integrate jetpack navigation

What is the plan for this?

We're currently experimenting with multiple different ideas regarding this. Internally, we use some representation of backstack in the AppState. This backstack is then observed and translated to navigation actions. However, this approach is duplicating some of the work done in the Jetpack Navigation component. Ideally, we'd like to provide some way of navigating from reducers without this duplication. We're open to any ideas.

Yeah, we couldn't really understand the benefit of keeping the backstack in the AppState so we removed it in our app.


Allow tolerance for pkcs7 signing time during device enrolment

An iPad failed to enrol due to a clock issue, most likely due to the iPad's clock not having properly synced yet (server clock confirmed correct and NTP synchronised).
level=info handler=cert-extract trace_id=7dc2a24bd394756e msg=verifying Mdm-Signature header err=pkcs7: signing time "2023-04-07T00:16:58Z" is outside of certificate validity "2023-04-07T00:16:59Z" to "2033-04-04T00:16:59Z" caller=mdm_cert.go: 92
As the iPad was enrolled in DEP and management was mandatory, this left the following consequences:

The iPad retried enrolment using the enrolment profile it had already obtained (it doesn't try and get another one)
The SCEP one-time challenge had therefore already been used, so certificate enrolment now failed
The iPad required erasure by connecting to a Mac and issuing the command with Configurator 2

While chances of this happening are small, it can leave users in a tricky situation with regards to recovering the device.
A tolerance on the signing time when checking against NotBefore of around 2-5 seconds is proposed to mitigate this event.

It's funny you bring this up. This was a topic in the #micromdm channel with @korylprince a few days back and resulted in micromdm/micromdm#871. Part of the discussion was that the code has been like this for however many years the MicroMDM project has been a thing and we hadn't heard of it (though, admittedly, because the errors were effectively hidden it's hard to rule out that people just weren't seeing the error).
Anyway a couple notes/questions:

of around 2-5 seconds is proposed to mitigate this event.

Can you give a basis for your recommendation of 2-5 seconds here? Kory suggested five minutes (in the issue). I'm curious why you couldn't just wait for NTP to sync and re-attempting enrollment?
Secondly since this is NanoMDM and because of our previous Slack conversations I'd highly suggest taking a look at using mTLS (instead of relying on the Mdm-Signature header). This is enabled in NanoMDM by using the -cert-header flag and requires your upstream proxy to hand over the header containing the certificate. I think mTLS is a much better option than the Mdm-Signature header if you can afford it in your environment.


Frontend Modularization: MLStudio

Feature or Bugfix

Refactoring

Detail

move al MLStudio related services into MLStudio module (views, components, services, ..)
update routes
remove unused modules
use absolute path addressing

Relates

#398

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I rebased this branch to modularization/frontend to fetch the "absolute imports" changes and fixes.
Also, left out one part: "moving Stack and StackStatus to Shared dir in modules" as they're being used in  MLStudioView. I already did this refactoring in another PR #590, so i'm just waiting for the changes to get merged, then rebase to fetch these changes and avoid conflicts


Greeting from the Po river

Open source moment

https://user-images.githubusercontent.com/12383260/203658485-1a532e4f-0414-42eb-89b3-f8c6eae034f7.mov

Open source moment


add more cuda compute capabilities

should fix #104
I'm not sure if this is the proper way to fix. It should be configured through configure.py during built from source.
I added these versions to match what tensorflow-gpu pip packages support, but will increase build time.
cc @karllessard @saudet

Thanks @roywei ! Triggering a CI build from your branch, let see if we are still able to build in time the GPU binaries for Linux on GitHub action with these new settings.

Right now this is what we need for Deep Java Library to work on GPU. We can reduce the versions to 3.5 and 7.0 if it brings too much burden to CI, DJL can build from source using our machines.
I agree that TF might revert that change if they see more of the same issues. We can keep the issue open and revert this change if TF also reverted theirs.

Seems CI taking too long, let me know what arch I should change it to. If you guys can report this to someone at tensorflow, we can also leave it for now.

So after two attempts, the GitHub build was failing with this new set of capabilities (it was a bit expected since we were already so closed to the 6 hours timeout with the previous/more conservative settings).
I'm not sure what we can do to improve the situation right now but I had a discussion with Joana (@google) today and it seems that our inquiry for GCP machines is still moving forward, we can then retest it. We'll keep the PR opened but I've added a label "On hold" until there is more progress on this side.

@roywei If 3.5 and 7.0 with PTX works for you, I'd be OK with this:
export TF_CUDA_COMPUTE_CAPABILITIES="3.5,7.0"

Yes, thanks! I see it's been updated, closing.


Streamline the patient intake process

Motivation
The current patient intake process is not straight forward and allows for inconsistent states (like selecting an existing patient AND selecting emergency intake data at the same time). The process should therefore be made more 'linear' to reduce the risk of accidentally submitting wrong information and improving the intuitiveness.
Proposed Solution
When clicking the 'Patient Intake' tab in the sidebar, the user is presented with three options: 'Select existing patient', 'Create new patient' and 'Perform emergency intake'. The last option should only be visible to users working in the emergency department. Besides these three options, the rest of the UI is empty. Once one of the buttons is pressed, the user is taken to a site where the required patient information is entered (depending on which method has been selected beforehand). After confirming the patient data, the user is taken to the last page, where the required intake information can be entered (Diagnosis code, Note, Admission / discharge date, Ward, Accompanied, …).

The bugfixes for #20 and #23 have been merged into dev and are therefore available to be integrated into your branch.


the results in Tanks and Temples

Thanks for your generous open source. We apply unimvsnet_blendedmvs.ckpt to reproduce the results of Tanks and Temples via scripts/tank_test.sh. Results are approaching in advanced while those of intermediate drop considerably. Is there any different setting between  intermediate and advanced，e.g., inverse depth, num_view, ndepths, interval_ratio ?
The full results are as follow:
F-score:
Auditorium: 27.28
Ballroom: 44.05
Courtroom: 39.13
Family: 34.35
Francis: 24.06
Horse: 06.13
Lighthouse: 58.74
M60: 57.29
Museum: 52.20
Palace: 32.27
Panther: 57.88
Playground: 57.57
Temple: 33.45
Train: 45.85
Mean intermediate: 42.73
Mean advanced: 38.06

I guess you may not use the short depth range version of the camera parameters as we described here.


Map attributes from link model(association table)

Example Code
class Employee(SQLModel, table=True):
    id: uuid.UUID | None = Field(default=uuid.uuid4, primary_key=True)
    username: str
    first_name: str
    last_name: str
    email: str =<EMAIL_ADDRESS>    is_active: bool

    departments: List["Department"] = Relationship(
        back_populates="employees", link_model=DepartmentEmployeeLink
    )

class DepartmentEmployeeLink(SQLModel, table=True):
    department_id: int | None = Field(
        default=None, foreign_key="department.id", primary_key=True
    )
    employee_id: uuid.UUID | None = Field(
        default=None, foreign_key="employee.id", primary_key=True
    )
    primary: bool

class Department(SQLModel, table=True):
    id: int | None = Field(default=None, primary_key=True)
    name: str
    employees: List["Employee"] = Relationship(
        back_populates="departments", link_model=DepartmentEmployeeLink
    )

Description
How i can map primary attribute to employees departments list?
Operating System
Linux
Operating System Details
No response
SQLModel Version
0.0.6
Python Version
3.10
Additional Context
No response

seems not supported atm
https://github.com/tiangolo/sqlmodel/blob/8d1b6f079adad47cc242710f6cb1790a8ad8fbd2/sqlmodel/main.py#L107-L117
@tiangolo do we have any roadmap to support this?

I am also struggling with this. I want to include the link model additional properties on the response object, but there is no clear example of how to modify a response model with additional fields from child model.

The following example is from https://sqlmodel.tiangolo.com/tutorial/many-to-many/link-with-extra-fields/
from typing import List, Optional

from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select

class HeroTeamLink(SQLModel, table=True):
    team_id: Optional[int] = Field(
        default=None, foreign_key="team.id", primary_key=True
    )
    hero_id: Optional[int] = Field(
        default=None, foreign_key="hero.id", primary_key=True
    )
    is_training: bool = False

    team: "Team" = Relationship(back_populates="hero_links")
    hero: "Hero" = Relationship(back_populates="team_links")

class Team(SQLModel, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    name: str = Field(index=True)
    headquarters: str

    hero_links: List[HeroTeamLink] = Relationship(back_populates="team")

class Hero(SQLModel, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    name: str = Field(index=True)
    secret_name: str
    age: Optional[int] = Field(default=None, index=True)

    team_links: List[HeroTeamLink] = Relationship(back_populates="hero")

sqlite_file_name = "database.db"
sqlite_url = f"sqlite:///{sqlite_file_name}"

engine = create_engine(sqlite_url, echo=True)

def create_db_and_tables():
    SQLModel.metadata.create_all(engine)

def create_heroes():
    with Session(engine) as session:
        team_preventers = Team(name="Preventers", headquarters="Sharp Tower")
        team_z_force = Team(name="Z-Force", headquarters="Sister Margaret’s Bar")

        hero_deadpond = Hero(
            name="Deadpond",
            secret_name="Dive Wilson",
        )
        hero_rusty_man = Hero(
            name="Rusty-Man",
            secret_name="Tommy Sharp",
            age=48,
        )
        hero_spider_boy = Hero(
            name="Spider-Boy",
            secret_name="Pedro Parqueador",
        )
        deadpond_team_z_link = HeroTeamLink(team=team_z_force, hero=hero_deadpond)
        deadpond_preventers_link = HeroTeamLink(
            team=team_preventers, hero=hero_deadpond, is_training=True
        )
        spider_boy_preventers_link = HeroTeamLink(
            team=team_preventers, hero=hero_spider_boy, is_training=True
        )
        rusty_man_preventers_link = HeroTeamLink(
            team=team_preventers, hero=hero_rusty_man
        )

        session.add(deadpond_team_z_link)
        session.add(deadpond_preventers_link)
        session.add(spider_boy_preventers_link)
        session.add(rusty_man_preventers_link)
        session.commit()

        for link in team_z_force.hero_links:
            print("Z-Force hero:", link.hero, "is training:", link.is_training)

        for link in team_preventers.hero_links:
            print("Preventers hero:", link.hero, "is training:", link.is_training)

def update_heroes():
    with Session(engine) as session:
        hero_spider_boy = session.exec(
            select(Hero).where(Hero.name == "Spider-Boy")
        ).one()
        team_z_force = session.exec(select(Team).where(Team.name == "Z-Force")).one()

        spider_boy_z_force_link = HeroTeamLink(
            team=team_z_force, hero=hero_spider_boy, is_training=True
        )
        team_z_force.hero_links.append(spider_boy_z_force_link)
        session.add(team_z_force)
        session.commit()

        print("Updated Spider-Boy's Teams:", hero_spider_boy.team_links)
        print("Z-Force heroes:", team_z_force.hero_links)

        for link in hero_spider_boy.team_links:
            if link.team.name == "Preventers":
                link.is_training = False

        session.add(hero_spider_boy)
        session.commit()

        for link in hero_spider_boy.team_links:
            print("Spider-Boy team:", link.team, "is training:", link.is_training)

def main():
    create_db_and_tables()
    create_heroes()
    update_heroes()

if __name__ == "__main__":
    main()

@northtree I've read the documentation for that section, the key point I needed was this, which wasn't in that section:
 new_roi = RegionOfInterestRead.from_orm(roi)

I needed to create a non-table version of my model, one that had the two properties stored in the link model, selected and highlighted. The section you copy and pasted doesn't have an example for fetching data, only for creating and updating. For my question, I was trying to figure out how to return the link model only properties as though they were actually properties of one of the models being linked together. Maybe I missed it but I don't see that being explained in what you posted.

The example code should resolve @88Ocelot 's question.
@wscullen  could you share your model definition

I'm still struggling with this.
Here's my models:
class TileRoiLink(CamelModel, table=True):
    tile_id: Optional[str] = Field(
        default=None,
        foreign_key="tile.id",
        primary_key=True,
        nullable=False,
        index=True,
    )
    roi_id: Optional[str] = Field(
        default=None,
        foreign_key="regionofinterest.id",
        primary_key=True,
        nullable=False,
        index=True,
    )
    selected: bool = False # Extra properties that I want in the final query object returned to the user (Roi.tiles[0].selected)
    highlighted: bool = False # Extra properties that I want in the final query object returned to the user (Roi.tiles[0].highlighted)

class TileCollectionLink(CamelModel, table=True):
    tile_id: Optional[str] = Field(
        default=None, foreign_key="tile.id", primary_key=True, nullable=False
    )
    collection_id: Optional[str] = Field(
        default=None,
        foreign_key="collection.id",
        primary_key=True,
        nullable=False,
    )

# Tile models

class TileBase(CamelModel):
    vendor_id: str
    start_date: datetime
    end_date: datetime
    bbox: str
    footprint: str
    provider: str
    instrument: str
    platform: str = Field(default=None, nullable=True)
    properties: dict = Field(sa_column=Column(JSON, default={}))
    links: Optional[List[str]] = Field(sa_column=Column(ARRAY(String)))
    assets: Optional[List[str]] = Field(sa_column=Column(ARRAY(String)))
    thumbnail_url: str
    thumbnail_large_url: Optional[str] = None
    s3_url: Optional[str] = None
    downloaded: bool = False

class Tile(TileBase, table=True):
    id: Optional[str] = Field(default=None, primary_key=True, nullable=False)
    collections: List["Collection"] = Relationship(
        back_populates="tiles", link_model=TileCollectionLink
    )
    rois: List["RegionOfInterest"] = Relationship(
        back_populates="tiles", link_model=TileRoiLink
    )

class TileRead(TileBase):
    id: str
    collections: Optional[List["CollectionRead"]] = None
    job: Optional["JobRead"] = None
    selected: bool = False
    highlighted: bool = False

class RegionOfInterestBase(CamelModel):
    title: str = Field(sa_column=Column("title", String, unique=True))
    description: Optional[str] = None
    start_date: datetime
    end_date: datetime
    bbox: str
    footprint: dict = Field(sa_column=Column(JSON, default={}))
    updated_on: Optional[datetime] = None
    shared: bool
    owner_id: str = Field(default=None, foreign_key="user.id")
    created_on: datetime = Field(
        sa_column=Column(
            "created_on", DateTime(timezone=True), server_default=func.now()
        )
    )
    wrs_overlay: dict = Field(sa_column=Column(JSON, default={}))
    mgrs_overlay: dict = Field(sa_column=Column(JSON, default={}))

class RegionOfInterest(RegionOfInterestBase, table=True):
    id: Optional[str] = Field(default=None, primary_key=True, nullable=False)

    owner: User = Relationship(back_populates="rois")

    tiles: List["Tile"] = Relationship(back_populates="rois", link_model=TileRoiLink)
    jobs: List["Job"] = Relationship(back_populates="roi")
    layers: List["Layer"] = Relationship(back_populates="roi")

class RegionOfInterestReadSummary(RegionOfInterestBase):
    id: str

class RegionOfInterestRead(RegionOfInterestBase):
    id: str
    owner: UserRead
    tiles: List["TileRead"]
    jobs: Optional[List["JobRead"]] = None
    layers: Optional[List["LayerRead"]] = None

And the current solution for populating the "selected" and "highlighted" columns for each "tile" in the "tiles" list in the RegionOfInterest object being queried:
def get_roi_by_id(roi_id: str, session: Session):
    logger.info(f"Getting all RoI by id {roi_id}")

    roi = session.exec(
        select(RegionOfInterest).where(RegionOfInterest.id == roi_id)
    ).one()

    roi_links = session.exec(
        select(TileRoiLink).where(roi.id == TileRoiLink.roi_id)
    ).all()

    new_roi = RegionOfInterestRead.from_orm(roi)

    # populate selected and highlighted based on RoITileLink table
    for idx, tile in enumerate(new_roi.tiles):
        for roi_link in roi_links:
            if roi_link.dict()["tile_id"] == tile.id:
                setattr(tile, "selected", roi_link.selected)
                setattr(tile, "highlighted", roi_link.highlighted)

    return new_roi

Basically, is there a better way to populate the selected and highlighted columns of each tile for the selected Region of interest? Like a join on the TileRoiLink table with the tiles for the RoI?
I'm looking at other ways of loading Tiles separate from a relationship that links tiles to RegionsOfInterest, like returning a calculated column of dates that can be used to query the tiles directly for a region of interest, instead of returning all tiles up front.
Just looking for the correct most performant way to populate the selected and highlighted columns on each tile in the tiles list on the queried reqion of interest object. Thanks for taking the time to look at this.

@wscullen did you manage to solve this in the end? I'm facing the same problem


Output deprecations when running tests

In my opinion it is important to display deprecations when running tests.

I thought phpunit was already outputting deprecations when running tests. Why is there something to do with doctrine ?

I thought phpunit was already outputting deprecations when running tests. Why is there something to do with doctrine ?

I need to test it further but when I tried to upgrade from dbal 2 to 3 I didnt get any deprecation.
If this is needed, Imo it should be dispatcher via dev-kit with a class_exist to avoid breaking code.

I investigate it a bit and without this code we can't see the following deprecations:
Remaining indirect deprecation notices (7)

  1x: Method Doctrine\ORM\Configuration::setQueryCacheImpl() is deprecated and will be removed in Doctrine ORM 3.0. Use setQueryCache() instead. (Configuration.php:317 called by BaseTest.php:77, https://github.com/doctrine/orm/pull/9002, package doctrine/orm)
    1x in CoreTest::setUp from SimpleThings\EntityAudit\Tests

  1x: The "name" column option is not supported, setting unknown options is deprecated and will cause an error in Doctrine DBAL 3.0 (Column.php:85 called by Column.php:66, https://github.com/doctrine/dbal/pull/2846, package doctrine/dbal)
    1x in CoreTest::setUp from SimpleThings\EntityAudit\Tests

  1x: AbstractPlatform::supportsForeignKeyOnUpdate() is deprecated without replacement and removed in DBAL 3.0 (AbstractPlatform.php:3253 called by AbstractPlatform.php:2552, https://github.com/doctrine/dbal/pull/4229, package doctrine/dbal)
    1x in CoreTest::setUp from SimpleThings\EntityAudit\Tests

  1x: Connection::executeUpdate() is deprecated, use Connection::executeStatement() instead. (Connection.php:1483 called by LogRevisionsListener.php:473, https://github.com/doctrine/dbal/pull/4163, package doctrine/dbal)
    1x in CoreTest::testAuditable from SimpleThings\EntityAudit\Tests

  1x: Connection::fetchColumn() is deprecated, use Connection::fetchOne() API instead. (Connection.php:661 called by SqliteSchemaManager.php:554, https://github.com/doctrine/dbal/pull/4019, package doctrine/dbal)
    1x in CoreTest::tearDown from SimpleThings\EntityAudit\Tests

  1x: Calling Doctrine\ORM\EntityManager::flush() with any arguments to flush specific entities is deprecated and will not be supported in Doctrine ORM 3.0. (EntityManager.php:383 called by IssueTest.php:132, https://github.com/doctrine/orm/issues/8459, package doctrine/orm)
    1x in IssueTest::testIssue111 from SimpleThings\EntityAudit\Tests

  1x: Doctrine\Persistence\Mapping\AbstractClassMetadataFactory::getCacheDriver is deprecated. Use getCache() instead. (AbstractClassMetadataFactory.php:108 called by MappedEventSubscriber.php:126, https://github.com/doctrine/persistence/issues/184, package doctrine/persistence)
    1x in IssueTest::testIssue111 from SimpleThings\EntityAudit\Tests

Seems like doctrine follows its own strategy to trigger deprecations. IMO it should be added as dev-kit code. Let me open a PR.

https://github.com/sonata-project/dev-kit/pull/1725


Standardize build system environment defines derived from build info

Create BuildInfo.toBuildSystemEnvironment() to standardize how the Environment.defines map is constructed from build info.
Adopt toBuildSystemEnvironment() in web compilation, ios-frameworks, and bundle.
Move relevant defines constants into build_info.dart since it can't import null unsafe assets.dart and common.dart. Update other imports.

Fixes https://github.com/flutter/flutter/issues/64730

Windows tests are failing #81837.  I'll retry the tests once that's resolved, putting out for review in the meantime.


Use native Mac OSX spell check

VSCode Version: 1.1.0
OS Version: Mac OSX 10.11.4

Steps to Reproduce:

Open Visual Studio Code
Open any file that has some spell errors inside its content
The app will not highlight spell errors and grammar suggestions
It should be highlighted spell errors in red and grammar suggestions in green, that is a native feature of Mac OSX apps

The images below shows the differences between a native Mac OSX application and Visual Studio Code.

Mac OSX spell check in native TextEdit app:

Visual Studio Code does't show spell errors and grammar suggestions:

Related: https://github.com/Microsoft/vscode-spell-check/issues/29#issuecomment-218685569

I've moved some the documentation to git using MarkDown language. Having spellcheck working there would be super awesome.

+1.  Atom supports native spell check

Is this on the VS Code roadmap at all? Having come from Sublime Text 3 - I do miss the native spellchecker and the plugins I have tried don't really live up to Sublime Text 3 spell checking facility, as they get confused with comments/strings/copy vs actual code etc.

The SpellRight extension integrates with the system dictionary. It's the best workaround I've seen, until the maintainers update the built-in implementation.


This library breaks botocore.AWSConnection

Subject
I gave a try to niquests ( found it on Hacker News ), but it seems urllib3.future is incompatible with boto3 / botocore for AWS, which is a major usecase nowadays.
I will need to set this experiment aside until this can be fixed.
Environment
Windows
python 3.11
Steps to Reproduce
Most AWS call will trigger an error, for example s3.put_object()
Expected Behavior
boto call going through smoothly.
Actual Behavior
Traceback (most recent call last):
  File ".venv\Lib\site-packages\botocore\httpsession.py", line 464, in send
    urllib_response = conn.urlopen(
                      ^^^^^^^^^^^^^
  File ".venv\Lib\site-packages\urllib3\connectionpool.py", line 1184, in urlopen
    response = self._make_request(  # type: ignore[call-overload,misc]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv\Lib\site-packages\urllib3\connectionpool.py", line 810, in _make_request
    rp = conn.request(
         ^^^^^^^^^^^^^
  File ".venv\Lib\site-packages\botocore\awsrequest.py", line 96, in request
    rval = super().request(method, url, body, headers, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv\Lib\site-packages\urllib3\connection.py", line 489, in request
    rp = self.send(b"", eot=True)
         ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: AWSConnection.send() got an unexpected keyword argument 'eot'

urllib3.future is meant to be transparent for the end user, and this is a clear issue.
we elaborated a hotfix that is now live (v2.5.901) pip install urllib3.future -U should be sufficient.
you will be able to resume your experiment, let us know if anything happen again, we'll provide a fix if needed.

Awesome, it works now, thanks for the swift fix !

@Ousret , regression-test?


[HOLD for payment 2023-05-25] [$1000] Skeleton UI on 'Invite new member' page overlaps with 'Next' button

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click on 'Profile' avatar
Click on 'Workspaces' link
Click on an existing workspace/ create a new workspace
Click on 'Manage members' link
Click on 'Invite' button
Navigate back
Repeat step 5-6 to see the skeleton UI

Expected Result:
Skeleton UI shouldn't overlap with 'Next' button
Actual Result:
Skeleton UI overlaps with 'Next' button
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.13
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/43996225/5b21f0d5-873d-4ca8-94dc-631cd391e2cb

Expensify/Expensify Issue URL:
Issue reported by: @Natnael-Guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683796920423559
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~010ef8e9600eb8ce8d
Upwork Job ID:<PHONE_NUMBER>811660288
Last Price Increase: 2023-05-13

Proposal
Please re-state the problem that we are trying to solve in this issue.
Skeleton UI on 'Invite new member' page overlaps with 'Next' button
What is the root cause of that problem?
The Root cause of this problem is the opacity of the Next button, because it had opacity 0.5, we still able to see the content below it, in this case it's skeleton UI.
What changes do you think we should make in order to solve the problem?
We have few solutions here:

Hide the bottom section (Next) button while skeleton view is showing inside BaseOptionsSelector:

                {shouldShowFooter && !this.props.shouldShowOptions && (
                    <FixedFooter>
                        {shouldShowDefaultConfirmButton && (
                            <Button
                                success
                                style={[styles.w100]}
                                text={defaultConfirmButtonText}
                                onPress={this.props.onConfirmSelection}
                                pressOnEnter
                                enterKeyEventListenerPriority={1}
                            />
                        )}
                        {this.props.footerContent}
                    </FixedFooter>
                )}

Calculate the number of the SkeletonViewItem to prevent it longer than its visible content in here:

So instead of use Math.celi we should use Math.floor in here:
https://github.com/Expensify/App/blob/ce23a791fccbe8a6ea08692e7f405b23de99c7b9/src/components/OptionsListSkeletonView.js#L98-L99
What alternative solutions did you explore? (Optional)

Proposal
Posting proposal early as per new guidelines
Please re-state the problem that we are trying to solve in this issue.
Skeleton UI on 'Invite new member' page overlaps with 'Next' button.
What is the root cause of that problem?
We are calculating number of skeleton items based on the below logic.
https://github.com/Expensify/App/blob/ce23a791fccbe8a6ea08692e7f405b23de99c7b9/src/components/OptionsListSkeletonView.js#L98-L99
So here based on the calculation at line 98 it happen that it will generate number of items that overlap with button. This is the root cause of the problem.
What changes do you think we should make in order to solve the problem?
We have to consider one skeleton item less than calculated as shown code below.
//this.generateSkeletonViewItems(numItems);  //  ** Old ***
this.generateSkeletonViewItems(numItems - 1);   // *** Updated ***

So it will solve the issue in all case and always show one element less than calculated so never overlap with bottom element as shown in result video and screenshot. I think this is simple and clean solution.
e..g. It will take care if result of event.nativeEvent.layout.height / CONST.LHN_SKELETON_VIEW_ITEM_HEIGHT does not have any decimal value then also it will keep one element less so it will never overlap with bottom element.
For example if layout height is 640 and our skeleton item height is 64 so 640/64 will generate 10 elements and it will render upto the end of screen so in that situation Skeleton will cover full screen. So by deducting one element it will never overlap with button or any bottom element.
What alternative solutions did you explore? (Optional)
None.

Results
https://github.com/Expensify/App/assets/7823358/f8cc71e8-291f-40ab-a6aa-ecdab4a05a2f

Calculate the number of the SkeletonViewItem to prevent it longer than its visible content in here:
So instead of use Math.celi we should use Math.floor in here:

IMO @hungvu193's second possible solution is 🎯

Proposal
Please re-state the problem that we are trying to solve in this issue.
The skeleton view overlap with the Next button in workspace invite page.
What is the root cause of that problem?
The main issue is the skeleton is overflown.

We can see from the image above, there are more skeleton then the available height of the list could hold and that is intended as can be read from the discussion here. However, we didn't think of a case where there is a component/element below the skeleton list because the initial development of the skeleton is only for LHN.
What changes do you think we should make in order to solve the problem?

We can add overflow hidden to the skeleton view here to hide the overflown skeleton.
https://github.com/Expensify/App/blob/95c22f17399baf1053dbd9f1be6a5e966ffe28cc/src/components/OptionsListSkeletonView.js#L95-L96
Result

@rushatgabhane note: there have been a few proposals on this issue already.

With overflowHidden, as you can see in the screenshots, it's still show half of last item at the bottom.

If we calculated the skeletons with Math.floor it will look like this:

In case it looks empty at the bottom, we can make the skeleton alignCenter, it looks much more better:

How do you think? @rushatgabhane

PR is ready for review.
cc: @rushatgabhane @puneetlath

Contract offers sent.
@rushatgabhane friendly reminder about the checklist.

@rushatgabhane friendly reminder about the checklist so that we can get this paid out tomorrow!

Paid @Natnael-Guchima and @bernhardoj.
@rushatgabhane still waiting on the checklist.

All paid. Thanks everyone!


[Blob Storage] Data corruption Failure (armv7)

Hi, i have a problem downloading compressed files from blob storage on armv7 devices.
When downloading the file, the downloads fails after a bunch of megabytes with the error message:

Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset:<PHONE_NUMBER>, data needed offset:<PHONE_NUMBER>7, retries: 5, max retries: 5

the issue seems siliar to #6411
im using node 14.16.1 (LTS) but the issue occuress also when using different versions (12, 15, 16, ..)
im using @azure/storage-blob: 12.5.0
im using raspbian (debian) 5.4.79-v7l+
the issue only ocurres, when i run the code on a debian armv7 plattform.
when im running the same code with the same version of node on an x86/64 plattform, i dont get any issues as expected.
code snip:
const { BlockBlobClient } = require('@azure/storage-blob');
const path = require('path')
const fs = require('fs')
const cliProgress = require('cli-progress');

const repositoryPath = '../repository'
const uri = 'placeUrlWithSasHere'
const ratelimitBs = 1000 * 1024 * 1024

async function startDownload(sasUri) {
try {
    console.log('starting download from url: %s', sasUri);
    const blobClient = new BlockBlobClient(sasUri);
    const props = await blobClient.getProperties();
    // console.log({ props });

    const fileName = blobClient._name;
    const filePath = path.join(repositoryPath, fileName);
    const bar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);

    const downloadBlockBlobResponse = await blobClient.download(null, null,
        {
            onProgress: ((ev) => {
                bar.update(ev.loadedBytes);
            }),
        });

    const readStream = downloadBlockBlobResponse.readableStreamBody;
    const writeStream = fs.createWriteStream(filePath);

    bar.start(props.contentLength, 0);
    readStream
        // .pipe(throttler)
        .pipe(writeStream);

    readStream.on('error', (e) => {
        bar.stop()
        console.error(e.message)
    });
    writeStream.on('error', (e) => {
        bar.stop()
        console.error(e.message)
    });

    readStream.on('end', () => {
        bar.stop()
        console.log('readstream finished')
    })
} catch (error) {
   console.error(error)
}
}

startDownload(uri)

result on armv7:

Data corruption failure: received less data than required and reached maxRetires limitation. Received data offset:<PHONE_NUMBER>, data needed offset:<PHONE_NUMBER>7, retries: 5, max retries: 5

result on x64

readstream finished

regarding to the issue #6411, it looks like the node-fetch client or something like this is different on armv7 plattforms

just found out, that the issue does not ocurr, when using
-node v11.x
-node v12, when using "http-parser=legacy"
-running any node version on an x86/64 plattforms
maybe the error is related to llhttp parser which may cause a bug on arm plattforms

@simonhbw
I'll try to have a repro and look into it. Will get back to you with any progress.
Thanks
Emma


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20240427160904695 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20240427160904695 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 41.738%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePythonWizard.ts
1
45.22%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
30720

Relevant Lines:
68884

💛  - Coveralls


Unable to transform style.css, resource not found in file cache

Commit db7e6254fa6105ae477a9b0bc3ee268d0e20fd17 causes Hugo to error out with
Total in 37 ms
Error: Error building site: TOCSS: failed to transform "css/style.css" (text/css): resource "css/css/main.css_b5616ad8043936b93a403785b10b2b88" not found in file cache

printed to the console. Rolling back to the previous commit, 9e524ff754b0abfb2887f448a52c2c2cf3bc6f47, resolves the issue. In case it's helpful, the repository I'm using Anubis in is https://github.com/TheDocTrier/disjoint-union.
Side note: I saw that my previous issue #63 was just fixed (thank you!) in the latest merge, so I decided to try it out.

I can't reproduce it with your repo and updated theme on my environment.
What is your environment - OS and Hugo version?

Cannot repro either (Debian Bullseye, Hugo v0.75.1). Seem fine on Netlify too.

Sorry, I just realized that I was using an outdated ppa for Hugo. After updating to the latest copy on GitHub there are no errors.

I'm using the latest version of Hugo and I'm getting this issue.
user@debian:~# hugo version
Hugo Static Site Generator v0.77.0-EF290125 linux/amd64 BuildDate: 2020-10-30T10:14:31Z
user@debian:~# hugo new site test
user@debian:~# cd test
user@debian:~/test# git init
Initialized empty Git repository in /root/test/.git/
user@debian:~/test# git submodule add https://github.com/mitrichius/hugo-theme-anubis.git themes/anubis
user@debian:~/test# mv config.toml config.yaml
user@debian:~/test# nano config.yaml # put the config from the README in
user@debian:~/test# hugo serve
Start building sites …
Built in 15 ms
Error: Error building site: TOCSS: failed to transform "css/style.css" (text/css): resource "css/css/main.css_b5616ad8043936b93a403785b10b2b88" not found in file cache

Nevermind I found the issue, I wasn't using the "Hugo extended" which seems to be required.

Good catch. If the only reason why the extended version is required is this ToCSS filter, we could consider removing it, it's not that useful: I originally planned to use it for minification as the documentation says it might be more efficient than the generic minifier, but in my tests it turned out that the generic one does better here so I ended up using that. I let the ToCSS because it does formating for dev mode, and can catch CSS syntax error, but I don't know if it's worth the bugs people will open when it doesn't work with their hugo binary

@forty Thanks for the explanation.
I decided to remove it e9ee82e


Bluetooth: controller: Refactor adv random delay resolution fix

Refactored the fix in the commit 685da0235446 ("Bluetooth:
controller: Fix advertising random delay resolution calc")
to apply modulo in tick units before adding a tick.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

@carlescufi lets wait for @mike-scott approval.

Codecov Report

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

@@           Coverage Diff           @@
##           master   #10398   +/-   ##
=======================================
  Coverage      53%      53%
=======================================
  Files         210      210
  Lines       25732    25732
  Branches     5672     5672
=======================================
  Hits        13639    13639
  Misses       9779     9779
  Partials     2314     2314

Continue to review full report at Codecov.

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

Apologies for my time-zone.  Looking at this now.

@cvinayak I'm curious what the expected range is supposed to be?  Using this patch 328 ticks is the maximum result (+1).
Under the older code, I think we were getting higher values.

Changes look good to me, btw.


Install godep as part of the Jenkins e2e job.

The godep binary is needed to build the Ginkgo test runner for e2e tests.
Assuming this doesn't break Jenkins, we should be able to try using the native Ginkgo runner again.
@quinton-hoole @zmerlynn

I have no idea how to test this besides hoping for the best.

I'm still confused. Is there nowhere to put this in the build system that makes any sense? I'm against this because it's another step before you can run e2es. (Jenkins is just mimicking the dev e2e flow, with some extras.)

Other alternatives I can see:

build github.com/onsi/ginkgo/ginkgo as part of build/release.sh (seems a little weird, especially if one isn't going to run e2e tests, but there's really no other place to put it?)
run ginkgo from hack/ginkgo-e2e.sh with go run ... rather than calling the binary directly (not even sure if this would work, but maybe?)
as currently implemented: install godep and then build/install ginkgo using godep

I'm guessing option 1 is your preference?

We build other test artifacts as part of "make release" and package them with the test tar. I don't see this as that different, unless the license would prohibit it.

I guess the main difference here is that the rest of the test artifacts are under the github.com/GoogleCloudPlatform/kubernetes package. Ginkgo would not be. It's doable, it'll just require a bit of refactoring of the build scripts to support.

I think I'd still rather go that route. If we had a real set of packages (rpms, debs, etc.), this would be different, but we don't. The tars are basically all the binaries you need to run the server, client and tests.

We should seriously consider building rpms, debs etc packages for
distribution.  Has anyone considered this?  Does anyone have strong
opinions either way?
Q
On Fri, May 1, 2015 at 5:49 AM, Zach Loafman<EMAIL_ADDRESS>wrote:

I think I'd still rather go that route. If we had a real set of packages
(rpms, debs, etc.), this would be different, but we don't. The tars are
basically all the binaries you need to run the server, client and tests.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/7593#issuecomment-98126329
.

OK, I've reworked this PR so that it builds ginkgo as a part of the release process (and copies the binary into the appropriate output directories, tarballs, etc). Can you take a look?
I'm not sure if we want to include someone familiar with the build scripts as well.
I've tested with make and build/release.sh - what else should I do?

I'm actually pretty familiar with the build scripts, too. :)

In that case, we're already set. :) I just wasn't sure who is familiar with them.

You might try hack/e2e-from-release.sh to make sure the binary release is sane.

hack/e2e-from-release.sh appears to have worked as well, I think.

LGTM


update opennextjs-aws repository base

I've noticed that in a few places the repo base is outdated
this seems generally fine as github just redirects to this repository, but it's not really that polished and can break tools such as pkg.pr.new that can rely on the package.json's repository to be correct (see https://github.com/opennextjs/opennextjs-aws/pull/536#issuecomment-2403509138, the PR package there doesn't work properly because of the incorrect repo in the package.json)

@dario-piotrowicz Looks like it is still broken.
The url set by the pkg-pr-new bot is not the correct one here, the one that works is this one : https://pkg.pr.new/opennextjs/opennextjs-aws/@opennextjs/aws@3b0bdd3
Weird thing is that it use the correct one in stackblitz

@dario-piotrowicz Looks like it is still broken. The url set by the pkg-pr-new bot is not the correct one here, the one that works is this one : https://pkg.pr.new/opennextjs/opennextjs-aws/@opennextjs/aws@3b0bdd3
Weird thing is that it use the correct one in stackblitz

ok, let me see....

@conico974 oops.... it looks like I missed a spot! 😓  https://github.com/conico974/open-next/blob/185a4739607b0418b650ab077aaea567988e53bf/packages/open-next/package.json#L64
let me open a quick PR for that! sorry! 😓


Compress selected o hovered files

Compress selected o hovered files with apack (atool software)

Closing as we have an archive.yazi plugin now, https://github.com/KKV9/archive.yazi 🎉


Fix execution with parameters on Windows

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Closes #33

Proposed solution to the issue in #33. Additionally also wrapping the executable path in quotes to work correctly on Windows paths with spaces.

@janjagusch Building and installing the package locally works fine on Windows. I haven't tested any other platforms (but my changes shouldn't affect them in any way).

Thanks for your contribution, @EnchoMishinevQC!

Thanks a lot for the confirmation, @EnchoMishinevQC. I will merge this, but would you be interested in joining the maintainer team for this feedstock?


⚠ Bofrost.fr has degraded performance

In 7440e25, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1214 ms

Resolved: Bofrost.fr performance has improved in 3250d7f after 34 minutes.


Enterprise Bot Typescript Template fails at to start local server

Project
Name:
Enterprise Bot Template
Language:
TypeScript
Description

The Enterprise Bot Template fails at npm start. Looks like a problem related to the copyfiles npm moduel
To Reproduce

Run npm start
Process fails at the npm copy-templates script run

Error thrown
> copyfiles --up 1 "./src/**/*.json" "./lib"

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `npm run build && node ./lib/index.js NODE_ENV=development`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Expected behavior

Bot should successfully start and listen on the development port
Screenshots

Additional context

I was able to figure out the issue. It was related to the .env file for development endpoint. Closing this bug


cv2 has no attribute 'resize'

Using the node AIO Aux Preprocessor it present me an error message that i attach below.
I tried reinstall opencv and other libraries that had conflicted version, but the problem persists. I tried looking on forums but no solution proved useful.
I'm thankful to anyone willing to help or point to a solution.
Error occurred when executing AIO_Preprocessor:

module 'cv2' has no attribute 'resize'

File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-0246\utils.py", line 381, in new_func
res_value = old_func(*final_args, **kwargs)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux\__init__.py", line 113, in execute
return getattr(aux_class(), aux_class.FUNCTION)(**params)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux\node_wrappers\canny.py", line 20, in execute
return (common_annotator_call(CannyDetector(), image, low_threshold=low_threshold, high_threshold=high_threshold, resolution=resolution), )
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux\utils.py", line 82, in common_annotator_call
np_result = model(np_image, output_type="np", detect_resolution=detect_resolution, **kwargs)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux\src\controlnet_aux\canny\__init__.py", line 10, in __call__
detected_map, remove_pad = resize_image_with_pad(input_image, detect_resolution, upscale_method)
File "J:\AI\ComfyUI_windows_portable_nvidia_cu118_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux\src\controlnet_aux\util.py", line 153, in resize_image_with_pad
img = cv2.resize(img, (W_target, H_target), interpolation=get_upscale_method(upscale_method) if k > 1 else cv2.INTER_AREA)

same issue here

I had a similar issue - I'm running off a linux server - so can't speak to windows - but I had an issue with ComfyUI Impact Pack while digging into the issue I noticed.  I then fixed permissions on the local folder for my install.  After fixing that, uninstalling ComfyUI Impact Pack, restarting, reinstalling ComfyUI Impact Pack - I'm no longer getting the issue.... so either it was related to that pack -- or the permissions -- not entirely sure.
Sorry if this isn't too helpful - but maybe this helps.


Updated outdated <? tag to <?php for compatibility issues.

The original code used <? tags which are considered outdated/obsolete now by PHP. My webserver wouldn't run the code without that modification as I didn't want to enable the old tag for various reasons. The new <?php tag should work for all php installations.

Thanks 👍


DuckDuckGo as a built-in system app

I'm interested in including DuckDuckGo by default in my rom, replacing Jelly as the default browser. However the app doesn't run when installed as a system app.
03-10 16:44:01.097  3769  3811 E AndroidRuntime: FATAL EXCEPTION: Thread-6
03-10 16:44:01.097  3769  3811 E AndroidRuntime: Process: com.duckduckgo.mobile.android, PID: 3769
03-10 16:44:01.097  3769  3811 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/app/DuckDuckGo/DuckDuckGo.apk!/lib/armeabi-v7a/libhttps-bloom-lib.so" not found
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:989)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:1562)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at com.duckduckgo.app.httpsupgrade.BloomFilter.<init>(BloomFilter.kt:24)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at com.duckduckgo.app.httpsupgrade.HttpsBloomFilterFactoryImpl.create(HttpsBloomFilterFactory.kt:54)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at com.duckduckgo.app.httpsupgrade.HttpsUpgraderImpl.reloadData(HttpsUpgrader.kt:95)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at com.duckduckgo.app.global.DuckDuckGoApplication$initializeHttpsUpgrader$1.invoke(DuckDuckGoApplication.kt:273)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at com.duckduckgo.app.global.DuckDuckGoApplication$initializeHttpsUpgrader$1.invoke(DuckDuckGoApplication.kt:75)
03-10 16:44:01.097  3769  3811 E AndroidRuntime: 	at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
03-10 16:44:01.099  2225  2237 W ActivityManager:   Force finishing activity com.duckduckgo.mobile.android/com.duckduckgo.app.launch.Launcher

If I install an update to the application, then it works, of course. But it would be nice if I could have the base apk working from /system/app. What do I have to include, and how?
Bromite System WebView does something similar with being unable to run under /system/app, but including libwebviewchromium_loader and libwebviewchromium_plat_support in Android.mk makes it work. And of course I can't put LOCAL_REQUIRED_MODULES := libhttps-bloom-lib in DuckDuckGo Android.mk, that would be too easy. There are additional steps, but I'm not sure where to go next. Any pointers?

Sorry @Ammako I'm not familiar with how to install apks as part of the system.
Posting some more info about our bloom filter (the one that is failing you). That's added into our project as a git submodule. The codebase can be found here https://github.com/duckduckgo/bloom_cpp. It's just a cpp library we use for our https ugrades. Package names are important because jni calls....and I don't know what more to say tbh 😅

Yeah, that's fair. It's just odd because I'm not building DuckDuckGo myself, I'm using the pre-built apk that is available for download here. So the library should already be available within the apk, and yet for some reason it can't find it when the apk is in /system/app, but it can find it if it's installed onto /data/app. Some weird Android black magic I guess.
I'll probably have to look for advice somewhere that is better-versed in rom building or something. I know about the bloom_cpp repo but I figured there was no way simply adding bloom_cpp to required modules would help in any way... but then again, I haven't tried. Figured I would most likely have to at least include it as an external repo first, which I'm not sure how to do right now.

Following up on this...
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := DuckDuckGo
LOCAL_SRC_FILES := duckduckgo-5.75.1-release.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MULTILIB := both
ifeq ($(TARGET_CPU_ABI), arm64-v8a)
    LOCAL_PREBUILT_JNI_LIBS := lib/arm64-v8a/libhttps-bloom-lib.so
else
    LOCAL_PREBUILT_JNI_LIBS := lib/armeabi-v7a/libhttps-bloom-lib.so
endif
LOCAL_OVERRIDES_PACKAGES := Jelly
include $(BUILD_PREBUILT)

libhttps-bloom-lib.so must be extracted from the apk, it will be included at /system/app/DuckDuckGo/lib/[arm/arm64]/libhttps-bloom-lib.so and the app will work without crashing.
👍


Backend caching

Backend cache implementation. Encryption coming in next pr

@laptou that is a good idea. As of now to remedy that I'm working on setting a lifetime for cache entries so that they won't clog the cache, but an upper bound as well would be good.


The URL launcher is depending on legacy Android support libraries

Steps to Reproduce
This is a very small problem, and quite easy to reproduce, so I'm not attaching a repo link.

Have url_launcher (v6.1.5, but any should do) included in your Flutter project
Run Gradle task ./gradlew checkJetifier
See warning (actual result):

> Task :url_launcher_android:checkJetifier
The following libraries used by project ':url_launcher_android' depend on legacy support libraries. To disable Jetifier, you will need to use AndroidX-supported versions of these libraries.
        org.robolectric:robolectric:4.3 (Project ':url_launcher_android', configuration 'debugUnitTestCompileClasspath' -> org.robolectric:robolectric:4.3 -> org.robolectric:shadows-framework:4.3 -> com.android.support:support-annotations:28.0.0)

Expected results:
I expect the url_package to not depend on any legacy Android support libraries, which have been deprecated since 2018 in favor of AndroidX.
The problem is with the dependency on roboelectric 4.3, which uses support libraries. It's worth checking out if newer versions of Roboelectric are fully migrated to AndroidX.

Thanks for filing the issue.  This issue is reproducible with url_launcher: ^6.1.7.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.3.9, on macOS 13.0 22A380 darwin-x64, locale en-VN)
    • Flutter version 3.3.9 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (31 hours ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.52.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0 22A380 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.7.0-9.0.pre.11, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.0-9.0.pre.11 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision dbc9306380 (4 hours ago), 2022-12-14 13:53:20 -0800
    • Engine revision 0a6a4a58f4
    • Dart version 3.0.0 (build 3.0.0-21.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (4 available)
    • SM T225 (mobile) • R9JT3004VRJ                              • android-arm64  • Android 12 (API 31)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 108.0.5359.98
    ! Error: iPhone is busy: Fetching debug symbols for iPhone. Xcode will continue when iPhone is finished. (code -10)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Looks like it was fixed by https://github.com/flutter/packages/pull/3372.
The issue described doesn't occur on latest master:
flutter doctor
[✓] Flutter (Channel master, 3.9.0-17.0.pre.25, on macOS 13.2.1 22D68 darwin-arm64, locale en-PL)
    • Flutter version 3.9.0-17.0.pre.25 on channel master at /Users/bartek/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 25174d621e (10 minutes ago), 2023-03-25 14:00:23 -0700
    • Engine revision 685fbc6f4d
    • Dart version 3.0.0 (build 3.0.0-366.0.dev)
    • DevTools version 2.22.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/bartek/androidsdk
    • Platform android-33, build-tools 33.0.1
    • ANDROID_HOME = /Users/bartek/androidsdk
    • Java binary at: /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.12.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.3.3)
    • IntelliJ at /Users/bartek/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 72.1.4
    • Dart plugin version 223.8888

[✓] IntelliJ IDEA Ultimate Edition (version 2022.3.3)
    • IntelliJ at /Users/bartek/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/223.8836.41/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.76.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 111.0.5563.110

[✓] Network resources
    • All expected network resources are available.

• No issues found!

./gradlew checkJetifier
$ ./gradlew :app:checkJetifier

> Task :app:checkJetifier
Project ':app' does not use any legacy support libraries. If this is the case for all other projects, you can disable Jetifier by setting android.enableJetifier=false in gradle.properties.

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed


Deploy and Run Locally and using Docker

Update Docusaurus version from "2.0.0-beta.0" to "2.4.0"
Add a Dockerfile to build static contents
Add a Dockerfile to deploy static contents using nginx
Update makefile and README to include these changes
Remove README_DOCUSAURUS.md as it has duplicate content
Also confirmed that adding new markdown files to the docs folder gets reflected on the deployed website
@Chen Please let me know if you have any questions

I was able to follow the readme and build with both docker and native. Everything looks good to me.


Beautification

Designed similar to Google Maps. Mostly was an experiment in Material Design.

Line 29 of your index.html doesn't work correctly. The reason I had nested spans for opening hours is because the first one checks if opening hours data exists. If it does, the inner one checks if it's open now. With just the outer statement (what you changed it to), it will display "Open Now!" anytime the location has it's opening hours posted, whether is open now or not.

Also, is there a reason for the button sized gap between the Veto button and the right side of the list area?

Ah, I didn't know that. Since I couldn't test with the API locally, I didn't notice it not working. It just looked a little redundant; I didn't know it was necessary.
And are you looking at the desktop or mobile version? I don't think I saw a big gap when I was testing locally. I'll check it out again.

 This is what I'm seeing

Oh, ok. Are you wanting to right-justify it?


Allow multiple executables in a single option

With this PR, --chruby "ruby" --chruby "yjit::ruby --yjit" can be written as --chruby "ruby;yjit::ruby --yjit" as a shorthand.
Both -e and --chruby options are what's stolen from benchmark-driver, which have had the same syntax except for this. I didn't implement this feature at first since the syntax seems a bit weird at a glance.
However, using --chruby with yjit-bench for a while, I've needed this very often. I'd like to use this shorthand.

Looks useful to me.


Kamal Proxy doesn't respect app_port

In Kamal 1, I used  host_port to specify in which port traefik will be run. It worked well.
Now I'm trying to migrate to Kamal 2 and I change it to use app_port like so:
...
proxy:
  host: <%= ENV['HOST_RULE'] %>
  app_port: 8001
  healthcheck:
    path: /api/test/
    interval: 5
    timeout: 12
...

But when I run kamal deploy, it shows an error like this:
docker: Error response from daemon: container f0af1c4f712bdb6905f707cf2f7dc6f8981d9122372f0cbb1b2a9b1f6327f6fd: endpoint join on GW Network failed: driver failed programming external connectivity on endpoint gateway_53bcdfbd02e1 (19dacb3d01219d4f82dcfc1413fb5f8e69c9deca92ac025666daf779df40c7f0): failed to bind port <IP_ADDRESS>:80/tcp: Error starting userland proxy: listen tcp4 <IP_ADDRESS>:80: bind: address already in use.
It seems like kamal-proxy still tries to bind to port 80, even though I specify it to run on port 8001.
I have tried many things:

Adding to env > clear > KAMAL_PROXY_HTTP_PORT: 8001
Running export KAMAL_PROXY_HTTP_PORT=8001 before kamal deploy

Still tries to bind to port 80.

app_port doesn't change kamal-proxy's port. Instead, that is for your application container's port that it is going to try and connect to. For example, a default Rails app using Puma will be hosted on port 3000, so you would set the app_port to 3000 to tell kamal-proxy that it needs to connect to the application on port 3000 instead of the default port 80 of the application port.

app_port doesn't change kamal-proxy's port. Instead, that is for your application container's port that it is going to try and connect to. For example, a default Rails app using Puma will be hosted on port 3000, so you would set the app_port to 3000 to tell kamal-proxy that it needs to connect to the application on port 3000 instead of the default port 80 of the application port.

Ah, I thought it would be directly analogous to the previous "host_port" on Kamal 1. So now it is not possible to change on which port the kamal-proxy is running?

I'm not sure as I don't have any experience with trying to change the kamal-proxy that it's listening on. However, I would probably say that  you're on the right path with the KAMAL_PROXY_HTTP_PORT as described in their README.

Thanks for the reply. It really breaks my flow since I still need to run nginx/Caddy as the webserver and only only use kamal-proxy (traefik before) for deployment purpose. I used to run traefik on port other than 80/443 and let nginx/Caddy handle that.

Thanks for the reply. It really breaks my flow since I still need to run nginx/Caddy as the webserver and only only use kamal-proxy (traefik before) for deployment purpose. I used to run traefik on port other than 80/443 and let nginx/Caddy handle that.

me too

It turns out, we can configure this based on this PR (https://github.com/basecamp/kamal/pull/974), put inside pre-deploy hook. I guess this solves my problem.

@aarroisi is right, but kamal documentation is pretty bad
first, the port that your app is using inside the container. Next uses 3000. so on config/deploy.yml you just
proxy:
  app_port: 3000

now you need to tell kamal which port its proxy should run, so type on your terminal and run
kamal proxy boot_config set --http-port 4444 --https-port 4445

--https-port seems to be required
hope it helps you save your time.

This approach doesn't work for me because it modifies the .kamal/proxy/options file, but the command that Kamal runs on the remote server is:
docker container start kamal-proxy || docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy $(cat .kamal/proxy/options || echo "--publish 80:80 --publish 443:443 --log-opt max-size=10m") basecamp/kamal-proxy:v0.8.2

This is effectively the same as running docker container start kamal-proxy, which fails with the following error:
Error response from daemon: driver failed programming external connectivity on endpoint kamal-proxy (fc557acc20a10afd7c212313d96b0bc2899112793d3614fef36d88840fdb05e4): failed to bind port <IP_ADDRESS>:80/tcp: Error starting userland proxy: listen tcp4 <IP_ADDRESS>:80: bind: address already in use
Error: failed to start containers: kamal-proxy

I simply need to change the port configuration. How can I achieve this?
My .kamal/proxy/options is:
--publish 8080:8080 --log-opt max-size=10m

@aarroisi is right, but kamal documentation is pretty bad
first, the port that your app is using inside the container. Next uses 3000. so on config/deploy.yml you just
proxy:
  app_port: 3000

now you need to tell kamal which port its proxy should run, so type on your terminal and run
kamal proxy boot_config set --http-port 4444 --https-port 4445

--https-port seems to be required
hope it helps you save your time.

kamal proxy reboot

Hello, i have the same problem i upgrade my rails 7.2 app onto rails 8 and i have this kamal config alongside with dockerfile
service: assnj
image: adammusa/assnj

servers:
  web:
    hosts:
      - my_ip_address

registry:
  username: adammusa
  password:
    - KAMAL_REGISTRY_PASSWORD

proxy:
  ssl: true
  app_port: 3000
  host: my_host

env:
  clear:
    RAILS_SERVE_STATIC_FILES: true
    RAILS_LOG_TO_STDOUT: true
    RAIL_LOG_LEVEL: debug
  secret:
    - RAILS_MASTER_KEY
    - MYSQL_ROOT_PASSWORD
    - DB_HOST

builder:
  arch: amd64

asset_path: /rails/public/assets

volumes:
  - "assnj_storage:/rails/storage"

accessories:
  db:
    image: mysql:8.0
    host: my_ip_address
    port: "<IP_ADDRESS>:3306:3306"
    env:
      clear:
        DB_HOST: assnj-db
        MYSQL_ROOT_HOST: '%'
      secret:
        - MYSQL_ROOT_PASSWORD
    files:
      - db/production.sql:/docker-entrypoint-initdb.d/setup.sql
    directories:
      - data:/var/lib/mysql

and
# syntax = docker/dockerfile:1

# Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
ARG RUBY_VERSION=3.3.6
FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim as base

# Rails app lives here
WORKDIR /rails

# Set production environment
ENV RAILS_ENV="production" \
    BUNDLE_DEPLOYMENT="1" \
    BUNDLE_PATH="/usr/local/bundle" \
    BUNDLE_WITHOUT="development"

# Throw-away build stage to reduce size of final image
FROM base as build

# Install packages needed to build gems
RUN apt-get update -qq && \
    apt-get install --no-install-recommends -y build-essential default-libmysqlclient-dev git curl libvips pkg-config

# Install application gems
COPY Gemfile Gemfile.lock ./

# Install node modules
ARG NODE_VERSION=20.11.0
ARG YARN_VERSION=1.22.19
ENV PATH=/usr/local/node/bin:$PATH
RUN curl -sL https://github.com/nodenv/node-build/archive/master.tar.gz | tar xz -C /tmp/ && \
    /tmp/node-build-master/bin/node-build "${NODE_VERSION}" /usr/local/node && \
    npm install -g yarn@$YARN_VERSION && \
    rm -rf /tmp/node-build-master

RUN bundle install && \
    rm -rf ~/.bundle/ "${BUNDLE_PATH}"/ruby/*/cache "${BUNDLE_PATH}"/ruby/*/bundler/gems/*/.git && \
    bundle exec bootsnap precompile --gemfile

# Copy application code
COPY . .

# Precompile bootsnap code for faster boot times
RUN bundle exec bootsnap precompile app/ lib/

# Precompiling assets for production without requiring secret RAILS_MASTER_KEY
RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile

# Final stage for app image
FROM base

# Install packages needed for deployment
RUN apt-get update -qq && \
    apt-get install --no-install-recommends -y curl default-mysql-client libvips && \
    rm -rf /var/lib/apt/lists /var/cache/apt/archives

# Copy built artifacts: gems, application
COPY --from=build /usr/local/bundle /usr/local/bundle
COPY --from=build /rails /rails

# Run and own only the runtime files as a non-root user for security
# RUN useradd rails --create-home --shell /bin/bash && \
#     chown -R rails:rails db log storage tmp
# USER rails:rails
RUN groupadd --system --gid 1000 rails && \
    useradd rails --uid 1000 --gid 1000 --create-home --shell /bin/bash && \
    chown -R rails:rails db log storage tmp
USER 1000:1000
# Entrypoint prepares the database.
ENTRYPOINT ["/rails/bin/docker-entrypoint"]

# Start server via Thruster by default, this can be overwritten at runtime
EXPOSE 3000
CMD ["./bin/thrust", "./bin/rails", "server"]

I EXPOSE 3000 in dockerfile to mach with app_port from deploy.yaml or EXPOSE 80 and kept the default app_port(80) for kamal proxy my still  show me the 404 page of kamal proxy.

kamal app logs

**kamal proxy logs **

kamal app details

I need help please

same issue


fix(history): correctly handle history state in createMemoryHistory

Fixed the behaviour of the history state in createMemoryHistory to be the same than of the browser. The current implementation doesn't handle the state correctly when traversing the history.
Also added a state test.

@matthiasschwarz thank you for this contribution!


[Feat]: Auto Commenting feature for PR Merged

This feature aims to solve the problem of inconsistent and delayed communication following the merging of PRs. By automating the commenting process, it ensures that contributors receive timely feedback and acknowledgments. It also reduces the administrative burden on maintainers, allowing them to focus more on code reviews and other critical tasks.

@sethshivam11 please assign me this issue


Add new signer set to engine

Store map of signer sets under _signers attribute
Add methods to pass messages to signer set merge from engine

https://github.com/farcasterxyz/hub/pull/38


At least one local run required

Describe the bug
Sometimes if only run on the cluster, there seems to be a problem with dealing with sparse matrices. One local run can circumvent that
To Reproduce
Steps to reproduce the behavior:

Run 'flare stack/analyses/skylab_crosscheck/calculate_skylab_sensitivity.py'
Set  sin(dec) to 0.25 and run in the cluster
See error:
57164053_stderr.txt

Expected behavior
No error.

Caused (I think) by race conditions, and possible linked to #7


Implement updated menu design

Detailed Description
Implement updated wallet menu design that better matches the new channels menu.
Possible Implementation

Closed via https://github.com/LN-Zap/zap-desktop/pull/2279


Extended maxmium Umbraco dependency to include Umbraco 13.

I have updated the version number to 3.2.9 and I did test if the package worked on Umbraco 13 but then again I am not using all the functionality so it might worth testing it on your end as well.

Thanks again for this.  I've pushed a new version 3.2.9 that extends the Umbraco dependency to include 13.


Best Way to Import Line Shapefiles

Hello
I have converted a number of poly line Shapefiles into .csv files in and am trying to convert them to GEOJson files so that I can import them into an online mapping environment. When I try to either (1) open the files using the Open -> File method nothing shows up on the map and no code is present in the </> JSON window. Or (2) when I drag and drop the .csv file into the </> JSON window I do not get any GEOJson coding, instead I get the following:
TRAILNAME,SHAPELEN
Sanitas Valley,835.5762541
I did not have a problem with point Shapefiles, it just seems to be an issue with the poly line files. Is there something different that I need to do when preparing the line files before importing them into geojosn.io?
Thanks so much

This app's CSV reader/writer is only capable of handling points. See the original author's notes in https://github.com/mapbox/geojson.io/issues/572. I recommend using a program like ogr2ogr to convert your shapefiles to GeoJSON.