truenorth 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8122d3972ae1ccc7041a3218e320b50665ee2df333fe998ab7127e2e3f04dec9
4
- data.tar.gz: 2cb16851538859493d237c29cdb73e0d70b49cf43723fc99be4542878a2d3ad0
3
+ metadata.gz: 15c7a78be2009cc55365128505f78d049bf5695e315ea81a2fc463d580f33892
4
+ data.tar.gz: e016cb6b1f04c46cd837f4cb25f30c9f38b13107864221dcfa23f0c9782475f0
5
5
  SHA512:
6
- metadata.gz: 324a9afac6e47cb66f141567ddcb65195c0f2a001cc1b48e1b24824f0aada5779d6ae620c5c2a2df60f09097ce424f7db1b30f7bc14b3f0d7479dbc988b03f4b
7
- data.tar.gz: 8cfdc09c006491569b05f256096d55003d4d1a40bd3b9925ff1f1f7378745a3c657ce4cf1ed2350d7e0bb237fb485842288f631e2e82661f00f49d1eabf13685
6
+ metadata.gz: 4671765383cf22430c69a37e2823202f068ca0544f551150f4697383d2390f5001c59bb98dfefb5f13dc56259fec671ef2be93ff26de9ecdac04f76fdee48749
7
+ data.tar.gz: 6340c6a6b700363a65bb83ca2041c982e6f8374b9ac182805f575a104f0b3e67629ab0ff12dba299de68c68b675c769ce8bc3f78bc27e12dc6ccd426346c1ecf
@@ -127,30 +127,34 @@ module Truenorth
127
127
 
128
128
  log "Clicked slot: #{slot_info[:court]} at #{slot_info[:time]}"
129
129
 
130
- # Check if reservation panel appeared with Save button
131
- panel_state = @browser.evaluate(<<~JS)
132
- (function() {
133
- var panel = document.querySelector('[id*="reservationPanel"]');
134
- var saveBtn = document.querySelector('.btn-save');
135
- var fromTime = document.querySelector('select[name*="fromTime_input"]');
136
- return {
137
- hasPanel: !!panel,
138
- panelVisible: panel ? panel.offsetWidth > 0 : false,
139
- hasSaveBtn: !!saveBtn,
140
- saveBtnVisible: saveBtn ? saveBtn.offsetWidth > 0 : false,
141
- saveBtnId: saveBtn ? saveBtn.id : null,
142
- fromTime: fromTime ? fromTime.value : null
143
- };
144
- })()
145
- JS
146
- log "Reservation panel: #{panel_state.inspect}"
130
+ # Wait for reservation panel to appear with Save button (poll up to 10 seconds)
131
+ panel_state = nil
132
+ 10.times do |i|
133
+ sleep 1
134
+ panel_state = @browser.evaluate(<<~JS)
135
+ (function() {
136
+ var panel = document.querySelector('[id*="reservationPanel"]');
137
+ var saveBtn = document.querySelector('.btn-save');
138
+ var fromTime = document.querySelector('select[name*="fromTime_input"]');
139
+ return {
140
+ hasPanel: !!panel,
141
+ panelVisible: panel ? panel.offsetWidth > 0 : false,
142
+ hasSaveBtn: !!saveBtn,
143
+ saveBtnVisible: saveBtn ? saveBtn.offsetWidth > 0 : false,
144
+ saveBtnId: saveBtn ? saveBtn.id : null,
145
+ fromTime: fromTime ? fromTime.value : null
146
+ };
147
+ })()
148
+ JS
149
+ log "Panel check #{i + 1}/10: #{panel_state.inspect}"
150
+
151
+ break if panel_state['saveBtnVisible']
152
+ end
147
153
 
148
154
  unless panel_state['saveBtnVisible']
149
- log 'Save button not visible after slot click'
150
- if @debug
151
- @browser.screenshot(path: '/tmp/no_save_btn.png', full: true)
152
- log 'Saved screenshot to /tmp/no_save_btn.png'
153
- end
155
+ log 'Save button not visible after 10s of waiting'
156
+ @browser.screenshot(path: '/tmp/no_save_btn.png', full: true)
157
+ log 'Saved screenshot to /tmp/no_save_btn.png'
154
158
  raise BookingError, 'Reservation panel did not appear after clicking slot'
155
159
  end
156
160
 
data/lib/truenorth/cli.rb CHANGED
@@ -139,6 +139,12 @@ module Truenorth
139
139
  say 'Fetching reservations...', :cyan
140
140
  results = client.reservations
141
141
 
142
+ # Retry once if results are empty (transient session issues)
143
+ if results.empty?
144
+ client = Client.new(debug: options[:debug])
145
+ results = client.reservations
146
+ end
147
+
142
148
  if options[:json]
143
149
  puts JSON.pretty_generate(results)
144
150
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Truenorth
4
- VERSION = '0.7.0'
4
+ VERSION = '0.7.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: truenorth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - usiegj00
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-02-10 00:00:00.000000000 Z
11
+ date: 2026-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64