RCPSP notebook

Educational notebook showing how the library can solve RCPSP problems.
Remaining work:

[ ] Explanation of GHH particularities
[ ] Review of whole text
[ ] Conclusion?

will work on it https://github.com/g-poveda/discrete-optimization/tree/gpd/rcpsp_nb in the next few days, so we'll do another PR or @nhuet you will be able to take my branch in yours ! keep in touch.


Add sendinblue adapter

DRAFT
This PR adds an adapter for sendinblue (transactional emails only).
Related to #537
Todo:

[ ]  solve the mandatory from problem
[ ]  update documentation to include the new adapter

@princemaple Can you help here?

Sorry miss-clicked. I intended to create a draft PR
I have now opened it: #559
Feel free to delete or hide this one


v1.12 backports 2023-02-09

[x] #23502 -- envoy: Bump envoy version to 1.22.7 (@sayboras)

Once this PR is merged, you can update the PR labels via:
$ for pr in 23502; do contrib/backporting/set-labels.py $pr done 1.12; done

/test-runtime

/test-backport-1.12

/test-1.23-4.9

/test-1.18-4.9


Update flake.nix inputs

Checklist:

[ ] Added tests for changed code where applicable.
[ ] Documentation reflects the changes where applicable.
[ ] Updated the CHANGELOG.md file with your changes.
[x] My PR is ready to review.

Resolves: #290
Description of the changes being introduced by the pull request:

Bump nixpkgs from 22.11 to 23.05
Bump poetry2nix from 1.40.1 to 1.42.0

Codecov Report

Merging #292 (427a263) into master (a04b377) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##            master      #292   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           18        18
  Lines          438       438
=========================================
  Hits           438       438

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


[Feat][Spark][Doc] Add examples to show how to exchange data between Nebula and GraphAr

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Add examples to show how to exchange data between Nebula and GraphAr PR has been created: https://github.com/alibaba/GraphAr/pull/244.
We need to add doc for it.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

close since the PR has merged

Hi, @acezen, this issue is created by this comment: https://github.com/alibaba/GraphAr/pull/244#pullrequestreview-1663936971, do we still need to update this part of the documentation?


Information on gpuplot library

Hi there, would you mind sharing some information on the gpuplot library you use in this project? The graph looks fantastic.

Sure! I'm glad you like them :) I'll put them into a library in the coming weeks and write about it, but for now you can take a look at the source - they are pretty easy to use, but not yet very flexible.

Sure! I'm glad you like them :) I'll put them into a library in the coming weeks and write about it, but for now you can take a look at the source - they are pretty easy to use, but not yet very flexible.

oh, my bad, found it in the source code! I tried to search it,  but no luck, lol. Thanks!

oh, my bad, found it in the source code! I tried to search it,  but no luck, lol. Thanks!


Support Promises in iopipe.define()

Users would like to return a promise from functions passed to iopipe.define
Dustin Getz @dustingetz Jul 02 14:16
hey guys cool project
I thought aws lambda can't do async or state, i thought you just had to compute something and return a value, am i confused?
let inc = (e,c)=>resovledPromise(e.count+1)
iopipe.define(inc, inc, inc)
is this possible to express?
with async types
i now see it can here: https://github.com/iopipe/dockaless-examples/blob/master/functions/urls-ffmpeg-resize/index.js

WIP tree: https://github.com/ewindisch/iopipe/tree/i_promise_you

/cc @dustingetz (requested this via gitter.im)


Update duck/ABOUT.md

Problem
Some of the urls and methods used on the example are outdated or deprecated. Like "controller.NewImpl"
Persona:
Producers, consumers and integrators
Exit Criteria
Update the links and methods used on the file
Additional context (optional)
Here

/assign


Extend the CodeCombat multiplayer level activity assignment to show the user’s rank

Extend the CodeCombat multiplayer level activity assignment to show the user’s rank in the ladder rather than just showing COMPLETE on the instructor’s view tab. If solutions are public, show the user’s rank in the assignment tab as well.
The assignment column should be sortable by rank.

PR #733 fixes this issue


Responsive design for player and match pages

This issue tracks the implementation of Responsive design for player and match pages in the app.
Player Pages

[ ] Overview
[ ] Matches
[ ] Heroes
[ ] Peers
[ ] Pros
[ ] Counts
[ ] Records
[ ] Histograms
[ ] Trends
[ ] Items
[ ] Wardmap
[ ] Wordcloud
[ ] MMR
[ ] Rankings

Match Pages

[ ] Overview
[ ] Benchmarks
[ ] Performance
[ ] Combat
[ ] Farm
[ ] Purchases
[ ] Graphs
[ ] Casts
[ ] Objectives
[ ] Vision
[ ] Actions
[ ] Teamfights
[ ] Analysis
[ ] Cosmetics
[ ] Logs
[ ] Chat

this issue seems kind of generic.  should we instead create issues for particular features that would help in making the pages responsive, like support for splitting wide tables into tabs?

Yes, I think we should subdivide.

Closing as this is very general.  Open new issues for specific deliverables.


(Apple) iOS 10.2 compatibility

Trying this with my iOS 10.2 device (iPhone 6, just updated), I see this error:
>>> from ptpy import PTPy
>>> camera = PTPy()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/ptpy/__init__.py", line 64, in __new__
    device_info = plain_camera.get_device_info()
  File "/usr/local/lib/python2.7/site-packages/ptpy/ptp.py", line 977, in get_device_info
    response = self.recv(ptp)
  File "/usr/local/lib/python2.7/site-packages/ptpy/transports/usb.py", line 342, in recv
    self.__send_request(ptp_container)
  File "/usr/local/lib/python2.7/site-packages/ptpy/transports/usb.py", line 320, in __send_request
    self.__send(ptp)
  File "/usr/local/lib/python2.7/site-packages/ptpy/transports/usb.py", line 295, in __send
    transaction = self.__CommandTransaction.build(ptp_container)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 212, in build
    self.build_stream(obj, stream)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 219, in build_stream
    self._build(obj, stream, Container())
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 290, in _build
    self.subcon._build(self._encode(obj, context), stream, context)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 691, in _build
    sc._build(subobj, stream, context)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 273, in _build
    self.subcon._build(obj, stream, context)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 689, in _build
    subobj = obj[sc.name]
KeyError: 'OperationsSupported'
>>> Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/local/lib/python2.7/site-packages/ptpy/transports/usb.py", line 386, in __poll_events
    evt = self.__recv(event=True, wait=False, raw=True)
  File "/usr/local/lib/python2.7/site-packages/ptpy/transports/usb.py", line 274, in __recv
    usbdata[0:self.__Header.sizeof()]
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 188, in parse
    return self.parse_stream(BytesIO(data))
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 198, in parse_stream
    return self._parse(stream, Container())
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 670, in _parse
    subobj = sc._parse(stream, context)
  File "/usr/local/lib/python2.7/site-packages/construct/core.py", line 288, in _parse
    return self._decode(self.subcon._parse(stream, context), context)
  File "/usr/local/lib/python2.7/site-packages/construct/adapters.py", line 104, in _decode
    obj, self.subcon.name))
MappingError: no decoding mapping for 34817 [Type]

It seems the USB packet type itself is not known, which probably means non-compliant behaviour from the iPhone. I have only just pushed some modifications which should help clear that up.
Could you please try make test from the project root when your iPhone is connected in PTP/MTP mode?

Checked out current master head. Running the test:
============================= test session starts ==============================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.31, pluggy-0.4.0 -- /usr/local/bin/python
cachedir: .cache
rootdir: /tmp/sequoia-ptpy, inifile: pytest.ini
[Errno 5] Input/output error
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/tmp/sequoia-ptpy/ptpy/transports/usb.py", line 387, in __poll_events
    evt = self.__recv(event=True, wait=False, raw=True)
  File "/tmp/sequoia-ptpy/ptpy/transports/usb.py", line 273, in __recv
    raise e
USBError: [Errno 5] Input/output error

collected 58 items

tests/hardware/test_camera.py::TestCamera::test_device_info SKIPPED
tests/hardware/test_captures.py::TestCamera::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_captures.py::TestCapture::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_captures.py::TestCapture::test_event_order SKIPPED
tests/hardware/test_captures.py::TestOpenCapture::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_captures.py::TestOpenCapture::test_termination SKIPPED
tests/hardware/test_compliance.py::TestCamera::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_compliance.py::TestCompliance::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_compliance.py::TestCompliance::test_PIMA_15740_2000_mandatory SKIPPED
tests/hardware/test_compliance.py::TestCompliance::test_ISO_15740_2013_mandatory SKIPPED
tests/hardware/test_compliance.py::TestCompliance::test_microsoft_windows_support SKIPPED
tests/hardware/test_properties_get_set_reset.py::TestCamera::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_properties_get_set_reset.py::TestGetSetResetProperties::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/test_properties_get_set_reset.py::TestGetSetResetProperties::test_get_set_property[device_property0] SKIPPED
tests/hardware/test_properties_get_set_reset.py::TestGetSetResetProperties::test_reset_property[device_property0] SKIPPED
tests/hardware/test_properties_get_set_reset.py::TestGetSetResetProperties::test_desc_get_property_identical[device_property0] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_keep_on SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_keep_on_capture SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[0] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[1] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[2] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[3] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[4] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[5] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[6] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[7] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[8] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[9] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[10] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[11] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[12] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[13] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[14] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[15] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[16] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[17] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[18] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[19] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[20] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[21] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[22] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[23] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[24] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[25] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[26] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[27] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[28] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[29] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[30] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_enable_capture[31] SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoiaEnableCapture::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/parrot/sequoia/test_enable_capture.py::TestSequoia::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/parrot/sequoia/test_operation_values.py::TestOperationValues::test_hotness SKIPPED
tests/hardware/parrot/sequoia/test_operation_values.py::TestOperationValues::test_absolute_zero SKIPPED
tests/hardware/parrot/sequoia/test_operation_values.py::TestOperationValues::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/parrot/sequoia/test_operation_values.py::TestSequoia::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/parrot/sequoia/test_sequoia.py::TestSequoia::test_device_info <- tests/hardware/test_camera.py SKIPPED
tests/hardware/parrot/sequoia/test_sequoia.py::TestCamera::test_device_info <- tests/hardware/test_camera.py SKIPPED
=========================== short test summary info ============================
SKIP [55] /tmp/sequoia-ptpy/tests/hardware/conftest.py:16: No camera available to test
SKIP [1] tests/hardware/test_properties_get_set_reset.py:21: got empty parameter set ['device_property'], function test_get_set_property at /tmp/sequoia-ptpy/tests/hardware/test_properties_get_set_reset.py:21
SKIP [1] tests/hardware/test_properties_get_set_reset.py:86: got empty parameter set ['device_property'], function test_desc_get_property_identical at /tmp/sequoia-ptpy/tests/hardware/test_properties_get_set_reset.py:86
SKIP [1] tests/hardware/test_properties_get_set_reset.py:71: got empty parameter set ['device_property'], function test_reset_property at /tmp/sequoia-ptpy/tests/hardware/test_properties_get_set_reset.py:71

========================== 58 skipped in 0.77 seconds ==========================

The phone is plugged and unlocked.

Any advance?.
Thanks!.

Hey. The USB interface has become much more robust.
Sorry this has been around for so long.
Could you please have a look with the latest release/master?
You can set the environment variable PTPY_DEBUG to produce logs.

I'm closing this. Please re-open if issue is still there.
Thanks!


Contribution Guidelines?

Thanks for putting this together @kamranayub! For contributions to this project, are there any particular guidelines you'd like people to use beyond what's in the Contributing section today? Or perhaps the litmus test is what you've already mentioned - that the umami-flavored content "leaves a really good taste in your mouth". From a logistical standpoint, do you prefer PRs or issues for new submissions?
Here are some suggestions I had. Feel free to cite them as what would or wouldn't make good contributions.
Courses

DashingD3js - A nuts and bolts explanation of the D3 animation library.

Conference Talks

You are Not an Impostor - A great dive into imposter syndrome and ways to deal with it.
It's not what you read, it's what you ignore - Insights from Scott Hanselman on how to focus on value and stop working on things that are unimportant.

Youtube Channel

Fireship - Short videos on a wide variety of programming topics, complete with plenty of tongue-in-cheek humor.

Podcasts

The Rabbit Hole - A lighthearted podcast that takes a pragmatic look at trends in software development.

Individual Essays

Care About What You Build  - an introspective article on loving software development even when you may not be working on the most glamorous product.

@MrAlexLau I was waiting for contributions to put anything together but all these look awesome to me (I knew about Fireship, I totally forgot to add it!). I know there are a lot of talks that deserve to be on here I haven't collected yet.
And I prefer PRs I think, since it's easier to review items individually there ✅
Is there a rubric for Awesome DevEd? 🤷♂ Not yet, but I don't know that there needs to be beyond "these are impactful" or push the boundary or are a creative moonshot -- essentially, are they remark-able? Or forget-table? The fact you made a list speaks to them being remarkable to you and probably others!

Thanks for the reply @kamranayub. I did try to mostly focus on material that has resonated with me over the years and left an impact of some sort - which is why most of them aren't from within the last few years.


stack trace for k8s.Autorest.HttpOperationException on ctrl-c

Using 8.0.0-preview.1.23530.4 on Windows. Started things up on cmd line but quickly hit Ctrl-C.
I'm guessing we should be catching this exception and displaying it as an error message, not a stack trace?
Could not stop service 'identity-api': k8s.Autorest.HttpOperationException: Operation returned an invalid status code 'NotFound', response body {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"services.usvc-dev.developer.microsoft.com \"identity-api\" not found","reason":"NotFound","details":{"name":"identity-api","group":"usvc-dev.developer.microsoft.com","kind":"services"},"code":404}

   at k8s.Kubernetes.SendRequestRaw(String requestContent, HttpRequestMessage httpRequest, CancellationToken cancellationToken)
   at k8s.AbstractKubernetes.k8s.ICustomObjectsOperations.DeleteClusterCustomObjectWithHttpMessagesAsync(String group, String version, String plural, String name, V1DeleteOptions body, Nullable`1 gracePeriodSeconds, Nullable`1 orphanDependents, String propagationPolicy, String dryRun, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
   at Aspire.Hosting.Dcp.KubernetesService.<>c__DisplayClass12_0`1.<<DeleteAsync>b__0>d.MoveNext() in /_/src/Aspire.Hosting/Dcp/KubernetesService.cs:line 109
--- End of stack trace from previous location ---
   at Aspire.Hosting.Dcp.KubernetesService.ExecuteWithRetry[TResult](DcpApiOperationType operationType, String resourceType, Func`2 operation, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/KubernetesService.cs:line 198
   at Aspire.Hosting.Dcp.ApplicationExecutor.DeleteResourcesAsync[RT](String resourceName, CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/ApplicationExecutor.cs:line 637

related scenario
https://github.com/dotnet/aspire/issues/73
https://github.com/dotnet/aspire/issues/222

This looks to be related to the KubernetsClient retry logic running into the hard timeout on the shutdown cancellation token. We may want to specifically exclude OperationCanceledException from this logging, as it's not really an error condition.

Moving to app-model based on David's comments

@danegsta i think the exception described in this issue is a k8s.Autorest.HttpOperationException. The System.OperationCanceledException  that is logged from the same location is described in https://github.com/dotnet/aspire/issues/73 (but i could not reproduce it as mentioned in https://github.com/dotnet/aspire/issues/73#issuecomment-1878979455). Should the k8s.Autorest.HttpOperationException also be excluded from the logging? Or should we just provide a simpler log message or something?

Maybe not the right place here, but sometimes an System.OperationCanceledException is  thrown on ctrl-c, not in the DeleteResourcesAsync but the CreateResourcesAsync. In the CreateResourcesAsync there is currently no exception handling at all, should we catch and ignore that exception in this location?
fail: Microsoft.Extensions.Hosting.Internal.Host[11]
      Hosting failed to start
      System.OperationCanceledException: The operation was canceled.
         at System.Threading.CancellationToken.ThrowOperationCanceledException()
         at System.Threading.CancellationToken.ThrowIfCancellationRequested()
         at k8s.Kubernetes.SendRequestRaw(String requestContent, HttpRequestMessage httpRequest, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.ICustomObjectsOperations_CreateClusterCustomObjectWithHttpMessagesAsync[T](Object body, String group, String version, String plural, String dryRun, String fieldManager, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.k8s.ICustomObjectsOperations.CreateClusterCustomObjectWithHttpMessagesAsync(Object body, String group, String version, String plural, String dryRun, String fieldManager, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at Aspire.Hosting.Dcp.KubernetesService.<>c__DisplayClass10_0`1.<<CreateAsync>b__0>d.MoveNext() in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 51
      --- End of stack trace from previous location ---
         at Aspire.Hosting.Dcp.KubernetesService.ExecuteWithRetry[TResult](DcpApiOperationType operationType, String resourceType, Func`2 operation, CancellationToken cancellationToken) in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 198
         at Aspire.Hosting.Dcp.ApplicationExecutor.CreateResourcesAsync[RT](CancellationToken cancellationToken) in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 667
         at Aspire.Hosting.Dcp.ApplicationExecutor.CreateServicesAsync(CancellationToken cancellationToken) in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 114
         at Aspire.Hosting.Dcp.ApplicationExecutor.RunApplicationAsync(CancellationToken cancellationToken) in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 78
         at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in C:\Users\Stephan\Documents\Projekte\aspire\aspire-stbau04\src\Aspire.Hosting\Dcp\DcpHostService.cs:line 65
         at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
         at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)

It'll be the same cause and the same fix.

Should be fixed now.


Own implementation for ReadFilter plugin descriptor

Although the GATK plugin descriptor for ReadFilteris nice, it have some flaws for our framework that I'm trying to solve by PRs. In the meanwhile, we need our own plugin descriptor in ReadTools to include our packages and our own features.

We hack the GATK plugin descriptor in 16bedb1c79d7c23d72be920a4c0eabd595801ff8. Closing in favor of #111, for removal in case that the change of functionality ported to GATK is in.


If a script's category doesn't exist, JSSImporter fails with response code 409.

When running a recipe for which a ScriptTemplate.xml is defined and contains <category>Foo</category>, if the Foo category doesn't already exist, the recipe run fails.
This is in contrast to policy categories, which are created automatically if they don't already exist.
I ran three times in a row just to make sure this wasn't a one-off error, and it occurred the same way each time. Upon creating the Foo category manually on the JSS and running the recipe again, the recipe succeeded.
The JSSImporter output plus traceback is below.
JSSImporter
JSSImporter: Category type: category-'Productivity' already exists according to JSS, moving on...
JSSImporter: Category type: policy_category-'Testing' already exists according to JSS, moving on...
JSSImporter: Pkg-object already exists according to JSS, moving on...
JSSImporter: Package upload not needed.
JSSImporter: Found file: .../TextExpanderSmartGroupTemplate-testing.xml
JSSImporter: ComputerGroup: TextExpander-testing updated.
JSSImporter: Found file: .../TextExpander_licensing_script.sh
JSSImporter: Found file: .../TextExpanderScriptTemplate.xml
Traceback (most recent call last):
  File "/usr/local/bin/autopkg", line 1651, in <module>
    sys.exit(main(sys.argv))
  File "/usr/local/bin/autopkg", line 1645, in main
    exit(subcommands[verb]['function'](argv))
  File "/usr/local/bin/autopkg", line 1458, in run_recipes
    autopackager.process(recipe)
  File "/Library/AutoPkg/autopkglib/__init__.py", line 470, in process
    self.env = processor.process()
  File "/Library/AutoPkg/autopkglib/__init__.py", line 299, in process
    self.main()
  File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 920, in main
    self.scripts = self.handle_scripts()
  File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 671, in handle_scripts
    update_env="jss_script_updated")
  File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 534, in _update_or_create_new
    recipe_object.save()
  File "/Library/Python/2.7/site-packages/jss/jss.py", line 686, in save
    raise JSSPostError(e)
jss.exceptions.JSSPostError: Response Code: 409 Response: Conflict. Error: Problem with category name

Good eyes sir. Add it to the list for the next release!

This should be resolved in 1.0.0 (currently the testing branch). Let me know if it doesn't work and I'll reinvestigate.


Bad UX when reporting on errors in column headings

Has come up in various ways over last year.
Example from work with Cabinet Office at UK:
"the most common error is the wrong column headings, but the error message is not clear enough to say there is a mismatch. It seems much more helpful to clarify what's missing and what should be removed.
e.g. "Missing required column headings: 'Amount', 'Department family'. Column name not allowed: 'Internal code’"."
cc @davidread

Yup!


Redux-ORM test adapter in factory-girl

Hello @tommikaikkonen
I've been learning with your redux-orm-primer example about how to test redux-rom models. But when I arrived to reduxORMAdapter I've seen that this was a bit deprecated. Factory girl now is no version 4 and in redux-orm-primer example we are using an old version. Then I've decided to create my own adapter and I have started a PR on factory-girl project:
https://github.com/aexmachina/factory-girl/pull/87
It will be nice if you look at the PR and make an OK if you like what you see.
I'll will try in the next days to make an update on Redux-ORM-primer example to update the code to the new version of redux-orm and factory-girl
Thank you, Carles

That was merged and added to the last version of factory-girl

See #97.


Rename incorrectly labeled status code

Haha you're the 2nd person today to point this out, I was going to get it fixed at some point today but you beat me to it!


Support custom point tags for agent's metrics

This implementation is a bit problematic since it affects the static state. It would have been better if the map is passed as a parameter instead since the Json reporter may be used by other classes and the side effect of it injecting all "agent" tags may not be intended

Probably one more round :) Thanks!


[Improvement] - SfCounter

Scopes:

Make SfCounter better in UI
Make it selectable input (can manual type instead of just select from dropdown)
Should receive a list of options (for example: 1,2,5,10, custom...)

Also maybe we can adjust naming somehow? ProductCounter?

It's not another component? Sounds good to have a quantity select input, I think we must also have a number input (manual input with buttons).

@leomp12 it's this one

@filrak yup, I think this component was changed on designs, but imo we should keep SfCounter as is, maybe edit the icons or change something visual but keep the component functionality.
Imo this select input should be another component, or it can be named SfCounter and current SfCounter can be renamed to SfInputNumber for example.
I just think we must have a numbers only input with controls, because the quantity selector is good but I don't think will be the best fit always. So imo we should have both, and then I'm suggesting the implementation of a new component instead of improvements for SfCounter.

@leomp12 We can't rename SfCounter to SfInputNumber simply because the name doesn't stand for the purpose of the component. Currently, it serves as a counter (with </> button as a decrease/increase), and also receives an input number.
Not sure we have any other use for this component other than being counter of a product quantity? We can have 2 mode - one is simply counter, and one is an advance mode with select dropdown as proposed. There is no need for 2 components that basically does almost the same thing.
@filrak wdyt?

Imho there is no other and it shouldn't be input number tbh. The standard SfInput will serve this purpose well as it's friendly for mobile devices aswell.
SfCounter can be even renamed to SfQuantityInput or sth similar.

@filrak So SfQuantitySelect maybe? @leomp12 wdyt?

@mayashavin sorry for the delay.
SfQuantitySelect is good to me, wdyt about working as a select if quantity is integer and lower then a number prop (defaults to 10 or something...), if not, work as a number input?


Pre-train BLIP

Hi,
Thank you for your interesting work.
I would like to retrain the pre-train model
Follow your explain in readme, we have:
python -m torch.distributed.run --nproc_per_node=8 pretrain.py --config ./configs/Pretrain.yaml --output_dir output/Pretrain

However, I only have 4gpu, I run the command line as below, but it doesn't work for me:
python -m torch.distributed.run --nproc_per_node=4 pretrain.py --config ./configs/Pretrain.yaml --output_dir output/Pretrain

and
python -m torch.distributed.run --nproc_per_node=4  pretrain.py --distributed=True  --config ./configs/Pretrain.yaml --output_dir output/Pretrain

I received some error:
Traceback (most recent call last):
File "pretrain.py", line 28, in
from models.blip_pretrain import blip_pretrain
File "/media/Z/AnhDTV7/BLIP/models/blip_pretrain.py", line 17, in
from models.blip import create_vit, init_tokenizer, load_checkpoint
File "/media/Z/AnhDTV7/BLIP/models/blip.py", line 11, in
from models.vit import VisionTransformer, interpolate_pos_embed
File "/media/Z/AnhDTV7/BLIP/models/vit.py", line 21, in
from fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper
File "/home/anhdtv7/.conda/envs/blip/lib/python3.6/site-packages/fairscale/init.py", line 12, in
from . import nn
File "/home/anhdtv7/.conda/envs/blip/lib/python3.6/site-packages/fairscale/nn/init.py", line 9, in
from .data_parallel import FullyShardedDataParallel, ShardedDataParallel
File "/home/anhdtv7/.conda/envs/blip/lib/python3.6/site-packages/fairscale/nn/data_parallel/init.py", line 8, in
from .fully_sharded_data_parallel import FullyShardedDataParallel, OffloadConfig, TrainingState, auto_wrap_bn
File "/home/anhdtv7/.conda/envs/blip/lib/python3.6/site-packages/fairscale/nn/data_parallel/fully_sharded_data_parallel.py", line 67, in
import fairscale.experimental.nn.ssd_offload as ssd_offload
File "/home/anhdtv7/.conda/envs/blip/lib/python3.6/site-packages/fairscale/experimental/nn/ssd_offload.py", line 6
from future import annotations
^
SyntaxError: future feature annotations is not defined
I installed Pytorch 1.10.1!
How can I fix it?

Hi, it seems that this issue is about fairscale installation

You are using Python 3.6. Upgrade! cf. https://stackoverflow.com/questions/52889746/cant-import-annotations-from-future

Thank you so much. It works

Where can I download coco_karpathy_train.json data set?Can I have a link?

Where can I download coco_karpathy_train.json data set?Can I have a link?

https://github.com/salesforce/BLIP/blob/3a29b7410476bf5f2ba0955827390eb6ea1f4f9d/data/coco_karpathy_dataset.py#L17


Annotation parallelization

The annotation currently works by going through a - potentially very large - file containing circRNA location and investigating each of them separately. This changes introduce parallelization to this process

Answer to the comments from #85
I switched to only annotating the combined circRNAs because previously this was done for each detection tool for each sample. This led to a large number of long-running tasks, which most likely had a large overlap. I understand that it might be interesting to have tool-specific annotations, but I think this should then be approached like this:

Union of all circRNAs
Split into multiple files (by chromosome or line number)
Annotate
Union of annotations
For each sample-tool combination extract the fitting annotations

The core problem here is, that even with the parallelized annotation, the annotation can take hours per task.
Notes on a potentially more elegant approach:
I tried using bedtools intersect directly on all circRNAs and the GTF file, which was super fast in comparison. The only problem here is, that we need to do some aggregation of all the hits for each circRNA afterwards. I can imagine that this could work well using pandas.groupBy.

Yeah the annotation bottleneck is a major problem right now. Even if we intersect everything together, we'll need to apply the same logic to each group, correct? There may be a more efficient implementation of this, I can try some things. Do we want to work off a consistent intersection output? Do you have one handy that is small enough to share?

I sent you a minimal example based on the test configuration via slack. Currently the same bash script is applied to each batch (step 3 of the process):

Union of all circRNAs
Split into multiple files (by chromosome or line number)
Annotate
Union of annotations
For each sample-tool combination extract the fitting annotations

I still believe this could be a working approach:

I tried using bedtools intersect directly on all circRNAs and the GTF file, which was super fast in comparison. The only problem here is, that we need to do some aggregation of all the hits for each circRNA afterwards. I can imagine that this could work well using pandas.groupBy.

Note, that the bedtools intersect gives one line for each hit of a given circRNA in the GTF file, so potentially multiple for each circRNA. We could then use some grouping mechanism to perform the main logic of the annotation script (determination of circRNA type and extraction of additional properties).

#95 fixes this better


Add Method Observer Plugin

A tournament plugin for use by Method OSRS Tournament Participants to have their inventory, HP, damage and prayer% displayed on the live broadcast.

I'm a full-time employee at Method and have the necessary permissions to use the company's logo within the plugin.


termux.com

https://termux.com/
Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.

Currently, the suggested approach to use X11 apps in termux is tigervnc: https://wiki.termux.com/wiki/Graphical_Environment
@mviereck, can x11docker be useful in this environment?

can x11docker be useful in this environment?

Do you want to run docker containers on android? Is there a docker for android?
If the core dependencies are fulfilled, x11docker might run there.

Currently, the suggested approach to use X11 apps in termux is tigervnc

Another approach mentioned there is X server XSDL. I'd assume that it is more performant than a VNC setup.
If docker runs on android, an x11docker option --xsdl could be possible. Or run XSDL first, set DISPLAY, and run x11docker with --hostdisplay.
To just start an X server / XSDL, it might make more sense to extend runx.

I don't think it is possible to run docker containers on android. Anyway, that's not my target. x11docker/runx provide multiple features to set up servers/clients to get remote X11 access. Tricks such as using xvfb and xpra might be useful as an alternative to VNC. Does it make sense?

x11docker/runx provide multiple features to set up servers/clients to get remote X11 access.

x11docker or runx do not really provide remote setups. They only make it easy to run an X server. x11docker wiki describes setups how to remotely access the X server.
So runx for android could only run XSDL. The remote access itself is out of scope for runx and x11docker.
So far I don't see much use of runx (and even less of x11docker) on android.
If running XSDL needs simplification, runx could be useful. (If at all XSDL is meant to be started from a command line.)

It is possible to run docker containers on Android (it's also available in Termux), but most stock Android kernels do not come with the relative features configured in the kernel like cgroups etc., so a recompile is normally necessary. Another option for Android is to add another backend option instead of docker, podman. Chroot works out of the box on rooted android handsets:
https://ericcurtin.wordpress.com/2022/01/14/more-than-a-pi-alternative-aarch64-environments/
https://github.com/ericcurtin/limux
In fact I think many would appreciate this. Linux on Android works great as a desktop replacement, once you have a USB-C dock you can attach physical keyboard & mouse, HDMI monitor, etc.

Thank you for the suggestion! I'll have a look how this could be done.
Basically it should be possible to use chroot instead of containers. However, yet I have close to no experience with chroot, so I have to study and try out. There is another project called udocker that basically does this (but does not provide an X display). I might find some inspiration there how to implement --backend=chroot.
Just to note, a chroot environment does provide no security at all compared to a container. One target of x11docker is to provide a sandbox-like environment which is impossible with chroot.
I've never used a smartphone and have no experience with Android.
I have a quite old smartphone that technically works but does not get updates and became unusable due to missing SSL certificates and thus a broken app store. I might try to root it.
Is there an Android VM that I could use for test runs? I once tried one for other reasons but failed to set it up, and never tried again.
Is chroot possible on non-rooted smartphones?
(To be honest, I am suspicious about smartphones at all ;-).  I use a phone to phone and a computer for computer things.)

chroot is not possible without a rooted device, but there is an alternative called proot that does not require a rooted device. Performance is not as good using proot (vs chroot), but still much faster than a Raspberry Pi 4 (at least on my mid-range Qualcomm 765, see blog post above), so still worth it.
udocker supports proot as one of it's options, good find!
Android works, because it's still a Linux kernel, albeit a modified one.

I don't know Fakechroot yet, it might work. runc, crun and Singularity all depend on cgroups and Linux namespaces, so they won't work an Android.

First success!
Just got x11docker/fvwm desktop running in proot.
Running xterm failed with
xterm: Error 32, errno 2: No such file or directory
Reason: get_pty: not enough ptys

Setup:
mkdir testproot
cd testproot
docker run --name fvwm x11docker/fvwm
docker export -o fvwm.tar fvwm
tar -x -f fvwm.tar
proot -r $(pwd)

In another terminal run an X server with:
x11docker --xonly --desktop --printenv --no-auth --xoverip -I --xc=no

Get the shown DISPLAY variable, back to the proot terminal:

# IP of my local router
echo "nameserver <IP_ADDRESS>" > /etc/resolv.conf

echo -e "<IP_ADDRESS> localhost" > /etc/hosts

DISPLAY=<IP_ADDRESS>:110 fvwm

The above error for xterm is probably because your container does not have the correct access to /dev/pts on the Android host, this is a snippet from a script I wrote, not /dev and /dev/pts must be mounted separately:
  mkdir -p /dev/shm # chromium requires this
  mountpoint -q /dev/shm || mount -o rw,nosuid,nodev,mode=1777 -t tmpfs tmpfs /dev/shm
  mountpoint -q $mnt_dir/proc || mount -t proc proc $mnt_dir/proc
  mountpoint -q $mnt_dir/sys || mount -t sysfs sys $mnt_dir/sys
  mountpoint -q $mnt_dir/dev || mount -o bind /dev $mnt_dir/dev
  mountpoint -q $mnt_dir/dev/pts || mount -o bind /dev/pts $mnt_dir/dev/pts
  mountpoint -q $mnt_dir$TMPDIR || mount -o bind $TMPDIR $mnt_dir$TMPDIR

The above error for xterm is possibly because your container does not have the correct access to /dev/pts on the Android host

I am still on a regular Debian laptop, no Android involved yet. :-)
proot provides a mount option that does not need root privileges.
I got xterm running with proot -r $(pwd) --bind=/dev .
However, sharing entire /dev goes too far, have to check what is really needed.
Sharing /dev/pts wasn't enough.

Some code pieces:

proot on github: https://github.com/proot-me/proot
XSDL on github: https://github.com/pelya/xserver-xsdl
Code from moby to pull a docker image without docker pull: https://raw.githubusercontent.com/moby/moby/master/contrib/download-frozen-image-v2.sh (ref.: https://devops.stackexchange.com/a/2772)

Recent master includes experimental support for --backend=proot.
Run x11docker with:
x11docker [OPTIONS] /path/to/rootfs [COMMAND]

If COMMAND is not specified, an interactive sh session is started.
Some features like --printer, --pulseaudio, --alsa, --gpu etc. already work.
Though, it is still a lot to do for a nice integration.

Currently I have unexpected issues to generate a rootfs without using docker or podman. I can pull images with skopeo, but it is not easy to extract the layers to a rootfs filesystem. I found tools undocker and rootfs-builder, but both have issues to fix.
The intention is to provide a rootless tool independend from docker or podman that pulls an image with the help of skopeo and creates a rootfs at ~/local/share/x11docker/ROOTFS/<image-name> where x11docker can find it.

Just asking for help:
How can I add the content of a tar file to another tar file directly, i.e. without extracting to disk?
So I have a base layer tar, and to this I want to add the content of another layer tar. (Possible existing same files in the base layer tar should be overwritten.)
I do not want to extract to disk because I want to preserve file attributes like owner and group.

I do the opposite kinda here (pipes always comes to mind first for me too for this type of behaviour :smile: ):
tar -xOf ../$fn --wildcards --no-anchored 'layer.tar' | tar xf -
in this script.
https://github.com/ericcurtin/limux/blob/main/limux.sh
It extracts a tarball from a tarball without an extraction to disk in-between by using stdout/stdin

I've written a script mkrootfs that generates a rootfs tarball from a docker image: https://github.com/mviereck/x11docker/blob/master/mkrootfs
This tarball can be extracted and used for x11docker, some instructions are printed in terminal.
Current syntax:
mkrootfs <imagename>
Currently it only pulls from local docker registry. It needs skopeo.

Meanwhile --backend=proot is cleanly integrated in x11docker. A few issues might be left, but so far evereything I've tested works.
The code changes done for this task help to integrate other special backends.
I consider to add support for --backend=systemd-nspawn, too. Though, this is of no use for Android because it does not run systemd.

I did some first tests with --backend=chroot, but got unexpected issues with mount --bind. Somehow mount fails without obvious reasons.
With a working --backend=proot, is there a need to support --backend=chroot, too?

There seems to be no XSDL for desktop linux systems. Does XSDL have command line options? Is there a useful output with e.g. XSDL --help?

chroot performs twice as well as proot on Android and I've yet to see a UI working with proot (but haven't tried this yet) so it has some value. But I'll try and test --backend=proot this week on android.
I have not used command line options on Android XSDL, I just start the XSDL app, then in termux (or ssh) set the following environment variables before you run the DE and it normally works:
export DISPLAY=:0 PULSE_SERVER=tcp:<IP_ADDRESS>:4713

Out and about, but just tried an install on my unroofed Android device this is how it went, will have a peek later:
Welcome to Termux!

Community forum: https://termux.com/community
Gitter chat:     https://gitter.im/termux/termux
IRC channel:     #termux on libera.chat

Working with packages:

 * Search packages:   pkg search <query>
 * Install a package: pkg install <package>
 * Upgrade packages:  pkg upgrade

Subscribing to additional repositories:

 * Root:     pkg install root-repo
 * X11:      pkg install x11-repo

Report issues at https://termux.com/issues

~ $ curl -fsSL https://raw.githubusercontent.com/mviereck/x11docker/master/x11docker | bash -s -- --update
x11docker note: No image name specified.
  Fallback: enabling option --xonly.

hostname: invalid option -- 'I'
Try 'hostname --help' or 'hostname --usage' for more information.

x11docker ERROR: x11docker needs 'python' to parse output of 'host inspect'.
  This is needed to check ENTRYPOINT and CMD that in turn is needed to set up
  some x11docker features. To allow more features, please install 'python'
  version 2.x or 3.x

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be:
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
x11docker WARNING: Could not display message on X:

main: line 504: ${FDstderr}: Bad file descriptor

x11docker ERROR: Could not find user 'u0_a193' in /etc/passwd.

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be:
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor

x11docker ERROR: Must run as root to install, update or remove x11docker system wide.

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /data/data/com.termux/files/home/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor
mkdir: cannot create directory ‘/tmp’: Read-only file system

x11docker ERROR: Could not create or cd to /tmp/x11docker-install.

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /data/data/com.termux/files/home/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  100k  100  100k    0     0  10409      0  0:00:09  0:00:09 --:--:-- 14227
main: line 486: ${FDstderr}: Bad file descriptor
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  159k    0  159k    0     0  15708      0 --:--:--  0:00:10 --:--:-- 30097
main: line 486: ${FDstderr}: Bad file descriptor

main: line 1564: cd: /tmp/x11docker-install/x11docker-7.0.1: No such file or directory

x11docker ERROR: Could not cd to /tmp/x11docker-update/x11docker-7.0.1

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /data/data/com.termux/files/home/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor
main: line 486: ${FDstderr}: Bad file descriptor
cp: cannot stat 'x11docker': No such file or directory

x11docker ERROR: Could not copy x11docker to /usr/bin

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /data/data/com.termux/files/home/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor
chmod: cannot access '/usr/bin/x11docker': No such file or directory

x11docker ERROR: Could not set executable bit on x11docker

  Type 'x11docker --help' for usage information
  Debug options: '--verbose' (full log) or '--debug' (log excerpt).
  Logfile will be: /data/data/com.termux/files/home/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker

sed: -e expression #1, char 16: Invalid collation character
main: line 504: ${FDstderr}: Bad file descriptor
chown: cannot access '/usr/bin/x11docker': No such file or directory
main: line 504: ${FDstderr}: Bad file descriptor
main: line 486: ${FDstderr}: Bad file descriptor
main: line 1577: xdg-icon-resource: command not found
main: line 504: ${FDstderr}: Bad file descriptor
main: line 1579: xdg-icon-resource: command not found
main: line 486: ${FDstderr}: Bad file descriptor
mkdir: cannot create directory ‘/usr’: Read-only file system
main: line 486: ${FDstderr}: Bad file descriptor
main: line 1589: /usr/bin/x11docker: No such file or directory
main: line 486: ${FDstderr}: Bad file descriptor
main: line 486: ${FDstderr}: Bad file descriptor
rm: cannot remove '/tmp/x11docker-install': No such file or directory
main: line 486: ${FDstderr}: Bad file descriptor
sed: can't read /usr/share/doc/x11docker/CHANGELOG.md: No such file or directory
main: line 486: ${FDstderr}: Bad file descriptor
main: line 486: ${FDstderr}: Bad file descriptor
~ $

What a mess ... :-)
There seem to be severe differences between a regular Linux and Android.
Today I have installed an Android VM to try out.
Unfortunately VirtualBox is too hungry on resources for my 12-year-old laptop, the VM is barely usable and terribly slow.
I might try another VM setup on a faster remote server.

Just noted that you tried an unrooted Android. There you cannot install x11docker in the system, obviously.
Just use x11docker directly without installing it.
You can download it with:
curl -fsSL https://raw.githubusercontent.com/mviereck/x11docker/master/x11docker > x11docker

If possible, run chmod +x x11docker, so you can run it with ./x11docker [...]. If chmod fails, you can run with bash x11docker [...].
However, from further error messages I see that it won't work yet.

I got a basically working setup with --backend=chroot, but it does not work well.
If I share everything that is needed to get a graphical terminal running in chroot (same as in your Limux script), it will mess up the host. Thunderbird has graphical issues and won't start again, new terminals cannot be started.  Using mount -t devpts devpts "$Rootfs/dev/pts" instead of sharing /dev/pts did not help.
If I don't share, some application in chroot will fail.
I'd say chroot is just not the right tool for this job. It might work well on Android/in Limux because the Android host is far away from a regular Linux and chroot does not mess it up for that reason.
Some code for --backend=chroot is included in x11docker, but disabled yet.

After all, Limux already supports chroot and proot. So what could x11docker on Android add here?
Basically I only see:

A better user setup in the proot/chroot environment matching the Android host user.
/home could be mounted to a more useful location on Android.

Why does your proot setup in Limux does not support X? It should be enough to just set DISPLAY.
For a bit better performance you could disable compositing in Xfce window manager.
Currently I think it makes more sense to enhance Limux where desired than to adopt x11docker to Android.

Gonna try proot soon, it's a good start. I had to unroot my device anyway as some apps were refusing to operate while my device was rooted.
I thought your suite of container images could be useful :) Since many DE's don't work well out of the box in containers.

I thought your suite of container images could be useful :) Since many DE's don't work well out of the box in containers.

They are available for Limux, too, if converted to a rootfs with image2rootfs.
However, imho Xfce is already the best choice for a container. A few others like Mate, Lumina or LXQt might be of interest, maybe even enlightenment.
KDE and Gnome3, Cinnamon and others based on gnome-shell won't work ootb; the according x11docker images rely on systemd. They would need to be based on a system like alpine using another init system like openrc.
But these desktops are bloated too much to be useful on a slow device without hardware acceleration (and XSDL does not support the GPU). So it might not be worth the effort to set up another init in proot/chroot to get them running.
If you have issues with desktops in proot/chroot, I am happy to help.

Side note: Instead of using XSDL a setup with xpra should be possible. I am not sure if the inofficial xpra client is up to date: https://github.com/jksiezni/xpra-client
Running xpra server with X server Xvfb in the container  and xpra client on android host could be an interesting setup.
However, no GPU support here, too.
An android X server with hardware acceleration would be great.

OnePlus 6's are brilliant too. They can run many Linux distros. Reasonably priced 2nd hand.


#895 Fix wingsuit YAML definitions

Fixes #895

@ademarco so this is good, can we merge now?

@justintemps  there was one leftover on the options, I fixed it and forced pushed on the same commit, as it belonged there, we can merge it if @bashlk  is ok with it

@ademarco @justintemps Sure we can go ahead with the merge. I also made a PR that fixes the prefix substitution (#905) so we could also merge that and release all of this once.


Investigate possible incompatibilities between Oracle 11c and 19c

Impact of the new feature
WMAgent (and T0)
Is your feature request related to a problem? Please describe.
Oracle 11c is no longer supported. Kate is coordinating/helping groups to migrate to the latest LTS Oracle version, 19c.
Describe the solution you'd like
This is just a high level issue to collect possible breaking changes between both oracle versions; list possible SQL syntax changes; and perhaps even list new features/functionalities that can boost the overall performance.
Describe alternatives you've considered
Not document anything, and blindly try the migration.
Additional context
Deadline for completing this migration is mid of June. So we should target beginning of June such that new agents can be deployed with new Oracle.
Further information in: https://indico.cern.ch/event/1002018/#7-additional-topics

From the unit tests outcome, provided in https://github.com/dmwm/WMCore/issues/10416, this issue can likely be closed. However, let me run some real quick tests with this new oracle version as well before we close it.

@goughes I executed many workflows with 1.5.4.pre2 (thus, oracle client 19) and couldn't spot any issues. Workflow completion is 100% and everything seems to be fully functional.
IMO, we can now consider this issue as done and it can be closed. Thanks

Great! Closing this out.


Different height of Input Component between ios & android

Both inputs have same style.
The red area's height is 48px and both input's textStyle height is 22 px,
but they have different white-space below the input.

@Choyeongdeok could you please share the code with styles, so it would be easier to reproduce the case?


The color/sound feedback of failed preflight check is only happening if QGC is connected

Describe the bug
If a preflight check fails without a Groundstation, the error goes silent and just fails to arm.
If a preflight check fails with a Groundstation, we have a LED red blinking and sound feedback.
To Reproduce
Steps to reproduce the behavior with QGC

Missconfigure sensor to trigger "MAG inconsistent", "High ACC bias" or any other preflight check error.
Power the copter with QGcontrol
Ear the feedback, see the LED
Try to arm, it fails.

Steps to reproduce the behavior without QGC

Missconfigure sensor to trigger "MAG inconsistent", "High ACC bias" or any other preflight check error the same way as before
Power the copter without QGcontrol
Try to arm, it fails.
Connect QGc
Ear the feedback, see the LED
Try to arm, it fails.

Expected behavior
Have LED & sound feedback when we are flying without groundcontrol station
Drone (please complete the following information):

PX4 1.8.2 with temporary terraranger fix (bus change)

I think it should beep when it fails a check, and red blinkink additionally when impaired to fly.
Also, it seems that once it failed the preflight checks, it will not stop to blink red until we actually arm.
I guess the preflight check is running once once booted then for each arming command? If it is the case, it should instead do the preflight checks again.
We often have preflight checks failures at boot yet we are sometimes capable to takeoff safely afterwards. It could be due to sensor booting time, moving the copter just after connecting it?


Application crashes due to attempted change of frozen props

Describe the bug
Hey, first off, thanks for this project. I know this is quite a lot of work maintaining it so I want to keep this quick.
I've started implementing a few designs a few days ago with this library and on the web-side it works flawlessly. Today when I wanted to test how it looks in the native app I got a crash with the error: Error: You attempted to set the key typewith the value"runtime" on an object that is meant to be immutable and has been frozen., js engine: hermes.
This linked to this line: https://github.com/marklawlor/nativewind/blob/516c0c620384fdd058d060c034a09f8816e3f6dc/packages/react-native-css-interop/src/runtime/native/style.ts#L1217
As far as I understood correctly, react-native-reanimated freezes props. This function however changes the props by mutating the source object.
I've tested out if it would still crash when I rewrote the function to be immutable and it worked. Not sure if I would solve it by doing that as the immutable function definitely creates a lot more unnecessary objects. Maybe a fast copy and then mutating it would be the best solution, or maybe the issue lies somewhere else that makes the props be frozen in the first place.
To Reproduce
The project is sadly a bit too convoluted for me to give a reproduction. From what I gathered however it should happen when rendering a component like <Pressable className="active:bg-red-500 bg-white"/> and then clicking it.
Expected behavior
A clear and concise description of what you expected to happen.
Expo Snack
If applicable, add a link to an Expo snack demonstrating the issue. There are multiple example snacks available at nativewind.dev.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
"nativewind": "4.0.23",
"react-native": "0.73.4",
"react-native-reanimated": "3.6.2",

Can you please try version 4.0.31

Works with 4.0.33 now, thanks a lot!

seeing this on 4.1.12

@eli-front The original reported issue was fixed, and we added tests to ensure the reported scenario doesn't occur. If you are still experiencing this issue please create a new issue with a reproduction


Add declaration to process the Privacy manifest file

This was missing to properly complete #18

@mattmassicotte Can you release a new version containing this PR? Thanks

Ugh, yes, I really should have done this right away. Sorry about that!


FBSnapshotTestCase integration. Initial tests for AttributedStringView

This PR adds (#656):

FBSnapshotTestCase integration:

Pod for Test scheme
Environment variables to main scheme:
Added 'FailureDiffs/' folder signature to .gitignore (we would not want to have images from Failure Diffs in repository)

2 simple tests for AttributedStringView (please correct me if there any additional tests needed since i'm not that familiar with codebase yet) :)

If we don’t add the snapshots to git, we can only test this locally... is that what we want?
Sent with GitHawk

@BasThomas actual snapshots are in repo. But we won't store failure diffs, since they should be picked up by CI and/or PR author for investigation :)

@BasThomas for example we have this in PR (and this should always be part of repo, ofc it doesn't make sense to store reference images locally only),
but if test will fails i will have this in Failure Diffs repo:

Ah, obviously. Nevermind me 😔

@BasThomas no worries :)

Thing is - we use them at work too. Just wasn't thinking. 😅

@rnystrom hi! I see some conflicts already, should i update PR or we're going to merge this later?

Hi, @rnystrom
Don't want to be annoying, but do we plan to have any actions on this? If so — i'll rebase, if not — probably would be nice to just close.
Thanks in advance!

Hey! Sorry this fell off my radar. Yes! Let's rebase and I'll land.

@rnystrom Thanks for response! Rebased and ready to go

Haven't seen the source for this tweet, but sounds like FBSnapshotTestCase might not be maintained any more?
https://twitter.com/amlcurran/status/933002258790387713

@Sherlouk source is here
tl;dr: Unfortunately I recently archived the project as we no longer use this internally ... I am working on a solution though to provide a better owner for it. I'll keep you posted.
So i think there is a big chance that this still will be maintained

We use this at Instagram, it's a wonderful tool for building UI w/out having to spin up the entire app. Not to mention regression testing.


how to set num_processes in multi-node training

Is it the total num of gpus or the number of gpus on a single node?
I have seen contradictory signals in the code.
https://github.com/huggingface/accelerate/blob/ee004674b9560976688e1a701b6d3650a09b2100/docs/source/usage_guides/ipex.md?plain=1#L139 https://github.com/huggingface/accelerate/blob/ee004674b9560976688e1a701b6d3650a09b2100/src/accelerate/state.py#L154
here, it seems like the total number of gpus.
https://github.com/huggingface/accelerate/blob/ee004674b9560976688e1a701b6d3650a09b2100/examples/slurm/submit_multigpu.sh#L27
here, it sees like the number of gpus per node.

It is total number of GPUs, we then reduce it by num_machines. (That SLURM example looks to be wrong possibly)

It is total number of GPUs, we then reduce it by num_machines. (That SLURM example looks to be wrong possibly)

Given 4 nodes and 8 GPUs per node, do you mean the --num_processes in the bash script should be 32 but in python code it will then be reduced to 32/4=8? Why should you reduce it?

I'm stating the launcher will reduce it. --num_processes is the total number of GPUs and assumes each node has the same number of GPUs on each. So rather than --n-proc-per-node=2 --nnodes=2 you just set --num_processes=4 + the multi-node setup in this situation.

I'm stating the launcher will reduce it. --num_processes is the total number of GPUs and assumes each node has the same number of GPUs on each. So rather than --n-proc-per-node=2 --nnodes=2 you just set --num_processes=4 + the multi-node setup in this situation.

OK, I got it. Furthermore, in the above 4 nodes and 8 GPUs per node case, how to get the global rank and world size?
I think the expected values are: global_rank $\in$ [0,31] and world_size = 32. But when I use os.environ['RANK'] and os.environ['WORLD_SIZE'], they are $\in$ [0,31] and equals 8, respectively.
Besides, the code contained in the condition if accelerator.is_main_process: would still run 4 times (1 time on each node). Are these the expected behavior?

num_processes and process_index get their information from torch.distributed.get_world_size() and torch.distributed.get_rank()
if accelerator.is_main_process should only run on the main node and its first process. is_local_main_process would be ran 4 times, one time on each node

@muellerzr sorry to piggyback on this thread, I'm running a set up with two nodes, one node has 4 gpus and the other has 1. I'd like to utilize this mixed set up, can I provide something like "--n-proc-per-node" to override the accelerate's default setting which assumes the gpus to be equal across nodes?


No MODULE found in LWC

Who is the bug affecting?
All Supervisors
What is affected by this bug?
Unable to include any LWCC chart in a LWC.
When does this occur?
Every time I attempt to deploy my LWC containing LWCC markup:
`

            <c-chart type="bar">
                <c-title text="TEST"></c-title>
                <c-legend position="bottom"></c-legend>
            </c-chart>

`
Where on the platform does it happen?
I'm attempting to deploy a component that will be shown on a Lightning App Page
How do we replicate the issue?

Install the LWCC package in a sandbox
Create a Lightning Web Component (LWC)
Add simple LWCC Markup to the LWC:
<c-chart type="bar">                  <c-title text="TEST"></c-title>                  <c-legend position="bottom"></c-legend>              </c-chart>

Expected behavior (i.e. solution)
The component should deploy to the sandbox with the LWCC markup
Other Comments
I may be missing something very simple, but I am not sure what. Please advise.

Hi @lsaggu ,
Can you please give us the exact error you get when you try to deploy your component including LWCC?
Meanwhile, some things to check:

Make sure that the package is installed correctly (you can see if it appears in Setup > Apps > Packaging > Installed Packages)
See if the problem could be related to your namespace. Enable My Domain and deploy it to the users (https://help.salesforce.com/articleView?id=sfdx_dev_reg_namespace.htm&type=5 - step 2)

Thanks !

Hi @victorgz ,
Thanks for your response. The exact error is as follows:

Hi @lsaggu ,
I've just managed to reproduce the error in a clean sandbox from my side and found the problem! I don't know why I didn't see it before.
You're using a managed packaged version (installed from the appExchange) what means, that the components belongs to a specific namespace. So instead of including them with the default namespace (c-) you need to append their specific one. In our case, the namespace is lwcc:

Just include LWCC inside your component as below:
<lwcc-chart type="bar">
        <lwcc-title text="TEST"></lwcc-title>
        <lwcc-legend position="bottom"></lwcc-legend>
 </lwcc-chart>

We know that this can be kind of confusing, as our documentation is doing reference to the open source version with the examples. We will update it to make it more clear.
Hope this works for you and thanks for reaching us !

@victorgz - I actually gave that a try, but I see the following error when trying to load the page with the component:

Attempting to reference cross-namespace module lwcc-chart in c-scheduledJobsCharts

Are you able to reproduce this? Or is there something else that I'm missing?

@lsaggu actually there's nothing that you're missing. This is a known limitation of LWC: "A custom Lightning web component can’t access a Lightning web component or module in a custom namespace."
If you're a developer, I would suggest you to clone the repository, include it inside your project and deploy the components. You can then use your custom namespace (__c by default) and you will be able to include the charts inside your LWCs. You can even have both options installed in your org: the managed packaged for the App Builder version, and the SFDX for the developer experience.
We hope that the platform will remove that limitation one day, but for now it is out of our scope. From our side, we're reviewing also the possibility to transform this managed package into unmanaged (so we wouldn't have the namespace problem anymore). But still to be reviewed and confirmed.
Thanks !

Thanks @victorgz - I'll see about cloning the repository and using the regular namespace. I appreciate you looking into this for me.

"we're reviewing also the possibility to transform this managed package into unmanaged"
That would be very much appreciated! Or split this module in two -- a managed side for the Admin LWCC and an unmanaged for custom dev.

you're right @matthewglong and you actually can have the unmanaged source, you just have to deploy force-app/main/default


Add Service container name into the hostname for the container

Currently, when containers are scaled within a service, Rancher creates a name for this by generating a name "".  Unfortunately, this is not propagated down to inside the container where it can become useful for certain apps.
#1431 will eventually solve this by providing this info, but we can also consider adding a label to specify whether to automatically have rancher add the "--hostname" of the container name generated.  If this label is specified, it overrules any other --hostname requests.

We shouldn't set environment variables.  Why do we need this?

There is a use case (@will-chan has more details on that) when service container needs to know its own name; and it should be able to figure it out from within the container (so just setting up the label won't be a solution). Metadata service would be able to solve it properly, so I believe this is the temporary workaround.

I agree, :-1: on setting arbitrary environment vars for one of a hundred things you might want from metadata.  Can't we just finish the packaging and json generation for the metadata service?

Instead of setting up the env vars, we are going to override container.hostname with container.name if following label is defined:
io.rancher.container.hostname_override=container_name

Tested with server version - v0.32.0-rc1
When I use  label to deploy containers using labels -  "io.rancher.container.hostname_override: container_name" , hostname of the container is set to the "stack_name_servicename_n" format.
I also see env variable HOSTNAME being set.

@sangeethah it has always been set. I've just checked on the branch that doesn't have my fix, whenever host name is being set for a container, it appears in env vars.

@alena1108 , Thanks for the confirmation.
I also see this env set to container_id when io.rancher.container.hostname_override=container_name label is not specified.


Enhancement: Extend pp environment get to get default environment

Right now we can list all Power Platform environments or get an environment by name, but it could be useful if we could just get the default environment.
We could introduce a new flag for the pp environment get command called --default to get the default environment.
Options to update:

Option
Description

-n, --name [name]
The name of the environment. Specify either name or default.

--default
Get the default environment. Specify either name or default.

To achieve this, it seems like we should filter on this property:

Great suggestion! What if specifying the name was optional and when not specified, we'd return the default environment, without introducing the --default flag?

Great suggestion! What if specifying the name was optional and when not specified, we'd return the default environment, without introducing the --default flag?

Sounds like a good idea as well, I like it!

Updated the spec, thank you for the feedback!

Can I work on this?

Sure @nanddeepn! Thanks again!


Links to release notes do not all work

Links to release notes in the Available Azure CLI extensions autogenerated document takes the reader to the Azure/azure-cli-extensions code page.  Example links are for aem and alias.  If we don't have release notes, then there should be no link.  What information are we expecting the reader to obtain from the top-level code page?

@kairu-ms to help with

@dbradish @kairu-ms
Adding to that: I think you do actually have release notes for az ml: https://docs.microsoft.com/en-us/azure/machine-learning/azure-machine-learning-release-notes-cli-v2.

@gro1m, I'm not following how release notes for az ml pertains to the autogenerated extensions page which takes readers to the top-level code page for other modules.  However, following your ML link above, I'm getting a 404 from the Available Azure CLI extensions page.
https://github.com/Azure/azure-cli-extensions/tree/main/src/machinelearningservices

@dbradish-microsoft This link should work:
https://docs.microsoft.com/en-us/azure/machine-learning/azure-machine-learning-release-notes-cli-v2
Should be the same as above :) But it is not the broken link published on the Available Azure CLI extensions page.

@kairu-ms , do you need more information for this, or how can I help?

@gro1m, I'm not following how release notes for az ml pertains to the autogenerated extensions page which takes readers to the top-level code page for other modules. However, following your ML link above, I'm getting a 404 from the Available Azure CLI extensions page.
https://github.com/Azure/azure-cli-extensions/tree/main/src/machinelearningservices

Hi @dbradish-microsoft, ml is owned by service team and the project url is not correct in index.json.

@dbradish-microsoft, we will fix the project_urls in index.json.

@kairu-ms , a side observation:  I'm seeing 793 instances of Home URLs calling the /master/ branch in azure-cli-extensions.  In testing one such URL, these seem to be redirecting okay to main.  Example: https://github.com/Azure/azure-cli-extensions/tree/master/src/account.

@kairu-ms , a side observation: I'm seeing 793 instances of Home URLs calling the /master/ branch in azure-cli-extensions. In testing one such URL, these seem to be redirecting okay to main. Example: https://github.com/Azure/azure-cli-extensions/tree/master/src/account.

Hi @dbradish-microsoft, That's because these links are generated before we rename master by main.


Add Vagrantfile

To more easily reproduce the dev environment, a Vagrantfile has been added.

I had originally hoped to get Travis using the same provisioning script, but I don't particularly feel like fighting Travis today and I don't think it's critical.
This gets us to the point where we can say 'vagrant up', and then ssh into a working environment.


Add missing :on keys to queries with joins

It's mostly a no-op when it comes to features, etc. – but it eliminates these annoying warnings that get in the way of important mix test outputs (tests breaking with insightful information).
Before this patch, mix test looks like this:
$ mix test
.........................warning: missing `:on` in join, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:307: Ecto.Adapters.SQLite3.ConnectionTest."test parent binding subquery and CTE"/1

warning: missing `:on` in join on Ecto.Adapters.SQLite3.ConnectionTest.Schema2, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:1412: Ecto.Adapters.SQLite3.ConnectionTest."test join with hints"/1

warning: missing `:on` in join, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:1478: Ecto.Adapters.SQLite3.ConnectionTest."test join with subquery"/1

warning: missing `:on` in join, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:1515: Ecto.Adapters.SQLite3.ConnectionTest."test join with fragment"/1

warning: missing `:on` in join, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:1548: Ecto.Adapters.SQLite3.ConnectionTest."test join with query interpolation"/1

warning: missing `:on` in join, defaulting to `on: true`.
  test/ecto/adapters/sqlite3/connection_test.exs:1557: Ecto.Adapters.SQLite3.ConnectionTest."test lateral join with fragment"/1

.............................................................................................................................................................................................................
Finished in 1.4 seconds (1.3s async, 0.09s sync)
230 tests, 0 failures

Randomized with seed 200492

After this patch:
$ mix test
......................................................................................................................................................................................................................................
Finished in 1.0 seconds (0.9s async, 0.1s sync)
230 tests, 0 failures

Randomized with seed 89209

@joeljuca I was comparing these tests to what is in the postgres adapter and what you changed to is roughly what they do. So I just merged this and am cleaning up some tests now.


Call to protected method xxx()

class Foo
{
    protected function bar()
    {
        echo 'bar';
    }
}

$mock = \Mockery::mock(Foo::class);
$mock
    ->shouldAllowMockingProtectedMethods()
    ->makePartial();

$mock->bar();

Call to protected method bar()

phpstan/phpstan v0.12.25
phpstan/phpstan-mockery v0.12.5

Still an open issue on phpstan/phpstan 2.0.3 and phpstan/phpstan-mockery 2.0.0. 😊


Added parser for openvpn status logs

References #43. As of now, the basic parser code has been written. This code is to be tested properly with appropriate test cases. We've decided to use the package openvpn-status for the logic behind parsing openvpn logs.
To Dos:

[ ] Debug the code testing it with many test data
[ ] Develop an extensive test suite.
[ ] Think about adding the server IP.

Coverage decreased (-7.3%) to 92.677% when pulling ad7d94ed6bd2c2356d8e6eb01037b333b4d4dbc7 on rohithasrk:openvpn into 90e5eaca5e6df77004a2ee60c352d8fc79ca3707 on ninuxorg:master.

Oops! A wrong rebase.

Coverage decreased (-7.3%) to 92.677% when pulling 55ed0dec38869d14d2717cd24305a6b128c60eb4 on rohithasrk:openvpn into 90e5eaca5e6df77004a2ee60c352d8fc79ca3707 on ninuxorg:master.

Coverage decreased (-7.7%) to 92.255% when pulling bcda31e3532caa3b2fce7ebf6798070861608e2b on rohithasrk:openvpn into 90e5eaca5e6df77004a2ee60c352d8fc79ca3707 on ninuxorg:master.

Coverage decreased (-1.8%) to 98.178% when pulling 908a7c3eb3d99c454f1e18723e607fc2007739c4 on rohithasrk:openvpn into 90e5eaca5e6df77004a2ee60c352d8fc79ca3707 on ninuxorg:master.

Coverage decreased (-0.9%) to 99.089% when pulling c806817b9f78a21e18ff1df278e4506cb9170c2c on rohithasrk:openvpn into 90e5eaca5e6df77004a2ee60c352d8fc79ca3707 on ninuxorg:master.

Thanks @rohithasrk, merged your commit in PR #47


Missing pyupgrade errors (UP006, UP035)

Hi, I seem to be missing pyupgrade errors for Python 3.11 and Ruff 0.1.5. Reproduce w/ ruff --isolated --select UP file.py on a fresh venv. This is all from the CLI, no pyproject.toml.
# file.py
from typing import Type

foo = Type[list]

I ❤ ruff, thanks in advance for any help!

Thank you for the kind words!
I think this is a result of https://github.com/astral-sh/ruff/issues/3215 -- we stopped rewriting annotations that are used at runtime (roughly, on the right-hand side of an expression) because it can change behavior. https://github.com/astral-sh/ruff/issues/4843 has some more information. I think we actually can rewrite these in some but not all scenarios. In other words, our current approach is probably too conservative.

I think you should write this as a type alias:
foo: TypeAlias = Type[list]

And then would it be possible for Ruff to make the transformation?

Aside from the issues with autofix, is there a reason not to provide the deprecation inspection?

The only reason is to ensure we're not introducing false positives. So it'd be nice to make sure we have a sense for where this is and isn't safe prior to enabling the check for runtime annotations.

Oh hmm, I'm actually noticing that if your Python version is set correctly, we do flag and fix this: https://play.ruff.rs/526e6c64-b8da-4cd5-8dcd-68ee71a6f886
Do you have your --target-version configured to Python 3.11?

@charliermarsh No, I did not! Should have had that in my config (actually, should just up my project.requires-python) 😮 Adding this option gives me the pyupgrade errors - feel free to close, if you're ready 👍

Awesome, thanks @rademacher-p! Sorry for the confusion but glad to resolve.


Request path contains unescaped characters

Request path contains unescaped characters
bash-3.2$ curl -X GET "http://httpbin.org/get?str=你好" -H "accept: application/json"
{
  "args": {
    "str": "\u4f60\u597d"
  },
  "headers": {
    "Accept": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.54.0"
  },
  "origin": "<IP_ADDRESS>, <IP_ADDRESS>",
  "url": "https://httpbin.org/get?str=\u4f60\u597d"
}

var request = require('request');

var headers = {
    'accept': 'application/json'
};

var options = {
    url: 'http://httpbin.org/get?str=你好',
    headers: headers
};

function callback(error, response, body) {
    console.log('error', error) // Request path contains unescaped characters
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

In a similar vein,
curl "http://localhost:28139/get?str=你好"

sends
GET /get?str=你好 HTTP/1.1
Host: localhost:28139
User-Agent: curl/7.83.1
Accept: */*

but the corresponding Python program
import requests

response = requests.get('http://localhost:28139/get?str=你好')

will escape the characters in the URL
GET /get?str=%E4%BD%A0%E5%A5%BD HTTP/1.1
Host: localhost:28139
User-Agent: python-requests/2.28.0
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive

Seems like the solution is just
var options = {
    url: encodeURI('http://httpbin.org/get?str=你好'),
};


vcs: fix free resources of simulation

Fixed an issue with incomplete memory deallocation when exiting the program，and release the list file correctly when using the workload list

Wrap these finish functions into simv_finish, corresponding to simv_init.
By the way, fclose workload list can be also fixed in this PR？The title may be changed to vcs : free resources of simulation?

Wrap these finish functions into simv_finish, corresponding to simv_init. By the way, fclose workload list can be also fixed in this PR？The title may be changed to vcs : free resources of simulation?

Look at the static FILE* variable you used earlier. It's initialized only once, and you don't open a new file handle every time you call the function, so you don't need to change it

Wrap these finish functions into simv_finish, corresponding to simv_init. By the way, fclose workload list can be also fixed in this PR？The title may be changed to vcs : free resources of simulation?

Look at the static FILE* variable you used earlier. It's initialized only once, and you don't open a new file handle every time you call the function, so you don't need to change it

For safety we still need to free the file handle at the end of the program. You don't need to free it in simv_finish（）, but in switch_workload（）

https://github.com/OpenXiangShan/difftest/blob/bb991c9ee083c4e229c78cf1d4f2819f574c3852/src/test/csrc/verilator/emu.cpp#L503

https://github.com/OpenXiangShan/difftest/blob/bb991c9ee083c4e229c78cf1d4f2819f574c3852/src/test/csrc/verilator/emu.cpp#L503

Click the link to see detail code. After delete, we should set it to nullptr.

Try it in palladium with large size workload-list to test memory deallocation. Then I have no more problem.

Try it in palladium with large size workload-list to test memory deallocation. Then I have no more problem.

ok, I tested a set of workload-lists on palladium with runtime memory usage ranging from 6G to 16G without leaking memory


2.x Remove backwards compatibility for non-namespaced class names

Ticket: https://github.com/timber/timber/issues/1580#issuecomment-360980331
Issue
Since namespaced classes were introduced in 1.x, we’re trying to promote the use of the namespaced classes. Until now, there was backwards compatibility through class aliases. Version 2.x would be a good moment to ditch this.
However, one alias would make sense for ease-of-use: Timber as an alias for Timber\Timber. This is useful because we won’t have to write Timber\Timber::render(), but can still use Timber::render().
Solution

Remove method Timber::backwards_compatibility(). Move alias for Timber\Timber to Timber::init().
Remove class aliases for Timber\PostCollection.

Impact
There will be fatal errors for developers who use non-namespaced class names in PHP. A section in the upgrade guide that will be added in a separate pull request can help.
Testing
I ran tests and removed TestTimberPostCollection::testBackwards(), because there’s no backwards compatibility anymore.

Indeed, it's au revoir to some old friends. To the future! (but still with Timber::render)


feat: add button to jump to next & pre page in AppScaffold (resolve #28)

What did this PR do (In English)
add button to jump to next & pre page in AppScaffold (resolve #28)
Screenshots (if contains)
https://honeyworks-info-git-lyh543-prev-page-button-haniwawiki.vercel.app/info/characters/1001

https://honeyworks-info-git-lyh543-prev-page-button-haniwawiki.vercel.app/info/character-cards/1001001

https://honeyworks-info-git-lyh543-prev-page-button-haniwawiki.vercel.app/info/music-parts/1001011

https://honeyworks-info-git-lyh543-prev-page-button-haniwawiki.vercel.app/info/gachas/22014102

this PR also format all imports  (from ../../../components to @/components), so the changed lines count is too big.
Next time I will split the reformat into anthoer PR (if there is any 'next time').

@mikuchu @Yamamoto-2 @xique233
Even you don't know how to write Vue, you can try the new feature by clicking the link provided in PR description🚀, and discussing about the features here, like:

is there any bugs?
is there any possible improvements?


Best Buy Search Bar

#Search Bar
Replace the screenshot with a working search bar
searchbar

Resolved with working searchbar component


HDDS-6560. add general Grafana dashboard

What changes were proposed in this pull request?
New Grafana dashboard template.

Support more Envs. Need to have the component label.

More dimensions of metrics.

Support HA situation.

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6560
How was this patch tested?
manual test

To manually test it, copy the json content into grafana or

LGTM

Thanks @kerneltime for the review.


feat: add load image addon

This is one of two proposals to add image loading to KTF, broken out of #149. It is mutually exclusive with https://github.com/Kong/kubernetes-testing-framework/pull/152. Only one of the two should be merged.
This approach provides a plugin for loading images following the standard KTF plugin pattern. Building a cluster that includes this plugin will attempt to load an image and report a failure if that is not possible or if that is unsuccessful.
This addition lacks tests because KIND will not (contrary to my earlier expectations) load an image not already present on the host machine. We'd need to run docker pull or similar to ensure the requested image is available locally, and I'm loathe to screw around with that. My original test code is available at https://gist.github.com/rainest/079d07206913398acf65371703cecf0d
Pro/con evaluation
The argument against this approach is that we should not add cluster addons unless they are universally available on all clusters types.
I am in favor of this option:

I don't see an obvious reason to impose this restriction so long as we can provide feedback indicating that an addon is unavailable. While this case deals with cluster types, it seems reasonable that we'd extend the same paradigm to cluster versions (e.g. a GWAPI addon would not be available on 1.16, but would be available on {future version}). Addons are by definition not mandatory, and users can always simply not include them if they are unavailable on the desired cluster type.
Using the addon pattern allows us to establish a standard means of requesting an addon reporting availability that works regardless of your target cluster. We currently return an error in Deploy() for unavailability. Code that utilizes these is cluster agnostic: you always call WithAddons(<instance>), which always reports any failures when calling Build(). If you have multiple cluster types that support an addon set, swapping out the cluster type only requires calling a different package's New() function and passing the resulting Cluster downstream. If you go with #152's approach, any test that requires a non-universal plugin must be written for the specific target cluster type.
In this specific case, loading images is not strictly specific to KIND. Although we don't yet provide a Minikube Cluster implementation, it supports an almost identical command. Loading images into GKE arguably isn't impossible, it's just much more complicated (you'd need to ensure GCR is enabled, push an image to it, and provide the new GCR image name to the user) and not something I needed for now.
Although I can't think of an example offhand, it seems reasonable that we may create addons that have partial support for some clusters, and the Build() -> Deploy() -> succeed or fail based on availability paradigm seems like it'd handle this easily.

We should look at more robust means of handling support indications if we think Deploy() failures are insufficient, but I think having a generic interface for attempting to load addons is far preferable to having separate paradigms for similar tasks (enabling functionality not exposed by the base Cluster functions), one of which is incapable of sharing both implementation and user-written test code.

thinking more about this over the morning it seems like having a cluster-deployed registry option could solve this problem reasonably well, and has the following benefits over this implementation:

would work on every type of cluster with a single implementation
makes the source of the image must less dependent on a local docker installation
is already an active feature request in #149

Let me know your thoughts?

Re https://github.com/Kong/kubernetes-testing-framework/pull/151#issuecomment-971699443 tl;dr nah, use this still and add a push to GCR option if you want the same on GKE later. The experience for the test client is the same, and it's simpler and more standard.
Accessing images currently in the local Docker instance is the point here: if the Docker image was already published, you wouldn't need to load the image at all; you'd just provide the public URL of the image. This isn't a problem for the intended use case (you don't use this unless you have an image you haven't published), it's only a problem for running tests: in CI, you need to build the image before you can push it. Using an alternative private registry doesn't remove the requirement that you push images to the registry in advance.
Building and pushing is the responsibility of the test client, since you're (presumably) using this to test against an unpublished version of the application you're using KTF to test (KIC). I didn't set that up for https://github.com/Kong/kubernetes-ingress-controller/pull/2005 since running the test locally against the development version seemed sufficient before those tests would normally run (after a tag push builds an image and a version with these changes is publicly available). I think having KIC CI build the image and run E2E against it would be useful, but it's something we don't strictly need immediately and the development time to add that also given that the goal here is to work around issues using the integration tests (no established paradigm of running differently-configured clusters during the same test run) or unit tests (nigh impossible here) for this.
The system mentioned in #147 is KIND's local registry option. That relies on the registry and cluster running on the same host, with Docker network assistance to expose one to the other. It wouldn't work in other contexts without a lot of hackery. Cluster-deployed registries that the cluster then pulls from aren't impossible, but there doesn't appear to be a well-established practice around doing it, just several blog articles that indicate it's doable. Given the amount of setup involved though, I'm not convinced that it's valuable--the end goal is the same, and for hosted clusters it's almost certainly going to be easier to just push to the standard hosted registry for that provider. This maybe goes back to the philosophical dispute we have over how this should be used, but IMO heterogeneous environments are a fact of life in IT and we should contend with that reality; you don't get everything working the same way universally unless you're in physics instead.


Make function remove_members_from_group() in Group class for removing given members from whatsapp group.

Automate removing given member from a given group.
See this two functions
Just use _open_group_members_list() to open list of group members as did in function make_group_admins()
Then just copy and make some changes to that function  make_group_admins() to make remove_members_from_group()

Leave it to me, I have some experiences with selenium and bots for whatsapp. In return can you help me complete the hacktoberfest challenge? It is a personal achievement for me.


[Enhancement] Ability to control scale of "shrinking" rider

I like the ability to shrink the rider of a mount, but the shrinking is almost too much sometimes, relative to the token. It would be great to be able to control the rate of shrinking (a percentage of the token's size or something) so mounted characters don't look tiny on their mounts.

I will add a slider for the scaling.

I have added the world setting Adjusted rider size factor with v2.16.3. Foundry however only allows certain sizes for tokens, so for 1x1 tokens there is only a very limited amount of possible choices for the size ( i think it's basically only 1 or 0.5 of the original size).


Imported _.scss files are not watched through base file

global.scss:
@import "./global-nav";
_global-nav.scss when edited doesn't create updated global-css.js

Do you have an idea what the fix would be? If so, feel fee to submit a PR.


Only allow on april 1st

Check the current day before initializing the chaos.

I have tried to add this with my pull request :)

Hehe I can't wait to see what this has become next year 😂😂


Use version_assertion_command with tag-version-commit action

This moves the version check (git tag vs Python module version) from the publish job to the tag job, using the new version_assertion_command input for the tag-version-commit action.

Test: https://github.com/christophebedard/dco-check/runs/1047908227?check_suite_focus=true#step:3:1

Run christophebedard/tag-version-commit@v1
with:
token: ***
version_assertion_command: python3 -c "import dco_check; assert dco_check.version == "$version", "git tag and dco_check version do not match""
version_regex: ^[0-9]+.[0-9]+.[0-9]+$
annotated: false
dry_run: false
/bin/bash -c python3 -c "import dco_check; assert dco_check.version == "0.0.11", "git tag and dco_check version do not match""
Traceback (most recent call last):
File "", line 1, in
AssertionError: git tag and dco_check version do not match
##[error]Version assertion failed. Double check the version: 0.0.11

The module version was still 0.0.10 but the commit was 0.0.11, so it failed


Run this program in "Intellij idea" ，There will be problems  : Cause: java.lang.IllegalStateException: Cannot enable lazy loading because Javassist is not available. Add Javassist to your classpath

Try adding the following dependencies to your test module's pom.xml.

ognl
ognl
3.2.10

org.javassist
javassist
3.24.1-GA

and wen need install “maven plugin” in idea

I meet the problem same as you,I changed the scope to compile for this jar in pom.xml.
The problem is solved！！


Non spec compliance

Using 'abc'.split(''), this value is given:
["a", "b", "c"]

But when using splitOnFirst('abc', ''), this expected result was not given:
["a", "bc"]

Instead, the value was:
["abc"]

I don't like the magic behavior of '' for the built-in .split() and it doesn't really make sense here as it's meant to split a string into an array, but I also don't know why I went with ['abc']. I think it should just return an empty array in this case, and the behavior clearly documented.

@sindresorhus I've just opened #8.

Now I remember why I went with the current behavior:
❯ node
> 'foo'.split('abc')
[ 'foo' ]