anchor.diff:          }
         });
         if (credential.isSteam) {
  -        final timeStep = DateTime.now().millisecondsSinceEpoch ~/ 30000;
  +        final timeStep = now ~/ 30;
           var result = await _session.command('calculate',
               target: ['accounts', credential.id],
               params: {
  
positive.code:         code = OathCode(_formatSteam(result['response']), timeStep * 30,
              (timeStep + 1) * 30);
        } else {
          var result = await _session.command('code',
              target: ['accounts', credential.id], signal: signaler);
          code = OathCode.fromJson(result);
        }
        _log.debug('Calculate', jsonEncode(code));
  
negative.code:   @override
    Future<OathCode> calculate(OathCredential credential,
        {bool update = true}) async {
      var now = DateTime.now().millisecondsSinceEpoch ~/ 1000;
      if (update) {
        // Manually triggered, need to pad timer to avoid immediate expiration
        now += 10;
      }
      final OathCode code;
      final signaler = Signaler();
      UserInteractionController? controller;
  