Source error after seeking backwards

With this sample, the video plays fine, but I get errors after scrubbing on the timeline to the beginning.
E/LoadTask: Unexpected exception loading stream
      java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1092)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1012)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
E/ExoPlayerImplInternal: Playback error
      com.google.android.exoplayer2.ExoPlaybackException: Source error
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:628)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:604)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: null
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:430)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
     Caused by: java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1092)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1012)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)

Sample: altaj-test-60.zip

I could not duplicate this one.  It looks like it was an invalid seek position.  Could you give me specific steps to recreate it?  Also, the device you tested on might be helpful.

I was testing it outside the demo, with configured SeekParameters, some callbacks to update the picture during scrubbing etc. I will try replicating that in the demo.

I'm able to duplicate it in the demo app with just scrubbing forward and backward multiple times (during playback). (I only added Toast to show on player error.) Though in this case it requires "few" more attempts.
This is on Samsung Galaxy S21 FE. I will try also different devices.
I/CCodecConfig: query failed after returning 8 values (BAD_INDEX)
D/EventLogger: isPlaying [eventTime=34.76, mediaPos=76.52, window=0, period=0, false]
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] 4 initial input buffers available
I/CCodec: state->set(FLUSHING)
I/CCodec: state->set(FLUSHED)
D/CCodecBuffers: [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
    [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
    [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 2
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 7 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mp3.decoder#747] 4 initial input buffers available
D/EventLogger: loading [eventTime=34.77, mediaPos=76.52, window=0, period=0, true]
D/AudioTrack: setVolume(1.000000, 1.000000) pid : 16105
D/EventLogger: loading [eventTime=34.79, mediaPos=76.52, window=0, period=0, false]
D/EventLogger: renderedFirstFrame [eventTime=34.97, mediaPos=76.52, window=0, period=0, Surface(name=null)/@0xa684e3b]
D/EventLogger: state [eventTime=34.98, mediaPos=76.52, window=0, period=0, READY]
D/EventLogger: isPlaying [eventTime=34.98, mediaPos=76.53, window=0, period=0, true]
D/AudioTrack: getTimestamp_l(1406): device stall time corrected using current time<PHONE_NUMBER>9903
I/ViewRootImpl@9b22d9d[PlayerActivity]: ViewPostIme pointer 0
I/ViewRootImpl@9b22d9d[PlayerActivity]: ViewPostIme pointer 1
D/AviExtractor: SeekPoint: us=28000000 pos=2507438
D/EventLogger: positionDiscontinuity [eventTime=35.19, mediaPos=29.19, window=0, period=0, reason=SEEK, PositionInfo:old [mediaItem=0, period=0, pos=76634], PositionInfo:new [mediaItem=0, period=0, pos=29192]]
I/CCodec: state->set(FLUSHING)
I/CCodec: state->set(FLUSHED)
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 8 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
D/EventLogger: state [eventTime=35.20, mediaPos=29.19, window=0, period=0, BUFFERING]
I/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] 4 initial input buffers available
I/CCodec: state->set(FLUSHING)
    state->set(FLUSHED)
D/CCodecBuffers: [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
    [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
D/MediaCodec: keep callback message for reclaim
D/EventLogger: isPlaying [eventTime=35.20, mediaPos=29.19, window=0, period=0, false]
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 7 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mp3.decoder#747] 4 initial input buffers available
D/AviExtractor: SeekPoint: us=28000000 pos=2507438
D/ApplicationMediaCapabilities: Building ApplicationMediaCapabilities with: (Supported HDR: [android.media.feature.hdr.dolby_vision, android.media.feature.hdr.hdr10, android.media.feature.hdr.hdr10_plus, android.media.feature.hdr.hlg] Unsupported HDR: []) (Supported Codec:  [video/hevc] Unsupported Codec:[]) false
D/EventLogger: loading [eventTime=35.21, mediaPos=29.19, window=0, period=0, true]
D/AudioTrack: setVolume(1.000000, 1.000000) pid : 16105
D/EventLogger: renderedFirstFrame [eventTime=35.23, mediaPos=29.19, window=0, period=0, Surface(name=null)/@0xa684e3b]
D/EventLogger: state [eventTime=35.24, mediaPos=29.19, window=0, period=0, READY]
D/EventLogger: isPlaying [eventTime=35.24, mediaPos=29.22, window=0, period=0, true]
D/EventLogger: loading [eventTime=35.26, mediaPos=29.22, window=0, period=0, false]
I/ViewRootImpl@9b22d9d[PlayerActivity]: ViewPostIme pointer 0
I/ViewRootImpl@9b22d9d[PlayerActivity]: ViewPostIme pointer 1
D/AviExtractor: SeekPoint: us=10000000 pos=1328126
D/EventLogger: positionDiscontinuity [eventTime=35.58, mediaPos=10.31, window=0, period=0, reason=SEEK, PositionInfo:old [mediaItem=0, period=0, pos=29441], PositionInfo:new [mediaItem=0, period=0, pos=10310]]
I/CCodec: state->set(FLUSHING)
I/CCodec: state->set(FLUSHED)
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 8 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
D/EventLogger: state [eventTime=35.58, mediaPos=10.31, window=0, period=0, BUFFERING]
I/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] 4 initial input buffers available
D/EventLogger: isPlaying [eventTime=35.58, mediaPos=10.31, window=0, period=0, false]
I/CCodec: state->set(FLUSHING)
I/CCodec: state->set(FLUSHED)
D/CCodecBuffers: [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
    [c2.sec.mp3.decoder#747:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 7 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mp3.decoder#747] 4 initial input buffers available
D/AviExtractor: SeekPoint: us=10000000 pos=1328126
D/ApplicationMediaCapabilities: Building ApplicationMediaCapabilities with: (Supported HDR: [android.media.feature.hdr.dolby_vision, android.media.feature.hdr.hdr10, android.media.feature.hdr.hdr10_plus, android.media.feature.hdr.hlg] Unsupported HDR: []) (Supported Codec:  [video/hevc] Unsupported Codec:[]) false
W/AviExtractor: Unknown tag=ðÆßþ pos=1333832 size=-1008739560 moviEnd=10615954
D/EventLogger: loading [eventTime=35.59, mediaPos=10.31, window=0, period=0, true]
E/LoadTask: Unexpected exception loading stream
      java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1088)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1008)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
E/EventLogger: internalError [eventTime=35.59, mediaPos=10.31, window=0, period=0, loadError
      com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: null
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:430)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
     Caused by: java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1088)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1008)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
    ]
E/ExoPlayerImplInternal: Playback error
      com.google.android.exoplayer2.ExoPlaybackException: Source error
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:639)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:615)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: null
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:430)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
     Caused by: java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1088)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1008)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
I/CCodec: state->set(FLUSHING)
I/CCodec: state->set(FLUSHED)
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 8 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] 4 initial input buffers available
I/CCodec: state->set(FLUSHING)
D/EventLogger: videoDisabled [eventTime=35.60, mediaPos=10.31, window=0, period=0]
I/CCodec: state->set(FLUSHED)
D/MediaCodec: keep callback message for reclaim
I/CCodec: state->set(RESUMING)
I/CCodecConfig: query failed after returning 7 values (BAD_INDEX)
W/Codec2Client: query -- param skipped: index =<PHONE_NUMBER>.
    query -- param skipped: index =<PHONE_NUMBER>.
I/CCodec: state->set(RUNNING)
I/CCodecBufferChannel: [c2.sec.mp3.decoder#747] 4 initial input buffers available
D/EventLogger: audioDisabled [eventTime=35.60, mediaPos=10.31, window=0, period=0]
D/SurfaceUtils: connecting to surface 0x6f67ee1b70, reason connectToSurface
I/MediaCodec: [c2.sec.mpeg4.decoder] setting surface generation to 16491522
D/SurfaceUtils: disconnecting from surface 0x6f67ee1b70, reason connectToSurface(reconnect)
    connecting to surface 0x6f67ee1b70, reason connectToSurface(reconnect)
D/Codec2-OutputBufferQueue: remote graphic buffer migration 0/0
D/Codec2Client: setOutputSurface -- failed to set consumer usage (6/BAD_INDEX)
    setOutputSurface -- generation=16491522 consumer usage=0x900
E/BufferQueueProducer: [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 0 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 1 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 2 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 3 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 4 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 5 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 6 is not owned by the producer (state = ACQUIRED)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 7 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 8 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 9 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 10 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 11 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 12 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 13 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 14 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 15 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 16 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 17 is not owned by the producer (state = FREE)
E/BufferQueueProducer: [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 18 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 19 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 20 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 21 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 22 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 23 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 24 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 25 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 26 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 27 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 28 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 29 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 30 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 31 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 32 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 33 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 34 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 35 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 36 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 37 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 38 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 39 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 40 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 41 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 42 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 43 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 44 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 45 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 46 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 47 is not owned by the producer (state = FREE)
E/BufferQueueProducer: [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 48 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 49 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 50 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 51 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 52 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 53 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 54 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 55 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 56 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 57 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 58 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 59 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 60 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 61 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 62 is not owned by the producer (state = FREE)
    [SurfaceView - com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity@7d9d53f@0#3(BLAST Consumer)3](id:3ee900000003,api:3,p:16105,c:16105) detachBuffer: slot 63 is not owned by the producer (state = FREE)
D/Codec2Client: Surface configure completed
D/SurfaceUtils: disconnecting from surface 0x6f67ed9330, reason disconnectFromSurface
I/CCodec: state->set(RELEASING)
D/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] MediaCodec discarded an unknown buffer
    [c2.sec.mpeg4.decoder#490] MediaCodec discarded an unknown buffer
    [c2.sec.mpeg4.decoder#490] MediaCodec discarded an unknown buffer
I/CCodec: [c2.sec.mpeg4.decoder] release(1)
D/CCodecBufferChannel: [c2.sec.mpeg4.decoder#490] MediaCodec discarded an unknown buffer
D/EventLogger: videoDecoderReleased [eventTime=35.60, mediaPos=10.31, window=0, period=0, c2.sec.mpeg4.decoder]
I/CCodec: state->set(RELEASING)
D/CCodecBufferChannel: [c2.sec.mp3.decoder#747] MediaCodec discarded an unknown buffer
I/CCodec: [c2.sec.mp3.decoder] release(1)
D/CCodecBufferChannel: [c2.sec.mp3.decoder#747] MediaCodec discarded an unknown buffer
    [c2.sec.mp3.decoder#747] MediaCodec discarded an unknown buffer
    [c2.sec.mp3.decoder#747] MediaCodec discarded an unknown buffer
D/EventLogger: audioDecoderReleased [eventTime=35.60, mediaPos=10.31, window=0, period=0, c2.sec.mp3.decoder]
I/CCodec: state->set(RELEASED)
I/CCodec: state->set(RELEASED)
I/hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
D/SurfaceUtils: disconnecting from surface 0x6f67ee1b70, reason disconnectFromSurface
I/MediaCodec: Codec shutdown complete
E/EventLogger: playerFailed [eventTime=35.61, mediaPos=10.31, window=0, period=0, errorCode=ERROR_CODE_IO_UNSPECIFIED
      com.google.android.exoplayer2.ExoPlaybackException: Source error
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:639)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:615)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: null
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:430)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
     Caused by: java.lang.IllegalArgumentException
        at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:643)
        at com.google.android.exoplayer2.upstream.DataSpec.<init>(DataSpec.java:32)
        at com.google.android.exoplayer2.upstream.DataSpec$Builder.build(DataSpec.java:214)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.buildDataSpec(ProgressiveMediaPeriod.java:1088)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1008)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:920)
    ]
D/CompatibilityChangeReporter: Compat change id reported: 147798919; UID 10428; state: DISABLED
I/MediaCodec: Codec shutdown complete
I/hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
E/BufferQueueProducer: [MediaCodec.release](id:3ee900000004,api:0,p:-1,c:16105) detachBuffer: BufferQueue has no connected producer

I'm also able to reproduce it on different device such as OnePlus 7. Though it's much harder in the demo app. In my app I'm updating the picture during scrubbing by calling seekTo in the onScrubMove callback (and waiting for the frame to be rendered).

Yeah, that got it.  I pressed forward and backward in the demo app rapidly and it got it a couple times.  I also see a potential issue if a negative seek position is passed.  I'll fix that as well.

Found it, if you seek while the Extractor was in a middle of a chunk, it becomes unstable.  Added change so partial chunk is abandoned on seek.  Changes pushed.

Great! Works fine after updating.


Riande th

Taylor fixes

@NTaylorMullen - addressed all your issues and fixed most of them (a couple left for formatting reasons)


[Issue]:  build_openmp_extras  handles -p option not right

Problem Description
The optionsparser in build_openmp_extras.sh sets in lines 42–43  "TARGET"  to "package", but doesn't use $2 to set "MAKETARGET" to given  package format:
'        -p  | --package )
TARGET="package" ;;'
A coressponding target is not defined in the target selector in lines 666–671:
'case $TARGET in
(clean) clean_openmp_extras ;;
(build) build_openmp_extras; package_openmp_extras ;;
(outdir) print_output_directory ;;
(*) die "Invalid target $TARGET" ;;
esac'
Given format is ignored, like said above.
Operating System
Debian 12 Bookworm with Backports
CPU
AMD Ryzen 5 5600G with Radeon Graphics
GPU
AMD Radeon VII
ROCm Version
ROCm 6.2.0
ROCm Component
aomp-extras
Steps to Reproduce
Open build_openmp_extras.sh in editor, inspect line 42–43 and 666–671.
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Hi @jdumke, I'll take a look into whether we should be providing this flag or not. The readme at https://github.com/ROCm/ROCm/tree/develop/tools/rocm-build only states support for -r and -c, which are defined in the script, and I don't know if this script is meant to be invoked with any of the other options.
Flags aside, the package type is set at https://github.com/ROCm/ROCm/blob/8b630923334b98dd16ac5c604121dc70974d79e2/tools/rocm-build/build_openmp_extras.sh#L549-L557
which is sufficient for the distros that we officially support. If this isn't working for whatever distro you're using you can try editing this.

Yes, your observations are correct, and thanks for pointing this out. I understand that we are presenting non-functional options here (and possibly in other scripts), and I'm checking internally to see if we can match how the other scripts consume them or if we should be removing these options. If you come across this issue in any of the other build scripts, please let us know.

I edited the optionhandler to perform the standard behaviour and the script runs properly until the point you quoted, which isn't done by ohther scripts in the same way. Why does set the script the package-type this way and doesn't trust the caller by using the argument passed with -p.
Optionhandling is quite a thing, which has serveral qualities within the project, for example build_half.sh actually doesn't consume any options, I fixed this in my actual pull request.
Packagegeneration in general is other thing offering a wide range within ROCm. Some subprojects generate not only deb and rpm, but also tar-balls and zip, some doesn't offer the last two.
A last remark for this post: The correct treat of -p is exactly the functionality I requested in #3742.

These issues arise because the GitHub build scripts are ported from internal build scripts and it seems like we haven't sufficiently prepared them for external use. In the case of the -p flag in build_openmp_extras, this was probably functional at some point but was changed it to just use -r instead with the hardcoded package types. This isn't because we don't trust the caller but rather because this doesn't matter internally, as we have control over how they are being called. Of course, this specific script is still broken since it will consume the -p flag in an erroneous way (even internally) and should be addressed.
From a design standpoint, we need to determine whether we intend to only provide functionality for -c and -r (as stated in the README), or if we want to give external users more control. These scripts work out of the box for any distro we officially support, and handling unsupported distros is likely out of scope, but I'll discuss this with the internal team.


How to crawl sites which need login

I have username and password. Does it support crawl my docs in this kind of site? Or any plan to support? Thanks.

Hmm... I would like to work on this feature if the mentor agrees.

me too

Same here

me2

me too


new sparkbar examples and changes to allow bar only highlights

Here are some Sparkbar examples. I ran into the situation of the current "area" Highlights not working well for Sparkbars, so I added "bar" highlights. Open to feedback on how this was implemented.

@mattlangeman I'm not against adding a new Highlight option, although another approach we could use it access the tooltip using let:tooltip and style the individual Bar using getProps (not overly sold on this name and might change it later).
https://github.com/techniq/layerchart/assets/177476/6bdf1f31-ab9a-4c2f-b0df-c3fb98333e5b
I used this approach to highlight some multi-line (and area) examples.  See this post and follow up replies for a few examples.
With that said, I'm not against adding the tweening bar/rect shape.    We could maybe support this using <Highlight area={{ snapToDataY: true }} > similar to TooltipContext.
Thoughts?

I actually first started looking into just changing the color of the bar directly. I didn't like duplicating the padding, stroke and radius. But I didn't come up with the getProps approach and thought I would need to then bring the tooltip into the bar component, which also didn't seem great.
You're thinking snapToDataY would replace the need for the extra bar prop to Highlight? Would we then also need snapToDataX for horizontal bar charts? I wonder if there is another name for this that would make sense.

That's what I was thinking, just to keep from having 2 props (area and bar) that were similar, and yes, there would be the compliment snapToDataY.  I'm open for another name, or inverting the meaning and having the full band width/height me the option.  There might also be a more elegant solution.  I'm also not completely against adding bar if it makes the most sense, just feeling out different approaches.

Is there an example of the snapToData functionality somewhere? I found this note in the changelog, but it looks like at one point svelte-ux and layerchart were maybe in the same repo and now the release and commits have changed?

[Tooltip] Add "Snap to data" options to examples (09a92a)

I think that might be an overlook when I generated the initial changelog from commits (before I started using changesets).  If you notice, the actual commit is in the layerchart repo.
Examples of the prop are available on the Tooltip component page, with the Scatter example having it enabled by default.
 page

Another thought I had was to use a clipPath to "mask" the <Highlight area={...} /> so it makes the same shape of the bars themselves, but I tried a few quick examples and wasn't having any success.  It would provide a slightly different effect to the spring/tweened shape <Highlight bar> provides.
I'm fine with leaving this PR as is for now, unless you want to explore some more.  I wish it didn't result in some duplication/added complexity within Highlight, but maybe we circle back on it later.
We could also extract a Bar component that is used within Bars and Highlight.
I'm thinking we could also remove the getProps and just expose a bar slot with slot props passed.
I have to say createDimensionGetter is rather ugly, but it was the best solution I came up with at the time.

Examples of the prop are available on the Tooltip component page

Ah. I see now. I was looking for code within the examples directory instead of across all docs. So snapToData in these examples is to fix the position of the Tooltip instead of having it move a bit based on cursor. That makes sense to me. I'd lean towards keeping the terminology different bar highlighting. The other thing I was thinking this morning is that it would be nice to allow both current area highlights and bar highlights at the same time. This could still be accomplished with only the area prop. Something like area={'band'=true, 'bar'=true}. And defaults could be band=true if backwards compatibility is desired.
I'm not in a hurry to get this PR merged in and wouldn't mind exploring a bit more. I have a busy day today, but plan to revisit tomorrow.

@mattlangeman Sounds great, and I'm not in a rush either :).  I'd rather refine and iterate, with the best abstraction to support the most use cases, with simplest implementation to simplify maintenance / additional use cases (you know, the holy grail).

Examples of the prop are available on the Tooltip component page

Ah. I see now. I was looking for code within the examples directory instead of across all docs. So snapToData in these examples is to fix the position of the Tooltip instead of having it move a bit based on cursor. That makes sense to me. I'd lean towards keeping the terminology different bar highlighting.

With TooltipContext / Tooltip, there are basically 3 ways to position:

By default, TooltipContext will use the mouse/pointer position, and Tooltip will apply an offset by default (mostly to not cover up the point you are interested in)
In TooltipContext, you can opt into snapping the position to the closest data point's X and/or Y
In Tooltip, you can specify explicit top / left positions, overwriting/ignoring what is set in the TooltipContext. This was a recent addition we made for the Sparkline example, but I'd like to add more examples to show what kind of use cases this supports

A fixed tooltip in the top left (or any corner) by specifying values for both props (ex. <Tooltip top={8} left={8} />)
Only specifying a fixed top such as this visx example or these Observable plot examples which would use 2 instances of <Tooltip>, one with a fixed top and one with a fixed left.

The other thing I was thinking this morning is that it would be nice to allow both current area highlights and bar highlights at the same time. This could still be accomplished with only the area prop. Something like area={'band'=true, 'bar'=true}. And defaults could be band=true if backwards compatibility is desired.
I'm not in a hurry to get this PR merged in and wouldn't mind exploring a bit more. I have a busy day today, but plan to revisit tomorrow.

One thing to note, is you can have multiple instances of both <Highlight> and <Tooltip>.  One example for Highlight is the PunchCard example.  So we could also do <Highlight area={{ mode: 'band' }}> and also <Highlight area={{ mode: 'bar' }}>, although I also try to support using a single component when possible (why you see <Highlight points lines /> used a lot to turn on both points and lines).
Also, the order you order the components matters (last one is on top, as it's svg).  So...
<Points>
<Highlight area />

...would put the Highlight on top of the the Points (and why it's 5% opaque by default).  While...
<Highlight area />
<Points>

would put the Highlight behind the Points.  In some ways this is more aesthetically pleasing (but just depends on the general chart).
Sorry, this was as longer reply than I intended :).  One focus I hope to accomplishing before tagging the 1.0 release is to punch up the documentation a lot, trying to document and describe a lot of this "hidden" functionality/capability.  I'm also hoping as more users are using the library, it will naturally improve the docs.
Lastly, if you'd ever want to jump on a video chat to discuss anything, I'd be open for it.

I was playing around with the bar highlighting again today. I tried sending in the tooltip to the Bar component so that it could be used to create the highlight within Bar. That allowed for creating the tweened bar, but without duplication of radius, stroke, etc. However, I realized that you may actually want to change the stroke for the highlight bar, and that led me back to thinking it may be best to create the rect within Highlight with the different modes.
The other idea was pulling in the context of Bar into Highlight via setContext and getContent and using that as defaults when creating the rect in Highlight.
It would be great to have a video call sometime. My schedule can be sporadic, but has also has some flexibility. Usually my ideal times are between 10am-4pm Eastern or in the evening after 8:30pm.
One topic I'm curious about is dealing with missing data and multiple datasets/different sources of data. A recent project had a unique challenges around those areas.

Evenings typically work best for me, as I too have a sporadic schedule (between work and 3 young kids/activities).  I've setup a discord server if you want to chat (invite link), and we can figure out the details when/how to do a video chat (google meet, zoom, teams, etc).  I'm actually off tomorrow and could chat during the day if you'd prefer.  Just let me know.


Annoying Bot Owner bug.

while botting a random server for fun some random person was able to do commands to the bots without being owner how is basically very easy you say the owners name and then a command ex Notch is the owner and a random player named popcorn can command bots by saying this in chat: " Notch !say HI" they bots will then say hi without notch doing a command and fooling the bots that Notch gave them a command.

I'm not able to reproduce this. Please add your environment specifications and the version of the bot you're using.

i was using the latest development build and was botting a server the owner was McCrazy3122 some random person just said in chat McCrazy3122 !say hi! and the bots said hi.... the chat also did not have the < > things.
lel

"The chat also did not have the < > things" -> If your server chat environment does not tag messages with the player name correctly, the bot will not be able to handle them correctly, as that breaks the contract. The Minecraft multiplayer interface does not natively support knowing which users posted a chat message, and therefore neither does the bot. It only parses out the user name from the beginning of a line and expect it to work.
This issue is too localized and is not liable to be fixed. @DarkStorm652 Please close.


Adding serialisation-deserialisation support for a custom layer

Hello
I am trying to add serialisation-deserialisation support for a layer already supported by armnn

added in schema
Table, descriptor,layer,layer type
2)added Visit layer() in serializer.cpp and hpp
added parseLayer in deserializer.cpp
So armnn binary is generated. But when i run it through Execute network, it says Layer with given index not found.
So the layer I added has fb_index =242
In SetupOutputLayer->GetLayerIndexVector
Graph size   target index
243                    0
243                  242
243                    243.  <---- i think it's incorrect.
Can't figure out the reason.
Source index layer comes to be 243, it should come lesser than 243.
Any idea, where am i missing or going wrong.

Did you add the layer to the switch inside Deserializer::GetBaseLayer()?

Yes, added.

If you don't mind me asking, which layer are you trying to add to the serializer? I was under the impression that all supported layers -- with the exception of the ones intended for internal use only, such as DebugLayer, MemCopyLayer, MemImportLayer, etc. -- are already fully serializable :?

It's a layer in caffe models which is present in armnn layers and layer type also, but respective functions ain't there in serializer or deserializer. Even armnnCaffeParser doesn't support it. So now parser support works fine. But once on execution of this model converted to .armnn it gives the error mentioned in my first post.

I checked again and all the publicly accessible layers, i.e. the ones present in INetwork.hpp, are already serializable. The only layers that cannot be serialized are the following:

ConvertFp16ToFp32
ConvertFp32ToFp16
Debug
FakeQuantization
MemCopy
MemImport
PreCompiled
All these are internal layers that are added by the optimizer -- with the exception of FakeQuantization, which is a training layer that is not fully supported by Arm NN.

Am I missing something?

Hi
Thanks for the reply. I don't see anything for detection output descriptor in serializer.cpp

detection output descriptor

There is no such layer in Arm NN :? There is a DetectionPostProcess layer used in the MobilNet SSD network, but that is fully supported by the serializer.
My suspicion is that you are trying to deserialize a layer that is not supported by Arm NN and therefore you end up with a corrupted network, which then fails to execute.
Can you point me to the documentation of the Caffe equivalent of this layer you are trying to deserialize?

Thanks for the reply.
I can see a addDetectionOutputLayer().
And i see DetectionOutputLayer.cpp in armnn/src/armnn/layers

Are you using some custom fork of Arm NN? There is surely no DetectionOutputLayer in our official release. See here the list of layers in the 19.08 release:
https://github.com/ARM-software/armnn/tree/branches/armnn_19_08/src/armnn/layers
In case you are using a fork, you might want to contact whoever implemented the DetectionOutputLayer.

Okay. Thanks.


[Doc Improvement][Messages in bot conversations][3499111]

Changed the code snippet for HTTP.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
87
42
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
87
42
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
89
36
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
90
33
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
90
33
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
90
33
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
90
32
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/conversations/conversation-messages.md
90
32
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Migrate to paho-mqtt 2.0

Fix #279
The tests are passing.
The typing need more work both in aiomqtt and in paho-mqtt upstream.

@empicano, @frederikaalund, this is ready for review.
I fixed all MyPy errors and opened a pull request on paho.mqtt.python to upstream the type annotations fixes.

eclipse/paho.mqtt.python#828

The commit fix: MyPy errors 8c72a1ae5cba421df4eda2507a0157c97dd32c0a, use this branch and pass the checks and tests.
The last commit refactor: use paho-mqtt v2.0.0 with type ignores 93014c141ea6cd6c371b071fed3a527bb9cca312, use paho-mqtt v2.0.0 with type ignores.
Thus, we can merge this PR and close #279.
And once paho-mqtt integrates eclipse/paho.mqtt.python#828, we can remove the type ignores.
In the future, we could also migrate to the new callback API.

Well done with this migration! 👍 I looked through the code and it looks good to me too. :) I like that you found some typing fixes for paho-mqtt as well.

Thank you.

Should we cut a release for this?

Should we cut a release for this?

Yeah, that is a good idea. 👍 We have to mention that we no longer support paho-mqtt 1.x in that one as well.
I'm currently reviewing the #287, can you do a release? :)

I can do this at noon.


Examines should show structure damage

Title.

I was looking at the wrong comp

windows and windoors do but nothing else like walls or normal doors


Use displayName in completed installing the extension message

When installing the extension completes, the message is shown: "Completed installing the extension .. Instead, the extension displayName should be shown.

VSCode Version: 1.36
OS Version: Windows 10

Currently, publisher.name is displayed, it would be better if displayName is shown.


[WIP] Add search function with Algolia

This PR is far from complete, but I want to get early feedback.

[x] Build index
[ ] Publish index to Algolia
[ ] Lazy update
[ ] Front-end implementation

@MoOx @DavidWells
If you clone this branch and build docs, you'll get a search-index.json. We can upload it to algolia to create an index. I dumped the content of search-index.json here
Online demo: https://www.algolia.com/realtime-search-demo/phenomic-docs-search

Looks good @thangngoc89
Then it will mainly come down to the index configuration as well.
Also, when it comes to splitting up content based on the DOM structure, there are two strategies.
Minimum amount of records
Will avoid having a record with an H1 alone in it in favor of records going always as deep as possible in the hierarchy
Verbose
Will create a record for each level in the DOM structure
The second option allows you to display result suggestions for a same page to let users access a specific anchor of that page. Will result in a lot more records though.
The choosing between option 1 and 2 comes down to the type of site. For a documentation you probably want users to be able to jump right into a section of a page. For a blog or a corporate website you probably just want people to be heading to the top of the page.
Hope that helps, I'd love to find some time giving your solution a try, looks gorgeous!

Then it will mainly come down to the index configuration as well.

This is doable all via the API, using https://github.com/algolia/algoliasearch-client-js

@vvo thank you. That's what I'm looking for.
@rayrutjes so you're saying that if I don't need to let user users access a specific anchor of the page . I can just use 1 record for each post? What about the 10KB per records?

so you're saying that if I don't need to let user users access a specific anchor of the page . I can just use 1 record for each post?

Not exactly because if you choose to index 1 record per post you will reach the 10kb limit. Actually we even recommend you stay under 3kb ;)
What I'm saying is that in documentation websites, it makes sense to have a record pointing toward an H1 anchor of a page, so having a record containing only the H1 makes sense there.
In non documentation website, you don't need those records because you are only interested in global relevancy of the result. So having the H1 part of another record containing the children is OK.
When splitting posts/pages into multiple records, you can use the DISTINCT feature of Algolia to only get back the most relevant record for a given post/page.

@rayrutjes thank you. I got it. I think I'll go with docsearch-configs https://github.com/algolia/docsearch-configs. It's pretty flexible and user can choose which selector they want to index. I'm learning some python to see how docsearch-crawler works

@thangngoc89 I guess docsearch make sense for #769, maybe not for all websites, right?
Thanks @rayrutjes @vvo for your inputs, it's really nice from you :)

I guess docsearch make sense for #769, maybe not for all websites, right?

Yes it makes sense only for Phenomic website docs, we will provide a free crawling and indexing documentation infrastructure like we do for react/react-native..
At least not the docsearch "SAAS", where Algolia company configures, host for free your index. We do provide free DocSearch installs even for websites where the free plan would not fit. If the website is compatible with what we call community websites, websites that are aimed at developer communities.
But if $BIGCORP uses Phenomic then we won't provide a free DocSearch install for instance.
Still, you could take the DocSearch crawler and index format to achieve what we do yes. That may be a bit overengineered for a JavaScript project. Maybe also you do not want to maintain some python programs.
So a simple approach could be to just do a small index like you did @thangngoc89 and use react-instantsearch (in alpha, @thangngoc89 has it), to provide a simple set of components inside Phenomic.

I'll keep the surface of the PR small, I won't change the index builder algorithm in this PR. I'll focus on completing all of those tasks above. We can add more complex algorithm and options to the index builder later.
Also, it's a good time for a monorepo because I see other Node.js SSGs can use what I have written here to implement their index builder for Algolia.
Furthermore, Phenomic will has 2 more commands:
# set index config to Phenomic's recipe
phenomic search algolia:config --masterKey (or whatever)

# publish index to Algolia
phenomic search algolia:publish (lazy update option will come later)

Closing as this PR have to be completely rewrote (new engine, API etc). #142 is still open.


Text Field out of alignment since update

I noticed some text fields and components implemented using 'FormControl' were no longer in horizontal alignment after a recent package update to beta33.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
Some of these controls are aligned using  and on other pages they are aligned with a vanilla flex box row. All have margin set to 'none' and were previously in perfect horizontal alignment.
Current Behavior
Now, text fields are slightly higher whose type was set to 'tel'. Removing the type="tel" property fixes the alignment issue. There seems to be a '1.1875em' modification to the height that is calculated when type="tel". This appears to be linked to a change made in input.js involving class '.inputType'.
It may be linked to this commit: https://github.com/mui-org/material-ui/commit/b706b42b70c606ef1ac3170198e7038c6ce67416#diff-deaeb5c7e253bfa4f497fa8ace0b3607
This occurred on Chrome 64.0.3282.140 and the latest version of Safari ios.

@choelterati Could you share a reproduction example?

I can't see any diff. I'm closing until a reproduction is provided.


Error: invalid syntax at line 28442 col 1:  " > /dev/stderr

Error: invalid syntax at line 28442 col 1:  " > /dev/stderr
vscode will breakdown

抱歉。虽然错误是显示当前插件报错，但我没有在源码中找到相关内容，我认为可能不是插件的问题

sorry Although the error is an error in displaying the current plug-in, I didn't find the relevant content in the source code. I think it may not be the plug-in.


v2.0.0-beta.23: Non-enumerable properties are considered undefined

I use Zod to check the type of the error produced by body-parser, but it fails since commit 0f47d2f13d08c9e8c04f64a86e078cd18f40652e because non-enumerable properties are ignored. Is it an intentional change, or it is considered a bug?
Zod works fine for enumerable properties.
> const zod = require('zod')
> let a = { message: 'x' };
> zod.object({ message: zod.string() }).parse(a)
{ message: 'x' }

But it fails for an Error object because message is non-enumerable by default.
> let e = new Error('x')
> zod.object({ message: zod.string() }).parse(e)
Uncaught ZodError: [
  {
    "code": "invalid_type",
    "expected": "string",
    "received": "undefined",
    "path": [
      "message"
    ],
    "message": "Required"
  }
]

If I manually set it to enumerable, it can be successfully validated.
> Object.defineProperty(e, 'message', { enumerable: true })
> zod.object({ message: zod.string() }).parse(e)
{ message: 'x' }

This seems to imply that the own properties of e are compared to the type instead of the reverse.

Thanks for pointing this out! Fixed in beta 27 👍
import * as z from '.';

const e = new Error('x');
z.object({ message: z.string() }).parse(e);
// => { message: 'x' }

It seems it is commit 19af28b014bb603bf58ad5116f8afcd6a24850d8 that fixes the problem, not the commit referenced above.

good catch I guess


Wildcard/automatic gateway detection

Can it have some gateway ID wildcard/regexp?
Or are there some other criteria we can match on? (frequency/channel perhaps)
Do we need to restart the service to reload the configuration or can we send some signal?

I do not plan to support freq. / channel filters but I could see an option to forward for all gateway IDs for a given backend useful. Would you be interested in creating a pull-request?
Yes, you do need to restart the service in order to apply configuration changes.

I have to go learn Go first :) I had a small look and probably if I want to implement all my thoughts, I would need to rewrite some structures to dynamically add the gateway IDs. For now, quite busy with other things too.

@darkfader I just pushed a new commit which contains a full rewrite, which allows forwarding for all gateways or configuring a Gateway ID prefix (e.g.<PHONE_NUMBER>000000/16).


GCP - AlloyDB Support

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
Is it possible to provision an AlloyDB instance using Pulumi?
https://cloud.google.com/alloydb
If not is it possible to connect cloud run to an existing instance?

Affected area/feature
GCP, AlloyDB

Hello, provisioning AlloyDB doesn't seem to be supported yet in this provider, that will happen when it is added to the upstream terraform provider.  There seems to be some data migration support but not provisioning support in our pulumi-google-native provider, which can be used alongside pulumi-gcp.  Provisioning of an AlloyDB instance will be added to the pulumi-google-native provider when it is available in the google discovery api that we use to autogenerate that provider daily.

AlloyDB support has been added in https://www.pulumi.com/registry/packages/gcp/api-docs/alloydb/


ISSUE-899 Test mode: Provide an option to force stop a test run

add new REST API endpoint: force stop running test

/topologies/{topologyId}/actions/killtest/{historyId}
it just turns on the flag to force stop, and return immediately
response with OK would be {"flagged": true/false}

flagged will be 'true' only when process is running now and 'false' otherwise so it doesn't indicate request has been failed

let 'test run' handles force stop flag and destroy process if flag is turned on

This closes #899
As I also noted to https://github.com/hortonworks/streamline/issues/899#issuecomment-327700819, please keep it mind that 'force stop' will make test run marked as 'failed'.

I added some log line with INFO because it is hard to debug topology test run with INFO level. Please let me know if we want to change the log level for them to DEBUG.

Btw, I found only one non-daemon thread prevents process to be not finished: executorService in WaterMarkEventGenerator. I have been testing several scenarios and found only topologies which does event time windowing have the issue consistently. I dumped thread via jstack but impossible to find from jstack result because it doesn't have thread factory hence thread name is pool-*.
I'll file an issue and provide a patch soon.

Filed issue and submitted PR: https://issues.apache.org/jira/browse/STORM-2724

@HeartSaVioR While testing this out, I ran a test case and got error:
API: /api/v1/catalog/topologies/1/testhistories/2/events
Respone: {"responseMessage":"Event log file of history 2 does not exist or is not readable."}
Logs:
WARN   [10:19:28.807] [ForkJoinPool-2-worker-2] c.h.s.s.a.t.s.TopologyTestRunner -  Exception thrown while running Topology as test mode. Marking as 'failed'. topology id: 1
java.lang.Exception: Topology could not be run successfully as test mode: storm deploy command failed
at com.hortonworks.streamline.streams.actions.storm.topology.StormTopologyActionsImpl.runTest(StormTopologyActionsImpl.java:309)
at com.hortonworks.streamline.streams.actions.topology.service.TopologyTestRunner.runTestInBackground(TopologyTestRunner.java:200)
at com.hortonworks.streamline.streams.actions.topology.service.TopologyTestRunner.lambda$runTest$21(TopologyTestRunner.java:177)
at com.hortonworks.streamline.common.util.ParallelStreamUtil.lambda$runAsync$7(ParallelStreamUtil.java:56)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

@shahsank3t
Thanks for testing!
Please make sure that the process of test is started. The new api endpoint doesn't do anything if process is not started.
And due to how Storm local cluster works, you need to wait a bit more than some seconds to let process initializes local cluster env. and run actual worker.
(event file is not generated before running actual worker. might be better to create one before launching process btw.)
Providing exported test topology json, test data, and streamline log would be great to track the issue and reproduce the issue you've seen.

@HeartSaVioR
Sorry, my bad. There was some config issue which I resolved and was able to run the testcase as well as kill it.

@arunmahadevan Please have a second look when you have time. Thanks in advance!

@arunmahadevan Squashed the commits.


TS 2.9.2 incorrectly imports symbol from file rather than from library

2.9.2 have broken my build process. After an investigation I found strange thing. There is a code which worked in previous version:
import { createToken, Lexer, IToken } from 'chevrotain';

export const WhiteSpace = createToken({
  name: 'WhiteSpace',
  pattern: /[ \t]+/,
  line_breaks: false
});
...

Now it produces incorrect type definition:
import { Lexer, IToken } from 'chevrotain';
export declare const WhiteSpace: import("../../../../../../Golden/NS/lib/gdmn-nlp/node_modules/chevrotain").TokenType;

When I specify type of constant directly all works well:
import { createToken, Lexer, IToken, TokenType } from 'chevrotain';

export const WhiteSpace: TokenType = createToken({
  name: 'WhiteSpace',
  pattern: /[ \t]+/,
  line_breaks: false
});

results into correct type definition:
import { Lexer, IToken, TokenType } from 'chevrotain';
export declare const WhiteSpace: TokenType;

The function CreateToken declared as:
export declare function createToken(config: ITokenConfig): TokenType
So, in the example above TS must know about type of constant and use type TokenType from library chevrotain instead of disk file.

Duplicate of #24980 and #24599.
Should be fixed into version 3. You can try it with a Nightly Build.

Thanks @j-oliveras!


Change logic of "Ctrl+Shift+[E F G D X]" to toggle between hide/show rather than only show

This feature would allow the user to show and hide with the same shortcut. Additionally it would not force to learn "Ctrl+B" for hiding.

Another duplicate to #41186, relates to #19400
It's quite popular for this feature request.

Closing as duplicate of https://github.com/Microsoft/vscode/issues/41186
We cannot change these commands to hide the sidebar because they are showing up in the main menu and it seems wrong to hide the sidebar when you pick them from the menu in case already visible.


sbcl: fix check phase for darwin 24.05 only

Things done
See https://github.com/NixOS/nixpkgs/pull/359214 and in particular @szlend’s comment.  Thanks to @pcboy for reporting.

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

no it's fine to include somewhere directly I just don't know what the proper target branch is. What's the 24.05 equivalent of master?
Although I am surprised at the low rebuild count... maybe because it fixes a previously broken package? On master, changing sbcl causes an avalanche of >1k lisp package rebuilds.

Release branch of 24.05 is release-24.05


FAB visibility should change on scroll

When the FAB is expanded to show the mini FABs if the user scrolls the page OR changes back to the activity page the mini FABs should go back to being hidden. Currently they stay out during scroll events and even if you change to other screens in the app and come back later they are still visible.

Fixed. The additional FABs now animate out on scroll events and any time the user navigates away from that screen if they are out they will be hidden.


Class based file API

Wraps the existing API in a class. I think this is a bit nicer (okay, I mainly did this because I kept forgetting to close files...).
int32_t file = blit::open_file("some.thing")
blit::read_file(file, ...);
return; // oops

->
blit::File file("some.thing")
file.read(...);
return; // yay, destructors

Guess the next step would be to make the old API internal...

I prefer this to the old method, since keeping track of file-descriptors feels really clunky and- of course- exposes that "forgot to close file" footgun. Will merge and hope it sticks ;) Thank you.


Rename repository as transfermarkt-datasets

Rename repo as transfermarkt-datasets. This should make it easier for potential contributors to understand the purpose of the repository: Host cleaned datasets scraped from Transfermarkt website.
Things to have into account

Update all references to player-scores

USER_AGENT
Terraform resources

Update references
Renaming an S3 bucket requires manual operations as described here

environment.yml
dvc remote storage
Github action workflows
Playbooks
datapackage_description.md
README.md (test new references!)

Improve documentation

Remove initial section with the three phases of the broader scope project
Change title in README
Change repo description

Can we create a diagram such as this one? - http://openfootball.github.io/

Closed via #51


Focusing the root node of the main scene when opening project is not working

Godot version:
3.1 beta 5
Issue description:
Start godot and open project
Result: root node is not focused

Expected: root node is focused, user can see properties in inspector
Related to #25609

@breakmt since @JFonS  plans to rework the way selection works soon, I'll be waiting for that change before debugging any further. I tried but so far I failed.

@QbieShay I will self-assign this issue to keep it in mind when I finally get to do the rework.

Moving to 4.0 since I won't be able to rework this before 3.2

Still valid in 93b107a
Although this is not really a bug. No node selected is a valid state. This also happens when you open a new scene btw.

Seems already fixed in 4.0.


[AST] NFC: Create abstract class for MemberRefExpr/SubscriptExpr

This consolidation includes two examples of where this useful. There are probably more.
FYI – LookupExpr was chosen for visual symmetry with the existing DynamicLookupExpr abstract class. Other names were considered: DeclLookupExpr, BaseDeclRefExpr, etc.

@swift-ci please smoke test

LGTM


Rich Text Fields are not cleared in GE form when entering batch gifts

Description: Rich text fields are not cleared in the batch gift entry form after saving a gift. This also occurs if you open an existing gift and click the 'Cancel and Clear Form' button - the field remains populated with the gift's value when all other fields are cleared. This does not occur if a template-level default value is set in the field - saving a gift returns the rich text field to its template default value.
Steps to Recreate:

Map a rich text field to the gift entry form
Navigate to the Gift Entry app and add the mapped field to the desired form template
Create a new batch using the form template with the rich text field.
Enter donor information and "Gift #1" into the rich text field.
Save the gift.

Expected Results: Gift is saved, and all GE form fields are reset to blank or their default value.
Actual Results: Gift is saved, and the rich text field retains whatever text was entered prior to saving the gift - in this case, it would still read "Gift #1".
Related Investigation: https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000008J7tnIAC/view
WI: https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000008isfYIAQ/view

W-8430577

This issue has been migrated to the Known Issues site: https://trailblazer.salesforce.com/issues_view?id=a1p4V0000029kSHQAY&title=gift-entry-rich-text-field-values-are-not-cleared-in-a-gift-entry-form-after-gifts-have-saved-to-the-batch
Please follow the status of the issue there and select "This Issue Affects me" if you are affected by the issue.


When using electron module (e.g. ipcRenderer), Webpack hot reloading not working

The following warning are shown on Developer Tools console
[HMR] The following modules couldn't be hot updated: (Full reload needed)
This is usually because the modules which have changed (and their parents) do not know how to hot reload themselves. See http://webpack.github.io/docs/hot-module-replacement-with-webpack.html for more details.
[HMR]  - ./app/util/windowManager.js

windowManager.js
import { ipcRenderer } from 'electron';

export function createChildWindow(windowOption) {
  ipcRenderer.send('createChildWindow', windowOption)
}

export function closeChildWindow(action) {
  ipcRenderer.send('closeChildWindow', action)
}

node: 6.2.2
OS: Windows x64

Does this issue still persist in the latest build?

I have this issue with the latest build! I had no idea it was from using ipcRenderer! Interesting. You can still reload the GUI with command + R and it does reload it and maintains state and loads the new changes.


Add files via upload

added tower displacement by @arahulv
with scene name SampleScene@arahulv

Bump, just to test Restyled.io integration

Bump again

Implemented with #5


Css file not detected by automation tools

When using this module with a building tool, the CSS is not being detected because it is not included in the bower.json file.
Proposed pull requests #87 and #96 resolve this.

latest build (v0.5.3) fixed this, thanks.


#159758091 add logout functionality

What does this PR do?
This PR creates a logout functionality
How should this be manually tested?

Clone the repo

$ git clone https://github.com/asheuh/StackOverflow-lite
$ cd StackOverflow-lite

Create virtualenv

$ python -m venv venv

Run app

$ python app.py

Then go to <IP_ADDRESS>:5000/api/v2

What are the relevant pivotal tracker stories?
159758091

Pull Request Test Coverage Report for Build 61

0 of 0   changed or added relevant lines in 0 files are covered.
8 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.8%) to 84.271%

Files with Coverage Reduction
New Missed Lines
%

home/travis/build/asheuh/StackOverflow-lite/stackoverflow/api/v2/auth/routes/routes.py
8
44.78%

Totals

Change from base Build 59:
-0.8%

Covered Lines:
734

Relevant Lines:
871

💛  - Coveralls


Protect the Dashboard from Pods

Signed-off-by: Brad Geesaman<EMAIL_ADDRESS>

kubectl proxy works as expected with this in place, but connecting directly to the dashboard from regular pods is blocked.  Because the dashboard has a full permission token mounted, this prevents a path to full cluster escalation/compromise.

@bgeesaman looks like you probably force pushed a commit without a sign-off

ok to test

Yeah, I forgot to place it in a commit vs in the PR text.  My apologies.  We can close this and I can do a fresh one if you like.

@bgeesaman whatever is easiest for you :) Thanks for the fix on this one!


Access Functions server from client on private LAN

I would like to run the Functions server locally and access it from a client on my private LAN. (I'm trying to test calling a Function from an Android client.) I am currently only able to to access the Functions server from localhost. Is this a limitation of the CLI, am I simply missing a configuration change?

Usually you set your local server to serve from IP <IP_ADDRESS> but unfortunately it looks like localhost (<IP_ADDRESS>) is hardwired.
We need an option to set host as well as port.

It looks like the self-hosted server is started in StartHostAction, and it, too, is hardwired to use localhost.

So this used to be possible, if you remember the cli used to prompt you to run as admin the first time you launch it so it'd register a binding with http.sys to allow this. I thought you shouldn't need to run the cli as admin just to register an http server, so I changed that. I can added it back with a switch.

though with the move to .NET Core we can finally get rid of dependency on http.sys all together.

I agree shouldn't need to login as admin just to set the host. :(
Out of interest when is the Core work due to land?

@fabiocav is actively working on it, though I'm not sure there is an exact due date just yet. There are few PRs opened across all the runtime repos (I'm hoping to start moving the cli to consume these soon) You can follow the main PR for the core pieces of the runtime here https://github.com/Azure/azure-webjobs-sdk/pull/1193 Hopefully once that is in, the rest will follow suit.

on and since we'll be targeting .NET Standard 2.0, it certainly won't be before .NET Core 2.0 RTM :)

Makes perfect sense :)

@ahmelsayed An optional switch to require admin privileges and bind to <IP_ADDRESS> (or as I've seen in other servers, explicitly specifying the IP address on which to bind) sounds good to me. Even with the move to .NET Core and without the http.sys dependency, we'll still need a switch to change the binding from <IP_ADDRESS>, right? Do you have a pointer to a commit that was binding to <IP_ADDRESS>?

Getting the CLI to bind to <IP_ADDRESS> would be very useful for developing Functions from within Docker; in order to expose container ports, they must be bound to <IP_ADDRESS> rather than <IP_ADDRESS> (localhost).
Workaround
For the moment, I've installed nginx as a reverse proxy inside my container. Use the following nginx config:
server {
    listen 80;

    location / {
        proxy_pass http://localhost:7071;
    }
}

Set your CMD to a script similar to:
#!/bin/bash

func start &
nginx

wait

...then map 7071:80 when running the container. Viola, http://localhost:7071 routes correctly.

@snoopdouglas Thanks for the temporary workaround!

Any progress on this or is nginx still the only way?

Any progress on this or is nginx still the only way?

+1

I am really worried about Azure Functions... we have to install nodejs to use a .net thing, and now, I can not access a internet thing outside localhost...
Please fix that;
How to configure Host : Port of Azure Functions on Visual Studio 2017 ?
I want that it accepts like ASP.Net Core (.UseUrls("http://+:7071")):
Now listening on: http://[::]:7071
but it is only listening on
    http://localhost:7071
See https://stackoverflow.com/q/49267438/194717

Even now with the update Bind to <IP_ADDRESS> instead of localhost,   when using option func host start --useHttps its still only binding to localhost.


Support Emmet for Sass and Stylus

Support Emmet for Sass and Stylus.
Source: https://github.com/mrmlnc/vscode-emmet-fix/issues/1 (by @egamma) and https://github.com/Microsoft/vscode/issues/7312#issuecomment-227064046 (by @aeschli)
Sass:

Stylus:

More tests:

CSS
SCSS
LESS
HTML

Hi @mrmlnc, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, MSBOT;

Looks good to me, thanks much!


chore(angular2): update from beta.9 -> beta.12

ϞϞ(๑⚈ ․̫ ⚈๑)∩
this also happens to fix the firefox issue :+1:
fixes #42

yaaay lgtm


dataloader

When using the CVC dataset, a TypeError: Input image tensor permitted channel values are [3], but found 1 error occurs. It is likely due to different datasets having different dataloaders. I hope you can upload the dataloader for the CVC dataset.

Hello, I also met the same problem as you. Have you solved it? If it's solved, can you share it with me? Thank you very much!

When using the CVC dataset, a TypeError: Input image tensor permitted channel values are [3], but found 1 error occurs. It is likely due to different datasets having different dataloaders. I hope you can upload the dataloader for the CVC dataset.

Hello, I also met the same problem as you. Have you solved it? If it's solved, can you share it with me? Thank you very much!

I have also encountered the same problem. Have you resolved it?


rendering fonts on startfy

Instructions: Replace the template text and remove irrelevant text (including this line)
Describe the bug
Load Hack Fonts/NerdFont
To Reproduce

Configure vim dev icon and vim airline and startfy.
Install all fonts recommended
Close the vim and then open.

Expected behavior

MacVim should rendered properly. Instead I've this image bellow.
To fix I've to resize the window terminal.

Screenshots
Environment (please complete the following information):

Vim version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Nov 25 2020 18:14:39)
macOS version
Included patches: 1-1719
Compiled by Homebrew
OS: MacOs BigSur
Terminal: Iterm2 Beta

Additional context
Add any other context about the problem here.

I found the use, it remains


Updated Readme for Azure ARM Deploy Action

Updated Readme for Azure ARM Deploy Action

Thanks for the contribution @zainuvk .

Thanks for the contribution @zainuvk .


Custom message templating

I still need to write documentation so not merge-able yet.
This implements templatable messaging as well as stateful notifications

Hm- stateful alerts have already been implemented, or at least I had implemented them a few weeks back (38c625e)

Oh, the git issue was left open and I don't remember seeing the PR for it.
Done now though I guess ¯\_(ツ)_/¯

Sounds good. Ready for merging?

Ready to ship!