mirror of
https://github.com/immich-app/immich.git
synced 2026-02-05 00:30:57 +03:00
Immich Web Reports Server "offline" and "version" unknown. #1499
Closed
opened 2026-02-05 02:05:07 +03:00 by OVERLORD
·
45 comments
No Branch/Tag Specified
main
feat/asset-file-apis
chore/translations
fix/web-switch-label-clickable
fix/web-people-hidden-state
renovate/typescript-projects
release/next
fix/timezones
fix/time-zone-upserts
midzelis/wip
push-zpwsovysllvn
push-nwxlpmyzkyrl
push-nvnkszuqwppm
renovate/github-actions
push-smstsuupsowp
refactor/adaptive_image
push-olwpzvrxnomt
push-lmxsupnmxspl
renovate/machine-learning
feat/web-chromecast-video-looping
feat/use-native-clients
renovate/flutter
fix/create-face-edited
fix/mobile-ios-mtls
docs/contributing
docs/mise-mobile
renovate/grafana-monorepo
feature/bottom-buttons-order
feat/immich-mobile-ui-showcase
refactor/consolidate-image-requests
renovate/connectivity_plus-7.x
renovate/major-vitest-monorepo
renovate/pypi-python-multipart-vulnerability
fix/mobile-people-query
sqlite_thumbs
feat/html-text
chore/no-macro-validation
refactor/purchase-store
uhthomas/mobile-fix-app-bar-fade
uhthomas/mobile-fix-asset-jump
feat/pano-ocr
feat/shared-link-login
fix/database-backup-db-names
fix-keep-correct-ios-shared-album-asset
fix-memory-generation-and-display
feat/verify-permissions
refactor/album-service-small-tests
fix/ml-rocm-build
fix/flipped-dimensions-mobile
push-vpxwmwwxwnvw
fix-migration-width-height
refactor/more-queries
revert/prettier-translations
refactor/asset-service-queries
fix/locale-settings-desc
chore/add-debug-log
feat/edit-filters
shared-deep-link-handler
feat/mobile-editing
feat/thumbnail-native-clients
feat/platform-clients
feat/integrity-checks-izzy
fix/foreground-cloud-sync
feat/dynamic-layout
filter-by-person
feat/csp
refactor/sidebar
fix/disable-editing
fix/view-timeline-deeplink
image-zoom-on-slow-connection
fix-consider-dar-for-video-dimension
fix/merged-edited-assets
perf/optimize-album-sort
open-api-fix
feat/create-job-with-dto
use-toast-primary
feat/vitest-4
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
chore/translation-keys
feat/modal-routes
feat/panorama-tiles
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
better-info-in-asset-viewer
fix/all-people-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
feat/kb-shortcuts-mobile
fix/people-count
push-qolzzzzxrvvn
chore/originals-in-asset-files
feat/asset-size-columns
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
push-qvuktpxmkknu
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
feat/version.txt
feat/context-menus
feat/server-chunked-uploads
refactor/virtualsegment
refactor/rename_daymonth_groups
fix/restrict-android-bg-worker
feat/android-periodic-worker
fix-remote-sync-clean-up
refactor/timeline_move_ops
renovate/mapbox-mapbox-gl-rtl-text-0.x
fix/timeline_split_selectable
feat/keyboard_actions_help_modal
feat/static_frontend
feat/notification-warnign-android
feat/plugins2
feat/plugins
test/create-workflow-token-action
fix/docs-force
debug/search-result-similarity
debug/cf-chunked-uploads
feat/eslint_rule
feat/search-filter-album/web
refactor/timeline_photostream
refactor/timelineasset_asset
feat/session-permissions
feat/timeline_photostream_assetnav
feat/timeline_minor_optimize
feat/timeline_perf_nocomp
feat/timeline_search_results_actions
feat/timeline_search_results_page
fix/timeline_padding
fix/timeline_search_reactivity_warnings
feat/timeline_scrollbar
feat/timeline_stream_withviewer
fix/timeline_back_forth_nav
refactor/timeline_photostream_component
fix/generated-files-checks
fix/locate-button-local
chore/base-image-mimalloc
refactor/timeline_assetlayout
refactor/timeline_selectable
refactor/timeline_aware_actions
refactor/timeline_monthsegment
feat/remove-old-pages
chore/deps-gradle
tmp_photostream
tmp/lcms
feat/mobile-dynamic-thumbnails
fix/mobile-finer-thumbnail-concurrency
refactor/timeline1
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat/multi-select-asset-viewer
feat-no-thumbhash-cache
refactor/asset_grid
feat/faster-access-checks
fix/18991
fix/19543
chore/temp-remove
fix/21419
feat/mobile-hdr-images
chore/update-mise-lockfile
feat/mise-server-checks
feat/mise-ci
feat/windows-2025
feat/dev_cli
refactor/mobile-migrate-clients
fix/map-theme
fix/require-checkbox
chore/use_swc
feat/efficient-thumbnail-decoding
refactor/mobile-thumbhash
refactor/mobile-thumbhash-new
fix/mobile-uncached-zoom
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/mobile-shared-album
feat/groups
drift-map-page
drift-auth-user-sync
fix/disable-memory
feat/add-to-album-action
edit-date-time-action
drift-people-page
sqlite-remove-isIn
feat/inline-storage-columns
chore/required-reviewers
refact/asset-manager
fix/folder-sort
pnpm
feat/widget-multiple-server-urls
chore/medium-tests-dbname
fix/web-no-iterator-find
fix/map-pan-interruption
track-livephotos
timeline_events
chore/oxlint-migration
feat/maintenance-worker
feat/dav
chore/demo-snapshot
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
postgres-queue
focus_rings
refactor/web-stores-1
refactor/add-to-taken
feat/sort-places
feat/sidecar-asset-file
vet
tmp/demo-snapshot-preview
fix/server-migration-file-extension
refactor/mobile-v2
fix/asset-update-race-condition
rknn-toolkit-lite2
refactor/mobile-split-up-search-page
feature/Add-rocm-support-for-machine-learning
feat/rocm
chore/async-hash-file
feat/shared-link-view-count
feat/rotation
feat/graphql
feat/job-ids
feat/ignore-library-permission-error
feat/docker-compose-builder
feat/kysely-typeorm
mobile/onboarding
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/xxhash
fix/docs-concurrency
feat/preload-ml-textual-model
feat/local-tileserver
refactor/exif-orientation
original-path-infix
refactor/mobile/login-form-1
feat/server-editor-endpoints
fix/server-qsv-vbr
fix-mobile-db-problems
feat/ml-armnn-conversion
feat/mobile/backup-with-album-info
feat/fast-initial-sync-1
chore/handle-output_dims
feat/server-more-robust-generation
feat/unassign-faces
feat/shortcuts-on-asset-grid
feat/background-upload
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
release/v1.105
fix/mobile-fetch-non-archive
feat/fine-grained-access-controls
web/automation-ui
feat/mobile-server-endpoint-save-dropdown
feat/blurhash-thumbnail
object-storage
feat/memories-animations
dev/metrics
ml/tflite
feat/ml-export-cli
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
v1.144.1
v1.144.0
v1.143.1
v1.143.0
v1.142.1
v1.142.0
v1.141.1
v1.141.0
v1.140.1
v1.140.0
v1.139.4
v1.139.3
v1.139.2
v1.139.1
v1.139.0
v1.138.1
v1.138.0
v1.137.3
v1.137.2
v1.137.1
v1.137.0
v1.136.0
v1.135.3
v1.135.2
v1.135.1
v1.135.0
v1.134.0
v1.133.1
v1.133.0
v1.132.3
v1.132.2
v1.132.1
v1.132.0
v1.131.3
v1.131.2
v1.131.1
v1.131.0
v1.130.3
v1.130.2
v1.130.1
v1.130.0
v1.129.0
v1.128.0
v1.127.0
v1.126.1
v1.126.0
v1.125.7
v1.125.6
v1.125.5
v1.125.4
v1.125.3
v1.125.2
v1.125.1
v1.125.0
v1.124.2
v1.124.1
v1.124.0
v1.123.0
v1.122.3
v1.122.2
v1.122.1
v1.122.0
v1.121.0
v1.120.2
v1.120.1
v1.120.0
v1.119.1
v1.119.0
v1.118.2
v1.118.1
v1.118.0
v1.117.0
v1.116.2
v1.116.1
v1.116.0
v1.115.0
v1.114.0
v1.113.1
v1.113.0
v1.112.1
v1.112.0
v1.111.0
v1.110.0
v1.109.2
v1.109.1
v1.109.0
v1.108.0
v1.107.2
v1.107.1
v1.107.0
v1.106.4
v1.106.3
v1.106.2
v1.106.1
v1.106.0
v1.105.1
v1.105.0
v1.104.0
v1.103.1
v1.103.0
v1.102.3
v1.102.2
v1.102.1
v1.102.0
v1.101.0
v1.100.0
v1.99.0
v1.98.2
v1.98.1
v1.98.0
v1.97.0
v1.96.0
v1.95.1
v1.95.0
v1.94.1
v1.94.0
v1.93.3
v1.93.2
v1.93.1
v1.93.0
v1.92.1
v1.92.0
v1.91.4
v1.91.3
v1.91.2
v1.91.1
v1.91.0
v1.90.2
v1.90.1
v1.90.0
v1.89.0
v1.88.2
v1.88.1
v1.88.0
v1.87.0
v1.86.0
v1.85.0
v1.84.0
v1.83.0
v1.82.1
v1.82.0
v1.81.1
v1.81.0
v1.80.0
v1.79.1
v1.79.0
v1.78.1
v1.78.0
v1.77.0
v1.76.1
v1.76.0
v1.75.2
v1.75.1
v1.75.0
v1.74.0
v1.73.0
v1.72.2
v1.72.1
v1.72.0
v1.71.0
v1.70.0
v1.69.0
v1.68.0
v1.67.2
v1.67.1
v1.67.0
v1.66.1
v1.66.0
v1.65.0
v1.64.0
v1.63.2
v1.63.1
v1.63.0
v1.62.1
v1.62.0
v1.61.0
v1.60.0
v1.59.1
v1.59.0
v1.58.0
v1.57.1
v1.57.0
v1.56.2
v1.56.1
v1.56.0
v1.55.1
v1.55.0
v1.54.1
v1.54.0
v1.53.0
v1.52.1
v1.52.0
v1.51.2
v1.51.1
v1.51.0
v1.50.1
v1.50.0
v1.49.0
v1.48.1
v1.48.0
v1.47.3
v1.47.2
v1.47.1
v1.47.0
v1.46.1
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.0_65-dev
v1.41.1_64-dev
v1.41.0_64-dev
v1.40.1_63-dev
v1.40.0_63-dev
v1.39.0_61-dev
v1.38.2_60-dev
v1.38.1_60-dev
v1.38.0_60-dev
v1.37.0_58-dev
v1.36.2_56-dev
v1.36.1_55-dev
v1.36.0_55-dev
v1.35.0_54-dev
v1.34.0_53-dev
v1.33.1_52-dev
v1.33.0_52-dev
v1.32.1_51-dev
v1.32.0_50-dev
v1.31.1_49-dev
v1.31.0_49-dev
v1.30.2_48-dev
v1.30.0_46-dev
v1.29.6_45-dev
v1.29.6_44-dev
v1.29.5_44-dev
v1.29.4_44-dev
v1.29.3_43-dev
v1.29.2_43-dev
v1.29.1_43-dev
v1.29.0_42-dev
v1.28.4_41-dev
v1.28.4_42-dev
v1.28.3_41-dev
v1.28.2_40-dev
v1.28.1_39-dev
v1.28.0_38-dev
v1.27.0_37-dev
v1.26.0_36-dev
v1.25.0_35-dev
v1.24.0_34-dev
v1.23.0_33-dev
v1.22.0_32-dev
v1.21.1_31-dev
v1.21.0_31-dev
v1.20.3_30-dev
v1.20.2_30-dev
v1.20.1_30-dev
v1.20.0_30-dev
v1.19.1_29-dev
v1.19.0_29-dev
v1.18.0_27-dev
v1.17.0_25-dev
v1.16.0_23-dev
v1.15.1_21-dev
v1.15.0_21-dev
v1.14.0_21-dev
v1.13.0_20-dev
v1.12.0_18-dev
v1.11.0_17-dev
v1.10.0_15-dev
v1.9.1_14-dev
v1.9.0_13-dev
v1.8.0_12-dev
v1.7.0_11-dev
v1.6.0_10-dev
v1.5.1+9-dev
v1.5.0+8-dev
v1.4.0+7-dev
v1.4.0+6-dev
v1.4.0-dev
v1.3.0-dev
v1.3.1-dev
v0.6-dev
v0.5-dev
v0.4-dev
v0.3-dev
v0.2-dev
first-android-release
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: immich-app/immich#1499
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @reefland on GitHub (Oct 23, 2023).
Originally assigned to: @jrasm91 on GitHub.
The bug
Not a new install, been running for many months. Immich has been very stable for me. After v1.82.1 upgrade the Web Interface shows:

However, Immich seems to be fully operational. I can run jobs, view server stats, tested the new Repair option.
The mobile application connects fine and states "Client and Server are up-to-date".
The OS that Immich Server is running on
Ubuntu 22.04
Version of Immich Server
v1.82.1
Version of Immich Mobile App
1.82.0 build.106
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Additional information
I understand if Kubernetes is not supported, not looking for support. Just wanted to report this odd issues.
I did see the reference in BREAKING CHANGES to: We removed a section from the default docker-compose.yml that passed the
IMMICH_SERVER_URLandIMMICH_WEB_URLenvironment variables to immich-proxy. If your setup requires those, make sure you keep them passed through.As far as I can tell, these are still being passed. From a terminal within the WEB app:
@bo0tzz commented on GitHub (Oct 23, 2023):
PUBLIC_IMMICH_SERVER_URLis the address on which the web client tries to reach the server API when running in the browser. You probably have that misconfigured (and most likely you don't need to set it at all).@alextran1502 commented on GitHub (Oct 23, 2023):
Does the info show up if you hit Ctrl + F5 to reload the page? This is the hiccup with the new WebSocket implementation that will still need to fix
@raisinbear commented on GitHub (Oct 23, 2023):
FWIW, I only encounter this in Firefox private tabs. However, reloading the page still shows offline / unknown then.
@reefland commented on GitHub (Oct 23, 2023):
Agreed. I originally did not have that. As part of troubleshooting, I compared my setup to others using the same Kubernetes template and noticed they had it. Figured I'd try it. I'll remove it as it didn't seem to do anything.
@reefland commented on GitHub (Oct 23, 2023):
No it did not help. I'm using Firefox 118.0.1 on Linux (not a private window).
I tested in Chrome as well and reproduced the issue.
@reefland commented on GitHub (Oct 23, 2023):
Looking at developer tools in FireFox, I noticed this:
With redactions:

@reefland commented on GitHub (Oct 23, 2023):
@martabal commented on GitHub (Oct 23, 2023):
I get the same issue on firefox using Oauth2 : on login everything load properly except the server status / version. Refreshing the page fixes it.
@jrasm91 commented on GitHub (Oct 23, 2023):
I think there is an open bug for this. Basically, the when websocket connection is created initially, it requires authentication, so it doesn't work when you load the page unauthenticated and then login.
I believe this is a duplicate of #4521
@reefland commented on GitHub (Oct 23, 2023):
When using Web interface, if I sign-out, and sign-in it still does not work. Tried with Firefox and Chromium.
I haven't found any scenario where I can get the status and version to working correctly after upgrading. I don't think this is a duplicate.
@jrasm91 commented on GitHub (Oct 23, 2023):
Hmm OK. Can you reproduce this in an incognito tag in chrome? Specifically after logging in, refresh the page and the web socket never gets established?
@reefland commented on GitHub (Oct 23, 2023):
Here ya go...
Dev Tools in Incognito window:

If I click any of
/api/socket.io/?EIO-....link it opens new tab with:@jrasm91 commented on GitHub (Oct 23, 2023):
A few things:
IMO, we should focus on why the initial websocket connection is upgraded.
I think we will need more information or help to figure out where the "connection refused" error is originating and why. We can probably add some addition logging in the immich-server to help see what connections come in and more details about any error situations.
@reefland commented on GitHub (Oct 23, 2023):
On the immich-server side (I have 2 instances), neither report anything which looks like errors, logs look like:
@jrasm91 commented on GitHub (Oct 23, 2023):
Right, I don't think we currently log anything on connection errors.
@JM-Lemmi commented on GitHub (Oct 25, 2023):
The issue for me even persists after deleting all the volumes and redownloading the current docker-compose.yml and .env from the installation instructions. For testing purposes even without changing the typesense and postgres passwords. So this should be a completely new setup, but the problem is the same.
@alextran1502 commented on GitHub (Oct 25, 2023):
@JM-Lemmi the fix has not been released yet
@JM-Lemmi commented on GitHub (Oct 25, 2023):
Right. I wanted to add more information to the troubleshooting. The original issue mentioned an existing setup being upgraded, but for me it also happened on a new setup. I'd be happy to assist in troubleshooting more.
@jrasm91 commented on GitHub (Oct 25, 2023):
There is some additional error logging on the server for websocket connections that will be in the next release. Hopefully that will help determine the cause of the issue.
@ThatCoffeeGuy commented on GitHub (Oct 30, 2023):
This also happens when you're running multiple instances of immich and have them open in the same browser session. (running one at port ending 3, the other with 4.)
@reefland commented on GitHub (Nov 6, 2023):
Has this additional logging been added? Upgraded to v1.84.0, the logging looks different, but still no error messages.
@jrasm91 commented on GitHub (Nov 6, 2023):
@reefland it has. The fact you are not seeing anything indicates that the connection itself is not making it to the server due to a networking issue or similar. Are websocket connections allowed at all levels of routing?
@imtoanle commented on GitHub (Nov 6, 2023):
@reefland If you are using nginx load balancer then that's problem between socketio and nginx ingress. Just add configuration-snippet to nginx.
https://socket.io/docs/v4/using-multiple-nodes/#nginx-ingress-kubernetes
@reefland commented on GitHub (Nov 6, 2023):
@imtoanle - thanks for that. I'm using Traefik Ingress on Kubernetes, they don't have an example for that one. They have one for use with docker which is just sticky sessions. The labels listed have equivalent Kubernetes annotations in the Traefik Docs
I enabled the two annotations on the API Service (not the API Ingress!) and it worked:
Service when viewed in Traefik Dashboard will show the sticky cookie:

So switching to websockets is going to give plenty of implementation specific headaches.
@imtoanle commented on GitHub (Nov 7, 2023):
@reefland I'd be glad to help. I also lost a lot of time on this issue, this should be put in the document to save time for others.
@reefland commented on GitHub (Nov 8, 2023):
Maybe we need to wait and see what the Dev plans are with expansion of websockets. A solution which requires sticky sessions to be enabled raises questions. Normally API load would be round-robin between multiple instances, across multiple nodes in my cluster via the service. I have concerns with sticky sessions now getting in the way of that.
Hopefully someone more knowledgeable about Immich can chime in.
@jrasm91 commented on GitHub (Nov 8, 2023):
Sticky sessions are only required if your web servers don't support upgrading http connection to web sockets.
@reefland commented on GitHub (Nov 9, 2023):
But didn't work unless sticky session was applied to the Kubernetes Service that sits between
immich-serverand Traefik.Client Browser -> Kube-VIP NLB -> 3 instances of Traefik [SSL Terminates here] -> Kubernetes Service [sticky session annotation here] -> 2 instances of immich-server.
Does it imply the Kubernetes Service does not support websockets?
@jrasm91 commented on GitHub (Nov 9, 2023):
Correct. If you look at the network requests in the web, it tries to upgrade initially and if that fails, it falls back to polling. Pulling requires sticky sessions for sure.
I would guess that is what is happening which means something in the chain is preventing the websocket connection.
@bo0tzz commented on GitHub (Nov 9, 2023):
Basic Kubernetes services are simple enough that it's not a question of whether they support things (so they do support websockets). It must be something else in the path.
@conneryn commented on GitHub (Nov 30, 2023):
By default,
socket.ioactually starts with polling, then attempts to upgrade.Their reason:
Ref: https://socket.io/docs/v3/how-it-works/#upgrade-mechanism
Unfortunately, this default behaviour seems to cause a challenge upgrading to Websockets when using multiple nodes. Their documentation, strongly suggests to either enable sticky sessions or explicitly disable "polling" completely.
That said, they also mention that we can change the default order:
I am not sure why this isn't their preferred suggestion, as I can't see how this would be any worse of a user experience than disabling polling altogether, but there may be something I am unaware of?
Either way, I, personally, want to avoid sticky sessions and am happy to have a degraded experience for edge-case connections that still don't support Websockets, so I am very in favour of either disabling polling altogether, or changing the order... but I understand this may not be a shared view. I wonder if it would be possible to make this configurable?
P.S.: is anyone else amused by the line "up to at least 10 seconds"? 😆
@jrasm91 commented on GitHub (Dec 1, 2023):
Oh interesting. Maybe we can try disabling polling, at least initially.
@ghost commented on GitHub (Feb 2, 2024):
I updated to version v1.94.1 from version v1.93.3 the other day and this issue is still there. I have not had any time to research this issue but this is what I know so far:
@nirjhar commented on GitHub (Feb 4, 2024):
same here.
@jrasm91 commented on GitHub (Feb 4, 2024):
What browser are you using?
@ghost commented on GitHub (Feb 4, 2024):
Latest version of Brave.
I have noticed during the past days that sometimes the issue is not there, then it comes back sometimes.
@jrasm91 commented on GitHub (Feb 4, 2024):
Does it work in another browser?
@xopek-by commented on GitHub (Feb 7, 2024):
Same here.
I checked in three browsers - Safari, Edge and Chrome. In incognito mode as well.
It appeared after updating to 1.94.1
@jrasm91 commented on GitHub (Feb 7, 2024):
Starting in 1.94 the status/version info box requires a websocket connection. This must be enabled in your reverse proxy. Also, Brave browser blocks websockets when using "Brave Browser Shield".
@xopek-by commented on GitHub (Feb 7, 2024):
Oh, thank you so much. I read the release notes, but apparently I was either too blind or too stupid to see it at the time.
Allowed websocket to reverse proxy and it worked.
@9k001 commented on GitHub (Feb 29, 2024):
I solved this problem a few days ago by using nginx to add support for Websocket, but it reappeared after upgrading to 1.97.0 today.
In addition, I want to know whether this state is a link between the server side and the DB side or between the microservices side and the DB side.
@jrasm91 commented on GitHub (Feb 29, 2024):
This is between the web and the server. The database and microservices are not involved.
@9k001 commented on GitHub (Feb 29, 2024):
Thanks for your help, I solved the problem.
This link is between WebUI and Server, and I solved this problem after adding websocket support to Nginx.
@csrednicki commented on GitHub (Oct 3, 2024):
When using Network Proxy Manager you should enable websockets support like in screenshot below.

@doublebubblemethod commented on GitHub (Nov 29, 2025):
thanks! Also for future troubleshooters - pls wait a bit after enabling this feature :D
I was getting nginx defaut page with congratulations and it was driving me crazyyy