Giter Club home page Giter Club logo

Comments (12)

jlongster avatar jlongster commented on May 30, 2024 6

OH I KNOW WHAT THIS IS

Sorry... there's something wrong at the root of several issues, so I'll write a quick post and point all the questions there

from actual-server.

nref avatar nref commented on May 30, 2024 2

How is the fix for this coming along? I'm making paranoid backups with the fear that everything could get wiped with a misclick.

from actual-server.

cristianbostan avatar cristianbostan commented on May 30, 2024

I'm experiencing something similar, but with files I imported from the closed source version. This is what happens when i simply switch from one file to the other (check the account list): https://youtu.be/da0qI6FGhnc

from actual-server.

cristianbostan avatar cristianbostan commented on May 30, 2024

An update on my experience with this issue:
When it happened to me, I was using actual in a docker container.
I tried to deploy it on fly.io and the issue didn't show up any more. Whatever this is, it has to do with the docker image build.

from actual-server.

jlongster avatar jlongster commented on May 30, 2024

talked with @cristianbostan on discord, they figured this out (it was a something with their server, hadn't updated to the latest version)

This was fixed in #50

from actual-server.

dlip avatar dlip commented on May 30, 2024

I'm actually having this same issue still. It seems to only happen when I run using a domain name behind and nginx proxy, if i run it directly on localhost:5006 it seems to be ok. Any ideas?

from actual-server.

jatls avatar jatls commented on May 30, 2024

I'm actually having this same issue still. It seems to only happen when I run using a domain name behind and nginx proxy, if i run it directly on localhost:5006 it seems to be ok. Any ideas?

Check your headers are passed through the reverse proxy correctly. It sounds like you have an issue with the nginx proxy, not actual server.

from actual-server.

dlip avatar dlip commented on May 30, 2024

I was able to reproduce it without nginx by accessing the server through the lan ip (http://10.10.0.114:5006) rather than localhost. I deleted server files, and reset browser cache to be sure. I import my ynab budget, then switch back to the default budget and it has been taken over by my ynab budget.

from actual-server.

dlip avatar dlip commented on May 30, 2024

@jatls I was wondering if you were able to reproduce the issue using the lan ip as i did?

from actual-server.

Bostrolicious avatar Bostrolicious commented on May 30, 2024

I was able to reproduce it without nginx by accessing the server through the lan ip (http://10.10.0.114:5006) rather than localhost. I deleted server files, and reset browser cache to be sure. I import my ynab budget, then switch back to the default budget and it has been taken over by my ynab budget.

I'm seeing essentially the same thing now on v22.10.25. I'm only trying to use Actual on my LAN, so I haven't set up nginx. Any time I access Actual through the LAN IP, whether it's running on the same machine or another one, files are no longer independent. If I create two files, add accounts and transactions to each, then close them and reopen them, both files will have all entries. The same thing doesn't happen when accessing the server through localhost.

from actual-server.

jb-delafosse avatar jb-delafosse commented on May 30, 2024

Hey. I had the same issue and got the root cause which is arguably not actual.

To work, actual is using SharedArrayBuffer conjointly with HTTP headers (Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy )

When using Actual in Local Network via HTTP, your browser is dropping those headers because it thinks it is unsafe.
It prevent "SharedArrayBuffer" from being used.

image

Using a reverse proxy in HTTPs should fix the issue.

from actual-server.

TechwizEE avatar TechwizEE commented on May 30, 2024

I debugged this exact issue and found using a reverse proxy enabling HTTPS fixed it. I documented my work here actualbudget/actual#436. I also saw the COOP header error show in the post just above when I used HTTP using the host's IP address or URL (i.e. not localhost).

In my digging I found this post to be helpful: jlongster/absurd-sql#14 (comment)

Here is the NGINX .conf file I'm using (replace <full_URL> with the URL to your Actual instance):

#ssl on;  # deprecated, use ssl parameter on the listen directive
ssl_session_cache  builtin:1000  shared:SSL:10m;
ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

proxy_read_timeout 90;

# Redirect from HTTP to HTTPS
server {
    listen 80;          # Listen for all traffic on port 80
    server_name _;      # Matches any hostname
    return 301 https://$host$request_uri;   # 301 tells browser this is a permanent redirect and specifies the HTTPS version of the original request on port 80
}

server {
    listen 443 ssl;
    server_name <full_URL>;

    ssl_certificate         /etc/nginx/certs/<full_URL>.cert-chain.pem;
    ssl_certificate_key     /etc/nginx/certs/<full_URL>.com.key.pem;

    location / {
        proxy_pass http://actualserver:5006/;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

from actual-server.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.