lex-microsoft_teams 0.6.7 → 0.6.8
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/legion/extensions/microsoft_teams/actors/cache_bulk_ingest.rb +9 -0
- data/lib/legion/extensions/microsoft_teams/actors/profile_ingest.rb +6 -1
- data/lib/legion/extensions/microsoft_teams/helpers/token_cache.rb +7 -3
- data/lib/legion/extensions/microsoft_teams/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 78d528fe35f21ca1bfda03d8d581c2d979b70f23155339a1dc81e49eec40b4ab
|
|
4
|
+
data.tar.gz: 8e2d9541849239b25e00b3ca117779157d405c64555948175416b930406ec7e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18d439c2d3dae6af4747d71072fc8f6ce92151293103eb0cb3946f6233a5f48c58a4c7a7ab841dd3a2bb6a854e5649b2b729afaada8d28e78f337f35b047f46d
|
|
7
|
+
data.tar.gz: 3c2b26ef4eef98dec5eb788416c64397ed2c3ef63f353803fe9b9283046ecc3186f68300c186c212c7a206ab6222318a2b9273a5edeb735aedfa8382baa29c63
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.8] - 2026-03-22
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- TokenCache deadlock: `cached_delegated_token` held `@mutex` while calling `refresh_delegated` -> `save_to_local` which re-acquired `@mutex`. Moved refresh outside synchronize block.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- INFO logging in ProfileIngest and CacheBulkIngest `manual` methods for boot-time visibility
|
|
10
|
+
|
|
3
11
|
## [0.6.7] - 2026-03-22
|
|
4
12
|
|
|
5
13
|
### Fixed
|
|
@@ -21,6 +21,15 @@ module Legion
|
|
|
21
21
|
false
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
def manual
|
|
25
|
+
Legion::Logging.info('[Teams::CacheBulkIngest] CacheBulkIngest firing') if defined?(Legion::Logging)
|
|
26
|
+
result = runner_class.ingest_cache(**args)
|
|
27
|
+
Legion::Logging.info("[Teams::CacheBulkIngest] Complete: #{result.inspect[0, 200]}") if defined?(Legion::Logging)
|
|
28
|
+
result
|
|
29
|
+
rescue StandardError => e
|
|
30
|
+
Legion::Logging.error("[Teams::CacheBulkIngest] Error: #{e.message}") if defined?(Legion::Logging)
|
|
31
|
+
end
|
|
32
|
+
|
|
24
33
|
def args
|
|
25
34
|
{ imprint_active: imprint_active? }
|
|
26
35
|
end
|
|
@@ -23,8 +23,13 @@ module Legion
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def manual
|
|
26
|
+
Legion::Logging.info('[Teams::ProfileIngest] ProfileIngest firing') if defined?(Legion::Logging)
|
|
26
27
|
token = resolve_token
|
|
27
|
-
|
|
28
|
+
unless token
|
|
29
|
+
Legion::Logging.warn('[Teams::ProfileIngest] No token available, skipping') if defined?(Legion::Logging)
|
|
30
|
+
return
|
|
31
|
+
end
|
|
32
|
+
Legion::Logging.info('[Teams::ProfileIngest] Token acquired, starting ingest') if defined?(Legion::Logging)
|
|
28
33
|
|
|
29
34
|
settings = begin
|
|
30
35
|
Legion::Settings[:microsoft_teams] || {}
|
|
@@ -76,7 +76,7 @@ module Legion
|
|
|
76
76
|
# --- Delegated token (user auth) ---
|
|
77
77
|
|
|
78
78
|
def cached_delegated_token
|
|
79
|
-
@mutex.synchronize do
|
|
79
|
+
needs_refresh = @mutex.synchronize do
|
|
80
80
|
unless @delegated_cache
|
|
81
81
|
log_debug('No delegated token in cache')
|
|
82
82
|
return nil
|
|
@@ -87,9 +87,13 @@ module Legion
|
|
|
87
87
|
return @delegated_cache[:token]
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
refresh_delegated
|
|
90
|
+
true
|
|
92
91
|
end
|
|
92
|
+
|
|
93
|
+
return unless needs_refresh
|
|
94
|
+
|
|
95
|
+
log_info('Delegated token expired, attempting refresh')
|
|
96
|
+
refresh_delegated
|
|
93
97
|
end
|
|
94
98
|
|
|
95
99
|
def store_delegated_token(access_token:, refresh_token:, expires_in:, scopes:)
|