Sam Germain
de4b0d1f7c
Merged with feat/short
2021-08-09 00:24:25 -06:00
Sam Germain
06206335d9
Added tests for interest_function
2021-08-09 00:00:50 -06:00
Matthias
47f641d12f
Remove hyperopt-pickle result support
2021-08-09 07:04:18 +02:00
Sam Germain
8e941e6836
Changed interest implementation
2021-08-08 17:09:17 -06:00
Sam Germain
0545a0ed3c
Replaced the term margin with leverage when it should say leverage
2021-08-08 17:04:24 -06:00
Matthias
756112c84d
Merge pull request #5374 from freqtrade/rem_legacy_hyperopt
...
Remove legacy hyperopt
2021-08-08 12:42:52 +02:00
Matthias
be240566ba
Fix random test failure
2021-08-08 10:57:20 +02:00
Matthias
faf16a64e5
Remove legacy hyperopt file support
2021-08-08 10:22:45 +02:00
Matthias
92ed7c0bf8
Merge branch 'develop' into feat/short
2021-08-07 09:42:25 +02:00
Matthias
6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
...
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Sam Germain
b9356a5564
Autopep8 formatting
2021-08-06 16:35:39 -06:00
axel
0aeebc9d53
add test for custom exit price
2021-08-05 17:57:45 -04:00
axel
2cf781f3dd
add freqtradebot execute_buy test in custom entry price case
2021-08-04 18:32:39 -04:00
Matthias
ad0e4a8567
Add BooleanParameter
2021-08-04 20:52:56 +02:00
Matthias
b73768acd1
Fix bug in property overwriting prevention
2021-08-04 20:21:56 +02:00
Matthias
3c41223333
Add test for protections-hyperopt
2021-08-04 20:01:28 +02:00
Matthias
a661e0db6e
Deprecate protections from config
2021-08-04 19:43:16 +02:00
Matthias
091bf7c4d2
Output protection space
2021-08-04 06:50:14 +02:00
axel
bc3e6deb1c
remove specific test for buy with custom entry
2021-08-03 17:09:52 -04:00
axel
b3dafb378e
remove use_custom_entry_price as a config option
2021-08-03 16:54:28 -04:00
axel
00939b63f2
flake 8 fixes
2021-08-03 16:25:18 -04:00
axel
d9c9b7d7fc
restore interface test file
2021-08-03 16:02:10 -04:00
axel
3d8c3ffd38
fix syntax error in unit test
2021-08-03 15:57:23 -04:00
axel
f11f5d17e9
add feature custom entry price for live
2021-08-03 15:57:23 -04:00
Sam Germain
d88e2ae603
Merge branch 'develop' into margin-db
2021-08-02 23:58:44 -06:00
Matthias
adb33e763b
Merge pull request #5350 from freqtrade/environment_vars
...
Add environment variable support
2021-08-02 20:48:23 +02:00
Matthias
c981641441
Don't fail if strategy doesn't contain sell signal
2021-08-02 20:30:46 +02:00
Matthias
d8d8261f1b
Merge pull request #5318 from samgermain/combined_exchange_buy_sell
...
combined exchange.buy and exchange.sell
2021-08-02 20:11:09 +02:00
Matthias
3c5f06d5c0
Update tests/exchange/test_exchange.py
2021-08-02 08:31:33 +02:00
Matthias
5ead95b06b
Merge pull request #5245 from sauces1313/RangeStabilityFilterMax
...
Range stability filter max
2021-08-02 08:06:36 +02:00
Matthias
b63eda3a2b
Some minor cleanup and improved test coverage
2021-08-02 07:15:09 +02:00
Sam Germain
047df0c212
Removed leverage references
2021-08-01 03:01:47 -06:00
Sam Germain
90a61b1765
Changed tests in tests/test_persistence.py to use usdt prices
2021-07-31 20:44:49 -06:00
Matthias
6f8519d0a3
Add environment variable support
2021-07-31 19:26:56 +02:00
Matthias
c5e3348b89
Migrations for indexes should run in a seperate session
...
closes #5349
2021-07-31 16:36:28 +02:00
Sam Germain
bc42516f68
test_update_limit_order has both a buy and sell leverage short order
2021-07-31 01:05:37 -06:00
Matthias
6abd352c0f
Add test for backtesting dataframe cache
2021-07-31 08:44:09 +02:00
Sam Germain
26be620f71
Removed LocalTrade.set_is_short
2021-07-31 00:20:25 -06:00
Sam Germain
fadb0de7c7
Removed excess modes stop_loss method, removed models.is_opening_side models.is_closing_side
2021-07-31 00:12:53 -06:00
Matthias
35bf2a59a8
Improve test reliability (fix fluky test)
2021-07-30 21:02:55 +02:00
Matthias
138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
...
Add buy signal name
2021-07-30 08:23:11 +02:00
Matthias
71838dc51a
Merge pull request #5285 from freqtrade/backtest_startup_afte_populates
...
Remove startup-candles after populating buy/sell signals
2021-07-30 07:01:26 +02:00
Matthias
cf4d1875dd
Use prohibitedIn instead of isRestricted
2021-07-29 06:56:37 +02:00
Sam Germain
25c527ee67
combined exchange.buy and exchange.sell, Adding dummy mock to create_order in tests in test_freqtradebot
2021-07-28 14:55:06 -06:00
Sam Germain
3fb7f983f8
Added is_short and leverage to __repr__
2021-07-28 12:25:56 -06:00
Sam Germain
195badeb80
Changed liquidation_price to isolated_liq
2021-07-28 12:25:56 -06:00
Sam Germain
6ad9b535a9
persistence all to one test file, use more regular values like 2.0 for persistence tests
2021-07-28 12:25:56 -06:00
Sam Germain
a900570f1a
Added enter_side and exit_side computed variables to persistence
2021-07-28 12:25:56 -06:00
Sam Germain
b801eaaa54
Changed the name of a test to match it's equivelent
...
Removed test-analysis-lev
2021-07-28 12:25:56 -06:00
Sam Germain
af8875574c
updated mkdocs and leverage docs
...
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-28 12:25:56 -06:00
Sam Germain
256160740e
Updated interest and ratio calculations to correct functions
2021-07-28 12:25:56 -06:00
Sam Germain
8e52a3a29c
updated ratio_calc_profit function
2021-07-28 12:25:55 -06:00
Sam Germain
b0476ebd3e
All persistence margin tests pass
...
Flake8 compliant, passed mypy, ran isort .
2021-07-28 12:25:55 -06:00
Sam Germain
60572c9e0d
Took liquidation price out of order completely
2021-07-28 12:25:55 -06:00
Sam Germain
0fc9d6b6ac
Moved leverage and is_short variables out of trade constructors and into conftest
2021-07-28 12:25:55 -06:00
Sam Germain
b7b6d87c27
Pass all but one test, because sqalchemy messes up
2021-07-28 12:25:55 -06:00
Sam Germain
b1098f0120
Added liquidation_price check to test_stoploss_reinitialization_short
2021-07-28 12:25:55 -06:00
Sam Germain
811cea288d
Added checks for making sure stop_loss doesn't go below liquidation_price
2021-07-28 12:25:55 -06:00
Sam Germain
0bd71f87d0
made leveraged test names unique
...
test_adjust_stop_loss_short, test_update_market_order_shortpasses
2021-07-28 12:25:55 -06:00
Sam Germain
286427c04a
Moved interest calculation to an enum
2021-07-28 12:25:55 -06:00
Sam Germain
be3a9390fe
Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable
2021-07-28 12:25:55 -06:00
Sam Germain
a4403c0814
fixed rpc_apiserver test fails, changed test_persistence_long to test_persistence_leverage
2021-07-28 12:25:55 -06:00
Sam Germain
0ffc85fed9
Set default leverage to 1.0
2021-07-28 12:25:55 -06:00
Sam Germain
78708b27f2
Updated tests to new persistence
2021-07-28 12:25:55 -06:00
Matthias
e0d42d2eb7
Fix migrations, revert some parts related to amount properties
2021-07-28 12:25:55 -06:00
Sam Germain
e4d4d1d1f1
Wrote all tests for shorting
2021-07-28 12:25:55 -06:00
Sam Germain
f194673001
Updated ratio calculation, updated short tests
2021-07-28 12:25:55 -06:00
Sam Germain
5ac03762f0
Kraken interest test comes really close to passing
...
Added more trades to conftest_trades
2021-07-28 12:25:55 -06:00
Sam Germain
68d3699c19
Turned amount into a computed property
2021-07-28 12:25:55 -06:00
Sam Germain
efcc2adacf
About 15 margin tests pass
2021-07-28 12:25:55 -06:00
Sam Germain
f5d7deedf4
added exception checks to LocalTrade.leverage and LocalTrade.borrowed
2021-07-28 12:25:55 -06:00
Sam Germain
d07fe1586c
Set leverage and borowed to computed properties
2021-07-28 12:25:55 -06:00
Sam Germain
c24ec89dc4
Started some pytests for short and leverage
...
1 short test passes
2021-07-28 12:25:55 -06:00
Sam Germain
000932eed0
Adding templates for leverage/short tests
...
All previous pytests pass
2021-07-28 12:25:55 -06:00
sauces1313
4675d85b90
Merge branch 'freqtrade:develop' into RangeStabilityFilterMax
2021-07-25 02:37:56 -05:00
sauces1313
34c8a5afaf
remove second filter, add max option
2021-07-25 07:24:55 +00:00
kevinjulian
0fcbe097c0
remove blankspace
2021-07-23 21:06:38 +07:00
kevinjulian
7a0cb95ffb
fix testcase
2021-07-23 20:43:27 +07:00
kevinjulian
b9c2489b73
remove SN
2021-07-23 18:41:29 +07:00
kevinjulian
ba0fa1120a
revert rename naming
2021-07-23 18:39:18 +07:00
kevinjulian
acfaa39e54
revert back test_rpc_api_server
2021-07-23 18:34:18 +07:00
kevinjulian
8032257fdf
revert test_pairlist
2021-07-23 18:30:25 +07:00
kevinjulian
aea5da0c73
changes testcase
2021-07-23 11:42:43 +07:00
kevinjulian
b01daa8bbc
expose buy_tag to api
2021-07-22 13:09:05 +07:00
kevinjulian
46f2a20a98
run flake8
2021-07-22 02:00:51 +07:00
kevinjulian
235c1afd09
add buy_tag on telegram
2021-07-22 01:53:15 +07:00
kevinjulian
49886874aa
rename to buy_tag
2021-07-21 20:05:35 +07:00
kevinjulian
66a7070170
run linter
2021-07-20 23:56:03 +07:00
kevinjulian
5d04d6ffa7
fix edge testcase
2021-07-20 23:40:32 +07:00
kevinjulian
cbfedf8b29
fix backtest testcase
2021-07-20 23:25:00 +07:00
kevinjulian
3d8b2d601d
fix test persistance
2021-07-20 20:23:47 +07:00
Kevin Julian
edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name
2021-07-20 19:19:46 +07:00
kevinjulian
ed30c023cd
fix some testcase
2021-07-20 19:08:14 +07:00
kevinjulian
ec526b3f96
fix testcase
2021-07-20 16:22:04 +07:00
kevinjulian
7d04005218
add test and migration
2021-07-20 16:14:48 +07:00
Matthias
e4b42b2b5b
Merge pull request #5284 from samgermain/merge_get_buy_sell_rate
...
Merge get_buy_rate and get_sell_rate
2021-07-20 06:54:47 +02:00
Matthias
365479f5e0
Remove startup-candles after populating buy/sell signals
...
closes #5242
2021-07-18 11:06:41 +02:00
Matthias
adef5d89f3
Fix failing test after webserver merge
2021-07-18 11:06:14 +02:00
Matthias
7b7d9c02d7
Merge pull request #5243 from freqtrade/feat/webservermode_progress
...
Introduce webserver mode subcommand
2021-07-18 10:48:55 +02:00
Sam Germain
7c27525bd8
Merge get_buy_rate and get_sell_rate
2021-07-17 22:51:20 -06:00
Matthias
4899b06b31
Merge pull request #5273 from freqtrade/fix/profit_calc
...
fix calculation logic for /profit
2021-07-16 19:19:28 +02:00
Sam Germain
804bc8134f
Merge branch 'develop' into example_json_filename_extensions
2021-07-16 02:05:08 -06:00
Sam Germain
b7dc2989e7
flake8 adjustments
2021-07-16 02:03:25 -06:00
Matthias
2e95df4d8d
Update docs for /profit output
2021-07-15 20:12:44 +02:00
Matthias
697bf92f6f
Add test for get_starting_balance method
2021-07-14 21:10:25 +02:00
Matthias
02d716a8be
Fix api test
2021-07-14 21:03:57 +02:00
Matthias
3451687135
Merge pull request #5255 from freqtrade/improve_dynamic_stake
...
Improve dynamic stake with multiple bots on the same exchange
2021-07-14 06:45:48 +02:00
Sam Germain
362436f7d2
Renamed example config files so they are .json so that syntax highlighting is all correct. Explicitly listed each one in .gitignore to prevent a real config file from being uploaded accidently
2021-07-13 19:39:23 -06:00
anasyusef
91e5562ae0
style: apply flake8 formatting
2021-07-12 13:22:36 +00:00
anasyusef
313cf6a013
test: add test for parsing db uri
2021-07-12 12:28:34 +00:00
Matthias
6a8e8875a2
Test new behaviour
2021-07-12 06:54:06 +02:00
Matthias
b41c234440
Extract Closed profit calculation to trade object
2021-07-12 06:54:06 +02:00
Matthias
ed77889d6b
Add explicit tests for _validate_stake_amount
2021-07-12 06:52:59 +02:00
Matthias
7ea0a74c53
Default to proposed stake
2021-07-11 14:11:41 +02:00
Rokas Kupstys
0e4466ca1e
Implement strategy-controlled stake sizes. Expose self.wallet
to a strategy.
2021-07-11 12:38:58 +03:00
Matthias
72a103f32d
Properly test webserver startup in standalone mode
2021-07-10 10:21:25 +02:00
Matthias
225522762b
Merge pull request #5231 from nightshift2k/enhancement/range-based-volumefilter
...
Range based VolumeFilter
2021-07-08 07:22:37 +02:00
Matthias
76e51cddba
Merge pull request #5246 from nightshift2k/feature/offsetfilter
...
new filter OffsetFilter for offsetting incoming pairlists
2021-07-07 21:06:23 +02:00
Matthias
682f880630
Slightly simplify if statement, add additional test
2021-07-07 20:05:56 +02:00
nightshift2k
c44e87cd30
added tests for `OffsetFilter
...
to `test_pairlist.py`
2021-07-07 12:06:55 +02:00
nightshift2k
f30e300f18
adjusted test_pairlist.py
for fixed rolling sum
2021-07-07 11:28:35 +02:00
Matthias
b7a9853d9a
Increase test coverage
2021-07-06 21:04:52 +02:00
Matthias
a4bd862323
Fix fluky test
2021-07-06 20:29:04 +02:00
Matthias
005da97183
extract backtesting abort functionality
2021-07-06 19:48:28 +02:00
Matthias
5474d5ee64
Move webserver start command to seperate file
2021-07-06 19:48:28 +02:00
Matthias
b44d215b90
Add test for backtest via APII
2021-07-06 19:48:28 +02:00
Matthias
8566306010
Add test for start_websever
2021-07-06 19:48:28 +02:00
Matthias
edb8c4f0e5
Fix tests for webserver mode
2021-07-06 19:48:28 +02:00
Kevin Julian
0f3d34eaf4
Merge branch 'develop' into agefilter-max-days-listed
2021-07-06 19:47:18 +07:00
kevinjulian
502c69dce3
change short desc
2021-07-06 19:36:42 +07:00
Matthias
dec523eef0
Display verison of installed FreqUI
2021-07-06 07:20:05 +02:00
nightshift2k
1e87225e91
added test_VolumePairList_range
to test_pairlist.py
2021-07-05 20:59:27 +02:00
Matthias
eb3ead4930
Merge pull request #5229 from kevinjulian/telegram-balance
...
compact low balance currencies
2021-07-05 06:56:35 +02:00
kevinjulian
9e548657e0
fix testcase
2021-07-04 21:08:46 +07:00
Matthias
898bef1837
Merge pull request #5219 from freqtrade/hyperopt_paramfile
...
automatic Hyperopt paramfile
2021-07-04 13:56:52 +02:00
kevinjulian
b722e12350
compact low balance currencies
2021-07-04 02:44:48 +07:00
kevinjulian
3d9f3eeb07
feat(agefilter): add max_days_listed
2021-07-03 23:58:04 +07:00
Matthias
dc8abd77df
Fix import order
2021-07-03 15:45:00 +02:00
Rokas Kupstys
3686efa08a
Add range property to CategoricalParameter and DecimalParameter, add their tests.
...
At the moment we can keep a single code path when using IntParameter, but we have to make a special hyperopt case for CategoricalParameter/DecimalParameter. Range property solves this.
2021-07-03 16:02:45 +03:00
Matthias
9d6860337f
Merge pull request #5212 from rokups/rk/trailing-stop-2
...
Trailing stoploss in backtesting v2
2021-07-03 08:39:30 +02:00
Matthias
3503fdb4ec
Improve tests for newly added methods
2021-07-03 08:38:55 +02:00
Matthias
e034f11dcc
Improve test for hyperopt_show
2021-06-30 20:21:33 +02:00
Rokas Kupstys
bc0742ae67
Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop.
2021-06-30 09:10:50 +03:00
Matthias
645da51b5f
Add test for parameter loading
2021-06-30 06:55:10 +02:00
Matthias
dcf53ac3ff
Add test for try_eport_params
2021-06-30 06:33:40 +02:00
Matthias
ff61b8a2e7
Disable parameter export from tests
2021-06-29 20:57:16 +02:00
Matthias
8ca0076332
Fix small typos
2021-06-29 06:50:47 +02:00
Matthias
a7e9e362b7
Simplify printing logic for non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
8b7010fc9a
Update pprint name
2021-06-29 06:50:47 +02:00
Matthias
ef14359d31
Add some tests for paramfile writing
2021-06-29 06:50:47 +02:00
Matthias
e97de4643f
Move tests to hyperopttools test file
2021-06-29 06:50:47 +02:00
Matthias
750c780293
Support loading parameters from json file
2021-06-29 06:50:47 +02:00
barbarius
a0f28f4a15
Added max open trades to strategy summary first line
2021-06-28 17:05:12 +02:00
barbarius
c99ae3b419
Added timerange above multiple strategy backtest result summary table
2021-06-28 10:20:34 +02:00
Matthias
158cb415a9
Add settings interface to have types available
2021-06-26 17:28:37 +02:00
Matthias
ce69abc06e
Update docs and tests for newly deprectated settings
2021-06-26 17:11:15 +02:00
Matthias
b7f01a08f3
Update sequence of process_deprecated_setting parameters
2021-06-26 17:03:51 +02:00
Matthias
0235868c66
Update tests for new config structure
2021-06-26 16:39:01 +02:00
Matthias
59a33d0fa9
Add test for ask_orderbook validation
2021-06-25 20:52:34 +02:00
Matthias
8c542e4028
Update tests for removed order_book_max option
2021-06-25 20:45:53 +02:00
Matthias
40545e62af
Merge pull request #5082 from freqtrade/dry_run_order
...
Dry run order filling
2021-06-25 18:26:01 +02:00
Matthias
347eceeda5
Try fix fluky test
2021-06-19 20:30:51 +02:00
Matthias
204758834d
Merge pull request #4308 from eatrisno/patch-1
...
Add Refresh / Reload Button on rpc/Telegram
2021-06-19 18:50:59 +01:00
Matthias
96fbb226c5
Implement better strategy checks
...
part of #2696
2021-06-19 19:32:29 +02:00
Matthias
6e99e3fbbb
Implement tests for message updating
2021-06-19 09:31:34 +02:00
Matthias
39b876e37a
Log exchange responses if configured
2021-06-19 09:07:42 +02:00
Matthias
e1010ff592
Don't load protections from config if strategy defines a property
2021-06-18 19:55:53 +02:00
Matthias
7ff794cb87
Merge branch 'develop' into pr/eatrisno/4308
2021-06-17 19:46:15 +02:00
Matthias
8bb464bd64
Merge pull request #5108 from rokups/rk/pessimistic-trailing-stoploss
...
Implement most pessimistic handling of trailing stoploss.
2021-06-17 18:41:00 +01:00
Matthias
a49ca9cbf7
Change log-level "Executing handler" msg to debug
...
closes #5143
2021-06-17 06:57:35 +02:00
Rokas Kupstys
6d5fc96714
Implement most pessimistic handling of trailing stoploss.
2021-06-15 09:05:36 +03:00
Matthias
cf7394d01c
Export backtesting results by default
...
closes #4977
2021-06-14 19:57:24 +02:00
Matthias
d32508aa75
Merge branch 'develop' into pr/eatrisno/4308
2021-06-13 20:04:24 +02:00
Matthias
fb4dd6c2ac
Update test to cover this scenario
2021-06-13 11:34:44 +02:00
Matthias
d54ee0eb04
Refactor hyperopt_tools naming
2021-06-13 11:24:24 +02:00
Matthias
d35b2e3b8f
Update ftx stoploss logic to properly detect correct trades
...
closes #5045
2021-06-13 11:06:34 +02:00
Matthias
a05e38dbd3
Require timeframe for plot-profit
...
must be set in config or via --timeframe
2021-06-12 09:03:55 +02:00
Matthias
d4dfdf04fc
Move RPCMessageType to enums
2021-06-09 20:23:17 +02:00
Matthias
9c34304cb9
Move state enums to enums package
2021-06-08 21:20:35 +02:00
Matthias
89b9915c12
Update imports for SellType in tests
2021-06-08 21:07:16 +02:00
Matthias
b9cf950bbf
Add test for bad argument on /profit
2021-06-08 20:35:25 +02:00
Matthias
e71d965e32
Merge pull request #4982 from eschava/profit_day_week
...
day/week options for Telegram '/profit' command
2021-06-08 19:26:57 +01:00
Matthias
c389d44e9a
Improve filling logic
2021-06-05 15:22:52 +02:00
Matthias
db03a24109
Add tests for fill methods
2021-06-05 09:09:39 +02:00
Matthias
1e988c97ad
Update dry-run order handling to use realistic fill prices
...
closes #3389
2021-06-05 09:09:39 +02:00
Matthias
8e44de7f83
Merge pull request #5071 from janoskut/plot-profit-make-open-html-optional
...
plot-profit: Make "auto-open" HTML result optional
2021-06-03 05:40:38 +01:00
Janos
812eb229df
plot-profit: Make "auto-open" HTML result optional
...
Adding an "--auto-open" argument.
This improves tool processing of the results, while still allowing to open the HTML file for easy use.
2021-06-02 21:33:26 +02:00
Janos
80af6e43e4
test-pairlist: remove non-JSON headline from JSON output
2021-06-02 21:02:21 +02:00
Matthias
387f3bbc5d
Adjust missed tests
2021-06-02 11:43:47 +02:00
Matthias
bd1984386e
Move get_sell_rate to exchange class
2021-06-02 11:41:13 +02:00
Matthias
12916243ec
Move get_buy_rate to exchange class
2021-06-02 11:30:19 +02:00
Eugene Schava
79552a93fe
telegram: move the most important information to the top of sell message
...
fixed tests
2021-06-01 20:17:11 +03:00
Matthias
f920c26802
fix Hyperopt-list avg-time filters
...
These should use a numeric field (which currently isn't available).
closes #5061
2021-05-31 20:01:40 +02:00
Matthias
2d7ccaeb3d
Add test for load_config
2021-05-30 20:14:54 +02:00
Matthias
06b59551b0
Improve test coverage
2021-05-30 20:14:54 +02:00
Matthias
e17e35f0ef
Merge pull request #5046 from freqtrade/list_strategy_hyperopt
...
allow list-strategies to show if params are hyperoptable
2021-05-30 16:36:31 +01:00
Matthias
901d984ee3
Tests should write to tmpdir, not testdir
2021-05-30 16:26:24 +02:00
Matthias
08f96df3ac
Don't write to testdir, but to tempdir
2021-05-30 08:43:14 +02:00
Matthias
d7fdc2114a
allow list-strategies to show if params are hyperoptable
2021-05-29 13:27:08 +02:00
Matthias
313567d07d
Support having numbers in custom keyboard
2021-05-29 08:12:25 +02:00