mam dosc
All checks were successful
Server Build / publish (push) Successful in 31s
Voice Build / publish (push) Successful in 26s

This commit is contained in:
olcxja 2026-06-10 21:40:55 +02:00
commit 621cfac8aa
3 changed files with 576 additions and 2 deletions

574
.idea/.idea.Larpix/.idea/workspace.xml generated Normal file
View file

@ -0,0 +1,574 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoGeneratedRunConfigurationManager">
<projectFile>LarpixServer/LarpixServer.csproj</projectFile>
<projectFile>LarpixVoice/LarpixVoice.csproj</projectFile>
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="CMakeProjectFlavorService">
<option name="flavorId" value="CMakePlainProjectFlavor" />
</component>
<component name="CMakeSettings">
<configurations />
</component>
<component name="ChangeListManager">
<list default="true" id="09489c23-dd7d-4a2b-9db8-54d886979f2d" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/LarpixServer/Encryption/Encryption.cs" beforeDir="false" afterPath="$PROJECT_DIR$/LarpixServer/Encryption/Encryption.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/LarpixServer/Filesystem/Fs.cs" beforeDir="false" afterPath="$PROJECT_DIR$/LarpixServer/Filesystem/Fs.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DpaMonitoringSettings">
<option name="firstShow" value="false" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="RESET_MODE" value="HARD" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/6804c1feb816427d9178cc250353699b1a5308/2e/c752f5c2/HttpClient.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Federation/Receiver.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Federation/Sender.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Room/Requests.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Utils/AppJsonSerializerContext.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Utils/Jsons.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixServer/Utils/Utils.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixVoice/JsonAppSerializerContext.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixVoice/Requests.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixVoice/Session.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/LarpixVoice/Utils.cs" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="McpProjectServerCommands">
<commands />
<urls />
</component>
<component name="MetaFilesCheckinStateConfiguration" checkMetaFiles="true" />
<component name="NextEditCompletionFeaturesState">
<decayedCancelled>
<entry key="MS100" value="1.0489204250883033" />
<entry key="MS500" value="2.196212341840478" />
<entry key="S2" value="5.150555470118407" />
<entry key="S5" value="9.252385511122695" />
<entry key="S10" value="12.86082885533096" />
<entry key="S30" value="17.016791757566946" />
<entry key="S60" value="18.41317297887751" />
<entry key="M2" value="19.180981531482423" />
<entry key="M5" value="19.81423730222821" />
<entry key="M10" value="22.130957154262834" />
<entry key="M15" value="25.738068591580486" />
<entry key="M30" value="37.00412033161924" />
<entry key="H1" value="62.226461944000256" />
<entry key="H2" value="112.58648322051903" />
<entry key="H4" value="175.9285336578274" />
<entry key="D1" value="278.3707926614194" />
<entry key="W1" value="303.52496874927385" />
</decayedCancelled>
<decayedSelected>
<entry key="MS100" value="0.0" />
<entry key="MS500" value="0.0" />
<entry key="S2" value="0.0" />
<entry key="S5" value="1.8131036209559798E-141" />
<entry key="S10" value="4.258055449328929E-71" />
<entry key="S30" value="3.491969465895373E-24" />
<entry key="S60" value="1.868681210344709E-12" />
<entry key="M2" value="1.366997150818065E-6" />
<entry key="M5" value="0.004511355542479761" />
<entry key="M10" value="0.0671835505563465" />
<entry key="M15" value="0.16627617714386062" />
<entry key="M30" value="0.5093703757419895" />
<entry key="H1" value="2.071942554773281" />
<entry key="H2" value="6.826336109517314" />
<entry key="H4" value="13.708495488677372" />
<entry key="D1" value="25.51259601949395" />
<entry key="W1" value="28.471880589063524" />
</decayedSelected>
<decayedShown>
<entry key="MS100" value="1.0343113866371232" />
<entry key="MS500" value="2.189320549162706" />
<entry key="S2" value="5.146010839796006" />
<entry key="S5" value="9.248869409175045" />
<entry key="S10" value="12.858328409560277" />
<entry key="S30" value="17.015676120128635" />
<entry key="S60" value="18.412567991258015" />
<entry key="M2" value="19.18066743301237" />
<entry key="M5" value="19.818589402897985" />
<entry key="M10" value="22.197843512803257" />
<entry key="M15" value="25.90388942802016" />
<entry key="M30" value="37.51275217226305" />
<entry key="H1" value="64.29697741626724" />
<entry key="H2" value="119.41049208777486" />
<entry key="H4" value="189.63465621584874" />
<entry key="D1" value="303.88263663350585" />
<entry key="W1" value="331.99672892566826" />
</decayedShown>
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 4
}</component>
<component name="ProjectId" id="3BcjKIm1maF4I6zSBVn5vnAMTs8" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;.NET Project.LarpixServer.executor&quot;: &quot;Run&quot;,
&quot;.NET Project.LarpixVoice.executor&quot;: &quot;Run&quot;,
&quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
&quot;Publish to folder.Larpix Linux.executor&quot;: &quot;Run&quot;,
&quot;Publish to folder.LarpixVoice.executor&quot;: &quot;Run&quot;,
&quot;Publish to folder.Server Linux.executor&quot;: &quot;Run&quot;,
&quot;Publish to folder.Voice Linux.executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.MCP Project settings loaded&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252&quot;: &quot;true&quot;,
&quot;RunOnceActivity.cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;RunOnceActivity.readMode.enableVisualFormatting&quot;: &quot;true&quot;,
&quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;,
&quot;cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;codeWithMe.voiceChat.enabledByDefault&quot;: &quot;false&quot;,
&quot;git-widget-placeholder&quot;: &quot;main&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}</component>
<component name="RunManager" selected="Publish to folder.Server Linux">
<configuration name="Server Linux" type="DotNetFolderPublish" factoryName="Publish to folder">
<riderPublish configuration="Release" include_all_content_for_self_extract="true" include_native_libs_for_self_extract="true" platform="Any CPU" produce_single_file="true" self_contained="true" target_folder="../Build" target_framework="net10.0" trim_unused_assemblies="true" uuid_high="-1502033530353791755" uuid_low="-7002435512744198917">
<runtimes>
<item value="linux-x64" />
</runtimes>
</riderPublish>
<method v="2" />
</configuration>
<configuration name="Voice Linux" type="DotNetFolderPublish" factoryName="Publish to folder">
<riderPublish configuration="Release" include_all_content_for_self_extract="true" include_native_libs_for_self_extract="true" platform="Any CPU" produce_single_file="true" self_contained="true" target_folder="../Build" target_framework="net10.0" trim_unused_assemblies="true" uuid_high="-3706915268379064509" uuid_low="-8261316588841382882">
<runtimes>
<item value="linux-x64" />
</runtimes>
</riderPublish>
<method v="2" />
</configuration>
<configuration name="LarpixServer" type="DotNetProject" factoryName=".NET Project">
<option name="EXE_PATH" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="AUTO_ATTACH_CHILDREN" value="0" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/LarpixServer/LarpixServer.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="1" />
<option name="PROJECT_KIND" value="DotNetCore" />
<option name="PROJECT_TFM" value="" />
<method v="2">
<option name="Build" />
</method>
</configuration>
<configuration name="LarpixVoice" type="DotNetProject" factoryName=".NET Project">
<option name="EXE_PATH" value="" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="AUTO_ATTACH_CHILDREN" value="0" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/LarpixVoice/LarpixVoice.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="1" />
<option name="PROJECT_KIND" value="DotNetCore" />
<option name="PROJECT_TFM" value="" />
<method v="2">
<option name="Build" />
</method>
</configuration>
<list>
<item itemvalue=".NET Project.LarpixServer" />
<item itemvalue=".NET Project.LarpixVoice" />
<item itemvalue="Publish to folder.Voice Linux" />
<item itemvalue="Publish to folder.Server Linux" />
</list>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="09489c23-dd7d-4a2b-9db8-54d886979f2d" name="Changes" comment="" />
<created>1774795186528</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1774795186528</updated>
<workItem from="1774795189339" duration="1016000" />
<workItem from="1774885424202" duration="6967000" />
<workItem from="1774956972481" duration="896000" />
<workItem from="1775026098636" duration="25071000" />
<workItem from="1775051788008" duration="1675000" />
<workItem from="1775123221994" duration="1393000" />
<workItem from="1775300123746" duration="12906000" />
<workItem from="1775456490251" duration="2920000" />
<workItem from="1775594010585" duration="19000" />
<workItem from="1776940189454" duration="632000" />
<workItem from="1776941958154" duration="4332000" />
<workItem from="1777008211892" duration="6823000" />
<workItem from="1777192914625" duration="58000" />
<workItem from="1777192989896" duration="3331000" />
<workItem from="1777235952749" duration="312000" />
<workItem from="1777405377097" duration="6345000" />
<workItem from="1777413706543" duration="619000" />
<workItem from="1777458245347" duration="2782000" />
<workItem from="1777543164869" duration="1834000" />
<workItem from="1777548079460" duration="4351000" />
<workItem from="1777637168881" duration="80000" />
<workItem from="1777637424225" duration="69000" />
<workItem from="1777658331367" duration="629000" />
<workItem from="1777698686269" duration="928000" />
<workItem from="1777903462713" duration="601000" />
<workItem from="1778236261986" duration="7299000" />
<workItem from="1778320738756" duration="17000" />
<workItem from="1778429884325" duration="7469000" />
<workItem from="1778507222773" duration="8896000" />
<workItem from="1778698094227" duration="1792000" />
<workItem from="1778764207735" duration="1551000" />
<workItem from="1779288214203" duration="3770000" />
<workItem from="1779343164778" duration="8520000" />
<workItem from="1779861316417" duration="4000" />
<workItem from="1779861687083" duration="3334000" />
<workItem from="1779900975713" duration="4669000" />
<workItem from="1779914789037" duration="3566000" />
<workItem from="1779918679709" duration="83000" />
<workItem from="1779963498186" duration="4856000" />
<workItem from="1780035337118" duration="6642000" />
<workItem from="1780046306580" duration="1372000" />
<workItem from="1780131251234" duration="906000" />
<workItem from="1780391519993" duration="2703000" />
<workItem from="1780439322846" duration="603000" />
<workItem from="1780483271320" duration="1472000" />
<workItem from="1780661424508" duration="36000" />
<workItem from="1780674482268" duration="55000" />
<workItem from="1781119829688" duration="604000" />
</task>
<task id="LOCAL-00001" summary="First commit">
<option name="closed" value="true" />
<created>1777009098921</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1777009098921</updated>
</task>
<task id="LOCAL-00002" summary="Improve federation design in DM creation">
<option name="closed" value="true" />
<created>1777015025920</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1777015025920</updated>
</task>
<task id="LOCAL-00003" summary="New DM creation concept, hope it works">
<option name="closed" value="true" />
<created>1777411714091</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1777411714091</updated>
</task>
<task id="LOCAL-00004" summary="Auth fixes">
<option name="closed" value="true" />
<created>1777552595838</created>
<option name="number" value="00004" />
<option name="presentableId" value="LOCAL-00004" />
<option name="project" value="LOCAL" />
<updated>1777552595838</updated>
</task>
<task id="LOCAL-00005" summary="Add license">
<option name="closed" value="true" />
<created>1777637437615</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1777637437615</updated>
</task>
<task id="LOCAL-00006" summary="Add license file">
<option name="closed" value="true" />
<created>1777637469554</created>
<option name="number" value="00006" />
<option name="presentableId" value="LOCAL-00006" />
<option name="project" value="LOCAL" />
<updated>1777637469554</updated>
</task>
<task id="LOCAL-00007" summary="Improve nonce caching">
<option name="closed" value="true" />
<created>1777658948856</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1777658948856</updated>
</task>
<task id="LOCAL-00008" summary="Runner test">
<option name="closed" value="true" />
<created>1777698812061</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1777698812061</updated>
</task>
<task id="LOCAL-00009" summary="Runner test 2">
<option name="closed" value="true" />
<created>1777699000655</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1777699000655</updated>
</task>
<task id="LOCAL-00010" summary="Runner test 3">
<option name="closed" value="true" />
<created>1777699112870</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1777699112870</updated>
</task>
<task id="LOCAL-00011" summary="Runner test 4">
<option name="closed" value="true" />
<created>1777699277884</created>
<option name="number" value="00011" />
<option name="presentableId" value="LOCAL-00011" />
<option name="project" value="LOCAL" />
<updated>1777699277884</updated>
</task>
<task id="LOCAL-00012" summary="Runner test 5">
<option name="closed" value="true" />
<created>1777699407986</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1777699407986</updated>
</task>
<task id="LOCAL-00013" summary="Update workflows">
<option name="closed" value="true" />
<created>1778320751599</created>
<option name="number" value="00013" />
<option name="presentableId" value="LOCAL-00013" />
<option name="project" value="LOCAL" />
<updated>1778320751599</updated>
</task>
<task id="LOCAL-00014" summary="Change dm list indexing">
<option name="closed" value="true" />
<created>1778433154206</created>
<option name="number" value="00014" />
<option name="presentableId" value="LOCAL-00014" />
<option name="project" value="LOCAL" />
<updated>1778433154206</updated>
</task>
<task id="LOCAL-00015" summary="Fix user locks &amp; change return strings to blah.blah.blah">
<option name="closed" value="true" />
<created>1778439326090</created>
<option name="number" value="00015" />
<option name="presentableId" value="LOCAL-00015" />
<option name="project" value="LOCAL" />
<updated>1778439326090</updated>
</task>
<task id="LOCAL-00016" summary="slightly change blahs format (maybe final)">
<option name="closed" value="true" />
<created>1778520018595</created>
<option name="number" value="00016" />
<option name="presentableId" value="LOCAL-00016" />
<option name="project" value="LOCAL" />
<updated>1778520018595</updated>
</task>
<task id="LOCAL-00017" summary="add &quot;user/invites/sent&quot; and &quot;user/invites/received&quot; requests">
<option name="closed" value="true" />
<created>1779344954941</created>
<option name="number" value="00017" />
<option name="presentableId" value="LOCAL-00017" />
<option name="project" value="LOCAL" />
<updated>1779344954941</updated>
</task>
<task id="LOCAL-00018" summary="Add &quot;idtoname&quot; request &amp; change invite format">
<option name="closed" value="true" />
<created>1779353889502</created>
<option name="number" value="00018" />
<option name="presentableId" value="LOCAL-00018" />
<option name="project" value="LOCAL" />
<updated>1779353889502</updated>
</task>
<task id="LOCAL-00019" summary="Add &quot;user/dm/invite/revoke&quot; and &quot;user/dm/invite/decline&quot;">
<option name="closed" value="true" />
<created>1779864762035</created>
<option name="number" value="00019" />
<option name="presentableId" value="LOCAL-00019" />
<option name="project" value="LOCAL" />
<updated>1779864762035</updated>
</task>
<task id="LOCAL-00020" summary="Make most requests use id instead of username">
<option name="closed" value="true" />
<created>1779903717843</created>
<option name="number" value="00020" />
<option name="presentableId" value="LOCAL-00020" />
<option name="project" value="LOCAL" />
<updated>1779903717843</updated>
</task>
<task id="LOCAL-00021" summary="Switch to X25519 + ML-KEM-768 encryption">
<option name="closed" value="true" />
<created>1779907182360</created>
<option name="number" value="00021" />
<option name="presentableId" value="LOCAL-00021" />
<option name="project" value="LOCAL" />
<updated>1779907182360</updated>
</task>
<task id="LOCAL-00022" summary="DM keys!!!">
<option name="closed" value="true" />
<created>1779918342299</created>
<option name="number" value="00022" />
<option name="presentableId" value="LOCAL-00022" />
<option name="project" value="LOCAL" />
<updated>1779918342299</updated>
</task>
<task id="LOCAL-00023" summary="optimizations and bug fixes:&#10;- Fixed directory cache bug in Fs&#10;- Optimized DmId creation&#10;- Optimized most splits">
<option name="closed" value="true" />
<created>1779965752756</created>
<option name="number" value="00023" />
<option name="presentableId" value="LOCAL-00023" />
<option name="project" value="LOCAL" />
<updated>1779965752756</updated>
</task>
<task id="LOCAL-00024" summary="vulnerabilities, vulnerabilities, vulnerabilities...">
<option name="closed" value="true" />
<created>1780035555450</created>
<option name="number" value="00024" />
<option name="presentableId" value="LOCAL-00024" />
<option name="project" value="LOCAL" />
<updated>1780035555450</updated>
</task>
<task id="LOCAL-00025" summary="improve splits">
<option name="closed" value="true" />
<created>1780037677774</created>
<option name="number" value="00025" />
<option name="presentableId" value="LOCAL-00025" />
<option name="project" value="LOCAL" />
<updated>1780037677774</updated>
</task>
<task id="LOCAL-00026" summary="add &quot;dm/messages/get&quot; request">
<option name="closed" value="true" />
<created>1780039919265</created>
<option name="number" value="00026" />
<option name="presentableId" value="LOCAL-00026" />
<option name="project" value="LOCAL" />
<updated>1780039919265</updated>
</task>
<task id="LOCAL-00027" summary="improve locks">
<option name="closed" value="true" />
<created>1780048874790</created>
<option name="number" value="00027" />
<option name="presentableId" value="LOCAL-00027" />
<option name="project" value="LOCAL" />
<updated>1780048874790</updated>
</task>
<task id="LOCAL-00028" summary="prevent user keys override, will add this later with password change">
<option name="closed" value="true" />
<created>1780131713300</created>
<option name="number" value="00028" />
<option name="presentableId" value="LOCAL-00028" />
<option name="project" value="LOCAL" />
<updated>1780131713300</updated>
</task>
<task id="LOCAL-00029" summary="working messages!!@!@">
<option name="closed" value="true" />
<created>1780397615117</created>
<option name="number" value="00029" />
<option name="presentableId" value="LOCAL-00029" />
<option name="project" value="LOCAL" />
<updated>1780397615117</updated>
</task>
<task id="LOCAL-00030" summary="integer so unsafe!!! i need HEX!">
<option name="closed" value="true" />
<created>1780674501745</created>
<option name="number" value="00030" />
<option name="presentableId" value="LOCAL-00030" />
<option name="project" value="LOCAL" />
<updated>1780674501745</updated>
</task>
<option name="localTasksCounter" value="31" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityCheckinConfiguration" checkUnsavedScenes="true" />
<component name="UnityProjectConfiguration" hasMinimizedUI="false" />
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State />
</value>
</entry>
</map>
</option>
</component>
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
<MESSAGE value="Add license file" />
<MESSAGE value="Improve nonce caching" />
<MESSAGE value="Runner test" />
<MESSAGE value="Runner test 2" />
<MESSAGE value="Runner test 3" />
<MESSAGE value="Runner test 4" />
<MESSAGE value="Runner test 5" />
<MESSAGE value="Update workflows" />
<MESSAGE value="Change dm list indexing" />
<MESSAGE value="Fix user locks &amp; change return strings to blah.blah.blah" />
<MESSAGE value="slightly change blahs format (maybe final)" />
<MESSAGE value="add &quot;user/invites/sent&quot; and &quot;user/invites/received&quot; requests" />
<MESSAGE value="Add &quot;idtoname&quot; request &amp; change invite format" />
<MESSAGE value="Add &quot;user/dm/invite/revoke&quot; and &quot;user/dm/invite/decline&quot;" />
<MESSAGE value="Make most requests use id instead of username" />
<MESSAGE value="Switch to X25519 + ML-KEM-768 encryption" />
<MESSAGE value="DM keys!!!" />
<MESSAGE value="optimizations and bug fixes:&#10;- Fixed directory cache bug in Fs&#10;- Optimized DmId creation&#10;- Optimized most splits" />
<MESSAGE value="vulnerabilities, vulnerabilities, vulnerabilities..." />
<MESSAGE value="improve splits" />
<MESSAGE value="add &quot;dm/messages/get&quot; request" />
<MESSAGE value="improve locks" />
<MESSAGE value="prevent user keys override, will add this later with password change" />
<MESSAGE value="working messages!!@!@" />
<MESSAGE value="integer so unsafe!!! i need HEX!" />
<option name="LAST_COMMIT_MESSAGE" value="integer so unsafe!!! i need HEX!" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="1" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="2" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="3" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>

View file

@ -193,7 +193,7 @@ public class Encryption
public static string GetRandomString(int length) public static string GetRandomString(int length)
{ {
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+=-"; const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz!@_";
return new string(Enumerable.Repeat(chars, length) return new string(Enumerable.Repeat(chars, length)
.Select(s => s[Random.Shared.Next(s.Length)]).ToArray()); .Select(s => s[Random.Shared.Next(s.Length)]).ToArray());
} }

View file

@ -431,4 +431,4 @@ public class Fs
fileLock.Release(); fileLock.Release();
} }
} }
} }