Not able to play HLS streams.

Version
Media3 1.3.0
More version details
I am unable to play audio only hls streams using exoplayer,
but vlc does play that.
Exoplayer only can play simple .mp3, .m4a content but not hls.
Devices that reproduce the issue
Emulators and physical devices alike, ex: Nothing Phone 1
Reproduction steps
Play below link with exoplayer:
https://libraryitems.insighttimer-api.net/e5x7j9t6x6w6b4v4p6f5f1u9t5m9j1q1y7v5x4p0/hls/v1/index.m3u8
val mediaItem = MediaItem.Builder().run {
        val uri = Uri.parse("https://libraryitems.insighttimer-api.net/e5x7j9t6x6w6b4v4p6f5f1u9t5m9j1q1y7v5x4p0/hls/v1/index.m3u8")
        setMediaId(uri.toString())
        setUri(uri)
        if (uri.path?.endsWith("m3u8") == true) {
            setMimeType(MimeTypes.APPLICATION_M3U8)
        }

        setRequestMetadata(
            MediaItem.RequestMetadata.Builder()
                .setMediaUri(uri)
                .build()
        )

       /*more metadata props*/
}

player.setMediaItem(mediaItem)
 player.playWhenReady = true
player.prepare()

Expected result
Should have started playback, as vlc does.
Actual result
It throws below error

androidx.media3.exoplayer.ExoPlaybackException: Source error
        at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:713)
        at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:683)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:223)
        at android.os.HandlerThread.run(HandlerThread.java:67)

Caused by: androidx.media3.common.ParserException: Loading finished before preparation is complete.{contentIsMalformed=true, dataType=1}
        at androidx.media3.exoplayer.hls.HlsSampleStreamWrapper.maybeThrowPrepareError(HlsSampleStreamWrapper.java:290)
        at androidx.media3.exoplayer.hls.HlsMediaPeriod.maybeThrowPrepareError(HlsMediaPeriod.java:188)
        at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(MaskingMediaPeriod.java:157)
        at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1119)
        at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:223)
        at android.os.HandlerThread.run(HandlerThread.java:67)

Media
https://libraryitems.insighttimer-api.net/e5x7j9t6x6w6b4v4p6f5f1u9t5m9j1q1y7v5x4p0/hls/v1/index.m3u8

Additional Info:
Starting Playback directly on ExoPlayer like below works, but the app needs to control and start playback using setMediaItems on Player interface
      val testLink = "https://libraryitems.insighttimer-api.net/e5x7j9t6x6w6b4v4p6f5f1u9t5m9j1q1y7v5x4p0/hls/v1/index.m3u8"
      val track = HlsMediaSource.Factory(SoundboundCache.cacheFactory).createMediaSource(MediaItem.fromUri(testLink))

      innerPlayer.setMediaSource(track)
      innerPlayer.prepare()
      innerPlayer.playWhenReady

Starting Playback directly on ExoPlayer like below works

It's quite surprising that playback works when you directly interact with ExoPlayer but fails with the described error when interacting via MediaController.
What happens if you use exoplayer.setMediaItem directly instead of setMediaSource?
How are you building/configuring the ExoPlayer instance that you pass to your MediaSession? (code snippet of this would be useful).
Please can you add some debug logging to check what URL is being passed down to ExoPlayer? The easiest way is probably to override MediaSession.Callback.onAddMediaItems with your logging and a call to the super-implementation (assuming you haven't already added custom logic here):
@Override
public ListenableFuture<List<MediaItem>> onAddMediaItems(
    MediaSession mediaSession,
    MediaSession.ControllerInfo controller,
    List<MediaItem> mediaItems) {
  for (MediaItem item : mediaItems) {
    Log.w("1220", "uri=" + (item.localConfiguration != null ? item.localConfiguration.uri : "null"));
  }
  return super.onAddMediaItems(mediaSession, controller, mediaItems);
}

What happens if you use exoplayer.setMediaItem directly instead of setMediaSource?

It worked with MediaItem directly on Exoplyer, while it fails on instance of MediaBrowser, the exact same code.

How are you building/configuring the ExoPlayer instance that you pass to your MediaSession? (code snippet of this would be useful).

val innerPlayer = ExoPlayer.Builder(this)
            .setAudioAttributes(
                AudioAttributes.Builder()
                    .setUsage(C.USAGE_MEDIA)
                    .setContentType(C.AUDIO_CONTENT_TYPE_MUSIC)
                    .build(), true
            )
            .setSeekBackIncrementMs(5000)
            .setSeekForwardIncrementMs(5000)
            .setHandleAudioBecomingNoisy(true)
            .setWakeMode(C.WAKE_MODE_NETWORK)
            .setMediaSourceFactory(
                DefaultMediaSourceFactory(
                    this,
                    DefaultExtractorsFactory()
                ).setDataSourceFactory(
                 CacheDataSource.Factory()
                            .setCache(simpleCache)
                            .setCacheReadDataSourceFactory(FileDataSource.Factory())
                            .setUpstreamDataSourceFactory(
                                DefaultDataSource.Factory(context)
                            )
                 )
            )
            .build()

Please can you add some debug logging to check what URL is being passed down to ExoPlayer? The easiest way is probably to override [MediaSession.Callback.onAddMediaItems]

       mediaItems.forEach { mediaItem ->
            DefaultLogger.i { "Added MediaItem uri: ${mediaItem.localConfiguration?.uri}" }
        }

using above got below:

Added media uri: https://libraryitems.insighttimer-api.net/e5x7j9t6x6w6b4v4p6f5f1u9t5m9j1q1y7v5x4p0/hls/v1/index.m3u8

Additional Info:
upon using super.implementation in addMediaItem rather than recreating mediaItem, error changed to below:
androidx.media3.exoplayer.ExoPlaybackException: Source error
     at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:713)
     at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:683)
     at android.os.Handler.dispatchMessage(Handler.java:102)
     at android.os.Looper.loop(Looper.java:223)
     at android.os.HandlerThread.run(HandlerThread.java:67)
 Caused by: androidx.media3.common.ParserException: Input does not start with the #EXTM3U header.{contentIsMalformed=true, dataType=4}
     at androidx.media3.exoplayer.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:262)
     at androidx.media3.exoplayer.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:69)
     at androidx.media3.exoplayer.upstream.ParsingLoadable.load(ParsingLoadable.java:184)
     at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:421)

Earlier for some reason I was doing this, likely did this in early stages of impl, while testing things, but both ways got the same uri, just different crash trace... surprising.
    override fun onAddMediaItems(
        mediaSession: MediaSession,
        controller: MediaSession.ControllerInfo,
        mediaItems: List<MediaItem>
    ): ListenableFuture<List<MediaItem>> = Futures.immediateFuture(
        mediaItems.map { mediaItem ->
            mediaItem.buildUpon()
                .setUri(mediaItem.requestMetadata.mediaUri)
                .build()
        }
    )

Related to above new trace, maybe relevant:
Sharing a Image of the data-source its reading as from above uri only, in ParsingLoadbale.load, passing to HlsPlaylistParser.parse
see image below:

The symptoms certainly suggest something is going wrong when the stream is being read/loaded. To rule out more things, can you please try removing all the caching from your ExoPlayer set-up? i.e. configure it with a DataSource.Factory that directly makes HTTP requests with no intermediate caches. From the code snippets provided above it seems your DataSource.Factory set-up is different between your "directly interact with ExoPlayer" case and your "use MediaController" case - and both seem to mention caching - so I'd suggest simplifying both of these to be completely identical (with no caching) to see if the issue continues to reproduce.

Caused by: androidx.media3.common.ParserException: Input does not start with the #EXTM3U header.{contentIsMalformed=true, dataType=4}

What does the stream start with in this case? You can see by adding logging to HlsPlaylistParser.checkPlaylistHeader.

What does the stream start with in this case? You can see by adding logging to HlsPlaylistParser.checkPlaylistHeader.

Check screenshot in this comment to see what stream was read like...
https://github.com/androidx/media/issues/1220#issuecomment-2018675132

I see, thanks - that seems to confirm that something is going wrong loading, because I would expect an HLS playlist to be all/mostly ASCII characters, and that seems to have a lot of unrenderable bytes. To confirm that, what do you see if you add the same logging when successfully playing the stream?
Please also try removing caching as suggested above.

To confirm that, what do you see if you add the same logging when successfully playing the stream?

Correct readable data from m3u8 is visible when started directly with Exoplayer, see below image:

as per your suggestion I tried disabling my extra config of cache source, and surprisingly it worked.
upon further digging, I can confirm, there was a issue in CacheKeyFactory, since I was returning same uri for parent m3u8 and all .ts files, fixing that, fixed the issue, but dont know why behaviour was different when starting on Exoplayer, and when starting on MediaBrowser ?

Thanks for confirming you've resolved the issue.

dont know why behaviour was different when starting on Exoplayer, and when starting on MediaBrowser ?

Hard to say I'm afraid, maybe something was actually different in the MediaItem instances that ended up being passed to the underlying player?


feat: filter contexts before creating rest configs

The rest config creation can be expensive since it performs an API call with UpdateQPS. This can take an especially long time if you have a large kubeconfig that contains stale configs (e.g. cluster deleted) since it will wait for API timeout.

/assign @nan-yu
/assign @karlkfi

/retest

/retest


Advance user demo for graphic

Add CMIP5 & CMIP6 comparison to user's result on this demo.

Addressed by #872 #873 and #875


feat: add npm-cron-schedule preset

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Edit friend information from command line

Allow users to edit friend information without directly opening friends.md.
This might look something like (assuming Jeffrey Lebowski starts off without any nicknames):
$ friends edit friend "Jeffrey Lebowski" add nickname "The Dude"
Nickname added: Jeffrey Lebowski is also known as "The Dude"

$ friends edit friend "Jeffrey Lebowski" remove nickname "The Dude"
Nickname removed: Jeffrey Lebowski has no nicknames

$ friends edit friend "Jeffrey Lebowski" add nicknames "The Dude", "Jeff"
Nicknames added: Jeffrey Lebowski is also known as "The Dude" and "Jeff"

In reference to https://github.com/JacobEvelyn/friends/issues/40#issuecomment-168859530

Yep, I was planning on incorporating this into the nickname work but definitely good to make it explicit. Thanks!

No problem!

Implementation-wise, I'm treating this as a duplicate of #40.


ERROR: Check failed: error == cudaSuccess (48 vs. 0) no kernel image is available for execution on the device

Hi. Spun up an AWS GPU image (Deep Learning AMI (Ubuntu 18.04) Version 29.0 - ami-043f9aeaf108ebc37
MXNet-1.6.0, Tensorflow-2.1.0 & 1.15.2, PyTorch-1.4.0 & 1.5.0, Neuron, & other frameworks, NVIDIA CUDA, cuDNN, NCCL, Intel MKL-DNN, Docker, NVIDIA-Docker & EFA support. For fully managed experience, check: https://aws.amazon.com/sagemaker on g2.2xlarge)
Installed the DIGITS container image and successfully started it and created my test/val data set.
docker login nvcr.io
Username: $oauthtoken
Password: [long_string]
docker run --runtime=nvidia --rm nvcr.io/nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 nvidia-smi
When I went to create my Object Recognition model, I ran into to issues:

There are no pre-trained models listed (Instructions say to select GoogleNet)
Running "Create Model" failed with these erroros

ERROR: Check failed: error == cudaSuccess (48 vs. 0) no kernel image is available for execution on the device
This network produces output recall
Top memory (TEST) required for data:<PHONE_NUMBER> diff:<PHONE_NUMBER>
Bottom memory (TEST) required for data:<PHONE_NUMBER> diff:<PHONE_NUMBER>
Shared (in-place) memory (TEST) by data: 272203776 diff: 272203776
Parameters memory (TEST) required for data: 23914712 diff: 23914712
Parameters shared memory (TEST) by data: 0 diff: 0
Network initialization done.
Solver scaffolding done.
Starting Optimization
Solving
Learning Rate Policy: step
Reserving 23918336 bytes of shared learnable space for type FLOAT
Initial Test started...
Iteration 0, Testing net (#0)
Ignoring source layer train_data
Ignoring source layer train_label
Ignoring source layer train_transform
NVML initialized, thread 376
Check failed: error == cudaSuccess (48 vs. 0)  no kernel image is available for execution on the device
NVML succeeded to set CPU affinity on device 0, thread 376
What did I do wrong? TIA

I'm going to close this. I decided to use the AWS NVIDIA DIGITS Marketplace image instead https://aws.amazon.com/marketplace/pp/B01LZN28VD


chore(main): release 2.0.0

:robot: I have created a release beep boop
2.0.0 (2024-12-09)
⚠ BREAKING CHANGES

use neorg-query instead of neorg-se (#12)

Features

use neorg-query instead of neorg-se (#12) (30f0f6a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/benlubas/neorg-interim-ls/releases/tag/v2.0.0 :sunflower:


work around a problem with an unlucky six/future interaction

see kennethreitz/requests#3742
see obspy/obspy#1599

So I'm inclined to merge this, if for no better reason than problems with people monkeypatching the queue module breaking urllib3 have happened a few times in the past. There's no sign that they will stop happening, so we should avoid bringing the objects directly into our namespace: it just totally wrecks the exception handling.
@megies It would be fantastic if you could add a regression test for this: it should be sufficient to monkeypatch queue.Empty and confirm that some basic connectionpool operations continue to function.

Current coverage is 100% (diff: 100%)

Merging #1061 into master will not change coverage

@@           master   #1061   diff @@
=====================================
  Files          21      21
  Lines        1900    1900
  Methods         0       0
  Messages        0       0
  Branches        0       0
=====================================
  Hits         1900    1900
  Misses          0       0
  Partials        0       0

Powered by Codecov. Last update ebd8219...fd364bd

@megies It would be fantastic if you could add a regression test for this

Sorry, I've tried to reconstruct this situation in a unit test but couldn't come up with it..

Did you try monkeypatching queue.Empty?

Yes, I tried, but I couldn't reproduce the situation where the above fix makes a difference..

This does it:
import urllib3
import Queue

class BadError(Exception):
    """
    This should not be raised.
    """
    pass

Queue.Empty = BadError

http = urllib3.HTTPConnectionPool(host="example.com", block=True)
first_conn = http._get_conn(timeout=1)
second_conn = http._get_conn(timeout=1)

Alright, this works for me locally. When on master it raises the monkey patched BadError and when on this branch it raises EmptyPoolError for me.

This should do it. Hmm, but probably should use six from urllib3.packages in the test case?

Yeah, I think so.

Ok, last changes I hope. For me locally the test case passes on this branch and fails on master.

Fab, assuming all the tests pass I'll merge this. =)

FYI we can work around this within obspy (obspy/obspy#1612, obspy/obspy#1614), but it might still be good to solve this in requests/urllib3, mostly in case other packages use future and requests/urllib3.

Thanks @megies!


Further shellcheck fixes

Here are some more fixes to towards becoming shellcheck-compliant.

Thanks for the contribution @vincentqb !


Beaker should support vCenter Orchestrator

vCenter Orchestrator allows you to customise the VM provisioning process in various ways. As such beaker should support vCenter Orchestrator to allow it to provision and cleanup virtual machines for the purpose of running beaker tests.

PR will be closed due to inactivity in a week https://github.com/puppetlabs/beaker/pull/591

PR closed out due to inactivity.

Closing due to inactivity.  If you wish to re-open please file a bug in the public beaker jira project:
https://tickets.puppetlabs.com/issues/?jql=project %3D BKR


Add GUI Element for change_counts

Add a counter that displays the amount of blocks that got changed

[x] water_blocks_changed
[x] air_pocket_blocks_changed
[x] solid_blocks_replaced

Since it is possible to modify multiple files at once, these counts will not be implemented.
Instead the already available functionality of reading these counts from the details-view should be used.


Gitter Chat

There is a link to Gitter chat in the readme, but it looks like I'm the only contributor who reads it. I think either some more contributors subscribe to Gitter notifications and respond to messages, or we remove it from the readme.
Thoughts?

Added a Gitter Tab to Rambox which autoruns on startup. Totally forget it 😁


fix(testing-essentials): packages, config adjust for jest

What is it...
Minor package additions, and config adjustment for jest
Updates #3

@cdcabrera if you wanna sync that lock file we can go ahead and get this merged. Nice work!


changes for OWLS-82320 - Recieve API error and operator restarts when namespaces is removed

This PR addresses the periodic restart of operator pod when operator's target namespace contains a non-existent namespace during initial startup. The second issue of API exception being received and logged is because of permission error or missing namespace (403 or 404 status code). This might be expected behavior.

@doxiao and @ankedia, what's the status of this change. Anil, were you able to test the case Dongbo described?

@doxiao and @ankedia, what's the status of this change. Anil, were you able to test the case Dongbo described?

@doxiao and @ankedia, what's the status of this change. Anil, were you able to test the case Dongbo described?
Yes, I have completed running the tests. Dongbo is suggesting adding new test cases to automated test suite for various namespace lifecycle sequences. I'm not sure what tests already exists and what needs to be added. I'm planning to discuss in 3:30pm meeting today. Thanks.


Create 2020-08-25-hello-world.md

getting quite confusing. Created 2 branches by accident, then merged branch 2 with branch 1 and now I think I'm back on track..


DbContext Class - Entity Framework

DbContext Class
A DbContext instance represents a session with the database and can be used to query and save instances of your entities. DbContext is a combination of the Unit Of Work and Repository patterns.
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache

Entity Framework Core does not support multiple parallel operations being run on the same DbContext instance. This includes both parallel execution of async queries and any explicit concurrent use from multiple threads. Therefore, always await async calls immediately, or use separate DbContext instances for operations that execute in parallel.
Typically we create a class that derives from DbContext and contains DbSet properties for each entity in the model. If the DbSet properties have a public setter, they are automatically initialized when the instance of the derived context is created.
Override the OnConfiguring(DbContextOptionsBuilder) method to configure the database (and other options) to be used for the context. Alternatively, if we would rather perform configuration externally instead of inline in our context, we can use DbContextOptionsBuilder (or DbContextOptionsBuilder) to externally create an instance of DbContextOptions (or DbContextOptions) and pass it to a base constructor of DbContext.
The model is discovered by running a set of conventions over the entity classes found in the DbSet properties on the derived context. To further configure the model that is discovered by convention, we can override the OnModelCreating(ModelBuilder) method.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbcontext?view=efcore-7.0

EntityState
An event fired when an entity that is tracked by the associated DbContext  has moved from one EntityState to another.
EntityState Enum
The state in which an entity is being tracked by a context.

Added
4
The entity is being tracked by the context but does not yet exist in the database.

Deleted
2
The entity is being tracked by the context and exists in the database. It has been marked for deletion from the database.

Detached
0
The entity is not being tracked by the context.

Modified
3
The entity is being tracked by the context and exists in the database. Some or all of its property values have been modified.

Unchanged
1
The entity is being tracked by the context and exists in the database. Its property values have not changed from the values in the database.

ChangeTracker.Clear Method
DbContext is designed to have a short lifetime where a new instance is created for each unit-of-work. This manner means all tracked entities are discarded when the context is disposed at the end of each unit-of-work. However, clearing all tracked entities using this method may be useful in situations where creating a new context instance is not practical.
This method should always be preferred over detaching every tracked entity. Detaching entities is a slow process that may have side effects. This method is much more efficient at clearing all tracked entities from the context.
Note that this method does not generate StateChanged events since entities are not individually detached.

https://learn.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.changetracking.changetracker.statechanged?view=efcore-7.0


c-benchmarks failing due to leak of qd_adaptor_buffer_t object

18: <<<<
66: ERROR: Aborted due to unexpected alloc pool leak of type 'qd_adaptor_buffer_t'

https://github.com/skupperproject/skupper-router/actions/runs/3184482459/jobs/5193272138#step:10:1666

@jiridanek can we temporarily disable the c-benchmarks tests ? That way the CI will not fail intermittently because of this test and you can pay attention to this whenever you get time.

@jiridanek Thank you very much for the quick response


[Bug] DiffEditor with glyphMargin: false, still renders glyphMargin when rendered side by side.

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[ ] Not reproducible in the monaco editor playground

Monaco Editor Playground Link
https://microsoft.github.io/monaco-editor/playground.html?source=v0.47.0#XQAAAALtAgAAAAAAAABBqQkHQ5NjdMjwa-jY7SIQ9S7DNlzs5W-mwj0fe1ZCDRFc9ws9XQE0SJE1jc2VKxhaLFIw9vEWSxW3yscw2niNxqjsAD0-ojp5wJqOvqwlfzL0lj1q0QqHuzP9sldHeU38FrR0K4YSNEzAxFQQ9UAeGugw0A9vzG322o22aQJt8vF_OJ-CiyIUlTmYgwXhvFtZiw6vrXxme9hCDg0OSXvg7TEw1rd5V-g1Rh4pXehVYLGJO58JoRabIuhycF9fYiANRmdlMDG_x4x7X5uR8Gm4lmfiETNh5JL3NutP1l6kwWkkSWqtzDKnuuJOebjhyPN4a5BoXB22z2dKOVlw4AR7NJNK-Yx-v5AS2uecQIu28EXPMqKKuAIFUQdUC2vD4A1-Eq2elmVkc30fvf6wfKbqCV8csEmmzWkTjUZdGzJO5XEGUxbONootGNFsFj4DD2WWbg0ecs4xKnlRDqT_fWSvMAc3JIGEqp3aPiRD-N3W4ZjuA5ewcsIqJq5GH6c1433sBxEGaZvEate8YaLK_xtvmgA
Monaco Editor Playground Code
var originalModel = monaco.editor.createModel(
	"This line is removed on the right.\njust some text\nabcd\nefgh\nSome more text",
	"text/plain"
);
var modifiedModel = monaco.editor.createModel(
	"just some text\nabcz\nzzzzefgh\nSome more text\nThis line is removed on the left.",
	"text/plain"
);

var diffEditor = monaco.editor.createDiffEditor(
	document.getElementById("container"),
	{
		// Renders without glyph margin
		// renderSideBySide: false,
		// glyphMargin: false,

		// Still shows glyphMargin
		renderSideBySide: true,
		useInlineViewWhenSpaceIsLimited: false,
		glyphMargin: false,
	}
);
diffEditor.setModel({
	original: originalModel,
	modified: modifiedModel,
});

Reproduction Steps
Set these options and observe that the glyph margin is still shown.
renderSideBySide: true,
useInlineViewWhenSpaceIsLimited: false,
glyphMargin: false,

Actual (Problematic) Behavior
Glyph margin is turned off, but still renders when the diff editor is in side by side mode.
Expected Behavior
I would expect, regardless of whether it is rendered in side by side or not, that if glyphMargin is set to false, then glyphMargin should not be shown,
Additional Context
No response

I also encountered the same problem, setting glyphMargin to false will still render

At present, I solve it in this way. The following is the code to solve it.
const diffEditor = monaco.editor.createDiffEditor(editorContainer.value, {
    theme: 'vs-dark',
    enableSplitViewResizing: true,
    roundedSelection: false,
    diffWordWrap: true,
    autoIndent: true,
    automaticLayout: true,
    scrollBeyondLastLine: false,
    scrollbar: {
      verticalScrollbarSize: 0
    },
    glyphMargin: false,
    value: '',
    fontSize: '14px',
    originalEditable: true,
    readOnly: false,
    language: 'text/plain',
  });
const originalModel = monaco.editor.createModel('', 'text/plain');
const modifiedModel = monaco.editor.createModel('', 'text/plain');
diffEditor.setModel({
  original: originalModel,
  modified: modifiedModel
});
// update glyphMargin
diffEditor.getOriginalEditor().updateOptions({
  glyphMargin: false
})


#load does not issue error message when file does not exist on win 7

Description
#load does not issue error message when file does not exist on win 7
Repro steps
#load "no such file"
Expected behavior
Something like fsi:
stdin(4,1): error FS0078: Unable to find the file 'no such file' in any of ...
Actual behavior
no error message
Related information

win 7

We can check that all the files referenced in a project or a script actually exist, but you already get an error if you're trying to call a method from a non-existent file. So I guess you're trying to use #load to activate another file as it's usually done with require in node.
This can be problematic because #load <file-path> doesn't automatically translate to require(<file-path>): specific imports are created instead for each member of the referenced file as needed (e.g., if the referenced file contains two functions multiply and divide and you just call the first one, only one import {multiply} from <file-path> will be generated).
This allows dead-code removal (tree shaking) when bundling your app but it also means that, if you don't actually call any function from the referenced file, no import will be generated.
In conclusion, we can add the file check, but I just want to be sure whether this is actually what you need for your use case. If you're indeed trying to activate a file with a #load directive without calling any member from it, we could raise a warning about that. But it'll be a bit complicated because right now there's no simple way to get the specific files loaded by each script (you can have a script that loads another script that loads other files, etc).

Actually I had reduced the failure case to the simplest possible - I'm not trying to #load for side effects. I had never used #load previously, and the f# manual is not clear that it is similar to c-style #include. I'm still not sure if it is. Trying to share code between browser and node sides of an app.
At some point in experimenting I think I had some function definitions then a #load that masked those with new definitions, so it compiled without error yet was intended to use the defs from the #load. Then I found that #load works best (or at all) with a module def at the top. After I figured it all out I ended up with ... blah blah ... fourth attempt at succinct post... giving up for now... no opinion yet... opening a new ticket for a different difference between fsi and fable that is more tractable.. see issue https://github.com/fsprojects/Fable/issues/225

This is tricky because in fsi you can indeed use #load just for side effects. It's only in Fable that this behavior is different to allow tree shaking as explained above. I've added a note in the docs about this, I hope it helps.
(BTW, thanks for reporting the other issue. It was a good point and should be fixed now. I'll publish a new version with the fix shortly.)

Sorry, I'm closing the issue as it's a bit old. Please feel free to reopen it if you still have the same problem with the latest version.


Differentiate the main UTM window from VM windows

Fixes #3099 by setting isExcludedFromWindowsMenu, then adding a custom
'UTM' menu item that brings the main UTM window front
Note: Should the UTM menu item have a different name (like Open Main Window) since just UTM isn't clear what it does?

@ktprograms is this still needed after #3125 is merged? The main window will be named "UTM (VM name here)" in the menu.

Right, but this seems really fragile and outside of SwiftUI. My hope is to avoid doing things outside of SwiftUI when possible for maintainability. It seems like the immediate issue of unable to differentiate the main window would be fixed with a subtitle.

This is what it shows up as for me. So not ideal since the VM name is less prominent, but I guess can't be helped if you want to stick with SwiftUI.

Can probably close this PR then


release-check-list: Update release checklist

Merge steps that can be achieved in a common PR
Add steps to wait for runtime payload builds
Add peer pods steps

@wainersm - thanks for the review and sorry for my poor english. I've kept the updates as a separate commit for ease of re-review, but if/when you are happy let me know and I'll fix-up them.

@wainersm - thanks for the review and sorry for my poor english. I've kept the updates as a separate commit for ease of re-review, but if/when you are happy let me know and I'll fix-up them.

ywc @stevenhorsman ! My perfect english skills I put in your service ;)


Fix #985

This PR consists of 2 changes applicable to some tests:

the order of operations in some loops was adjusted so that the loops do fewer noops
the test_is_eq_fails is now run in a "chunked" fashion so that its runs don't fail to conclude

Fixes #985.

It seems that the same can happen to test_is_neq_fails:
running 1 test
test program::instruction::operation::is::tests::test_is_neq_fails has been running for over 60 seconds
error: test failed, to rerun pass '--lib'

Caused by:
  process didn't exit successfully: `/home/circleci/project/target/debug/deps/snarkvm_compiler-736c73aeaa0395ec 'program::instruction::operation::is::tests::test_is_neq_fails'` (signal: 9, SIGKILL: kill)

Exited with code exit status 101

I introduced a few extra changes, including tweaks to the related CI setup, in order to improve the situation; it doesn't seem like there's a crash anymore (and I can't reproduce one locally anymore either), but the affected tests are still quite slow.

Feel free to continue experimenting with CI.
I have found the original approach I used to be the least finicky.
Nonetheless, a smarter approach (that minimizes cost) is always appreciated


Unable to load 'libSkiaSharp' Linux (Manjaro)

Describe the bug
While trying to run the project in debug mode the app is giving a System.DllNotFoundException: Unable to load shared library 'libSkiaSharp'  error code, i tried installing skiasharp from the official arch repository didnt solve the issue, the runtime folder is populated with the libSkiSharp.so for every system and i still get the error.
OBS: The project works normally on Windows
To Reproduce
Create a project using the official avalonia mvvm template
dotnet new avalonia.mvvm -o MyApp
Then update it to .net 5
Build it and try to run it with debug mode or release mode gives the same error
Expected behavior
Is that the app at least starts and load the libSkiaSharp
Screenshots

Desktop (please complete the following information):

IDE: Rider
OS:  Manjaro
Version Latest(20.2)

Additional context
-Avalonia Preview 0.10.0 RC1
-Avalonia.Native  0.10.0 RC1

find your libSkiaSharp.so location (usually in ~/.nuget/packages/skiasharp.nativeassets.linux/2.80.2/runtimes/linux-x64/native/libSkiaSharp.so)
run lddtree /path/to/libSkiaSharp.so

find your libSkiaSharp.so location (usually in ~/.nuget/packages/skiasharp.nativeassets.linux/2.80.2/runtimes/linux-x64/native/libSkiaSharp.so)
run lddtree /path/to/libSkiaSharp.so

This will tell you the dependencies and probably something is missing...
so the error is not that libSkiaSharp.so is missing... its that your system has something it depends on that is missing.

@kekekeks @danwalmsley Thanks for the help, here is the output

/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --verify /path/to/skiasharp.so
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --list /path/to/skiasharp.so
Also check if a hello-world app using SkiaSharp 2.80.2 works on your machine.

Running /lib/ld-linux-x86-64.so.2 --verify libSkiaSharp.so returns nothing on the terminal`
Running /lib/ld-linux-x86-64.so.2 --list libSkiaSharp.so returns this
~/.../net5.0/linux-x64 >>> /lib/ld-linux-x86-64.so.2 --list libSkiaSharp.so
	linux-vdso.so.1 (0x00007ffc6ef94000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fab6a5fe000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fab6a5f8000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007fab6a5de000)
	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007fab6a55a000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fab6a52b000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fab6a457000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fab6a40a000)
	libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007fab6a3d3000)
	libwebp.so.7 => /usr/lib/libwebp.so.7 (0x00007fab6a363000)
	libwebpdemux.so.2 => /usr/lib/libwebpdemux.so.2 (0x00007fab6a35d000)
	libwebpmux.so.3 => /usr/lib/libwebpmux.so.3 (0x00007fab6a351000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fab6a174000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fab6a02c000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fab6a012000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fab69e49000)
	/lib/ld-linux-x86-64.so.2 (0x00007fab6abd3000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007fab69e36000)
	libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007fab69d67000)
	libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007fab69d40000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fab69c0c000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fab69b9a000)

@kekekeks Sorry i could not find a pre compiled the hello-world app so i couldnt run it, tried publishing my app and i got the same error

Any ideas on what should i do to fix this?

Please, check if a hello-world app using SkiaSharp 2.80.2 works on your machine.

@kekekeks Hello, thanks for all the help the problem was that i was using the dotnet-sdk from the SNAP store, i installed the version from AUR and it started working, it might be a good idea to add somewhere in the readme to not use snap version of the dotnet sdk.

Ah, snap, devils kith and kin. Never use it for anything related to software development, it's broken by design.

How can I fix such a problem in Docker?

@EngRajabi for docker you usually need to add libfontconfig to your image.

If it needs to be fixed without installing this package and only with your Docker and version?


Call to a member function getCurrentRequest() on null

Hey,
I have a problem with this bundle and new symfony 4.
Here is my code:
    public function index(CheckoutFlow $flow, $id = null): Response
    {

        .....

        $flow->bind($order);

        // form of the current step
        $form = $flow->createForm();
        if ($flow->isValid($form)) {
            $flow->saveCurrentStepData($form);

            if ($flow->nextStep()) {
                // form for the next step
                $form = $flow->createForm();
            } else {
                // flow finished
                $em->persist($order);
                $em->flush();

                $response = ...

                return $response;
            }
        }

        return $this->render('shop/checkout/index.html.twig', [
            'form' => $form->createView(),
            'flow' => $flow,
        ]);

    }

services:
    App\Form\Checkout\CheckoutFlow:
        parent: craue.form.flow

And I'm getting this error:

Call to a member function getCurrentRequest() on null

Am I doing something wrong?

Any news on this? I'm having the same problem.


:lady_beetle: OCP to OCP storage map should use "name" not "id"

Issue:
OCP to OCP storage map should use "name" not "id"
Should be:
spec:
  map:
    - destination:
        storageClass: nfs-csi
      source:
        name: nfs-csi
    - destination:
        storageClass: nfs-csi
      source:
        name: standard
status:
  conditions:
    - category: Required
      lastTransitionTime: '2024-04-08T08:54:15Z'
      message: The storage map is ready.
      status: 'True'
      type: Ready

What we have (the bug):
OCP to OCP mapping use ID, mapping statue is "ready"
spec:
  map:
    - destination:
        storageClass: nfs-csi
      source:
        id: 6fc37a41-c6e6-42ac-a045-0b0cc46e7008
    - destination:
        storageClass: nfs-csi
      source:
        id: 8e486aa8-4408-49a7-988e-475a7b9b588c
status:
  conditions:
    - category: Required
      lastTransitionTime: '2024-04-08T08:42:00Z'
      message: The storage map is ready.
      status: 'True'
      type: Ready

Addressed by https://github.com/kubev2v/forklift-console-plugin/pull/1077


Change material loading color

When materials are compiling we draw a solid red color. I changed it to white which is a bit less harsh looking.
I was also considering black because it blends with the empty background better. Or cyan because that's what Cesium for Unity does. If anyone has any strong preferences I'd be happy to change it.

When materials are compiling we draw a solid red color. I changed it to white which is a bit less harsh looking.
I was also considering black because it blends with the empty background better. Or cyan because that's what Cesium for Unity does. If anyone has any strong preferences I'd be happy to change it.

I don't have a strong preference, but if I had to choose I'd go with black to hide the issue.

+1 for the black vote. I know that the Nvidia guys suggested that as well.

Ok, I changed it to black.

Sure, that could be a separate ticket. Maybe a good one for Matt?


C++ is ~27% faster when compiled with Clang instead of GCC

The C++ code runs up to 27% faster if compiled with a recent (haven't tested it with older versions) Clang build instead of GCC, while using the same flags.

With Clang:

Command: clang++ -O3 -std=c++20 -I./include main.cpp -o main
Output:

Running C++
C++:

	Processing time (w/o IO): 21 ms
	total: 0.17s memory: 45096k
	Processing time (w/o IO): 21 ms
	total: 0.17s memory: 45276k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45152k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45124k
	Processing time (w/o IO): 21 ms
	total: 0.17s memory: 45148k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45148k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45148k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45152k
	Processing time (w/o IO): 23 ms
	total: 0.18s memory: 45148k
	Processing time (w/o IO): 22 ms
	total: 0.17s memory: 45152k
Checking output
Success:related_posts_cpp.json is valid!

[!NOTE]
GCC can provide similar results to Clang by using -march=native flag, but that's not allowed.

A PR to install v19 in docker would be appreciated.

Update:
I'm going to put this off for now until the binaries are available. Building from source is too slow(25% in 2 hours). I posted the clang v16 results here: #512


Updates made to tokens getting started page

-Removed references made to launchpad and replaced it with public testnet
-Replaced references to outdated URLs with new ones
-Replaced references to outdated CLI commands and parameters

Thank you @ntfreem @james-iohk for updating this section. It looks like everything is set, so I am merging the PR now.


Edit and Remove Enrollments

Codecov Report
Attention: Patch coverage is 93.10345% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 60.85%. Comparing base (67f81c7) to head (080af1e).

Files
Patch %
Lines

.../humanaethica/enrollment/EnrollmentController.java
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master      #88      +/-   ##
============================================
+ Coverage     60.27%   60.85%   +0.57%
- Complexity      502      516      +14
============================================
  Files            65       65
  Lines          1790     1819      +29
  Branches         68       69       +1
============================================
+ Hits           1079     1107      +28
- Misses          679      680       +1
  Partials         32       32

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Ability to reopen matches

The user should be able to reopen closed matches from the same round as the current one in case something happens or in case they closed it by accident.

Waiting on #2 for this one to be resolved.

Now waiting on #5 to resolve this one, as it was decided that this will be accomplished through a button in the popup window.


Add Array and Wildcard Support for simdjson Adapter

Currently, SIMDJsonParser and SIMDJson adapter only supports fields like a.b.c. No array and wildcard based fields can be supported.
Some examples can be:

a[0].b
a.*.b
a[*].b.c

This is naturally expired and resolved as latest simdjson has added JSON pointer support.
Please refer to #12.


Generate to pdf

Hello Lorenzo,
First of all thank you for this great app!
Is it possible to add feature of loading books directly to pdf format?
It would be very helpful.

I would also appreciate this feature.

Is possible for Make PDF?

Use Calibre to convert the EPUB to every format you want!


Request and upload the correct logo.

@janhalen there is no logo in OS2korrespondance, it could use one though :) but there isnt any currently.

@nocodesissi : Can we assist the os2korrespondance project with this logo issue?

Yes, sure !
All OS2korrespondance-logos is to be found here: https://boks.os2.eu/s/Di5cTQdSABd6ak4?path=%2FProdukter%2FOS2korrespondance%2FLogo
If we create other logos (different formats, sizes..) they will also be added to this folder. If there is a need for other logo formats, sizes etc, reach out 👍
OS2 use Nextcloud for sharing documentation, logos, materials and so on. Everyone can access this via link in the footer at os2.eu, "filbibliotek".


docs: Add Zed LSP settings examples

Summary
Add Zed settings examples to in addition to NeoVim and VSCode.

Test Plan
[*] Tested locally. No errors. Looks fine to me.

Have no tested docs locally (how to?)

Refer to https://github.com/astral-sh/ruff/blob/main/CONTRIBUTING.md#mkdocs

Wonderful.
Thanks for the pointer to the mkdocs section of CONTRIBUTING.MD
It works as expected locally (screenshot added above).


Test pipeline for building large models

Should build something like the Prostate model on a daily basis.
Alerting mechanism if that build fails - github API to create an issue? AzureML event triggers?

Build the HeadAndNeck and the Prostate model, using the latest code on Github.
This should alert on breaking changes in code, and on model building capability itself.

Completed in the private repository


Update segwitsupport.csv

Added Authparty.io supporting.

@btcdrak I am sorry about that, file updated.

@btcdrak if you add that and #267, we'll be at a round 100 :-)

Hello
     please bare with me I am new too coding on git hub any assistance would be deeply  appreciated any help I can be in future development/ API merge mining would be no problem.

                                        Best regards                     PS any info you could forward me via e-mail would also be appreciated

From: Nadav Ivgi<EMAIL_ADDRESS>Sent: 22 January 2017 12:18
To: bitcoin-core/bitcoincore.org
Cc: Subscribed
Subject: Re: [bitcoin-core/bitcoincore.org] Update segwitsupport.csv (#291)
@btcdrakhttps://github.com/btcdrak if you add that and #267https://github.com/bitcoin-core/bitcoincore.org/pull/267, we'll be at a round 100 :-)

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/bitcoin-core/bitcoincore.org/pull/291#issuecomment-274327563, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATjntjkADvYEdxFHkFLvN0CgUn42X-YBks5rU0kCgaJpZM4LMRZw.


Merge Drawable Class dev-branch to main repo

I don't think I should review my code

I can't review my PR, btw.


Better dealing with partial content header

Hello there,
this commit allowed us to get proper header values for partial content.
It is used in production for more than one year now and performing well.
Forgot to submit it as PR, though.
Maybe it's useful for you.
Regards,
Icereed

@icereed Wow, thank you for your contribution! It looks great :)


Explainable boosting parameters

Hi all,
First of all, thank you to the maintainers for keeping this project updated; this is one of the best libraries for gradient boosting I ever tried.
I am making this pull request because two years ago, I forked lightgbm to create a proof of concept for this paper: https://dl.acm.org/doi/10.1145/3477495.3531840
Since I am now improving and expanding the experiments for a new interpretable LambdaMART, I decided to give back to this project by polishing the proof of concept and opening a pull request.
Issue addressed
This pull request is a starting point to address issue #3905 (also mentioned in #2302) by adding interpretable characteristics of the training process.
Parameters added
I added three parameters:

tree_interaction_constraints
max_tree_interactions
max_interactions

tree_interaction_constraints
The parameter tree_interaction_constraints similar to interaction_constraints limits the interactions between features. While interaction_constraints controls which features can appear in the same branch, tree_interaction_constraints controls which features can appear in the same tree.
max_tree_interactions
The parameter max_tree_interactions limits the number of features that can appear in the same tree in a greedy fashion, e.g., if max_tree_interactions = 5 after having used the fifth different features in the same tree, no further features will be used and the same 5 will be reused to find the one with the maximum gain.
max_interactions
The parameter max_interactions limits the number of interactions that can be used in the whole forest in a greedy fashion.
Every tree is associated with a set of features, and we can say that those features interact with each other.
If a tree uses a subset of features of another tree, we say that the two trees use the same set of feature interactions.
To make an example, if max_interactions = 5 and the first 5 trees use 5 disjoint sets of features, the sixth tree will be forced to use a subset of one of the feature sets used by the first 5 trees.
Tests
Other than having extensively tested the new parameters in the proof of concepts for my papers, I added three unit tests in python-package/lightgbm/engine.py, namely:

test_tree_interaction_constraints
test_max_tree_interactions
test_max_interactions
These functions are only a starting point for testing the new features added.

I have not tested the integration in R.

@microsoft-github-policy-service agree

Thanks for your contribution. I believe this will be a very helpful feature! I'll look into this PR.

Some initial questions I have
1. how should this be made consistent with all the other feature-selection parameters?

interaction_constraints (docs)
forced_splits_filename (docs)
feature_fraction (docs)
feature_fraction_bynode (docs)

There are already multiple ways to control which features are used, and I'm concerned that adding 3 (!) more parameters will be more confusing to users of the library than it is helpful. And that it might be very difficult to provide expected behavior in the face of all these combinations.
For example, consider the following mix:

forced_splits_filename specifying splits on 3 features
max_tree_interactions = 2

These can't both be satisfied, so what happens? A runtime error before boosting begins?
Or consider this:

feature_fraction < 1.0
tree_interaction_constraints for a small subset of features

What happens if a randomly-selected set of features violates all of the tree_interaction_constraints? Runtime error? create an empty tree and then move on to the next round and sample features again? keep re-sampling until a compliant set of features is found?
2. How should these work for multiclass classification?
In multiclass classification, LightGBM trains one tree per class. So for num_class=5, n_iterations=100, you'll get up to 500 trees ("up to" because early stopping might be triggered earlier).
I think it's not uncommon for different features to be more important for predicting one class than another. So should tree_interaction_constraints still literally apply to each tree? Or should it limit the number of features used across all trees within 1 iteration? And should max_interactions be per-class? Or across all trees in the model?
3. How should this work with dart boosting?
With dart, trees can be dropped after each iteration. See, for example, https://lightgbm.readthedocs.io/en/latest/Parameters.html#drop_rate.
Should max_interactions then be evaluated against the set of trees still in the model after dropout? Or should it somehow keep track of the distinct sets of feature interactions that have been used throughout training, even if some of those sets were only used in trees that no longer exist in the model?

I don't mean to be too negative... these are all solvable and interesting problems, and I'd be happy to help with them.
But I hope they illustrate why I'm concerned about adding another 3 feature-selection mechanisms to the library.  Each new mechanism added has to be made consistent with all the others, and this project is already understaffed relative to its popularity and the size of its surface area.
And keep in mind that there are even more feature-selection requests in the backlog, like these:

#4317
#4605

Hi @jameslamb,
I agree with you that adding 3 more parameters can be more confusing than helpful. I added them mainly because it was easier to control my experiments on explainable boosting.
If you still think that it would be a good idea to integrate these types of parameters to constrain the learning phase but you want to contain the overhead of putting them into production and the maintenance, I would suggest adding only one parameter, i.e., tree_interaction_constraints.
I say that because:

the behavior is similar to  interaction_constraints but applied at the tree level.
can be used to mimic the behavior of the proposed max_tree_interactions by setting all the possible combinations of n features as its value, e.g., max_tree_interaction=2 is the same as tree_interaction_constraints=list(itertools.combinations(range(n_features), 2))
can be used to mimic the behavior of the proposed  max_interactions by stopping the learning after each iteration and changing the tree constraints after each learned tree.

Thus, I would say that tree_interaction_constraints is the parameter to partially answer #3905 while not adding too many parameters to the learning phase.
So focusing now only on one parameter, I try to propose a solution to your questions:

1. how should this be made consistent with all the other feature-selection parameters?

I think tree_interaction_constraints should be consistent as interaction_constraints.

For example, consider the following mix:

forced_splits_filename specifying splits on 3 features
max_tree_interactions = 2

These can't both be satisfied, so what happens? A runtime error before boosting begins?

Or consider this:

feature_fraction < 1.0
tree_interaction_constraints for a small subset of features

What happens if a randomly-selected set of features violates all of the tree_interaction_constraints? Runtime error? create an empty tree and then move on to the next round and sample features again? keep re-sampling until a compliant set of features is found?

I suggest replicating the behavior of interaction_constraints; what does happen if we set feature_fraction < 1.0 and we are not able to satisfy both restrictions?
The same also applies to forced_splits_filename; what happens by setting forced_splits_filename and interaction_constraint at the same time?
I did not have time to check the interaction_constraints interact with all the other features of the code and try them, thus I genuinely ask :)
In addition, when both interaction_constraints and tree_interaction_constraints are specified, the interaction allowed for a particular branch should be the intersection of the sets, as I code here (not tested).

2. How should these work for multiclass classification?
In multiclass classification, LightGBM trains one tree per class. So for num_class=5, n_iterations=100, you'll get up to 500 trees ("up to" because early stopping might be triggered earlier).
I think it's not uncommon for different features to be more important for predicting one class than another. So should tree_interaction_constraints still literally apply to each tree? Or should it limit the number of features used across all trees within 1 iteration? And should max_interactions be per-class? Or across all trees in the model?

3. How should this work with dart boosting?
With dart, trees can be dropped after each iteration. See, for example, https://lightgbm.readthedocs.io/en/latest/Parameters.html#drop_rate.
Should max_interactions then be evaluated against the set of trees still in the model after dropout? Or should it somehow keep track of the distinct sets of feature interactions that have been used throughout training, even if some of those sets were only used in trees that no longer exist in the model?

Again, we should be consistent with the behavior of interaction_constraints for points number 2 and 3.

I don't mean to be too negative... these are all solvable and interesting problems, and I'd be happy to help with them.

But I hope they illustrate why I'm concerned about adding another 3 feature-selection mechanisms to the library. Each new mechanism added has to be made consistent with all the others, and this project is already understaffed relative to its popularity and the size of its surface area.

I totally understand. I also do not want to insist on adding them to the main branch. I just opened the pull request because I thought it might be interesting to other users to have (some of) them.

And keep in mind that there are even more feature-selection requests in the backlog, like these:

Support ignoring some features during training on constructed dataset #4317
Probability measure for features #4605

I would be glad to help if needed :)

Thanks for the response.

I genuinely ask

I don't know for sure what the answers to my questions for interaction_constraints are... I would need to investigate them too. I expected you to have opinions on those specific to tree-based constraints based on your research... if not and "whatever lightgbm does for interaction_constraints" is the answer then great, that helps.

I would suggest adding only one parameter, i.e., tree_interaction_constraints

If we do move forward with adding tree-level feature constraints like this, I definitely support adding only this one parameter instead of all 3, to limit the complexity. It seems to me that the max_* parameters could be added in separate, later, contributions later if it's decided that they're helpful.
@shiyu1994 I'll wait until you have time to look into this proposal (the linked paper and code samples here) and give a specific opinion on whether LightGBM should take on some subset of this.

I expected you to have opinions on those specific to tree-based constraints based on your research.

In my investigations, I focused on creating ensembles of trees using only 1 or 2 features per tree, and thus, other parameters, such as the already mentioned feature_fraction, were too generic, and I treated them as conflicting parameters that should not be used together with the more fine-grained interaction_constraints and the parameter that I introduced tree_interaction_constraints.
However, they can be used together, and in my implementation of tree_interaction_constraints I tried to replicate the behavior of interaction_constraints by making tree_interaction_constraints consistent with what was already implemented. Basically, the core of interaction_constraints is in col_sampler.hpp (https://github.com/microsoft/LightGBM/blob/master/src/treelearner/col_sampler.hpp) and there are various checks for conflicts with other parameters, e.g. https://github.com/microsoft/LightGBM/blob/master/src/treelearner/col_sampler.hpp#L114 where is checked if feature_fraction_bynode is greater than 1 and if the interaction_constraints is also not empty.
In my implementation, I tried to make everything consistent with these checks:
https://github.com/microsoft/LightGBM/pull/6335/files#diff-bea1f4326adbf93f6463a726cd331ebf6ae86e89bac18e648e25b643ca1d3b51
However, I do not have a full overview of all possible conflicting parameters and how these interact with interaction_constraints.
I will check this, and I will get back to you with a list of parameters conflicting with interaction_constraints and how this is handled (or not).

Thanks very much for that!
Totally makes sense to me. Like I mentioned in https://github.com/microsoft/LightGBM/pull/6335#issuecomment-2054611695, I will defer to @shiyu1994 (or maybe @guolinke if interested) to move this forward if they want. They're much better qualified than me to decide on how this could fit into LightGBM.
If we do decide to go forward with it, I'll be happy to help with the testing, documentation, etc.


actions: Set logo_source to default on downgrade to limited

Looks like tests are failing with some sort of data import test.

This should be ready for a review.

So, it's a little disruptive to have downgrade change the logo source, since it doesn't reverse properly; this would make downgrade+upgrade code paths no longer noops.  What if we just had the code accessing realm.logo_source just check Realm.plan_type there to determine whether to serve the default value or what's stored in the database?
(zulip-py3-venv) tabbott@coset:~/zulip$ git grep realm[.]logo_source
zerver/lib/actions.py:        realm.logo_source = logo_source
zerver/lib/events.py:    state['realm_logo_source'] = realm.logo_source
zerver/lib/realm_logo.py:        logo_source = realm.logo_source
zerver/lib/realm_logo.py:                logo_source=realm.logo_source)
zerver/tests/test_import_export.py:        self.assertEqual(imported_realm.logo_source, Realm.LOGO_UPLOADED)
zerver/tests/test_import_export.py:        self.assertEqual(imported_realm.logo_source, Realm.LOGO_UPLOADED)
zerver/tests/test_import_export.py:                self.assertEqual(realm.logo_source, Realm.LOGO_DEFAULT)
zerver/tests/test_import_export.py:                self.assertEqual(realm.logo_source, Realm.LOGO_UPLOADED)
zerver/tests/test_realm.py:        self.assertEqual(realm.logo_source, Realm.LOGO_UPLOADED)
zerver/tests/test_realm.py:        self.assertEqual(realm.logo_source, Realm.LOGO_UPLOADED)
zerver/tests/test_realm.py:        self.assertEqual(realm.logo_source, Realm.LOGO_DEFAULT)
zerver/tests/test_realm.py:        self.assertEqual(realm.logo_source, Realm.LOGO_DEFAULT)
zerver/tests/test_realm.py:        self.assertEqual(realm.logo_source, Realm.LOGO_DEFAULT)
zerver/tests/test_upload.py:            self.assertEqual(realm.logo_source, Realm.LOGO_DEFAULT)

What if we just had the code accessing realm.logo_source just check Realm.plan_type there to determine whether to serve the default value or what's stored in the database?

@timabbott Can you see if the changed I made makes sense? If yes, this is ready for a review.

Hmm, I'm not a fan of the approach of rewriting the columns with _ names; while it does work, I feel like it obscures the meaning of the settings.
I would expect we can get equivalent functionality by just changing get_realm_logo_url to check the plan type; I'm pretty sure everywhere we provide the logo URL goes through that function, so it'd just be a couple lines in one place to do this.

@timabbott Taken care of that. This is ready for a review :)

Merged as eb829e6dce63e620bf367d1637e219e0ebed3db5, thanks @hackerkid!


Functions which take arguments; Thrift 0.9.3

First attempt at supporting functions which take arguments.  The only examples we have at the moment take one arrayref, we may need to re-evaluate if we have more complex functions.  It is possible to override a function definition later in the code if needed.
This code also replaced the hand-coded functions in the taxon client API with a function generator.
Finally, rebuilt the Thrift libraries with 0.9.3.  This makes the PR look scarier than it is.

Full testing of the annotation API is not yet complete, but this PR can be merged whether that's done or not.  The main task left is to have the functions which take arguments call using the correct arguments: right now, they all take the same list of three CDS features, even the functions which operate on mRNA features or gene features.  The functions all return successfully, so tests still pass, but the functions don't return anything useful, if we wanted to compare the actual outputs to prepopulated data structures.

Current coverage is 100.00%

Merging #6 into develop will not affect coverage as of 908ed29

@@            develop      #6   diff @@
=======================================
  Files             3       3
  Stmts           166      96    -70
  Branches          0       0
  Methods           0       0
=======================================
- Hit             166      96    -70
  Partial           0       0
  Missed            0       0

Review entire Coverage Diff as of 908ed29

Powered by Codecov. Updated on successful CI builds.

Oh, and the current feature list for input is hardcoded.  I might prefer to extract the list from get_feature_ids.


MapLibreGL.addCustomHeader(...) is not a function (it is undefined)

Steps to Trigger Behavior
Following the custom HTTP headers docs and then actually adding it triggers an error.
import MapLibreGL from '@maplibre/maplibre-react-native';

MapLibreGL.addCustomHeader("Authorization", "{TOKEN}");

Expected Behavior
The custom header is successfully set and the headers are included on the requests made afterwards.
Actual Behavior
It triggers the following error:  _maplibreReactNative.default.addCustomHeader is not a function (it is undefined)
Environment

Platform: iOS
OS version: iOS 18
Device type: iPhone 14
Emulator or Simulator: Yes and Physical device as well
Development OS: macOS 15.1.1
@maplibre/maplibre-react-native Version: 10.0.0-beta.7
react-native Version: 0.74.5
expo Version: 51.0.34

Huh, I am seeing the native methods, but no, javascript method for addCustomHeader.   @KiwiKilian, I same issue as #546, did we accidentally remove the js api for this method?

It only ever was a type definition, which seems to have been removed here: https://github.com/maplibre/maplibre-react-native/commit/764a3eb33fd9666b80f009968a905b2a287f6ad6#diff-7aa4473ede4abd9ec099e87fec67fd57afafaf39e05d493ab4533acc38547eb8L111

Yeah, I am seeing the same thing. I went back through tags all the way to 9.0.0 and it looks like there never was a javascript method?!? In 9.0.0 there was a typescript function declartion, but no js function.  I guess this was never implemented?

It only needs a passthrough from native, give me 5 minutes.


JMESPath dependency

I noticed a new dependency in my stack, so hunted and found it here.
I can't find rationale for why it exists now. I don’t like new dependencies in my stack.
Looking through what it effects it seems like it should really be a separate module.
Opened for discussion. Thanks.

The JMESPath dependency is required to support the new waiter feature. This is a feature that is standard in all the official SDKs so I felt it was something we should support. JMESPath is used to indicate a field or group of fields in a response from AWS. The AWS models for the waiters use JMESPath extensively.
I should have been clearer in the release notes that the new release brought in a new dependency, sorry.

Thanks for the update 👍🏻
Many of us sincerely appreciate this package and the work you do.
Whole module optimization should remove it from my final binary if unused, and if you think it is standard then it makes sense to have it in the main package. Still a shame I'm compiling stuff I don't need time and again, but you have thought it through.


Command failed: No such file or directory

i get this error:
Command failed: /usr/local/bin/brew info --installed --json=v2 /bin/sh: /usr/local/bin/brew: No such file or directory

it seems my brew is installed in a different location:
$ which brew
/opt/homebrew/bin/brew

ScreenShot:

Tried to get "which brew" to work, but I was not successful in loading default zshprofile to the
require("electron").remote.require("child_process

so I have added a configuration field.

for convinience of the user:
1) check on startup
maybe you do a check the current brew location (from setup) on startup and if not the right path - then point to the settings - or open the settings dialog direct
2) hint how to find out the path
you should also add to the Settings:
Brew location (do `which brew`):


Update metadata.rb

According to https://docs.chef.io/cookbook_repo.html#settings:
The "supports" setting: "To specify more than one platform, use more than one supports field, once for each platform."
There should be more than one "supports" setting for multiple platforms, and that would include different versions of the same platform.  This causes the current issue with chef-dk-0.4.0-1 in Berkshelf:
Ridley::Errors::FromFileParserError Could not parse `/var/tmp/chef-aide/metadata.rb': 'ubuntu' did not contain a valid operator or a valid version string.

+1, this is the correct fix. Please merge.

+1

+1 hellooo

Hello all. I know Elliot no longer has access to this repo. I happen to still be subscribed and am seeing these messages. I don't work in the same place as any of these folks now, but am trying to get word to someone who can merge this update.

Hi, I do not have write access to it as well, so can't merge.

FWIW, I've been maintained my fork: https://github.com/mburns/chef-aide


Start documentation

In GitLab by @franzi233 on Aug 18, 2021, 10:49
Finish documentation of how to start the system.

In GitLab by @franzi233 on Aug 18, 2021, 10:49
assigned to @franzi233

In GitLab by @franzi233 on Aug 18, 2021, 10:49
marked this issue as related to #1


Redirect from Create Proposals

Send proposal object created in the create on chain proposal endpoint along with unsigned tx.

Endpoint change required


capybara_webkit driver still supported ?

https://github.com/modeset/teaspoon/wiki/Using-Capybara-Webkit
Is it still supported ?
In the teaspoon_env.rb comments, capybara_webkit is not listed as a supported driver.
When I try, I get:
Unknown driver: "capybara_webkit"

Looks like it was recently added. You might want to try bundling teaspoon with github: 'modeset/teaspoon'.

Yep ! works with the lastest version. However I have no output when I run tests with capybara :/ But it's another problem, I'll check this out.
Thanks !


Feature item system

Derived off of https://github.com/LetsMakeAGameGroup/PartyGame/pull/10
Don't merge this PR until #10 has been merged.

Matt reviewed this and gave feedback on Discord. We agreed today on the call that this passes functionality testing now.


MultiNodeEdit Fix setting NodePath

NodePath passed in is relative to the root Node of the edited scene which means that the target Node for the NodePaths being set were obtained incorrectly. This PR should fix this.
Fixes #51963.
Cherry-pickable 3.x, 3.3.

Thanks!

Cherry-picked for 3.3.4.


Use Matcher.quoteReplacement to make acceptanceTest successful.

Otherwise, one gets
javacc.compilation.ThePluginCompilesJavaccToExpectedDirectoryStory > givenASimpleProjectWithCustomAstClassesWhenRerunCompileJavaccTaskThenTheFilesThatDoNotHaveACorrespondingCustomAstClassAreGeneratedInTheDefaultDirectory FAILED
    org.gradle.testkit.runner.UnexpectedBuildFailure at ThePluginCompilesJavaccToExpectedDirectoryStory.java:341

javacc.compilation.ThePluginCompilesJavaccToExpectedDirectoryStory > givenASimpleProjectWithCustomAstClassesWhenExecuteCompileJavaccTaskThenTheFilesThatDoNotHaveACorrespondingCustomAstClassAreGeneratedInTheDefaultDirectory FAILED
    org.gradle.testkit.runner.UnexpectedBuildFailure at ThePluginCompilesJavaccToExpectedDirectoryStory.java:309

27 tests completed, 2 failed
:javacc-gradle-plugin:acceptanceTest FAILED

Current coverage is 95.79% (diff: 100%)

Merging #37 into master will not change coverage

@@             master        #37   diff @@
==========================================
  Files            14         14
  Lines           357        357
  Methods           0          0
  Messages          0          0
  Branches         39         39
==========================================
  Hits            342        342
  Misses            8          8
  Partials          7          7

Powered by Codecov. Last update c4cc8ec...81f06d0

Sorry, I went on an unplanned vacation, and I'm catching up now that I am back. I will be happy to merge this, as it works, but the build is passing as well without it see the travis builds, so I'm reluctant to merge before I can understand why you needed this fix.
Can you provide me with more details on the failures you get without this fix, i.e. JDK used, what kind of system, etc. ?

Joined are the reports files as classess.zip. I think this issue appears beacause the acceptanceTests are running on  Windows. AcceptanceTest on Travis are running on Linux, so the path separator is different as on Windows.
Z:\git\javaccPlugin>java -version
java version "1.8.0_122-ea"
Java(TM) SE Runtime Environment (build 1.8.0_122-ea-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.122-b01, mixed mode)

Running system: Win7 Pro, amd64
classes.zip

Merged. Thanks for pointing this out!


Mobile device - Navbar enhancement

The app works on mobile device, but does not look great

Make navbar be a hamburger menu instead of flat list

added hamburger menu for mobile


cmd/compile: optimise ranges over string(byteSlice)

Take these two benchmarks: https://play.golang.org/p/QI4BxUq8MGp
The first code is cleaner, more idiomatic, and easier to write/maintain. The second is much trickier, and I'm not even sure I wrote it correctly.
Lucky for us, the first tends to perform about the same or slightly better in terms of time:
$ go test -bench=. -benchmem
goos: linux
goarch: amd64
pkg: mvdan.cc/p
BenchmarkIdiomatic-4      500000              2389 ns/op            2688 B/op          1 allocs/op
BenchmarkManual-4         500000              2645 ns/op               0 B/op          0 allocs/op
PASS
ok      mvdan.cc/p      2.578s

However, as one can see, it still incurs an extra allocation. I'm not sure why that is - via go test -gcflags=-m, I can see ./f_test.go:16:27: BenchmarkIdiomatic string(Input) does not escape.
We have optimized other common string conversion patterns, such as switch string(byteSlice)
in 566e3e074c089568412a44a8d315c2881cfd8e8f, and I believe someMap[string(byteSlice)] was optimized too.
Would it be possible to get rid of this allocation somehow? My knowledge of the runtime and compiler is a bit limited, but I'd think that it is possible.
As for a real use case - there's a few occurrences in the standard library that could be greatly simplified. For example, in encoding/json we'd remove ten lines of tricky code:
diff --git a/src/encoding/json/decode.go b/src/encoding/json/decode.go
index 2e734fb39e..fa09b85aab 100644
--- a/src/encoding/json/decode.go
+++ b/src/encoding/json/decode.go
@@ -1210,20 +1210,11 @@ func unquoteBytes(s []byte) (t []byte, ok bool) {
 	// then no unquoting is needed, so return a slice of the
 	// original bytes.
 	r := 0
-	for r < len(s) {
-		c := s[r]
-		if c == '\\' || c == '"' || c < ' ' {
-			break
-		}
-		if c < utf8.RuneSelf {
-			r++
-			continue
-		}
-		rr, size := utf8.DecodeRune(s[r:])
-		if rr == utf8.RuneError && size == 1 {
+	for i, c := range string(s) {
+		if c == '\\' || c == '"' || c < ' ' || c == utf8.RuneError {
 			break
 		}
-		r += size
+		r = i
 	}
 	if r == len(s) {
 		return s, true

However, that currently means a bad regression in speed and allocations:
name           old time/op    new time/op    delta
CodeDecoder-4    27.3ms ± 1%    31.2ms ± 1%   +14.16%  (p=0.002 n=6+6)

name           old speed      new speed      delta
CodeDecoder-4  71.1MB/s ± 1%  62.3MB/s ± 1%   -12.41%  (p=0.002 n=6+6)

name           old alloc/op   new alloc/op   delta
CodeDecoder-4    2.74MB ± 0%    5.13MB ± 0%   +87.28%  (p=0.002 n=6+6)

name           old allocs/op  new allocs/op  delta
CodeDecoder-4     77.5k ± 0%    184.3k ± 0%  +137.72%  (p=0.002 n=6+6)

I haven't investigated why my microbenchmark is faster when simpler, while json gets so much slower when made simpler.
Any input appreciated. cc @josharian @martisch @randall77 @TocarIP

Another similar optimization: https://go-review.googlesource.com/c/go/+/108985
Perhaps there's a better way to iterate over the utf8 runes in a byte slice that I'm missing. Hopefully not, as that would be a bit embarassing :)

Note also there is a slight difference between the two versions of the code given:
c == utf8.RuneError is not the same check as rr == utf8.RuneError && size == 1.

Conservative analysis sounds fine to me. I imagine that most of the use cases that matter would not involve pointers, reflection, nor any other magic.
The range loop variant seems interesting. Are there any downsides to this method? I imagine it would essentially be as if the compiler "expanded" the idiomatic code into the manual code.

The other question is why BenchmarkManual is so much slower even if it does not need to allocate.

Yes - but note that in encoding/json, the opposite is true. So it might just be an issue with my benchmark code.

c == utf8.RuneError is not the same check as rr == utf8.RuneError && size == 1

That came to mind, but I wasn't sure. How could I have written the idiomatic version to behave equally?
At least encoding/json doesn't care - both versions of the code pass all the tests. Which is not to say that they're equivalent or equally valid, but at least the idiomatic version isn't horribly broken.

Note that its not only any "magic" that cant be used no function can be used that is not known during compile time or function that changes a byte pointer or byte slice as we need to prove those can not alias to the slice we iterating over.

Doesn't look like anyone plans on working on this, so I'm removing it from 1.12 for now. I think we should keep the issue open for a while, to see if there's any interest.

Poking around encoding/json, I just found one of the reasons why the hand-rolled version is slower; the r += size statement throws off the prove pass, since r could overflow as a signed integer to become negative, so c := s[r] has a bounds check. That's unfortunate, and does show up in the CPU profile.
I can't imagine a way to remove that bounds check, other than having the compiler treat utf8.DecodeRune in a special way. Tricks like if r += size; r < 0 { break } don't seem to appease prove either; but in any case, that would be replacing a bounds check with another branch.
I still think there should be an easy and performant way to iterate over the runes in a []byte, without losing performance nor incurring allocations/copies.


Fix WebGLFilterManager to use renderSession.resolution

Weird, I thought if I fixed the branch and force pushed, it should've updated #1397.
Perhaps because it was closed?
Anyways, this has been updated as per the discussion.
And for reference, it fixes #1215

Looks good to me, +review @GoodBoyDigital

@edankwan had a good point about the filter's not scaling. Is there an easy fix I could add to this to make that happen? Or is that something far more in-depth?

Just a quick bump on this.

Same comments as #1398, even if I merged it now. @GoodBoyDigital may take it out during his resolution rewrite.

All fixed up in v3 :+1:
Default resolution for filters is the same as the renderer

@GoodBoyDigital This PR was meant for the 2.x branch since I figured 3.0 would've fixed it in a different way. Is there a plan to backport a fix like this to 2.x?

Didn't even notice this was a PR to the 2.x branch, I'll merge it in.

You guys rock, thanks!


Clarify Ajax Capabilities

There are a few tickets related to Ajax resend feature not working for special situations (head requests in IE) or abstractions (such as jQuery's $.ajax).
I would like to see a section of the readme dedicated to documenting the behavior of vanilla Ajax calls and a feature matrix outlining support for popular abstraction libraries (such as jQuery, Angular, Polymer, etc):

Vanilla XHR
jQuery 2
Zepto
Angular

remake
√
√
?
?

event handlers
√
$.ajax only
?
?

If someone can clue me in on what is supported, I can modify the readme and make a PR.  It might also be nice to writeup a wiki page on how to add support for an abstraction.

In general, every service which uses the underlying XMLHttpRequest (the only way to make AJAX requests), should be supported.  The one exception to this is if the service-in-question is brought into the page before Offline, and makes a references to XMLHttpRequest before we get a chance to alias it.  Any other failure should be considered a bug.

Please put your comment in the readme @zackbloom. Thank you - I spent hours debugging this.


fix(driverkit): Bump binutils version, install zstd in base container

Signed-off-by: David Windsor<EMAIL_ADDRESS>Signed-off-by: Logan Bond<EMAIL_ADDRESS>What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:
/area build

What this PR does / why we need it:
When trying to build a driver for newer Ubuntu kernels, driverkit fails to extract the downloaded kernel headers package because zstd is missing. But, zstd requires a version of binutils that's more recent than the one on https://download.falco.org/dependencies, so we need to both:

Bump the version of binutils hosted on https://download.falco.org/dependencies to be >= 2.31.1
Add zstd to build/builder.Dockerfile

Which issue(s) this PR fixes:

Fixes #127
Special notes for your reviewer:
NOTE: We're unable to upload files to download.falco.org, so the URLs to the updated binutils packages will need to be updated by a maintainer after the exact filename has been determined.
Does this PR introduce a user-facing change?:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: dwindsor
To complete the pull request process, please assign fntlnz after the PR has been reviewed.
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks for this @dwindsor!
At first sight (haven't tested it out) it looks good to me (yes, the binutils URL is to be changed).
I'm just wondering whether it impacts or it has side effects on other targets (different from Ubuntu).
I haven't tested it out, but maybe you have. Does it? :)

Sure! We did do some testing, but admittedly just a bit. We were able to build a new CentOS 7 driver after making this change.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

6eda489 Revert "Upgrade binutils and install zstd"

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Vendoring libnetwork @ab62dd6bf06bf0

Fixes issues in LB backend and SD records cleanup
Also fixes a panic during DNS lookup
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM

LGTM

WindowsTP5 is a known flaky test; https://github.com/docker/docker/issues/22702
win2lin is not related, but let me start again;
03:17:21 ----------------------------------------------------------------------
03:17:21 FAIL: docker_cli_save_load_test.go:250: DockerSuite.TestSaveDirectoryPermissions
03:17:21
03:17:21 docker_cli_save_load_test.go:267:
03:17:21     c.Assert(err, checker.IsNil, check.Commentf("%v", err))
03:17:21 ... value *errors.errorString = &errors.errorString{s:"failed to build the image: Sending build context to Docker daemon 2.048 kB\r\r\nStep 1 : FROM busybox\n ---> d9551b4026f0\nStep 2 : RUN adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a\n ---> Running in 552f44162121\nThe command '/bin/sh -c adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a' returned a non-zero code: 137\n"} ("failed to build the image: Sending build context to Docker daemon 2.048 kB\r\r\nStep 1 : FROM busybox\n ---> d9551b4026f0\nStep 2 : RUN adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a\n ---> Running in 552f44162121\nThe command '/bin/sh -c adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a' returned a non-zero code: 137\n")
03:17:21 ... failed to build the image: Sending build context to Docker daemon 2.048 kB

03:17:21 Step 1 : FROM busybox
03:17:21  ---> d9551b4026f0
03:17:21 Step 2 : RUN adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a
03:17:21  ---> Running in 552f44162121
03:17:21 The command '/bin/sh -c adduser -D user && mkdir -p /opt/a/b && chown -R user:user /opt/a' returned a non-zero code: 137

LGTM 🐯


Bugfix/issue 467

Fixes # 467
This PR is ready for review.
Risk
This PR makes no API changes.
Testing Plan
Call SendMessage() method of WiProProtocol.java sending null data and confirm that it will not crash.
Summary
If the data part of the message to be sent is null, the code will ignore the message (maintain the same behavior) and not crash.

@joeygrover please review and merge, thanks.

Codecov Report

Merging #681 into develop will increase coverage by 0.11%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             develop     #681      +/-   ##
=============================================
+ Coverage      41.29%   41.41%   +0.11%
- Complexity      2643     2645       +2
=============================================
  Files            360      360
  Lines          15705    15706       +1
  Branches        1656     1657       +1
=============================================
+ Hits            6485     6504      +19
+ Misses          8936     8912      -24
- Partials         284      290       +6

Impacted Files
Coverage Δ
Complexity Δ

...va/com/smartdevicelink/protocol/WiProProtocol.java
29.19% <0%> (+2.25%)
18 <0> (+1)
:arrow_up:

.../com/smartdevicelink/protocol/ProtocolMessage.java
59.37% <0%> (+3.12%)
18% <0%> (+1%)
:arrow_up:

...smartdevicelink/encoder/VirtualDisplayEncoder.java
29.31% <0%> (+4.59%)
8% <0%> (ø)
: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 41b0d7d...fefd4c5. Read the comment docs.


Fix importing articles from Devto

This PR fixes the Devto importing. Noticed when trying librarian that importing from Devto didn't work correctly, it was trying to save the imported markdown as the path. This is due to the change in f9da74b635a13f199572e2133793b2d758ddee84 were Content is now extending from Parsed. Parsed expects the content when instantiating a new object, not the path.
DevtoServiceProvider uses the older syntax, this PR changes that and fixes the issue by switching places between the content and path.

thank you and sorry for the delay :)


onDragEnd not firing when moved to another dropZone

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?
bug

What is the current behavior?
When an item from a sortable container is dropped somewhere outside of the div where it is not allowed to drop, onDragEnd is fired. However, this only happens when the object is still in it's original sortable container. When you move it to another dropZone and perform the same action, none of the eventEmitters kick in.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar.
described above

What is the expected behavior?
onDragEnd should always fire

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 5.x
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Possibly relates to issue #232 as this behaviour sounds identical, works for same sortable, but not moving to a new sortable.

Indeed, it looks identical. I hope this will be fixed soon. Currently working on a workaround.

Yes please, I have this issue too. The thing is that the arrays are already been sorted, but that doesnt mean the drop event will also be succesfull.

Agreed, onDragEnd should be fired whenever an item is dropped,sounds like issue #236

I have added a temporary workaround/fix in #232


Unified array / helper for disabling features for non US users

FEATURE OVERVIEW
User Story
As a US user, I want to see new experiences, as a global user, I should not as they often are buggy.
Additional Information (optional)
Let's make a Drupal + JS function to verify that the user country is US
We have something like this in onboarding.js const disabledByLanguage = ['MX', 'BR'].indexOf(user.info.country) != -1;
Why This Matters
We few features either in the works or coming up which might need this
Current Workaround w/o Feature (if applicable)
See line of code above ^
Relevant issue: https://github.com/DoSomething/phoenix/issues/6860

Potentially easiest option, create a Drupal function in helpers (or maybe in settings with the other lang code grab utilities). In the page preprocessor call that function & embed a JS settings variable like "enable_bleeding_edge".
Then onboarding would retrieve this setting in the frontend
And any bender work could also retrieve it

refs #6860 refs #6849

also refs voter registration modal, and organ donation modals


Refactor wRPC

Added comments(usage of APIs).
Split modules.
Redesigned the API, now call returns a future object to wait for the response. And added void_call to drop the future. This also makes sure the error of the call is not ignored, and a response to a call that is not initiated by this peer will be an error.
Styling, including localized variables.
Remove unused code(channel). Another feature at later PR will do the objectives of this feature.

Fix FT-2942

Once this PR is merged, I will try to change the interface more aggressively.

Manage reconnection inside the wRPC, so config service need not take care of it;
Add APIs to PDK to access the wRPC connection

I also fixed a bug, that when an RPC returns an empty message, the payload itself will be "nil" and cause a crash.
The logic that causes the problem is nearly the same as the origin, but somehow it did not make tests fail every time.

Those modules are split and copied from the origin code. I'll refactor them later. To review those code, you can ignore them as they are not changed:

message.lua (except for extracting send_error;
queue.lua(no change except for rename Queue to _M and _MT);
threads.lua(except for add comments)


[Draft] proposal for testing framework

I like Mocha and Jest so I am in favor of this recommendation. Personally, I would probably opt for Jest before Mocha at this point but both are good; I haven't found anything that I was unable to do using Jest.
I am interested in what others in the group think about this.

Do we think that we need to fill out "Drawbacks" or "Unanswered Questions"?

@kalisjoshua Are there drawbacks worth mentioning? Are there maybe features that Mocha lacks compared to other frameworks?

If we want to talk about drawbacks, we could mention that Mocha offers great flexibility for working with a variety of projects, but requires delegating responsibilities like mocking and assertions to other libraries.

@shaunwest I think what @kherrick mentioned is worth noting, I guess, about the mocking and assertion libraries. I don't think that it needs to change the recommendation fundamentally however.


[Bugfix] Fix LoRA bug

My previous pull request, #4012, caused the CI for #4023 to fail.
The reason is that there is a bug in lora/layers.py
PS: I am curious why all the CI checks passed successfully when #4023 was merged.  I notice that https://github.com/vllm-project/vllm/pull/3977 refactor the related code, Is it due to the order of merging and CI checks?

It seems that there is some flakiness in the CI test, starting from PR #3441. Let's see if this combined with PR #3512 fixes the problem.


Very panicky API, lots of .expect and .unwrap.

Tried this on Linux (which I since figured is not meant to be supported yet), but the failure mode is a panic. I noticed that all operations which may fail are unwrap'd.
Would be nice to have a wifiscanner::Error type and return a Result<Vec<Wifi>> instead.
(thanks for the crate, hope to get this on Linux!)

Just released 0.2.0, less panicky and returning a Result<Vec> with a Error if run not run on OS X. Still need to fix the .expects when finding data boundaries.
Will keep this issue open until I've tidied up and refactor some more.

Slow improving this with 0.3.0 still room for improvement. The lib needs breaking up.

Any updates on this?