         }
     }
 
-    @IBAction private func sliderValueChanged(_ sender: Any) {
+    @IBAction private func sliderValueChanged(_ sender: UISlider) {
         customDetailText?.text = widgetValue.valueText(step: widget.step)
-
-        if Preferences.realTimeSliders {
-            transitionItem?.cancel()
-            isInTransition = true
-            throttler?.throttle { DispatchQueue.main.async { self.sliderDidChange(toValue: self.widgetValue) } }
-        }
+        // Calling sliderDidChange leads to interference with other cells.
+        // sliderDidChange(toValue: widgetValue)
     }
 
-    @IBAction private func sliderTouchUp(_ sender: Any) {
-        if Preferences.realTimeSliders {
-            stopTransitionDelayed()
-        } else {
-            sliderDidChange(toValue: widgetValue)
-        }
+    @IBAction private func sliderTouchUp(_ sender: UISlider) {
+        sliderDidChange(toValue: widgetValue)
     }
 
-    @IBAction private func sliderTouchOutside(_ sender: Any) {
+    @IBAction private func sliderTouchOutside(_ sender: UISlider) {
         sliderTouchUp(sender)
-    }
-
-    private func stopTransitionDelayed() {
-        transitionItem = DispatchWorkItem { [weak self] in
-            self?.isInTransition = false
-        }
-        DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: transitionItem!)
     }
 
     private func adj(_ raw: Double) -> Double {

    }

    override func displayWidget() {
        guard !isInTransition else { return }

        if let item = widget.item, item.isOfTypeOrGroupType(.color) {
            widgetSlider?.minimumValue = 0.0

    override public func initialize() {
        selectionStyle = .none
        separatorInset = .zero
        if let widget = widget {
            step = Float(widget.step)
        } else {
