Expand financial providers (#1407)

* Initial implementation

* Tiingo fixes

* Adds 2 providers, remove 2

* Add  extra checks

* FIX a big hotwire race condition

// Fix hotwire_combobox race condition: when typing quickly, a slow response for
// an early query (e.g. "A") can overwrite the correct results for the final query
// (e.g. "AAPL"). We abort the previous in-flight request whenever a new one fires,
// so stale Turbo Stream responses never reach the DOM.

* pipelock

* Update price_test.rb

* Reviews

* i8n

* fixes

* fixes

* Update tiingo.rb

* fixes

* Improvements

* Big revamp

* optimisations

* Update 20260408151837_add_offline_reason_to_securities.rb

* Add missing tests, fixes

* small rank tests

* FIX tests

* Update show.html.erb

* Update resolver.rb

* Update usd_converter.rb

* Update holdings_controller.rb

* Update holdings_controller.rb

* Update holdings_controller.rb

* Update holdings_controller.rb

* Update holdings_controller.rb

* Update _yahoo_finance_settings.html.erb
This commit is contained in:
soky srm
2026-04-09 18:33:59 +02:00
committed by GitHub
parent ab13093634
commit 7908f7d8a4
50 changed files with 2553 additions and 206 deletions

View File

@@ -7,17 +7,11 @@
<div class="text-secondary text-sm mb-4">
<span><%= t(".description") %></span>
<details class="inline">
<summary class="cursor-pointer font-medium text-secondary underline inline"> (show details)</summary>
<summary class="cursor-pointer font-medium text-secondary underline inline"> <%= t(".show_details") %></summary>
<ol class="text-sm text-secondary mt-2 list-decimal ml-6 space-y-2">
<li>
Visit <a href="https://twelvedata.com/register" target="_blank" rel="noopener noreferrer" class="underline">twelvedata.com</a> and create a free Twelve Data Developer account.
</li>
<li>
Go to the <a href="https://twelvedata.com/account/api-keys" target="_blank" rel="noopener noreferrer" class="underline">API Keys</a> page.
</li>
<li>
Reveal your <strong>Secret Key</strong> and paste it below.
</li>
<li><%= t(".step_1_html") %></li>
<li><%= t(".step_2_html") %></li>
<li><%= t(".step_3") %></li>
</ol>
</details>
</div>
@@ -31,11 +25,12 @@
controller: "auto-submit-form",
"auto-submit-form-trigger-event-value": "blur"
} do |form| %>
<% has_key = ENV["TWELVE_DATA_API_KEY"].present? || Setting.twelve_data_api_key.present? %>
<%= form.text_field :twelve_data_api_key,
label: t(".label"),
type: "password",
placeholder: t(".placeholder"),
value: ENV.fetch("TWELVE_DATA_API_KEY", Setting.twelve_data_api_key),
value: has_key ? "********" : "",
disabled: ENV["TWELVE_DATA_API_KEY"].present?,
container_class: @twelve_data_usage.present? && !@twelve_data_usage.success? ? "border-red-500" : "",
data: { "auto-submit-form-target": "auto" } %>