Commit Graph

311 Commits

Author SHA1 Message Date
Kenneth Chew
80ec178d5f
Fix keyboard shortcut for delete instance on some devices
My laptop has a key labeled "delete," but for some reason it doesn't work with `QKeySequence::Delete`. Instead it's interpreted as a backspace.
2022-04-15 16:38:26 -04:00
Kenneth Chew
b0a8bd7dfe
Improve menu bar keyboard usability
More reasonable (unique) menu access keys were chosen.

In addition, move the settings action from the Help menu to the Edit menu.
2022-04-15 16:29:29 -04:00
Kenneth Chew
5d8d7740ba
Only enable instance options while an instance is selected 2022-04-15 15:55:03 -04:00
Kenneth Chew
3e64935844
Add Quilt install option while creating an instance 2022-04-15 15:37:08 -04:00
Kenneth Chew
7577115c3c
Fix Fabric versions appearing for unsupported MC versions
Also remove an old TODO comment, mentioning an issue that was already fixed.
2022-04-15 15:37:08 -04:00
Kenneth Chew
2cb242e9b3
Show no loader selected message when add instance window first opens
This resolves an issue where the message only shows when selecting a mod loader and then selecting "None" again.
2022-04-15 15:37:07 -04:00
Kenneth Chew
7aeccbb6b0
Fix build on Qt 5.6 2022-04-15 15:37:07 -04:00
Kenneth Chew
8406c7f431
Add option to install mod loader during instance creation 2022-04-15 15:37:07 -04:00
flow
8e9eca6a97 ui: resize mod download dialog using its parents geometry 2022-04-15 08:49:43 -03:00
flow
5f15f51610 ui: underline search button text when changing filters
This hopefully makes it easier to the user to know that their changes
will only apply after hitting the search button.

I tried setting the background color, but it seems more unreliable on
cross-platform than underlining. Also, it could be worse for daltonic people,
so I don't know what to do :(
2022-04-15 08:49:43 -03:00
flow
277de41200 rework: make the filter as a tabbed widget in the dialog itself
Still needs a clear indication that the filter only applies after you
click the search button...
2022-04-15 08:49:43 -03:00
flow
63bce04648 fix: Polish usage in some cases
Also fiz some typos
2022-04-15 08:49:43 -03:00
flow
76dfb7825a fix: 'All' filter working and get around CF API capabilities 2022-04-15 08:49:43 -03:00
flow
5cb0e75093 fix(ui): Refresh mod list when changing filtering options 2022-04-15 08:49:41 -03:00
flow
c730fd6e5f feat: Use version filter when searching mods 2022-04-15 08:45:30 -03:00
flow
c2b97c3e3f feat: Integrate newly created filter dialog in ModPage 2022-04-15 08:42:30 -03:00
flow
e0ab8207ed feat: Add dialog to filter mod options in mod download 2022-04-15 08:41:12 -03:00
Sefa Eyeoglu
4ff1306e0c
Merge pull request #185 from Scrumplex/quilt
Quilt support
2022-04-15 11:38:50 +02:00
DioEgizio
1dd663af6e CHANGE: switch the help pages to their own dir
also renames modrinth-platform/curseforge-platform to just Mod-platform since they have the pages are basically the same
2022-04-15 11:15:17 +02:00
Sefa Eyeoglu
9fb5674233
refactor: cleanup ModLoaderType 2022-04-14 21:55:03 +02:00
Sefa Eyeoglu
18ac109e5a
fix: support Quilt from Minecraft 1.14 onwards 2022-04-14 17:20:07 +02:00
Sefa Eyeoglu
14a0e85862
fix: remove unused code 2022-04-14 16:50:04 +02:00
Sefa Eyeoglu
89125fde22
refactor: switch Quilt mappings to hashed MojMap 2022-04-09 14:56:07 +02:00
Kenneth Chew
9f3eed6ca2
Fix typos causing build failures on non-macOS systems
It also did the exact opposite thing I was trying to do, so that's fixed too...
2022-04-08 17:00:42 -04:00
Kenneth Chew
ab82358dcb
Show and hide the menu bar with the 'alt' key
Only applicable for systems without a native menu bar (i.e. almost anything that is not macOS or Ubuntu Unity). On these systems, the menu bar appears on top of the window, which does not look good next to the tool bar already up there.

When the menu bar is hidden, the keyboard shortcuts set by the menu bar are disabled. They should always work, so this also adds a workaround for that.
2022-04-08 16:21:52 -04:00
Kenneth Chew
75fddd0052
Create menubar prototype
Some stuff still needs to be fixed:

- The close window option always closes the main window, even if it is not the currently active window (only applicable on systems with native menu bar)
- None of the (text) editing actions are enabled
- Actions related to instances should only be active when an instance is selected
- The open wiki option ("PolyMC Help") needs to be implemented
- Delete instance keyboard shortcut does not seem to work on my system. Test further
- It would be nice if the profiles menu had all of the logged in accounts, and if they could be selected from that menu (preferably with keyboard shortcuts, probably Ctrl + 1, Ctrl + 2, ...)
2022-04-08 15:39:30 -04:00
Sefa Eyeoglu
35cfb41a9c
fix: check for Quilt as Fabric-compatible loader 2022-04-07 18:46:09 +02:00
Sefa Eyeoglu
74cdf5350d
fix: restrict quilt-mappings versions to MC version 2022-04-07 18:46:00 +02:00
Petr Mrázek
566a83b245 NOISSUE prevent -version being passed to the JRE
We want specific JREs, always, not something that is magically resolved.
This counteracts some really bad advice recently being spread on reddit.
2022-04-07 18:28:27 +02:00
Sefa Eyeoglu
9eb9ddc668
feat: initial Quilt support 2022-04-07 18:11:40 +02:00
Ezekiel Smith
cc5261051f
Merge pull request #364 from Scrumplex/fix-i18n2
Fix translatable strings 2
2022-04-07 23:20:54 +10:00
Sefa Eyeoglu
fa870bc026
Merge pull request #380 from flowln/task-progress 2022-04-06 10:52:38 +02:00
Sefa Eyeoglu
99d569ed0e
Merge pull request #384 from jamierocks/technic-improvements 2022-04-06 10:52:27 +02:00
Una
dc6340bf38
Allow components to specify Java agents and JVM arguments (#175) 2022-04-06 08:22:24 +02:00
Sefa Eyeoglu
5fb096d7b9
Merge pull request #345 from Scrumplex/handle-incompatible-java 2022-04-04 21:01:49 +02:00
Jamie Mansfield
b6e722a048
BuildConfig: Make Technic API base URL and build constants 2022-04-02 13:53:44 +01:00
Jamie Mansfield
a232c2d509
Technic: Display available versions for Solder packs 2022-04-02 13:53:44 +01:00
Jamie Mansfield
c8092269ba
Technic: Match CurseForge pack description format 2022-04-02 13:53:44 +01:00
Jamie Mansfield
9d88f07955
Technic: Include the modpack version in instance title 2022-04-02 13:53:43 +01:00
Jamie Mansfield
f267375ac2
Technic: Prevent potential HTML injection 2022-04-02 13:53:43 +01:00
Jamie Mansfield
d44fa416ca
Technic: Allow pack API urls to be used in search
This mimics the behaviour that the Technic launcher has, and their
website displays API URLs for.

The big benefit of this, is to be able to install private packs now :)
2022-04-02 13:53:43 +01:00
flow
9b8493c304
feat: Use a single progress dialog when doing multiple tasks
This puts all mod downloading tasks inside a SequentialTask, which is,
for more than one task, a multi step task. This is handled by the
ProgressDialog by showing both the global progress of tasks executed,
and the individual progress of each of them.
2022-04-01 09:32:00 -03:00
Ezekiel Smith
382548e0a7
Merge pull request #355 from dada513/flatpak_properly
Fix flatpak properly
2022-04-01 21:03:14 +10:00
Sefa Eyeoglu
9202996c62
fix(i18n): remove brand names from translations 2022-03-29 15:25:21 +02:00
Sefa Eyeoglu
306df9e17f
Merge pull request #352 from Scrumplex/fix-name
Update Credits and Branding
2022-03-29 11:24:48 +02:00
Sefa Eyeoglu
5f2e768376
Merge pull request #356 from flowln/version_optimize
Improve mod versions request to Modrinth
2022-03-29 11:24:12 +02:00
dada513
341eb16a4c
Merge branch 'develop' of https://github.com/PolyMC/PolyMC into flatpak_properly 2022-03-28 20:55:06 +02:00
dada513
3a7eeff135
Fix 2022-03-28 20:55:03 +02:00
Sefa Eyeoglu
ea60e48d9d
chore: add license header
chore: add license header
2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
6054abaffb
fix(credits): wrap UTF-8 text with QString 2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
3a1feed723
fix: update credits 2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
85f3fc9944
fix: remove "PolyMC" from strings 2022-03-27 20:59:51 +02:00
Sefa Eyeoglu
87cf38a377
Merge pull request #341 from dada513/develop 2022-03-27 20:56:04 +02:00
dada513
424f4a72ff
Inform user about possible issues when using a Portal as instance folder 2022-03-27 16:08:11 +02:00
dada513
b1af689546
Add quit launcher after game stops option (Steam Deck)
lecense
2022-03-27 14:50:47 +02:00
flow
d00c320c00
optimize: Improve mod versions request to Modrinth
This uses more arguments in the GET request for mod versions on the
Modrinth API, filtering what versions can be returned, decreasing load
on Modrinth servers and improving a little the time it takes for the versions to be
available to the user.

This also removes the now unneeded check on correct modloaders in
ModrinthPackIndex, since it is now filtered by the Modrinth server.

Lastly, this adds a couple of helper functions in ModModel.
2022-03-24 19:31:11 -03:00
flow
e13ca94061
chore: resolve conflicts and merge upstream 2022-03-24 18:24:51 -03:00
Sefa Eyeoglu
e02369ba6b
chore: add license header 2022-03-24 16:10:43 +01:00
Sefa Eyeoglu
82c35f2746
feat: block launch if Java is incompatible
Keep track of compatible Java versions from meta. Launch-step
VerifyJavaInstall will check if current instance's Java version is
compatible.
Also add override option both globally and per-instance in-case the user
doesn't care about the requirement.
2022-03-24 16:10:39 +01:00
Sefa Eyeoglu
062fc79286
Merge pull request #298 from Scrumplex/fix-i18n
Fix translatable strings
2022-03-21 14:21:06 +01:00
Sefa Eyeoglu
75d0078a38
fix: retranslate CustomCommands 2022-03-20 21:51:36 +01:00
Sefa Eyeoglu
536b1a23fc
fix: retranslate mod download pages 2022-03-20 21:51:23 +01:00
Sefa Eyeoglu
cafff5e504
chore: add license header 2022-03-20 21:40:49 +01:00
Jamie Mansfield
dd5c4b6864
App: Retranslate all pages when the language is changed 2022-03-20 20:48:12 +01:00
Jamie Mansfield
a2c85a8531
App: Retranslate page header titles
This fixes a bug that is only practically effects the title of the
language page not updating the header when changing the language.
2022-03-20 20:02:21 +01:00
Sefa Eyeoglu
702a1da0ac
fix: disable "Install Forge" button when needed 2022-03-20 15:35:35 +01:00
Sefa Eyeoglu
768007d980
fix: disable "Download mods" button when needed
Fixes #271
2022-03-20 15:34:13 +01:00
Ezekiel Smith
8bc6cdf55c
Merge pull request #306 from Scrumplex/limit-instance-lengths
Limit instance names to 128 chars
2022-03-21 01:04:40 +11:00
Sefa Eyeoglu
c8fec556c0
Merge pull request #305 from flowln/gui_changes 2022-03-20 13:39:12 +01:00
Sefa Eyeoglu
4899d3c458
Merge pull request #200 from Scrumplex/scrumplex-license-header 2022-03-20 12:04:39 +01:00
Sefa Eyeoglu
c311dba465
fix: limit instance names to 128 chars 2022-03-19 23:23:08 +01:00
flow
75ec4256e2
feat(ui): allow users to move toolbars to different places 2022-03-19 17:59:00 -03:00
Sefa Eyeoglu
8225f1ac92
Merge pull request #292 from lack/offline_username_limits
Limit offline username to 16 characters with override
2022-03-19 16:02:28 +01:00
Jim Ramsay
90780818ca Limit offline username to 16 characters with override
Offline usernames longer than 16 characters won't be able to connect to
LAN games or offline-mode servers, so just don't let it happen.

Add a checkbox to allow people to unrestrict usernames if they want.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-03-19 10:12:07 -04:00
Sefa Eyeoglu
a160bd0062
chore: add license header to files I modified 2022-03-19 12:46:56 +01:00
Sefa Eyeoglu
7e0312493b
fix(i18n): improve social platform actions 2022-03-19 12:36:04 +01:00
Sefa Eyeoglu
ccfd06ad21
fix(i18n): remove brand names from translations 2022-03-19 12:35:15 +01:00
Sefa Eyeoglu
48c2146a42
fix(i18n): fix translatable strings 2022-03-19 12:29:46 +01:00
flow
ec66c8fd3d
fix(ui): remove paste.polymc.org 2022-03-18 14:21:42 -03:00
flow
da43ed8ce1 fix silly mistakes and merge upstream 2022-03-18 07:54:47 -03:00
flow
8409aa2571
tidy: Fix clang-tidy issues on files changed in this PR
The checks used are roughly the same as the ones proposed in the
clang-tidy PR (except perhaps that I used modernize-* instead of listing
them individually,though I don't think this caused any readability
detriments).

In ModrinthModel.cpp and FlameModModel.cpp I ignored the
modernize-avoid-c-arrays one, mostly because making the sorts array an
std::array would most likely increase the code complexity because of the
virtual function. Aside from that, the static_cast warning from
Application.h was not dealt with, since it's not in this PR's scope.
2022-03-14 17:43:36 -03:00
Ezekiel Smith
5b8003cbe5
Merge pull request #188 from PolyMC/removal/notifications
remove notifications
2022-03-15 00:51:28 +11:00
flow
f1e44291cc
add translation string 2022-03-13 13:11:35 -03:00
flow
b3b613d8b4
feat(ui): make a better "Mod download confirmation dialog" 2022-03-13 11:50:18 -03:00
flow
a3d7ad731d
fix missing translation strings
my mistake, sorry! ToT
2022-03-11 18:43:17 -03:00
dada513
d814e21f0d
add matrix button 2022-03-08 18:41:23 +01:00
flow
b3c2a56ece
fix: delete semicolons at the end of .cpp file's functions
my lsp is weird sometimes
2022-03-07 19:55:20 -03:00
flow
9c57b54a81
refactor: move things around so that related things are close together
This also adds some comments around ModModel.cpp and ModPage.cpp to add
some ease of reading the code.

Also move some things from headers to cpp files.
2022-03-07 19:32:28 -03:00
flow
b131d3b2ec
refactor: move more common code to base class
Also removes unused imports and organize the ModModel header
2022-03-07 18:28:24 -03:00
flow
16bfafa29e
refactor: de-duplicate common code in network mod APIs 2022-03-07 17:45:28 -03:00
flow
f714adf6d2
refactor: move NetJob away from ModModel to ModAPI
This is done so that 1. ModAPI behaves more like an actual API instead
of just a helper, and 2. Allows for more easily creating other mod
providers that may or may not use network tasks (foreshadowing lol)
2022-03-07 16:22:57 -03:00
Ezekiel Smith
dc9e250868
Merge pull request #232 from Scrumplex/fix-help-links
Switch to polymc.org wiki
2022-03-08 01:22:34 +11:00
Ezekiel Smith
b6cf0359fa
Merge pull request #230 from Scrumplex/fix-iconthemes
Reorganize icon themes
2022-03-08 01:20:35 +11:00
flow
39bd04f06f
refactor: use Enum instead of raw int for ModLoaderType 2022-03-06 16:45:39 -03:00
flow
d755174bee
clarify some method names and comments 2022-03-06 16:04:24 -03:00
flow
1229e90817
merge upstream 2022-03-06 15:28:18 -03:00
flow
5a638fa977
refactor: move "get versions" task from page to model
This seems more reasonable
2022-03-06 15:23:00 -03:00
flow
5e9d49a910
refactor: use only a single unique_ptr for the api 2022-03-06 13:54:55 -03:00
Sefa Eyeoglu
6545d250e8
refactor: move help URL into buildconfig 2022-03-06 11:31:50 +01:00
Sefa Eyeoglu
b162351ff4
fix: switch to polymc.org wiki 2022-03-05 21:49:13 +01:00
Sefa Eyeoglu
3697d70b48
fix: reorganize icon themes
Rename MultiMC to Legacy
Simple (Colored) is now the first icon theme
Custom is now the last icon theme, which also fixes a loading issue when
Legacy was selected
Fix loading of Legacy theme
2022-03-05 20:29:54 +01:00
flow
e0c025b162
fix extra spacing in resource packs and shader packs, and move button up
hopefully now its finally ok
2022-03-03 09:51:46 -03:00
flow
9e443faba3
hack: hide 'Download Mods' button when not in the mods tab 2022-03-03 04:02:22 -03:00
flow
f95cebaf06
change 'Install Mods' -> 'Download Mods' and change position 2022-03-03 01:10:10 -03:00
flow
9a8599e4ba
fix windows compilation 2022-03-03 00:06:37 -03:00
flow
2d68308d49
refactor: move url creation for mods to modplatform/
Moves all things related to creating the URLs of the mod platforms
that go to network tasks to a single place, so that:

1. Maintaining and fixing eventual issues is more straightforward.
2. Makes it possible to factor out more common code between the
   different modplatform pages
2022-03-02 23:13:04 -03:00
flow
0dd1c26cf3
refactor: extract common code in mod pages and model
This creates a hierarchy in which ModPage and ModModel are the parents
of every mod provider, providing the basic functionality common to all
of them.

It also imposes a unique .ui file (they were already equal before, just
duplicated basically) on all mod providers.
2022-03-02 21:52:44 -03:00
flow
881b2f2b38
refactor: Use a single indexed pack for mods
Since there's little difference between them, let's remove duplication
and merge them.
2022-03-02 18:49:19 -03:00
timoreo22
8bdd2befe9
Merge pull request #205 from timoreo22/fix-version-select
Fixed wrong version info
2022-03-01 16:56:10 +01:00
flow
075d900d45
fix: Always tell Flame API which modloader we are using
Fixes #206 partially. Although we don't list mods that have no
compatibility with the mod loader we are using, mods that have support
for both loaders still show up, and the versions for both the loaders
are still shown.

Also simplifies a little the logic in
FlameModIndex::loadIndexedPackVersions
2022-02-27 16:07:45 -03:00
timoreo
ccc493cb2b
Cleanly free NetJob in flame modpack 2022-02-27 13:14:12 +01:00
timoreo
2745325ae0
Fixed wrong version info 2022-02-27 11:55:24 +01:00
flow
c4f4e9e620 merge upstream and resolve conflicts 2022-02-25 13:43:27 -03:00
Ezekiel Smith
f2b850ad20
Merge pull request #183 from timoreo22/fix-versions-segfault
Fixed segfault in mod download
2022-02-26 01:55:11 +11:00
flow
40a9828fba
fix: improve readability and set ok button as disabled by default 2022-02-23 19:17:33 -03:00
flow
04840d0638
fix(ui): add translation func to text in the confirm dialog 2022-02-23 14:44:55 -03:00
flow
f8b0d6453a
fix: sort mod list in confirmation dialog 2022-02-21 23:25:33 -03:00
flow
0102e91940
feat: add confirm dialog for installing mods
When selecting multiple mods at once, it can become hard to keep track
of which ones you selected.

To address this, a dialog is now displayed
when you finish selecting the mods to download, showing you which ones
you selected and their filenames. From there, you can either accept it
and download the mods, or you can cancel it and go back to the mod
selection dialog.
2022-02-21 23:09:14 -03:00
flow
1004211a66
fix(ui): change text in selection button when there's no valid version 2022-02-21 22:52:50 -03:00
flow
f5cf4eb45f
feat(ui): allow downloading multiple mods from CurseForge at once 2022-02-21 21:53:21 -03:00
flow
512395e3f1
feat(ui): allow downloading multiple mods in Modrinth at once 2022-02-21 21:34:53 -03:00
flow
9c6727e27f
feat: change task container in ModDownloadDialog to a QHash
Previously, we used a unique_ptr to a ModDownloadTask to keep track of
the selected mod to download when we accepted the dialog.

In order to allow multiple mods to be selected at once for download,
this has been changed to a QHash where the key is the mods name (since
it doesn't seem right to allow for multiple versions of the same mod to
be downloaded at once), and the value is a pointer to the corresponding
ModDownloadTask.
2022-02-21 21:34:06 -03:00
Sefa Eyeoglu
a70d1f1a91
refactor: drop LegacyInstance 2022-02-21 22:30:44 +01:00
swirl
6d1f9d4d02
fix 2022-02-21 12:44:34 -05:00
swirl
da70122d9c
remove notifications 2022-02-20 19:23:08 -05:00
timoreo
adacab3349
Fixed segfault when closing window while version info download is still going 2022-02-19 15:17:45 +01:00
swirl
7b4b997a34
Merge remote-tracking branch 'upstream/develop' into develop 2022-02-17 15:47:43 -05:00
Sefa Eyeoglu
a309f4e721
fix: MSA = Microsoft Authentication 2022-02-12 21:27:35 +01:00
Sefa Eyeoglu
159d868b77
fix(ui): explain why 'Add Microsoft' might be disabled 2022-02-12 21:27:35 +01:00
Sefa Eyeoglu
0854e83ce4
feat: implement MSA client id override
Closes #11
2022-02-12 21:27:32 +01:00
Sefa Eyeoglu
bb02226870
feat(ui): add custom MSA client id setting 2022-02-12 21:05:42 +01:00
LennyMcLennington
53ea261350
Merge pull request #151 from dada513/rss_not_begone
Re-add RSS feed with the new PolyMC website
2022-02-11 12:03:29 +00:00
LennyMcLennington
a17e5d0a4d
Merge pull request #129 from timoreo22/fix-mod-name
Fixed the download menu putting the wrong name
2022-02-10 23:41:27 +00:00
Sefa Eyeoglu
8d2e7db178
fix: update link to translations platform 2022-02-10 14:55:52 +01:00
dada513
beaac54dc9
Merge remote-tracking branch 'polymc/develop' into rss_not_begone 2022-02-10 13:14:30 +01:00
dada513
70f8cb81b8
Initial RSS re-add and removed hardcoded strings 2022-02-10 13:14:25 +01:00
dada513
f8ca6b4867
Revert "refactor: remove news feed"
This reverts commit 361ce7818e.
2022-02-10 12:55:07 +01:00
Lenny McLennington
35d2ae3ef7
Remove drama from readme and remove mmc discord link 2022-02-10 11:21:25 +00:00
timoreo
86935068f5
Fix wrong mod file name 2022-02-04 16:24:19 +01:00
swirl
076efc4cb2
Merge branch 'update-quazip' of git://github.com/Scrumplex/PolyMC into develop 2022-02-03 14:14:12 -05:00
swirl
2177aa2a6b
Merge branch 'offline-mode-accounts' of git://github.com/NyaomiDEV/PolyMC into feature/offline_mode 2022-02-03 13:54:27 -05:00
swirl
e2952061af
Merge branch 'feature/download_mods' of git://github.com/timoreo22/PolyMC into feature/download_mods 2022-02-03 13:45:20 -05:00
swirl
f5358aa1ca
Merge branch 'develop' into feature/close_after_launch 2022-02-03 13:43:44 -05:00
swirl
3d3f9a8609
make closeAfterLaunch good 2022-02-03 12:50:24 -05:00
Petr Mrázek
3ca661127f NOISSUE Add missing tooltip for Export Instance action 2022-02-03 18:09:51 +01:00
swirl
407f9d9ef0
Merge remote-tracking branch 'upstream/develop' into develop 2022-02-02 11:17:04 -05:00
swirl
bff683e6d4
Merge pull request #108 from redstrate/improve_about_page
Improve the About page
2022-02-02 09:17:30 -05:00
Sefa Eyeoglu
a8089b76c0
fix: bring back instance exports 2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
81c72c2038
refactor: bring back methods that need to be reimplemented 2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
efa414c442
refactor: initial migration to QuaZip 1.2
Let's move off our custom QuaZip. In the olden times we needed the
custom version of QuaZip, as it was basically unmaintained and on
SourceForge (eww). But nowadays it's maintained and on GitHub. See
new GitHub page: https://github.com/stachenov/quazip
2022-01-31 21:40:59 +01:00