"Alexa is currently idle!", "Connecting...", over and over

Briefly summarize your issue:
When Alexa starts up, it'll just repeat "Alexa is currently idle!" and "Connecting..." over and over, to no end.
What behavior are you observing?
I've gone through the process of setting up the AVS on the Raspberry Pi with KITT.ai. After receiving the <E MediaPlayer:saveOffsetBeforeTeardown - gst_element_query_position failed> error and following one of the solutions, after I rebooted my Pi, my Alexa will just constantly repeat "Alexa is currently idle!" and "Connecting...", over and over, with some logs in between.
########################################
Alexa is currently idle!
########################################
2018-10-06 05:44:43.956 [118] 0 PostConnectSynchronizer:~PostConnectSynchronizer
2018-10-06 05:44:43.956 [118] 5 PostConnectSynchronizer:stop
2018-10-06 05:44:43.956 [118] 5 PostConnectSynchronizer:stopIgnored:reason=alreadyStopped
2018-10-06 05:44:44.816 [118] 0 MessageRouter:connectionStatusChanged:reason=SERVER_SIDE_DISCONNECT,newStatus=PENDING
2018-10-06 05:44:44.822 [118] 5 CBLAuthDelegate:addAuthObserver:observer=0x6fc03b24
2018-10-06 05:44:44.824 [11a] 0 PostConnectSynchronizer:doPostConnect
2018-10-06 05:44:44.824 [11a] 5 PostConnectSynchronizer:setState:from=IDLE,to=RUNNING
2018-10-06 05:44:44.824 [11a] 3 HTTP2Transport:setupDownchannelStream:url=https://avs-alexa-eu.amazon.com/v20160207/directives
2018-10-06 05:44:44.825 [  b] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=PENDING,reason=SERVER_SIDE_DISCONNECT
2018-10-06 05:44:44.825 [11a] 0 HTTP2StreamPool:getStream:streamId=513,numAcquiredStreams=1
#############################
Connecting...
#############################
2018-10-06 05:44:44.824 [11b] 5 PostConnectSynchronizer:mainLoop
2018-10-06 05:44:44.826 [11b] 5 PostConnectSynchronizer:setState:from=RUNNING,to=FETCHING
2018-10-06 05:44:44.826 [118] 0 HTTP2StreamPool:releaseStream:streamId=509,numAcquiredStreams=0
2018-10-06 05:44:44.827 [ 12] 5 VisualActivityTracker:provideState
2018-10-06 05:44:44.828 [ 14] 0 ExternalMediaPlayer:executeProvideState:sendToken=true,stateRequestToken=129
2018-10-06 05:44:44.828 [ 12] 5 NotificationsCapabilityAgent:provideState:stateRequestToken=129
2018-10-06 05:44:44.829 [ 12] 5 AudioActivityTracker:provideState
2018-10-06 05:44:44.829 [  c] 5 NotificationsCapabilityAgent:executeProvideState:sendToken=true,stateRequestToken=129
2018-10-06 05:44:44.828 [ 13] 5 VisualActivityTracker:executeProvideState
2018-10-06 05:44:44.829 [ 15] 5 AudioActivityTracker:executeProvideState
2018-10-06 05:44:44.830 [ 19] 5 CBLAuthDelegate:removeAuthObserver:observer=0x72a5675c
2018-10-06 05:44:44.829 [ 14] 9 ContextManager:updateStateLocked:action=updatedState,namespace=Alexa.PlaybackStateReporter,name=playbackState
2018-10-06 05:44:44.839 [ 14] 0 ExternalMediaPlayer:executeProvideState:sendToken=true,stateRequestToken=129
2018-10-06 05:44:44.840 [ 14] 9 ContextManager:updateStateLocked:action=updatedState,namespace=ExternalMediaPlayer,name=ExternalMediaPlayerState
2018-10-06 05:44:44.842 [ 13] 9 ContextManager:updateStateLocked:action=updatedState,namespace=VisualActivityTracker,name=ActivityState
2018-10-06 05:44:44.842 [ 15] 9 ContextManager:updateStateLocked:action=updatedState,namespace=AudioActivityTracker,name=ActivityState
2018-10-06 05:44:44.843 [  c] 9 ContextManager:updateStateLocked:action=updatedState,namespace=Notifications,name=IndicatorState
2018-10-06 05:44:44.844 [ 12] 9 ContextManager:buildContextIgnored:namespace=VisualActivityTracker,name=ActivityState
2018-10-06 05:44:44.846 [ 12] 9 ContextManager:buildContextIgnored:namespace=AudioActivityTracker,name=ActivityState
2018-10-06 05:44:44.851 [ 12] 5 ContextManager:buildContextSuccessful
2018-10-06 05:44:44.851 [ 12] 5 PostConnectSynchronizer:onContextAvailable
2018-10-06 05:44:44.852 [ 12] 5 PostConnectSynchronizer:setState:from=FETCHING,to=SENDING
2018-10-06 05:44:44.856 [ 12] 0 EventBuilder:buildJsonEventString:messageId=8c5c08c8-dc84-4cac-9255-a81ea20e5500,namespace=System,name=SynchronizeState
2018-10-06 05:44:44.861 [ 12] 9 HTTP2Transport:enqueueRequest
2018-10-06 05:44:44.964 [11a] 9 HTTP2Transport:establishConnectionWaitingForActivity
2018-10-06 05:44:45.083 [11a] 9 HTTP2Transport:establishConnectionWaitingForActivity
2018-10-06 05:44:45.091 [11a] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 02fb66fffeddc7d6-000017ed-0002ee07-014eeca596f0186a-563f552d-1
2018-10-06 05:44:45.092 [11a] 0 HTTP2Transport:processNextOutgoingMessage
2018-10-06 05:44:45.092 [11a] 0 HTTP2StreamPool:getStream:streamId=515,numAcquiredStreams=2
2018-10-06 05:44:45.092 [11a] 9 HTTP2Transport:insertActiveStream:handle=0x721d5778
2018-10-06 05:44:45.472 [11a] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 02fb66fffeddc7d6-000017ed-0002ee07-014eeca596f0186a-563f552d-3
2018-10-06 05:44:45.473 [11a] 5 PostConnectSynchronizer:onSendCompleted:status=SUCCESS_NO_CONTENT
2018-10-06 05:44:45.473 [11a] 5 PostConnectSynchronizer:stop
2018-10-06 05:44:45.473 [11a] 5 PostConnectSynchronizer:setState:from=SENDING,to=STOPPING
2018-10-06 05:44:45.473 [11b] 5 PostConnectSynchronizer:mainLoopReturning
2018-10-06 05:44:45.473 [11a] 5 PostConnectSynchronizer:setState:from=STOPPING,to=STOPPED
2018-10-06 05:44:45.473 [11a] 0 MessageRouter:connectionStatusChanged:reason=ACL_CLIENT_REQUEST,newStatus=CONNECTED
2018-10-06 05:44:45.474 [11a] 0 HTTP2Transport:cleanupFinishedStream:streamId=515,result=204
2018-10-06 05:44:45.474 [11a] 0 HTTP2StreamPool:releaseStream:streamId=515,numAcquiredStreams=1
2018-10-06 05:44:45.474 [11a] 0 CurlEasyHandleWrapper:reset:responseCode=HTTP_RESPONSE_SUCCESS_NO_CONTENT
2018-10-06 05:44:45.474 [  b] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=CONNECTED,reason=ACL_CLIENT_REQUEST
2018-10-06 05:44:45.474 [11a] 0 PostConnectSynchronizer:~PostConnectSynchronizer
2018-10-06 05:44:45.474 [11a] 5 PostConnectSynchronizer:stop
2018-10-06 05:44:45.474 [11a] 5 PostConnectSynchronizer:stopIgnored:reason=alreadyStopped
########################################
Alexa is currently idle!
########################################
2018-10-06 05:44:46.359 [11a] 0 MessageRouter:connectionStatusChanged:reason=SERVER_SIDE_DISCONNECT,newStatus=PENDING
2018-10-06 05:44:46.364 [11a] 5 CBLAuthDelegate:addAuthObserver:observer=0x72195f14
2018-10-06 05:44:46.365 [11a] 0 HTTP2StreamPool:releaseStream:streamId=513,numAcquiredStreams=0
2018-10-06 05:44:46.365 [11c] 0 PostConnectSynchronizer:doPostConnect
2018-10-06 05:44:46.365 [11c] 5 PostConnectSynchronizer:setState:from=IDLE,to=RUNNING
2018-10-06 05:44:46.366 [  b] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=PENDING,reason=SERVER_SIDE_DISCONNECT
#############################
Connecting...
#############################
2018-10-06 05:44:46.366 [11c] 3 HTTP2Transport:setupDownchannelStream:url=https://avs-alexa-eu.amazon.com/v20160207/directives
2018-10-06 05:44:46.367 [ 19] 5 CBLAuthDelegate:removeAuthObserver:observer=0x6fc03b24
2018-10-06 05:44:46.367 [11d] 5 PostConnectSynchronizer:mainLoop
2018-10-06 05:44:46.367 [11d] 5 PostConnectSynchronizer:setState:from=RUNNING,to=FETCHING
2018-10-06 05:44:46.367 [11c] 0 HTTP2StreamPool:getStream:streamId=517,numAcquiredStreams=1
2018-10-06 05:44:46.367 [ 12] 5 VisualActivityTracker:provideState
2018-10-06 05:44:46.368 [ 13] 5 VisualActivityTracker:executeProvideState
2018-10-06 05:44:46.368 [ 12] 5 NotificationsCapabilityAgent:provideState:stateRequestToken=130
2018-10-06 05:44:46.368 [ 14] 0 ExternalMediaPlayer:executeProvideState:sendToken=true,stateRequestToken=130
2018-10-06 05:44:46.368 [ 13] 9 ContextManager:updateStateLocked:action=updatedState,namespace=VisualActivityTracker,name=ActivityState
2018-10-06 05:44:46.369 [  c] 5 NotificationsCapabilityAgent:executeProvideState:sendToken=true,stateRequestToken=130
2018-10-06 05:44:46.369 [ 12] 5 AudioActivityTracker:provideState
2018-10-06 05:44:46.369 [ 14] 9 ContextManager:updateStateLocked:action=updatedState,namespace=Alexa.PlaybackStateReporter,name=playbackState
2018-10-06 05:44:46.369 [ 15] 5 AudioActivityTracker:executeProvideState
2018-10-06 05:44:46.370 [ 15] 9 ContextManager:updateStateLocked:action=updatedState,namespace=AudioActivityTracker,name=ActivityState
2018-10-06 05:44:46.370 [ 14] 0 ExternalMediaPlayer:executeProvideState:sendToken=true,stateRequestToken=130
2018-10-06 05:44:46.370 [  c] 9 ContextManager:updateStateLocked:action=updatedState,namespace=Notifications,name=IndicatorState
2018-10-06 05:44:46.371 [ 14] 9 ContextManager:updateStateLocked:action=updatedState,namespace=ExternalMediaPlayer,name=ExternalMediaPlayerState
2018-10-06 05:44:46.373 [ 12] 9 ContextManager:buildContextIgnored:namespace=VisualActivityTracker,name=ActivityState
2018-10-06 05:44:46.374 [ 12] 9 ContextManager:buildContextIgnored:namespace=AudioActivityTracker,name=ActivityState
2018-10-06 05:44:46.378 [ 12] 5 ContextManager:buildContextSuccessful
2018-10-06 05:44:46.378 [ 12] 5 PostConnectSynchronizer:onContextAvailable
2018-10-06 05:44:46.378 [ 12] 5 PostConnectSynchronizer:setState:from=FETCHING,to=SENDING
2018-10-06 05:44:46.381 [ 12] 0 EventBuilder:buildJsonEventString:messageId=43ae7e5e-39b5-445e-a8d4-f0bf7b6a913a,namespace=System,name=SynchronizeState
2018-10-06 05:44:46.384 [ 12] 9 HTTP2Transport:enqueueRequest
2018-10-06 05:44:46.486 [11c] 9 HTTP2Transport:establishConnectionWaitingForActivity
2018-10-06 05:44:46.595 [11c] 9 HTTP2Transport:establishConnectionWaitingForActivity
2018-10-06 05:44:46.623 [11c] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 02af72fffe1b7c64-00001a8f-00031d60-537b919ec8701e6a-60670c9d-1
2018-10-06 05:44:46.623 [11c] 0 HTTP2Transport:processNextOutgoingMessage
2018-10-06 05:44:46.624 [11c] 0 HTTP2StreamPool:getStream:streamId=519,numAcquiredStreams=2
2018-10-06 05:44:46.624 [11c] 9 HTTP2Transport:insertActiveStream:handle=0xa6bd60
2018-10-06 05:44:47.035 [11c] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 02af72fffe1b7c64-00001a8f-00031d60-537b919ec8701e6a-60670c9d-3
2018-10-06 05:44:47.036 [11c] 5 PostConnectSynchronizer:onSendCompleted:status=SUCCESS_NO_CONTENT
2018-10-06 05:44:47.036 [11c] 5 PostConnectSynchronizer:stop
2018-10-06 05:44:47.036 [11c] 5 PostConnectSynchronizer:setState:from=SENDING,to=STOPPING
2018-10-06 05:44:47.036 [11d] 5 PostConnectSynchronizer:mainLoopReturning
2018-10-06 05:44:47.036 [11c] 5 PostConnectSynchronizer:setState:from=STOPPING,to=STOPPED
2018-10-06 05:44:47.037 [11c] 0 MessageRouter:connectionStatusChanged:reason=ACL_CLIENT_REQUEST,newStatus=CONNECTED
2018-10-06 05:44:47.037 [11c] 0 HTTP2Transport:cleanupFinishedStream:streamId=519,result=204
2018-10-06 05:44:47.037 [11c] 0 HTTP2StreamPool:releaseStream:streamId=519,numAcquiredStreams=1
2018-10-06 05:44:47.037 [11c] 0 CurlEasyHandleWrapper:reset:responseCode=HTTP_RESPONSE_SUCCESS_NO_CONTENT
2018-10-06 05:44:47.037 [  b] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=CONNECTED,reason=ACL_CLIENT_REQUEST
########################################
Alexa is currently idle!
########################################
2018-10-06 05:44:47.038 [11c] 0 PostConnectSynchronizer:~PostConnectSynchronizer
2018-10-06 05:44:47.039 [11c] 5 PostConnectSynchronizer:stop
2018-10-06 05:44:47.039 [11c] 5 PostConnectSynchronizer:stopIgnored:reason=alreadyStopped
2018-10-06 05:44:47.938 [11c] 0 MessageRouter:connectionStatusChanged:reason=SERVER_SIDE_DISCONNECT,newStatus=PENDING
2018-10-06 05:44:47.944 [11c] 5 CBLAuthDelegate:addAuthObserver:observer=0xa59f54
2018-10-06 05:44:47.945 [11e] 0 PostConnectSynchronizer:doPostConnect
2018-10-06 05:44:47.946 [11e] 5 PostConnectSynchronizer:setState:from=IDLE,to=RUNNING
2018-10-06 05:44:47.946 [  b] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=PENDING,reason=SERVER_SIDE_DISCONNECT
#############################
Connecting...
What version of the AVS Device SDK are you using?
  Raspberry Pi B+, Rasbian, the latest guide on here for AVS w/ KITT.ai

Tell us what hardware you're using:

[ ] Desktop / Laptop
[x] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[ ] Linux
[ ] MacOS
[x] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @Nagaan , make sure that you are only running one instance of SampleApp on your device. Also make sure that you are not running another SampleApp with the same serial number.

Yeah... that was it. Thanks Visayamv


docs: fix license badge url

ONLY fix the License badge.
PS: The diff looks like a mess  for all badges in one line, you may need split in multiple lines if you like.

Coverage remained the same at 100.0% when pulling 70d3f03b1925d80a7390466791e0f9aed0334413 on int64ago:master into 2cec17cf58566e9cf24145f540811aa054eb62d4 on mirrorjs:master.

Thanks a lot!


Revert V001 to Fix DB

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ x ] No

Issue is:
[2023-02-13T18:07:35.951Z]   -> Applied to database : -1565744014
[2023-02-13T18:07:35.951Z]   -> Resolved locally    : -775949367
I reverted the file and check the checksum in my local dev which changed it back to the original so should fix the current issue on Master.


Main Thread

Good morning, mistake or owncloud/ios-library just goes in main-thread ?

Hey @marinotws it should go in other thread... mainly because it is async and works in blocks

mmmm i do not understand I have done several tests but the other thread just does not ....

All the request of the library are executed in block. You obtain the response on an async mode (you make the request in a method and the method finish but the response came after a while in the block).
I do not know if this information could help you... what is the problem that you are having?

Hi @javiergonzper  i want use multithread in download but with my operationQueue and my operation control. I understand that the library must use his operationQueue, if I try to use the operationQueue of OC and superimpose my queue for a check MultiTread then everything stops working .... I do not know if I was clear. :-)

Hey @marinotws you can modify the number of the concurrent operations in order to download/uploads more than one file.
Check on the Appdelegate.m of ownCloud on the method:

(OCCommunication*)sharedOCCommunication

There we initialize a custom NSURLSessionConfiguration and you can do the same to have multiple transferes.
Hope it works for you

yes @javiergonzper but i want user two configuration ... one for multiple transferes (small files ...) and one for maxConcurrentOperationCount = 1 ...

I see.. that it is not supported by the library. To do that you have to modify many things on the library and add your own download methods (downloadSmall downloadBigFiles).
Are you using Sessions or NSOperations?

yes NSOperation.

Ok. With NSOperations we have a queue that allow more than 1 operation. The point is that we do not add the next operation to the queue until the previous one of the same type (network/download/upload) finished.
You have to modify the queue manager that is the method:

(void) addOperationToTheNetworkQueue:(OCHTTPRequestOperation *) operation

And also you have to create a new "typeOfOperationQueue" for each download that you want to have at the same time.
It is no easy. This method was think to work with one task of each type at the same time.

aaaa @javiergonzper now i understand why i could not let go more than one operation at a time ... :-)

We are cheating the queue :wink:

I will close the issue if. @marinotws if you have any question about it open it again :+1:

@javiergonzper  I'm fighting with NSURLSession ... it's "normal" that in background the :
[[AppDelegate sharedOCCommunication] setTaskDidCompleteBlock:^(NSURLSession *session, NSURLSessionTask *task, NSError *error)

is not always called ... in practice is not reliable ??
thanks. !!

@marinotws check our AppDelegate. There you can understand how to use the background process to make the transfers and how to recover them once you came from background.

@javiergonzper  I have a bit 'watched even if not easy sense of it ... but the question remains .. is possible that not all setTaskDidCompleteBlock are called? :)


usd file occupied until next load (FTV-1108)

The target usd file will not be closed after open, call m_scene.Close() after load will not close the usd file. Stop playing at editor mode will not close that file either, I have to restart unity editor in order to unlock the file read stream.

Sorry for the delay! I've noticed this too -- I think the issue is that USD uses a layer cache under the hood and the file remains open in the Sdf cache.
Thanks for calling this out, I'll take a look.

Do you have exact repro steps for this?
I've definitely seen it happen in the past, but I was just exporting some files and wasn't seeing it now...

Hmm, I am able to repro this, but am not able to repro if I call Close() on the scene (though I haven't tested this in play mode).

Close is required to be called, because C# garbage collector will potentially hold a reference to the open stage indefinitely.

Can't repro in 3.0.0-exp.1
Please reopen if still a problem


Status command text contains log output

$ winsw status
The above command now emits INFO logging text in addition to the expected service status string due to ConsoleLogger being enabled if in "cli mode" (which seems to be if you have args > 0)??? There also seems no way to disable this logging from the configuration?

Not for now. https://github.com/kohsuke/winsw/issues/158 should add support of it.
BTW I doubt that "status" command will ever guarantee to provide a short output since there is some long-term plan to have more diagnostics there. What is your use-case? Is it for monitoring?

The current docs on the front page say that the status command will return one line which indicates the status of the service with values of "NonExistant", "Started", or "Stopped", which is no longer true.
Our use case is that we have automated deployment of a Spring Boot app in which we have an initial powershell step which checks the state of the service (utilizing the result of the winsw status command) and then stops it if running. There is also a final step after deployment to check for the existance of the service (again using winsw status) and install it if necessary and then start the service.
Why change the exisitng "status" command to add extra diagnostics output and potentially cause breakage for existing users when you could add an additional command such as "winsw diagnotics" or something similiar and avoid breaking anything?

If it is documented, I agree it should behave in the described way. Adding it to the 2.2 scope

Much appreciated, and thank you for your time and effort maintaining this project! :-)

Released in 2.1.1.
Sorry for the delay. I should spend more time on establishing Continuous Delivery in my projects :(

Looks to be completed, the command works well on the current version. Please feel free to reopen if I missed anything


scissors() fails with files that have spaces in them

Errors:
pdftk: Error: Unable to find file.
Error: Failed to open PDF file:
   -
Errors encountered.  No output created.
Done.  Input errors, so no output created.

Steps to reproduce:

Take a basic working example like in the readme of this repo
Add spaces to input file name
Prints this obscure error

Frustratingly doing this: scissors( 'test\ input.pdf' ) also does not solve the issue, which seems pretty dumb

Sorry, both @tcr and I are not currently working on this project. I am happy to merge PRs with bug fixes.

@Hugheth If you can paste a minimal example of this failing I think we can point out a fix quickly. From a cursory glance I'm unsure where this could be failing.


⚠ Mobitopup has degraded performance

In ace9a42, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3627 ms

Resolved: Mobitopup performance has improved in 6575e62.


API Documentation

Hello,
I currently have difficulties accessing the API documentation for thrust.
I clicked the links on this page (https://github.com/thrust/thrust/wiki/Documentation) and the site (http://thrust.github.io/) doesn't seem to exist.
Am I the only one having this problem? Could you please help?
Thank you.

All the links on that page seem to work for me.

Seems to be fine for me. Please re-open if you're still having issues.


master nodes dont need persistence

Disable data volume for master nodes.

[X] Chart version not bumped (the versions are all bumped and released at the same time)
[ ] README.md updated with any new values or changes
[ ] Updated template tests in ${CHART}/tests/*.py
[ ] Updated integration tests in ${CHART}/examples/*/test/goss.yaml

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

Actually they did ^^


Chatbot covid punjab pmidc team gis

GIS officer flow with a new keyword 'PBGIS'
@rushang7-eGov @rakesh-wt-egov @rohit-eGov @ashok-eGov @ramakrishnaippili-eGov

Was the new chat flow thoroughly tested on the local machine?
There are chances of citizen users entering the keyword "PBGIS". Have you considered this scenario, and has it been handled in the code?

Was the new chat flow thoroughly tested on the local machine(with dummy service and with the actual API calls too)?
There are chances of citizen users entering the keyword "PBGIS". Have you considered this scenario, and has it been handled in the code?

@rushang7-eGov >1.---I have checked the complete flow. Today some variables are changed so I changed those also and cross checked on server database.
2.---->In GIS flow, when there is ask for mobile number then if that person is gis officer then he will enter his registered number or If he is just a citizen then he can type 'Hi' to move to covid Flow.


Help to access useSWR return

Hello, I'm trying to use SWR but I'm having some problems accessing the data inside the return.
I'm deconstructing the return:
const { data:movies } = useSWR('http://showtimes.everyday.in.th/api/v2/movie/')
And I'm getting this result:

And I need to access the array that I highlighted, but I don't know how to access it...
I tried to deconstruct in other way also:
const { data: { data:movies } } = useSWR('http://showtimes.everyday.in.th/api/v2/movie/')
But that didn't help either.
What I'm missing?
Thanks

data is a reference (https://v3.vuejs.org/api/refs-api.html). You need to access the .value of the data. eg.
const { data: movies } = useSWR('http://showtimes.everyday.in.th/api/v2/movie/')

watch(movies, () => console.log(movies.value))


Example of gradient clipping with manual optimization does not handle gradient unscaling properly

📚 Documentation
The doc of manual optimization give an example of gradient clipping (added by #16023):
from lightning.pytorch import LightningModule

class SimpleModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.automatic_optimization = False

    def training_step(self, batch, batch_idx):
        opt = self.optimizers()

        # compute loss
        loss = self.compute_loss(batch)

        opt.zero_grad()
        self.manual_backward(loss)

        # clip gradients
        self.clip_gradients(opt, gradient_clip_val=0.5, gradient_clip_algorithm="norm")

        opt.step()

However, it seems that this example does not handle gradient unscaling properly. The gradients should be unscaled when using mixed precision training before calling self.clip_gradients.
cc @borda

I'm not sure if this is a limitation or not, currently I actually find no simple way to achieve this.
For automatic optimization, gradient unscaling is performed right after the optimizer closure (training step, zero grad, backward) and before the gradient clipping (called in self._after_closure).
https://github.com/Lightning-AI/lightning/blob/e9c42ed11f68aafc18fe64a26d87118d57a5743c/src/lightning/pytorch/plugins/precision/amp.py#L78-L84
https://github.com/Lightning-AI/lightning/blob/e9c42ed11f68aafc18fe64a26d87118d57a5743c/src/lightning/pytorch/plugins/precision/precision_plugin.py#L77-L87
https://github.com/Lightning-AI/lightning/blob/e9c42ed11f68aafc18fe64a26d87118d57a5743c/src/lightning/pytorch/plugins/precision/precision_plugin.py#L116-L125
However, for manual optimization, the calling order is:

epoch_loop.manual_optimization.run()
model.training_step()
inside the training step, user manually backward the loss (with gradient scaling), and call optimizer.step().
In optimizer.step(), the gradients are unscaled, but the gradient clipping for the unscaled gradients are disabled due to manual optimization (in _after_closure -> _clip_gradients).

Above all, there seems to be no space for the user to insert gradient unscaling in training_step, since it's always unscaled in optimizer.step(). On ther other hand, The user is also unable to clip gradients after the gradients are unscaled before the optimizer's actual step.
So here comes a question, why not just also allow automatic gradient clipping for manual optimization?

Hi, did you manage to find the correct way to do the scaling before the cliping for manual optimization ?

@kkoutini No, I give up and use fabric instead.

We might consider calling clip_gradients within the on_before_optimizer_step.
from lightning.pytorch import LightningModule

class SimpleModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.automatic_optimization = False

    def training_step(self, batch, batch_idx):
        opt = self.optimizers()

        # compute loss
        loss = self.compute_loss(batch)

        opt.zero_grad()
        self.manual_backward(loss)

        opt.step()

    # # Include optimizer_idx parameter when using Lightning 1.x.x
    # def on_before_optimizer_step(self, optimizer, optimizer_idx)
    def on_before_optimizer_step(self, optimizer):
        # clip gradients
        self.clip_gradients(optimizer, gradient_clip_val=0.5, gradient_clip_algorithm="norm")

@manipopopo are you sure that on_before_optimizer_step will be run when automatic_optimization=True?

@manipopopo thank you for brilliant explanation. Could you clarify how to use workaround with clipping in on_before_optimizer_step if I have two optimizers (I use PTL >= 2.x.x)?

The on_before_optimizer_step method will receive different optimizers as its input parameter. If you want to apply different behaviors—such as using different gradient clip values for each optimizer—you can adjust the method accordingly:

    def training_step(self, batch, batch_idx):
        # ...

        lightning_optimizer_0, lightning_optimizer_1 = self.optimizers()

        # ...

        lightning_optimizer_0.step() # on_before_optimizer_step will receive lightning_optimizer_0.optimizer

        # ...

        lightning_optimizer_1.step() # on_before_optimizer_step will receive lightning_optimizer_1.optimizer

    def on_before_optimizer_step(self, optimizer):
        lightning_optimizer_0, lightning_optimizer_1 = self.optimizers()
        optimizer_0 = lightning_optimizer_0.optimizer
        optimizer_1 = lightning_optimizer_1.optimizer

        assert optimizer in {optimizer_0, optimizer_1}

        # Suppose we want to use different gradient_clip_val for different optimizers.
        if optimizer is optimizer_0:
            gradient_clip_val = 10.0
        else:
            gradient_clip_val = 20.0

        self.clip_gradients(optimizer, gradient_clip_val=gradient_clip_val, gradient_clip_algorithm="norm")

This template should work with the current version of PyTorch Lightning. However, the behavior of hooks and internal methods in PyTorch Lightning may change in future updates. To ensure your implementation remains robust across versions, it's advisable to write small unit tests to verify functionality.

@manipopopo thanks for answer, but I suppose current workaround has some problem.
Context: I am training the model in bf16 that contains two modules: first module is optimized via optimizer1 every step, second module is optimized via optimizer2 every 2 steps.
Without clipping, my training is ok, sometimes gradients explode, but still without NaN values.
When I applied self.clip_gradients in self.on_before_optimizer_step, my training is crashed after 5000 iterations, because of NaN values in loss.
What do you think how I can fix it?


Add profile to load a custom db artifact

This PR adds a profile to the KOMET pom that allows a developer to specify a custom database artifact fashioned after solor-snap-db. The version number of the artifact is specified in the pom. All other properties must be supplied via the user's settings file.

@kec, For some reason I can't assign you as a reviewer, but could you please let me know if this looks ok to you?


Use nickname as editor's name if github user has not set a full name

Currently the username displayed within the wiki is "null" when there is no full name set within github. Rather then null the github nickname should be used as this is always available.

Going to fix this, thanks


How can I test a simple Javascript code with iotjs-vscode-extension ?

I followed the instruction on the Readme file.
But I have failed to start debugging of a sample javascript file.
Could you explain more detailed instructions?
my test)
I tested using following  instructions
$ git clone https://github.com/Samsung/iotjs-vscode-extension.git
$ cd iotjs-vscode-extension ~/.vscode  -r
$ cd path/to/the/iotjs
$ ./tools/build.py --buildtype=debug --jerry-debugger
$ ./build/x86_64-linux/debug/bin/iotjs --start-debug-server ./test/run_pass/test_console.js
and I made a launch.json file in iotjs/.vscode/ with the following contents
{
"version": "0.2.0",
"configurations": [
{
"name": "IoT.js: Attach",
"type": "iotjs",
"request": "attach",
"address": "localhost",
"port": 5001,
"localRoot": "${workspaceRoot}/test/run_pass/test_console.js",
"stopOnEntry": false,
"debugLog": 0
},
]
}
I pushed  F5 button on vscode ..
and I received a  fail message written in Korean..
Here is a brief translation => "The debug adapter process terminated unexpectedly"

@haesik First of all, your launch.json is incorrect, the localRoot should be your working directory's path, the most cases the ${workspaceRoot} is enough.
In the other hand I think if you want to use the debugger directly from the iotjs directory insted of a separated empty project folder, the debugger waiting mode would be much better because of you already have that file on your computer what you want to debug.
I suggest you that to start the iotjs with this command:
./build/x86_64-linux/debug/bin/iotjs --start-debug-server --debugger-wait-source
In this case the iotjs will start the debug server and if you hit the F5 button in the vscode the debugger client will connect to it, then you will get a prompt inside the vscode where you can select the desired test file.

I have tried localRoot with ${workspaceRoot}, but the result is same.
Could you check the following sequence ?
$ git clone https://github.com/Samsung/iotjs-vscode-extension.git
$ cp iotjs-vscode-extension ~/.vscode  -r
$ cd path/to/the/iotjs
$ code .
$ ./tools/build.py --buildtype=debug --jerry-debugger
$ ./build/x86_64-linux/debug/bin/iotjs --start-debug-server --debugger-wait-source
and I made a launch.json file in iotjs/.vscode/ with the following contents
{
"version": "0.2.0",
"configurations": [
{
"name": "IoT.js: Attach",
"type": "iotjs",
"request": "attach",
"address": "localhost",
"port": 5001,
"localRoot": "${workspaceRoot}",
"stopOnEntry": false,
"debugLog": 0
},
]
}
I pushed  F5 button on vscode ..
and I received a same fail message..

@haesik I see, sorry, I missed that you wanted to copy the extension into the vscode to avoid the developer debug run. In this case the copy path that you using is incorrect, the extensions are listed in ~/.vscode/extensions/ folder, so you have to copy the extension there.
Use this: cp iotjs-vscode-extension ~/.vscode/extensions/ -r
After this, the sequence that you using should work properly.

@haesik npm install and npm run compile are required.
cd ~/.vscode/extensions/iotjs-vscode-extension
npm install
npm run compile

@knightburton Could you update the READEME.md about install extensions?

@hs0225 Sure, I forgot that the npm install and npm run compile are requires for the first time running, I'll update the README.md.

I've opened a PR about the README update and since this issue is solved I close this.

Today, I have tested vscode-extension with latest iotjs and I got an error message.
Can you test with latest iotjs and iotjs-vscode-extension?

I have tested with the following instructions

$ git clone https://github.com/Samsung/iotjs-vscode-extension.git
$ cp iotjs-vscode-extension ~/.vscode -r
$ cd ~/.vscode/extensions/iotjs-vscode-extension
$ npm install
$ npm run compile
$ cd path/to/the/iotjs
$ ./tools/build.py --buildtype=debug --jerry-debugger  --no-snapshot
$ ./build/x86_64-linux/debug/bin/iotjs --start-debug-server ./test/run_pass/test_console.js &
$ code .
and I made a launch.json file in iotjs/.vscode/ with the following contents
{
"version": "0.2.0",
"configurations": [
{
"name": "IoT.js: Attach",
"type": "iotjs",
"request": "attach",
"address": "localhost",
"port": 5001,
"localRoot": "${workspaceRoot}",
"stopOnEntry": false,
"debugLog": 1
},
]
}
and I connect to a running engine and I got the following message,
TCP Error: Connection reset by peer
ICE: Assertion 'JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED' failed at /home/haesik/iotjs/iotjs/deps/jerry/jerry-core/parser/js/js-parser.c(parser_append_breakpoint_info):1403.
Error: ERR_FAILED_INTERNAL_ASSERTION
Could you check it?

And One more Issue is that
When i build with the following command
$ ./tools/build.py --buildtype=debug --jerry-debugger
This time I got the following message and I can't use break point..

TCP Error: Resource temporarily unavailable
Hello IoT.js!!
1
2
3
13
[1,2,3]
1 2 3
a 1 b 2 c 3
test null undefined
{
"a": "123",
"b": 123,
"c": [
1,
2,
3
]
}
Hello IoT.js!!
1
2
3
13
[1,2,3]
1 2 3
a 1 b 2 c 3
Could you check this also?

The path you wrote in your second command is incorrect.
The correct path to copy your extension folder would be ~/.vscode/extensions instead of ~/.vscode/
You should also check first if you had a previous version of the extension in that same folder and delete it before copying the new one.
These fixes https://github.com/jerryscript-project/jerryscript/pull/2643 and https://github.com/jerryscript-project/jerryscript/pull/2606 will be added to IoT.js in the next JerryScript update: https://github.com/Samsung/iotjs/pull/1820.
After that you will be able to build without --no-snapshot flag.


[Add polygon] When drawing, last edge is only updated when map stops moving

We should update the edge on camera move rather than on drag finished.
@shobhitagarwal1612 Also related to your last PR.. could you PTAL?

SGTM

I created a sample PR with the changes. It shows some performance issues. Possible reasons:

We create a new instance of Point and CameraPosition on each position update.
PolygonDrawingView listens to position updates regardless of visibility.

Is GoogleMapsAdapter#setMapFeatures updating only the changed features as it should, or is it updating all features on each change?

Features are only being updated when the map stops moving. IMO, just the unregulated creation of objects on each camera motion is behind the cause. (Plus a couple of more optimisations)

@shobhitagarwal1612 for current status -- would you like to take this on as well?

Closing in favor of https://github.com/google/ground-android/issues/1839


[FieldSensitivePL] NFC: Removed unused API.

An overload using SmallBitVectors that duplicated the implementation of the original function which used TypeTreeLeafTypeRanges was added earlier.  Here, the original function is (1) made to delegate to the new overload and then (2) removed altogether because it's no longer used.

@swift-ci please test

I'm ambivalent about this. If we have a range-taking interface, the there's no need to instantiate a bitvector for most liveness updates. They call through to addUse and directly set the range bits.


Solve nonlinear Poisson problem

Hi all,
I finish the whole code and I didn't find any error in my code, but the result is wrong.
Could somebody fimiliar with Nonlinear Problem help me?
Note: don't be afraid of the many multi-lines codes. I'm sure it's very clear.
/*
 * Solve Nonlinear Problem: -Laplace u + u^2 = f
 * Exact solution u_exact = sin(2*pi*x)
 *
 * Newton Linearization: Given u, solve du
 * -Laplace du + 2u*du = - F(u), where F(u) = -Laplace u + u^2 - f
 * */
#include <iostream>
#include "mfem.hpp"

using namespace std;
using namespace mfem;

// u = sin( 2 *  pi * x)
double u_exact_(const Vector& x)
{
    MFEM_ASSERT(x.Size() == 1, "Must be 1D mesh");
    return sin(2*M_PI*x[0]);
}

// -Laplace u + u^2 = f, deduced from analytic solution u_exact
double f_exact_(const Vector& x)
{
    return 4*M_PI*M_PI*sin(2*M_PI*x[0]) + sin(2*M_PI*x[0])*sin(2*M_PI*x[0]);
}

class NLFIntegrator: public NonlinearFormIntegrator
{
private:
    Vector shape;
    Coefficient* f; // f in F(u)=-Laplace u + u^2 - f
    DenseMatrix dshape, dshapedxt, invdfdx;
    Vector vec, pointflux;
public:
    NLFIntegrator(Coefficient* f_): f(f_) {}
    virtual void AssembleElementVector(const FiniteElement& el,
                                       ElementTransformation& Tr,
                                       const Vector& elfun,
                                       Vector& elvect)
    {
        int dof = el.GetDof();
        int dim = el.GetDim();
        shape.SetSize(dof);
        dshape.SetSize(dof, dim);
        invdfdx.SetSize(dim);
        vec.SetSize(dim);
        pointflux.SetSize(dim);

        elvect.SetSize(dof);
        elvect = 0.0;

        const IntegrationRule* ir = &IntRules.Get(el.GetGeomType(), 2*el.GetOrder()+Tr.OrderW());

        for (int i=0; i<ir->GetNPoints(); i++) {
            const IntegrationPoint& ip = ir->IntPoint(i);
            el.CalcShape(ip, shape);
            Tr.SetIntPoint(&ip);

            //Given u, compute (u^2-f, v), v is shape function
            double fun_val = (elfun*shape)*(elfun*shape) - (*f).Eval(Tr, ip);
            double w = ip.weight * Tr.Weight() * fun_val;
            add(elvect, w, shape, elvect);

            // Given u, compute (grad(u), grad(v)), v is shape function. Ref: DiffusionIntegrator::AssembleElementVector()
            CalcAdjugate(Tr.Jacobian(), invdfdx);
            dshape.MultTranspose(elfun, vec);
            invdfdx.MultTranspose(vec, pointflux);
            double ww = ip.weight / Tr.Weight();
            pointflux *= ww;
            invdfdx.Mult(pointflux, vec);
            dshape.AddMult(vec, elvect);
        }
    }

    virtual void AssembleElementGrad(const FiniteElement& el,
                                     ElementTransformation& Tr,
                                     const Vector& elfun,
                                     DenseMatrix& elmat) {
        int dof = el.GetDof();
        int dim = el.GetDim();
        dshapedxt.SetSize(dof, dim);
        dshape.SetSize(dof, dim);
        shape.SetSize(dof);
        elmat.SetSize(dof);
        elmat = 0.0;

        const IntegrationRule* ir = &IntRules.Get(el.GetGeomType(), 2*el.GetOrder()+Tr.OrderW());

        for (int i=0; i<ir->GetNPoints(); i++) {
            const IntegrationPoint& ip = ir->IntPoint(i);
            el.CalcShape(ip, shape);
            el.CalcDShape(ip, dshape);
            Tr.SetIntPoint(&ip);

            // Compute (grad(du), grad(v)).  Ref: DiffusionIntegrator::AssembleElementMatrix()
            double w = ip.weight / Tr.Weight();
            Mult(dshape, Tr.AdjugateJacobian(), dshapedxt); //
            AddMult_a_AAt(w, dshapedxt, elmat);

            // Compute 2*u*(du,v), v is shape function
            double fun_val = 2 * (elfun*shape) * ip.weight * Tr.Weight(); // 2*u
            AddMult_a_VVt(fun_val, shape, elmat); // 2*u*(du, v)
        }
    }
};

class NLOperator: public Operator
{
private:
    NonlinearForm* N;
    mutable SparseMatrix* Jacobian;
    Coefficient* f; // f in F(u) = -Laplace u + u^2 - f

public:
    NLOperator(NonlinearForm* N_, Coefficient* f_, int size): Operator(size), N(N_), f(f_),Jacobian(NULL) { }

    virtual void Mult(const Vector& x, Vector& y) const
    {
        N->Mult(x, y);
        y.Neg();
    }

    virtual Operator &GetGradient(const Vector& x) const
    {
        Jacobian = dynamic_cast<SparseMatrix*>(&N->GetGradient(x));
        return *Jacobian;
    }
};

int main()
{
    Mesh mesh(20, 1.0);
    int dim = mesh.Dimension();

    H1_FECollection h1_fec(1, dim);
    FiniteElementSpace h1_space(&mesh, &h1_fec);
    int size = h1_space.GetVSize();

    Array<int> ess_tdof_list;
    if (mesh.bdr_attributes.Size()) {
        Array<int> ess_bdr(mesh.bdr_attributes.Max());
        ess_bdr = 1;
        h1_space.GetEssentialTrueDofs(ess_bdr, ess_tdof_list);
    }

    GridFunction rhs(&h1_space);
    FunctionCoefficient f_exact_coeff(f_exact_);
    rhs    .ProjectCoefficient(f_exact_coeff);

    NonlinearForm N(&h1_space);
    N.AddDomainIntegrator(new NLFIntegrator(&f_exact_coeff));
    N.SetEssentialTrueDofs(ess_tdof_list);

    NLOperator N_oper(&N, &f_exact_coeff, size);

    Solver* J_solver;
    Solver* J_prec = new DSmoother(1);
    MINRESSolver *J_minres = new MINRESSolver;
    J_minres->SetPreconditioner(*J_prec);
    J_solver = J_minres;

    NewtonSolver newton_solver;
    newton_solver.SetSolver(*J_solver);
    newton_solver.SetOperator(N_oper);
    newton_solver.SetPrintLevel(1);

    GridFunction uh(&h1_space);
    Vector zero;
    newton_solver.Mult(zero, uh);

    FunctionCoefficient u_exact_coeff(u_exact_);
    cout << "L2 error norm: " << uh.ComputeL2Error(u_exact_coeff) << endl;
}

Hello, @fanronghong ,
Sorry for the delayed reply.  I'm not that familiar with the nonlinear classes in MFEM but I think the problem is in your NLOperator::Mult method.  If you remove the y.Neg() line then it seems to work as expected.
Best wishes,
Mark

Thank you very much @mlstowell ,
Yes, it works well if deleting y.Neg().
For nonlinear problem F(u) = 0, if we define a NonlinearForm nlf, I have been thought nlf::GetGradient() gets Jacobian, and
nlf::Mult() gets Residual,
so I just solve the linear system Jacobian * du = - Residual.
But by this example, actually I am wrong.
nlf::Mult() gets the - Residual.

Since I was using this example for some work, I am making a few remarks for other's use in case they also come to this example  -- there is a missing el.CalcDShape(ip, shape); call, which should follow el.CalcShape(ip, shape); in NLFIntegrator's AssembleElementVector.
To reduce the amount of code in NLFIntegrator one could remove all terms coming from the Laplacian term of the PDE and instead add a DiffusionIntegrator to the NonlinearForm as

NonlinearForm N(&h1_space);
N.AddDomainIntegrator(new NLFIntegrator(&f_exact_coeff));
N.AddDomainIntegrator(new DiffusionIntegrator);


Math syntax extension support

I personally needed this to move from Pandoc, so this particular syntax is modelled after Pandoc's math support.
Both $inline$ and $$display$$ forms are supported and (by default) rendered to inline and display respectively. Custom renderers can be used to pre-render them as images or use different HTML classes (or even plain texts surrounded with \(\) or \[\] as required by Mathjax).
For inline math the opening dollar should not be followed by whitespaces and the closing dollar should not be followed by digits (to make $12 and $34 not math); display math has no such restrictions. In addition, display math can have embedded empty lines if the parent container can span multiple lines.
This syntax is notably different from Pandoc's in that non-escaped dollars in the inline math are always bad. Pandoc tries to understand complicated TeX tokens like $\text{the number of digits in $x$}$ but this implementation doesn't, so the example will render as two slices of inline math. It is recommended to use \(\) in dollars instead; unfortunately the support for \(\) in the JS-based TeX preprocessors is not yet widespread (at the time of writing, MathJax supports it while KaTeX doesn't).
Also tweaked build.rs to avoid rebuilding when only tests are changed (really, really annoying when you are playing with them).

Since math is not part of the CommonMark spec, maybe it would be better if math support was provided as an extension (although I'm not even sure if that would be possible)?
Personally, I like GitLab-style math. I think that it is more idiomatic to Markdown, and it renders better on backends that do not support math.

Inline math would be excellent (and is long overdue)! Getting the syntax right such that it feels natural as LaTeX and markdown user proves to be tricky. I really like @CAD97's considerations, though I understand that dollar delimiters are falling out fashion in LaTeX for the exact reasons mentioned. Personally, I see merit in copying LaTeX's \( f(x) = y \) notation as it's familiar and shouldn't clash easily with other unintended uses. Perhaps we can restart the discussion at #6.
Unfortunately this PR is no longer compatible with the current design of pulldown-cmark and I'll close it for now.

any progress on math extension support now? It's a key feature in engineering document writing.


UPSTREAM: : add ironic-merge-bot to approvers

This should grant enough permissions to start CI jobs without human intervention, besides having PRs pre-approved.

closing in favor of https://github.com/openshift/release/pull/46412


Update configuration for API ref 1.29

I read through the changes and assume that you have verified the generation of the docs with these updates.
/lgtm

I read through the changes and assume that you have verified the generation of the docs with these updates. /lgtm

Yes I did. Thanks for review.


fix: set_string_from_url panic with no URL

:question: What
The filter panic executing the typecast on line 71 if no URL was found in the Metadata.
We also add a new test to check this situation.
:white_check_mark: Checklists

[x] Is there unit/integration test coverage for all new and/or changed functionality added in this PR?
[x] Have the changes in this PR been functionally tested?
[x] Has make gofmt-write been run on the code?
[x] Has make govet been run on the code? Has the code been fixed accordingly to the output?
[x] Have the changes been added to the CHANGELOG.md file?
[x] Have the steps in CONTRIBUTING.md been followed to update a Go module?

Codecov Report

Merging #156 (3f396b6) into main (3aae121) will increase coverage by 0.08%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
+ Coverage   49.85%   49.94%   +0.08%
==========================================
  Files          58       58
  Lines        3921     3922       +1
==========================================
+ Hits         1955     1959       +4
+ Misses       1755     1753       -2
+ Partials      211      210       -1

Impacted Files
Coverage Δ

filter/set_string_from_url.go
52.00% <100.00%> (+14.50%)
:arrow_up:

Continue to review full report at Codecov.

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


Recursive functions cannot have inferred error sets

fn foo(i: usize) !usize {
    if (i == 54) {
        return error.Invalid;
    }

    if (i > 0) {
        return 1 + try foo(i - 1);
    } else {
        return 1;
    }
}

test "example" {
    _ = try foo(5);
}

Results in the following error.
/tmp/t.zig:7:20: error: cannot resolve inferred error set '@typeOf(foo).ReturnType.ErrorSet': function 'foo' not fully analyzed yet
        return 1 + try foo(i - 1);

We can work around this by adding an explicit error type.
const FooErrors = error {
    Invalid,
};

fn foo(i: usize) FooErrors!usize {
    if (i == 54) {
        return error.Invalid;
    }

    if (i > 0) {
        return 1 + try foo(i - 1);
    } else {
        return 1;
    }
}

test "example" {
    _ = try foo(5);
}

This seems like a possibly common occurrence. Is this expected behavior? Is there an easy way to infer recursive functions or is this an inherent limitation? Not sure on the internals.

Yeah this is expected and an inherent limitation.
There's a straightforward way to figure out what values should go in the explicit error set - make it empty and look at the compile errors.
In general, when in doubt with error sets, don't fidget with fancy features too much, just declare an explicit set.

Alright sounds good.
Just to check. Would it be possible when inferring error sets type, when checking a function call if we know that this is a recursive definition delaying (or adding no errors) to the error set inferrence and waiting until the function is completely inferred? May be on the completely wrong track.

It is fundamentally possible, but it's actually prevented from working because the c++ zig compiler uses recursion. If we switched analysis to use an explicit stack it would allow this thing you're saying. The problem is that we need the error set to be resolved at the end of the function call analysis, but we already are in the middle of the same function call analysis upwards in the compiler stack. I don't know if that makes sense, I can try to explain more after I've had some sleep.

No problem I get the general idea.


set output to required for cargo/build pipeline

In some projects, we get a lot of outputs in ./target/release directory and if we don't set output then it tries to install a lot directories which is not possible via install executable.

below is an example listing in /target/release directory.

~ # ls target/release/
build        deps         examples     incremental  probe        probe.d      pub          pub.d

logs from melange pipeline

2024/10/23 21:14:59 WARN install: omitting directory 'target/release/build' uses=cargo/build
2024/10/23 21:14:59 WARN install: omitting directory 'target/release/deps' uses=cargo/build
2024/10/23 21:14:59 WARN install: omitting directory 'target/release/examples' uses=cargo/build
2024/10/23 21:14:59 WARN install: omitting directory 'target/release/incremental' uses=cargo/build

Fixes https://github.com/chainguard-dev/melange/issues/1582

[!NOTE]
We still need to think about how can we support installing more than one binaries from ./target/release directory but I'll open up another patch for that.

output could be a list of files or globs, to install multiple things, including libraries.


Duplicate providers with multiple app bootstrap

I have a project that has 2 ng-app running, the second one is bootstrapped manually.
I was having a problem with routing (http://stackoverflow.com/questions/30479809/angular-multi-spa-with-routing) and while going throw the source code to find the problem, i noticed that the $browser provider is creating a whole new instance of the browser object when the second app is bootstrapped .
It was my understanding that the providers are singleton objects so it should not make a difference when bootstrapping a new app. should id?
Since $browser is watching the browsers url changes, they were falling into a infinite  digest loop.
I made a gist for the codes.
I am using angular 1.3.15, and it also needs jquery and angular-route.
https://gist.github.com/Exlord/1fb2a8949e2d1850d234
page1.html contains a new angular module. index.html loads the page1 on link click and bootstraps its app

All objects in the DI container are singletons, but each application gets a new injector (DI container). So you will have a separate $browser objects living in memory for each AngularJS application.
What you can do in your case is to try to override $browser service with a custom (noop) object for one of application. But bootstraping multiple applications on one page is problematic as there is some global state (location, cookies etc.) where 2 application will "clash".
In short: bootstraping several AngularJS applications on one HTML page is currently problematic and not advisable.

I fix my problem with this :
https://gist.github.com/Exlord/1fc5cd3f3c8d2eccdb5d


Chef fails if docker v1.9.x service already started

See issue https://github.com/someara/chef-docker/issues/545
This will fix the return code for the Upstart job if already running.
Please test with Docker v1.8.3 as I don't have access to a box with it immediately.
cc @someara for review :smile:
PS: Your work is much appreciated as always #hugops

LGTM. We should add a TODO for refactoring this Upstart script.

+1 for refactoring the logic (just wanted to patch for now).


OOP school library: add basic UI

Hi there 👋
In this particular project, I :

Watch the video with the UI example again (you have seen it while reading the Sneak Peek).

Your console app should behave in the same way as it is in the example.
Create a app.rb file that will serve as your console app entry-point. It should have methods that do the following:

List all books.
List all people.
Create a person (teacher or student, not a plain Person).
Create a book.
Create a rental.
List all rentals for a given person id.

In main.rb define the entry point, this will be a method called main that is invoked at the end of your file. This method should do the following:

Present the user with a list of options to perform.
Lets users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.

@franclobo Thanks a lot


Ability to skip tasks on irrelevant file changes

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
I would like to be able to skip tasks when the inputs did not change.
For example, given the following workspace:
src/index.ts
src/index.spec.ts
README.md

And the following turbo configuration:
{
  "$schema": "https://turbo.build/schema.json",
  "pipeline": {
    "build": {
      "dependsOn": ["^build"],
      "inputs": ["src/**/*", "!src/**/*.spec.ts"],
      "outputs": ["dist/**"]
    },
    "test": {
      "dependsOn": ["^build"],
      "inputs": ["src/**/*"]
    }
  }
}

Then in a CI pipeline I want to be able to:

Only run the build task when index.ts changed, or any inputs from the tasks specified in dependsOn.
Only run the test task when index.ts or index.spec.ts changed, or any inputs from the tasks specified in dependsOn.

Currently, a commit that only modifies README.md will cause turbo run <task> --filter=...[HEAD^1] to always run the given task even though this might not be needed.
Describe the solution you'd like
A possible solution would be to:
Add a CLI command like --filter-inputs to filter by the inputs of the given tasks.
Running turbo run build --filter=...[HEAD^1] --filter-inputs would only include index.ts.
Running turbo run test --filter=...[HEAD^1] --filter-inputs would only include index.ts and index.spec.ts.
Running turbo run build test --filter=...[HEAD^1] --filter-inputs would be less useful as it would include index.ts and index.spec.ts for both tasks. To support multiple tasks turbo would need to be be able to filter individual tasks instead of files but I'm not sure if this aligns well with how turbo currently works.
Describe alternatives you've considered
It is possible to ignore files with turbo run <task> --filter=...[HEAD^1] --ignore "**/*.md" but this does not scale as each workspace and task might have different requirements.

Realistically this is a bug. We take too-conservative of an approach in calculating whether or not a package has changed.
In particular, getChangedFiles should be taking into account the inputs for each of the tasks here:
https://github.com/vercel/turbo/blob/main/cli/internal/scope/scope.go#L363-L380
We capture the need to make this change here:
https://github.com/vercel/turbo/blob/main/cli/internal/scope/scope.go#L212-L213

I am able to reproduce this bug using the example repo and latest canary.

run npx<EMAIL_ADDRESS>commit the lock file
add "inputs": ["$TURBO_DEFAULT$", "!README.md"] to the lint task in turbo.json (exactly like in the docs), commit
create packages/ui/README.md and commit
npm run lint -- -F='[HEAD^1]' -> runs lint task in the ui package, even though only README.md has changed

Running with dry-run=json: README.md is not part of inputs (correct)
Running with -vvv: globwalk includes the README file in each package rather than excluding it. I haven't dived into the source code but you get the feeling that it should be the opposite.


Add newAccount using memory params

Codecov Report

Merging #85 into dev will decrease coverage by 1.01%.
The diff coverage is 1.61%.

@@             Coverage Diff              @@
##                dev      #85      +/-   ##
============================================
- Coverage     55.48%   54.47%   -1.02%
- Complexity      374      375       +1
============================================
  Files            40       40
  Lines          3235     3297      +62
  Branches        245      252       +7
============================================
+ Hits           1795     1796       +1
- Misses         1261     1322      +61
  Partials        179      179

Impacted Files
Coverage Δ
Complexity Δ

...java/com/webank/wecross/account/FabricAccount.java
66.66% <0.00%> (-33.34%)
7.00 <0.00> (ø)

.../webank/wecross/stub/fabric/FabricStubFactory.java
10.76% <0.00%> (-0.17%)
4.00 <0.00> (ø)

...m/webank/wecross/account/FabricAccountFactory.java
38.09% <1.81%> (-28.11%)
6.00 <1.00> (+1.00)
:arrow_down:

Continue to review full report at Codecov.

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


can't dowload the GGUF, it progress stoped at 1%

Describe the bug
E:\LocalGpt10\localGPT>python run_localgpt.py & force_download=true, resume_download=false
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:244 - Running on: cpu
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:245 - Display Source Documents set to: False
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:246 - Use history set to: False
2024-04-28 07:11:56,561 - INFO - SentenceTransformer.py:66 - Load pretrained SentenceTransformer: hkunlp/instructor-large
load INSTRUCTOR_Transformer
C:\Users\USER\anaconda3\Lib\site-packages\torch_utils.py:776: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
return self.fget.get(instance, owner)()
max_seq_length  512
2024-04-28 07:12:14,584 - INFO - run_localgpt.py:132 - Loaded embeddings from hkunlp/instructor-large
2024-04-28 07:12:16,210 - INFO - run_localgpt.py:60 - Loading Model: TheBloke/Llama-2-7b-Chat-GGUF, on: cpu
2024-04-28 07:12:16,210 - INFO - run_localgpt.py:61 - This action can take a few minutes!
2024-04-28 07:12:16,210 - INFO - load_models.py:38 - Using Llamacpp for GGUF/GGML quantized models
llama-2-7b-chat.Q4_K_M.gguf:   1%|▍                                                  | 31.5M/4.08G [00:30<1:16:29, 882kB/s]
Reproduction
No response
Logs
E:\LocalGpt10\localGPT>python run_localgpt.py & force_download=true, resume_download=false
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:244 - Running on: cpu
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:245 - Display Source Documents set to: False
2024-04-28 07:11:54,039 - INFO - run_localgpt.py:246 - Use history set to: False
2024-04-28 07:11:56,561 - INFO - SentenceTransformer.py:66 - Load pretrained SentenceTransformer: hkunlp/instructor-large
load INSTRUCTOR_Transformer
C:\Users\USER\anaconda3\Lib\site-packages\torch\_utils.py:776: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
  return self.fget.__get__(instance, owner)()
max_seq_length  512
2024-04-28 07:12:14,584 - INFO - run_localgpt.py:132 - Loaded embeddings from hkunlp/instructor-large
2024-04-28 07:12:16,210 - INFO - run_localgpt.py:60 - Loading Model: TheBloke/Llama-2-7b-Chat-GGUF, on: cpu
2024-04-28 07:12:16,210 - INFO - run_localgpt.py:61 - This action can take a few minutes!
2024-04-28 07:12:16,210 - INFO - load_models.py:38 - Using Llamacpp for GGUF/GGML quantized models
llama-2-7b-chat.Q4_K_M.gguf:   1%|▍                                                  | 31.5M/4.08G [00:30<1:16:29, 882kB/s]

System info
- huggingface_hub version: 0.16.4
- Platform: Windows-10-10.0.22631-SP0
- Python version: 3.9.6
- Running in iPython ?: No
- Running in notebook ?: No
- Running in Google Colab ?: No
- Token path ?: C:\Users\USER\.cache\huggingface\token
- Has saved token ?: False
- Configured git credential helpers: manager
- FastAI: N/A
- Tensorflow: N/A
- Torch: 2.0.1
- Jinja2: 3.1.2
- Graphviz: N/A
- Pydot: N/A
- Pillow: 9.4.0
- hf_transfer: N/A
- gradio: N/A
- tensorboard: N/A
- numpy: 1.23.3
- pydantic: 1.10.12
- aiohttp: 3.8.5
- ENDPOINT: https://huggingface.co
- HUGGINGFACE_HUB_CACHE: C:\Users\USER\.cache\huggingface\hub
- HUGGINGFACE_ASSETS_CACHE: C:\Users\USER\.cache\huggingface\assets
- HF_TOKEN_PATH: C:\Users\USER\.cache\huggingface\token
- HF_HUB_OFFLINE: False
- HF_HUB_DISABLE_TELEMETRY: False
- HF_HUB_DISABLE_PROGRESS_BARS: None
- HF_HUB_DISABLE_SYMLINKS_WARNING: False
- HF_HUB_DISABLE_EXPERIMENTAL_WARNING: False
- HF_HUB_DISABLE_IMPLICIT_TOKEN: False
- HF_HUB_ENABLE_HF_TRANSFER: False

Has your problem being resolved or not yet? Have you tried several times? Are you sure your disk is not full for instance? And is your network unstable? Also, could you update huggingface_hub (you have 0.16.4 installed but latest is 0.22.x).
Download should not block like this so the above is the only issues I can think about.

Closing as no news since quite some time.


Bump the release version to 1.6.3

This commit also deprecates building container image for ppc64le as it is not actively maintained. We will add support if users request for it in the future.

/lgtm


NO-ISSUE: Add status info to the application status

Status info gives additional information to containers

Let's hold off from making changes to the API until we've fully converged on where we want to end up.
The application status needs to both aggregate the status of its component pods+volumes+networks as well as be aggregate-able across a device (summary status: "all applications on this device are healthy") and fleet ("2 out of 10 recently updated devices reported an unhealthy application").


Developer Server Access Log Option

Description
As a developer it can be very useful to see the "hits", access requests in the vite console.
Suggested solution
When running vite --access-logs vite should log each hit as is typical with web servers (like apache/nginx) or web frameworks (like flask):

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

You can do it like this.
https://x.com/kiliman/status/1719488313692766582

You can do it like this. https://x.com/kiliman/status/1719488313692766582

Bad link. Does any know what the workaround is and can post it here?


When uploading a photo, Cancel/Send buttons are hidden under keyboard on iOS

In general, I think it's extremely odd to have to give a name to a photo you're uploading into a chat conversation. I've never seen a chat app do this, and it adds a considerable amount of friction to something that is done super commonly. But when you do try to upload, on iOS, the Cancel/Send buttons are hidden by the keyboard.
Tapping Return on the keyboard performs the same job as hitting Send, but you can't cancel in any way.

cc: @chrisnojima

Thanks for the feedback. We have a design for the image going inline in the input box (like most messengers) and we'll implement that in a bit. In the very short term we'll fix up this dialog


become: false not working for localhost

Hello!
Thank you for the great job guys.
I've found a small bug here:
- name: download prometheus binary to local folder
  become: false
  get_url:
    url: "https://github.com/prometheus/prometheus/releases/download/v{{ prometheus_version }}/prometheus-{{ prometheus_version }}.linux-{{ go_arch }}.tar.gz"
    dest: "/tmp/prometheus-{{ prometheus_version }}.linux-{{ go_arch }}.tar.gz"
    checksum: "sha256:{{ prometheus_checksum }}"
  register: _download_archive
  until: _download_archive is succeeded
  retries: 5
  delay: 2
  # run_once: true # <-- this canfalset be set due to multi-arch support
  delegate_to: localhost
  check_mode: false

- name: unpack prometheus binaries
  become: false
  unarchive:
    src: "/tmp/prometheus-{{ prometheus_version }}.linux-{{ go_arch }}.tar.gz"
    dest: "/tmp"
    creates: "/tmp/prometheus-{{ prometheus_version }}.linux-{{ go_arch }}/prometheus"
  delegate_to: localhost
  check_mode: false

The become: false instruction seems not working. I've got the following errors:
TASK [prometheus : download prometheus binary to local folder] *********************************************************************************************************************************
FAILED - RETRYING: download prometheus binary to local folder (5 retries left).
FAILED - RETRYING: download prometheus binary to local folder (5 retries left).
FAILED - RETRYING: download prometheus binary to local folder (5 retries left).
FAILED - RETRYING: download prometheus binary to local folder (5 retries left).
FAILED - RETRYING: download prometheus binary to local folder (5 retries left).
FAILED - RETRYING: download prometheus binary to local folder (4 retries left).
FAILED - RETRYING: download prometheus binary to local folder (4 retries left).
FAILED - RETRYING: download prometheus binary to local folder (4 retries left).
FAILED - RETRYING: download prometheus binary to local folder (4 retries left).
FAILED - RETRYING: download prometheus binary to local folder (4 retries left).
FAILED - RETRYING: download prometheus binary to local folder (3 retries left).
FAILED - RETRYING: download prometheus binary to local folder (3 retries left).
FAILED - RETRYING: download prometheus binary to local folder (3 retries left).
FAILED - RETRYING: download prometheus binary to local folder (3 retries left).
FAILED - RETRYING: download prometheus binary to local folder (3 retries left).
FAILED - RETRYING: download prometheus binary to local folder (2 retries left).
FAILED - RETRYING: download prometheus binary to local folder (2 retries left).
FAILED - RETRYING: download prometheus binary to local folder (2 retries left).
FAILED - RETRYING: download prometheus binary to local folder (2 retries left).
FAILED - RETRYING: download prometheus binary to local folder (2 retries left).
FAILED - RETRYING: download prometheus binary to local folder (1 retries left).
FAILED - RETRYING: download prometheus binary to local folder (1 retries left).
FAILED - RETRYING: download prometheus binary to local folder (1 retries left).
FAILED - RETRYING: download prometheus binary to local folder (1 retries left).
FAILED - RETRYING: download prometheus binary to local folder (1 retries left).
fatal: [cassandra-3 -> localhost]: FAILED! => {"attempts": 5, "changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
fatal: [cassandra-2 -> localhost]: FAILED! => {"attempts": 5, "changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
fatal: [cassandra-1 -> localhost]: FAILED! => {"attempts": 5, "changed": false, "module_stderr": "sudo: a password is required\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
...

The solution is to add -K flag and provide sudo password for localhost. But this is not what I expect using become: false flag. Tried to change to become: no with the same result.
Looks like Ansible bug though.
More info:
$ ansible --version
ansible 2.8.1
  config file = None
  configured module search path = ['/Users/ilya/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.8.1/libexec/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.3 (default, Mar 27 2019, 09:23:15) [Clang 10.0.1 (clang-1<IP_ADDRESS>)]

become: false and become: no are logically the same. I don't think there is anything we can do on a role level. Could you also report it to ansible/ansible?

+1


which column is the relevance label in the qrels file?

You said "Please ignore columns 1 and 3. " when you introduced the qrels file. So , i wonder which  column is the relevance label?

First off thought it was worth clarifying that I was indexing at 0 so there are 4 columns 0,1,2,3.  Column 0 is queryID, column 2 is passageID. Please ignore columns 1 and 3 they are part of the TREC QRELS style

so, you mean that the column 3 is the relevance label

so, all the queries and corresponding passages in the qrels file are relevant, if I understand correctly.


IndexError: tuple index out of range

Any ideas what might be causing this and how to resolve this?
 File "/.pyenv/versions/3.6.7/lib/python3.6/site-packages/ibm_botocore/httpsession.py", line 258, in send
    decode_content=False,
  File "/.pyenv/versions/3.6.7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/.pyenv/versions/3.6.7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 384, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "/.pyenv/versions/3.6.7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 380, in _make_request
    httplib_response = conn.getresponse()
  File "/.pyenv/versions/3.6.7/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/.pyenv/versions/3.6.7/lib/python3.6/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/.pyenv/versions/3.6.7/lib/python3.6/http/client.py", line 258, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/.pyenv/versions/3.6.7/lib/python3.6/socket.py", line 591, in readinto
    if e.args[0] in _blocking_errnos:
IndexError: tuple index out of range

Hi @gilv what is the command you are running..
can you paste a snippet of code...

@gilv any update on this ?

user is unable to reproduce issue - so will close


Please remove obsolete SEEmail document/link

[Enter feedback here]
This doc is old and inaccurate - please delete the line:
Office 365: SEEMail Integration and Reference Architecture (additional Microsoft NZ guidance on cloud service adoption)

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

ID: 50e44739-0adf-8948-9527-c8d8b3bddf03
Version Independent ID: eb4ab4fb-9e55-c91e-0045-553045172377
Content: New Zealand Government Cloud Computing Security and Privacy Considerations - Microsoft Compliance
Content Source: microsoft-365/compliance/offering-nz-cc-framework-nz.md
Product: microsoft-365-enterprise
GitHub Login: @robmazz
Microsoft Alias: robmazz

@PeteHaigh-MSFT Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/2660 and Once the author approves and merges the PR the document will be modified.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @PeteHaigh-MSFT Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


stateful decorator example  updated

A new example block of cache has been added. It includes the pure cache decorator followed by the factorial function as an example of it!
Later, another decorator @timer has provided to examine the ability of the former decorator with respect to the elapsed time of the function! it can also be a good sample for using several decorators on a single function.
In the end, a little description is provided in regards to cache and lru_cache potential usage in Python versions.

A new example block of cache has been added. It includes the pure cache decorator followed by the factorial function as an example of it! Later, another decorator @timer has provided to examine the ability of the former decorator with respect to the elapsed time of the function! it can also be a good sample for using several decorators on a single function. In the end, a little description is provided in regards to cache and lru_cache potential usage in Python versions.

Thanks Shirin. The new examples are great.


N26 crashes when opening the map

Everything works fine when opening the app and it also is registered in GCM. But when opening the map it crashes.
Here is the part of logcat when I press the button to open the map:
logcat.txt
microG Services Core Version <IP_ADDRESS>.7785-mapbox
LineageOS 16.0

Seeing the same crash of the app. Is there anything else we could provide to debug this further?

Still the case with microG Services Core Version <IP_ADDRESS>20

Also the case with microG Services Core Version <IP_ADDRESS>20

Same problem for me. The decompiled code in N26 is:
View view = ((View)this.mapView.findViewById(1).getParent()).findViewById(2);
view.setLayoutParams(...);

It seems that N26 is assuming a certain view ID in the implementation and crashes when the ID is not found. The bug can be workarounded by removing the method with Xposed.


Windows keyboard shortcuts for the Mac, please!

I have a Macbook laptop and all I want is to have my handy Windows keyboard shortcuts work on it, like they did when I was on El Capitan/Karabiner.  Now that I'm on Sierra, I'm trying Karabiner-Elements and I can't determine how to map something basic like Control+C to Command+C in the karabiner.json file.  Is it possible and if so how?
Another issue is how to swap the Control and Fn keys (which I physically swapped) when I'm on the laptop's keyboard but keep them the same for my external keyboard.  Again, is this possible?  I would be fine with updating the file manually each time I change keyboards until there's a permanent solution.
BTW, before trying Elements, I went the DefaultKeyBinding.dict route and set it up like this:
"\UF729"   = "moveToBeginningOfLine:";                       // Home
"^\UF729"  = "moveToBeginningOfDocument:";                   // Ctrl + Home
"$\UF729"  = "moveToBeginningOfLineAndModifySelection:";     // Shift + Home
"^$\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; // Shift + Ctrl + Home
"\UF72B"   = "moveToEndOfLine:";                             // End
"^\UF72B"  = "moveToEndOfDocument:";                         // Ctrl + End
"$\UF72B"  = "moveToEndOfLineAndModifySelection:";           // Shift + End
"^$\UF72B" = "moveToEndOfDocumentAndModifySelection:";       // Shift + Ctrl + End
"\UF72C"   = "pageUp:";                                      // PageUp
"\UF72D"   = "pageDown:";                                    // PageDown
"^\UF702"  = "moveWordBackward:";                            // Ctrl + LeftArrow
"^\UF703"  = "moveWordForward:";                             // Ctrl + RightArrow
"^$\UF702" = "moveWordBackwardAndModifySelection:";          // Shift + Ctrl + Leftarrow
"^$\UF703" = "moveWordForwardAndModifySelection:";           // Shift + Ctrl + Rightarrow
"^\U007F"  = "deleteWordBackward:";                          // Ctrl + delete left
"^c"       = "copy:";                                        // Ctrl + c
"^x"       = "cut:";                                         // Ctrl + x
"^v"       = "paste:";                                       // Ctrl + v
"^z"       = "undo:";                                        // Ctrl + z
"^y"       = "redo:";                                        // Ctrl + y
"^a"       = "selectAll:";                                   // Ctrl + a
"^s"       = "saveAllDocuments:";                            // Ctrl + s
The problem is that these shortcuts only work in certain apps, like Chrome and TextEdit.  But other apps completely override it with their own.  (This wasn't an issue with Karabiner.  I miss it so much!)
Thanks,
Alvaro

+1

+1 to ^c ^v cause I'm working with macos and windows in virtual machine. Used to use ^c.

Just curious @alvaro1728, using the DefaultKeyBinding.dict settings above were you able to get ctrl + arrows working?  For me (on sierra), they do nothing.  All of the other settings do work though.
"^\UF702" = "moveWordBackward:"; // Ctrl + LeftArrow
"^\UF703" = "moveWordForward:"; // Ctrl + RightArrow

Also, curious if anyone has figured out how to get the windows settings (above) to work in electron-based apps (like atom or hyperterm)?  I know karabiner used to handle ALL apps, but just looking for a stopgap solution. Thanks!

@jritsema Those two shortcuts work fine for me.  I just tried it by going to Chrome's address bar and using Ctrl+Left/Right to move one word at a time.  BTW, I use IntelliJ IDEA for my development and it's easy to configure it with the "Visual Studio" keymap.

Thanks @alvaro1728.  Turns out that I had those keys already enabled for Mission Control.  Once I disabled them (via prefs/keyboard/shortcuts/mission control), everything worked!

Also, in case it helps out anyone else using the Atom editor, you can get the pc style keyboard bindings by replacing your keymap.cson with these...
https://github.com/atom/atom/blob/master/keymaps/win32.cson

Are there any plans to revive the Windows mapping? For months, I have been waiting to update to Sierra just because Karabiner wasn't ready yet. Now I finally had to update to Sierra, and the limitations of Karabiner Elements are driving me mad. The things I would need the most:

Map Cmd-C and so on to Ctrl-C (I worked around this by swapping Cmd to Ctrl completely)
Make Ctrl-Arrow move the cursor around one word
Map Home and End so they work as on Windows

I tried to build "complex rules" for that, but couldn't get them work, since the JSON file is not really documented.

@derwaldgeist I did some digging through some of the example files, and I think I managed to figure out somewhat how it works, since I was having the same issue as most people here. I switched around more or less everything I can think of to make my keyboard shortcuts as windows-like as possible (though I may have forgotten a thing or two).
I'll gladly share the file as soon as I clean it up a bit.

Whew, that took longer than I expected. Getting Home and End to work right was tricky because command or control kept getting "stuck", though I worked around it by having it also trigger those keypresses.
In other words, I think home and end work properly, but I had to jump through a hoop or two, so there may be some issues that I didn't encounter...
Regardless, here's the file! (zipped up so that I can attach it here)
windows_mode.json.zip
Just place it in ~/.config/karabiner/assets/complex_modifications/ and you should be able to add the rules to a profile just like the way adding example rules works!

Hi !!! Very nice work, it's seems to work ! I will test it a few day. Thanks !

@TechnicallyDifficult Thanks a lot for this!  It's a great step in the right direction.
I modified your "Change Home and End to behave like Windows" since Home/End were mapped to the beginning/end of the paragraph instead of the line.  Also, I set RightControl+Home/End to behave like LeftControl+Home/End.  Here's my updated file:
windows_mode.json.zip
On a separate note, as much as I like the Windows shortcuts on my Mac, I would prefer if they live alongside the Mac shortcuts (Command+C,V,etc) in case another colleague ever needs to type on my computer temporarily.  So I'm going to spend some time creating another version of this file that preserves the Mac shortcuts.
Thanks again!
Alvaro

OK, I spent a some time creating a brand new JSON file with the most popular Windows shortcuts without altering the Mac (Command) shortcuts.  So something like Control+C will work alongside Command+C.  Here's the file:
windows_shortcuts.json.zip
Download and unzip it to ~/.config/karabiner/assets/complex_modifications.  Then in Karabiner Elements, click on Add rule under "Complex Modifications" and then Enable "Windows shortcuts".  That's it!
(Note: After doing this, I had to change my Intellij IDEA keymap back to Mac OS X.)
Thanks to @TechnicallyDifficult for the inspiration.  Enjoy!
Alvaro

windows shortcuts was missing ctrl-t. So:
        {
          "from": {
            "key_code": "t",
            "modifiers": {
              "mandatory": [ "left_control" ],
              "optional": [ "any" ]
            }
          },
          "to": [ {
              "key_code": "t",
              "modifiers": [ "left_command" ]
            }
          ],
          "type": "basic"
        },

I wasn't aware of Ctrl+T.  What does it typically do?

It opens new tabs. I use it mostly in my browser

These windows_shortcuts.json.zip should be distributed by default in Karabiner Elements imho! Thanks guys!!!
And where to take it now?

I'm wondering if we could make backspace goes up one folder in finder but without breaking backspace functionality on filename edit?

Would be nice to have a repo for this, I tried the windows shortcuts and it's not perfect, stuff like ctrl+tab and alt+tab aren't working properly. And it's not so easy to fix sadly.

What shortcut should be used to quit after install this?

Please can anyone create the Alt+F4 to Quit Apps?
Thanks

I made a repo for this so we can keep track of these things. Please feel free to contribute if you have the know-how, and add feature requests, report bugs, etc.
I still have yet to document all the shortcuts currently added, but I plan on doing that in the near future.

Is the alt+f4 working?
Thank you.

I haven't added Alt-F4 yet, but I've opened an issue on my repo to make sure I don't forget about it.

@guimenez Just to let you know, I've added Alt+F4.

Working amazing.
It's it possible add the Ctrl (pressed) + mouse click to open link in a new tab like Windows?
Thank you.

Hi guys. I am wondering if anyone succeeded in adding shift/ctrl-insert shortcut?

@alvaro1728 thanks for your effort. I tried your config and it works great. The last problem I see is the missing of Alt+Tab for scrolling between Applications. It has to be done by Windows Key + Tab. Do you think it would be possible to configure it to use Alt+Tab?

Guys, Just a question... I'm super new to MAC.
I already imported your awesome configuration in karabiner.. but how I actually get it work?
Non of the complex functions works for me.

I beg of you, is there any equivalent to thw Win+E for Karabiner?
I just want to open a new finder window and access my files quickly. That's all. Command+N when Finder.app is selected is a bit too cumbersome, I need to open regardless of any app. Preferably something like bound to F1 or another function key.
Any ideas???

I beg of you, is there any equivalent to thw Win+E for Karabiner?

@Malumen
{
    "description": "CMD+E opens finder",
    "manipulators": [
        {
            "from": {
                "key_code": "e",
                "modifiers": {
                    "mandatory": ["left_command"],
                    "optional": ["any"]
                }
            },
            "to": [{ "software_function": { "open_application": { "bundle_identifier": "com.apple.Finder" } } }],
            "type": "basic"
        }
    ]
}


Fix issue 461: LoadModel misses textures

The root reason was the flaw of future textures that causes thread pool deadlocked when
doing async resource loading. This change addresses this directly when loading a model
from JassimpLoader by using callback mechanism instead of previous future texture pending
mechanism. A more fundermental redesign and implementation of the whole infrastructure of the
async resource loading and thread scheduling is ongoing and coming soon, which will address
all types problems and performance issues we previously have seen.

@rahul27 As I talked to you last Friday, there are two ways to bypass the problem in 461: one is to use sync loading in GVRJassimpSceneObject.java that runs the texture loading and  setting on glthread; and the other is like this change which uses callbacks instead of pending on future values.
Since async loading is error prone from previous experiences and performance also degrades some times, I am working on the comprehensive solution for the whole infrastructure. For now, this change will be enough to address 461.

Looks good to me. @rahul27 Please confirm this resolves the problem you are experiencing.

Mingsong,
I agree that using callbacks right now is the best way to fix this in the short term. SDC looms…
We can go back to using the Future infrastructure when you have stabilized it and it no longer deadlocks. Thanks for researching the asset loading and for finding a speedy fix.
-Nola
From: mingsong<EMAIL_ADDRESS>Sent: Thursday, March 17, 2016 11:58 AM
To: Samsung/GearVRf<EMAIL_ADDRESS>Subject: Re: [GearVRf] Fix issue 461: LoadModel misses textures (#470)
@rahul27https://github.com/rahul27 As I talked to you last Friday, there are two ways to bypass the problem in 461: one is to use sync loading in GVRJassimpSceneObject.java that runs the texture loading and setting on glthread; and the other is like this change which uses callbacks instead of pending on future values.
Since async loading is error prone from previous experiences and performance also degrades some times, I am working on the comprehensive solution for the whole infrastructure. For now, this change will be enough to address 461.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHubhttps://github.com/Samsung/GearVRf/pull/470#issuecomment-198034046

Verified using the sample app - It works.
I agree that we need to look into the threading long term because even with this fix I do see the occasional missing texture but am not able to reproduce it consistently (maybe a race condition).
But for now now this should work.


Change user search to partially match based on user name instead of exact matching

I made some changes to the user search fragment in order to allow the users to searched without exact matching. So if I typed "ish" in the fragment, I should receive<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>instead of nothing. In addition, the search results change as the user types which makes the search more intuitive for the user.
In addition, there are several related changes as part of this PR in order to improve maintainability and performance of search:

Modify FirebaseQueryLiveData to allow the query to be dynamically changed at runtime. This is what allows the as you type search to take place.
Move the Firebase querying logic to a ViewModel so that this information isn't contained in the view, making the view easier to understand and change.
Add a generic ListAdapter for a list of Users to interact with a RecyclerView. When the underlying list of the adapter changes by a call to submitList(), the new and old lists are diffed in a background thread improving UI responsiveness. This is provided by a Google library.
Use a RecyclerView to render the list of usernames instead of a ListView. Previously, a new list of usernames had to be created in order to properly render the list when using a ListView. This processing is removed by using the RecyclerView since the username of the User can be bound to the item of the userList without generating a new list of usernames to pass into an ArrayAdapter. This is an improvement in terms of speed and maintainability since RecyclerViews are in general much more efficient than ListViews.

I tested this on my device. This is a great change in terms of functionality and architecture!
The only minor change I can maybe recommend is to remove the initialization of LiveData of userListLiveData in SearchFragment.java since we can just observe directly from the LiveData in the ViewModel.
Otherwise, I think we can merge it.

Thanks for the review Marcus!
I'm not really sure what you mean by this exactly though. I expose the livedata in the search fragment and observe for changes on it there so that the list adapter can update the contents of it's list based on the new data. If I were to add the adapter to the view model and observe for changes in the live data within the view model then that would make the view model be less flexible since it requires that the adapter be composed in the view model. Unless of course I'm misunderstanding your comment.

As part of this change, I also added some indexes in the database to make the queries even faster.


YARN-11639. CME and NPE in PriorityUtilizationQueueOrderingPolicy

Description of PR
ConcurrentModificationException and NPE in PriorityUtilizationQueueOrderingPolicy issue was resolved by sorting the snapshot of the queues.
How was this patch tested?
With a load test making sure that the dynamic queue deletion event frequently coincides with the assignment iterator.
Since it is a concurrency issue, there is no unit test for this change.
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 59s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
47m 43s

trunk passed

+1 :green_heart:
compile
1m  0s

trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
compile
0m 51s

trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
checkstyle
0m 54s

trunk passed

+1 :green_heart:
mvnsite
0m 58s

trunk passed

+1 :green_heart:
javadoc
0m 57s

trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 46s

trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
spotbugs
1m 54s

trunk passed

+1 :green_heart:
shadedclient
39m  6s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 47s

the patch passed

+1 :green_heart:
compile
0m 53s

the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javac
0m 53s

the patch passed

+1 :green_heart:
compile
0m 45s

the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
javac
0m 45s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
0m 44s
/results-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager: The patch generated 1 new + 2 unchanged - 0 fixed = 3 total (was 2)

+1 :green_heart:
mvnsite
0m 48s

the patch passed

+1 :green_heart:
javadoc
0m 42s

the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 40s

the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
spotbugs
1m 56s

the patch passed

+1 :green_heart:
shadedclient
39m  2s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
104m 13s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 34s

The patch does not generate ASF License warnings.

249m 18s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6455

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux b2f1d10f95f7 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 45cbce9cc6863a66959a9b01a8d10af9bf8e91a9

Default Java
Private Build-1.8.0_392-8u392-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/2/testReport/

Max. process+thread count
873 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 23s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
37m 26s

trunk passed

+1 :green_heart:
compile
0m 32s

trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
compile
0m 27s

trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
checkstyle
0m 29s

trunk passed

+1 :green_heart:
mvnsite
0m 30s

trunk passed

+1 :green_heart:
javadoc
0m 32s

trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 27s

trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
spotbugs
1m  9s

trunk passed

-1 :x:
shadedclient
23m 15s

branch has errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 25s

the patch passed

+1 :green_heart:
compile
0m 29s

the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javac
0m 29s

the patch passed

+1 :green_heart:
compile
0m 26s

the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

+1 :green_heart:
javac
0m 26s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 24s

the patch passed

+1 :green_heart:
mvnsite
0m 28s

the patch passed

+1 :green_heart:
javadoc
0m 24s

the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 22s

the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08

-1 :x:
spotbugs
0m 56s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

-1 :x:
shadedclient
27m 28s

patch has errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
0m 22s
/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

+0 :ok:
asflicense
0m 24s

ASF License check generated no output?

96m 28s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6455

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 787c5dbc8942 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 4ac9ae2f1673a03434594046c7cf46b3fbcd9f1e

Default Java
Private Build-1.8.0_392-8u392-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/3/testReport/

Max. process+thread count
554 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6455/3/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Thanks @ferdelyi for the patch, @tomicooler for the review. Merging to trunk.

@brumi1024 and @tomicooler thank you for both of you the review.