Fix userAgent messages stack to avoid repetition

Codecov Report

Merging #155 into master will decrease coverage by 0.14%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #155      +/-   ##
==========================================
- Coverage    99.6%   99.45%   -0.15%
==========================================
  Files          57       57
  Lines        1003      917      -86
==========================================
- Hits          999      912      -87
- Misses          4        5       +1

Impacted Files
Coverage Δ

src/Services/Http/Engine.php
100% <100%> (ø)
:arrow_up:

src/Services/Adapters/RequestAdapter.php
98.24% <0%> (-1.76%)
:arrow_down:

src/Services/Refund.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/CancelAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/EbanxAccount.php
100% <0%> (ø)
:arrow_up:

src/Models/Configs/CreditCardConfig.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/PaymentAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/DebitCard.php
100% <0%> (ø)
:arrow_up:

src/Services/Adapters/CaptureAdapter.php
100% <0%> (ø)
:arrow_up:

src/Services/Gateways/Sencillito.php
100% <0%> (ø)
:arrow_up:

... and 24 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 838bee0...7e02ecd. Read the comment docs.


[SPARK-6328] [Python] Python API for StreamingListener

Can one of the admins verify this patch?

this is ok to test.

@zsxwing can you take a look.

Merged build triggered.

Merged build started.

Test build #44014 has started for PR 9186 at commit aa87c40.

Test build #44014 has finished for PR 9186 at commit aa87c40.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44014/
Test FAILed.

The test that failed was a flaky StreamingKMeansTest.
Please retest.

test this again

@tdas it looks like Jenkins didn't retest

retest this please

Merged build triggered.

Merged build started.

Test build #44115 has started for PR 9186 at commit aa87c40.

Test build #44115 has finished for PR 9186 at commit aa87c40.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44115/
Test PASSed.

Merged build finished. Test PASSed.

I suggest adding some Python friendly classes for BatchInfo, ReceiverInfo, OutputOperationInfo and converting these Scala objects to them. Some Scala things, like Option, is hard to use in Python.

Merged build triggered.

Merged build started.

Test build #44248 has started for PR 9186 at commit 0ac3df6.

Test build #44248 has finished for PR 9186 at commit 0ac3df6.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n  * class BatchInfo(object):\n  * class OutputOperationInfo(object):\n  * class ReceiverInfo(object):\n

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44248/
Test FAILed.

Merged build triggered.

Merged build started.

The listener sometimes receives 3 batchCompleted events instead of 4 when I run the test. However, when I add a minor delay the test passes consistently. Can I get someone's opinion on this?

Test build #44268 has started for PR 9186 at commit 233104d.

Test build #44268 has finished for PR 9186 at commit 233104d.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n  * class BatchInfo(object):\n  * class OutputOperationInfo(object):\n  * class ReceiverInfo(object):\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44268/
Test PASSed.

Merged build triggered.

Merged build started.

Test build #44377 has started for PR 9186 at commit 79d70ab.

Test build #44377 has finished for PR 9186 at commit 79d70ab.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListenerEvent(object):\n  * class StreamingListenerBatchSubmitted(StreamingListenerEvent):\n  * class StreamingListenerBatchCompleted(StreamingListenerEvent):\n  * class StreamingListenerBatchStarted(StreamingListenerEvent):\n  * class StreamingListenerOutputOperationStarted(StreamingListenerEvent):\n  * class StreamingListenerOutputOperationCompleted(StreamingListenerEvent):\n  * class StreamingListenerReceieverStarted(StreamingListenerEvent):\n  * class StreamingListenerReceiverError(StreamingListenerEvent):\n  * class StreamingListenerReceiverStopped(StreamingListenerEvent):\n  * class StreamingListener(object):\n  * class StreamingListenerAdapter(StreamingListener):\n  * class BatchInfo(object):\n  * class OutputOperationInfo(object):\n  * class ReceiverInfo(object):\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44377/
Test PASSed.

I'm thinking maybe we should add a Java API for StreamingListener at first, it would make the PR simpler since most of Java collections can be mapped to Python classes directly.

I added in your suggestions. Let me know if we should still implement a Java API for it.

Merged build triggered.

Merged build started.

Test build #44459 has started for PR 9186 at commit 47c12ed.

Test build #44459 has finished for PR 9186 at commit 47c12ed.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListenerEvent(object):\n  * class StreamingListenerBatchSubmitted(StreamingListenerEvent):\n  * class StreamingListenerBatchCompleted(StreamingListenerEvent):\n  * class StreamingListenerBatchStarted(StreamingListenerEvent):\n  * class StreamingListenerOutputOperationStarted(StreamingListenerEvent):\n  * class StreamingListenerOutputOperationCompleted(StreamingListenerEvent):\n  * class StreamingListenerReceieverStarted(StreamingListenerEvent):\n  * class StreamingListenerReceiverError(StreamingListenerEvent):\n  * class StreamingListenerReceiverStopped(StreamingListenerEvent):\n  * class StreamingListener(object):\n  * class StreamingListenerAdapter(StreamingListener):\n  * class BatchInfo(object):\n  * class OutputOperationInfo(object):\n  * class ReceiverInfo(object):\n  * class StreamInputInfo(object):\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44459/
Test PASSed.

@zsxwing Can you take a look at my changes?

I just sent #9420 to add a Java version of StreamingListener. It will make this PR much easier.

#9420 has been merged. could you please update your PR using the JavaStreamingListener?

@djalova  could you update this PR soon? This is very helpful for 1.6. If you don't have time now, I can take it over. The commit to master will still show up as yours.

I'll work on it

@zsxwing Since JavaStreamingListener is an actual class and not an interface in the jvm, I can't use "implements" in py4j. How should I work around this?

@zsxwing Since JavaStreamingListener is an actual class and not an interface, I can't use "implements" in py4j. How should I work around this? Should I change JavaStreamingListener from a class to a trait?

JavaStreamingListener is a class to make sure we don't forget to add new APIs to it when adding anything to StreamingListener. Could you add a Python class and delegate all invokings to  JavaStreamingListener?

I'm unsure what you mean. In the case that a user wants to override one of the StreamingListener methods in Python, don't we want to make sure that the python method properly overrides the java method, so that when the JavaStreamingListener is notified, the Python method is invoked instead of the Java method?

I'm unsure what you mean. In the case that a user wants to override one of the StreamingListener methods in Python, don't we want to make sure that the python method properly overrides the java method, so that when the JavaStreamingListener is notified, the Python method is invoked instead of the Java method?

Could you create a PythonStreamingListener interface in Java side?

Could you create a PythonStreamingListener interface in Java side?
I could do that but I would either have to have it extend StreamingListener which could be a bit messy or create a new addStreamingListener() in JavaStreamingContext that takes in a PythonStreamingListener.

I image adding these two classes:
trait PythonStreamingListener {
 ...
}

class PythonStreamingListenerWrapper(listener: PythonStreamingListener) extends JavaStreamingListener {
 ...
}

and then call _jssc.addStreamingListener(self._jvm.JavaStreamingListenerWrapper(self._jvm. PythonStreamingListenerWrapper(pythonStreamingListener))) in the Python side.

I see, that worked. Should I keep the Python classes for the Infos or just have the user make Java method calls to get the values?

I see, that worked. Should I keep the Python classes for the Infos or just have the user make Java method calls to get the values?

Just let the user use Java XXXInfos directly.

Merged build triggered.

Merged build started.

Test build #45599 has started for PR 9186 at commit 9e4e04a.

Test build #45599 has finished for PR 9186 at commit 9e4e04a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n  * class PythonStreamingListenerWrapper(listener: PythonStreamingListener)\n

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45599/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #45611 has started for PR 9186 at commit 5415389.

Test build #45611 has finished for PR 9186 at commit 5415389.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n  * class PythonStreamingListenerWrapper(listener: PythonStreamingListener)\n

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45611/
Test PASSed.

Merged build finished. Test PASSed.

Could you add some codes in tests to demonstrate all fields in JavaBatchInfo, JavaReceiverInfo and JavaOutputOperationInfo can be accessed in Python? It's not necessary to check the contents in them (They are already verified in Java tests), just accessing these fields should be fine. Moreover, it would be better if you can access the contents of Map fields using Python dict syntax.

BTW, LGTM for the new Python APIs.

Just a point, if you can add this very soon, then I can merge it for 1.6 release.

Moreover, it would be better if you can access the contents of Map fields using Python dict syntax.

Do you have any suggestions for doing this? I was using wrapper classes for the XXXInfos to do this but I'm not sure if there's a clean way to do it without it.

There also doesn't seem to be a way to add receivers using Python. I've been testing the code on my own machine using socketTextStream() but I don't think that's suitable to put in a test.

Yeah, that is hard. We can figure that out in a later PR. Can you atleast
test that the contents of the maps in the BatchInfo can be accesses in
python? Should be additional checks along with the scheduling delay, etc.
On Wed, Nov 11, 2015 at 2:03 PM, Daniel Jalova<EMAIL_ADDRESS>wrote:

There also doesn't seem to be a way to add receivers using Python. I've
been testing the code on my own machine using socketTextStream() but I
don't think that's suitable to put in a test.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/spark/pull/9186#issuecomment-155923601.

Merged build triggered.

Merged build started.

Test build #45690 has started for PR 9186 at commit 7cdaf37.

Test build #45690 has finished for PR 9186 at commit 7cdaf37.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45690/
Test PASSed.

Merged build finished. Test PASSed.

I just noticed that Streaming Python unit tests cannot report failure. It always says pass even if some test fails. Investigating it.

We should retest this PR after merging #9669.

#9669 has been merged. please merge with master and test the PR again.

retest this please

Test build #45874 has started for PR 9186 at commit 7cdaf37.

Test build #45874 has finished for PR 9186 at commit 7cdaf37.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45874/
Test FAILed.

@djalova could you fix the test?
[Running <class '__main__.StreamingListenerTests'>]
test_batch_info_reports (__main__.StreamingListenerTests) ... FAIL

======================================================================
FAIL: test_batch_info_reports (__main__.StreamingListenerTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 444, in test_batch_info_reports
    self.assertEqual(len(batchInfosSubmitted), 4)
AssertionError: 5 != 4

----------------------------------------------------------------------
Ran 1 test in 4.768s

FAILED (failures=1)

Sure, I'll change it to check for at least 1 batch.

Test build #45880 has started for PR 9186 at commit 64192d6.

Test build #45880 has finished for PR 9186 at commit 64192d6.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * public class JavaGradientBoostingClassificationExample \n  * public class JavaGradientBoostingRegressionExample \n  * public class JavaRandomForestClassificationExample \n  * public class JavaRandomForestRegressionExample \n  * class StreamingListener(object):\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45880/
Test PASSed.

@djalova could you add the following checks?

I just meant you can access the Map here, e.g.:
for streamId in info.streamIdToInputInfo():
streamInputInfo = info.streamIdToInputInfo()[streamId]
# access fields of streamInputInfo
for outputOpId in info.outputOperationInfos():
outputOperationInfo =  info.outputOperationInfos()[outputOpId]
# access fields of outputOperationInfo

Sorry for my unclear comment. I just meant adding the real codes to access fields of streamInputInfo and outputOperationInfo, such as
streamInputInfo.inputStreamId()
streamInputInfo.numRecords()
for key in streamInputInfo.metadata():
    streamInputInfo.metadata()[key]
metadataDescription.metadataDescription()
...

Test build #45905 has started for PR 9186 at commit 5349c82.

@zsxwing The test right now doesn't even return any streamInputInfos or outputOperationInfos. In the Scala tests for the StreamingListener, a custom Receiver was used for that, which is not available for the Python API. That's why I only included the BatchInfos in the asserts. I manually tested my code using a socketTextStream() to make sure that the other infos worked.

Sorry I wasn't reading your comment carefully. I'll make the update.

Test build #45905 has finished for PR 9186 at commit 5349c82.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45905/
Test FAILed.

Merged build finished. Test FAILed.

Test build #45906 has started for PR 9186 at commit c941c3e.

Test build #45906 has finished for PR 9186 at commit c941c3e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * class StreamingListener(object):\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45906/
Test PASSed.

Thanks @djalova LGTM

Thanks @djalova and @zsxwing for your efforts. Merging this to master and 1.6


rotary selector margin fix

This fixes rotary selector behaviour (previously it used to set marginLeft: 0px sometimes) and remove one warning.

:+1: sorry it took me a while to get to this one, the notification was buried under a mountain of other stuff!

No problem, thanks!


Preserve map CRC and Same directory for entity file,  settings not saving

As the title says, I can edit the settings, and save everything perfect, except those 2 settings. Whatever I do, everytime I close the bspguy and open it again they are OFF by default.
I have to turn them on everytime I open newbspguy.
I can manually edit the config file and save it just fine, but whenever I open newbspguy again those two options get reset again to OFF
This issue is present since NightBuild_2024.11.23_09-31

Fixed in https://github.com/UnrealKaraulov/newbspguy/commit/a94f96c4eb13cd457e2869860062c169e05cfaf1


session handler info

Issue #, if available: #409
Description of changes:
With this PR, we will inject session handler information/user-agent information while creating the session.
Tested with debug logging:
Host: api.ecr.us-west-2.amazonaws.com
**User-Agent: aws-controller-k8s/0c76963-dirty (GitCommit/0c76963771053ea4310b5ffd0aaa399af0f88e87; BuildDate/2020-10-14T00:33:32+0000; Kind/Repository; CRDVersion/v1alpha1) aws-sdk-go/1.34.32 (go1.14.1; linux; amd64)
Content-Length: 72**

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

As an AWS Service controller would have corresponding binary as container image; the current PR would have same user agent string for all service controller built against commit level.
How about having AWS service name also as part of user agent? Something like: aws-controller-k8s/elasticache-0c76963-dirty

Done, addressed this comment.
User-Agent: aws-controller-k8s/ecr.services.k8s.aws-b216274-dirty (GitCommit/b2162744daa8d5cb631a535df492c8e12254887e; BuildDate/2020-10-14T18:44:02-0500; CRDKind/Repository; CRDVersion/v1alpha1) aws-sdk-go/1.34.32 (go1.15.1; darwin; amd64)


Add convenience functions for finding entrypoint file

In HA we can then use this like
cache_headers=not is_dev_build,
# instead of
cache_headers=(build_id != "dev")

module_url=f"{URL_BASE}/{entrypoint_js}",
# instead of
module_url=f"{URL_BASE}/entrypoint-{build_id}.js",

Looks good but needs to be tested with HA

Yeah, regarding the HA integration this is a breaking change.
Do you know what exactly URL_BASE = "/knx_static" is used for? This has a representation in the panel build scripts too, but I couldn't see for what it is used. Maybe we can provide a constant for that too?!


ConfigBuilder.AddJsonFile throws ArgumentOutOfRange if given an empty file

Given the following code:
var config = new ConfigurationBuilder();
var tempFilePath = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".json"
var tempFile = File.Create(tempFilePath);
tempFile.Close();
config.AddJsonFile(tempFilePath);

You'll get the following exception:
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load(Stream stream)
   at Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider.Load()
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Add(IConfigurationProvider provider)
   at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder configurationBuilder, String path, Boolean optional)
   at Microsoft.Extensions.Configuration.JsonConfigurationExtensions.AddJsonFile(IConfigurationBuilder configurationBuilder, String path)

Now I know that that's probably not the right way to use AddJsonFile but I would have expected a FormatException or something like that.
I'm using 1.0.0-rc2-15822, I attempted to add this as a unit test but I'm having issues with AddJsonFile being in a class that's not referenced by the unit test file I was editing.

I assume that
configPath = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".json"
?

@pgrudzien12 Fixed, thanks.

I get the same error with a missing file that sets optional: true

I get the same error with a configuration file that has only one setting, such as this:
{
	"site": "dev",
}

Note, though, that a second line will workaround the issue.
{
        "site": "dev",
        "whatever": "a second line!"
}

`

This is happening because if SetBasePath is not called, we assume BasePath to be root of the application. In your case, you will have to do this
var config = new ConfigurationBuilder();
var tempFileName = Guid.NewGuid().ToString() + ".json";
var tempFilePath = System.IO.Path.GetTempPath() + tempFileName;
var tempFile = File.Create(tempFilePath);
tempFile.Close();
config.SetBasePath(System.IO.Path.GetTempPath()).AddJsonFile(tempFileName);

It is strange because we use Path.Combine

+1
Format exception should be thrown because 'System.ArgumentOutOfRangeException' is misleading if the file is empty.
SetBasePath does not help - file path is constructed
@ses4j first example is corrupted (it has extra comma). Nevertheless in RC1 it loads correctly for me. Could you provide an example of your code that loads configuration and version of dependencies you used?

I agreed it would be nice to wrap any of these exception during parsing into a FileFormatException

@kirthik can you look into this for rc2?

I will if you don't mind.

Sure thing! Looking forward to your PR.

@divega looks like #337 needs a bit of discussion, but this shouldn't be tagged as up-for-grabs AFAICT

@divega I unassigned @kirthik because she won't be back before RTM.

Thanks @Eilon thanks. @pgrudzien12 actually provided the fix in #337 and a better one in #358 and the PRs are already assigned to @HaoK.

81115be8b1f1a369c08372d8e7b45317d434fd65

Thanks @pgrudzien12 for the fix!


Moved item snaps back to previous position before continuing to move

Hi, first of all thank you very much for your great library! :-)
I have an issue that I would like to discuss with you.
I am using a LazyColumn with ReorderableItems. Source for the list is a room database that is observed as state. Basically the drag and drop works, the items also move to the right position, but before switching places, the dragged item snaps back to its initial position before it continues following the tap:
https://github.com/Calvin-LL/Reorderable/assets/72232737/7e39d38b-4c9b-49fd-99d9-0a87b19e5c1a
I have seen that
    val reorderableLazyListState = rememberReorderableLazyColumnState(listState) { from, to ->
        val reordered = groupedList.flatMap { it.value }.map { it.iCal4List }.toMutableList().apply {
            add(to.index, removeAt(from.index))
        }
        onUpdateSortOrder(reordered)
    }

is called every time an item changes place. It seems like a recomposition happens that makes the dragged item snap back to its previous position before moving on. This might be due to onUpdateSortOrder(...) with the reordered list. Do you maybe have any best practice to avoid this?
One thing I also don't understand is, why the same just works for "ReorderableColumn".
There is also a difference: While in the reorderableLazyListState the lambda is ALWAYS called when an item changes a place, the onSettle function in ReorderableColumn is only called when dragging was actually finished.
Is it possible that the handling of the lazy and non lazy variants is a bit different that could cause this issue?
Here's also the whole Composable: https://github.com/TechbeeAT/jtxBoard/blob/32802b75467102cae0292015b0202ec19edb97b8/app/src/main/java/at/techbee/jtx/ui/list/ListScreenCompact.kt
I'd appreciate if you could have a look at this! Thanks a lot :)

Patrick

Looks like this is related to #4. It will be fixed once https://issuetracker.google.com/issues/209652366 is released.

Try running onUpdateSortOrder in a coroutine? It may be taking too long and blocking the onDrag function in the library.

Hi @Calvin-LL !
Thanks for looking into it! =)
I have tried it in a Coroutine (actually the underlying code was already executed in a coroutine in the view model anyway). Regrettably it doesn't change anything.

One thing I also don't understand is, why the same just works for "ReorderableColumn".
There is also a difference: While in the reorderableLazyListState the lambda is ALWAYS called when an item changes a place, the onSettle function in ReorderableColumn is only called when dragging was actually finished.
Is it possible that the handling of the lazy and non lazy variants is a bit different that could cause this issue?

An addition: the app has lazy columns and Reorderable columns, whereas the Reorderable columns are within the lazy column entries.
In both cases the same function is called to store the new sort order (as given in the code snippet above). For the Reorderable column this issue doesn't occur, so it's only there for the items within the lazy column...

One thing I also don't understand is, why the same just works for "ReorderableColumn".
There is also a difference: While in the reorderableLazyListState the lambda is ALWAYS called when an item changes a place, the onSettle function in ReorderableColumn is only called when dragging was actually finished.
Is it possible that the handling of the lazy and non lazy variants is a bit different that could cause this issue?

An addition: the app has lazy columns and Reorderable columns, whereas the Reorderable columns are within the lazy column entries.
In both cases the same function is called to store the new sort order (as given in the code snippet above). For the Reorderable column this issue doesn't occur, so it's only there for the items within the lazy column...

Yeah they're implemented completely separately so I don't think there's much to be gained comparing the two. Is there a branch you're testing this on that I can play with? I tried the branch you had mentioned above on my phone but I can't seem to get any reordering at all.

Hey @Calvin-LL , thanks!
Sorry, the branch from above was still work in progress. I have set up a branch that now has things finalized and the drag & drop option activated by default:
https://github.com/TechbeeAT/jtxBoard/tree/1322-feature-order-main-tasksjournalsnotes-by-drag-drop
When you check it out, please make sure you use the OSE build flavor to avoid any restrictions.
I recommend you to use the tasks tab and to switch to the "compact" view through the menu.

Should be fixed in v1.5.2

Thanks a lot! It looks good now :-)

Sorry to cause more trouble here. This may break again if you update to v2.0.3 or later. Please follow the FAQ in the README to fix it.

Thank you for the heads-up! I'll check now


Double click for attack prompts attack outside of allowable range

Hi @npruehs,
I believe I've found a bug when issuing an attack order on a target unit twice. This then allows the attacking unit to begin firing out of the allowable range whilst simultaneously moving towards the acceptable range.
I stepped through BT_RTSPawnBehaviourTree and found that it is correctly evaluating the IsInRange task until the second attack order is given. This appears to restart the HasAttackOrder sequence and somehow gets to the UseAttack task. I debugged the IsInRange task and it correctly returns false until the attacking unit is actually within range so I'm not quite sure how the behaviour tree is getting short-circuited.
Video of the issue can be viewed here.
On a side note, I also noticed that the target unit did not attack a nearby enemy unit whilst idling within the acquisition range. I haven't investigated it much further as yet but thought I'd mention it whilst we're dealing with the behaviour tree.
Let me know if you require any additional info :)

Hi @npruehs,
I decided to do a bit more digging tonight. When issuing an attack order, the controller loops the IsInRange decorator until the attack radius is reached. Issuing another attack order on the same target then seems to cause the parent selector of the IsInRange decorator to move to the next child, which is the "FaceTarget" and "UseAttack" tasks. This explains the shooting whilst still moving towards the attack radius.
I'm still unsure of how the second attack order causes this to happen, I took a brief look at RTSPawnAIController but it'll probably take a bit more time to spot the cause.
A very hacky "solution" is to simply add a second IsInRange decorator alongside the first IsInRange decorator. This prevents the bug from occurring, regardless of the number of duplicate issued attack orders.
The image below should provide any additional clarity if needed :)

Good find! :)
I've applied a different fix in b328e68c67f7e01696fe1c84170c8ed62f1802d5: Adding an IsInRange decorator to the following sequence seems more useful, as this fights another potential issue we've experienced in A Year Of Rain: If moving into attack range fails (e.g. because the target is unreachable), the selector would allow the unit to attack anyway.
So here's how the fix looks like:

Let me know if that works for you as well!

Hi @npruehs ,
Definitely a simpler approach through the behaviour tree :)
Thanks for looking into this!


Borsos HW04

I see three similar submissions by you, Founounou and Dobrescu. I expect that you address the comments in Founounou's PR and re-implement the testing suits.


add aggregated ClusterRole to manage namespaced resources

fixes #1398

Thanks for the proposal and for the implementation! However I would like to separate these clusterroles based on the following resources:

host tailer
flows & outputs + syslogngflows & outputs
clusterflows & outputs + syslogngclusterflows & outputs

I'm not sure about the eventtailer, since that is something to be installed once into a logging system, not something to manage by individual users.
I would add the edit/admin aggregation labels, so that it can easily be aggregated into a single clusterrole for editor/admin purposes, like it is done in the cert-manager chart:
https://github.com/cert-manager/cert-manager/blob/0b9366c0fb226393f2c51abdf9ec3097606a8713/deploy/charts/cert-manager/templates/rbac.yaml#L439
Also I would create a viewer role, that doesn't have to be split by resources, just grant view privileges to all the above logging resources for users.
I'm still a bit sceptical that we can provide clusterroles that are useful for most users/use cases, but at least we can provide an example implementation.

@pepov Rancher has this implementation also for read-only/view access.
Aggregation is a common RBAC feature in Kubernetes and useful not only in context with Rancher projects. An extra value flag under the rbac section of the chart is also possible. At the moment normal user haven't  access to Flow and Output resources.


Protocol scoping

On the one hand, protocols need to be self-contained and it would be problematic if protocols could have elements mixed together across lexical scopes.
On the other hand, there are times that we will want to access interiors, such as exposing parameters in a sub-protocol for visibility and control.
To what degree do we want such interfaces to be pre-specified and rigid vs. permissive and able to be determined dynamically? How should the affect our representations?
For example, consider a protocol that is set up to culture at 37 degrees, and we want to run it culturing at 30 degrees instead. Ways this might be implemented include:

Forking the protocol and making a version that runs at 30 degrees
Forking the protocol and making a version in which temperature is an input with a default value
Dynamically exposing the 37 degree value to make it an input with a default value
Allowing a "patch" that forcibly overrides the 30 degree value

I tend to favor the less dynamic methods myself as being less messy, but we don't want things to be too rigid or else one gets a new type of mess in the development of a bazillion forks protocols.

Your example is really about the interface of the protocol. I would say allowing flexibility in interfaces is problematic.
In principle, the input of an action should either have a default, be assigned a value by the activity, or be linked to a parameter of the activity.
An activity parameter may have a default.
So, I would say in your example that making a new version that exposes the temperature as a parameter with a default makes sense.

I think variables are related to this issue.  Variables are a way to provide flexibility to the interface and cause us to consider complications wrt. #14

I was hoping to exclude use of variables as a means to short-circuit object flow.

I think that object flow would be happening in all of these cases, and the difference is the degree to which it is predictable through static analysis.

There are two types of input variables that we should distinguish:

Causal: variables whose assignment will be used as conditions for other variable assignments.  I.e., they have an impact on other variables.  I'm thinking mainly of branch conditions or primitive inputs that effect the outputs of the primitive.  The causal variable doesn't need to be dynamic, but we would require dynamic execution to compute the transitive closure of its causal influence.

Latent: anything that is not a causal variable.  These should be statically checkable.

We should be okay with including only latent variables.  I'm thinking of things like gain settings, temperature, etc.

Note that static checking over causal variables is possible as well (and frequently done in programming language analysis), but is harder and often does not allow as tight an inference.

I agree, but I think the issue here is that you need to invoke library calls (i.e., primitives) that don’t have a defined semantics.  That is typically why you need to do dynamic analysis.  POML would provide that semantics so that you could do static analysis.  Is there more to it than that?

On May 3, 2021, at 3:21 PM, Jacob Beal @.***> wrote:
Note that static checking over causal variables is possible as well (and frequently done in programming language analysis), but is harder and often does not allow as tight an inference.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Consensus decision at 5/17 protocols retreat: strict lexical scoping.
Protocols cannot refer to or modify the contents of another protocol; they can only impact them when "invited" via protocol inputs (parameters) and outputs.


Add RTLD_DEFAULT to more platforms

@alexcrichton: no appropriate reviewer found, use r? to override

@bors: r+

:pushpin: Commit 031a450 has been approved by alexcrichton

:hourglass: Testing commit 031a450 with merge 7265c17...

:sunny: Test successful - status-appveyor, travis


Option for max number of tokens to generate

This should already be available with #401 with the num_predict field


Two Factor Authentication (Multi-sig)

Overview
Adding support for multi-sig based 2FA will make the web wallet more secure. This will require deploying a contract to wallet users' accounts, and will allow them to specify which transactions require multi-sig.
Stories
As a user, I want to set limits on my transaction amounts, requiring two factor authentication above the limits, so I can use the web wallet to safely store $100-$1000 worth of assets.
Flows
For any account, there are minimum three keys
1 key in localStorage
1 key in recovery
1 key on our server
TXs require 2-of-3 multi-sig
Create account with 2FA

User receives Linkdrop link
User enters desired account name on /create
User chooses how to "Secure Account"
a. Use Ledger only
b. Setup SMS-based 2FA, choose email or seed phrase recovery
createAccount function on Linkdrop contract is called

Up to 3 keys are passed as arguments to be added as multi-sig keys
a. If Ledger, only one key is passed and multi-sig is 1-of-1
b. If 2FA, backend generates a key to be added to multi-sig, returns to frontend
In a batch TX
a. Account is created
b. Multi-sig contract is deployed, with keys as multi-sig keys
c. Keys are added as access keys (separate from above)
d. Account is funded (if applicable)

Sign TX with 2FA

User initiates a TX, signs with key in localStorage
Server sends an SMS to the user with TX details, code to enter
User enters the code into the UI
Server signs and sends TX

Recover with 2FA (Email)

User clicks link in recovery message
User is redirected to /recover-with-link
Selects "Continue"
Uses Sign TX with 2FA flow to finish recovery

Recover with 2FA (Seed)

User navigates to /recover-seed-phrase
User enters account name and seed phrase
Selects "Continue"
Uses Sign TX with 2FA flow to finish recovery

Specifically, I think final version of this can look:

One key is inside secure enclave on the phone / keychain on laptop
One key is on centralized service of users choosing that provides 2FA
One key is split into parts and distributed among friends / contacts for social recovery
Where 2 out of 3 is required to sign.
(This can be customized, like can use more than one centralized service, including can send one key to email but this has it's own attack vectors)

This addresses all the attack vectors:

Sim swap and identity swap (like SSN + last name in banks :( ), where centralized service would be fooled but still need to get either to user's unlocked device or be able to convince friends.
Friends colluding, won't be able to get 2FA from centralized service.
Lost phone, can recover via
Indirect attack with malicious software on the device, would still require 2FA

@ilblackdragon what if friends collude to steal your phone 😂

Expanding on @ilblackdragon's comments:
Goals
Prevent attackers from

Gaining access to keys
Manipulating the user into signing a bad TX (e.g. don't have the key, but change the UI)

Flow
For any account, there are minimum three keys

1 key in localStorage
1 key in recovery
1 key on our server

TXs require 2-of-3 multi-sig

User initiates a TX, signs with key in localStorage
Server sends an SMS to the user with TX details, code to enter
User enters the code into the UI
Server signs and sends TX

cc @vgrichina @Patrick1904

This is great. My only concern earlier when we discussed this was with:

Server signs and sends TX
If it's a contract needing a second signature only, it should be fine. The server key must not have any ability to do anything except be a second signature.

Questions
What if the user needs to recover their account? Are we requiring recovery key + server key? Or is the recovery key just another version of the local storage key that we sent to them?
Lastly, because we sent them the recovery key (probably a seed phrase that recreates the localstorage key???), we probably should make certain that we've scrubbed all record of this from our servers, email servers, logs, etc... Since we technically have the 2/3 we need at some point in time. I'm still not happy about sending a recovery key in plaintext. At the very least we should throw a weak encryption around the recovery phrase based on a PIN and some client side JS.
Proposals
WRT keys to generate locally:

1 key generated client side
1 copy is kept in local storage
1 copy, as seed phrase, is "weakly" encrypted with a client provided PIN and PBKDF2 with tons of rounds, all of which can be decrypted using a static HTML/JS page, if there is no Near Inc.
The encrypted seed phrase is emailed to them as a recovery option
Near Inc. does it's best to scrub all records of this encrypted data from it's servers / mailservers (having this data means potential brute forcing)

The second remote key:

1 2FA key is generated on the Near server
we'll need some storage opsec of these keys against exfiltration, get these and no more 2FA making a hack on high value targets trivial

What if the user needs to recover their account? Are we requiring recovery key + server key? Or is the recovery key just another version of the local storage key that we sent to them?

There needs to be 2 options:

normal recovery flow (recovery link key + our 2FA key)
gain full access when NEAR 2FA isn't accessible but you still have local storage key (local storage key + recovery link key).

At the very least we should throw a weak encryption around the recovery phrase based on a PIN and some client side JS.

such encryption doesn't add security (brute-forcing PIN is trivial unless it is unpractically long), but would degrade UX by a lot.
Note that as Illia outlined above (https://github.com/near/near-wallet/issues/423#issuecomment-623090551) in ideal security scenario there is no key in local storage / e-mail at all. However we can implement it only for mobile apps. Casual web wallet users have to accept bigger security risks, but this is fine as they aren't expected have a lot of value to start with.
Once they have more value on account – we should steer users toward more secure options (mobile app, Ledger, etc).

we probably should make certain that we've scrubbed all record of this from our servers, email servers, logs, etc...

agree with this 100%, we need to make sure SendGrid/Twilio doesn't keep message bodies.

Two questions:

Can Ledger be used without multi-sig?
a. I'd say it certainly should be used without, but we'll need to account for that in the contract design
We will need the user to enter their phone number. Should we remove this as an option for recovery? Or even combine the two? (Definitely tradeoffs to the latter)

Expanding on Create account with 2FA

User receives Linkdrop link (can discuss how this works when going directly to wallet later)
User enters desired account name
User chooses how to "Secure Account"
a. Use Ledger only
b. Setup SMS-based 2FA, choose email or seed phrase recovery
createAccount function on Linkdrop contract is called

Up to 3 keys are passed as arguments to be added as multi-sig keys
a. If Ledger, only one key is passed and multi-sig is 1-of-1
In a batch TX
a. Account is created
b. Multi-sig contract is deployed, with keys as multi-sig keys
b. Keys are added as access keys (separate from above)
c. Account is funded (if applicable)

cc @mattlockyer @ilblackdragon @vgrichina @corwinharrell @Patrick1904

@kcole16 would you mind adding the new considerations above to the issue description just so we can consider everything in one place?

Closing as issue is outdated


Text fields for Notes and Background Description, Relationships, and Goals do not save text.

Describe the bug
Filling in information for the text field under Notes tab has no impact. The text editor functions as it should, but clicking save makes the input disappear. The applies to all three text fields under Background tab.
To Reproduce
Steps to reproduce the behavior:

Create a new actor by clicking 'Create Actor' button under Actors Directory
Click on 'Notes' tab in the newly created character sheet.
Click on the 'Edit' icon at the top-right corner of the text field.
Type in text.
Click on 'Save' button in the editor toolbar.
See error: The editor closes, but the text field is unchanged.

Expected behavior
One would expect to see the edited text in the text field.
Desktop (please complete the following information):

OS: macOS 12.3.1
Browser: Firefox
Version: 99
The Expanse RPG (AGE): 0.8.2
Foundry VTT: v9 (build 268)

I am unable to duplicate this error. Are there any errors  showing in the console?

There are some warnings, but they don't trigger every time right on the spot. The "Expected media feature... " shows up pretty consistently.
injection entry point. starting message loop with extension sandbox and waiting for settings... [contentscript.js:863:13](moz-extension://77f286b6-5377-d14b-9a43-72aefcdf2291/contentscript.js)
Expected media feature name but found ‘-ms-high-contrast’. [content.min.css:7:14052](...../scripts/skins/ui/oxide/content.min.css)
Expected media feature name but found ‘-ms-high-contrast’. content.min.css:7:14079
Error: Promised response from onMessage listener went out of scope 5 [background.js:842:170](moz-extension://5b2d79d0-d9f1-204e-9b7f-bbce1188e1c8/dist/background.js)

Oh, for what it's worth, and the problem occurs on Safari 15.4 as well.

I just tried it before updating my version of this world: It worked in 0.8.0. with Firefox, it does no longer work for me after updating to 0.8.2., again with Firefox.
It does also not work for the gamemaster in Foundry VTT itself, after updating to 0.8.2.
I believe in 0.8.0. we entered the editor immediately, in 0.8.2. we have to click the editor button to open the editor. Perhaps this has something to do with it?

This should work with 0.8.4:)

Issue solved in 0.8.4 update


Feature: New version docs for BNA

Added v1.4.0 docs config to mkdocs.yml
Changed single page doc config for BNA to point to latest version
Fixed a typo for scorecard app single page doc config

@Philip-Larsen-Donnelly  we have a new version of the BNA app and we've added the configuration through this pull request. Kindly review it.
Thanks!

The PR check/preview doesn't work from a fork, so I will just merge and we can deal with any issues afterwards.


MD046 assumes block indents are bad if they are a part of lists.

Description
MD046 incorectly flags all fenced code blocks as violations even if they are a part of lists.
Motivating example:
1. Here is my list item

    ```bash
    # example code
    ```
2. Here is my next list item.

which I expect to render as follows:

Here is my list item
# example code

Here is my next list item.

The vscode markdownlint extension flags this as a violation of MD046  but if I follow the advice on the MD046 wiki page then I get the following rendering:
Example following MD046 advice:
1. Here is my list item

```bash
# example code
``` <!-- space added here to prevent rendering errors in comment-->

2. Here is my next list item.

Rendered result:

Here is my list item

# example code

Here is my next list item.

which is not how I want the list to appear in its rendered form.
Possible Resolutions:
It seems like there are two approaches that could be used to fix this issue:

broaden MD046 to allow for these cases when in lists. (both formations are valid so it probably just needs to be disabled when immediately following list items (ordered or unordered)
Allow the visual studio code extension to ignore specific violations.

Here is your motivating example. It does not seem to trigger a violation of MD046. Could you please clarify the scenario?
https://dlaa.me/markdownlint/#%25m%23 Issue 327

1. Here is my list item

    ```bash
    %23 example code
    ```
2. Here is my next list item.

Regarding your desire to suppress individual violations, that is possible today and documented here: https://github.com/DavidAnson/vscode-markdownlint#suppress

Maybe it's helpful to clarify the intent of rule MD046. It is a stylistic rule to enforce the  same technique (indenting or fencing) throughout the document. By default, it assumes the first style it encounters is correct and flags any differences in the rest of the document. In your case, if you have an indented code block earlier in the document, then the fenced code you show above is a violation because it is not an indented code block

Interesting, we faced the same issue, but when copying our code into the demo editor, the violation is not shown:
Demo: https://dlaa.me/markdownlint/#%25m%23 Issue 327

1. Here is my list item

    ```bash
    %23 example code
    ```
2. Here is my next list item.

Failed check: https://github.com/MichaIng/DietPi-Docs/runs/1272589173?check_suite_focus=true#step:6:5
Code: https://raw.githubusercontent.com/MichaIng/DietPi-Docs/c4a9836a43efc386ff9c6ae1d5f61c6a439ca5d4/docs/release-notes.md

@MichaIng Your failing test run reports an issue with docs/dietpi_tools.md, but your example and link are for a different file.
Looking at the reported file, we see code fences on lines 7 and 17, so the report of an indented code block on line 27 being inconsistent is correct.
https://github.com/MichaIng/DietPi-Docs/blame/b9ac99eab398f0b850eac7460ea8267f06bf0c4e/docs/dietpi_tools.md

Ah indeed, sorry for mixing this up. This makes all sense now, the failing code lines are due to pymdownx.tabbed Markdown extension for content tabs. I guess adding support for this would require a switch/parameter since it is relatively rarely used compared to nested fences via pymdownx.superfences. Was this already a topic once or shall I open a request for it?
Related to the original topic I can hence confirm that nested fences via four-space indentation is correctly handled by markdownlint.

Thanks, I will close this issue. Regarding tabbed behavior, that syntax seems to be a violation of CommonMark syntax, so it's not clear to me how to do better unless there is a markdown-it parser to support that. You're welcome to open an issue, but FYI that there are complications.

Many thanks for mentioning CommonMark, good to know there is such a specification, only sad that Python-Markdown core + standard library extensions do not fulfil it completely (e.g. fenced code in list items is not possible) so that pymdownx needs to be used for that, while other extensions of pymdownx are not part of CommonMark. Not a real issue but that makes it difficult for newcomers to differentiate between common/specified syntax that is usually interpreted correctly and uncommon syntax where one has to expect failures of code quality/syntax tests 😅.
But all fine, I see that these content tabs a very uncommon and conflict with some header and thematic break syntax. So the effort to implement support is likely too large effort to be reasonable.


Provide design for "Hello world" DPG model generation

Provide design for https://github.com/Azure/autorest.csharp/issues/2396.
Design Notes

For the following zip files contain (1) a Cadl input describing a single model, and (2) model files the DPG generator should output:

simple-pet.zip

[ ] output model

[ ] properties have only getters, not setters
[ ] constructor is internal
[ ] string parameter to constructor is checked for null

[ ] string property
[ ] int32 property
[ ] partial class defines constructor, int property, string property
[ ] partial class defines method internal static AzurePet DeserializeAzurePet(JsonElement element)

Design for simple AzurePet model from Cadl

For the following zip files contain (1) a Cadl input describing a single model, and (2) model files the DPG generator should output:

simple-pet.zip

[ ] output model

[ ] properties have only getters, not setters
[ ] constructor is internal
[ ] string parameter to constructor is checked for null

[ ] string property
[ ] int32 property
[ ] partial class defines constructor, int property, string property
[ ] partial class defines method internal static AzurePet DeserializeAzurePet(JsonElement element)

Design provided here: https://github.com/Azure/autorest.csharp/issues/2372#issuecomment-1189404557


Add operator bundle image extraction and parsing roles

Add operator bundle image extraction role
Add operator bundle data parsing role
Add the initial version of local testing playbook operator bundles, extracting and parsing the bundle data for now

jusft few nitpicks otherwise LGTM

I tested the changes both locally and within a test pipeline. Merging.


Rename application class to App

Fixes #124
Proposed changes
Code:

bocadillo/api.py -> bocadillo/applications.py
bocadillo.API -> bocadillo.App
Keep API as an alias that throws a DeprecationWarning upon instanciation.

Docs:

Rename all references to the API class and its api instances to be App and app.
Keep API in the API reference, as a deprecated class.

Tests:

All tests still run against both App AND API. This proves that using API still works 100%.

Codecov Report

Merging #157 into master will increase coverage by 0.19%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
+ Coverage   98.77%   98.96%   +0.19%
==========================================
  Files          20       21       +1
  Lines         815      966     +151
  Branches       67       85      +18
==========================================
+ Hits          805      956     +151
  Misses          6        6
  Partials        4        4

Impacted Files
Coverage Δ

bocadillo/meta.py
100% <ø> (ø)
:arrow_up:

bocadillo/response.py
100% <ø> (ø)
:arrow_up:

bocadillo/middleware.py
100% <ø> (ø)
:arrow_up:

bocadillo/applications.py
100% <100%> (ø)

bocadillo/deprecation.py
90.56% <100%> (+2.76%)
:arrow_up:

bocadillo/recipes.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 697e833...6b75559. Read the comment docs.


Service Definition(s3, glacier): Mark UploadId as required when creating multipart uploads?

Filing a combined issue because the services are extremely similar.
I help maintain amazonka, a Haskell AWS SDK that uses botocore definitions. One of our users queried whether creating a multipart upload can ever successfully return but not provide an upload ID. The service definitions (s3, glacier) do not mark this field as required, but it's heavily implied to always exist from other documentation:

S3: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/InitiateMultipartUploadResult.html#getUploadId--

Contains the results of initiating a multipart upload, particularly the unique ID of the new multipart upload.

Glacier: https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html

Amazon S3 Glacier (S3 Glacier) creates a multipart upload resource and returns its ID in the response.

I don't think there's anything botocore can do to fix these directly unless you maintain your own patches for service definitions. But perhaps these can get passed up to service teams and maybe updated definitions will trickle down?

Hi @endgame,
Thanks for reaching out!  I actually had a similar question come up earlier this year regarding S3 documentation marking CreationDate as optional output for a Bucket shape. While they agreed that a Bucket shape will never be returned without a Name (also listed as optional) or CreationDate S3's stance on seemingly required output fields is to mark them as optional, as output is something the user cannot control.  I did inquire about changing them since it seemed to cause some confusion, but they declined to do so.


Feat: Use Parent Rect

Allows users to use the TooltipPal's parent rect as the hover activator.
I don't think the best way to do this is by forcing sizing changes within the editor.
The closer I got to implementing this, the more engine limitations were in my way:

How would we handle resizing done in game?
Should we prevent resizing in the editor if this option is enabled?

Instead of forcing the engine to do what we want I realized we should be working with the engine instead, and the solution was much simpler.
We keep the TooltipPal's rect independent of the parents.
Instead, I wrote a simple function that essentially overrides the TooltipPal's mouse_entered and mouse_exited signals by connecting the parents mouse_entered and mouse_exited signals to the TooltipPal node, and set it's mouse_filter to ignore.
PS: Also added tooltips for my exported variables.

I am going to try to get @tool working instead. Just for the user to be able to see the border in the editor to provide an obvious user experience with the plugin.
I don't think there will be runtime issues because we're in canvaslayer and it'll be static to the viewpoint.
Also, if I'm wrong and it doesn't work out at all... I can just accept this and move on.

I tried with @tool and just had more issues to sort out. Just going to let the user resize for the time being.


Add sysprop driven XML tags to default solr.xml

The default solr.xml now has the necessary plumbing to obey the commonly used solr.sharedLib, solr.allowPaths, and enableMetrics system properties.
Resolves #635

Oh, might as well include the solr.port.advertise here as well, unless you wanted to do that in a separate PR. No worries either way.

If the user doesn't provide solr.sharedLib, the xml section will start with ,.

Hmm, not quite sure what you mean.  Are you talking about the GenerateAdditionalLibXMLPart change here?
If so, AFAICT, 'libList' will never be empty because it at least always has ${solr.sharedLib:}.  So if the user doesn't use any backups or modules, the value produced XML should look like:
<str name="sharedLib">${solr.sharedLib:}</str>

But, maybe I'm missing something @HoustonPutman ?

If the user doesn't provide solr.sharedLib, the xml section will start with ,.

Hmm, not quite sure what you mean. Are you talking about the GenerateAdditionalLibXMLPart change here?
If so, AFAICT, 'libList' will never be empty because it at least always has ${solr.sharedLib:}. So if the user doesn't use any backups or modules, the produced XML should look like:
<str name="sharedLib">${solr.sharedLib:}</str>

But, maybe I'm missing something @HoustonPutman ?

So my thought was if ${solr.sharedLib:} equates to an empty string, which it will by default, that Solr wouldn't handle the , in the beginning very well. But I just tested it out, and it works fine! So no issue there 🙂

Ah, yes - sorry, I was being dense.  Had an epiphany about what you meant while I was afk getting dinner.  I tested it as well - looks good on 8.11 and 9.3 both. So I think we're safe 😅

might as well include the solr.port.advertise here as well

I've added the necessary changes to work solr.port.advertise into generated solr.xml files, though I think it'll need tweaked a bit.
The generated solr.xml was already set up to reference a different system property called hostPort.  It looks like we made pretty regular use of that sysprop by default: even going so far as to error out of reconciliation whenever a custom solr.xml didn't include <int name="hostPort">${hostPort:80}</int>.  This PR (right now) updates this all to use solr.port.advertise instead.
Still doing a bit of testing on this and thinking through the upgrade ramifications (little worried about what this change means for administrators with custom solr.xml files that want to upgrade their operator), but this should all be ready for review.


Update ConfigErrors.Extend so that nil.Extend(nil) == nil

Previously such a call would return a zero-value ConfigErrors, breaking the standard if ce := foo(); ce != nil { ... } if ConfigErrors.Extend was used anywhere during the construction of the error in foo (or any of the methods it calls, transitively).

This change is

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job mixer/presubmit passed

Jenkins job manager/mixer-pr passed


Feature Request: Save N epoch and N steps, comma seperated

We need to be able to save only certain epochs and steps
Like save epoch 30,35,40,45 and no others
or
Save step 300,400,500 and no others
Can you please add this option? Thank you @kohya-ss
This became super important for FLUX training since each checkpoint is 24 GB
This is for saving checkpoints but saving state option this way would be nice as well

@kohya-ss it is still not being exactly same
lets say i wanted to save 30, 50, 55, currently this is not possible
also last time i tested --save_last_n_epochs it didnt worked :D it tried to save the 4th saving and after that it is trying to delete thus i had out of space error , i had it as 3
but i am gonna test again lets. i think it should delete last one and after that save next one - thus fully utilize space

Quote reply
Refer

I set Save last N epochs state to 2, my intention was to have just the last 2 or 3  safetensor checkpoints saved because a disk space restrictions,  I saving each 25 epochs, I should set "Save last N epochs state" to 50 if I want to keep the las 2 or 75 to keep the last 3, or it doesn't work this way?


Add support for Hugging Face models to the benchmark function

Modify the benchmark function to include compatibility with Hugging Face models 🌈

Heya, can I be assigned with this?

Hi @cyclotomicextension 🚀 Absolutely and if you need anything, don't hesitate to write to me 🌈

Hello, I have created a PR for the same.


CB-5122 Remove eager fetching of child environments

DELETE THIS TEMPLATE BEFORE SUBMITTING
Describe the change you are making here!
Please include tests. Check out these examples:

https://github.com/hortonworks/cloudbreak/blob/master/core/src/test/java/com/sequenceiq/cloudbreak/service/blueprint/BlueprintLoaderServiceTest.java#L62-L76

Please include a short description. Check out these examples:

https://github.com/hortonworks/cloudbreak/commit/888b2e2a8887def28a24e26efcd6d9ca5863733a

If your PR resolves any open issue(s), please indicate them like this so they will be closed when your PR is merged:
Closes #xxx
Closes #xxx

I meant do we need that relationship on stack at all? Can't we just fetch that info when we need it?


Model not deterministic, even though os.environ['TF_DETERMINISTIC_OPS'] = '1' is set

in reference of this kaggle notebook i've written this notebook to try transfer learning through multiple datasets.
With multiple soft runs on the notebook, I came to found out that I can't get deterministic/reproducible model out of it.
Weird thing is, with the same virtual-environment, I can get deterministic/reproducible from a plain CNN-MNIST code.
Spent a week on researching and can't find the solution. Any guidance or suggestions are much appreciated.
my environment

@stevenwong951028,
On running the code, I am facing an error stating FileNotFoundError: [Errno 2] No such file or directory: 'D:/img_db/stanford-dogs-dataset/images/Images/'. Please find the gist of it here.
In order to expedite the trouble-shooting process, could you please provide the dataset you are using in the code.
Also, the example is fairly complex and would be difficult for us to pinpoint the issue. Can you remove the dependencies + get the example down to the simplest possible repro? That will allow us to debug the issue easily. Thanks!

updated colab code for reproducing the error
might take a while for downloading the dataset and extracting the images

@stevenwong951028,
On running the code I did not face any errors. Please find the gist of it here.

With multiple soft runs on the notebook, I came to found out that I can't get deterministic/reproducible model out of it.

Could you please elaborate the issue you are facing and also the behavior you are expecting? Thanks!

@amahendrakar
The error is that the code won't get reproducible results.
To elaborate on that, in gpu environment, I get different results on the accuracy and the loss on every runs. With seeding and tf_deterministic_ops all set.
The weird part is, I can get reproducible results on a plain cnn-mnist (in gpu environment)

@stevenwong951028,
Sorry for the delayed response. Please refer this Stack Overflow Answer which shows how to handle non-determinism with Tensorflow-GPU. Thanks!


boilerplate update

Ran a make boilerplate-update as this will enable #91 - thanks @ritmun !

Codecov Report

Merging #93 (56a2063) into main (916307e) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main      #93   +/-   ##
=======================================
  Coverage   58.33%   58.33%
=======================================
  Files          26       26
  Lines        1265     1265
=======================================
  Hits          738      738
  Misses        442      442
  Partials       85       85


flake devshell does not contain generate-directory

Problem description
On NixOS unstable, with flakes enabled, using nix develop in the example directory results in a shell environment that still can't actually run jupyterlab.
Steps to replicate
This can be replicated on 6024eb9329c5f47102adc26f541712121bba62d4 by running nix flake --update in examples/flake, and then nix develop. No .jupyterlab directory is built, generate-directory is not in the path, and jupyter lab build fails because node is not available.
After I updated flake.lock had the following changes:
diff --git a/example/flake/flake.lock b/example/flake/flake.lock
index 4667169..6c90e94 100644
--- a/example/flake/flake.lock
+++ b/example/flake/flake.lock
@@ -2,11 +2,11 @@
   "nodes": {
     "flake-utils": {
       "locked": {
-        "lastModified":<PHONE_NUMBER>,
-        "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
+        "lastModified":<PHONE_NUMBER>,
+        "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
         "owner": "numtide",
         "repo": "flake-utils",
-        "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
+        "rev": "997f7efcb746a9c140ce1f13c72263189225f482",
         "type": "github"
       },
       "original": {
@@ -36,7 +36,7 @@
         "nixpkgs": "nixpkgs"
       },
       "locked": {
-        "narHash": "sha256-OUfD1rMoUsoESbOgpVtNtuIz5dUD8dJM/ktPNEzh++E=",
+        "narHash": "sha256-L+VsaGYdQ/DeZ/3BUeMtexADIlzTNFNYPrRreAKoUzo=",
         "path": "../../.",
         "type": "path"
       },

This was necessary since the top level flake for jupyterWith itself was out of sync with the example directory.
Workaround?
Modifying devshell.nix I was able to work around this, giving access to generate-directory and allowing jupyter-lab build to work. This feels really wrong but seemed to work I guess
diff --git a/example/flake/devshell.nix b/example/flake/devshell.nix
index 4a2c833..56f0a30 100644
--- a/example/flake/devshell.nix
+++ b/example/flake/devshell.nix
@@ -21,6 +21,7 @@ in
 pkgs.mkShell rec {
   buildInputs = [
     jupyterEnvironment
+    jupyterEnvironment.env.buildInputs
   ];

   shellHook = ''

Hi, a more flake-y way, without devshell.nix (which purpose I do not understand XD):
diff --git a/example/flake/flake.nix b/example/flake/flake.nix
index 9e5c410..0ea3d34 100644
--- a/example/flake/flake.nix
+++ b/example/flake/flake.nix
@@ -49,6 +49,8 @@
         };

         defaultPackage = self.packages.${system}.jupyterEnvironment;
+
+        defaultPackage = self.packages.${system}.jupyterEnvironment.devShell;
       }
       )
     ) // {

P.S. IMO the example and the project flake both have a bit of old-school-nix parts, I hope I would find time to submit my improvements next week.


Prim’s Minimum Spanning Tree (MST) graph in cpp

add a Prim’s Minimum Spanning Tree (MST) CPP code in the tree folder that is also helping many of the students

provide a description of this issue

done

you may go for it


Revert "Moving tensors to the right device"

Trying to revert pytorch/vision#3870 to see if the mitigation submitted on PyTorch code https://github.com/pytorch/pytorch/pull/58800 resolves the issue.

@fmassa Worth noting that the patch is still needed even after the mitigation.
We are using the latest nightly which should include the pytorch patch:
Using /home/circleci/project/env/lib/python3.8/site-packages
Searching for torch==1.9.0.dev20210524
Best match: torch 1.9.0.dev20210524
Adding torch 1.9.0.dev20210524 to easy-install.pth file

Thanks for looking into this @datumbox !
I think it's good for us to keep the devices, but it is still good to raise this to the PyTorch core team as this might end up being a breaking change that they weren't expecting.
cc @ngimel

That's weird, on a day-old build that includes the patch the following succeeds (I tried to copy the codeblock that's used for indexing)
import torch

def fn(img, x_indices, y_indices):
    return img[:, y_indices[:, None], x_indices[None, :]]

in_sizes = 4
padding = 3
x_indices = [i for i in range(in_sizes)]  # [0, 1, 2, 3, ...]
left_indices = [i for i in range(padding - 1, -1, -1)]  # e.g. [3, 2, 1, 0]
right_indices = [-(i + 1) for i in range(padding)]  # e.g. [-1, -2, -3]
x_indices = torch.tensor(left_indices + x_indices + right_indices)#, device=img.device)

y_indices = [i for i in range(in_sizes)]
top_indices = [i for i in range(padding - 1, -1, -1)]
bottom_indices = [-(i + 1) for i in range(padding)]
y_indices = torch.tensor(top_indices + y_indices + bottom_indices)#, device=img.device)

img = torch.randn(10,4,4, device="cuda")
print(fn(img, x_indices, y_indices))
torch.cuda.synchronize()
print("eager mode completed")
scripted = torch.jit.script(fn)
print(scripted(img, x_indices, y_indices))
print("script mode completed")

and it didn't before the patch was applied.


Actionable messages via email is showing empty content in outlook

Hi
I am using powershell script and smpt server  to send email.
I am reading the html file from local path to send the actionable message for email.
Below is my html file:

Visit the Outlook Dev Portal to learn more about Actionable Messages.

reference :https://docs.microsoft.com/en-us/outlook/actionable-messages/send-via-email#feedback
only body tag part is visible in outlook not the json part.
Why the

@jasonjoh kindly guide me.

Add Html tag and put the above script within


Remove the Proxy javascript host class

Rhiho has not implemented Proxy yet and Htmlunit has a Proxy stub. This affects some js functions which checks the availability of Proxy and behaves accordingly, such as the VUE js framework. It thinks Proxy is available and tries to use it then it fails.

Good (and valid) point. We still have some of this stubs around but i try to slowly fill the gaps. Hopefully there will be some time to add Proxy support to Rhino.
For now i have removed the class.


Added FCAlertView entry

Project URL

https://github.com/k9101/FCAlertView
https://github.com/nimati/FCAlertView
Description

FCAlertView is a Flat Customizable AlertView for iOS
Why it should be included to awesome-ios (optional)
Because they're awesome
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 8 or later
[x] Supports Swift 3
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Error

  :no_entry_sign:
  Found 3 link issues

          1 Warning

  :warning:
  Too many changes (when adding, please keep it to one project per Pull Request)

Link issues by awesome_bot

Line
Status
Link

1351
301
https://github.com/jaydee3/JDFlipNumberView redirects tohttps://github.com/calimarkus/JDFlipNumberView

1447
301
https://github.com/jaydee3/JDStatusBarNotification redirects tohttps://github.com/calimarkus/JDStatusBarNotification

2145
403
https://dl.dropboxusercontent.com/s/5utnlwhr18ax05c/style-guide.html?dl=0

  Generated by :no_entry_sign: danger


Improve cyclomatic complexity of func (s *ServerContext) Run(ctx context.Context, config *serverconfig.Config)

As per https://github.com/openfga/openfga/pull/1552#discussion_r1578622449, the function ServerContext Run() https://github.com/openfga/openfga/blob/abf56641636fddef9340c4462364de1505c30442/cmd/run/run.go#L279 is highly complex and require refactoring.  The PR slight reduces complexity.  However, we require more systematic approach to make the server config better

Hi @adriantam, I'm working on this one. I will send a PR today/tomorrow.

Hi @adriantam ,
as the merge was messy to compare/fix, I've reset local branch to match upstream/main and will re-submit the changes for review. This caused the PR #1605 to get closed. Can you please re-open it for me.
My plan is to:

reopen in draft mode and review 2 out of the 4 func refactors in run.go file
if ok, proceed to the last two refactors
move from draft to formal PR review

The stepped approach is
a) reduce lines to review per iteration
b) avoid (or minimize) dealing with conflicts during merges with upstream
Thanks for your support

Hi Team,
changed PR #1662 to "review ready" as I need feedback on:
a) which errors are worth checking in unit tests to make codecov/patch pass
b) notice the waitgroup I added on run_test.go to avoid leaks on TestPlaygroundEnabled. Link to commit w/ comments
Thanks

To provide more data on the issue with tests I'm getting a goroutine leak that can be replicated by:

Using upstream repo, going to run_test.go

Inside TestHTTPServerEnabled add line to include enabling playground
cfg := testutils.MustDefaultConfigWithRandomPorts()
cfg.Playground.Enabled = true

run all tests in run_test.go

Expected
No test failures / No goroutine leak errors
Observed
Test Failure on other test inside same test file
`
--- FAIL: TestHTTPHeaders (1.88s)
/Users/chorch/_workspace/golang/openfga_workspace/openfga_upstream/cmd/run/run_test.go:1395: creating connection to address <IP_ADDRESS>:60195
/Users/chorch/_workspace/golang/openfga_workspace/openfga_upstream/cmd/run/testutils.go:206: 2024-07-09 14:56:00.035413 -0700 PDT m=+28.462376834 not serving yet at address <IP_ADDRESS>:60195 rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:60195: connect: connection refused"
/Users/chorch/_workspace/golang/openfga_workspace/openfga_upstream/cmd/run/testutils.go:206: 2024-07-09 14:56:00.757304 -0700 PDT m=+29.184264584 not serving yet at address <IP_ADDRESS>:60195 rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp <IP_ADDRESS>:60195: connect: connection refused"
/Users/chorch/_workspace/golang/openfga_workspace/openfga_upstream/cmd/run/run_test.go:1383: found unexpected goroutines:
[Goroutine 1656 in state select, with google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run on top of the stack:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0x14000065b40, {0x10345ebf0, 0x14000b3e0a0})
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/grpcsync/callback_serializer.go:76 +0xc8
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1644
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/grpcsync/callback_serializer.go:52 +0x118
Goroutine 1598 in state select, with google.golang.org/grpc/internal/transport.(*http2Server).keepalive on top of the stack:
google.golang.org/grpc/internal/transport.(*http2Server).keepalive(0x140004cb680)
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/transport/http2_server.go:1168 +0x174
created by google.golang.org/grpc/internal/transport.NewServerTransport in goroutine 1596
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/transport/http2_server.go:355 +0x1314
Goroutine 1597 in state select, with google.golang.org/grpc/internal/transport.(*controlBuffer).get on top of the stack:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0x14000ba6280, 0x1)
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/transport/controlbuf.go:418 +0x14c
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0x14000a63ab0)
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/transport/controlbuf.go:552 +0x7c
google.golang.org/grpc/internal/transport.NewServerTransport.func2()
/Users/chorch/go/pkg/mod/google.golang.org/grpc@v1.64.0/internal/transport/http2_server.go:334 +0xbc
...
`
Any support and guidance is welcomed


Home page: presentation of core services in blocks

Block-like elements could be used to make the core services more visible and appealing, see examples below
Are core services “Trainings” and “Code repository” (“Lesson development”, too)? Or do the team focus on trainings now and the code repository services will be out?
Depending on the focus, the layout should be changed.

[Issue created based on the suggestion document that Naoe created]

@annefou has worked on this. She will push the work when she is back from the meeting (14-15, 11. feb. 2020).

I believe this is done?

Yes. If everybody  is happy with what we have now then we can close it.

I think it's really nice now. Thank you!


Fix handling of %#x25; character entity

We sort of have a two-pass system for handling DFDL strings that contain
character entities related to delimiters. The first past converts
character entities to the character values, excluding things like
escaped percents and charater classes like NL, WSP, etc. The second pass
handles those excluded entities.
However, this first pass replaces the hex entity %#x25; (and
corresponding decimal entity) to a percent sign, which can then
interfere with the second pass, which should never see single percent
signs except for the exceptions mentioned above.
This modifies the first pass so that character entities that result in a
single percent are replaced with a double-percent. This will then be
converted to single precent used escaped-percent logic elsewhere.
This also has refactors related existing code to be more robust and
reduce duplication.
DAFFODIL-2479

I've looked at all all uses for replaceAll, and I don't see any uses that could contain a back slash or a dollar sign. All instances use a hardcoded replacement values, or are now properly escaped with this change.
The one exception was for code that used to handle dfdl:outputNewLine, which could theoretically contain a dollar sign, but that is dead code. That property is now handled without replaceAll. I've just removed that function to remove the possibility of every using it with bad input.


[Scheduled Maintenance] Site down for Maintenance

Additional context
Who/what/when/where/why is this maintenance happening

Icons transfer


Publish a Homebrew package

This app is awesome and you are awesome for making and sharing it. Have you already started on a package for Homebrew? Happy to help contribute if not

No idea what that even is so go for it!

@jamiew @mathaou
Hi, I consider that it is easy to use GitHub Actions and GoReleaser.

we should make new repository homebrew-termdbms, it is necessary for publishing with brew tap
https://github.com/Homebrew/brew/blob/master/docs/Taps.md
we should prepare the .github/workflows/release.yml and .goreleaser.yml like that

.github/workflows/release.yml
name: release
on:
  push:
    tags:
      - "v[0-9]+.[0-9]+.[0-9]+"
jobs:
  goreleaser:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - name: Setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.15
      - name: Run GoReleaser
        uses: goreleaser/goreleaser-action@v2
        with:
          version: latest
          args: release --rm-dist
        env:
          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}

.goreleaser.yml
project_name: termdbms
env:
  - GO111MODULE=on
before:
  hooks:
    - go mod tidy
builds:
  - main: .
    binary: termdbms
    ldflags: -s -w -X main.version={{.Version}} -X main.revision={{.ShortCommit}} -X main.date={{.Date}}
archives:
  - replacements:
      darwin: darwin
      linux: linux
      windows: windows
      amd64: x86_64
    files:
      - LICENSE
      - CREDITS
release:
  prerelease: auto
brews:
  - tap:
      owner: mathaou
      name: homebrew-termdbms
    folder: Formula
    homepage: 'https://github.com/mathaou/termdbms'
    description: 'Generates the URL link in various formats'
    license: "foo"

c.f.:
https://goreleaser.com/ci/actions/
https://goreleaser.com/customization/homebrew/
and, we also have to prepare the two files LICENSE and CREDITS.
CREDITS is necessary in which was written using not only third party library's license but also standard ones
It's suitable for us to use  https://github.com/Songmu/gocredits for making CREDITS

@u5surf sounds good! I'm completely green when it comes to this kind of stuff, but if you feel so inclined I'd greatly appreciate the help!


General axioms added

Signed-off-by: Marcin Skulimowski<EMAIL_ADDRESS>

@mskulim where are we with this?


Enable visible type application on hook functions

Not necessarily, just wanted to enable this. Could also be useState @(Array Int) []


export phenotype ontology accessions

Description
The phenotype REST endpoint retrieves the existing phenotypes but currently does not report the associated ontology accession terms. This is now being updated.
Use case
The endpoint functionality stays the same.
Benefits
The result of the endpoint will now also contain ontology accessions.
Possible Drawbacks
None.
Testing
Yes. The corresponding tests have been updated.
If so, do the tests pass/fail?
Tests pass with release/93 branch code.
Have you run the entire test suite and no regression was detected?
Yes.
Changelog
Are you changing the functionality of an endpoint? If so, please give a one line summary for the public facing changelog.
The endpoint functions as before, just the output is enriched with accession terms if they exist.

Failed tests:
archive - due to branching and master now being release/94, will be fixed with my travis pull branch change
gene_tree, genomic_alignment - Compara have been made aware of the test breaking bcause of changes in their repos, they're investigating. Not relevant to this pull request.
ratelimit - the usual, timing issue


[DOC] What problem does flagd solve?

Change in the documentation
This issue to to track the "what problem does flagd solve?"  bulletpoint here: https://github.com/orgs/open-feature/projects/5/views/1?pane=issue&itemId=22809077

My Take
Users looking to adopt OpenFeature are fundamentally looking for a way to adopt feature flagging in an OpenFeature compliant manner. Users need tools that work, are reliable, are well documented and if the tool is those things, the reference tool is easy to use and will be adopted.
In other words, the first question would be: "why OpenFeature" and once they've decided to try OpenFeature, the next question will be "how OpenFeature. flagd is the answer to the second question. flagd is the "recommended tooling for first steps".
UEFI has EDK 2. OpenTelemetry has Jaeger. OpenFeature has flagd.


Fix lint issues and add license so CI builds.

@kbsriram Please check the website link in your GitHub profile. It is not what you would want.

Thanks for the heads-up @dhalbert - much appreciated!

BTW, did you mean to close this? Maybe it was meant for your own repo?

The CI error says:
Warning, treated as error:
autodoc: failed to import module 'adafruit_pio_uart'; the following exception was raised:
No module named 'rp2pio'

The first fix to try for this kind of error building documentation is to edit docs/conf.pyand add the module(s) that could not be imported to the list of "autodoc_mock_imports". In this case, rp2pio. This will allow the documentation building process to pretend rp2pio is importable, but occasionally leads to further errors.
An example of this is: https://github.com/adafruit/Adafruit_CircuitPython_NeoPxl8/blob/main/docs/conf.py#L30

Thank you @dhalbert and @jepler ! I'd closed this thinking I'd do some research on the CI issue first, without adding review load on you folks. Thank you for the very helpful hints - I'll re-open and see if I can get a clean build :-)


faq

faq
What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #10777 (a415b76) into 3.2 (6350b90) will decrease coverage by 0.30%.
The diff coverage is 40.00%.

@@             Coverage Diff              @@
##                3.2   #10777      +/-   ##
============================================
- Coverage     65.34%   65.04%   -0.31%
+ Complexity      416      389      -27
============================================
  Files          1341     1341
  Lines         57182    57175       -7
  Branches       8453     8426      -27
============================================
- Hits          37367    37188     -179
- Misses        15864    15987     +123
- Partials       3951     4000      +49

Impacted Files
Coverage Δ

...o/rpc/cluster/support/MergeableClusterInvoker.java
66.66% <33.33%> (ø)

...e/dubbo/rpc/cluster/filter/FilterChainBuilder.java
37.69% <50.00%> (ø)

.../serialize/hessian2/Hessian2SerializerFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...sian2/dubbo/DefaultHessian2FactoryInitializer.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ize/hessian2/dubbo/Hessian2FactoryInitializer.java
0.00% <0.00%> (-60.00%)
:arrow_down:

...common/serialize/hessian2/Hessian2ObjectInput.java
0.00% <0.00%> (-51.86%)
:arrow_down:

...ian2/dubbo/AbstractHessian2FactoryInitializer.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...ommon/serialize/hessian2/Hessian2ObjectOutput.java
0.00% <0.00%> (-43.75%)
:arrow_down:

...mmon/serialize/hessian2/Hessian2Serialization.java
40.00% <0.00%> (-40.00%)
:arrow_down:

...pache/dubbo/common/function/ThrowableFunction.java
71.42% <0.00%> (-28.58%)
:arrow_down:

... and 65 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Default/Reccomended Matrix

The Node Package Maintenance WG has been working on a set of guidelines for package maintainers.  This includes some testing recommendations for which node versions to test in based on your support goals.  Some progress was being made on getting Travis to support tags like all, lts, active, etc.  It would be great if we could get the default matrix (and other common ones) setup here before most users even get started with it to set a good precedence.
Here is the ongoing conversation for that group: https://github.com/nodejs/package-maintenance/issues/205
If there is anything I can do to help move this forward (like working on a PR) I am happy to do that.  If you just want to have a conversation with the PM WG team and then implement it yourself that would also be great!

Thanks for reaching out! We'd already been tracking work to add some of those aliases elsewhere, added #26 in this repo to track that work.
Because of how our jobs our structured, there's not a way for an action to specify a default matrix, so something like all is probably out scope (it would take some pretty comprehensive changes across the system to change that). Basically, the short story there is that matrixes create a job for each output of the cross product, and jobs consist of actions (like this one!). So by the time an action is processed, all matrixing has been done.
With that said, there are definitely things we can be doing to encourage good patterns. Areas that jump out where you could help are:

Look at #26 and make sure that the aliases there make sense/are we missing any?
We populate a bunch of templates for users who are creating new workflows, that's from https://github.com/actions/starter-workflows. This is probably where most users will start - any pointers and/or prs into there would be really helpful. Right now, we have a generic node template where I'm guessing this could go, as well as an npm publish template.
Docs in this Readme can also be updated according to guidance.

Lastly, I just want to say that I'm really excited and thankful you reached out! The power of GitHub is the community, and that needs to be true of Actions as well - I can't think of any part of the Open Source community that is more central than y'all!

Thanks for the quick reply!  As I don't have access to actions at the moment and have not been able to play with them, I am not aware of how it all works or what it is capable of.  What you are saying makes sense though.

Because of how our jobs our structured, there's not a way for an action to specify a default matrix

This makes sense, but as a module maintainer I think it would be a nice addition to have a very slim configuration which specifies a default for a project type.  For example, if a node project could do something like:
template: nodejs

Then it would setup all the basics and a default matrix for me, that would be awesome and simple.  Now this is all me who has never used actions, so maybe I am way off base.  But if not, maybe something like this could be a future feature request :)

Look at #26 and make sure that the aliases there make sense/are we missing any?

I will make sure the WG team is aware of this and comments.

Right now, we have a generic node template where I'm guessing this could go

Yes, this would be a great start!  I will take a deeper look into that template and see if I can put together the PR to align with what the WG is reccomending.  I should be able to do that without aliases, but the alias support would be critical in the long run.

Lastly, I just want to say that I'm really excited and thankful you reached out! The power of GitHub is the community, and that needs to be true of Actions as well - I can't think of any part of the Open Source community that is more central than y'all!

OSS is great for some many reasons.  Keep up all the good work you have been doing for the community, we see it and are thankful!

template: nodejs

Huh I see, that makes sense to me. I think chances are that if we do it, then it's probably going to be out of scope until post-general access (which is November 13 I think), but I'll add that as a request.

I will take a deeper look into that template and see if I can put together the PR to align with what the WG is reccomending. I should be able to do that without aliases, but the alias support would be critical in the long run.

Awesome, thank you! Alias support should be coming very soon (it shouldn't be very hard to implement given that the distro already has most of those ready to download).

templates is a feature high on the actions backlog (outside of this repo)
we're tracking the work for latest etc. in #26 so closing this.
Thanks!


Got type definition cannot found after type definition

Describe the bug
When using the swag init -g main.go command, the struct in the model package can be parsed normally, but once the 'parseDependency' is added, like swag init --parseDependency -g main.go,it immediately stops working.
The struct located at github.com/xxx/internal/model.StructName, and ginHandler located at internal pkg
Is it internal related to this? But adding parseInternal doesn't solve the problem, on the contrary, it works without adding any parse parameters.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Your swag version
e.g. 1.16.3
Your go version
e.g. 1.22.5
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]

Additional context
Add any other context about the problem here.

I am trying to peel off a simple project and reproduce it, but I am still unable to do so.


Can a new patch be published?

A patch recently landed that fixes that test suite. Until a new release has been made this module is failing in CITGM.
For the time being I'm going to set spawn-wrap to skip so it is not affecting the results of the CI. Please close this issue when a new release has been made and we'll revert the skip

v1.3.6 fixes the issue. This can be closed.


error: no such module 'UIKit'

When I run this command in my project,
swift package generate-documentation
it is failed with the following error.
/Users/.../ProjectName/PackageName/Sources/.../ScreenCoordinateValue.swift:6:8: error: no such module 'UIKit'
import UIKit

What is wrong?

You should run xcodebuild docbuild command instead when you use UIKit

@kvasnetskyi
Here's my sample commands for generating the documentation: https://github.com/x-0o0/package-docc-example/blob/main/README_ENG.md#build-documentation
I hope that it would be helpful

@kvasnetskyi Here's my sample commands for generating the documentation: https://github.com/x-0o0/package-docc-example/blob/main/README_ENG.md#build-documentation I hope that it would be helpful

@x-0o0 Thank you! I will check.

Since docbuild doesn't support many things the package does, is there any plans to allow for generating UIKit using the swift package?


OTA agent should not update non-OTA jobs as failed

The OTA agent currently updates the non-OTA jobs as failed:
https://github.com/aws/ota-for-aws-iot-embedded-sdk/blob/1938dd89dc198fec37f55a4e53780561c1cfa2c8/source/ota.c#L2245-L2259
This interferes with the usage of non-OTA jobs and is IMO not desired. Is there a reason for this logic?

Hi @boraozgen
Thanks for bringing this to our attention. I've notified an appropriate team mate. There should be another response soon.

Hello @boraozgen,
We are working on a PR to make this configurable/optional as OTA library cane be used for custom jobs as well.

Hi @boraozgen,
Thanks for your asking.
I tried to test with custom job and I can pass the part by setting "pJobDoc->parseErr = OtaJobParseErrNone;" when I received OtaJobEventParseCustomJob in application callback function (set by OTA_Init). Please try to do it if you valid the json format.
Example.
static void prvOtaAppCallback( OtaJobEvent_t xEvent,
                               const void * pData )
{
    OtaJobDocument_t * pJobDoc = NULL;
    switch( xEvent )
    {
        case OtaJobEventParseCustomJob:
            LogInfo( ( "Received OtaJobEventParseCustomJob from OTA Agent." ) );
            pJobDoc = (OtaJobDocument_t*) pData;
            pJobDoc->parseErr = OtaJobParseErrNone;
            break;
    }
    ...
}

Log by ESP32.

79 2087 [OTA Agent Task] [ota.c:1649] [INFO] [OTA] Extracted parameter: [key: value]=[execution.jobId: customTest]
80 2088 [OTA Agent Task] [ota_demo_core_mqtt.c:940] [INFO] [OTA] Received OtaJobEventParseCustomJob from OTA Agent.
83 2137 [MQTT Agent Task] [core_mqtt_agent_command_functions.c:76] [INFO] [MQTT] Publishing message to $aws/things/MqttTest/jobs/customTest/update.
84 2138 [OTA Agent Task] [ota_demo_core_mqtt.c:1575] [INFO] [OTA] Sent PUBLISH packet to broker $aws/things/MqttTest/jobs/customTest/update to broker.
85 2139 [OTA Agent Task] [ota.c:1999] [INFO] [OTA] Job document parsed from external callback

Since I can pass the custom job without any code change on OTA, I'll close this issue first.
Please re-open it if you need more help from us.
Thanks.

Well that is a hacky way to do it.
I solved this by filtering the jobs responses before they are dispatched to the OTA client. If the jobDocument contains afr_ota, they get dispatched to the OTA client, otherwise to the respective job handler.

That is also a good method to do it, but you'll need to parse the job twice (one before dispatching, the other in OTA).
And I think the method I mentioned is the common method for custom job. (refer to unit-test code)
There is no more description in official document, and I'll update it.
Thanks for your contribution.


Contribution to "XSS in python-markdown2"

Updates

Affected products

According to the issue linked in the description, this has been patched in 2.3.9


Copyright Name

// This file is part of gringo - a grounder for logic programs.
// Copyright Roland Kaminski
Are you sure?

unproductive


Hook generator fails if generating for a specific service

Hello,
Using<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>I'm getting the following error when trying to generate a hook for only one service:
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: No hook declaration object for 'before' hooks found.
    at Collection.insertHook (/home/trevor/.config/yarn/global/node_modules/generator-feathers/lib/transform.js:35:13)
    at methods.forEach.method (/home/trevor/.config/yarn/global/node_modules/generator-feathers/generators/hook/index.js:32:11)
    at Array.forEach (native)
    at HookGenerator._transformHookFile (/home/trevor/.config/yarn/global/node_modules/generator-feathers/generators/hook/index.js:31:13)
    at HookGenerator._addToService (/home/trevor/.config/yarn/global/node_modules/generator-feathers/generators/hook/index.js:51:30)
    at props.services.forEach.serviceName (/home/trevor/.config/yarn/global/node_modules/generator-feathers/generators/hook/index.js:144:14)
    at Array.forEach (native)
    at HookGenerator.writing (/home/trevor/.config/yarn/global/node_modules/generator-feathers/generators/hook/index.js:143:27)
    at Object.<anonymous> (/home/trevor/.config/yarn/global/node_modules/yeoman-generator/lib/index.js:417:23)
    at /home/trevor/.config/yarn/global/node_modules/run-async/index.js:25:25

To reproduce, you can do the following:
feathers generate app
#  defaults
feathers generate service
#  name doesn't matter, defaults
feathers generate hook
#  name doesn't matter
#  choose any kind option
#  choose the service you made
#  choose any method option

Choosing "I will add it" for the kind or methood options does work.
If there's any more information I can provide, let me know.

Thank you for reporting! Turns out this was an untested issue from #207. It has been fixed and released in feathers-cli v2.0.4