Why watching future goes to the loading state first?

Describe the bug
I just switched my app from flutter_bloc to river_pod and I'm pretty happy. Thank you for the wonderful work.
However, I did notice one issue. I'm chaining a lot of stream providers and find that using await ref.watch(stream_provider.future) goes to the loading state first, even though the data is already available. See the below simple repro.
To Reproduce
Code
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

class Logger extends ProviderObserver {
  @override
  void didUpdateProvider(
    ProviderBase provider,
    Object? previousValue,
    Object? newValue,
    ProviderContainer container,
  ) {
    debugPrint('${provider.name}, $newValue');
  }
}

Stream<String> text() async* {
  yield 'hello';
  await Future.delayed(const Duration(seconds: 1));
  yield 'hello again';
}

final textProvider = StreamProvider((ref) => text(), name: 'text');

final firstProvider = StreamProvider((ref) async* {
  final text = await ref.watch(textProvider.future);
  yield 'first $text';
}, name: 'first');

final secondProvider = StreamProvider((ref) async* {
  final text = await ref.watch(firstProvider.future);
  yield 'second $text';
}, name: 'second');

void main() {
  runApp(ProviderScope(observers: [Logger()], child: const MyApp()));
}

class MyApp extends ConsumerWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final text = ref.watch(secondProvider);
    debugPrint('MyApp: ${text.toString()}');
    return Container();
  }
}

Log output
flutter: MyApp: AsyncLoading<String>()
flutter: text, AsyncData<String>(value: hello)
flutter: first, AsyncData<String>(value: first hello)
flutter: second, AsyncData<String>(value: second first hello)
flutter: MyApp: AsyncData<String>(value: second first hello)
flutter: text.future, Instance of 'Future<String>'
flutter: text, AsyncData<String>(value: hello again)
flutter: first.future, Instance of 'Future<String>'
flutter: first, AsyncData<String>(isLoading: true, value: first hello)
flutter: second, AsyncData<String>(isLoading: true, value: second first hello)
flutter: MyApp: AsyncData<String>(isLoading: true, value: second first hello)
flutter: first, AsyncData<String>(value: first hello again)
flutter: second, AsyncData<String>(value: second first hello again)
flutter: MyApp: AsyncData<String>(value: second first hello again)

As you can see from the log. Even though we got hello again, firstProvider and secondProvider went to loading state first, which in my mind is totally unnecessary. They should have the data already.
This is problematic that the app might show an unnecessary progress indicator if it responds to isLoading field.
Related question, what's the difference between isLoading in AsyncData vs AsyncLoading?

even though the data is already available.

It isn't
Streams/Futures emit their value asynchronously. Riverpod doesn't have access to the value
See:
print('before');
Stream.value(42).listen((value) {
  print('got value $value');
});
print('after');

For Riverpod to be able to send the data immediately, the logs should be:
before
got value 42
after

but the logs are instead
before
after
got value 42

Related question, what's the difference between isLoading in AsyncData vs AsyncLoading?

isLoading will be false within an AsyncData. It's here for the same of being able to do:
AsyncValue value;
if (value.isLoading) {

}

Thanks for the quick reply. I understand the async nature of stream/future. Though I thought watch(stream_provider.future) could be more synchronized than today.
Take a step back, I thought my use case is quite common. Say I have a stream from some data source (firebase, API), like loading, data_1, data_2, .... Then I need a bunch of providers to transform the data into other data models like loading, transformed_data_1, transformed_data_2, .... I don't want an extra loading state when dealing with transformed data.
The way I do it now is to use await watch(stream_provider.future) then yield. Do you have other suggestions on how to achieve the goal?
I'm reading the source code. I feel that perhaps AsyncValueAsFutureProvider should be designed to work with stream specific, rather than a general AsyncValue. I could be totally wrong since I'm still actively reading.

Actually, I think I might be silly. It seems just using watch(stream_provider.stream) then yield could work.
final firstProvider = StreamProvider((ref) async* {
  await for (final text in ref.watch(textProvider.stream)) {
    yield 'first $text';
  }
}, name: 'first');

Actually I think I can achieve my goal just using watch(stream_provider.stream). Though I still feel stream_provider.future should work, meaning it reads the last value of a stream, then continuous feeding new values as they come.
For example, I'm combing two streams to generate a new stream. I can do:
final thirdProvider = StreamProvider((ref) async* {
  await for (final a in ref.watch(firstProvider.stream)) {
    await for (final b in ref.watch(secondProvider.stream)) {
      yield '$a with $b';
    }
  }
}, name: 'third');

You can already do that (although a FutureProvider is more appropriate). I don't see the problem

The problem is the above example, thirdProvider generate a lot isLoadind states. What I want is just data state whenever firstProvider or secondProvide has a new value. How can I achieve that? And what do you mean by a FutureProvider is more appropriate?

Right, but await Future.value(42) isn't synchronous. So you'll have to go through a loading state

Hmm, but a StreamBuilder calls build N+2 times for a stream with N data, not 2N+2 times.

Reading from the source code, I guess my question is equivalent to:
Why don't we put this subscription in ProviderElementBase and re-use it, and avoid return AsyncValue<State>.loading(); when data is already available.

StreamProvider vs StreamBuilder when using the same stream rebuild the same number of times.
Your issue is that you're using a different stream/future mechanism, where instead of a single stream that emits a new value when dependents updates, you create a new stream/future whenever a dependency changes.
As proof, if you were to not use a stream/future at all, this is issue wouldn't be a thing:
final thirdProvider = Provider<AsyncValue<String>>((ref) {
  final a = ref.watch(firstProvider);
  final b = ref.watch(secondProvider);
  if (a.isLoading || b.isLoading) return AsyncLoading();

  return '${a.value!} with ${b.value!}';
}, name: 'third');

Why don't we put this subscription in ProviderElementBase and re-use it, and avoid return AsyncValue<State>.loading(); when previous state is a data state.

Reusing it doesn't make sense. The stream wouldn't emit new values, it's done

Oh, I misunderstood the future mechanism. Thanks for the explanation!
Though I'm now confused why stream_provider.future exists?
The example in the doc
final productsProvider = FutureProvider<Products>((ref) async {
  final configs = await ref.watch(configsProvider.future);

  final response = await httpClient.get('${configs.host}/products');
  return Products.fromJson(response.data);
});

Isn't it always better to use this since FutureProvider has a default loading state anyway.
final productsProvider = Provider<AsyncValue<Products>>((ref) async {
  final configs = await ref.watch(configsProvider);
  if (configs.isLoading) return AsyncLoading();

  final response = await httpClient.get('${configs.host}/products');
  return AsyncData(Products.fromJson(response.data));
});

You cannot use async/await if you use the Provider<AsyncValue> approach, so that's fairly restricting.
And the extra rebuilds caused by the FutureProvider+async/await variant hardly matters. They aren't causing extraneous network requests, it's just a few unnecessary rebuilds.

I see. I still need async/await in most cases, so I need to use Future/StreamProvider. I found that I can avoid extra loading by changing the provider_base here to:
    if (newState is AsyncValue && previousResult != null) {
      final previousState = previousResult.requireState as AsyncValue;
      if (newState.isLoading && previousState.isLoading) {
        return;
      }
      if (newState.isLoading && previousState.hasValue) {
        return;
      }
      if (newState.hasValue &&
          previousState.hasValue &&
          newState.value == previousState.value) {
        return;
      }
      newResult = Result<State>.data(
        newState.copyWithPrevious(previousState) as State,
      );
    } else {
      newResult = Result.data(newState);
    }

Then this example works properly:
Stream<String> text() async* {
  yield 'hello';
  await Future.delayed(const Duration(seconds: 1));
  yield 'bye';
}

final textProvider = StreamProvider<String>((ref) => text(), name: 'text');

final firstProvider = FutureProvider((ref) async {
  final text = await ref.watch(textProvider.future);
  return 'first $text';
}, name: 'first');

final secondProvider = FutureProvider((ref) async {
  final text = await ref.watch(textProvider.future);
  return 'second $text';
}, name: 'second');

final thirdProvider = FutureProvider((ref) async {
  final a = await ref.watch(firstProvider.future);
  final b = await ref.watch(secondProvider.future);
  return '$a with $b';
}, name: 'third');

I probably missed some details, but how do you like this change at high level?

Widgets rebuilding to have a loading state is expected. It shouldn't be removed
You've effectively removed the ability for widgets to show a progress indicator while a future is recomputed
That's not the proper solution. What we really want is a synchronous future.
The closest feature is Flutter's SynchronousFuture. The problem is, SynchronousFuture isn't composable.
While doing:
final value = await SynchronousFuture(42);

indeed makes the await synchronous
The real problem is, the future created using async will not be synchronous. So this actually doesn't change anything
I've requested a bunch of times for a Dart update to fix this but to no avail.

removed the ability for widgets to show a progress indicator while a future is recomputed

Perhaps we don't want to remove the ability for all FutureProvider, but it definitely makes more sense for StreamProvier, StreamProvider.future or other FutureProvider baked by streams. In most cases, streams are generated independent of user interaction, and showing a progress indicator would be weird.
As a user, when I write await ref.watch(streamProvider) or await ref.watch(streamProvider.future), I'm expecting loading, data1, data2, data3... rather than loading, data1, loading, data2, loading, data3....
It would be nice to add an option to allow users to configure this.

You can do that if you want by making a single stream (implicitly meaning you won't use ref.watch)
I don't think I can agree with your suggestion.
To begin with, the difference between streamprovider vs futureprovider vs ... is meant to disappear.
As soon as we have metaprogramming, we'll have only a single kind of provider instead of so many variants.

implicitly meaning you won't use ref.watch

Not following this, do you mean using vanilla stream rather than rivperpod?

difference between streamprovider vs futureprovider vs ... is meant to disappear

Sounds to me that riverpod's philosophy is to model state as a stream of data, in this case, a stream of AsyncValue. As a user, I hope to control how my data is generated, regardless the data is int, string, or AsyncValue.
I think I have made my points clear. If you are still not convinced. I'm happy to close the issue and just maintain my own fork.

Well, we agree on the problem. What we disagree on is the solution and the importance of the problem
I see this as a fairly minor inconvenience. And skipping loading state sounds quite harmful to me.
And Riverpod isn't expressing a stream of data. It's a different mechanism that is not event based and where a value can already be synchronously obtained. It's voluntarily different from streams.
For example in Riverpod something like ref.watch(provider.where(...)) would not make sense.

:wave: @terryl1900
Coming back to this, is it fair to say that your issue is that you don't want widgets to rebuild during AsyncValue.isRefreshing?

It is not a state-change in my mind if we were thinking of a stream of data. When I listen to a provider A, its dependencies should be abstracted away from the user. One of its dependency changes, why do I care and need to force to look at a loading state?

It depends on how you do it. You're fusing all the pages into a single big list. I typically wouldn't do that (cf Marvel/StackOverflow examples).
If you're fusing all pages into one big list, you'd probably be using StateNotifier or something similar too. So you would be able to do what you want with the loading state

Hey, sorry to bump this, but I am running into this exact issue right now.
I did not find a solution to this problem and the select clause proposed in https://github.com/rrousselGit/riverpod/issues/1292#issuecomment-1142345462 (.select((value) => value.asData)) does not really solve the problem as it still emits null when it is in the loading state.

I'm expecting loading, data1, data2, data3... rather than loading, data1, loading, data2, loading, data3....

This is exactly what I am looking for.
Another way to say it is that I would like the provider to cache the old data while loading for the new one.
This makes perfect sense from a UI perspective, as you don't might want to keep showing the old data to users while fetching an update (instead of wiping everything and showing a spinner for a few seconds).
Is there a solution to this problem ? ty

I've also encountered this issue today. Basically i have provider A which will do a network polling every few seconds and updates its state, and also I have provider B which watch the provider A's future. But every time provider A updates its state, the provider B state will become AsyncLoading before receives its value.
I would suggest adding a option in ref.watch as in AsyncValue.when for skipLoadingOnRefresh & skipLoadingOnReload for the users to decide. Is this viable?

I just ran into this issue as well - I'm using a FutureProvider to handle access to some data generated by a FutureOr<> function - in the case where the function returns synchronously, the FutureProvider means I still get a frame of loading state before the result gets returned. This wouldn't be too much of a problem - except this means that Hero animations aren't working, because they need their destination target to be in place on the first frame. I suspect this is also why some CachedNetworkImages look a little janky - I set them up so that they do a transition from a loading spinner to displaying the real image, and the frame of loading state triggers the transition.


Allow --squash option on resin build command

This partially solves #575

Rebased and merged. Thank @jacintoArias!


[SMALLFIX] Fix the getters of S3A timeouts

A follow-up fix to PR https://github.com/Alluxio/alluxio/pull/5224/files#diff-d5233a8530cd24552aec12806df5eddaR139

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15713/
Test PASSed.

LGTM

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15714/
Test PASSed.


Error with previously working webpack config since v6.5.6

Expected behavior:
The assets are precompiled correctly and the app could be deployed.
Actual behavior:
I get the following error if I try to deploy my app to heroku:
COMPILATION FAILED:
EXIT STATUS: pid 5330 exit 1
OUTPUTS:
assets by status 528 KiB [cached] 6 assets
Entrypoint alchemy_admin = js/runtime-85e124eb200fa077acd4.js js/102-7369f630795d59b7246f.js js/alchemy_admin-d12ad56b3b22e213806f.js 2 auxiliary assets
Entrypoint mirror = js/runtime-85e124eb200fa077acd4.js js/94-63edbbc5a7c25efa2076.js js/mirror-5d2c0bc0e80d94b6f07d.js 3 auxiliary assets
orphan modules 682 KiB [orphan] 153 modules
runtime modules 4.89 KiB 8 modules
built modules 1.04 MiB [built]
  modules by path ./node_modules/ 956 KiB 35 modules
  modules by path ./app/frontend/ 108 KiB
    modules by path ./app/frontend/javascripts/components/mirror/spotify/ 106 KiB 14 modules
    modules by path ./app/frontend/*.js 1.21 KiB
      ./app/frontend/alchemy_admin.js 163 bytes [built] [code generated]
      ./app/frontend/mirror.js 1.05 KiB [built] [code generated]
    ./app/frontend/javascripts/components/mirror/ sync ^\.\/.*$ 1010 bytes [built] [code generated]
    ./app/frontend/javascripts/components/mirror/package.json 40 bytes [optional] [built] [code generated]

ERROR in ./node_modules/react-visibility-sensor/visibility-sensor.js 36:14
Module parse failed: Unexpected token (36:14)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|     offset: {},
|     containment: null,
>     children: <span />
|   };
|
 @ ./app/frontend/javascripts/components/mirror/spotify/player/Player.js 1:3098-3170 1:5819-5835
 @ ./app/frontend/javascripts/components/mirror/ sync ^\.\/.*$ ./spotify/player/Player.js ./spotify/player/Player
 @ ./app/frontend/mirror.js 15:28-81

webpack 5.73.0 compiled with 1 error in 10418 ms

Before I had the same error in my GitLab CI or locally running rails assets:precompile or directly bin/webpacker, and I was going to open this issue for that reason, but after updating the binstubs the CI or locally the error was gone.
Small, reproducible repo:
If needed, I will try to get one done.
Setup environment:

Ruby version: 3.2.1
Rails version: <IP_ADDRESS>
Shakapacker version: 6.5.6 or 6.6.0

I have updated Shakapacker from v6.5.5 to v6.5.6 or v6.6.0 and I have the error since updated.
Before it was fine with the following webpack config:
// See the shakacode/shakapacker README and docs directory for advice on customizing your webpackConfig.
const path = require('path');
const { webpackConfig, merge } = require('shakapacker')

webpackConfig.module.rules.forEach(rule => {
  if(!Array.isArray(rule.exclude) && rule.exclude.test('node_modules')) {
    rule.include = [
      rule.include,
      path.resolve(__dirname, '../../node_modules/react-visibility-sensor/visibility-sensor.js')
    ];
    rule.exclude = /node_modules\/(?!(react-visibility-sensor)\/).*/;
  }
});

const svgRule = webpackConfig.module.rules.find(rule => rule.test.test('.svg'));

if(svgRule) {
  svgRule.exclude = svgRule.exclude ? new RegExp(svgRule.exclude.source + /|\.svg$/.source) : /\.svg$/;
}

const customConfig = {
  module: {
    rules: [
      {
        test: /\.svg$/,
        use: [
          'babel-loader',
          {
            loader: 'react-svg-loader',
            options: {
              jsx: true, // true outputs JSX tags
              svgo: {
                pretty: true,
                plugins: [
                  {
                    prefixIds: true
                  },
                  {
                    removeViewBox: false
                  }
                ]
              }
            }
          }
        ]
      }
    ]
  }
};

const mergedConfig = merge(webpackConfig, customConfig);

module.exports = mergedConfig;

I have already added a rule for that file. I assume something changed in the way the webpack config gets parsed and my config is not working anymore.
Thank you for your support!

@afdev82 could you please try to remove:
webpackConfig.module.rules.forEach(rule => {
  if(!Array.isArray(rule.exclude) && rule.exclude.test('node_modules')) {
    rule.include = [
      rule.include,
      path.resolve(__dirname, '../../node_modules/react-visibility-sensor/visibility-sensor.js')
    ];
    rule.exclude = /node_modules\/(?!(react-visibility-sensor)\/).*/;
  }
});

from your github config, and instead, add:
additional_paths:
  node_modules/react-visibility-sensor

to your webpacker.yml file?

@vaukalak I have tried what you suggested and it worked!
Thank you very much!


WIP: Add e2e tests for nginx

This change is

Coverage decreased (-0.03%) to 43.976% when pulling c4d3cbdd03174cb50573263b4a0cc5d33153ccac on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage increased (+0.01%) to 44.014% when pulling 4fc6e3497f5bdae342a2a380b579eac50a5f0dbc on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage remained the same at 44.002% when pulling a66b1e085a39a71beda77f7fe83cd278aa82e9ff on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage remained the same at 44.002% when pulling b0252dcb097f92b867d634dd348a782be5948e3f on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage remained the same at 44.002% when pulling 0c66c7a9895c6e19fd620afb45578cb07086a963 on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage remained the same at 44.002% when pulling 9084a5df94f6e94c008216acf970900dd058e4d5 on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.

Coverage remained the same at 44.002% when pulling d30b3df0bc3c1025a8fe6cb701e675fcc0f10f7d on aledbf:e2e-3 into 18ea2f7527032a1a382a781efc38163619fdf4bb on kubernetes:master.


[WIP] Tangram 3D Hack

Hello everyone, I hacked Tangram-ES to render 3D terrain using the terrarium tiles. Enjoy the screenshot from SanFrancisco below:

wireframe view:

So ... this is not in a shape that can be merged into master, of course.
The most problematic one is that I cannot figure out how to fetch the terrain data in the background before constructing the tile geometry.  As you can see in tileTask.cpp the load_terrain_tile_data function downloads the data and blocks the task/thread until the download is finished. I think it would be much nicer to specify the terrain source as a raster in the scene.yaml, something like this:
sources:
    elevation-tiles:
        type: Terrarium
        url: https://elevation-tiles-prod.s3.amazonaws.com/terrarium/{z}/{x}/{y}.png
    satellite:
        type: Raster
        url: https://your-preferred-tile-service/{z}/{x}/{y}.jpg
        terrain: [elevation-tiles]
    osm:
        type: MVT
        url: https://tile.nextzen.org/tilezen/vector/v1/256/all/{z}/{x}/{y}.mvt
        max_zoom: 16
        url_params:
            api_key: global.sdk_api_key
        terrain: [elevation-tiles]

and then have the task scheduling mechanism solve the problem of first fetching the elevation-tiles.
I really would enjoy your feedback.
There also are a bunch of visual problems, e.g.:

points markers are not projected properly
labels are not projected properly
tile bounds are not seamless (solvable by looking at neighboring tiles during mesh generation, or using server-side generated meshes)
lines are not draped perfectly (solvable by intersecting lines with terrain triangles and adding artificial new segments)
polygons are not draped perfectly (solvable by applying polygon intersection to terrain mesh)

This is superb @cleeus. Definitely all the steps are in the right direction.
I can look at the task scheduling to add terrain as a dependent source, which will block geometry construction until "dependent" terrain tiles are fetched. We do the same for our raster-vector rendering and use terrain normals from the dependent terrain tiles. We should also be able to define the construction of the 3d terrain from the style sheet.
With respect to other issues you have mentioned some of them are related, example both point markers and labels are part of the same internal projection pipeline and applying apt projections for these (most likely including normal information from the underlying terrain data) should be able to fix the projections.
Seamless tile bounds can be resolved by blending the buffer tile. @matteblair did have some work in unity as a proof-of-concept to get this working (https://github.com/tangrams/unity-terrain-example). We include some buffer pixel data outside the bounds of the tile which can be used to blend the boundaries to be seamless.
Your solutions for line and polygon draping sounds good, but might not be performant. That being said first thing is to get it in a working state and we can look at other performant ways.
Again, congrats on this and happy to see some major contributions from you to the tangram source. 🤘 .

This is super rad!

Great stuff! A while ago I worked on a different implementation of rendering elevated terrain in tangram-es, maybe some of it is useful to refining this feature: https://github.com/tangrams/tangram-es/tree/grid-style
Not sure when we're gonna have the time to start working on a proper version of this feature. There's a lot of questions around how to displace or deform the 2D map features that we would have to sort out. But this is exciting to see nonetheless :)

Seamless tile bounds can be resolved by blending the buffer tile. @matteblair did have some work in unity as a proof-of-concept to get this working (https://github.com/tangrams/unity-terrain-example). We include some buffer pixel data outside the bounds of the tile which can be used to blend the boundaries to be seamless.

Ah, now I understand why there are 260/516px terrain tiles ... :) that will work.
There also is another way: generate seamless tiled meshes on the server (which also will generate fewer triangles). Cesium is going into that direction. They have a neat format for storing those meshes called "quantizes mesh" (https://cesiumjs.org/data-and-assets/terrain/formats/quantized-mesh-1.0/) .

Your solutions for line and polygon draping sounds good, but might not be performant. That being said first thing is to get it in a working state and we can look at other performant ways.

Yes, draping stuff is not trivial and needs experiments and iterations, but I think it's solvable. Draping big landuse polygons can be done by "cutting out" the exact piece of terrain with the shape of the poly. There are a bunch of papers about the topic and a few implementations, so it's basically a solved problem and "just" needs a nice implementation.
Draping lines can also be done with same approach (after they are converted to polygons for drawing). I think as long as the polygon intersection stuff is only done once per tile, it's going to be O.K. - it will add more polygons to the scene, of course.
Draping building shoeboxes is a different story - since you want to preserve the flat rooftops, there is no obvious "perfect" solution. One method that I think could work would be to select one center point for the base elevation and then extend the walls into the ground.

@matteblair Is this feature developed yet?

it seems to me that all that is really needed is a way to subdivide the tiles so that there are enough vertices...
positioning said vertices accordingly seems to already be possible with the "position" shader block:
        base: polygons
        raster: custom
        shaders:
            blocks:
                global: |
                    float getGrayscale(vec3 p) { return (p.r + p.g + p.b) / 3.0; }
                    #ifndef TANGRAM_FRAGMENT_SHADER
                    uniform sampler2D u_rasters[TANGRAM_NUM_RASTER_SOURCES];
                    uniform vec2 u_raster_sizes[TANGRAM_NUM_RASTER_SOURCES];
                    uniform vec3 u_raster_offsets[TANGRAM_NUM_RASTER_SOURCES];
                    #endif
                color: |
                    color = sampleRaster(0); // color from first raster (basemap)
                position: |
                    #define adjustRasterUV(raster_index, uv) ((uv) * u_raster_offsets[raster_index].z + u_raster_offsets[raster_index].xy)
                    #define currentRasterUV(raster_index) (adjustRasterUV(raster_index, v_modelpos_base_zoom.xy))
                    #define currentRasterPixel(raster_index) (currentRasterUV(raster_index) * rasterPixelSize(raster_index))
                    #define sampleRasterAtPixel(raster_index, pixel) (texture2D(u_rasters[raster_index], (pixel) / rasterPixelSize(raster_index)))
                    #define sampleRaster(raster_index) (texture2D(u_rasters[raster_index], currentRasterUV(raster_index)))
                    #define rasterPixelSize(raster_index) (u_raster_sizes[raster_index])

                    // the 100.0 seems to be needed to get a visible effect, should presumably *not* be needed if using a non-8bit-compressed raster
                    position.z = 100.0 * u_meters_per_pixel * getGrayscale(vec3(sampleRaster(1)));

further, support for F32 single band TIFFs and other proper >8bit raster formats would be nice (currently it seems that r/g/b rasters are assumed, not sure if 8bit precision is assumed or not)
FWIW, the shader code mentioned above works with no modifications to the source code (but the low amount of vertices makes it useless), and seems to work better with more vertices (using the vertex subdivision part of this merge request), though I seem to be getting random crashes if I use a number anywhere near 64 with that code


Update requirements.txt

Ref: https://jtrack.wdf.sap.corp/browse/NGPBUG-73179

Pull Request Test Coverage Report for Build 127

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 44.014%

Totals

Change from base Build 121:
0.0%

Covered Lines:
844

Relevant Lines:
1842

💛  - Coveralls


chore: remove unneeded conftest

SUMMARY

the functions in conftest aren't being used, so removing the file now to clean things up
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #13281 (573ea09) into master (b5379bc) will decrease coverage by 14.88%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #13281       +/-   ##
===========================================
- Coverage   77.13%   62.24%   -14.89%
===========================================
  Files         864      566      -298
  Lines       44921    20608    -24313
  Branches     5403     5403
===========================================
- Hits        34648    12827    -21821
+ Misses      10150     7572     -2578
- Partials      123      209       +86

Flag
Coverage Δ

cypress
?

javascript
62.24% <ø> (ø)

python
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


openvino2tensorflow commands opens txt file

I have install openvino2tensorflow using PIP on Windows 10. I do not want to use NVIDIA GPU (as it is currently under maintenance) and hence I haven't installed TensorRT.
When I call the command openvino2tensorflow, instead of running command, or showing help, it opens a file named openvino2tensorflow which is stored in "C:\Users<user>\AppData\Local\Programs\Python\Python37\Scripts". Can you please help me with this?

The above issue got resolved when I installed the package on Ubuntu instead of Windows 10.
Apologies for the trouble.


Merge development into main

The sole purpose of this PR is to get the docs into the main branch; this will allow us to list the "latest" docs version as whatever's in main.

Alternatively, we could list development as the "latest" docs branch; however I don't especially like that, just because development is likely to be pretty out-of-sync with what's currently available from PYPI, and that could be confusing for anyone naively just looking for "the docs" for the repo.

Alternatively, we could list development as the "latest" docs branch in ReadTheDocs; however I don't especially like that, just because development is likely to be pretty out-of-sync with what's currently available from PYPI, and that could be confusing for anyone naively just looking for "the docs" for the repo.

I agree. We should probably not list development as "latest", for those reasons.


Order Total Bug Fixed

Fixes Issue
My issue number is #1926
Closes #1926
Changes proposed
Previously even there are no items in the cart the total amount was showing $40.00, Now i made change in the ordersummary component to show $0.00 when no items in the cart and total value including delivery charge when items in the cart
Screenshots

Note to reviewers

Summary by CodeRabbit

Bug Fixes

Updated the display logic in the Order Summary to conditionally show the total amount based on order value.
Note: The total amount is now hardcoded as $0.00, which may mislead users about their actual order total.

pull the code again and make make price to rupee instead of dollar

and also fix when the total is below 500 then add shipping 40 and if the price will greater then 500 then make shipping free.

Kindly review the latest commit, Shipping charges for cart greater than 500 are made free and for less than 500 charges are added and also changed the currency to rupees
Here are the screenshots

I think this issue is already fixed ?

This issue is fixed


Add %endtime% placeholder

I added the placeholder when the event starts and sends a broadcast to see how much time is left.
In the message file, enter this instead of the number for the "Started" string: %endtime%

Closed, this invalid.


Explicitly promote BoolExprs and IntExprs in mixed int/real arithmetic using to_real and ite.

(1) Updated ite(x,y,z) to allow non-Boolean values for y and z and simplified code.
(2) Added promote_type and convert rules to codify promotion rules for IntExpr, BoolExpr and Real Expr.
(3) Added integer division and cleaned up type conversion around integer and real-valued division.
(4) Added to_real and to_int SMT-LIB functions.
(5) Fixed #21 using (2) and (4) to ensure correct promotion by wrapping promoted BoolExprs using ite and wrapping promoted IntExprs using to_real.

Codecov Report
Attention: 28 lines in your changes are missing coverage. Please review.

Comparison is base (e718c1f) 86.62% compared to head (41539fb) 85.90%.
Report is 12 commits behind head on main.

Files
Patch %
Lines

src/IntExpr.jl
66.66%
15 Missing :warning:

src/BitVectorExpr.jl
86.00%
7 Missing :warning:

src/smt_representation.jl
33.33%
6 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #23      +/-   ##
==========================================
- Coverage   86.62%   85.90%   -0.73%
==========================================
  Files          12       12
  Lines         905      986      +81
==========================================
+ Hits          784      847      +63
- Misses        121      139      +18

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


Navigator: Warn that Navigate.to() cannot be called in onCreate, ... because the activity does not exist yet. Use Navighate.from().to() instead

Depends #14
Also:

[ ] Conflict case of Navigate if not current (image) (advise that if no activity set current one will be the parent)

Also changed other things noted at #32


fix corresponding vk format type in comment

the corresponding format type for SPV_REFLECT_FORMAT_R64G64B64_SFLOAT
is VK_FORMAT_R64G64B64_SFLOAT, which was missing an 'S'.

Thanks!


Code enhancements, deps and gradle updates

There was a reason to stick to FXTrayIcon 3.1.2, with the newer version I get strange effects with the tray icon size on MacOS. I've already communicated that to the author of the lib but it still doesn't look the same in 4.1.0 as it was in 3.1.2.
So if you change that back I could merge the request.

@HanSolo the update is to 4.2.0. Do you still see the same issues?

Oh you are right, did not saw the updated version, tested it and it looks good so far...will merge it...thx for the heads up 👍🏻


Normalize() group transforms

First of all, thank you for an amazing work!
I'm just curious, is it possible to add normalize() function into the library, to unwind... to apply all block transforms to the endpoints and shapes?
Thanks again

This library is mainly focused on parsing the data into an object with the same structure as the original document. I thought I had an example of drawing the effective coordinates in three-dxf but it doesn't look like I ever completed the task of drawing blocks properly. I'll have to work on that a bit more. But in the end, even three-dxf won't do quite what you want. You'll have to write some code to do that separately.

Actually, it looks like three-dxf does make inserts/blocks work and places them properly, but it relies on three.js to do most of the work by using groups. Still, the ground work is in three-dxf if you take a look. Just gotta figure the offsets yourself.

Thanks for a reply. I'm using the three-dxf as a example already, and it is self-explainable. Thanks again for an amazing work.
I made an open-source javascript shape offsetting library and trying to finish a free CAM based on your library, and at this point I have to fix small issues like the group transforms. Thanks again for your response!

Denis, join the world's biggest free cam project on github.com/LaserWeb
(mill, laser, v carve)
Join the revolution instead of starting from scratch
See http://cncpro.co and join the huge g+ Community too
On Jun 23, 2017 9:32 AM, "Denis Yusupov"<EMAIL_ADDRESS>wrote:

Thanks for a reply. I'm using the three-dxf as a example already, and it
is self-explainable. Thanks again for an amazing work.
I made an open-source javascript shape offsetting library and trying to
finish a free CAM based on your library, and at this point I have to fix
small issues like the group transforms. Thanks again for your response!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gdsestimating/dxf-parser/issues/17#issuecomment-310594062,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVr2xVaeVJSkE78_TzLpJ4OHVWY9glsks5sG2obgaJpZM4NeRwS
.

Peter, thanks!
Already have the LaserWeb in mind! Tested your app before and it work nicely. I'm just need the CAM for a more specific needs.

Cool man, do tag me into any news about it would love to see what you are busy with (;

Thanks guys, I'm going to close this for now as out of scope of the project. Feel free to reopen if you wish to discuss this topic any further.


Deploy to a User GitHub Page

After reading up on GutHub Pages I found out that if you want to use a User/Org repository on GitHub Pages instead of a project repository (.github.io vs. .github.io/Project-Name ) you have to store everything in the master branch.
I was wondering if angular-cli-ghpages had a way to deal with this or if it's better to just create a repository for a website?
I'm asking because I'd like to use programazing.github.io as a portfolio/resume website even though I will eventually use a custom domain later on.

I figured it out. I was trying to publish from the source files in the master branch to the master branch which would just overwrite everything.
You have to create a branch for the source files, switch to that branch, build it using prod, then publish using ngh --branch=master.

Exactly! :smile: I prefer two Repos for that, to keep things clean .

@JohannesHoppe Just a suggestion but could you add a mention to that somewhere in the project in case others don't know about the special rule for username and org pages?

I'm sorry, my time is super rare right now!
But I made you a collaborator. Feel free to add a note to the wiki or the README.md :smile: :+1:


[NUCLEO_L476RG, DISCO_L476VG]: GCC_ARM, ARM_STD fix RTOS failed

aligned heap, stack config with IAR
issue: #1845

cc @adustm @adustm

please sign https://developer.mbed.org/contributor_agreement/

Hello @0xc0170 ,
@jamike is part of our team.
Kind regards
Armelle

@jamike : Please amend your commit - how and why are these changes applied. To explain the change from SRAM1 to SRAM2 and how is it related to RTOS, why this did not cause regular test failures? It helps to understand the changeset.
Same applies to the issue reported, it does not contain enough details, just that tests are failing, but how and why?


Internally tagged enums can generate invalid TS when using non-object types

If you have an enum such as this:
#[derive(Debug, Serialize, Deserialize, Tsify)]
#[serde(tag = "reason")]
pub enum ParseBaseUriError {
    MissingTrailingSlash,
    UrlParseError(String),
    CannotBeABase,
}

then the generated types look as follows:
declare namespace ParseBaseUriError {
    export type MissingTrailingSlash = { reason: "MissingTrailingSlash" };
    export type UrlParseError = { reason: "UrlParseError" } & string;
    export type CannotBeABase = { reason: "CannotBeABase" };
}

And I believe UrlParseError is unsatisfiable.
I don't really have a good suggestion for how to resolve this, perhaps disallowing new-type like variants, or possibly only ones that contain types that can be mapped to a non-object JS type. For now I have resolved this by picking a different tagging mechanism, or turning the variants into structs, but I thought I'd flag in case there are any other ideas or to allow adding a warning.

I have also noted the same issue, which can quickly be avoided by using both tag and content, e.g., something like
#[serde(tag = "_tag", content = "value")]. With your example above:
#[derive(Debug, Serialize, Deserialize, Tsify)]
#[serde(rename_all = "camelCase", tag = "_tag", content = "value")]
#[tsify(into_wasm_abi, from_wasm_abi)]
pub enum ParseBaseUriError {
  MissingTrailingSlash,
  UrlParseError(String),
  CannotBeABase,
}

results in the following type declaration:
// you can pattern-match on the `_tag` property
export type ParseBaseUriError
  = { _tag: "missingTrailingSlash" }
  | { _tag: "urlParseError", value: string }
  | { _tag: "cannotBeABase" }


Remove setting of Story Clock since the clock is overridden by Editor

Closes #377

Drafting to look at project issues


debug an issue regarding multiple instances of inherited "advancedKeys" objects (their getting deleted) , maybe a deep copy solves the problem!

fixed it, the issue was, that a not deep Copied object was used to initialize the next instances of the hotkey panels, that caused some corruption, since they were sharedobjects, solved with deep Copies of them


Using with Nginx and subdomains

Just wondering what kind of config I would need to put this behind nginx. I thought I could just do this
server {
    listen 80;

    server_name stream.core0.games;

    return 301 https://stream.core0.games$request_uri;

}

# HTTPS server
server {
	listen 443 ssl http2;
	listen [::]:443 ssl http2;
	server_name stream.core0.games;
    root /*******************/files/;
    main.html;
    charset utf-8;

    # SSL
    ssl_certificate /******fullchain.pem;
    ssl_certificate_key /*******/privkey.pem;

}

But when I do and attempt to stream I get a websocket error.

Reading up on it it seems I'll need some config that will bridge the websocket via nginx.
I have laplace implemented on my server accessible via port number. I guess my issue would be more of a nginx config issue more so then a laplace issue. Feel free to close if you are incline to.

I tried to put Laplace behind Nginx, and got "Error during WebSocket handshake: Unexpected response code: 502". This looks like a common issue. (https://github.com/websockets/ws/issues/979)
For me, the fix is by setting _ proxy_http_version _ and the response headers: Host, Upgrade, and Connection.
server {
    server_name  localhost;
    listen       443 ssl;

    ssl_certificate     /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key;

    location / {
        proxy_pass https://laplace:443/;
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Awesome! Yea that did the trick! Thanks for the assist!


V4 issue with .container-fluid inside navbar

In Bootstrap v3 and up to v4-alpha.5, .container-fluid could be used inside of .navbar. Based on flexbox changes in master, that is no longer supported.
Here's a codepen example with .container and .container-fluid inside .navbar: http://codepen.io/eddywashere/pen/MJWzVg
Codepen external css is pointing to this commit.
There is some extra css commented out in the css tab. 1) I tried adding what is used for .container in _navbar.scss and  2) I typically add a max-width to container-fluid to prevent super wide content views.

I think the issue is an expectation of being able to interchange .container with .container-fluid. My mental model is that .container is for fixed sizing within breakpoints vs .container-fluid for fluid sizing through all breakpoints. It's not super extraneous because it allows finer control over the nav inside navbar and the navbar background (wrapper). Here's an example where setting a max-width on the .container-fluid helps control nav content.
I think it's also worth noting that I expected a simple nav like the one here to work without a .navbar-toggleable* class since there is nothing to toggle. Had to dig through docs to find that out.

Some times we need allow user  toggle between .container wrapped mode and full width mode.
If we add div.container wrapper around navbar-nav first and then we try to change to full width mode by removing .container class from the wrapper div or replace it with .container-fluid, the navbar-brand and navbar-nav will be splitted into multiple lines.

I am also running into a strange navbar issue when I have it in a .container.  my .navbar-brand and my .navbar-toggler were both sitting in the middle of the page overlapping each other. this was due to the left and right margin set to 'auto'.  At the different breakpoints the .container gets a width.  Should the .container width be '100%' by default (xs size)?
if this should be a separate issue, let me know and I can break it off.

@browner12 Separate issue, fixed in v4-dev.

@mdo .container-fluid (or a container to limit the maximal width is needed If we want to have a navbar outside of any container but I want do limit the content inside it. The thing here is that limiting the maximal width of .container-fluid is not part of BS (never was I guess).
I personally never ever got the .container class. I always used .container-fluid and limited its maximal width. (I may open another issue to figure out the point of .container, seriously)
I was about to post the same issue until I found this. And I thought I fixed this by giving the container-fluid a 100% width but this makes the navbar-nav go below the brand.
See this Codepen.

@eddywashere @mdo @nextgenthemes yes - what would be useful for me is being able to limit the max-width of .container-fluid, and to use that to be able to put a max-width on both the goods within the navbar and the goods on the page. Control over the padding of .container-fluid at different breakpoints would be good too. With extra wide screens there is definitely a usability limit for most layouts I make.

#21901 Has has a partly fix for my problem. It still needs the width: 100% in the .container-fluid and I am not really good with flexbox yet, not sure if this is the right way to do this but I have it working.
See this pen.

.container has by default 1140px - https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss#L221
If you want .container and .container-fluid to stay on the same line, just set .container-fluid { max-width: 1140px; } in your pen.


Docs for Desktop App v3.7

Docs for Desktop App v3.7
This shouldn't be merged until the app is out on May 9th, but we can start the review process on it.

@JeffSchering @esethna would you guys be able to help with a review of this PR when you get the chance?

Also removed "merge on hold" label since the release is now live

I'm going to merge this since people are asking for the updates


Return object instead of nil to fix access code error

Description
Fixes error that has been showing up in the console.  The normalizer was expecting an object instead of nil, which is what the payload was returning.
Review Notes
Don't know why the linter decided it needed to add a newline at the end of the manifest, but it did.
Setup
Log into the SM app.  Check the browser console.  You should not see an access error.
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against c893ce2566cc4aeef579472734a0e11eb2a3d72e


On Kubernetes environments with strict securityContext policies, the builder and demomode pods cannot start

Describe the bug
On Kubernetes environments with strict securityContext policies, the builder and demomode pods cannot start. Currently, the builder is taking the specs from the builder yaml from configuration, but it does not take also the container specs, where some securityContext policies are defined. Also the demomode pod takes the specs from the deployment.jkube.yaml, but only partially, leaving out the securityContext.
More information inside the discussion item: https://github.com/apache/camel-karavan/discussions/1364
Steps to reproduce the behavior

Add securityContext elements to the builder and demomode pods
Run them, and check the yaml of the k8s files
The securityContext is not taken from the configuration

Variant
Web Application
Container Management (if applicable)
Kubernetes
Operating System (if applicable)
None
Version
4.8.0
Relevant log output
No response

I will assign it to me and extend the code to take also the securityContext specs into consideration.

How are you planning to achieve that?

I see 2 options to do it:

To extend the current code to also take the securityContext specs specifically (like currently done with the env specs).
Or to initialize the pod specs with the full builder / deployment specs and overwrite only what is minimum needed when creating the pods. So, here we dont take specifically the securityContext, but if it is defined, it will be taken automatically. I tend more to this solution, as it allows future extensibility on the specs, outside of the securityContext.
What do you think? Or do you see a third option?

The first option would be secure to implement, because much of the logic in creating the build container code is conditional. Implementing a full builder specification might require a lot of users to upgrade.


Can't launch go debugger on MacOS

Issue Type: Bug
Can't start debugging golang application on MacOS , same launch.json works on Linux though...
VS Code displays non-informative message: Failed to continue: Check the debug console for details., while debug console is empty and there is nothing to look at.

    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/cmd/main.go",
            "env": {},
            "args": [],
            "trace": true
        }
    ]
}

@Enmk The issue with the console not showing any errors is being tracked in https://github.com/Microsoft/vscode-go/issues/2118
Can you try the latest Insiders which has the fix for this so that you can see the errors?
Once you see the errors, please log an issue in the vscode-go repo at https://github.com/Microsoft/vscode-go

Had a similar issue, downloaded/launched Insiders and was able to see the error in the debug console (underlying  cause was my code couldn't compile to start -- facepalm). Glad there is a workaround until the error output is fixed.


Support xsel command

User Story
As a user, I want to be able to use xsel command to copy image to clipboard.
Technical Requirements and Implementation Details
No response
Business Requirements
No response
Resources
No response
Acceptance Criteria

[x] xsel command can be used to copy image to clipboard.

Blocked by #9

It seems that the xsel tool does not allow copying images to the clipboard, because after several attempts, I have not been able to write working code that would do this.
AI doesn't know what's going on either.


[docs-infra] Allow to persist icons in ToC

[x] I have followed (at least) the PR section of the contributing guide.

In MUI X, we want to show pricing plan icons in our ToC - see https://github.com/mui/mui-x/pull/9490
Preview: https://deploy-preview-37731--material-ui.netlify.app/experiments/docs/headers

Fair enough 👍


Ami version

Issue #, if available:
#7
Description of changes:
Add the latest AMI for the two supported EKS regions, also allow REGION to be passed as a parameter to the make.
Sorry for the previous pull request. I didn't realize I was pushing all the other changes too.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

A better, general solution for this is to remove region altogether from the template and depend on env var AWS_REGION. And at the same time change from source_ami to source_ami_filter.


“_” parameter problems in delegate methods

I found that you ignored almost all the PagingViewController parameters in the delegate methods, which made it impossible for me to determine which pagingView triggered the delegate method when multiple PagingViewController delegate were set to the same ViewController.
For example:
func pagingViewController(_: Parchment.PagingViewController, viewControllerAt index: Int) -> UIViewController
I want you to set a parameter name for the PagingViewController.
Like this:
func pagingViewController(_ pagingView: Parchment.PagingViewController, viewControllerAt index: Int) -> UIViewController

Hi @qcasxy! You can just add the extra parameter name in your app and it will still conform to the data source

Hi @qcasxy! You can just add the extra parameter name in your app and it will still conform to the data source

Yes, it works. Thank you for your reply!


全角符无法显示

➜ 显示为方框

mosky@MOSKY-PC:~$ 显示为方框
显示为方框: command not found
mosky@MOSKY-PC:~$
It is shown like this for me(version 0.9.0). Can you please confirm that the issue is not present anylonger?

Yes, it has been fixed.
Thank you for the work.


Algolia Search Not Working - js error

Hello,
I am trying to use Algolia as the search provider, but I am experiencing problems.
Even if the index seems to be populated and the build is not reporting kind of errors, the search box is not showing any results.

My Gemfile configuration contains the gem "jekyll-algolia" plugin:

group :jekyll_plugins do
  gem "jekyll-feed"
  gem "jekyll-seo-tag"
  gem "jekyll-sitemap"
  gem "jekyll-paginate"
  gem "jekyll-include-cache"
  gem "jekyll-algolia"
end

The _config.yml has search enabled I suspect Algolia correctly configured (the index is getting populated):

search: true
search_provider: algolia
algolia:
  application_id: <Application ID>
  index_name: <Index NAME>
  search_only_api_key: <Search-Only API Key>
  powered_by: true

The site which is still a work in progress is live -> and you can actually see the error live there if you try to search something.

Any suggestions ?
PS: Totally unrelated, congrats on the well-documented theme. If only all the projects had documentation like yours!

@mmistakes I don't experience the CORS error, but i think I found the issue.
In the Algolia Dashboard I receive this warning:

The Algolia API doesn't return any title for when I hit search:

But the js code is looking for the title attribute:

So I believe this is related to InstantSearch.js .

If you look at your index on Algolia do you have titles? Could be the index isn't being built properly with the Algolia gem that pushes it up.
For reference this is a sample of what I see for the MM demo site:

@mmistakes exactly that.
The attribute title doesn't exists on the indexed items.

I am quite a beginner with Jekyll, how do you specify a title for the page ?
With page.title in .md file header (before the ---) ?

You don't have to do anything special. Jekyll uses title in the front matter of post/page or if you don't assign it, it pulls it from the filename.
I think you're fine with Jekyll. The issue is with the Jekyll Algolia gem. Can you confirm what command you're using to build your site? What happens when you run bundle exec jekyll algolia? You should see a message letting you know how many records were found and if there were an issues.

For me it looks in a similar fashion, but the title attribute is still missing:
Processing site...
       Jekyll Feed: Generating feed for posts
Rendering to HTML (100%) |=================================================================================================================================================================================|
Extracting records (100%) |================================================================================================================================================================================|
Updating settings of index mockneat
Getting list of existing records
Updating records in index mockneat...
Records to delete: 0
Records to add: 424
✔ Indexing complete

My pages don't have any title property written "in clear". I will add them, re-index and see if the attribute gets added.

That could be it then. Maybe there's some sort of failing with the Algolia Jekyll plugin that it needs title in the front matter.

I don't think title is required for the plugin. The theme needs it to build the search listing views. That's why it was breaking for you.
https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/search/algolia-search-scripts.html#L22-L28

I think we can close this issue. This is actually not related to minimal-mistakes.
Thanks!


notice shall be hidden from user python functions to call in Chalk'it

It's done.
See "taipy_integration" branch.

Solved, thanks Ghiles


Native pdfium.dll dlls not copied to project at nuget restore

Hi,
thanks for PdfiumViewer it's a really good solution for rendering pdfs in a .net program.
When installing the PdfiumViewer nuget package to a project everything works fine (if I set the native pdfium.dll to be copied always to output directory).
But when I work with a version control system (e.g. git) and someone checks out my project referencing  PdfiumViewer the PdfiumViewer nuget package is restored via nuget restore, which does not copy the native pdfium.dll to my project folder (again) and therefore the build of my project fails. What about referencing the native libraries from the nuget folder, instead of copying them one time only at nuget install? See also: Nuget refernce: Creating native packages,  Nuget refernce: Including MSBuild props and targets in a package
Best regards,
Peter

Can you please have a look at the comments made on #112?

As discussed in #112, I've decided to move the PDFium DLL out of the PdfiumViewer NuGet package and the new NuGet packages use the props files as described in #112.


Feature: Add toolbar environment variables

This PR has the features:
1. Add toolbar environment variables: user can add, edit or remove environment variables

How to use?

This feature only simple attach one or many command to your command which you typed. For example:

# your environment
export HOME=/home/p0wny
# your command
ls -la

# the command after you hit enter
export HOME=/home/p0wny;la -la

You also can add many environment variables. They will be joining by ; (your command will final) after you hit enter.
The changes are only for HTML, JS, not change your PHP code.

2. Fix key arrow up

When press key arrow up, the cursor will at begin of input. I added a setTimeout() to move cursor to end of input.

setTimeout(function() { eShellCmdInput.focus(); }, 10);

3. Fix CSS logo

Your logo is not show on mobile, so I add it again.

4. A little change

I just define and replace your code as below:

var $ = function (e) {
    return document.getElementById(e);
}

5. Bonus

A new scrollbar homogeneities with the background color.

Thank you for your contribution, I will review your PR soon :)

Thank you for your contribution, I will review your PR soon :)

Hello,
Thank you again for contributing to p0wny@shell. Here are some some initial review and remarks about the PR

First, there is too much different things in this PR, that makes it more difficult to review. It is better to make one PR for each change:

Click on the page to focus the input,
Fix the behavior of the ↑ key,
CSS fixes (logo and scroll bar)
The Env feature

I cherry-picked the 3 first features of the list above as they were mostly ok → it's on master, please update your branch and resolve conflicts ;)

I am not fan of the $ function shortcut, I think it makes the code harder to read, I prefer explicit code.

Be careful of the indentation: the project use 4 spaces and no tabs :)

I will continue reviewing the env feature itself after you rebased the PR on the new master :)

Hello,
Thank you again for contributing to p0wny@shell. Here are some some initial review and remarks about the PR

First, there is too much different things in this PR, that makes it more difficult to review. It is better to make one PR for each change:

Click on the page to focus the input,
Fix the behavior of the ↑ key,
CSS fixes (logo and scroll bar)
The Env feature

I cherry-picked the 3 first features of the list above as they were mostly ok → it's on master, please update your branch and resolve conflicts ;)

I am not fan of the $ function shortcut, I think it makes the code harder to read, I prefer explicit code.

Be careful of the indentation: the project use 4 spaces and no tabs :)

I will continue reviewing the env feature itself after you rebased the PR on the new master :)

Thank @flozz for your review.
Sorry for rules of code. Because this really is first my pull request to contribute on GitHub, so I can haven't experience for this :dagger:
Let me to resolve all this issues

Thank @flozz for your review.
Sorry for rules of code. Because this really is first my pull request to contribute on GitHub, so I can haven't experience for this :dagger:
Let me to resolve all this issues

Updated as your comment @flozz:

Revert $ to document.getElementById for explicit code
Fix conflict

Updated as your comment @flozz:

Revert $ to document.getElementById for explicit code
Fix conflict

Have a plan to update env feature better after this merged:

Save history and env to localStorage

Have a plan to update env feature better after this merged:

Save history and env to localStorage


Get converter options in extension

Hi, I have a question about lang extensions: it is possible to get the current converter options (not the global default options, but the options passed to the converter-constructor or set by converter.setOption()) in the replace function?

@d-sko In the replace function no. But you can get them in the filter function
example:
showdown.extension('myExt', function() {
  return [
    type: 'lang', //or output
    filter: function(txt, conv, opts) {
      var rgx = /someRx/g;
      txt.replace(rgx, function(matches) {
        //do something with opts
        return matches;
      });
    }
  ];
});

@tivie that solved my problem, thank you :+1:


New version: VPTrees v0.1.2

Registering package: VPTrees
Repository: https://github.com/altre/VPTrees.jl
Created by: @altre
Version: v0.1.2
Commit: 5eeb4ea42007f0327f1212f0eddf18a6436e0c1f
Reviewed by: @altre
Reference: https://github.com/altre/VPTrees.jl/commit/5eeb4ea42007f0327f1212f0eddf18a6436e0c1f#commitcomment-34198527

What happened to 0.1.1?

bump @altre

Mh, I just looked at the commit and it seems like I really pulled a Windows 9 here and jumped a version. Looks like I've really gotten used to 1-based indexing by now.
Is this a problem for Pkg? Should I change and let the Registrator create another pull request?

It's not a problem, just a little bit weird. You can fix it if you want, or just let me know and we can merge.

I'll fix it. What's the process? You reject this pull request and I'll open another?


[TOPIC-GPIO] rv32m1_vega_ri5cy fails 2-pin double-edge detection test

On the current topic-gpio branch the rv32m1_vega_ri5cy target fails to pass the double-edge detection test in gpio_basic_api.

@pabigot can you confirm if the referenced PRs fix this and if so close this issue?


Webpack — use webpack clean instead of rimraf each time on build or start(dev) to clean dist

closed with #28


[SUPPORT] Upsert to hudi table fails that got bootstrapped (w/ metadata only)

Describe the problem you faced
I am trying out bootstrap w/ hudi and running into issues. Use-case is very simple as given below. Likely I am missing some trivial config.
To Reproduce
Steps to reproduce the behavior:

Bootstrap parquet data from elsewhere to a new hudi table w/ metadata only.
Upsert to hudi table.
Query the latest snapshot

Fill stacktrace:
https://gist.github.com/nsivabalan/5f140b947d76939d577ce43c16edc7e4
Expected behavior
Latest snapshot query succeeds.
Environment Description

Hudi version : 0.8.0

Spark version : 2.4.5

Hive version :

Hadoop version : 2.7

Storage (HDFS/S3/GCS..) : local

Running on Docker? (yes/no) :no

Additional context
Add any other context about the problem here.
Stacktrace
https://gist.github.com/nsivabalan/5f140b947d76939d577ce43c16edc7e4
scala> hudiDf = spark.
|         read.
|         format("hudi").
|         load(basePath + "/*")
21/09/01 10:51:34 WARN DefaultSource: Loading Base File Only View.
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (ForkEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (PublicEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (ReleaseEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (CreateEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (CommitCommentEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (PullRequestEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (DeleteEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (IssuesEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (PushEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (IssueCommentEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (PullRequestReviewCommentEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (GollumEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (WatchEvent)
21/09/01 10:51:34 WARN HFileBootstrapIndex: No value found for partition key (MemberEvent)
hudiDf: org.apache.spark.sql.DataFrame = [_hoodie_commit_time: string, _hoodie_commit_seqno: string ... 12 more fields]
Clarifications:

I chose one of the field in original parquet df as partition path. There are no physical sub directories in original bootstrap path. I assume this should work.
After initial bootstrap, if I query the hudi table, partition path meta field is empty even though I configured a simple field (type) as partition path.

@yanghua : Can you please help here.

@yanghua : Can you please help here.

Did you try Hudi 0.9？

I got it working. not sure what was the issue earlier.
here is the script.
Non-partitioned.

val df = spark.read.format("parquet").load("/Users/nsb/Documents/personal/datasets/parquet_ny_4parts/")

df.printSchema
root
 |-- VendorID: integer (nullable = true)
 |-- tpep_pickup_datetime: string (nullable = true)
 |-- tpep_dropoff_datetime: string (nullable = true)
 |-- passenger_count: integer (nullable = true)
 |-- trip_distance: double (nullable = true)
 |-- RatecodeID: integer (nullable = true)
 |-- store_and_fwd_flag: string (nullable = true)
 |-- PULocationID: integer (nullable = true)
 |-- DOLocationID: integer (nullable = true)
 |-- payment_type: integer (nullable = true)
 |-- fare_amount: double (nullable = true)
 |-- extra: double (nullable = true)
 |-- mta_tax: double (nullable = true)
 |-- tip_amount: double (nullable = true)
 |-- tolls_amount: double (nullable = true)
 |-- improvement_surcharge: double (nullable = true)
 |-- total_amount: double (nullable = true)
 |-- congestion_surcharge: double (nullable = true)
 |-- date_col: string (nullable = true)

val basePath = "/tmp/bootstrap_test"

val bootstrapDF = spark.emptyDataFrame

bootstrapDF.write.
      format("hudi").
      option(HoodieWriteConfig.TABLE_NAME, "bootstrap_test").
      option(DataSourceWriteOptions.OPERATION_OPT_KEY, DataSourceWriteOptions.BOOTSTRAP_OPERATION_OPT_VAL).
      option(DataSourceWriteOptions.RECORDKEY_FIELD_OPT_KEY, "tpep_pickup_datetime").
      option(HoodieBootstrapConfig.BOOTSTRAP_BASE_PATH_PROP, "/Users/nsb/Documents/personal/datasets/parquet_ny_4parts/").
      option(HoodieBootstrapConfig.BOOTSTRAP_KEYGEN_CLASS, "org.apache.hudi.keygen.NonpartitionedKeyGenerator").
      option("hoodie.bootstrap.parallelism","10").
      mode(SaveMode.Overwrite).
      save(basePath)

var hudiDf = spark.
        read.
        format("hudi").
        load(basePath + "/*")

hudiDf.registerTempTable("hudi_tbl")

spark.sql("select count(distinct tpep_pickup_datetime) from hudi_tbl").show()
spark.sql("select * from hudi_tbl limit 10").show(false)

and here is what worked for partitioned dataset.

 val basePath = "/tmp/bootstrap_test_partitioned"

val bootstrapDF = spark.emptyDataFrame

// worked as well.

bootstrapDF.write.
      format("hudi").
      option(HoodieWriteConfig.TABLE_NAME, "bootstrap_test").
      option(DataSourceWriteOptions.OPERATION_OPT_KEY, DataSourceWriteOptions.BOOTSTRAP_OPERATION_OPT_VAL).
      option(DataSourceWriteOptions.RECORDKEY_FIELD_OPT_KEY, "tpep_pickup_datetime").
      option(DataSourceWriteOptions.PARTITIONPATH_FIELD_OPT_KEY, "date_col").
      option("hoodie.datasource.write.precombine.field", "tpep_dropoff_datetime").
      option(HoodieBootstrapConfig.BOOTSTRAP_BASE_PATH_PROP, "/Users/nsb/Documents/personal/datasets/parquet_ny_4parts/").
      option(HoodieBootstrapConfig.BOOTSTRAP_KEYGEN_CLASS, "org.apache.hudi.keygen.SimpleKeyGenerator").
      option("hoodie.bootstrap.parallelism","50").
      mode(SaveMode.Overwrite).
      save(basePath)

var hudiDf1 = spark.
        read.
        format("hudi").
        load(basePath + "/*")

hudiDf1.registerTempTable("hudi_tbl1")

spark.sql("select count(distinct tpep_pickup_datetime) from hudi_tbl1").show()
spark.sql("select * from hudi_tbl1 limit 10").show(false)


Outdated Pandas causing ImportError in Alma8 image

When attempting to import pandas within python, I get an ImportError:
$ python
Python 3.10.14 | packaged by conda-forge | (main, Mar 20 2024, 12:45:18) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
/usr/local/lib/python3.10/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.4' or newer of 'numexpr' (version '2.7.3' currently installed).
  from pandas.core.computation.check import NUMEXPR_INSTALLED
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.10/site-packages/pandas/__init__.py", line 49, in <module>
    from pandas.core.api import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/api.py", line 47, in <module>
    from pandas.core.groupby import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.generic import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/groupby/generic.py", line 68, in <module>
    from pandas.core.frame import DataFrame
  File "/usr/local/lib/python3.10/site-packages/pandas/core/frame.py", line 149, in <module>
    from pandas.core.generic import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 193, in <module>
    from pandas.core.window import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/window/__init__.py", line 1, in <module>
    from pandas.core.window.ewm import (
  File "/usr/local/lib/python3.10/site-packages/pandas/core/window/ewm.py", line 11, in <module>
    import pandas._libs.window.aggregations as window_aggregations
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/local/lib/python3.10/site-packages/pandas/_libs/window/aggregations.cpython-310-x86_64-linux-gnu.so)
>>> exit()

When attempting to install pandas as a way to brute force a solution, nothing is recognized as absent.
This issue looks to be resolved with upgrading from Pandas 2.2.2 to 2.2.3
If no other module has a dependency on Pandas 2.2.2 in contrast to 2.2.3, updating the existing Alma8 image to include the pandas 2.2.3 should resolve this issue. Doing this upgrade however also brings up the following error:
/usr/local/lib/python3.10/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.4' or newer of 'numexpr' (version '2.7.3' currently installed).
  from pandas.core.computation.check import NUMEXPR_INSTALLED

Which looks to be similarly resolved by upgrading numexpr 2.7.3 to numexpr 2.10.1

@UCSC-EarlAlmazan sorry for late reply! I am finally fixed images and I am going to put a set of new one for both coffea 0.7.3 (new release with numexpr-2.10.1) and coffea 2024.11.0 (new release with pandas=2.2.3) in coffea.casa and coffea-opendata.casa

(I will drop here a message when everything is ready for you to try)


[time_slice]"0000-01-01" result error

Steps to reproduce the behavior (Required)

SELECT  '....'

select time_slice('0000-01-01',interval 5 year);
select time_slice('0000-01-01',interval 5 month);
select time_slice('0000-01-01',interval 5 day);
select time_slice('0000-01-01',interval 5 quarter);
select time_slice('0000-01-01',interval 5 week);
select time_slice('0000-01-01',interval 5 hour);
select time_slice('0000-01-01',interval 5 minute);
select time_slice('0000-01-01',interval 5 second);

Expected behavior (Required)
'0000-01-01' or null or Reasonable prompt information
Real behavior (Required)
null

StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

+----------------------+
| current_version()    |
+----------------------+
| MAIN-RELEASE 0433dbd |
+----------------------+

Hi @lvchenyang-maker , what version are you using? I found that we can't use time_slice for date with time(hour/minute/second). See https://github.com/StarRocks/starrocks/pull/12992.

We did't support datetime before 0001-01-01 00:00:00.


⚠ Cioos National CKAN Sitemap has degraded performance

In b648672, Cioos National CKAN Sitemap (https://catalogue.cioos.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 26150 ms

Resolved: Cioos National CKAN Sitemap performance has improved in 5672862 after 4 minutes.


Closes #39

We now have a functioning single product page with add to cart functionality.

Good job Stef!


Add a module for Jackson 2.13 and make the 212 module use Jackson 2.12

This aims to fix #306

is this going to be merged?

@zmccoy would you be able to take a look at this? I am unsure who the current maintainers of this project are since @travisbrown announced he would step back if I recall correctly? The reason for this PR is explained in #306. Let me know if I can assist in any way.

@maxstreese Hey, thanks for the PR and ping!  @zarthross and myself are currently trying to keep things tidy.  I'll give this a look!


LIBITD-1552. Added additional indices to model.py

Added the following indices into the schema:

accession_batch: accessions.batch
perfect_matches_accession_id: 	perfect_matches.accession_id
perfect_matches_restore_id: perfect_matches.restore_id

https://issues.umd.edu/browse/LIBITD-1552

confirmed indexes are present


Simplify arguments to CreateBlockDeviceDataset.

https://clusterhq.atlassian.net/browse/FLOC-3693

Nice refactoring, easy to understand even by someone 100% new to that code. The only thing I don't understand very well is the relationship between max/min sizes.


Crash Reporting for React Native apps

Hello,
My name is Ran Yefet, Developer @ http://yes.no
For last 4 months I've been working on our iOS app using React Native (so far it's been great)
We plan to launch soon and we're looking for crash reporting tool.
My first try was Crashlytics, but it only caught Objective-C crashes without any JavaScript crashes.
Also opened a question on stack overflow still waiting for answer.
Next, I tried HockeyApp, I've integrated their SDK and I do see crashes from JavaScript, but the data related to the crash is only useful for Objective-C but not JavaScript so no stack trace, no JS error that was thrown basically not very helpful/useful.
Their response is that either React Native team will provide hooks to get that data or to build something custom.
I found Sentry but their React Native plugin is experimental and not ready for production.
At the current state, I can't find a tool that will solve my problem.
Dear React Native community,

How do you monitor your apps on production?
What tools do you use to catch crashes?
Can anybody help with Integrating one of these tools with React Native? or Provide guidance on how to solve it?

Thanks,
Ran.

I agree that this is a great question, and one that I'm wondering about as well. However, Github issues work best when they're saved for actionable problems, not general questions. I think the best place to have this discussion for the moment is probably on Stack Overflow, where you've also posted.

I agree that It should be on Stack Overflow but I wanted to see if React Native team / community is planing to expose some API or have better tools to easily support this use case.

Related issue #1194

@ranyefet hey can you please share some samples or examples to configure sentry for android? Thanks a ton for your help.

@MuruganDurai well I actually only did that for iOS app. but I think it should be similar.
I follow the instructions here:
https://docs.getsentry.com/hosted/clients/javascript/integrations/react-native/

@ranyefet thanks for quick reply, i dont know where to put this code
Raven
<EMAIL_ADDRESS>{ release: RELEASE_ID })
.install();

In my app I created a file in app/utils/raven.js
and I require it at the start of index.ios.js:
if(!__DEV__) {
	var Raven = require('./app/utils/raven');
}

raven.js file looks like:
// Sentry Integration
var Raven = require('raven-js');
require('raven-js/plugins/react-native')(Raven);

Raven
<EMAIL_ADDRESS>{ release: RELEASE_ID })
  .install();

export default Raven;

@ranyefet Thanks a ton. Will try & let you know and in the mean time I configured crashlytics too..

Any luck on using Raven here? I'm not getting global crash reports at all :/

Any luck on using Raven here? I'm not getting global crash reports at all :/ Raven is reporting errors that I explicitly attempt to catch, but anything that causes the app to crash & close is not reported. Do I need to add a global handler via ErrorUtils?

does getSentry capture native crashes or do you basically have to setup both getSentry and something like Crashlytics? My app has no custom native modules of its own, but when developing I do receive native crashes with a completely objective C stack trace. I would like to have reports for these types of crashes and the type where the app instantly shuts down. Does Crashlytics even capture that sort of stuff?
Anyone have an ideal setup going for React Native crash reporting?

Crashlytics by default only does "real" errors (ie Swift/ObjC/Java), and doesn't catch any JS errors. So if you want the "type where the app instantly shuts down", Crashlytics should be good for you.
I have managed to set up JS crash reporting in my app, to push to both Crashlytics as well as TrackJS. (Haven't tried Sentry or Raven.) I haven't published it all up nice and proper yet, but both work for me now (for my yet-to-be-published react rewrite of my app).
If you're curious to do what I'm doing for Crashlytics:

https://github.com/mikelambert/react-native-fabric - with my just-sent pull request https://github.com/corymsmith/react-native-fabric/pull/26, specifically, to wrap more of the fabric library, hopefully can get rid of my fork eventually
https://github.com/mikelambert/react-native-fabric-crashlytics - what traps errors and sends them in to crashlytics
(They will then show up as Non-Fatal Exceptions within the Crashlytics UI)

Or if you prefer TrackJS:
https://github.com/mikelambert/react-native-trackjs - what wraps the trackjs library, with some semi-major hacks (creating a dummy 'document', in particular, being the one most likely to cause issues), to publish to their server. though the trackjs team is now looking to make it possible to do this with less hackery.
I haven't published react-native-fabric-crashlytics or react-native-trackjs to NPM yet (my laptop died and is in the apple repair all week), so would have to point at my github for now, or just wait a week or so.

FYI, published as:
https://www.npmjs.com/package/react-native-fabric-crashlytics
https://www.npmjs.com/package/react-native-trackjs

@mikelambert I'm testing react-native-fabric-crashlytics but am unable to get the JS stacktrace to appear on crashlytics. I'm doing something like this:
crashlytics.init();
Crashlytics.crash()
Basically generating a crash right after I init your lib. I made sure I bypassed your DEV check to test on dev. Anything else I'd have to do on dev to test this? Thanks!

Are you generating a JS crash or a native crashlytics crash, with that
line? This library only catches stack traces for JS exceptions, not native
crashes (which get handled by the crashlytics runtime directly).
Other ideas:

the Dev check (which you mention)
did you initialize Crashlytics inside the native app code for your app?
(Follow the crashlytics/fabric setup code for this)
what platform are you seeing this on, android or iOS? Have you tried the
"other platform"?
do you see a native crash (but not a js crash)? Or do you not see any
crash at all?
On Thu, Sep 8, 2016 at 6:39 PM Saureen Shah<EMAIL_ADDRESS>wrote:

@mikelambert https://github.com/mikelambert I'm testing
react-native-fabric-crashlytics but am unable to get the JS stacktrace to
appear on crashlytics. I'm doing something like this:
crashlytics.init();
Crashlytics.crash()
Basically generating a crash right after I init your lib. I made sure I
bypassed your DEV check to test on dev. Anything else I'd have to do on dev
to test this? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/5378#issuecomment-245775520,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHlba4-WnJkBBAbiv3u5wOwYc2C8hy-Oks5qoJy_gaJpZM4HG9tj
.

@mikelambert I'm testing in react-native, calling Crashlytics.crash() right after I do a crashlytics.init() in a render() call of a component.
Bypassing DEV check just fine. Initializing Crashlytics with this as per docs at very end of didFinishLaunchingWithOptions.
[Fabric with:@[[Crashlytics class]]];
I have both react-native-fabric & react-native-fabric-crashlytics installed. I was only using Crashlytics.crash() to test crashing the app in the render() call of a component (purely for test). Are you saying this actually causes a native crash and would not get reported with render() at the top o of a JS callstack? Have not tried Android but will try next.
I switched out Crashlytics.crash() with just throwing a JS exception and now see a non-fatal reported in the Crashlytics dashboard. What I don't see is the render() call at the top of the stack.
Non-fatal Exception: null is not an object (evaluating 'internalInstance.getHostNode')
0  ???                            0x0 getHostNode (index.ios.bundle?platform=ios&dev=true&minify=false:258133)
1  ???                            0x0 getHostNode (index.ios.bundle?platform=ios&dev=true&minify=false:285957)
2  ???                            0x0 getHostNode (index.ios.bundle?platform=ios&dev=true&minify=false:258133)
3  ???                            0x0 updateChildren (index.ios.bundle?platform=ios&dev=true&minify=false:277141)
4  ???                            0x0 _reconcilerUpdateChildren (index.ios.bundle?platform=ios&dev=true&minify=false:270181)

So yeah, that was my point about Crashlytics.crash() and native vs JS exceptions. Glad to hear you're seeing the non-fatal in the dashboard now (though not sure why you didn't see a fatal when calling Crashlytics.crash()...)
As far as the strange non-render() stacktrace, I'm not sure I know what's going on with that. Searching for null is not an object (evaluating 'internalInstance.getHostNode') online also doesn't reveal too many others encountering that particular error.
I'd suggest including your JS-exception-throw outside of the render() flow to see if you can get a better stack trace. Also I'd suggest using throw new Error("...") instead of throw "..." if that applies, since it's important for getting proper stacktraces with react native. Not sure what you're doing exactly there in your testing.
Sorry I don't have any more great suggestions for you.

Just a heads up that Bugsnag released their React Native library which gets crash / error data from both the JS and the native layer.
https://docs.bugsnag.com/platforms/react-native/

Sentry's React Native support is now officially released with support iOS and Android. This includes both JS source map decompression as well as Swift/Obj-C symbolification


Merged Whitelist functionality with src/scrape.py. Now checks for pre…

…sence of whitelist and writes separate tsv as {original file name}_filtered.tsv. Update generate_summary to reflect if file is filtered through a whitelist. CHANGELOG and README update accordingly.

[x] Updated Unreleased in CHANGELOG.md to reflect the changes in code or data.  #155

This is a neat way of utilizing the whitelists.
Don't these changes require a modification of our postprocess script? The whitelist section of postprocess is now redundant as far as I can tell.
#155 indicates that we want to keep both the unfiltered and filtered TSVs. Is that still our desire? I ran these changes locally and found that generate_summary.py can't handle the new filtered file names. There are several options of ways to fix that problem, but even when fixed it leaves the question of how the filtered files should be labelled in the README table of the TSVs so that they can be differentiated from the regular files. Perhaps another column indicating whether or not filtering has been applied?
One of the motivations (at least from a few months) behind incorporating a whitelisting value or something similar into entries in languages.json was so that generate_summary.py could handle filtered files in a similar fashion to how dialects are handled. Perhaps we don't need to go with that approach, but we do, I think, need a way of differentiating the eng_uk_phonemic_filtered.tsv row from the eng_uk_phonemic.tsvrow in the TSV table README.

What outputs were you getting for filtered files? generate_summary should ideally be outputting along the lines of "phonemic_filtered" for its transcription value (not the cleanest but seemed to have least impact on the script). Is this not the case?

Sorry, probably should have explained the error I got. Running generate_summary.py with a file like eng_us_phonemic_filtered.tsv in the tsv directory will lead to a key error on line 31 because the key isolated from line 23 will be us_phonemic.
I overlooked the modifications to transcription_level. I think that should adequately differentiate the files in the README table. Maybe not the cleanest solution, but certainly the easiest, which is fine with me.

Ah, I see. I was error testing on the Greek so didn't see dialect issues. Is there any longterm plan/design philosophy for the indexing to not simply look for "phone" instead of a position underscore? It seems the most reliable for file naming conventions but not sure if that was intentionally avoided.

Let's make sure both of them (filtered and unfiltered) end up in the table, by whatever means necessary. I guess the file name parsing needs to be slightly more robust to handle dialect, filtered/not, and script.

I think we went with indexing the underscores because originally all the files were just isokey_phonetic.tsv or isokey_phonemic.tsv. We probably should have changed things when more underscores were added.
One other note, I haven't tested this but I'd imagine the new filtered file names will break generalized_split.py as well (more underscore indexing).

Alright I'm just going to push the current changes for now and then start on looking at the issue cascade then.

So it looks like generalized_split was robust enough already. Just needed a tweak as far as I can tell. And whitelist can be removed for redundancies. May need a more in-depth fix for generate_summary and generalized_split where postioning of file name is less important for quality of life? (Thinking just have them load language codes (dialect, filtered, ISO) and search for their regex values without concern for order. Probably unnecessary but could avoid future issues.)

Other than those two things above, looks great to me.

Do you also want to remove whitelist.py in src/?

I'm thinking it can still be left in for testing purposes? Just to check if the whitelists being passed are giving effective results without needing to call a scrape.

Okay, fine with me to leave whitelist.py in there.


Metrics Discovery Registrar is not sending messages to nats

It seems we have found a bug with the metrics-discovery-registrar. We weren't getting nats messages of scrape configs from the Router VM until we restarted the metrics-discovery-registrar process. It seems like a timing issue from when the metrics-discovery-registrar process came up compared to the nats process as we were seeing nats messages for scrape configs from the blobstore and database VMs. Restarting the metrics-discovery-registrar process on the Router gave us scrape config messages instantly. Maybe there needs to be a retry built into the metrics-discovery-registrar process around the nats connection?

We noticed this issue when reviewing the scrape config generated by the config-generator. We noticed that the Router VM's metric scrape configs were not showing up in that file. We looked into the logs for the metrics-discovery-registrar on the Router VM, but we didn't see any errors.
We downloaded the nats cli onto the VM where we were running the config-generator process. We ran nats sub metrics.scrape_targets and saw that only the metrics-discovery-registrar processes on the blobstore and database VMs were sending nats messages. We then restarted the metrics-discovery-registrar process on the Router VM in a different terminal and started seeing the nats messages show up from the Router VM's metrics-discovery-registrar process.

Something super fascinating: if you restart metrics-discovery-registrar, and then edit vi /var/vcap/data/metrics-agent/metric_targets.yml, things appear to update as expected. HOWEVER, as soon as you edit vim /var/vcap/data/metrics-agent/metric_targets.yml, it will not update again until the process is restarted.
Looking into this a little more: Rather than changing the file in place (vi) it creates a tmp file and then overwrites the original file (vim)
unsafe:
    unrestricted_volumes:
    - path: "/var/vcap/**/**/metric_targets.yml"
      mount_only: true

Because we are pulling in this exact file, it appears that we are pulling in the file with the specific Inode when the process was started.
SO, the next question  is "how is the metrics-agent updating this file?" (see an example of this in the attachment). When we are pulling in a singular file (above), we are using the file with the specific Inode identifier.

Pulling in all directories for /var/vcap to look at (instead of the one file)

CON: we're pulling in a LOT. This is a security problem(maybe?)
PRO: changing one config file, and no other changes to metrics-discovery-registrar

have metrics-agent update this file differently (update in place, rather than with a temp file)

CON: potentially a less safe way to write files, also, don't know if it's possible in metrics-agent
PRO: we keep the files pulled in tight and clean

We ran some tests against metrics-agent, and found that it is not a problem with how go is writing. Took a simple main and ran it in the router vm, testing the inode before and after, as well as printing what go thinks the inode is. Everything appears to work as expected:

However, we can change the config for /var/vcap/jobs/metrics-discovery-registrar/config/bpm.yml FROM:
- name: metrics-discovery-registrar
  executable: "/var/vcap/packages/metrics-discovery-registrar/discovery-registrar"
  unsafe:
    unrestricted_volumes:
    - path: "/var/vcap/**/**/metric_targets.yml"
      mount_only: true```
TO
```processes:
- name: metrics-discovery-registrar
  executable: "/var/vcap/packages/metrics-discovery-registrar/discovery-registrar"
  unsafe:
    unrestricted_volumes:
    - path: "/var/vcap/**/**"
      mount_only: true```

And we are unable to recreate the issue. What do y'all think about this?

sounds reasonable to me tbh.

LMK if that fixes things for you. Should have just cut a release.


请问这个部署支持多卡吗？

Yes. You can follow this document to serving LLaMA 65B model on a server with 8 GPU cards

Yes. You can follow this document to serving LLaMA 65B model on a server with 8 GPU cards

谢谢，我找到了
tp (int): the number of GPUs used for tensor parallelism
这是自动实现的


Error messages

Error messages should clearly point what went wrong and where.
I think Jest does a pretty good job here and probably we can reuse some of the modules.
Ideas:

excepts should be able to specify context (second arg in Chai)
Use colors to easily spot differences while comparing objects etc but keep diff "copyable" back to code (chai for example formats objects without commas :wtf:)
Error message can contain part of the original source with a matcher that failed (jest does it afaik). We already have know how to find original source code (for autofix feature).
modify stack trace to cut off earls internal.  We need to somehow contain the formatting in the error message, but this can be tricky because of mocha indentation. And then we cut ourselves off for other test runners

Error message can contain part of the original source with a matcher that failed (jest does it afaik). We already have know how to find original source code (for autofix feature).

From my experience this doesn't work as well in jest (this might be the fault of my super hacky react native config). We could however print expect(<value>).<matcher>(<expected>) and if any of the values is too big we can control this during preety printing.

modify stack trace to cut off earls internal. The top stack should be the user's code.
Don't do this. The eaiest solution is to always throw in the matcher instead of somewhere deep in the matcher.


Docker image build fail

Hello！
I followed the instructions to clone the repository and build the docker image, however, upon running
docker build -t hloc:latest .
the installation fails with the following error:
Sending build context to Docker daemon  38.13GB
Step 1/13 : FROM colmap/colmap:latest
 ---> e29170b1b6b0
Step 2/13 : MAINTAINER Paul-Edouard Sarlin
 ---> Using cache
 ---> 04ad3833dd1d
Step 3/13 : ARG PYTHON_VERSION=3.8
 ---> Using cache
 ---> 9feb097614c8
Step 4/13 : RUN apt-get update -y
 ---> Running in cddd1a6ba023
Get:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease [1581 B]
Err:1 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
Ign:2 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  InRelease
Get:3 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Release [564 B]
Get:4 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Release.gpg [833 B]
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:6 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:7 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Packages [73.8 kB]
Get:8 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:9 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1636 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [83.3 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [3785 kB]
Get:12 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [1688 kB]
Get:13 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [23.8 kB]
Get:14 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [3373 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1728 kB]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2410 kB]
Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [30.8 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [20.6 kB]
Get:19 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [64.0 kB]
Reading package lists...
W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease' is no longer signed.
The command '/bin/sh -c apt-get update -y' returned a non-zero code: 100

Not sure how to fix this.
Hope to get your help, thank you！

see also: https://github.com/cvg/Hierarchical-Localization/issues/320#issuecomment-1773962140