Skip to content

Files hosted on S3 with names that include '+' are encoded by S3 and not findable by the application. #6451

@lukebrdn

Description

@lukebrdn

Describe the bug

When hosting on Amazon S3, files that contain '+' are encoded and are not findable by the application. This makes files using the '+' file prefix unreachable, such as css files created during the build process (e.g. +layout.css).

See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html

Reproduction

Not sure the best way to reproduce this but I'm open to ideas. Here's an image demonstrating how the file name get encoded. I simply uploaded a file named +layout.css to an S3 bucket named sveltekit-bug.

Screen Shot 2022-08-30 at 6 18 40 PM

Logs

No response

System Info

System:
    OS: macOS 12.5.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 1.62 GB / 64.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.17.0 - ~/.nvm/versions/node/v16.17.0/bin/node
    npm: 8.15.0 - ~/.nvm/versions/node/v16.17.0/bin/npm
  Browsers:
    Safari: 15.6.1
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.69 
    @sveltejs/adapter-static: ^1.0.0-next.39 => 1.0.0-next.39 
    @sveltejs/kit: next => 1.0.0-next.448 
    svelte: ^3.46.0 => 3.49.0 
    vite: ^3.0.8 => 3.0.9

Severity

blocking an upgrade

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions