Use Activity Streams API for GNU Social

We had a lot of discussions on why "Twitter Compatible API" is bad and doesn't support federative nature of the GNU Social.
See https://loadaverage.org/conversation/7583424 and https://loadaverage.org/conversation/7740640#notice-7982542
Meanwhile:

GNU Social declares support of Activity Streams in Atompub and JSON formats. See https://gnusocial.net/doc/api
The Activity Streams format specification ( JSON format !) got a follow up, which we may become confirming to in order to ease integration with other systems: https://www.w3.org/TR/activitystreams-core/

It looks like no GNU Social client application uses Activity Streams JSON format to connect to GNU Social yet. So maybe this doesn't work at all now, or is implemented wrong...
Anyway we should try, uncover what is good and what should be done by GNU Social developers to allow AndStatus migration from "Twitter compatible API" to "Activity Streams".

One problem with the current JSON activity stream support in GNU Social is that it doesn't have an equivalent of <atom:link rel="mentioned" href="uri_of_user_profile">. This is how the XML ATOM feed communicates who should be tagged in in a reply-all.

Also, I don't believe ActivityStreams 2.0 is supported by GNU Social. That standard is still very much under development by the W3C Social WG.
For the short term solution it may be better to, as you said, figure out what would be needed to support AndStatus. I get the feeling looking at the existing code that the use cases considered are mostly GS Classic and Qvitter, both of which can be assumed to operate with permanent and reasonably fast internet access. AndStatus and other mobile clients cannot make that assumption.

I've been reading the code of GNU Social and it looks like it does pass the information needed to reconstruct the mentions, just not where I initially looked for it. The to key of an item contains a list like:
      "to": [
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://community.highlandarrow.com/user/500"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://social.umeahackerspace.se/user/2"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://loadaverage.org/user/339282"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/collection",
          "id": "http://activityschema.org/collection/public"
        }
      ],

Together with the sender of the message the persons in that list seem to be the ones who should be mentioned. I believe groups can be in the list as well. This still leaves a need to correlate uri's with account names, but at least the raw info is there.

For reference here's an activity stream file with single but modestly complex entry:
{
  "generator": "GNU social 1.2.0-beta4",
  "title": "verius and friends",
  "totalItems": 20,
  "items": [
    {
      "actor": {
        "id": "https://loadaverage.org/user/5263",
        "displayName": "AndStatus",
        "status_net": {
          "avatarLinks": [
            {
              "url": "https://community.highlandarrow.com/avatar/501-original-20160301063016.png",
              "rel": "avatar",
              "type": "image/png",
              "width": 96,
              "height": 96
            },
            {
              "url": "https://community.highlandarrow.com/avatar/501-original-20160301063016.png",
              "rel": "avatar",
              "type": "image/png",
              "width": 96,
              "height": 96
            },
            {
              "url": "https://community.highlandarrow.com/avatar/501-48-20160301070109.png",
              "rel": "avatar",
              "type": "image/png",
              "width": 48,
              "height": 48
            },
            {
              "url": "https://community.highlandarrow.com/avatar/501-24-20160301170752.png",
              "rel": "avatar",
              "type": "image/png",
              "width": 24,
              "height": 24
            }
          ],
          "profile_info": {
            "local_id": "501"
          }
        },
        "image": {
          "url": "https://community.highlandarrow.com/avatar/501-original-20160301063016.png",
          "rel": "avatar",
          "type": "image/png",
          "width": 96,
          "height": 96
        },
        "objectType": "person",
        "summary": "This is the main posting account of AndStatus - an Open Source low traffic social networking client for Android with tree-like threaded conversations. It supports multiple protocols, including GNU social (\"StatusNet\". e.g. Quitter, LoadAverage, Vinilox, etc.), Twitter and Pump.io. AndStatus can combine your accounts from all networks into one Timeline, and it allows you to read and post even when you are offline.",
        "url": "https://loadaverage.org/andstatus",
        "location": {
          "objectType": "place",
          "position": "+25.09538+55.16171/",
          "lat": "25.09538",
          "lon": "55.16171"
        },
        "portablecontacts_net": {
          "preferredUsername": "andstatus",
          "displayName": "AndStatus",
          "note": "This is the main posting account of AndStatus - an Open Source low traffic social networking client for Android with tree-like threaded conversations. It supports multiple protocols, including GNU social (\"StatusNet\". e.g. Quitter, LoadAverage, Vinilox, etc.), Twitter and Pump.io. AndStatus can combine your accounts from all networks into one Timeline, and it allows you to read and post even when you are offline.",
          "addresses": {
            "formatted": "Internet"
          },
          "urls": [
            {
              "type": "homepage",
              "value": "https://github.com/andstatus/andstatus/wiki",
              "primary": "true"
            }
          ]
        }
      },
      "content": "@verius Thank you for investigation, could you for transparency and deeper analysis post the json file (in Activity Streams format) under discussion to this new ticket:
https://github.com/andstatus/andstatus/issues/359 \"Use Activity Streams API for GNU Social\" - I created it for us in order to have a common place for discussion and stop going in circles with the same questions...

 @mmn",
      "generator": {
        "id": "tag:status.net,2009:notice-source:ostatus",
        "objectType": "application",
        "status_net": {
          "source_code": "ostatus"
        }
      },
      "id": "tag:loadaverage.org,2016-04-30:noticeId=7985640:objectType=comment",
      "object": {
        "id": "tag:loadaverage.org,2016-04-30:noticeId=7985640:objectType=comment",
        "objectType": "comment",
        "content": "@verius Thank you for investigation, could you for transparency and deeper analysis post the json file (in Activity Streams format) under discussion to this new ticket:
https://github.com/andstatus/andstatus/issues/359 \"Use Activity Streams API for GNU Social\" - I created it for us in order to have a common place for discussion and stop going in circles with the same questions...

 @mmn",
        "url": "https://loadaverage.org/notice/7985640",
        "status_net": {
          "notice_id": 101888
        },
        "inReplyTo": {
          "objectType": "note",
          "id": "tag:community.highlandarrow.com,2016-04-30:noticeId=101854:objectType=note",
          "url": "https://community.highlandarrow.com/notice/101854"
        }
      },
      "location": {
        "objectType": "place",
        "position": "+25.09538+55.16171/",
        "lat": "25.0953800",
        "lon": "55.1617100"
      },
      "to": [
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://community.highlandarrow.com/user/500"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://social.umeahackerspace.se/user/2"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/person",
          "id": "https://loadaverage.org/user/339282"
        },
        {
          "objectType": "http://activitystrea.ms/schema/1.0/collection",
          "id": "http://activityschema.org/collection/public"
        }
      ],
      "status_net": {
        "conversation": "tag:gs.kawa-kun.com,2016-04-28:objectType=thread:nonce=812f03a7bf6a375a",
        "notice_info": {
          "local_id": "101888",
          "source": "ostatus"
        }
      },
      "published": "2016-04-30T10:02:03+00:00",
      "provider": {
        "objectType": "service",
        "displayName": "Highland Arrow Community",
        "url": "https://community.highlandarrow.com/"
      },
      "verb": "post",
      "url": "https://loadaverage.org/notice/7985640"
    }
  ]
}

@VeriusLambda See my comments/questions:

What exactly URL did you use to get that response , and how did you authenticate to get it? - I want to capture the whole file (the whole conversation, if it's possible...) for the test case of our future implementation. I suppose you got it from your instance "provider/service" https://community.highlandarrow.com/ ?!
I will try to request the same conversation from several other instances in order to understand if we can really identify the same users and messages looking at different instances. But I expect that there will be differences in a number of users/messages, visible from different hosts...

Regarding implementation:

I think we should implement this as ONE "GNU Social federation" Social Network for all possible accounts on different hosts (just like Pump.io is implemented). Thus we will avoid any duplicated users and messages, no matter from which GNU Social instance they were downloaded.

Unlike Pump.io implementation in AndStatus we (possibly) will need to include additional configuration information for each host, when we have GNU Social account (because de facto today different GNU Social hosts are configured differently...). Or actually configuration is the same and WebfingerId like<EMAIL_ADDRESS>plus user's password give all information needed to connect to that host?

PS: I will not have access to my development PC and will not have reliable Internet for the next 10 days...

URL: If you have a GNU Social instance you can click on the classic
interface. On the right hand side under feeds there's a link activity
streams. For me it was
https://community.highlandarrow.com/api/statuses/friends_timeline/verius.as
Configuration: In theory that's what webfinger is for. E.g.
<EMAIL_ADDRESS>I would say that the webfinger should point to enough information to get
you to a point where you can connect to an account. However I'm not sure
yet if it actually does. Will do some digging in that part of the GS
codebase.
On Sat, Apr 30, 2016 at 3:16 PM, Yuri Volkov<EMAIL_ADDRESS>wrote:

@VeriusLambda https://github.com/VeriusLambda See my comments/questions:

What exactly URL did you use to get that response , and how did you
authenticate to get it? - I want to capture the whole file (the whole
conversation, if it's possible...) for the test case of our future
implementation. I suppose you got it from your instance "provider/service"
https://community.highlandarrow.com/ ?! I will try to request the same
conversation from several other instances in order to understand if we can
really identify the same users and messages looking at different instances.
But I expect that there will be differences in a number of users/messages,
visible from different hosts...

Regarding implementation:

I think we should implement this as ONE "GNU Social federation" Social
Network for all possible accounts on different hosts (just like Pump.io is
implemented). Thus we will avoid any duplicated users and messages, no
matter from which GNU Social instance they were downloaded.
2.
Unlike Pump.io implementation in AndStatus we (possibly) will need to
include additional configuration information for each host, when we have
GNU Social account (because de facto today different GNU Social hosts are
configured differently...). Or actually configuration is the same and
WebfingerId like<EMAIL_ADDRESS>plus user's password give
all information needed to connect to that host?
PS: I will not have access to my development PC and will not have reliable
Internet for the next 10 days...
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/andstatus/andstatus/issues/378#issuecomment-215962590

Aha, got it. Do you know how to retrieve the whole Conversation?
See my notes on conversations https://github.com/andstatus/andstatus/issues/328

It seems the activity streams output doesn't have that, even though the atom does. For example https://community.highlandarrow.com/api/statuses/friends_timeline/verius.atom has as child of an entry tag <ostatus:conversation href="https://community.highlandarrow.com/conversation/43587" local_id="43587" ref="tag:gs.kawa-kun.com,2016-04-28:objectType=thread:nonce=812f03a7bf6a375a">tag:gs.kawa-kun.com,2016-04-28:objectType=thread:nonce=812f03a7bf6a375a</ostatus:conversation>
Unfortunately that href goes to the HTML version, not to the JSON. Still, it means GNU Social has the information needed, it just doesn't pass it on to the client.

Now, three years later, we started implementing "client to server" ActivityPub protocol in AndStatus. See #499 That will be the new protocol to connect to GNU Social nodes some day, I hope.


Add more Scanner CloudFormation stack Outputs

The AWS CloudFormation Scanner stack does not output the following ARNs for resources it creates which would be really useful to have as outputs:
ScannerQueueDLQ
ScannerDeadLetterLambda
ScannerQueue
ScannerLogGroup
ScannerDeadLetterLogGroup
This change will output the above resources ARNs.
Have tested the changes in my own AWS account:

The code itself LGTM, but I don't know if there are any implications on adding these additional outputs... any comments @jack-c-tang ?

Hi @tdbj4h, thank you for the enhancement request. The templates in the repository are for reviewing, so changes done here won't have effect on actual deployment. I'll bring back this PR to team for discussing it.
For the output data you list I have some questions:

Why would you need ScannerDeadLetterLambda and ScannerQueue ARN? They are supposed to be used internally, so I'm a bit not in favor of output them.
For log group ARN, AFAIK most use cases require log group name instead of log group ARN. Is there any case that need to use the ARN?

Hi @tdbj4h, thank you for the enhancement request. The templates in the repository are for reviewing, so changes done here won't have effect on actual deployment. I'll bring back this PR to team for discussing it.
For the output data you list I have some questions:

Why would you need ScannerDeadLetterLambda and ScannerQueue ARN through the outputs? They are supposed to be used internally, so I'm a bit not in favor of output them.
For log group ARN, AFAIK most use cases require log group name instead of log group ARN. Is there any case that need to use the ARN?

For the ScannerQueue I see a use case since we can use it to trigger new files to scan, just like the Full Scan Plugin does, actually one thing that I'm working on is to have a single template that combines a FSS template deployment and the Full Scan Plugin all together so the ScannerQueue ARN will actually help. I leave it for @tdbj4h or anybody that want to jump in for the other ones...

Hi all, thanks for taking time to review this!
To answer the first point around why we want the Scanner Queue and the Scanner Dead Letter - we would like to do queue depth monitoring on the scanner queue. In the page https://cloudone.trendmicro.com/docs/file-storage-security/faq/ it states to use the queue depth to monitor perform -

The reason for the Scanner Dead Letter function ARN was purely just to capture as much output as possible from the proposed change. I'd be happy to remove that.
To answer the question around the use of ARNs rather than a resource name, I thought it would be beneficial to follow how the existing template works which almost exclusively outputs ARNs rather than names. As suggested, we actually want the Log Group name, not the ARN but wanted to work with how it's already been done - I'd be happy to update the PR with the Log Group name output rather than the ARN as our end goal is to get the name of the Log Group.
Let me know if you'd like me to do any of the above changes!

@tdbj4h thank you for the suggestion. I'll create a case on our end to publish the templates to S3 and this repository at once. That would include ScannerQueue ARN and log group names (because most of the CW operations need it instead of ARN). We'll also review if we can add more outputs to the storage stack.

Hey @jack-c-tang, any updates?

Hi @felipecosta09 @tdbj4h,
The updated version added more information to the CF output has since publish. You could find the change in https://github.com/trendmicro/cloudone-filestorage-deployment-templates/pull/98.

Thanks @andrew-c-lee should we close this PR then?
Any other comments @tdbj4h ?

Fixed in #98


A Soil Profile Feature

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 [...]
A farmer or anyone interested in the field of agriculture should have the knowledge about the soil on which crops are to be grown. The wrong methods if applied on a particular type of soil may lead to soil degradation as well as poor crop yield and quality.
Describe the solution you'd like
A clear and concise description of what you want to happen.
A blog section about the different types of soil would be a great addition to the website to give the basic idea of the importance of checking the soil type.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
A resource library link to the resources for further understanding would enable the users to study more on the topic.
Additional context
Add any other context or screenshots about the feature request here.
What problem is this feature trying to solve?

Hi @Suchitra-Sahoo
I would like to work on this issue as it would be a great addition to the website. It would be great if this issue is assigned to me.
This is for GSSoC'24 contribution.


mbedtls error after waking up the IOS device

Hello!
I launch the application on the iPad (IOS 12.5 14.4), the data update is up and running.
I close the screen with a cover, wait a few seconds and open it.
I get slashing errors:
08:47:12.548292| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_fetch_input() returned -76 (-0x004c)
08:47:12.548908| [TLS] ERROR: mbedTLS(C): ssl_get_next_record() returned -76 (-0x004c)
08:47:12.549000| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_read_record() returned -76 (-0x004c)
08:47:12.549116| [WS] WARNING: ClientSocket got POSIX error 5 "Input/output error"
08:47:12.632570| [WS]: {BuiltInWebSocket#32}==> litecore::websocket::BuiltInWebSocket wss://mycouchbase/_blipsync @0x112eb0f78
08:47:12.632763| [WS] ERROR: {BuiltInWebSocket#32} Unexpected or unclean socket disconnect! (reason=errno 5)
08:47:12.647681| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_flush_output() returned -80 (-0x0050)
08:47:12.647868| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_write_record() returned -80 (-0x0050)
08:47:12.647985| [WS] WARNING: ClientSocket got POSIX error 54 "Connection reset by peer"
08:47:13.458075| [Sync]: {Repl#5} Connection closed with errno 5: "Input/output error" (state=2)
08:47:13.459933| [Sync] ERROR: {Repl#5} Got LiteCore error: POSIX error 5, "Input/output error"
08:47:13.460995| [Sync]: {Repl#5} now stopped
08:47:13.462305| [Sync] ERROR: {C4Replicator#6} State: stopped, progress=100.00%, error=POSIX error 5, "Input/output error"
08:47:13.470586| [Sync]: BLIP sent 8 msgs (650 bytes), rcvd 3 msgs (434 bytes) in 396.749 sec. Max outbox depth was 1, avg 1.00
08:47:13.472512| [DB]: {CollectionImpl#30} Closed
08:47:13.477918| [DB]: {DB#29} Closing database
08:47:13.480824| [DB]: {CollectionImpl#4} Closed
08:47:13.484043| [DB]: {DB#3} Closing database

What could be the reason?

To use the replicator in background, you would need to request for the background task. We have done this automatically in CBL-iOS but we don't support this in CBL-C so you would need to do that in your app code.
The logic could be:

Request for the background task until the replicator is idle or stopped.
Suspend the replicator if the replicator is continuous.
When the app is foreground or active again, resume the continuous replicator.

Everything worked. Thanks

When putting the device into a suspended state, I start a background task and put the replicator in a suspended state, as soon as the replicator has changed its status to offline, I complete the background task.
If, after that, we transfer the device to an active state, I remove the suspended state for the replicator and the work continues.
But if, during the suspended state of the device, open and close the case, the states of the device change, then after a while I receive a message from the web socket and the application crashes
CBL WebSocket to mycouchbase > litecore::websocket::BuiltInWebSocket::_connectLoop() EXC_BAD_ACCESS
Perhaps I am doing something wrong with a background task, or I am putting the replicator in a suspended state incorrectly. Or I end the background task before the necessary processes inside the library are finished.

But if, during the suspended state of the device, open and close the case, the states of the device change, then after a while I receive a message from the web socket and the application crashes.

I'm not sure I understand this completely. When the app crashes, what was the state of the app (Background or Foreground) and replicator (Active or Suspended)?
Also can you provide a full crash log with full BT? If you have console log, please provide that as well.

I'm not sure I understand this completely. When the app crashes, what was the state of the app (Background or Foreground) and replicator (Active or Suspended)?

The application quickly switches from suspended mode to active mode several times in a row (I close the screen, open the screen several times)
Start task  02:05:17.443764| [Sync]: {C4Replicator#46} Suspended 02:05:17.446163| [Sync]: {Repl#45} Told to stop! 02:05:17.448475| [Sync]: {Repl#45} now busy 02:05:17.454324| [Sync]: {C4Replicator#46} State: busy, progress=0.00% 02:05:17.521881| [Sync]: {Repl#45} Connection closed with WebSocket/HTTP status 1000: "" (state=3) 02:05:17.526233| [Sync]: {Repl#45} now stopped 02:05:17.526930| [Sync]: {C4Replicator#46} State: offline, progress=0.00% 02:05:17.527604| [Sync]: BLIP sent 4 msgs (287 bytes), rcvd 1 msgs (130 bytes) in 1.283 sec. Max outbox depth was 1, avg 1.00 Task invalidate  02:05:17.529188| [DB]: {CollectionImpl#44} Closed 02:05:19.114372| [Sync]: {C4Replicator#46} Un-suspended 02:05:19.125305| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_fetch_input() returned -76 (-0x004c) 02:05:19.125866| [TLS] ERROR: mbedTLS(C): ssl_get_next_record() returned -76 (-0x004c) 02:05:19.125961| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_read_record() returned -76 (-0x004c) 02:05:19.126734| [WS] WARNING: ClientSocket got POSIX error 5 "Input/output error" 02:05:19.137794| [Sync]: {C4Replicator#46} Retrying connection to wss://sync.staging.posiflora.com:443/saas/_blipsync (attempt #1)... 02:05:19.143527| [DB]: {DB#51}==> litecore::SQLiteDataFile /var/mobile/Containers/Data/Application/CB37FC87-14FD-46F4-B5EE-F408A6F8F6C8/Library/Application Support/FloraSoft/POSiFLORA/posiflora.cblite2/db.sqlite3 @0x151112c20 02:05:19.143815| [DB]: {DB#51} Opening database 02:05:19.146151| [WS]: {BuiltInWebSocket#52}==> litecore::websocket::BuiltInWebSocket wss://sync.staging.posiflora.com:443/saas/_blipsync @0x14de0e8b8 02:05:19.146384| [WS] ERROR: {BuiltInWebSocket#52} Unexpected or unclean socket disconnect! (reason=errno 5) 02:05:19.154932| [DB]: {CollectionImpl#53}==> litecore::CollectionImpl posiflora/_default @0x2818309d0 02:05:19.155111| [DB]: {CollectionImpl#53} Instantiated 02:05:19.157041| WARNING: Passing in progress level via configuration is deprecated; use the setProgressLevel API 02:05:19.157610| [Sync]: {Repl#54}==> litecore::repl::Replicator /var/mobile/Containers/Data/Application/CB37FC87-14FD-46F4-B5EE-F408A6F8F6C8/Library/Application Support/FloraSoft/POSiFLORA/posiflora.cblite2/ ->wss://sync.staging.posiflora.com:443/saas/_blipsync @0x14de1a5f0 02:05:19.157707| [Sync]: {Repl#54} Push=continuous, Pull=continuous, Options={{channels:["customer_531"], cookies:"PosiFlora=38860e4594a5813fa657339b6076f9aa9762c379", progress:1}} 02:05:19.157826| WARNING: Passing in progress level via configuration is deprecated; use the setProgressLevel API 02:05:19.158227| WARNING: Passing in progress level via configuration is deprecated; use the setProgressLevel API 02:05:19.158405| WARNING: Passing in progress level via configuration is deprecated; use the setProgressLevel API 02:05:19.159923| WARNING: Passing in progress level via configuration is deprecated; use the setProgressLevel API 02:05:19.160958| [Sync]: {C4Replicator#46} Starting Replicator {Repl#54} 02:05:19.460145| [DB]: {DB#43} Closing database 02:05:19.463330| [Sync]: {Repl#54} Scanning for pre-existing conflicts... 02:05:19.464383| [Sync]: {Repl#54} Found 0 conflicted docs in 0.002 sec 02:05:19.471377| [Sync]: {Repl#54} Read local checkpoint 'cp-TB/pUPMXuwcu6+juFMVbU9thJG0=': {"time":1628581868,"local":5141,"remote":16266} 2021-08-10 14:05:19.474132+0600 pos[674:163424] dnssd_clientstub write_all(47) DEFUNCT 2021-08-10 14:05:19.474392+0600 pos[674:163424] dnssd_clientstub deliver_request ERROR: write_all(47, 67 bytes) failed 2021-08-10 14:05:19.474947+0600 pos[674:163424] dnssd_clientstub write_all(47) DEFUNCT 02:05:19.515020| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_flush_output() returned -80 (-0x0050) 02:05:19.516586| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_write_record() returned -80 (-0x0050) 02:05:19.529245| [TLS] ERROR: mbedTLS(C): mbedtls_ssl_send_alert_message() returned -80 (-0x0050) 02:05:19.531448| [Sync]: {Repl#38} Connection closed with errno 5: "Input/output error" (state=2) 02:05:19.533124| [Sync] ERROR: {Repl#38} Got LiteCore error: POSIX error 5, "Input/output error" 02:05:19.534114| [Sync]: {Repl#38} now stopped 02:05:19.594550| [Sync] ERROR: {C4Replicator#6} State: stopped, progress=0.00%, error=POSIX error 5, "Input/output error" 02:05:19.595955| [Sync] WARNING: No listener to receive error from CBLReplicator 0x14fa428b0: POSIX error 5, "Input/output error" Assertion failed: (e == 0), function ~recursive_mutex, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/libcxx/libcxx-400.9.4/src/mutex.cpp, line 64. 02:05:19.598767| [Sync]: BLIP sent 4 msgs (287 bytes), rcvd 1 msgs (129 bytes) in 8.197 sec. Max outbox depth was 1, avg 1.00 02:05:19.599693| [DB]: {CollectionImpl#37} Closed 02:05:19.600809| [DB]: {DB#36} Closing database

Tracked in https://issues.couchbase.com/browse/CBL-2339.


Fix file deletion in Windows GCC CI build

Fixes the file cleanup for Windows GCC CI builds and remaining file residues in the archives.
The shell switches to bash, despite calling the make command from the default powershell. When we unignore all errors we then get /usr/bin/bash: line 1: del: command not found.
Includes a mini revert of a mistake in the last commit. The path should not be enquoted on declaration as we still add more segments to it in other places. Sorry about that.

LGTM


Remove SGID.ENVIRONMENT.DAQAirOilGasEmissionsPt from SGID and DEQ Interactive Map

Summary
This dataset is essentially static and hasn't been updated in years. It participates as a query layer in enviro.deq.utah.gov. I asked Michelle Horning about it and she said to just remove it from the app and SGID. I'm guessing it was added to SGID in the first place only because Harold pushed for it.
This is the exact same situation at #49...

Triage

[ ] Data Team Triage
[x] Dev Team Triage (@stdavis)
[ ] Cadastre Team Triage

Remove data from the following areas

[ ] ArcGIS Online (assigned to) (item: 34368daa7b2d45b4906b7023640d3ce3)
[ ] Internal SGID (assigned to)
[ ] SGID10 (assigned to)
[ ] Open SGID (assigned to)
[ ] Google Drive (assigned to)
[ ] Open data (assigned to)
[x] Mapserv (@stdavis)
~- [ ] Retire application-specific prod and test SQL Databases (assigned to)~

Copy data to the following areas

[ ] Upload to UtahAGRC/AGRC_Shelved folder in AGOL (assigned to)
[ ] Move existing AGOL item to AGRC_Shelved AGOL folder (assigned to)
[ ] Upload to appropriate UtahAGRC/{SGID Category} folder in AGOL (for "static" datasets) (assigned to)

Update information in the following areas

[ ] gis.utah.gov data pages (assigned to)
[ ] Stewardship doc and sgid-index (assigned to)
[x] SGID.META.AGOLItems (@stdavis)
[ ] AGRC_Shelved/AGOLItems_Shelved (in AGOL) (assigned to)
[x] SGID.META.ChangeDetection (@stdavis)

Is there a website?
~- [ ] Archive source code repository (assigned to)~
~- [ ] Remove from the web server (assigned to)~
or
~- [ ] Replace app with a static page with information (assigned to)~
or
~- [ ] Redirect somewhere else (assigned to)~

[x] Remove query layer from enviro.deq.utah.gov (@stdavis)

Is there a map service?
~- [ ] Stop (assigned to)~
~- [ ] Delete (assigned to)~

[ ] republish deq map service

Is there a forklift pallet?
~- [ ] Remove repo (assigned to)~

[x] Remove stale data from forklift hashing and receiving (@stdavis)
[x] Remove row from data/hashed/changedetection.gdb/TableHashes (@stdavis)
Layers will be removed from pallet automatically when they are removed from the app.

Are there service dependencies?

[ ] Validate that the web api does not query it (@steveoh)
[x] Validate that AGRC or applications widgets do not reference it (@stdavis)

Notification
~- [ ] Blog post (assigned to)~

[ ] Twitter (@steveoh)

[ ] Intent
[ ] Completed

I believe that I've completed all of my tasks. Let me know if I missed anything.

conductor results

check
status

internal sgid
:-1:

sgid10
:-1:

meta table
:+1:

stewardship

- deprecation issue link
:-1:

conductor results

check
status

internal sgid
:-1:

sgid10
:-1:

meta table
:+1:

stewardship

- deprecation issue link
:-1:

conductor results

check
status

internal sgid
:-1:

sgid10
:-1:

meta table
:+1:

stewardship

- deprecation issue link
:-1:

conductor results

check
status

internal sgid
:-1:

sgid10
:-1:

meta table
:+1:

stewardship

- deprecation issue link
:-1:

conductor results

check
status

internal sgid
:-1:

sgid10
:-1:

meta table
:+1:

stewardship

- deprecation issue link
:-1:

I couldn't find the download in Drive.

just to confirm... we are removing this layer from agol/open data and not shelving it. that's how I see it. anyone see it otherwise?

conductor results

check
status

internal sgid
:+1:

sgid10
:+1:

meta table
:+1:

stewardship

- deprecation issue link
:+1:


Fix shas jet mismatch

See: https://github.com/urbit/vere/pull/309.

We will probably just update the Hoon to match the C because this function is used in the code for the +code generator.

See urbit/urbit#5861


LP Promote & parent settrack is adding additional group perms to users.

Description
We use CMI to read players votes and execute lp user [playerName] parent settrack   once a certain vote count is hit. Now 8/10 luckperms promotes players correctly and removes the old group perfectly, but for those 2 the players will retain both groups, and then when they are ready to get promoted again, they can’t due to “user is in multiple groups so can’t promote them error”. We did previously use lp promote   with the same issue.
Example user: DesiOnRTX
[luckperms-command-executor/INFO]: [LP] desionrtx had their existing parent groups on track players cleared, and now only inherits wallaby in context global. But if you take a look at the attached image as you can see they are in two groups.

Reproduction Steps
Creating a track, promoting a player up and down the track until it catches them in two groups.
Expected Behaviour
The user will retain two groups and won't be promoted along the track until one group is removed.
Server Details
git-Paper-430 (MC 1.20.4)
LuckPerms Version
v5.4.119
Logs and Configs
No response
Extra Details
No response

Have you tried this on an isolated server in order to ensure this is not an external plugin interfering with Luckperms?

Again

8/10 times it does it fine.

Just decided to give every user the default group now as well.

This is still happening with 2/10 rankups.

This appears to be fixed. As we use groups/ranks with + within the name, replacing + with plus (so wallaby+ is no wallabyplus) on the backend solved this issue.

This appears to be fixed. As we use groups/ranks with + within the name, replacing + with plus (so wallaby+ is no wallabyplus) on the backend solved this issue.


[TASK] TVL and TWL change rate calculations across components on Hubble Stats

Need an efficient way to get the tvl and twl in 24 hours about in order to calculate the change rate on the front-end. Back-end might need to be updated.
Components that have tvl change rate includes:

If there are challenges / open questions here please describe them so we can assist you.

If getting the day data is challenging perhaps we're not collecting it as best we can. Please also describe it thoroughly so we can add to the README.

Current approach: mentioned and resolved here


Ships with 'Mk.' in name not said correctly

First, I apologise for the length of this, I wanted to test as much as possible to ensure what I was saying is reproduceable and accurate.
In Ship Purchased {event.ship} and in Bounty Awarded {event.target}, the speech responder reads the 'full stop' punctuation in the middle of the ship model (Mk.) as an end of sentence, leaving a long pause in the middle of the name.  It also says 'Mk' rather than 'Mark'.
For example, when purchasing a 'Cobra Mk. III', it is said as 'Cobra MK [pause] I I I' and not as 'Cobra Mark Three'.  Same goes for 'Viper Mk. III' e.t.c.
When selling, or swapping to/from, a 'Cobra Mk. III' the speech says it correctly as 'Cobra Mark Three'.  However, if {event.ship} is used on it's own in 'Ship Sold' (rather than as part of ShipName), it also does not say it correctly.  I am assuming that 'ShipName()' is getting the model (if there is no player given name) from somewhere else as it seems to say these perfectly ok.
Also, when swapping ships, if I swap out from (store) a Mk.IV model, the word 'four' sounds really weird, like 'flwer' or something.  If I swap between a Cobra Mk. IV and a Viper Mk. IV, back and fourth, the ship going into storage sounds weird when saying the 'four', but the ship comming out of storage says 'four' fine. Could there be something wrong with the event.storedshipid variable?
It would seem that ShipDetails([variable]).model (and possibly event.ship) simply says whatever is in the [variable] part as I've even tried ShipDetails with "cobra mk. xx" and it says 'Cobra MK [pause] Twenty' which obviously doesn't exist in game.  I can understand this, as it means much less programming to achieve the desired result.  However, I tried it with 'cobra mk. v' and that just says the 'v' as the letter vee, not the number five.
I also noted that if you enclose event.ship or ShipDetails within {P()} like in the default Ship Purchased script, for a Mk. III or Mk. VI model, it will say the Roman numerals as the individual letters rather than the decimal number. i.e. {P(ShipDetails("cobra mk. iii").model)} comes out as 'Cobra MK [pause] [eye-eye-eye]'. However, it does seem to say 'viii' (eight), 'ix' (nine) and 'xx' (twenty) perfectly fine still, so it's inconsistent with the conversion from Roman to decimal.
After running a couple of tests with the write text copies to file, I see that the passed variables are capitalised (so IV not iv). When using capitals for the numbers, in {event.ship} etc, they are all separated by a space and thus said as letters.  When used in ShipName, they are not separated and so are said as numbers.
I found that lower case is hit and miss if it's said as a number or the letters.  For example, 'iv'. 'v', or 'vi' is said as the letters, but 'vii' and 'viii' are said as numbers seven and eight.  Not sure if this is anything you can correct?
TL;DR
In 'Ship Purchased', 'Ship Swapped', and 'Ship Sold':-
{event.ship} reads the full stop as an end of sentence, adding a pause in the middle of the ship model name.
ShipName() (in Ship Swapped and Ship Sold) says the model correctly ('Mark Three' vs 'MK [pause] Three)
Roman numerals are said as letters in 'Ship Purchased', because of {P()}.
In 'Bounty Awarded':-
{event.target} does the same as above, reading 'M K [pause] I I I'.
Roman numerals are inconsistantly converted to decimal, sometimes left just as the letters.
This is all using EDDI beta 3 and E:D v2.2.03 beta 4.
Regards,
Darkcyde
P.S.  I hope you don't think I'm just picking holes in your software.  I love what EDDI does and am very grateful to you for writing it.  I'm just a bit of a perfectionist sometimes. ;)

The pronunciation of names is down to the particular TTS voice.  EDDI does provide ships with phonetic version of the name to provide accurate representations, but it's generally locked away behind a function.  I haven't tried it but it's possible that
ShipDetails('Cobra Mk. III').SpokenModel()

would give the correct value.  That said, it really should be picked up by P(), which I'll take a look at.

I tried the following in a new script and tried all the voices I have, which are the three default Win10 voices, plus Ivona Amy British English.  They all gave the same results as follows:-
{ShipDetails("Cobra Mk. III").SpokenModel()}.
Nothing spoken, so I guess this doesn't work, but there were no errors either.
{P(ShipDetails("Cobra Mk. III").model))}.
This says "Cobra MK [pause] [eye-eye-eye]"
{ShipDetails("Cobra Mk. III").model)}.
This says "Cobra MK [pause] Three"
If it's not possible to fix, I can work around it by creating a new function with the following line for each of the ships with 'Mk.' in the name:-
{if shipname = "Cobra Mk. III": {set shipname to "Cobra Mark Three"}}
As it's only the ship name that's causing the difficulties, this won't be too much of a hassle to use.

P() has been updated to include ship models in its translation list so {P(ship.model)} will work in the next release.


Whitespace and empty list items removed when calling setContent

Have a tiptap document with some whitespace at the end of lines, and also some bullet points that are empty, for example:

Call getMarkdown(), notice it's correctly reflected in the output:

Call setContent() with the markdown output from step (2), notice that some list items and the trailing whitespace are stripped out when converting back to HTML:

Is this something that's at all configurable through the plugin's options?

Hey @idevelop did you find a solution to this issue?

Any luck here? Seems to be a non-configurable part of the markdown parsing.

+1
Same issue but for spaces at the end of the document. I'm using the onUpdate() callback and each time a user adds a space at the end of the document, it is removed when I run editor.storage.markdown.getMarkdown().

Yeah, I'm noticing this issue as well.

+1
same issue, is the any solution?

I found a solution, I'll try to explain.  For me it actually wasn't the extension that was the issue, it was the way I was passing the data into and out of the component that wraps my editor.
So, using Vue here:
const props = defineProps<{
  initialText: string;
}>();

const emit = defineEmits<{
  (e: 'update:text', value: string): void;
}>();

const content = ref(props.initialText);

const editor = useEditor({
  content: content.value,
  onUpdate: ({ editor }) => {
    content.value = editor.storage.markdown.getMarkdown();
    emit('update:text', content.value);
  },
  extensions: [ StarterKit, Markdown ],
});

watch(
  () => props.initialText,
  newText => {
    content.value = newText;
    editor?.value?.commands.setContent(newText);
  },
);

Basically, the user's changes trigger the output, which updates the parent variable and that gets passed back in, which triggers the watcher which runs setContent, and that's what trims the spaces.  To fix this, I really just had to remove the watcher, since we don't care about the input changing from the parent once the component is loaded.  If you need that, well....  But the change looks like this:
const props = defineProps<{
  initialText: string;
}>();

const emit = defineEmits<{
  (e: 'update:text', value: string): void;
}>();

const content = ref(props.initialText);

const editor = useEditor({
  content: props.initialText,
  onUpdate: ({ editor }) => {
    content.value = editor.storage.markdown.getMarkdown();
    emit('update:text', content.value);
  },
  extensions: [ StarterKit, Markdown ],
});

Caveat is that my use case is a form field, so I don't need to persist anything until a save-button is hit.  But maybe this helps.


Multi-GPU training?

@mihail-amazon Does this model support multi-gpu training? I see that the code uses only one gpu for training!

The downstream models typically do not need more than a single GPU to train but you're welcome to adapt them to fit your needs.


Added rule for safe cast instead of if-else-null

#197 feature

Looks good! Will check it out tomorror. Thank you very much!

Maybe also add a test case for a negative case?


Configuration/warnings for Opaque ops and types (not unconfigurable errors)

[ ] resolve_extension_ops to raise some kind of warning when it can't find an extension. Perhaps eprintln! (worst) or crate log (better), or pass in an &mut Vec<Warning> and let the caller decide what to do. (Hugr CLI should log out, though could have suppression flags.)
[ ] resolve_extension_ops is "all or nothing" for an extension, which is kind of good, but for an extension with binary compute_signatures (that you don't have), you must either

treat the entire extension as unknown, i.e. no checking of any non-binary-compute_signature ops that you do know about
provide an incomplete extension (without proper info on those OpDefs), thus returning an Err (not warning) if those ops are used
...maybe we need some way to flag ops as known-to-exist-but-unknown, or for compute_signature to signal that it can't compute the signature but this is not necessarily an error

[ ] Consider moving some/all of this into validation (i.e. if it finds an OpaqueOp that was not resolved), or elsewhere (good to be able to gather all warnings without requiring rest of Hugr to be valid but implementation might be too complex and we might need some guarantee of validity to be able to issue warnings accurately)
[ ] Add similar functionality for opaque types

Outdated, closing in favour of #1432

Outdated, closing in favour of https://github.com/CQCL/hugr/issues/1432


Development

Added testing environment and refactor some UI components.

Added testing environment and refactor login UI component.


Failed assertion: line 4191 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.

The following assertion was thrown building RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#ba16c](state: RawGestureDetectorState#89e66(gestures: [horizontal drag], behavior: opaque)):
A RenderViewport expected a child of type RenderSliver but received a child of type RenderErrorBox.

The following assertion was thrown building SliverFillViewport:
'package:flutter/src/rendering/sliver_multi_box_adaptor.dart': Failed assertion: line 258 pos 16: 'child == null || indexOf(child) > index': is not true.

The following assertion was thrown building _ScrollableScope:
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4191 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.

The following assertion was thrown building NotificationListener<ScrollNotification>:
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4191 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.

Hi @Aknolastname
Can you please provide your flutter doctor -v, a complete reproducible minimal code sample, and complete flutter run --verbose logs running the minimal code sample?
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Xamarin.Firebase.iOS.DynamicLink using outdated firebase-ios-sdk

We need the fix provided in https://github.com/firebase/firebase-ios-sdk/issues/2112. Therefore, a newer newer version of firebase-ios-sdk is required, to be able to benefit from this fix.

A new version of Firebase Dynamic Links for iOS (global version 6.5.0) has been pushed. This update must contain the fix. Closing this now. If you still face the issue, please, open a new issue. Best!


[DO NOT MERGE] Trying merge with #151 and #130

This will be closed upon successful CI tests

@weiglszonja It should work now - the base of 151 wasn't up to date at the time you merged it into this splinter of 130

Thank you, I'll close this now. After merging #151 into main, we should be able to see the tests passing in #130 too.


Update feature branch

### Summary of the changes
Keep feature branch up to date
Fixes:

This PR is for already reviewed changes (in main) flowing into the feature branch.


Docker container not running as network service as per the documentation

When I run the docker container as per the documentation as network service its always throwing an error. Can you validate this, please ?
PS C:\Users\sowmyans.CONTOSO> docker run --security-opt "credentialspec=file://contoso_webapp01.json" -d --hostname webapp01 --user "NT AUTHORITY\NETWORK SERVICE" -it mcr.microsoft.com/windows/servercore:ltsc2016 powershell
1310e9426a5c70e6f0fa820fa5f58aec5e203888ab6478306b23735dfb8cf194
docker : C:\Program Files\Docker\docker.exe: Error response from daemon: container 1310e9426a5c70e6f0fa820fa5f58aec5e203888ab6478306b23735dfb8cf194 encountered an error
during CreateProcess: failure in a Windows system call: The user name or password is incorrect. (0x52e) extra info: {"CommandLine":"powershell","User":"NT
AUTHORITY\NETWORK SERVICE","WorkingDirectory":"C:\","EmulateConsole":true,"CreateStdInPipe":true,"CreateStdOutPipe":true,"ConsoleSize":[0,0]}.
At line:1 char:1

docker run --security-opt "credentialspec=file://contoso_webapp01.jso ...

  + CategoryInfo          : NotSpecified: (C:\Program File...leSize":[0,0]}.:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b6cbabcb-0910-3082-fe93-bafef68f2faa
Version Independent ID: 6efd7af0-a3f2-9d4a-cee1-722caf001cdd
Content: Group Managed Service Accounts for Windows Containers
Content Source: virtualization/windowscontainers/manage-containers/manage-serviceaccounts.md
Service: windows-containers
Product: windows-containers
GitHub Login: @rpsqrd

Can you confirm the OS of your container host and image?

From: sowmyan soman<EMAIL_ADDRESS>Sent: Saturday, April 13, 2019 9:42 AM
To: MicrosoftDocs/Virtualization-Documentation
Cc: Ryan Puffer; Mention
Subject: [MicrosoftDocs/Virtualization-Documentation] Docker container not running as network service as per the documentation (#1033)
When I run the docker container as per the documentation as network service its always throwing an error. Can you validate this, please ?
PS C:\Users\sowmyans.CONTOSO> docker run --security-opt "credentialspec=file://contoso_webapp01.json" -d --hostname webapp01 --user "NT AUTHORITY\NETWORK SERVICE" -it mcr.microsoft.com/windows/servercore:ltsc2016 powershell
1310e9426a5c70e6f0fa820fa5f58aec5e203888ab6478306b23735dfb8cf194
docker : C:\Program Files\Docker\docker.exe: Error response from daemon: container 1310e9426a5c70e6f0fa820fa5f58aec5e203888ab6478306b23735dfb8cf194 encountered an error
during CreateProcess: failure in a Windows system call: The user name or password is incorrect. (0x52e) extra info: {"CommandLine":"powershell","User":"NT
AUTHORITY\NETWORK SERVICE","WorkingDirectory":"C:","EmulateConsole":true,"CreateStdInPipe":true,"CreateStdOutPipe":true,"ConsoleSize":[0,0]}.
At line:1 char:1

docker run --security-opt "credentialspec=file://contoso_webapp01.jso ...

CategoryInfo          : NotSpecified: (C:\Program File...leSize":[0,0]}.:String) [], RemoteException

FullyQualifiedErrorId : NativeCommandError

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b6cbabcb-0910-3082-fe93-bafef68f2faa
Version Independent ID: 6efd7af0-a3f2-9d4a-cee1-722caf001cdd
Content: Group Managed Service Accounts for Windows Containershttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fvirtualization%2Fwindowscontainers%2Fmanage-containers%2Fmanage-serviceaccounts&data=02|01|ryan.puffer%40microsoft.com|8684bb55169a424e6c1408d6c02ef6fd|72f988bf86f141af91ab2d7cd011db47|1|0|636907705279715128&sdata=nmF0kenVE2ORaW50Cjgslx5AyOlrwl9lKbTXLq7utbY%3D&reserved=0
Content Source: virtualization/windowscontainers/manage-containers/manage-serviceaccounts.mdhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FVirtualization-Documentation%2Fblob%2Fmaster%2Fvirtualization%2Fwindowscontainers%2Fmanage-containers%2Fmanage-serviceaccounts.md&data=02|01|ryan.puffer%40microsoft.com|8684bb55169a424e6c1408d6c02ef6fd|72f988bf86f141af91ab2d7cd011db47|1|0|636907705279725124&sdata=QZk%2F23hjZe6zjsp4jNdoNJIGAQoFoX5CJO2pZjV4K%2Bw%3D&reserved=0
Service: windows-containers
Product: windows-containers
GitHub Login: @rpsqrdhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frpsqrd&data=02|01|ryan.puffer%40microsoft.com|8684bb55169a424e6c1408d6c02ef6fd|72f988bf86f141af91ab2d7cd011db47|1|0|636907705279725124&sdata=WuO5LhzeEs4eOHm%2BqlPpJW3O4oyembRftzWJ5y3OAZo%3D&reserved=0

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FVirtualization-Documentation%2Fissues%2F1033&data=02|01|ryan.puffer%40microsoft.com|8684bb55169a424e6c1408d6c02ef6fd|72f988bf86f141af91ab2d7cd011db47|1|0|636907705279735122&sdata=xYer2sP46BtIgBXjsgTR9EbNCQXj2lgoPmMN5jAcUNQ%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADKe6-KH-QnKeLW4Inqe-DDZsfJnC1VDks5vggjegaJpZM4cuJMx&data=02|01|ryan.puffer%40microsoft.com|8684bb55169a424e6c1408d6c02ef6fd|72f988bf86f141af91ab2d7cd011db47|1|0|636907705279735122&sdata=JpG1LMg%2FL8yPa4PZxxe8GnodwMtFh1qtdIaIIgkf2Ys%3D&reserved=0.

Windows Server 2016 DataCenter
Version: 10.0.14393 Build 14393
FYI: I'm using the Windows Server 2016 Datacenter With Container Images template from Azure

Thanks for confirming. Unfortunately Windows Server 2016 does not support running the container as SYSTEM or Network Service. You can still configure IIS app pools or standard Win32 services to run as Network Service, but you won’t be able to attach to the console as Network Service.

From: sowmyan soman<EMAIL_ADDRESS>Sent: Sunday, April 14, 2019 7:03 AM
To: MicrosoftDocs/Virtualization-Documentation
Cc: Ryan Puffer; Mention
Subject: Re: [MicrosoftDocs/Virtualization-Documentation] Docker container not running as network service as per the documentation (#1033)
Windows Server 2016 DataCenter
Version: 10.0.14393 Build 14393
FYI: I'm using the Windows Server 2016 Datacenter With Container Images template from Azure
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FVirtualization-Documentation%2Fissues%2F1033%23issuecomment-482982860&data=02|01|ryan.puffer%40microsoft.com|673fb6aef1314b23d21d08d6c0e1f603|72f988bf86f141af91ab2d7cd011db47|1|0|636908474059106514&sdata=ts8001y65mGZX4SMDH%2BnjjBpeJlFKX%2BFTw%2FqJB4nQA0%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADKe64VCKWsufNw0Wb46cGAV-1itHE1Pks5vgzUsgaJpZM4cuJMx&data=02|01|ryan.puffer%40microsoft.com|673fb6aef1314b23d21d08d6c0e1f603|72f988bf86f141af91ab2d7cd011db47|1|0|636908474059116516&sdata=AJxBi8Zk8pbZaJ5Tsj0YwHZew8mvpQpyir7%2FVxZWvFc%3D&reserved=0.

Thanks for the information @rpsqrd . Hope you can chime on this one too, by following the documentation I was able to successfyl test the domain access using nltest /sc_verify:contoso.com but not the klist get krbtgt. Any troubleshooting guidance would very helpful.

Hmm, I'm not sure on that one. @SteveSyfuhs any idea why this would fail on WS2016?

Why is there a named user profile on the path? That shouldn't be present within the container? The error is definitive though -- the system doesn't have access to credentials to get the TGT. What does an empty klist call return?

klist

my bad, when test it for taking screenshot didnt test it in the container. here is the screenshot from the container including the result for klist.

Gotcha. Okay, that certainly looks problematic. What do you see when you run

whoami /all

from within the container? Have you tried switching to the SYSTEM user? What happens if you try

klist get ldap/domaincontrollername

Thank you. Here is the output for the commands from within the container. Look like there is a trust issue?
PS C:> whoami /all
USER INFORMATION
User Name                           SID
=================================== ============
user manager\containeradministrator S-1-5-93-2-1
GROUP INFORMATION
Group Name                           Type             SID          Attributes
==================================== ================ ============ =====================================================
Mandatory Label\High Mandatory Level Label            S-1-16-12288
Everyone                             Well-known group S-1-1-0      Mandatory group, Enabled by default, Enabled group
BUILTIN\Users                        Alias            S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\SERVICE                 Well-known group S-1-5-6      Mandatory group, Enabled by default, Enabled group
CONSOLE LOGON                        Well-known group S-1-2-1      Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users     Well-known group S-1-5-11     Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization       Well-known group S-1-5-15     Mandatory group, Enabled by default, Enabled group
LOCAL                                Well-known group S-1-2-0      Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators               Alias            S-1-5-32-544 Mandatory group, Enabled by default, Enabled group, G
roup owner
Unknown SID type S-1-5-93-0   Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization       Well-known group S-1-5-15     Mandatory group, Enabled by default, Enabled group
LOCAL                                Well-known group S-1-2-0      Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators               Alias            S-1-5-32-544 Mandatory group, Enabled by default, Enabled group,
roup owner                                                                                G
Unknown SID type S-1-5-93-0   Mandatory group, Enabled by default, Enabled group
PRIVILEGES INFORMATION
Privilege Name                            Description                                                        State
========================================= ================================================================== ========
SeIncreaseQuotaPrivilege                  Adjust memory quotas for a process                                 Disabled
SeSecurityPrivilege                       Manage auditing and security log                                   Disabled
SeTakeOwnershipPrivilege                  Take ownership of files or other objects                           Disabled
SeLoadDriverPrivilege                     Load and unload device drivers                                     Disabled
SeSystemProfilePrivilege                  Profile system performance                                         Disabled
SeSystemtimePrivilege                     Change the system time                                             Disabled
SeProfileSingleProcessPrivilege           Profile single process                                             Disabled
SeIncreaseBasePriorityPrivilege           Increase scheduling priority                                       Disabled
SeCreatePagefilePrivilege                 Create a pagefile                                                  Disabled
SeBackupPrivilege                         Back up files and directories                                      Disabled
SeRestorePrivilege                        Restore files and directories                                      Disabled
SeShutdownPrivilege                       Shut down the system                                               Disabled
SeDebugPrivilege                          Debug programs                                                     Enabled
SeSystemEnvironmentPrivilege              Modify firmware environment values                                 Disabled
SeChangeNotifyPrivilege                   Bypass traverse checking                                           Enabled
SeRemoteShutdownPrivilege                 Force shutdown from a remote system                                Disabled
SeUndockPrivilege                         Remove computer from docking station                               Disabled
SeManageVolumePrivilege                   Perform volume maintenance tasks                                   Disabled
SeImpersonatePrivilege                    Impersonate a client after authentication                          Enabled
SeCreateGlobalPrivilege                   Create global objects                                              Enabled
SeIncreaseWorkingSetPrivilege             Increase a process working set                                     Disabled
SeTimeZonePrivilege                       Change the time zone                                               Disabled
SeCreateSymbolicLinkPrivilege             Create symbolic links                                              Disabled
SeDelegateSessionUserImpersonatePrivilege Obtain an impersonation token for another user in the same session Disabled
USER CLAIMS INFORMATION
User claims unknown.
Kerberos support for Dynamic Access Control on this device has been disabled.
PS C:> klist get ldap/contoso.com
Current LogonId is 0:0xe34097
Error calling API LsaCallAuthenticationPackage (GetTicket substatus): 0x6fb
klist failed with 0xc000018b/-1073741429: The SAM database on the Windows Server does not have a computer account for th
is workstation trust relationship.

The simple answer is that it did not log you in as SYSTEM or NETWORK SERVICE and just logged you in the as the default special containeradministrator user. I believe this you need to be running a later build of the server to log in as a different user. @rpsqrd do you recall what the minimum version required for this is?

Thanks Steve. Look like in my case have to be in win 2016 as per customer. Any ideas on how to resolve the issue im facing now. let me know if I need to move this as a seperate issue.

Anything after WS2016 -- 1709, 1803, and 1809 should allow you to run as SYSTEM or Network Service. Note that klist get krbtgt failing is not a problem if you're not running as these accounts, so on WS2016 you should still be able to use the gMSA so long as you're running a Windows Service or IIS App Pool as Network Service.

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Add support for Arch Linux

Is your feature request related to a problem? Please describe.
Currently, the setup.py file will only work for Debian based distros which use apt as their package manager. Other Linux users will have to manually setup Pydirman. :(
Describe the solution you'd like
Improve the setup.py file to add support for Arch Linux along with Debian Linux.
Describe alternatives you've considered
Writing separate setup files for different distros, but it won't be necessary unless we are adding support for a lot of distros.
Additional context

@sadbro Please assign this issue to me, I am working on this issue.

@sahil-sagwekar2652 Do drop a pull request when you are done with the Arch version. No rush tho ;)


fix 'different rectangle if getting local after global bounds' test

Result of getLocalBounds() was not being expect()ed.

I think I may have named the test wrong here! This is actually intended. The issue was if you called getBounds and then getLocalBounds,  the getBounds result would change to local bounds as they were written to the same rectangle.

Makes sense!


[FR] Add Tags for Attachments

Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find a similar feature request

Problem statement
Currently I can only add text comments. If let's say someone wants to add a datasheet, they could put a comment like Datasheet, DATASHEET, dAtAScHeEt, datasheet etc.
Suggested solution
It would be good if there could be predefined tags for uploads rather than just a comment. This would sunify the comments a bit.

Describe alternatives you've considered
none
Examples of other systems
none
Do you want to develop this?

[ ] I want to develop this.

Duplicated issue of https://github.com/inventree/InvenTree/issues/5429 perhaps?

Closing as duplicate issue


Training time

Hello!
How long does it take to train the model?

It takes nearly 30 hours using 6 RTX 2080Ti GPUs. For a single GPU, it will take 3 days.


will it always close sync iterators?

for await is known to not close sync iterables if rejected promise is emited.
Like
function* It() {
  try {
    yield Promise.resolve("a")
    yield Promise.reject("b")
  } finally {
    console.log("finalized")
  }
}

// prints "a" and never prints "finalized"
for await (const x of It()) { console.log(x) }

// prints "a" and then prints "finalized"
for (const x of It()) { console.log(await x) }

which of theses behaviors will implement Array.fromAsync?

As implemented, we have the same semantics as for await (const x of It()) ..., and so the iterable is not closed.

@mgaudet There's actually been consensus to change the behavior for sync iterators so that it closes them for... over a year now, I guess; it's blocked on lack of tests. Since this proposal uses the same machinery it will be affected as well.


Dynamic imports?

Possible to use dynamic imports with this with Astro? I tried and it got an error. Here's a quick screenshot.

Yes, here are the docs: https://imgit.dev/guide/asset-import
And here's a sample with Astro: https://github.com/elringus/imgit/blob/main/samples/astro/src/pages/import.astro

Apparently I was using a wrong link. Thanks.


Cannot get playlist even with --ignore-error

Reproduced on Debian and OSX with same result.
Issue: Finds 51 videos yet cannot get past three.
Secondary Issue: --playlist-reverse has no effect at all on order.
The following is the output.
$ youtube-dl --ignore-error https://www.youtube.com/list=RDu_T04rO50po
[download] Downloading playlist: list
[youtube:user] list: Downloading video ids from 1 to 51
[youtube:user] playlist list: Downloading 3 videos
[download] Downloading video 1 of 3
[youtube] pdARBfP24nE: Downloading webpage
[youtube] pdARBfP24nE: Extracting video information
[youtube] pdARBfP24nE: Downloading DASH manifest
[download] 8 Crazy Comic Book Crossovers-pdARBfP24nE.mp4 has already been downloaded
[download] Downloading video 2 of 3
[youtube] ZHWk63EO1-Y: Downloading webpage
[youtube] ZHWk63EO1-Y: Extracting video information
[youtube] ZHWk63EO1-Y: Downloading DASH manifest
[download] 8 Awesome Bars-ZHWk63EO1-Y.mp4 has already been downloaded
[download] Downloading video 3 of 3
[youtube] WYAWTmQ3W1Y: Downloading webpage
[youtube] WYAWTmQ3W1Y: Extracting video information
[youtube] WYAWTmQ3W1Y: Downloading DASH manifest
[download] 6 Facts About Video Game Addicts-WYAWTmQ3W1Y.mp4 has already been downloaded
$
Reverse order has no effect:
$ youtube-dl --ignore-error --playlist-reverse  https://www.youtube.com/list=RDu_T04rO50po
[download] Downloading playlist: list
[youtube:user] list: Downloading video ids from 1 to 51
[youtube:user] playlist list: Downloading 3 videos
[download] Downloading video 1 of 3
[youtube] WYAWTmQ3W1Y: Downloading webpage
[youtube] WYAWTmQ3W1Y: Extracting video information
[youtube] WYAWTmQ3W1Y: Downloading DASH manifest
[download] 6 Facts About Video Game Addicts-WYAWTmQ3W1Y.mp4 has already been downloaded
[download] Downloading video 2 of 3
[youtube] ZHWk63EO1-Y: Downloading webpage
[youtube] ZHWk63EO1-Y: Extracting video information
[youtube] ZHWk63EO1-Y: Downloading DASH manifest
[download] 8 Awesome Bars-ZHWk63EO1-Y.mp4 has already been downloaded
[download] Downloading video 3 of 3
[youtube] pdARBfP24nE: Downloading webpage
[youtube] pdARBfP24nE: Extracting video information
[youtube] pdARBfP24nE: Downloading DASH manifest
[download] 8 Crazy Comic Book Crossovers-pdARBfP24nE.mp4 has already been downloaded
$

Closed.


Introduce locale as keyword argument in append_url_options

Addressing an incident action (Becka will add some more detail here)
Trello
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

We spoke about this in dev chat and decided to wait until the work to remove url maker entirely is complete, since this will remove some of the complexity around the public routes helper. This PR might serve as a useful reference for this work, but I'll close it since it'll likely be easier to start from the beginning again.


Strange error message on when excute the demo program on ARM

As title, my platform is ARM Cortex-A7 IMX6UL, OS is buildroot.
I compile success using cross-compile already, seems no any trouble.
BUT it shows the error message when I running this demo:
./demo: line 1: ELF: not found
./demo: line 9: syntax error: unexpected "("
I think my cross-compile is no problem, I tried it on previous littlevgl demo before ( no lv_linux_frame_buffer repo  in that time), hope can get some directions, thanks a lot.

It looks like something is wrong with your platform. The executable is being run as a script, not an ELF file.
I quickly searched for your error message in Google and it seems to be bringing up results about a missing libc. If you are using shared linking, be sure that you have the right libc installed on the platform (you can check with ldd ./demo, making sure that all libraries are found).

Got it, thanks for your quick reply.
I tried the "ldd ./demo" and shows a strange message is following:
/demo: not an ELF file.
But same environment, I can running the demo from modified pc-simulator repo:
Last commit:
commit 62401f8bbc79f96eea233143ee24aecee7dfc72b
Author: Gabor Kiss-Vamosi<EMAIL_ADDRESS>Date:   Mon Mar 12 16:19:25 2018 +0100
I will double check the environment of my target board, thanks

What happens if you run file ./demo?

Sorry, it works after I change the libc library from uclibc-ng to gnu-libc, maybe it need to add some parameter on Makefile I think.
Anyway, thanks for your hint!

Hi wigcheng,
Could you please share how did you cross compile the littlevgl under buildroot?
Thanks!

Simple example:
export PATH=$(pwd)/output/host/usr/bin:$PATH
arm-linux-gcc -o foobar foobar.c
If your case is big project as littlevgl, you need modify the parameters such as CROSS_COMPILE in makefile,


[ISSUE #151] Fix potential instance name duplicated

What is the purpose of the change
try to fix potential instance name duplicated #151
Brief changelog
add timestamp to defalut instace name of Producer and Consumer
Verifying this change
@duhenglucky @aaron-ai @ifplusor
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when a cross-module dependency exists.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

same instance name is default behavior for reuse network component.

same instance name is default behavior for reuse network component.

If the instance name is specified, there won't be any changes. Even if you specify an instance name, rocketmq-client-cpp will still add IP and PID information, such as IP@PID#your_instance_name.


Not working with centos

Hi,
I am using it for compiling java code . But it in local window machine its working fine. But it's not working on the server. Which is centos and java 7 installed on it.
It's throwing this Error: Could not find or load main class Main
if (lang === "Java") {
        //if(inputRadio === "true")
        if (input) {
            var envData = { OS: "linux" };
            console.log(code);
            compiler.compileJavaWithInput(envData, code, input, function(data) {
                res.send(data);
            });
        } else {
            var envData = { OS: "linux" };
            console.log(code);
            compiler.compileJava(envData, code, function(data) {
                res.send(data);
            });

        }

    }

Could you also post the java code, that you tried to compile ?
I haven't tried this combination (centOS + java 7)  yet. Let me try it out after you post the java code that you are trying to compile.

Ya am trying with basic helloworld.
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
I tried to compile  this directly in server its working fine. While trying through compilex it's giving the above error.
I have checked the temp folder on the server. It's creating the Main.java file but class file is not there.

+1

Hi,
I just now deprecated this package. Please read the deprecation notice for alternative solutions.
Thanks.


[AutoDiff] add negative tests found by random code generator

Checking the testcases in seems so much easier and better than filing JIRA tickets, so here are two checked-in negative tests created by the random code generator.
generated0002.swift of them already has a JIRA ticket https://bugs.swift.org/browse/TF-891.
generated0001.swift is a new discovery today.

@swift-ci please test tensorflow


Locust, NTLM, & Requests Sessions

Hey there,
I'm currently stumped on implementing a multi user scenario (task) on a site which uses NTLM for authentication.  Using the requests_ntlm package for python, I have no problem authenticating a user into the system in my other Locust tasks.  The issue arises for a specific scenario where I need to take an 'application' end to end which involves logging in as two users during the task.
In a python script using only requests, I can accomplish this by doing the following....
s = requests.Session()
#login with first credentials
#perform first users actions
s.close()
t = requests.Session()
#login with new credentials
#perform second users actions
t.close()
However I cannot seem to find anything in the documentation to accomplish the same idea in Locust.  A previous Issue mentioned using self.client.close(), but that does not seem to be behaving the same way.
I guess a separate thought I had about my approach to the above is:

Can tasks be nested in such a way that they are executed sequentially?
Would breaking the user scenarios into different tasks facilitate the creation of a new requests session?

Thanks!

I've found some success by doing the following
#start of file
from locust.clients import HttpSession

#within the task
#first users actions

#start new session as different user
user2Session = HttpSession("http://www.uat.ccisites.com")
user2Session.get("/",auth=HttpNtlmAuth('user','pass'),headers=headerText)
#continue with second user processes

Happy you managed to solve it! Quick answers to your questions:

You can just define some python functions, without the @task decorator, and call them sequentially within a task.
Nope, the session is tied to the HttpLocust instance, and for that instance it will be the same for all tasks.

Appreciate the feedback.  That info will definitely help me plan as this moves from a proof of concept to a real solution.


command: explain - show recipes documentation

We should provide a command:
levain explain <recipe> <recipe>

The main purpose is to unlock the user from levain.
The command should create a markdown with the actions performed by a recipe and its dependencies in the proper order.
This markdown could work as a documentation script on how to perform the actions manually.
In a first approach, we could write the actions with the variable substitutions for the recipe, following its dependencies in order.
TODO

[ ] Replace vars
[ ] Handle some actions the change vars (like setVar, setEnv)

Perhaps it would be easier if we had a common place to "compile" the recipes. I mean, to read the recipes, follow the dependencies, replace variables, and so on.
Including a complete suggestion at issue #75.


Implement uniform blocks

With upgrade path for MeinMein.

Don't worry about an upgrade path for us ;)

Closed because reduced scope in GFM, wrappers are gone.


MCServer Executable arguments

I've noticed its not possible to start MCServer with certain arguments e.g."MCServer --slots=12 --port=25566".
This would be useful for setting up servers in a webinterface.
The most webinterfaces have variables who defining slots, port, ip etc. like {slots}, {port} and {ip}.
Anyway, so that the terminal can start the Server like "./MCServer --slots={slots} --port={port}" and the specific options in settings.ini will be ignored.

What sort of arguments style should MCServer use? There's already the comms logging arguments which use windows style arguments, but theres an argument to be said for unix style as well.

I think the unix way is, that every argument have two forms, short and long + instead of = a space... Did I understand you right?
For Example the slots:
short: MCServer -s 12
long MCServer --slots 12

The best way to do what you want is just to edit the settings.ini file, and if you do that you don't even have to store the chosen settings yourself. I don't see the advantage of CLI flags when you have something as stateful as a Minecraft server.

It's a matter of opinion. You're right, it's possible to write every time with a shell script the data into the settings.ini, to protect the amount of slots buyed by its owner. But the function with arguments would be very sleek and lightweight.

"I think the unix way is, that every argument have two forms, short and long + instead of = a space... Did I understand you right?"

Both are actually possible. Pure UNIX/POSIX only has "-abc" for combined flags/options and "--option1 arg1 --option2 arg2" for long form options, while there's a GNU extension that also allows "--option1=arg1".
https://en.wikipedia.org/wiki/Getopt
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html

As a GSP we need this too in order to enforce certain parameters such as max slots and Port.
I did not find a way to force the mcserver to bind on a specific IP. This is a must have for GSP's too.
Any way to get at least command switches support added for slots, port and bind to IP ? If we had that for windows that would be great allowing us to offer the game, allowing users to get a server at a cheap price without the hassle of managing a VPS and getting the software more popular.

This disscution is being split between here and the forum http://forum.mc-server.org/showthread.php?tid=1910&page=4
but the other problem with command line options is number. MCServer has approximately 20 settings under the banner of slots, port and bind to IP. And we would need to add more in the future to deal with plugins, along with the possibility that the host might want to control other settings like the deadlock detector. This is unmanageable with command line arguments. What would you think of a second ini file, which could be made read only to the server?

No GSP will ever use all a game options in command line, only a few ones he dont want to be changed such as the ones I mentionned.
Command line is the most used tool to enforce setting but a separate file would do the trick. It does not have to be read-only as we can simply restrict access by file name so as long as it has unique and "uncommon" name that's fine. mcserver_enforcedsettings.ini for example would be perfect.
Any setting added there would be enforced for example, That would be probably easiest solution.
Having IP binding implemented would be a great step towards GSP hosting as we all use machines with multiple IP's unlike home hosted servers and I noticed mcserver binds on all interfaces (not only primary IP).
Thanks for the follow up and quick reply!

I actually understand what you're saying more now, and CLI options would be a good idea, at least for the basics. But we should promote the config file more than the options, to avoid confusion of users.

But what's the basics? Slots I get is simple, but for IP mcservers setup is complicated. We currently have three settings for IP for the main Minecraft protocol to bind to as the user can specify ips that are ipv4 or Ipv6 only.

Well we could do without IP binding as long as we can specify port (and thus increment ports making sure no user can change the port to avoid conflicts) but that would be for sure a plus to get more GSP's to support the game.
I believe ipv4 would be enough to begin with, just to allow us to set servers to bind to a single IP.

I'd like to suggest that anything that can be changed in settings.ini also be configurable via command line flags with the following format:
+section.setting Value

E.g.
+Server.Ports 25565 +Server.MaxPlayers 100

The idea of being able to set a config setting seems like a good idea, but that syntax would be a pain to implement with our current parser. I'm thinking -c section.setting=value might work and be easy to implement.

I'm not sure about how to handle quoted strings.

Some applications handle quoted strings by putting the entire argument in quotes:
-c "setting.section=Value with some spaces in"

Then you split that entire string by the first = and it works the same way as normal.

Sounds good and feels reasonably doable.

Is there any traction on this? I want to integrate Cuberite support into AMP/MCMA3 but it's blocked on this change.

AMP/Cuberite would be great, especially on Pi servers! whatever the implementation details are, lets get this support in there. . .

I'm going to work on this next week, so it should be coming soon.

I know I am a random person. I know this is an impressive piece of work. But I know how to help.
It's just simple c++ combined with .yml formatting and some complicated code. You set the slot amount in the .yml, then call these lines of code.
int ymlslots = "amount from yml";
int players = "online player amount";
if (ymlslots > players){
"Code to kick player who exceeded limit"
}
I hope this helped.🙂

Slots and ports are now completed, that should allow for basic GSP functionality. @PhonicUK are there any other options that you particularly need, otherwise I will add the others slowly.

those are the main ones

Any news on expanding this to the rest of the settings? Also IP binding needs to be settable this way.

This one also helps launching Docker containers using environment variables.


Provide the ability to add datacentres by 'name' (currently its only 'id') for Image templates

https://github.com/softlayer/softlayer-ruby/blob/master/lib/softlayer/ImageTemplate.rb#L95
The name being unique ('dal01', 'dal05'). Can the API just accept array of datacenter names?

@puneetloya Yes it does.

I tried to do image.datacenters = ['dal01', 'dal05']
image being a Sofltayer::ImageTemplate object.
This seem to not work. Can you help me out?

@puneetloya As the doc says, it has to be an array of SoftLayer::Datacenter instances:
e.g.
image.datacenters = ['dal01', 'dal05'].map do |name|
  SoftLayer::Datacenter.datacenter_named(name)
end


No Dart SDKs can be found

using dsm install latest or known versions like dsm install 3.0.3 is producing an error. It seems to be pointing to a url that doesn't exist (https://storage.googleapis.com/dart-archive/channels/stable/release/3.2.6/sdk/dartsdk-darwin-x64-release.zip). Has the url scheme changed recently?

@Yakiyo I just installed dsm recently and I haven't gotten it to work yet, so I'm not sure if it was changed recently. I can confirm that changing the link from darwin to macos on my end gives a functioning link. Happy to help test any fixes on macos to confirm 👍

@VanAnderson a patch fix has been released. You can try out dsm v1.0.3 and it should now work. Please let me know if it works fine or not.

@Yakiyo works like a charm! Thanks for building this, we are lucky to have an open source tool like this!


Known issue with not finding matches?

I get this quite a bit where it tries to make an update but the SEARCH/REPLACE isn't working.
This change will remove the Carousel component and make the rewards slide horizontally.
Committing client/src/pages/Rewards.js before applying edits.
Commit d83967c Remove duplicate import statements for carousel styles in Rewards page.
Malformed response #3, aborting.
InvalidEditBlock: edit failed!

client/src/pages/Rewards.js does not contain the *exact chunk* of SEARCH lines you specified.
Try again.
DO NOT skip blank lines, comments, docstrings, etc!
The SEARCH block needs to be EXACTLY the same as the lines in client/src/pages/Rewards.js with nothing missing!

client/src/pages/Rewards.js does not contain these 17 exact lines in a row:

Thanks for trying aider and filing this issue.
What version of aider are you using? Which model?
I recommend updating to the latest aider version and using aider --4-turbo to use GPT-4 Turbo.

Sorry, I should have put that above:
Aider v0.19.1
VSCode terminal detected, pretty output has been disabled.
Model: gpt-4-0613 using diff edit format
Git repo: .git with 47 files
Repo-map: using 1024 tokens
Use /help to see in-chat commands, run with --help to see cmd line args

Keep up the great work, I've been enjoying using it.

Thanks for the additional context.
Looks like you are using plain gpt-4, not the new preview model. The older gpt-4 is pretty reliable, but it will sometimes mess up the SEARCH/REPLACE blocks no matter what you try. You may need to do the code change manually and then move on to another task with GPT.
You could also try aider --4-turbo to use the new preview model with a new editing format. It may work better, faster, cheaper for you.

Thanks, will give it a go.


Catches should be combined if the logic within them is the same.RSPEC-2147

catch (IOException e) {
  doCleanup();
  logger.log(e);
}
catch (SQLException e) {  // Noncompliant
  doCleanup();
  logger.log(e);
}
catch (TimeoutException e) {  // Compliant; block contents are different
  doCleanup();
  throw e;
}

catch (IOException|SQLException e) {
  doCleanup();
  logger.log(e);
}
catch (TimeoutException e) {
  doCleanup();
  throw e; // This is different
}

https://rules.sonarsource.com/java/RSPEC-2147

fixed by https://github.com/openrewrite/rewrite/pull/1885


How should FPL be calculated?

This is a sub-issue of #14. Most of the space on eligibility forms is taken up with questions that try to get at calculating FPL (income / household size). This is perhaps the most complicated portion of most applications. There are questions that try to map out everyone involved in the household, their sources of income, and who can be listed as a dependent to whom. There are detailed questions about many different types of income. The questions about income types have implications about which documents should be included as proof of income.

Talked with a friend who said that when she applies, one of the difficulties is that she is paid sporadically.  This brings up the issue of how to deal with income that is unsteady.

Talked with @lippytak and he said the relevance of questions depends heavily on the population being asked. Should there be different types of worksheets? How should those be segmented, for which populations?

This is an example of a simple FPL form from mRelief:

Here's an example from the CalFresh calculator:

Here are examples from Access Now's Universal Screening Form:

Here are examples of FPL info collection from the Resource Centers

In terms of calculating household size, the main difference is how each explains the definition of a household member. All seem to overlap substantially with the Healthcare.gov definition of household members.
Access Now asks for the names and relationships of the patient's family unit living in the house, and if the patient did file taxes last year, persons claimed as dependents by the patient who do not live in their household.
Daily Planet and the Health District Resource Centers ask for "people the patient is financially responsible for"
The HealthCare.gov definition of household member is "tax filers + tax dependents":

Yourself
Your spouse (this applies to legally married couples, whether opposite sex or same-sex. Learn more about same-sex couples and the Marketplace.)
Your children who live with you, even if they make enough money to file a tax return themselves
Anyone you include on your tax return as a dependent, even if they don’t live with you
Anyone else under 21 who you take care of and lives with you
Your unmarried partner, only if one or both of these apply:

They're your dependent for tax purposes
They're the parent of your child

Household Income
There are differences in which types of income are explicitly mentioned. In particular, Access Now does not ask about TANF or Food Stamps while Daily Planet does ask about them. At the Resource Centers, this might fall under "Other welfare benefits". There is also a difference in whether the amounts for each source are added up or simply noted. Should all types of income requested actually be a part of determining household income? Furthermore, if a clinic asks patients to include income that would not be part of a household income determination by HealthCare.gov, should the patient's FPL % actually be lower? Do they ask about assets or liabilities?
Here is Access Now's portion that asks about income and sources:

Daily Planet's income form:

While VCU Financial Assistance asks for both income and assets:

For pre-screening purposes, it's important to note some of the existing Medicaid/Medicare pre0screening tools that exist. This is the Kaiser Health Insurance Marketplace Calculator:

Sooo, Medicaid is a bit of a jumble in Virginia. Here is the jumble, via a chart by CoverVA.org:

I feel like we could create a better graph than that one above ... would it be useful to have that moving forward? Might work better than our simple gap graph

@svmatthews Yes! I think we should! Particularly because we may want our app to check against it down the road.

Worth noting that the clean team is not adding fields for household income, but only household members.  They instead just rely on documents to show income.

But they're not doing any kind of quick pre-screening thing, are they?

I was thinking for starters to just make a nice looking graphic for our own usage (i.e. presentations, blog post). At some point we'll have to do FPL calculations, but we can cross that bridge when it comes.

@svmatthews I think we should spin off the FPL chart task as another issue
@esmithayer no, but for full screening it's worth testing with partners whether details about specific income sources are really needed or if they'd rather just see documents. In Clean's case, the details about income sources were made unnecessary by simply providing documents.

:+1: good call on the separate issue!


Generate rules from Python AST?

Thanks for building such a great lib on Python AST! However, writing asserts in rules is pretty tedious, I wonder if it's possible to parse a target python AST, and generate the rules automatically?
Also, another question is, now that the contract is based on a single ast.Node, is it possible to do a partial replacement with multiple statements (spans multiple ast.Nodes)?
For example, how do I write the rule to replace all matches of the following 2 statements:
    boxes[:, 0] = boxes_xywhr[:, 0] - half_w
    boxes[:, 1] = boxes_xywhr[:, 1] - half_h

Do I have to do it in a larger scope node (say ast.FunctionDef)? Or is it possible to get some UD-Chains based on the current ast.Node?

@void-main I am just a beginner using this package! The way I do these is by iterating the body of  say a FunctionDef, find the match, clone and make the changes, then yield Replace(..., ...) - It seems to work. Note that I look for the minimal change, for example if I just want to change say 1 is your example, I make sure that I get to that Constant() and only change it, this way I think it minimizes the MaybeOverlapping

However, writing asserts in rules is pretty tedious, I wonder if it's possible to parse a target python AST, and generate the rules automatically?

One example I can think of is @lmmx's refactory which uses Refactor as a backend and takes the input search form which can be later compiled down to refactor expression. I can't see why this won't be possible as well, as long as some one is interested in writing it down :)

Also, another question is, now that the contract is based on a single ast.Node, is it possible to do a partial replacement with multiple statements (spans multiple ast.Nodes)?

As @MementoRC pointed, indeed it is a use case which is supported but needs a bit more precision to avoid overlaps. This is called Chained or composite actions in our docs, which includes a few more examples. It is still an experimental feature, so would love to hear your feedback as well.


appdef: Workspace inheritance

Parent issue
#2745
Requirements
One workspace may inherit from multiply workspaces.
If no ancestor specified, then sys.Workspace is the default ancestor for a workspace.
⚠ IWorkspace methods: Type(QName), CDoc(), Command and all other type find methods should find types in ancestor workspaces too.
Functional design
  // Only direct ancestor returned if no recurse specified
  IWorkspace.Ancestors(recurse bool) []QName

  // Panics if cycle in ancestoring
  IWorkspaceBuilder.SetAncestor(QName, ...QName)

Tech design
Testing schema

classDiagram
  direction TD

  class sysWS["sys.Workspace"]
  class WS0
  class WS1
  class WS2
  class WS3
  class WS4
  class WS5
  class WS6
  class WS7

  sysWS <|-- WS0
  WS0 <|-- WS1
  WS1 <|-- WS2

  sysWS <|-- WS3
  WS3 <|-- WS4
  WS3 <|-- WS5
  WS4 <|-- WS6
  WS5 <|-- WS7
  WS6 <|-- WS7

Closed with PR #2787


add registry python api and cli tool

this pr add a little python api class for registry and a little tool for repo, tag, manifest operations.
more details, please see contrib/registryapi/README.md

Coverage remained the same at 51.147% when pulling 5e258741d94528770a083c292eeab7dbf9616641 on feilengcui008:master into 0399f6abe5c05fa11276cd8cd8a5e24c6de4264a on vmware:master.

Coverage remained the same at 51.147% when pulling 233bbda16c45cc6cb1afd2e5a24ce1219f374392 on feilengcui008:master into 0399f6abe5c05fa11276cd8cd8a5e24c6de4264a on vmware:master.


[3.6] Also throw if result is not ok()

Backport of #11663

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/10037/

I added the DO_NOT_ERGE_ label as there is a compile issue in this PR. This has been fixed in Original.
Please remove as soon as cherry-pick is done.

http://jenkins.arangodb.biz:8080/job/arangodb-matrix-pr/10041/

Tests blue.