-
Notifications
You must be signed in to change notification settings - Fork 32
merging master into experiimental #351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: Experimental
Are you sure you want to change the base?
Changes from all commits
3df3fac
5aee40a
39a00f0
6e06bdd
c6fe6cf
c5bab2e
7cf7bab
3770957
b2425d4
434d0c9
59e54d8
b6cf8d8
9a2f5a6
572c684
82f1cf4
6f8563f
91aa340
8fc57c1
18cd81e
c529063
7a048ce
e38e039
da0fe3a
9b4d295
01429ab
449cfd1
2ad3bd4
ab964b7
a79cbcb
58ce198
37aa201
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,7 +15,10 @@ public static void ShowMetaData(Dictionary<string, object> metaData, int display | |
| CLIEngine.ShowMessage($"MetaData:", false); | ||
|
|
||
| foreach (string key in metaData.Keys) | ||
| CLIEngine.ShowMessage(string.Concat("".PadRight(displayFieldLength), key, " = ", GetMetaValue(metaData[key])), false); | ||
| { | ||
| if (key != "WEB5STARNFTId" && key != "{{{newnft}}}") | ||
| CLIEngine.ShowMessage(string.Concat("".PadRight(displayFieldLength), key, " = ", GetMetaValue(metaData[key])), false); | ||
| } | ||
| //CLIEngine.ShowMessage(string.Concat(" ", key, " = ", GetMetaValue(metaData[key])), false); | ||
| } | ||
| else | ||
|
|
@@ -29,7 +32,10 @@ public static string GetMetaData(Dictionary<string, object> metaData) | |
| if (metaData != null && metaData.Keys.Count > 0) | ||
| { | ||
| foreach (string key in metaData.Keys) | ||
| metaDataString = string.Concat(metaDataString, key, " = ", GetMetaValue(metaData[key]), ","); | ||
| { | ||
| if (key != "WEB5STARNFTId" && key != "{{{newnft}}}") | ||
| metaDataString = string.Concat(metaDataString, key, " = ", GetMetaValue(metaData[key]), ","); | ||
| } | ||
|
|
||
| if (metaDataString.Length > 2) | ||
| metaDataString = metaDataString.Substring(0, metaDataString.Length - 2); | ||
|
|
@@ -51,17 +57,17 @@ public static bool IsBinary(object data) | |
| if (data is byte[]) | ||
| return true; | ||
|
|
||
| try | ||
| { | ||
| byte[] binaryData = Convert.FromBase64String(data.ToString()); | ||
| //try | ||
| //{ | ||
| // byte[] binaryData = Convert.FromBase64String(data.ToString()); | ||
|
|
||
| for (int i = 0; i < binaryData.Length; i++) | ||
| { | ||
| if (binaryData[i] > 127) | ||
| return true; | ||
| } | ||
| } | ||
| catch { } | ||
| // for (int i = 0; i < binaryData.Length; i++) | ||
| // { | ||
| // if (binaryData[i] > 127) | ||
| // return true; | ||
| // } | ||
| //} | ||
| //catch { } | ||
|
|
||
| return false; | ||
| } | ||
|
|
@@ -134,8 +140,11 @@ public static Dictionary<string, object> ManageMetaData(Dictionary<string, objec | |
| int i = 1; | ||
| foreach (var kv in metaData) | ||
| { | ||
| CLIEngine.ShowMessage($" {i}. {kv.Key} = {GetMetaValue(kv.Value)}"); | ||
| i++; | ||
| if (kv.Key != "WEB5STARNFTId" && kv.Key != "{{{newnft}}}") | ||
| { | ||
| CLIEngine.ShowMessage($" {i}. {kv.Key} = {GetMetaValue(kv.Value)}"); | ||
| i++; | ||
| } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Filtered display causes wrong metadata entries to be editedThe Additional Locations (1)
|
||
| } | ||
| } | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Race condition in lazy-initialized provider properties returns null
The newly uncommented provider properties (
EOSIO,Ethereum,Telos,ActivityPub) useTask.Runto asynchronously initialize the backing field but immediately return the field value without awaiting completion. On first access, this returns null because the async registration hasn't finished yet. The fire-and-forget pattern means callers receive null and subsequent accesses may still race with the ongoing initialization.Additional Locations (2)
Native EndPoint/NextGenSoftware.OASIS.API.Native.Integrated.EndPoint/APIs/WEB4 OASIS API/OASISProviders.cs#L133-L153](https://github.com/NextGenSoftwareUK/OASIS/blob/c5bab2e5a1b116de1e7fc44002ce21042baa01d5/Native EndPoint/NextGenSoftware.OASIS.API.Native.Integrated.EndPoint/APIs/WEB4 OASIS API/OASISProviders.cs#L133-L153)Native EndPoint/NextGenSoftware.OASIS.API.Native.Integrated.EndPoint/APIs/WEB4 OASIS API/OASISProviders.cs#L217-L237](https://github.com/NextGenSoftwareUK/OASIS/blob/c5bab2e5a1b116de1e7fc44002ce21042baa01d5/Native EndPoint/NextGenSoftware.OASIS.API.Native.Integrated.EndPoint/APIs/WEB4 OASIS API/OASISProviders.cs#L217-L237)