iOS: No OpKernel was registered to support Op 'Less' with these attrs.

hi , all! I have tried to load the model inside iOS that I generated from python.
and right now, I have the following problem:
Error adding graph to session:
No OpKernel was registered to support Op 'Less' with these attrs.
Registered devices: [CPU],     Registered kernels: device='CPU';
 T in [DT_FLOAT]  [[Node: rnn/while/Less = Less[T=DT_INT32](rnn/while/Merge, rnn/while/Less/Enter)]]

Here is the python script generating the model:
def add_dynamic_rnn_layer(inputs, out_size, batch_size, Xt_size, time_step, num_layer=1, keep_prob=0.5):
    # Reshaping to (batch_size, time_step, Xt_size)
    inputs = tf.reshape(inputs, [-1, time_step, Xt_size])
    cell = tf.contrib.rnn.MultiRNNCell([tf.contrib.rnn.DropoutWrapper(tf.contrib.rnn.LSTMCell(out_size, state_is_tuple=True,forget_bias=1.0),
                                                input_keep_prob=keep_prob)
                             for _ in range(num_layer)])
    cell =  tf.contrib.rnn.DropoutWrapper(cell,  input_keep_prob=keep_prob)
    sequence_length = np.zeros([batch_size], dtype=int)
    sequence_length += time_step
    init_state = cell.zero_state(batch_size, tf.float32)
    rnn_outputs, final_state = tf.nn.dynamic_rnn(cell, inputs, initial_state=init_state, dtype=tf.float32, time_major=False,sequence_length=sequence_length)
    return tf.transpose(rnn_outputs, [1, 0, 2])[-1]

with tf.Session() as sess:
  # ...... other model code....
   add_dynamic_rnn_layer()
   output_graph_def = convert_variables_to_constants(sess, sess.graph_def,
                                                          output_node_names=['predictions', 'prediction_labels'])
   with tf.gfile.FastGFile('inference'+str(time.time())+'.pb', mode='wb') as f:
            f.write(output_graph_def.SerializeToString())

Here is the objective-C++ code loading the model and creating the session:
{
    NSString *path = [[NSBundle mainBundle] pathForResource:pbname ofType:@"pb"];
    if (!path) return false;
    auto status = ReadBinaryProto(tensorflow::Env::Default(), path.fileSystemRepresentation, &graph);
    if (!status.ok()) {
        NSLog(@"Error reading graph: %s", status.error_message().c_str());
        return NO;
    }

    // This prints out the names of the nodes in the graph.
    auto nodeCount = graph.node_size();
    NSLog(@"Node count: %d", nodeCount);
    for (auto i = 0; i < nodeCount; ++i) {
        auto node = graph.node(i);
        NSLog(@"Node %d: %s '%s'", i, node.op().c_str(), node.name().c_str());
    }

    tensorflow::SessionOptions options;
    auto status = tensorflow::NewSession(options, &session);
    if (!status.ok()) {
        NSLog(@"Error creating session: %s", status.error_message().c_str());
        return NO;
    }

    status = session->Create(graph);
    if (!status.ok()) {
        NSLog(@"Error adding graph to session: %s", status.error_message().c_str());
    }
}

the environment as follows:

python 3.5 / xcode 8.3.2
the iOS based on mac os x 10.12  / the tensorflow version: r1.1
the model generated based on Ubuntu / tensorflow is r1.1 gpu version

I have done things as follow:

build_all_ios.sh

success,don't have any warning and error.

set the xcode build settings

header search path

/Users/jw/Desktop/tensorflow  non-recursive
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/downloads non-recursive
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/downloads/protobuf/src non-recursive
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/downloads/eigen non-recursive
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/gen/proto non-recursive

other linker flags:

/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/gen/protobuf_ios/lib/libprotobuf.a
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/gen/protobuf_ios/lib/libprotobuf-lite.a
/Users/jw/Desktop/tensorflow/tensorflow/contrib/makefile/gen/lib/libtensorflow-core.a
-force_load

check the tf_op_files.txt

have the line  tensorflow/core/kernels/cwise_op_less.cc

using the tensorflow version v1.0

have the same error

I would be gratefull if anyone has an idea on why iOS seems to not be able to find the less Op ?
Or the solution to the question : No OpKernel was registered to support Op 'Less' with these attrs.

Less is only registered for float32 on iOS, I believe.  @petewarden Do we have some documentation for this that I can point people to?  Ideally, the error message would say what is going on, but I realize that's hard.

I did talk about this area a bit in my dev summit talk:
https://www.youtube.com/watch?v=0r9w3V923rk
I didn't cover the specific area of restricted types though, and in general the documentation here is lacking. There is a comment here that may be helpful:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/cwise_ops_common.h#L474
The summary is that you should be able to define ANDROID_TYPES=__ANDROID_TYPES_FULL__ when you build TensorFlow, and you'll get all types but the binary size will be larger.

@petewarden , thanks for your comments.

define ANDROID_TYPES=ANDROID_TYPES_FULL when you build TensorFlow

you mean edit the build_all_ios.sh as the follow?
# Build the iOS TensorFlow libraries.
tensorflow/contrib/makefile/compile_ios_tensorflow.sh "-O3" --define ANDROID_TYPES=__ANDROID_TYPES_FULL__

I am not sure whether I am correct  to add the define in the correct place, look forward to your reply.

The --define is Bazel syntax, for the makefile you'll need to use gcc's -D. Here's an example that I haven't tried:
tensorflow/contrib/makefile/compile_ios_tensorflow.sh "-O3 -DANDROID_TYPES=__ANDROID_TYPES_FULL__ "

Note that you have to include the -D in quotes alongside the -O3 for it to work.

thanks for your again. I tried your example. but not worked. Tired...

Have same thing:

Invalid argument: No OpKernel was registered to support Op 'Less' with these attrs.  Registered devices: [CPU], Registered kernels:
device='CPU'; T in [DT_FLOAT]
[[Node: GRU-RNN/rnn/while/Less = Less[T=DT_INT32](GRU-RNN/rnn/while/Merge, GRU-RNN/rnn/while/Less/Enter)]]

even after adding __ANDROID_TYPES_FULL__ option:
tensorflow/contrib/makefile/compile_ios_tensorflow.sh "-O3 -DANDROID_TYPES=__ANDROID_TYPES_FULL__ "

@hansonboy so did you find a solution?

@s1ddok no， I have the problem when I use RNN, but no problem when using CNN. So, I choose to use CNN.

@petewarden @s1ddok  Excuse me, I met a similar problem.I follow the above instructions do, but I don't succeed.Below is my screenshot.How to solve?Thank you.

@s1ddok @petewarden @hansonboy I found a solution for this issue. Try this:
in the (your tensorflow root)/tensorflow/contrib/makefile/Makefile
remove the line "-D__ANDROID_TYPES_SLIM__ " under "# Settings for iOS." for all "$(IOS_ARCH)"
then recompile the libtensorflow-core.a according to the modified Makefile.
The reason why this happened is because:
in tensorflow/core/kernels/cwise_ops_common.h
#if defined(ANDROID_TYPES_SLIM)
// Note that ANDROID_TYPES_SLIM is also checked in the cwise_ops*.cc files.
// Normally Android TensorFlow is built with a reduced number of types (float).
// Override on the command-line "--define ANDROID_TYPES=ANDROID_TYPES_FULL"
// to generate a library with full type support with a consequent increase in
// code size.
#define REGISTER2(OP, D, N, F, T0, T1) REGISTER(OP, D, N, F, T0)
#define REGISTER3(OP, D, N, F, T0, T1, T2) REGISTER(OP, D, N, F, T0)
#define REGISTER4(OP, D, N, F, T0, T1, T2, T3) REGISTER(OP, D, N, F, T0)
#define REGISTER5(OP, D, N, F, T0, T1, T2, T3, T4) REGISTER(OP, D, N, F, T0)
#define REGISTER6(OP, D, N, F, T0, T1, T2, T3, T4, T5) REGISTER(OP, D, N, F, T0)
#define REGISTER7(OP, D, N, F, T0, T1, T2, T3, T4, T5, T6)
REGISTER(OP, D, N, F, T0)
#define REGISTER8(OP, D, N, F, T0, T1, T2, T3, T4, T5, T6, T7)
REGISTER(OP, D, N, F, T0)
#define REGISTER9(OP, D, N, F, T0, T1, T2, T3, T4, T5, T6, T7, T8)
REGISTER(OP, D, N, F, T0)
#else  // !defined(ANDROID_TYPES_SLIM)
(ps: I also wrote a iOS_SSDMobilenet example base on the python ssd_mobilenet and ios_camera_example, and here is the github link:  @https://github.com/JieHe96/ios_SSDMobilenet_tensorflow_example)

Is there a better solution than adding all the int ops to the binary? Is it possible to instead swap the int less op with a corresponding float less op + a cast to float?

I've been trying to load the model built from the TF Quick Draw tutorial https://www.tensorflow.org/tutorials/recurrent_quickdraw on iOS but got the error "Could not create TensorFlow Graph: Invalid argument: No OpKernel was registered to support Op 'RefSwitch' with these attrs.  Registered devices: [CPU], Registered kernels:
device='GPU'; T in [DT_FLOAT]
device='GPU'; T in [DT_INT32]
device='GPU'; T in [DT_BOOL]
device='GPU'; T in [DT_STRING]
device='CPU'; T in [DT_INT32]
device='CPU'; T in [DT_FLOAT]
 [[Node: cond/read/Switch = RefSwitch[T=DT_INT64, _class=["loc:@global_step"], _output_shapes=[[], []]](global_step, cond/pred_id)]]"

I then rebuilt the libtensorflow-core.a with ANDROID_TYPES defined as ANDROID_TYPES_FULL and saw the library size almost doubled but still got the same error. I'm using TF 1.5.
Any other ideas on how I may fix the error and load the model? Thanks!

@Neilcc: don't know if it's still important for you but you can change line 51 in the Makefile
ANDROID_TYPES := -D__ANDROID_TYPES_SLIM__    to
ANDROID_TYPES := -D__ANDROID_TYPES_FULL__
and compile again, then it should work


[New Port Request] json-glib

Library name
json-glib
Library description
JSON parser and generator using GLib and GObject
Source repository URL
https://gitlab.gnome.org/GNOME/json-glib
Project homepage (if different from the source repository)
https://wiki.gnome.org/Projects/JsonGlib
Anything else that is useful to know when adding (such as optional features the library may have that should be included)
No response

I have Windows users nagging me why my program doesn't support Windows, I need this library.

Still need it.

Still need it.

@Zipdox2 error when trying to clone the repo. I have created an account on that gitlab domain and made a personal access token and the error is still occurring
Command: git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks ls-remote https://gitlab.gnome.org/GNOME/json-glib.git
Output:
Error: error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500
fatal: expected flush after ref listing

@TheSharpOwl https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/1794

@TheSharpOwl It's fixed now.


Create Digitial IO Endpoints

[ ] Digitial Input
[ ] Digitial Output
[ ] Digitial Input/Output
[ ] Tri-State

I can try to work on these.


[Feature]: Set table columns isEditable property programmatically.

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Allow setting column tables isEditable property in code.
Why should this be worked on?
There are use cases where table columns are dynamic. An ability to set column properties (in this case, isEditable) on the fly in code helps make these use cases possible.

Just ran into this problem today, good to see that there's already an issue open.
My use case is: I want to show data of multiple database schemas and instances in one table. Users have to be able to send queries, to get data from different tables. So the columns will always be different, depending on the table that's shown.

Thanks for adding this information @mschuelein, can i ask why you are showing data from multiple instances in one table? Do the queries vary a lot?

Thanks for adding this information @mschuelein, can i ask why you are showing data from multiple instances in one table? Do the queries vary a lot?

Hey @dilippitchika, thanks for asking. We want to show data from multiple instances, because we want an easy to use solution for our non technical team members. So they dont have to run queries on 3 different connections 3 times, just one at a central place. The data structure of the instances will always be the same.
And the queries can be any form of CRUD statement, against any table or view in our data structure. We also dont want to implement the structure manually in Appsmith, because then we would have to do changes here for every change we do to our data structure.

Is there any update on this? Would be really appreciated, because it limits our possibilities to use Appsmith properly.

Update?

Thanks for showing interest in this feature. We will check this with the team internally and get back on this here.


Include BOLD API extra data for corrected list of top hits?

Hello!
I've been using BOLDigger for a while and I am so appreciative to have this tool at my fingertips! I'm recently exploring the option to generate a top hit list using the BOLDigger settings with the associated flags and correcting identifications using the BOLD API. I really like that the program has built in the functions to look at conflicting taxonomy and missing species names among the closely related (>98% similarity) top hits.
However, I'm finding that the loss of additional data for these lists (like the process ID, BIN, location, of the top hit is unfortunate as those pieces can really help guide the exploration of taxonomic assignments for my data.
So, that said, this isn't really an "issue" or a "bug", but rather a request to add this feature. Is this possible at all?
Thanks again for creating such an awesome program!
Monica

Dear Monica,
When selecting a top hit with the BOLDigger method I'd say it is a collection of hits that has common taxonomy that is selected rather than any individual hit. I wonder how you'd image such a feature? Just look up the first hit in the top20 hits that matches the taxonomy? On the other hand, that's what the flags are for...
Maybe if you could give me a clear example of the feature you imagine I'll consider adding it as an option.
best Dominik

Hi Dominik,
Thanks for your very prompt reply!
Now that I read your explanation of the top hit, I think this makes sense, that it's the best ID in a collection of hits, and so it doesn't necessarily reflect one specific identification.
Presumably, if the top hit is a collection of hits, they would belong to the same BIN? I wonder if including the BIN of the tops hits might be possible then, rather than a specific Process ID. One could always figure this out from the list of top 20 hits, but it might be nice to automate it, in a way. So anyways, not a requirement, but something to ponder!
Monica

Hi Monica,
Interesting thought about the BIN. I'm actually not sure if this holds true for all of the hits, will take a look into this as soon as I have sufficient time, which might be a while, but will add this as a feature request to my list. Also a collection of BINs would probably be helpful :)
best Dominik

Of course we all have more pressing needs! I completely understand this isn't a priority :)
Just one more note before we rest the topic for now - In the top hit list, there is a column for Public vs Private data - how is this determined if it's not directly linked to a ProcessID?  Just curious!
Monica

Hi Monica,
it is the first hit of the collection. Following my reasoning from before this also makes little sense :D

Fixed with boldigger2.


Problem with calculating distance using Vincenty

Hi there,
I try to calculate the distance between two points using this code:
$coordinate1 = new Coordinate(-5.59248, -78.774002);
$coordinate2 = new Coordinate(5.79, 101.15);

$distance = $coordinate1->getDistance($coordinate2, new Vincenty());

It throws an NotConvergingException and I don't understand why.
Is there any solution to this problem or is the vincenty method limited regarding any circumstances?
Thank you!

Hello,
as described here, the Vincenty formular can fail to converge in some cases:

Vincenty’s inverse solution can fail on nearly antipodal points. Testing with GeographicLib test data, I’ve found this can happen with distances greater than 19,936 km, or within around 75 km of the antipodal point.

I've added a test case and will update the documentation.
As a workaround you can wrap the getDistance() method call in try {} catch {} and recalculate with Haversine in the case that Vincenty fails.


TypeError: Cannot read property '_launcher' of undefined

puppeteer-core: 10.2.0
nodejs: v16.8.0
typescript: 4.4.2
TypeError: Cannot read property '_launcher' of undefined
    at null.launch (.../node_modules/puppeteer-core/src/node/Puppeteer.ts:155:17)

it works as expected with typescript 4.3.5.

It seems that puppeteer exports a class instance as a default export, but in the types all functions of the class are just simple functions (they don't require to provide a context). I'd say that the bug is in puppeteer package which accidentality does wrong type of export (at least in types). So probably types should be different?

So basically this line is wrong, since the entry point exports a class instance, not separated functions.

This is making it rather difficult stub launcher, I can't pass it as a variable.
// mocha.test.js
import puppeteer from 'puppeteer'

const { launch } = puppeteer

it('test', () => {
	launch()
})

$ npx mocha ./mocha.test.js

  1) test

  0 passing (4ms)
  1 failing

  1) test:
     TypeError: Cannot read property '_launcher' of undefined
      at launch (node_modules/puppeteer/lib/cjs/puppeteer/node/Puppeteer.js:125:21)
      at Context.<anonymous> (file:///Users/McShaman/demo/mocha.test.js:6:2)
      at processImmediate (node:internal/timers:463:21)

I was using:
import {Browser, launch, Page, PDFOptions, PDFMargin} from 'puppeteer'
and
launch()
gave the same "_launcher" error.
Trying to change it to:
import puppeteer from 'puppeteer'
gives a typescript errror: "..has no default export"
Simply changing it to
import * as puppeteer from 'puppeteer'
worked for me.
(by fe. calling puppeteer.launch())


Insertion in Linked List

Is your feature request related to a problem? Please describe.
Inserting a node in a linked list
Describe the solution you'd like
I would like to add the concept of adding a node in a linked list at head position , tail position and in a middle of linked list.
Please Assign this issue to me.

Already an issue is open
refer #7


Not worwing fine on the last MeshCentral version

This plugin is a very useful tool to verify the event log of the nodes, but it gives an internal server error 500 when I try to enter the plugin configuration. When I enter the node and see the events it does not allow me to filter, nor can I scroll down to view all the registers.
I have the last MesCentral version and I use MongoDB.


Allow application to run in background

Implement method for when the X button is clicked, the window doesn't close out but runs in the background and has its icon added to the processes in taskbar.

@Pacihstan Has this been implemented with the #57 Merge?

Yea, it was merged yesterday


Create che-stacks.addon

Need to a addon for replacing stacks so that users on non-unix os can perform stack replacement.
I don't have minishift setup right now so if someone can test that would be great. Figure I would get things started.

Reference issue. https://github.com/minishift/minishift-addons/issues/60

@budhrg OK made some changes. Let me know if they work. Also, I have been told that the stacks will eventually not have to be replaced to get default openshift stacks included with Che. However, this will still be a good addon for those that may want to use their own stacks. They would just need to change the url in the addon file to point to a different stacks json file url.

@budhrg Looks like in Che6 this script will no longer be needed for the default stacks so I am going to close the PR.


Implement Encode for Cow<'a, str>

Hey!
I'm trying to encode a Cow<'static, str> but I don't think it's implemented. Is this intentional?
Please let me know if I'm missing something or if you don't have time to add it -- I can submit a PR :)
Thanks

AFAIK, Cow<'_, str>: Encode is possible:
// src/derive/impls.rs
impl<T: Encode + ToOwned + ?Sized> Encode for ::alloc::borrow::Cow<'_, T> {
    type Encoder = DerefEncoder<T>;
}

The hard, error-prone part would be Cow<?, str>: Decode. Since Rust lacks lifetime specialization, we cannot implement both:

Cow<'static, str> which produces Cow::Owned copied from the input buffer
Cow<'a, str> which produces Cow::Borrowed borrowed from the 'a input buffer

So I'm wondering: Would Cow<'_, str>: Encode be useful without Cow<?, str>: Decode? You would have to use T: Decode where T is compatible with the encoded representation of Cow<'_, str>. One issue is that bitcode will probably never be able to specify what those representation(s) would be. There probably can never be a guarantee that String serializes the same as &str or that &str serializes the same as Cow<'_, str>.

I think always opting for Cow::Owned upon Decode is acceptable, serde does the same by deserializing into a String first. They always encode Cow<'_, str> as a &str, so the repr of &str and String would need to be the same to do the same.
It looks like this is currently the case link (unless I'm reading it incorrectly). Could potentially add some tests for it, then if it's not feasible to keep the same repr it could be removed in some future breaking change?

serde does the same by deserializing into a String first.

Note that serde has special handling for Cow<str> and Cow<[u8]> via its borrow attribute, c.f. https://github.com/serde-rs/serde/blob/28a092261b1b47726c4c16fd00aa7de8df19785f/serde_derive/src/internals/attr.rs#L1260, i.e. it is able to deserialize Cow::Borrowed borrowing from the input.

I think always opting for Cow::Owned upon Decode is acceptable,

Maybe that's the best serde can do with its set of constraints.

It looks like this is currently the case

Yes. A possible reason for it to change would be if we needed one format for borrowing from the buffer (&str) but there was a more size-optimal format for copying. This would be the case for &[u16] vs. Vec<u16> because borrowing the former imposes an alignment requirement that copying into Vec<u16> doesn't. We prioritize flexibility so we can freely optimize later.

Note that serde has special handling for Cow and Cow<[u8]> via its borrow attribute,

Yeah I'm vaguely aware of that. Maybe we could do something similar.
I doubt this issue can proceed without input from @caibear :eyes:

But, if we're going to detect Cow, might as well detect non-'static lifetime too?

I think the main learning from serde is that these detections tend to have false positives and the generated code must fail safely in that case, i.e getting confused about confusingly renamed lifetimes must not lead to invalid references.

tend to have false positives

I think there are three cases:

'static (verbatim match, copy from buffer)
'a: !'buffer (user error, must fail to compile e.g. due to a generated 'a: 'buffer bound)
'a: 'buffer (borrow from buffer)


Fix typo

Thank you for your contribution. Can you please sign your commit.

Is there a way to amend this commit from GitHub UI??

Sadly not.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I had to checkout the code now :/


New content on wpdemo

Added enough posts to get to pagination. Could go >20 but it's probably fine for now.


org.json code is now Public Domain

Now that Douglas Crockford has relicensed his code to Public Domain -- see https://github.com/stleary/JSON-java/pull/688 -- is there no longer a reason for this repo's existence?

Good catch.
Unfortunately, public domain is (surprisingly) not a usable license because not all countries have a corresponding legal concept (Japan, for instance).
In any case, this library was intended to facilitate migration away from json.org implementations. The rationale was that Douglas Crockford was not a reliable source and seemed to view licensing as a lark (see the game played with IBM). My view hasn't changed on that topic. This software was intended to give a sufficiently compatible alternative that Apache projects could drop json.org dependencies immediately and then move on to versions with long-term support.
Those projects have, indeed, largely moved on as planned.
So a more cogent argument for this library to be discarded would be that it's moment in history has passed. That is true, but it doesn't mean that this repository should be deleted. At most, it should be marked as deprecated.


RadioButton update and new component: RadioButtonGroup

Radio buttons now have spread functionality and are managed inside the new RadioButtonGroup component.

Thanks @mmrtnz :+1:


macOS awareness, electron3 necessary rebuild

@puengel can you check on windows?
It might be necessary to redo a npm install

Verified on Windows.

@Equanox Is there any more work to be done here to merge these commits? I'm also interested in merging a few other changes I've made, if you're accepting merge requests.

@margolisj can't test if it really works cause i have no access to a mac right now. Would be really helpful if someone can test it while considering the discussion in #9 .
I'll definitely accept pull requests. But it might be helpful to discuss the things you want to change in advance. Feel free to create a issue for your purpose.
FYI, @puengel is actually rewriting the go => nodejs/electronjs bridge in a separate repository. This will allow you to import gotron in your go project without the UI overhead, and enable you to change BrowserWindow parameters directly from go. The work should be ready to merge till end of the year.

See https://github.com/Equanox/gotron/issues/9#issuecomment-449418596


[iron] Switch source version to iron for core repos

PR https://github.com/ros/rosdistro/pull/36923 added a distribution.yaml for iron which was generated by running the migration script. However, the source versions for various core ROS 2 repos remained as rolling.
For those pkgs with version iron in ros2.repos file, the corresponding source versions in the iron/distribution.yaml have been updated in this PR.
Once this is merged, we need to update the iron tracks for these packages in the release repos.

Good call. I've updated the doc versions too 9675af8


Feat: Add ios support for accessing WebVTT Subtitle Content

📝 Summary
This PR adds the capability to access and expose the content of subtitles within RN; but, currently only implements the ios portion. The core of this functionality leverages AVFoundation framework's AVPlayerItemLegibleOutput, enabling the app to intercept subtitle data as attributed strings during video playback. This data is subsequently passed to do the RN layer through the newly introduced event, onSubtitleTracks; thus, allowing components to reactively update based on this subtitle content.
Motivation
Our motivation for integrating the onSubtitleTracks event handler with react-native-video is to enhance user engagement with HLS VODs of sports content. Utilizing WebVTT tracks, we aim to dynamically display game information like scores as overlays on the video, based on the playback position. This feature ensures viewers have access to contextual sports data as they navigate through the video, significantly improving their viewing experience by making it more informative and interactive. This implementation aligns with the capabilities of the WebVTT API, optimizing our app's use of text tracks for an enriched sports viewing experience.

The primary purpose of WebVTT files is to add text overlays to a <video>

source
Changes
📲 iOS Implementation:

RCTPlayerObserver class implements AVPlayerItemLegibleOutputPushDelegate to observe and handle subtitle tracks.
Configured legibleOutput on the player item and set the current class as the delegate to manage legible output.
Implemented the legibleOutput delegate method to capture subtitle data, processing it via the handleLegibleOutput method to extract and utilize subtitle strings.

🌉 RN Bridge:

Added an @objc property onSubtitleTracks to facilitate event emission, enabling the RN layer to receive subtitle data.
Implemented method handleLegibleOutput to handle attributed strings from subtitles, triggering the onSubtitleTracks event with the subtitle text for consumption within RN components.

🥳 RN Layer

Exposed the onSubtitleTracks property.

Example:
const App = () => {
  const handleSubtitleTracks = useCallback((e: OnSubtitleTracksData) => {
    console.log('Subtitles:', e.subtitleTracks);
  }, []);

  return (
    <Video
      source={{ uri: 'video-url.mp4' }} // Replace 'video-url.mp4' with your video source
      onSubtitleTracks={handleSubtitleTracks} // new event handler
      // Other props for the Video component
    />
  );
};

📄 Docs

updated events.md to include a description aligned with current standards.

Test plan
✅ Tested in example app with uri included in this PR
Set the tracks you want to use, for my demo I used the below; however, SelectedTrackType.LANGUAGE also works. For my actual use-case, we'll be using TITLE so I wanted to make sure that worked.

Apply following changes to test in example app:

// VideoPlayer.tsx

    // selectedTextTrack={this.state.selectedTextTrack}
    selectedTextTrack={{
      type: SelectedTrackType.TITLE,
      value: 'English',
    }}

Comment out this line; due to textTracks being undefined, I believe it has to do with how data.textTracks is being set; but, I didn't want to address that on this PR as its a separate issue.
// VideoPlayer.tsx
  {/* {this.state.textTracks.map(track => (
    <Picker.Item
      label={track.language}
      value={track.language}
      key={track.language}
    />
  ))} */}

Comment out this line for the app to build( I believe this is a known issue):
// metro.config.js

// /(.*\/react-native-video\/node_modules\/.*)$/,

Demo of how it works:
https://github.com/react-native-video/react-native-video/assets/75731066/c5ec08dc-567d-4704-a1b1-a6f39121673f

few comments, but looks good !
on android I think the code shall be in onCue function if you want to implement it.

few comments, but looks good ! on android I think the code shall be in onCue function if you want to implement it.

Thank you for the feedback 🙏🏽! I'll take a look at the android implementation once I get this merged 😄 I'm going to apply the requested changes here shortly

All feedback has been addressed :)
I've also tested it again in the sample app.

few comments, but looks good ! on android I think the code shall be in onCue function if you want to implement it.

yep, I can take a look at this and will submit another PR for it.

LGTM, Thank you very much 👍 Let's wait for @freeboub review (this may take some time, for what I know he's busy lately)

Awesome, happy to help! Excited to get this merged in 😊

@KrzysztofMoch any other blockers I need to take care of to get this merged? 😅

No 😄


Managing Dependencies to different Versions of the same App

We have a base application on which several client extension apps depend. For now, we have to maintain two versions of this base app--same app id, different code base. We have one of the base app repos named in appDependencyProbingPaths, at the Org Settings level (ALGOORGSETTINGS). We have client extenstions that depend on both versions. When setting up a repo for a client extension that depends on the second base version, I have tried using installApps and appDependencyProbingPaths to point to either the app or the repo, respectively, for the second version of the base app. no joy--we get missing symbol errors either way. What would be the best way to set this up, so that some client versions can refer to one version of the base app, and others to the second version?

Sorry for the delay
If you add appDependencyProbingPaths to every repository, then it works right?
But when you have appDependencyProbingPaths in ALGOORGSETTINGS and also in a repository - I think they are merged together and you probably end up with both - is this what you see?

I will do some more experimenting to see whether we can isolate any configuration that works. If they were merged together (i.e., from the org level and the repo level), how would I see that? In the logs?

Question:  is an appDependencyProbingPaths setting at the repo level supposed to override one at the org level?

I think that currently, they will be added together (as all arrays in settings)

Ah. So that would result in a single array of repositories, all of which would be searched. That would make sense.
In the meantime, I find that we might be able to eliminate this requirement altogether by bringing these two outlier extension apps up to the current version of our base app.
I say we can close this issue for now; thanks for the clarification--now we know how that works.


etcd cannot auto recover in case of data corruption

Organization Name: OpenPAI

Short summary about the issue/question: one etcd instance fails and is trapped in infinite crash recovery loop.
Brief what process you are following:

How to reproduce it:
corruption of etcd data

OpenPAI Environment:

OpenPAI version: 0.9.0
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Hardware (e.g. core number, memory size, storage size, GPU type etc.):
Others:

Anything else we need to know:

here is the log of etcd.
2019-02-02 07:32:32.972383 I | etcdmain: etcd Version: 3.2.17
2019-02-02 07:32:32.972434 I | etcdmain: Git SHA: 28c47bb2f
2019-02-02 07:32:32.972438 I | etcdmain: Go Version: go1.8.7
2019-02-02 07:32:32.972441 I | etcdmain: Go OS/Arch: linux/amd64
2019-02-02 07:32:32.972444 I | etcdmain: setting maximum number of CPUs to 16, total number of available CPUs is 16
2019-02-02 07:32:32.972477 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2019-02-02 07:32:32.972523 I | embed: listening for peers on http://<IP_ADDRESS>:2380
2019-02-02 07:32:32.972551 I | embed: listening for client requests on <IP_ADDRESS>:4001
2019-02-02 07:32:32.973554 I | etcdserver: name = etcdid3
2019-02-02 07:32:32.973565 I | etcdserver: data dir = /var/etcd/data
2019-02-02 07:32:32.973584 I | etcdserver: member dir = /var/etcd/data/member
2019-02-02 07:32:32.973588 I | etcdserver: heartbeat = 100ms
2019-02-02 07:32:32.973590 I | etcdserver: election = 1000ms
2019-02-02 07:32:32.973593 I | etcdserver: snapshot count = 100000
2019-02-02 07:32:32.973603 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2019-02-02 07:32:32.973784 I | etcdserver: restarting member 981d16e74d5b93b0 in cluster 2a4e4334d3f30cc3 at commit index 0
2019-02-02 07:32:32.973806 I | raft: 981d16e74d5b93b0 became follower at term 1
2019-02-02 07:32:32.973813 I | raft: newRaft 981d16e74d5b93b0 [peers: [], term: 1, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2019-02-02 07:32:32.978980 W | auth: simple token is not cryptographically signed
2019-02-02 07:32:32.981649 I | etcdserver: starting server... [version: 3.2.17, cluster version: to_be_decided]
2019-02-02 07:32:33.003083 I | raft: 981d16e74d5b93b0 [term: 1] received a MsgHeartbeat message with higher term from d626a147a331bb82 [term: 312]
2019-02-02 07:32:33.003100 I | raft: 981d16e74d5b93b0 became follower at term 312
2019-02-02 07:32:33.003139 C | raft: tocommit(10890480) is out of range [lastIndex(0)]. Was the raft log corrupted, truncated, or lost?
panic: tocommit(10890480) is out of range [lastIndex(0)]. Was the raft log corrupted, truncated, or lost?
goroutine 72 [running]:
github.com/coreos/etcd/cmd/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc420174840, 0xfa963c, 0x5d, 0xc420277260, 0x2, 0x2)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:75 +0x15c
github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.(*raftLog).commitTo(0xc420210930, 0xa62cf0)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/log.go:191 +0x15c
github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.(*raft).handleHeartbeat(0xc4202721e0, 0x8, 0x981d16e74d5b93b0, 0xd626a147a331bb82, 0x138, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/raft.go:1100 +0x54
github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.stepFollower(0xc4202721e0, 0x8, 0x981d16e74d5b93b0, 0xd626a147a331bb82, 0x138, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/raft.go:1046 +0x2b3
github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.(*raft).Step(0xc4202721e0, 0x8, 0x981d16e74d5b93b0, 0xd626a147a331bb82, 0x138, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/raft.go:778 +0x10f7
github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.(*node).run(0xc42018f260, 0xc4202721e0)
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/node.go:323 +0x67b
created by github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft.RestartNode
/usr/local/google/home/jpbetz/Projects/etcd/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/cmd/vendor/github.com/coreos/etcd/raft/node.go:223 +0x33e

The script etcdfix can mitigate this issue.

need to add an alert to monitor the healthiness of etcd.

1.need to add an alert to monitor the healthiness of etcd.
2. please investigate whether the system can fix it automatically.

There is one thing that you should know. Etcd isn't a part of OpenPAI. It's a component of kubernetes. What's more, in my opinion, etcd is the base of kubernetes. I don't think OpenPAI should add alerts to monitor it.

@ydye , that is a good point. For us, there are two cases.

for k8s deployed using our own code, we have to take care of it. this mainly includes on-premise case.
for k8s deployed by other solution like AKS. it is indeed not our obligation to detect the healthiness of k8s itself. we need think of the boundary of what PAI should do and what PAI should not do.

https://github.com/microsoft/pai/pull/3307


cloth simulation

possible simulate also cloth ? like particole object ?

Yes, I will provide a cloth simulator shortly; but it won't be an XPBD-based simulator. Instead, it will be using a novel simulator that surpasses XPBD in many ways. Hopefully, you will be able to see the new method in this year's Siggraph conference. Be excited.

Yes, I will provide a cloth simulator shortly; but it won't be an XPBD-based simulator. Instead, it will be using a novel simulator that surpasses XPBD in many ways. Hopefully, you will be able to see the new method in this year's Siggraph conference. Be excited.

Looking forward to seeing your work. BTW, when the code will be released?

novel simulator

what type of technology is?  never heard of it before

novel simulator

what type of technology is? never heard of it before

The simulator is novel... not that the method is called "novel"

Would be interested to see if I can test cloth simulation on a rigid body "like a human character".

Would be interested to see if I can test cloth simulation on a rigid body "like a human character" for fitting purposes.

That is, (spoiler alert), the next update of Gaia, and a whole new research paper.


Make ecto work with ipv6 by default?

We run IPv6 private networks (for reasons!), which means Elixir apps using Ecto need to connect to their databases over IPv6.
Ecto doesn't allow IPv6 by default, to get a Phoenix app working with its DB we have to ask users to change their Repo config to something like:
config :web_app, WebApp.Repo,
  url: System.get_env("POOL_SIZE") ,
  socket_options: [:inet6]

Are you all cool with enabling IPv6 by default for Ecto? Cowboy (and by extension, Phoenix) default to :inet6 so it would be more consistent for Phoenix apps, at least.
I haven't been able to find the default socket_options that ecto uses but if you can point me in the right direction I can make a PR!

Hi @mrkurt! Those configurations would be specific to each adapter. Perhaps we should generate on the config/runtime.exs of new Phoenix apps? WDYT @chrismccord?

To be clear, Phoenix and Plug.Cowboy set inet6 on config/runtime.exs. So changing Phoenix would go along the same lines. :)

I am still learning to spelunk through Elixir apps, but I can't find where that gets set in Phoenix. I thought that was the default for Cowboy socket_options!

I have no idea how it looks like in remote database services like AWS, but I would pay attention here. Many network providers do not even support IPv6 (at least in Poland). Therefore making it by default could affect many projects and force many developers to change it in dev.exs.

@mrkurt in Phoenix master. In Phoenix v1.5.
@Eiji7 inet6 should work for both inet4 and inet6 (in theory).

Oh nice, that got me (I think) what I needed for a Phoenix PR: https://github.com/phoenixframework/phoenix/pull/4289


add missing redeemer parameter

@alessandrokonrad in case you don't have time, so it's not forgotten!

Thanks, but I have added it yesterday already👍🏻


Releases on GitHub

I am using vue.js without node and currently using version 1.1.2 from GitHub releases.
Could you do a release of the current version here as well?

@gmasil  https://github.com/jiahengaa/BeeGridTable/releases/tag/V1.5.2

Thank you very much!
I am already working on the migration to work with node, but that is all new to me as a backend developer, so it takes time. You are really helping me out here in the meantime :)


add focusHighlightForeground to demo

https://github.com/Microsoft/monaco-editor/blob/main/test/playground.generated/customizing-the-appearence-exposed-colors.html is missing 'editorSuggestWidget.focusHighlightForeground': // Color of the match highlights in the suggest widget when an item is focused. which can be found at https://code.visualstudio.com/api/references/theme-color#editor-widget-colors

We are adding new colors every month, but there is no automated process of keeping that comment up-to-date.

Here's a complete list of available theme colors as of<EMAIL_ADDRESS>foreground: Overall foreground color. This color is only used if not overridden by a component.
errorForeground: Overall foreground color for error messages. This color is only used if not overridden by a component.
icon.foreground: The default color for icons in the workbench.
focusBorder: Overall border color for focused elements. This color is only used if not overridden by a component.
contrastBorder: An extra border around elements to separate them from others for greater contrast.
contrastActiveBorder: An extra border around active elements to separate them from others for greater contrast.
textLink.foreground: Foreground color for links in text.
textLink.activeForeground: Foreground color for links in text when clicked on and on mouse hover.
textCodeBlock.background: Background color for code blocks in text.
widget.shadow: Shadow color of widgets such as find/replace inside the editor.
input.background: Input box background.
input.foreground: Input box foreground.
input.border: Input box border.
inputOption.activeBorder: Border color of activated options in input fields.
inputOption.activeBackground: Background color of activated options in input fields.
inputOption.activeForeground: Foreground color of activated options in input fields.
inputValidation.infoBackground: Input validation background color for information severity.
inputValidation.infoForeground: Input validation foreground color for information severity.
inputValidation.infoBorder: Input validation border color for information severity.
inputValidation.warningBackground: Input validation background color for warning severity.
inputValidation.warningForeground: Input validation foreground color for warning severity.
inputValidation.warningBorder: Input validation border color for warning severity.
inputValidation.errorBackground: Input validation background color for error severity.
inputValidation.errorForeground: Input validation foreground color for error severity.
inputValidation.errorBorder: Input validation border color for error severity.
dropdown.background: Dropdown background.
dropdown.foreground: Dropdown foreground.
button.foreground: Button foreground color.
button.background: Button background color.
button.hoverBackground: Button background color when hovering.
badge.background: Badge background color. Badges are small information labels, e.g. for search results count.
badge.foreground: Badge foreground color. Badges are small information labels, e.g. for search results count.
scrollbar.shadow: Scrollbar shadow to indicate that the view is scrolled.
scrollbarSlider.background: Scrollbar slider background color.
scrollbarSlider.hoverBackground: Scrollbar slider background color when hovering.
scrollbarSlider.activeBackground: Scrollbar slider background color when clicked on.
progressBar.background: Background color of the progress bar that can show for long running operations.
editorError.background: Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.
editorError.foreground: Foreground color of error squigglies in the editor.
editorError.border: Border color of error boxes in the editor.
editorWarning.background: Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.
editorWarning.foreground: Foreground color of warning squigglies in the editor.
editorWarning.border: Border color of warning boxes in the editor.
editorInfo.background: Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.
editorInfo.foreground: Foreground color of info squigglies in the editor.
editorInfo.border: Border color of info boxes in the editor.
editorHint.foreground: Foreground color of hint squigglies in the editor.
editorHint.border: Border color of hint boxes in the editor.
editor.background: Editor background color.
editor.foreground: Editor default foreground color.
editorWidget.background: Background color of editor widgets, such as find/replace.
editorWidget.foreground: Foreground color of editor widgets, such as find/replace.
editorWidget.border: Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.
editorWidget.resizeBorder: Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.
quickInput.background: Quick picker background color. The quick picker widget is the container for pickers like the command palette.
quickInput.foreground: Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.
quickInputTitle.background: Quick picker title background color. The quick picker widget is the container for pickers like the command palette.
pickerGroup.foreground: Quick picker color for grouping labels.
pickerGroup.border: Quick picker color for grouping borders.
keybindingLabel.background: Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.
keybindingLabel.foreground: Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.
keybindingLabel.border: Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.
keybindingLabel.bottomBorder: Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.
editor.selectionBackground: Color of the editor selection.
editor.selectionForeground: Color of the selected text for high contrast.
editor.inactiveSelectionBackground: Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.
editor.selectionHighlightBackground: Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.
editor.selectionHighlightBorder: Border color for regions with the same content as the selection.
editor.findMatchBackground: Color of the current search match.
editor.findMatchHighlightBackground: Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.
editor.findRangeHighlightBackground: Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.
editor.findMatchBorder: Border color of the current search match.
editor.findMatchHighlightBorder: Border color of the other search matches.
editor.findRangeHighlightBorder: Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.
editor.hoverHighlightBackground: Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.
editorHoverWidget.background: Background color of the editor hover.
editorHoverWidget.foreground: Foreground color of the editor hover.
editorHoverWidget.border: Border color of the editor hover.
editorHoverWidget.statusBarBackground: Background color of the editor hover status bar.
editorLink.activeForeground: Color of active links.
editorInlayHint.foreground: Foreground color of inline hints
editorInlayHint.background: Background color of inline hints
editorLightBulb.foreground: The color used for the lightbulb actions icon.
editorLightBulbAutoFix.foreground: The color used for the lightbulb auto fix actions icon.
diffEditor.insertedTextBackground: Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.
diffEditor.removedTextBackground: Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.
diffEditor.insertedTextBorder: Outline color for the text that got inserted.
diffEditor.removedTextBorder: Outline color for text that got removed.
diffEditor.border: Border color between the two text editors.
diffEditor.diagonalFill: Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.
list.focusBackground: List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.focusForeground: List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.focusOutline: List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.activeSelectionBackground: List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.activeSelectionForeground: List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.activeSelectionIconForeground: List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
list.inactiveSelectionBackground: List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
list.inactiveSelectionForeground: List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
list.inactiveSelectionIconForeground: List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
list.inactiveFocusBackground: List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
list.inactiveFocusOutline: List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
list.hoverBackground: List/Tree background when hovering over items using the mouse.
list.hoverForeground: List/Tree foreground when hovering over items using the mouse.
list.dropBackground: List/Tree drag and drop background when moving items around using the mouse.
list.highlightForeground: List/Tree foreground color of the match highlights when searching inside the list/tree.
list.focusHighlightForeground: List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.
listFilterWidget.background: Background color of the type filter widget in lists and trees.
listFilterWidget.outline: Outline color of the type filter widget in lists and trees.
listFilterWidget.noMatchesOutline: Outline color of the type filter widget in lists and trees, when there are no matches.
tree.indentGuidesStroke: Tree stroke color for the indentation guides.
tree.tableColumnsBorder: Tree stroke color for the indentation guides.
quickInput.list.focusBackground:
quickInputList.focusForeground: Quick picker foreground color for the focused item.
quickInputList.focusIconForeground: Quick picker icon foreground color for the focused item.
quickInputList.focusBackground: Quick picker background color for the focused item.
menu.border: Border color of menus.
menu.foreground: Foreground color of menu items.
menu.background: Background color of menu items.
menu.selectionForeground: Foreground color of the selected menu item in menus.
menu.selectionBackground: Background color of the selected menu item in menus.
menu.selectionBorder: Border color of the selected menu item in menus.
menu.separatorBackground: Color of a separator menu item in menus.
editor.snippetTabstopHighlightBackground: Highlight background color of a snippet tabstop.
editor.snippetTabstopHighlightBorder: Highlight border color of a snippet tabstop.
editor.snippetFinalTabstopHighlightBackground: Highlight background color of the final tabstop of a snippet.
editor.snippetFinalTabstopHighlightBorder: Highlight border color of the final tabstop of a snippet.
editorOverviewRuler.findMatchForeground: Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.
editorOverviewRuler.selectionHighlightForeground: Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.
minimap.findMatchHighlight: Minimap marker color for find matches.
minimap.selectionHighlight: Minimap marker color for the editor selection.
minimap.errorHighlight: Minimap marker color for errors.
minimap.warningHighlight: Minimap marker color for warnings.
minimap.background: Minimap background color.
minimapSlider.background: Minimap slider background color.
minimapSlider.hoverBackground: Minimap slider background color when hovering.
minimapSlider.activeBackground: Minimap slider background color when clicked on.
problemsErrorIcon.foreground: The color used for the problems error icon.
problemsWarningIcon.foreground: The color used for the problems warning icon.
problemsInfoIcon.foreground: The color used for the problems info icon.
editor.lineHighlightBackground: Background color for the highlight of line at the cursor position.
editor.lineHighlightBorder: Background color for the border around the line at the cursor position.
editor.rangeHighlightBackground: Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.
editor.rangeHighlightBorder: Background color of the border around highlighted ranges.
editor.symbolHighlightBackground: Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.
editor.symbolHighlightBorder: Background color of the border around highlighted symbols.
editorCursor.foreground: Color of the editor cursor.
editorCursor.background: The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.
editorWhitespace.foreground: Color of whitespace characters in the editor.
editorIndentGuide.background: Color of the editor indentation guides.
editorIndentGuide.activeBackground: Color of the active editor indentation guides.
editorLineNumber.foreground: Color of editor line numbers.
editorActiveLineNumber.foreground: Color of editor active line number
editorLineNumber.activeForeground: Color of editor active line number
editorRuler.foreground: Color of the editor rulers.
editorCodeLens.foreground: Foreground color of editor CodeLens
editorBracketMatch.background: Background color behind matching brackets
editorBracketMatch.border: Color for matching brackets boxes
editorOverviewRuler.border: Color of the overview ruler border.
editorOverviewRuler.background: Background color of the editor overview ruler. Only used when the minimap is enabled and placed on the right side of the editor.
editorGutter.background: Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.
editorUnnecessaryCode.border: Border color of unnecessary (unused) source code in the editor.
editorUnnecessaryCode.opacity: Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.
editorGhostText.border: Border color of ghost text in the editor.
editorGhostText.foreground: Foreground color of the ghost text in the editor.
editorOverviewRuler.rangeHighlightForeground: Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.
editorOverviewRuler.errorForeground: Overview ruler marker color for errors.
editorOverviewRuler.warningForeground: Overview ruler marker color for warnings.
editorOverviewRuler.infoForeground: Overview ruler marker color for infos.
editorOverviewRuler.bracketMatchForeground: Overview ruler marker color for matching brackets.
peekViewTitle.background: Background color of the peek view title area.
peekViewTitleLabel.foreground: Color of the peek view title.
peekViewTitleDescription.foreground: Color of the peek view title info.
peekView.border: Color of the peek view borders and arrow.
peekViewResult.background: Background color of the peek view result list.
peekViewResult.lineForeground: Foreground color for line nodes in the peek view result list.
peekViewResult.fileForeground: Foreground color for file nodes in the peek view result list.
peekViewResult.selectionBackground: Background color of the selected entry in the peek view result list.
peekViewResult.selectionForeground: Foreground color of the selected entry in the peek view result list.
peekViewEditor.background: Background color of the peek view editor.
peekViewEditorGutter.background: Background color of the gutter in the peek view editor.
peekViewResult.matchHighlightBackground: Match highlight color in the peek view result list.
peekViewEditor.matchHighlightBackground: Match highlight color in the peek view editor.
peekViewEditor.matchHighlightBorder: Match highlight border in the peek view editor.
editorMarkerNavigationError.background: Editor marker navigation widget error color.
editorMarkerNavigationWarning.background: Editor marker navigation widget warning color.
editorMarkerNavigationInfo.background: Editor marker navigation widget info color.
editorMarkerNavigation.background: Editor marker navigation widget background.
symbolIcon.arrayForeground: The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.booleanForeground: The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.classForeground: The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.colorForeground: The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.constantForeground: The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.constructorForeground: The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.enumeratorForeground: The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.enumeratorMemberForeground: The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.eventForeground: The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.fieldForeground: The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.fileForeground: The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.folderForeground: The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.functionForeground: The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.interfaceForeground: The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.keyForeground: The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.keywordForeground: The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.methodForeground: The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.moduleForeground: The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.namespaceForeground: The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.nullForeground: The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.numberForeground: The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.objectForeground: The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.operatorForeground: The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.packageForeground: The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.propertyForeground: The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.referenceForeground: The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.snippetForeground: The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.stringForeground: The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.structForeground: The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.textForeground: The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.typeParameterForeground: The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.unitForeground: The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
symbolIcon.variableForeground: The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.
editorSuggestWidget.background: Background color of the suggest widget.
editorSuggestWidget.border: Border color of the suggest widget.
editorSuggestWidget.foreground: Foreground color of the suggest widget.
editorSuggestWidget.selectedForeground: Foreground color of the selected entry in the suggest widget.
editorSuggestWidget.selectedIconForeground: Icon foreground color of the selected entry in the suggest widget.
editorSuggestWidget.selectedBackground: Background color of the selected entry in the suggest widget.
editorSuggestWidget.highlightForeground: Color of the match highlights in the suggest widget.
editorSuggestWidget.focusHighlightForeground: Color of the match highlights in the suggest widget when an item is focused.
editor.foldBackground: Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.
editorGutter.foldingControlForeground: Color of the folding control in the editor gutter.
editor.linkedEditingBackground: Background color when the editor auto renames on type.
editor.wordHighlightBackground: Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.
editor.wordHighlightStrongBackground: Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.
editor.wordHighlightBorder: Border color of a symbol during read-access, like reading a variable.
editor.wordHighlightStrongBorder: Border color of a symbol during write-access, like writing to a variable.
editorOverviewRuler.wordHighlightForeground: Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.
editorOverviewRuler.wordHighlightStrongForeground: Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.


GPG error for APT when accessing Google repositories

Hello
Recently (July 2022) 2020Sanoj and MrBenGriffin have reported that this issue has resurfaced. I can report that I too am seeing it on Ubuntu 20. The original issue was "GPG error: https://dl.google.com/linux/mod-pagespeed/deb stable Release: The following signatures were invalid #1979".
Here's the output when I try to run apt-get update ...
Err:8 http://dl.google.com/linux/mod-pagespeed/deb stable Release.gpg The following signatures were invalid: EXPKEYSIG 78BD65473CB3BD13 Google Inc. (Linux Packages Signing Authority<EMAIL_ADDRESS>Reading package lists... Done W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://dl.google.com/linux/mod-pagespeed/deb stable Release: The following signatures were invalid: EXPKEYSIG 78BD65473CB3BD13 Google Inc. (Linux Packages Signing Authority<EMAIL_ADDRESS>W: Failed to fetch http://dl.google.com/linux/mod-pagespeed/deb/dists/stable/Release.gpg The following signatures were invalid: EXPKEYSIG 78BD65473CB3BD13 Google Inc. (Linux Packages Signing Authority<EMAIL_ADDRESS>W: Some index files failed to download. They have been ignored, or old ones used instead.
My APT repository simply has ...
deb http://dl.google.com/linux/mod-pagespeed/deb/ stable main
And I have added the APT key https://dl.google.com/linux/linux_signing_key.pub mentioned here https://www.google.com/linuxrepositories/. The fingerprints displayed when I run apt-key list are the same ones referenced in the documentation.
`pub   dsa1024 2007-03-08 [SC]
4CCA 1EAF 950C EE4A B839  76DC A040 830F 7FAC 5991
uid           [ unknown] Google, Inc. Linux Package Signing Key<EMAIL_ADDRESS>sub   elg2048 2007-03-08 [E]
pub   rsa4096 2016-04-12 [SC]
EB4C 1BFD 4F04 2F6D DDCC  EC91 7721 F63B D38B 4796
uid           [ unknown] Google Inc. (Linux Packages Signing Authority<EMAIL_ADDRESS>sub   rsa4096 2021-10-26 [S] [expires: 2024-10-25]`

Yes the problem is that Google is no longer officially driving the mod_pagespeed effort, the old download's signature has expired, and the signing infrastructure has evolved.
The latest release (1.14) was issued under the Apache Software Foundation and can be downloaded directly from  https://www.modpagespeed.com/doc/download . Can you switch to that?


feature/support db connections via psycopg2 and a city crime score route

Pushing code that supports:

use the psycopg to create database connections
enables a FastAPI route (//crime_scr/{city}) that returns a crime score (1-5) for a given city
the route takes a normalized city name (e.g. st_louis) instead of the standard city name (e.g. St. Louis) as a route parameter value

Going to merge this.  Sorry looks I was in this with another GH identity.  I hate when that happens!  I am going to merge this.


<EMAIL_ADDRESS>decompress error

Trying to upgrade Gimp to 2.10.38-1 version, I get the following error:
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.

Duplicates #14126.


3rd party farmware is gone after reboot

Expected Behavior
Installed farmware is not removed after emergency reboot
Actual Behavior
My farmbot reboots itself quite often with the message UART device removed. After it boots all 3rd party firmware is gone and I have to reinstall it. Refreshing page doesn't help. However instead of reinstalling farmware I may initiate normal reboot and it brings my farmware back without reinstalling it
Steps to Reproduce
I do not know how to provoke emergency reboot.
My FarmBot API Version
6.4.0
Run git log -1 and paste the results here

I believe this was fixed quite a while ago. Feel free to reopen if you still have an issue


[BUG]: Pressing Enter should be equivalent to click on the Create button for new project

Describe the bug
I can't count anymore the number of times I tried creating a new project and ended up with no project because I concluded the process by pressing Enter on the keyboard instead of clicking on the Create button. This is a deep paper cut for me (and I am assuming others too).
To Reproduce
Steps to reproduce the behavior:

Click on 'New Project' button from the home page
Enter a name and optionally a description
Press Enter
=> the modal closes but the project does not get created.

Expected behavior
Pressing Enter should do the same as explicitly clicking the Create button, i.e. create the project and opening it.

This has been fixed, pressing enter does create a new project


Flutter app doesn't update the running code.

Hi, please forgive me if I don't use the right terms and words to explain my problem. I'm still a beginner. Thanks.
I noticed that whenever I make edits to my app code base and run it from android studio after it launches on my connected device, it perfectly adds the newly updated features to the app, so I disconnect my phone from my laptop. But immediately I press the back key on my device(close the app) and launch the app again using the app icon from the phones launcher, it doesn't load with the updated codes anymore, it loads the previous code before the recent update.
Please what could be wrong, I'm still a beginner with flutter, I'm lost.

Development time changes with hot reload does not modify the underlying APK, it's only stored in memory. In fact, it couldn't change the APK since it must be signed in order to be opened on the phone, and tampering with it would trip the phones security checks


[Feature Request] Provide implementation for LRU cache

Least recently used (LRU) cache is a data structure which provides O(1) time access for any stored value based on a key, while having the ability to provide an O(1) access to the last used value as well. The size of the cache is limited, when this limit is reached, the oldest values will be evicted.
A possible implementation for this data structure can be found in this PR: https://github.com/esimov/gogu/pull/4
Depending on your choice, it could be merged, or you could discard it and use it as a basis of a possible future implementation.

Thanks a lot for your contribution. I don't have access to the code right now, but I will check it as soon as I can.

@Ernyoke good work, your PR has been merged back to the master branch. Thank you very much for the contribution.


osascript uses 98% CPU

I'm using the latest build. When I type "conf" the plug-in keeps showing the "Loading..." message. Activity Monitor shows osascript consuming 98% of CPU.
I've narrowed problem down to my work Calendar. If I exclude it, the plugin fetches events from my personal iCloud calendar without any issue. Please let me know what info is needed in order to diagnose and fix the issue.

@averkiev This is a duplicate of #21 (which is still open). While I don't have a fix right now, I would ask that you try the process of elimination I proposed in https://github.com/caleb531/open-conference-url/issues/21#issuecomment-1540918873:

Given that you are seeing 100% CPU on the osascript process, I am willing to bet that you have too many events across all of your calendars, and the script (or maybe just AppleScript in general) is simply unable to handle searching through that much data (even if it's only returning events for today 🤷♂).
How many calendars do you have configured on your machine? Does it make any difference if you specify all of those calendar events by name? If not, I wonder if a process-of-elimination approach would help, whereby you add/remove calendars from your workflow's "Calendars" field until you identify which calendar is causing the bottleneck.

But anyway, will repost your initial message over on that issue thread. Closing this one, but please post any updates there.


remove ensure_started, add included_applications

The application will not be started by BEAM VM if its dependencies
are not started. The best way to start an application that only
provides modules and has no processes is to have mod:[] in its
application resource and run ensure_all_started to start all
its dependencies.
However, starting this application is not strictly required if its
dependencies have been started. In our case the only dependencies are
from erts and are hence automatically started.
A convinience method start/0 is still provided
that retains existing functionality by delegating to
Application.ensure_all_started/2.
The key :included_applications in mix.exs enables build tooks such
as exrm to automatically add the listed apps to release and load them.
:poison is added here to enable good release handling.

This change is

Closing since this received no attention for a long time. Also I don't recollect what I was thinking back then, but poison should have been in applications, not included_applications. Adding it to included_applications can cause issuess if any other application depends on poison. Technically the conflict will happen only if another app also adds poison to included_applications, but it should be avoided.
Failing to add poison to applications will result in broken releases by relx/reltool etc unless poison is included either directly or by another application in the release. It should be easy to test this. Create a dummy project with just mailgun as a dependency and a dummy module in it, and try building a release. Check under lib/ and poison will be absent. Any calls to Poison will fail with {'EXIT', {undef,... indicating called function is undefined. (Since module is unavailable).


Fix broken README link

+1 LGTM.
How did this error happened though? Shouldn't the PR fail?

Yes, it should have. No idea.


Include a link to the online version.

Project is been deployed on Github pages-
Live version is added with https://
Readme.md is updated with the live version link

I have a Webhint error
Error [ERR_REQUIRE_ESM]: require() of ES Module,
I tried my best to solve the issues, but all in vain. I found one answer on Slack that it's a bug and has no solution, submit your request as it is and explain to the reviewer the matter.


Add replication code for 2nd order RBC with nonlinear adjustment costs

The basic tasks are the same as in Issues #127 and #128 , but now with an RBC modified to have adjustment costs so that nonlinearities matter. Working code is again available in a notebook: the task is to translate it into replicable experiments.
RBC with nonlinear adjustment costs
The model here is a slightly different RBC model than our original and so requires a new DSSM model compilation/etc. The model details are coming from Mlikota and Schorfheide's paper, their model 3.
This should only be estimated at 2nd order joint, as the experiments in the notebook (and some basic analysis of the model) show that the new nonlinearity parameter is not identified when the model is solved at first order, and the HMC sampler performance is bad, but it should be fine at second order at the chosen parameter values (also taken from the M&S paper).

I belive this is complete, so I close it for now.  We can generate sub-issues from it.


Idea for expanding the set of "pre" utilities

In base we have map and filter, and also mapMaybe which can do both, and concatMap that generalized a little further with the additional ability to increase the number of items.
map       :: (a ->       b) -> [a] -> [b]
filter    :: (a -> Bool   ) -> [a] -> [a]
mapMaybe  :: (a -> Maybe b) -> [a] -> [b]
concatMap :: (a -> []    b) -> [a] -> [b]

For manipulating fold inputs, we have analogs to map and filter. I think it would be quite handy to also have an analog to mapMaybe and concatMap.
premap       :: (a ->       b) -> Fold b r -> Fold a r
prefilter    :: (a -> Bool   ) -> Fold a r -> Fold a r
premapMaybe  :: (a -> Maybe b) -> Fold b r -> Fold a r
preconcatMap :: (a -> []    b) -> Fold b r -> Fold a r

An implementation for premapMaybe would be
premapMaybe f (Fold step begin done) = Fold step' begin done
 where
  step' x a = maybe x (step x) (f a)

For example, a fold that I'm currently writing as
Foldl.Fold (\set a -> maybe id Set.insert (f a) set) Set.empty id

could be then written as
Foldl.premapMaybe f Foldl.set

Sure, I would accept a PR for these.


MAINT: Avoid use of aligned_alloc in pocketfft on windows

Reference issue
https://github.com/scipy/scipy/issues/19726
What does this implement/fix?
Fixes detection of cpp standard on MSVC platforms since it does not correctly define the value of __cplusplus without command line intervention
Additional information
N/A

Thanks for the PR!
As I said in the issue, it would be nice to just be able to rely on meson for this (which works with msvc, not yet with clang-cl; though I guess we also haven't tried C++ standards beyond 14 on windows much...), but I think this is fine as a general precaution.

MSVC has become substantially better recently, but unfortunately there still seems to be a good bit of development in 14 and older: https://www.jetbrains.com/lp/devecosystem-2023/cpp/.

The detection seems to be right, but you now have this: https://developercommunity.visualstudio.com/t/c17-stdaligned-alloc缺失/468021. We could try detection for __cpp_aligned_new: https://en.cppreference.com/w/cpp/feature_test, but I don't know how extensive the MSVC support is pre-C++20.

We could try detection for __cpp_aligned_new: https://en.cppreference.com/w/cpp/feature_test, but I don't know how extensive the MSVC support is pre-C++20. It may not matter since the feature is not supported anyway.

According to their docs (also here), feature test macros are supported in all standard modes.

According to their docs (also here), feature test macros are supported in all standard modes.

Well, it can always get worse. They set the FTM to the C++17 value despite not having implemented it. 🤦

I have picked the following commit into https://github.com/conda-forge/scipy-feedstock/pull/262, and it works:
commit 640e25aefb687299d3bef06299f6c946c94aeb6a (HEAD -> conda)
Author: Matt Borland<EMAIL_ADDRESS>Date:   Tue Dec 26 06:50:21 2023 -0500

    Remove support for aligned_alloc in pocketfft for windows

    * MSVC is too non-conformant and broken...
    * Also harden detection of cpp standard on MSVC platforms

    Co-Authored-By: H. Vetinari<EMAIL_ADDRESS>
diff --git a/scipy/fft/_pocketfft/pocketfft_hdronly.h b/scipy/fft/_pocketfft/pocketfft_hdronly.h
index 8cdd16910..53e72ff53 100644
--- a/scipy/fft/_pocketfft/pocketfft_hdronly.h
+++ b/scipy/fft/_pocketfft/pocketfft_hdronly.h
@@ -149,7 +149,11 @@ template<> struct VLEN<double> { static constexpr size_t val=2; };
 #endif
 #endif

-#if __cplusplus >= 201703L
+// MSVC does not provide the standard aligned allocation functions,
+// yet _still_ sets the feature test macro (__cpp_aligned_new)...
+// While there are replacement functions (_aligned_malloc & _aligned_free),
+// those produce crashes when used here, see GH-19726
+#if __cplusplus >= 201703L && !defined(_MSC_VER)
 inline void *aligned_alloc(size_t align, size_t size)
   {
   void *ptr = ::aligned_alloc(align,size);
diff --git a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/array.hpp b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/array.hpp
index cb5045dd1..f9cc7f67d 100644
--- a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/array.hpp
+++ b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/array.hpp
@@ -8,7 +8,7 @@

 namespace fast_matrix_market {

-#if __cplusplus >= 202002L
+#if __cplusplus >= 202002L || _MSVC_LANG+0L >= 202002L
     // If available, use C++20 concepts for programmer clarity and better error messages.
     // If not using C++20 this shows what fast_matrix_market expects each template type to support.

diff --git a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/doublet.hpp b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/doublet.hpp
index 88c11aef0..ba16189a9 100644
--- a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/doublet.hpp
+++ b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/doublet.hpp
@@ -7,7 +7,7 @@
 #include "../fast_matrix_market.hpp"

 namespace fast_matrix_market {
-#if __cplusplus >= 202002L
+#if __cplusplus >= 202002L || _MSVC_LANG+0L >= 202002L
     // If available, use C++20 concepts for programmer clarity.
     // This shows what fast_matrix_market expects each template type to support.

diff --git a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/triplet.hpp b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/triplet.hpp
index 871305c3e..00b7abd9a 100644
--- a/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/triplet.hpp
+++ b/scipy/io/_fast_matrix_market/fast_matrix_market/include/fast_matrix_market/app/triplet.hpp
@@ -7,7 +7,7 @@
 #include "../fast_matrix_market.hpp"

 namespace fast_matrix_market {
-#if __cplusplus >= 202002L
+#if __cplusplus >= 202002L || _MSVC_LANG+0L >= 202002L
     // If available, use C++20 concepts for programmer clarity.
     // This shows what fast_matrix_market expects each template type to support.

That doesn't mean we have to take exactly that commit, I just wanted to test a variant along the lines of what I had in mind. If you want, I can also push it into this branch. Also happy to wait for other reviewers to chime in.
PS. I decided against the comments in _fast_matrix_market; in that case I think looking at the git history and finding this PR should be enough.

If it solves the issue I'm good with the patch being merged in. I did not expect this issue to require nearly this much iteration...

This patch looks good, thanks to both of you for getting to the bottom of this.
We should ensure it's fixed upstream as well, to avoid problems in other packages or overwriting the fix in the future. Cc @mreineck for pocketfft and @alugowski for fast_matrix_market. Could you have a look at this and take over the fix in your packages if applicable there?

Looks like we're good to squash-merge this and backport to 1.12.x. I plan to do so soon unless there are more comments (or @h-vetinari beats me to it here).

Good catch, I've upstreamed the change to stand-alone fast_matrix_market.

Thanks for the heads-up!
Just for my understanding: the first change to pocketfft is purely cosmetic and does not change behavior at all, correct?
(It's still much cleaner, so I'm happy to port it over!)
The second change is already implemented upstream, as far as I can see; the line in question currently reads
#if (__cplusplus >= 201703L) && (!defined(__MINGW32__)) && (!defined(_MSC_VER))
In the successor package I've decided to only rely on my own aligned allocation function; the number of platforms doing this in weird ways or not at all is just too large.

Thanks for the heads-up!
Just for my understanding: the first change to pocketfft is purely cosmetic and does not change behavior at all, correct? (It's still much cleaner, so I'm happy to port it over!)

Yes; If you compile with -Wundef it'll fix that warning.

The second change is already implemented upstream, as far as I can see; the line in question currently reads
#if (__cplusplus >= 201703L) && (!defined(__MINGW32__)) && (!defined(_MSC_VER))
In the successor package I've decided to only rely on my own aligned allocation function; the number of platforms doing this in weird ways or not at all is just too large.

This stemmed from Clang-Cl which I don't think is covered by those macros so moving to your own implementation is likely better.


REQUEST

HI. I'm using a tismart-ds866 and also a Huawei Me909s-821 Modem. My device doesn't support dual ethernet (lan+wan) so I can't connect to the internet. can you add some packages so that my huawei Me909s-821 modem can be detected on the interface? just add a few packages ( kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi luci-proto-qmi
kmod-usb-net-cdc-ether kmod-usb-serial-option kmod-usb-serial kmod-usb-serial-wwan qmi-utils
kmod-usb-serial-qualcomm kmod-usb-acm kmod-usb-net-cdc-ncm kmod-usb-net-cdc-mbim umbim
modemmanager luci-proto-modemmanager usbutils ) I've tried to install it manually but failed.

你是什么设备，x86?

Yes. X86

Sorry, I added network card driver to the RockChip platform last time. I forgot to add it to the X86 platform. I add now

Sorry, I added network card driver to the RockChip platform last time. I forgot to add it to the X86 platform. I add now

Oke. Thanks


regression in README parsing

As of https://github.com/rust-lang/rust/pull/73198 (presumably https://github.com/rust-lang/cargo/pull/8277), Cargo fails to find README in some published crates, leading to failures at build time:
error: failed to download `encoding-index-japanese v1.20141219.5`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `/home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/encoding-index-japanese-1.20141219.5/Cargo.toml`

Caused by:
  readme file with name '../../../README.md' was not found

Reproduction:
$ cp -pri ~/.cargo/registry/src/github.com-*/encoding-index-japanese-1.20141219.5 ./
$ cd encoding-index-japanese-1.20141219.5
$ cargo read-manifest
error: failed to parse manifest at `/tmp/tmp.8aqcVQDq2K/encoding-index-japanese-1.20141219.5/Cargo.toml`

Caused by:
  readme file with name '../../../README.md' was not found

Note that this hasn't hit nightly yet but it's likely too late to revert it before it does. This is breaking rustc-perf at least (and probably lots of other places that depend on crates published without READMEs included).

I'll take a look.

Just going to reopen until the next nightly is published.

Yup.  We saw this in our CI/CD systems this morning.  Caused quite a stir and a ton of lost time debugging until we realized it was the nightly version.   Unfortunate this crept in.  Are the no tests for this regression in place?  Should we add them?

A smoke test is being added to https://github.com/rust-lang/rust/pull/73267 to catch issues like this.

This should be fixed now.


Treks PDS4 Demo

🗒 Summary
Add a titan treks demo gui for using gis services found in the pds registry
⚙ Test Data and/or Report

♻ Related Issues

fixes: NASA-PDS/registry#286

Hi @mattanikiej ,
can you add pre-requistes in the README:
1. a reference to the script that one should use to create the PDS4 labels

2. a reference to the registry docker compose which need to be started and labels needs to be loaded with harvest.

Just added references to the prereq section. Let me know if it's enough.