dagger-android crash in DaggerApplication

Have your main application class derive from dagger.android.DaggerApplication
Implement applicationInjector() to return the AndroidInjector
Partial reflection setup
Dagger: 2.28.3, Delect 0.3.0 (Dagger-Reflect-latest)

java.lang.RuntimeException: Unable to create application my.application.MyApplication: java.lang.IllegalStateException: The AndroidInjector returned from applicationInjector() did not inject the DaggerApplication
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6715)
      at android.app.ActivityThread.access$1300(ActivityThread.java:226)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1898)
      at android.os.Handler.dispatchMessage(Handler.java:107)
      at android.os.Looper.loop(Looper.java:214)
      at android.app.ActivityThread.main(ActivityThread.java:7615)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Caused by: java.lang.IllegalStateException: The AndroidInjector returned from applicationInjector() did not inject the DaggerApplication
      at dagger.android.DaggerApplication.injectIfNecessary(DaggerApplication.java:65)
      at dagger.android.DaggerApplication.onCreate(DaggerApplication.java:38)
      at my.application.MyApplication.onCreate(MyApplication.kt:46)
      at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6710)
      ... 8 more

Presumably because we don't support injecting a MembersInjector.

Issue is that AndroidInjector has a void inject(T instance); and therefor does not enforce a specific void inject(MyApplication instance) method in the application component (which derives from said interface). dagger-reflect now reads this method's argument as Object and can't find the factory that provides injectees for this type.
I refactored the code to not use DaggerApplication and replaced the usage of AndroidInjector by a specific inject(...) method and that made this issue go away.

While that's true, this still should work in reflection since we don't actually need to resolve that T. The implementation injects a Map<Class<?>, AndroidInjector<?>> which the generated module binds into using your application class as the key.
So I'm not exactly sure why this doesn't work already today. But we should be able to make it work.

This is a problem with generic handling. We don't correctly project T to be your application subtype. There's a few other issues for this.

I had the same problem and found a workaround that is somewhat simpler:
In my case there is also an XxxInternalApplication which created the injector, so I just added:
@Override     void inject(@NotNull XxxInternalApplication instance);
... to the InternalApplicationComponent and then in the XxxInternalApplication applicationInjector() method I added:
 mInternalApplicationComponent.inject(this);
... before the return. Hope this helps someone.


Overlaping annotations

When annotating, sometimes an area may be annotated twice, or more, with different classes.
Which is the annotation that mandates when exporting?
Many thanks!
DBG

Which is the annotation that mandates when exporting?

Not really sure I understand this question

Okay, it depends on format I believe.
For example Segmentation mask will have image bitmaps as output where each pixel has only one class (corresponding to the object with highest z order)

Or CVAT for images will dump all the masks as RLE encoded number arrays and it is on user responsibility how to interpret them.

Also you can try to play with Remove underlying pixels: https://opencv.github.io/cvat/docs/manual/advanced/annotation-with-brush-tool/#remove-underlying-pixels to avoid overlapping annotations.
You can just enable this settings the way described and it will work even for masks created by AI tools

@bsekachev, I exported the same dataset twice using

And it exported different classifications each time ....

@DaveBGld
Have you set up z order for objects?

@bsekachev No. I haven't set up z order for objects. The sort by in the objects panel is by ID
Google searching "CVAT set up z order for objects" yields no documentation or explanation....
By the same token, google searching "CVAT remove overlapping pixels" yields the same link you posted, where there is actually no explanation.
The big question is, if I can't trust my exported datasets, why am I paying CVAT and worst yet, why am I paying my annotators to use CVAT.
@bsekachev for you this is just another post, but for me it is the entire project at risk!!!

@bsekachev No. I haven't set up z order for objects.

There is a little misunderstanding. As I wrote before:

For example Segmentation mask will have image bitmaps as output where each pixel has only one class (corresponding to the object with highest z order)

If z order was not specified, when exporting, where the tool could get information what of two objects lies on the top?
A little example how it works can be found here:
https://opencv.github.io/cvat/docs/manual/advanced/annotation-with-polygons/creating-mask/

The sort by in the objects panel is by ID

That does not matter, it is only about order of objects in sidebar.  There is sort by "Z Order" to let users know how objects placed to each other.

If there are two objects on the same pixels on layer 4 and layer 5, for example, object from layer 5 is expected to be drawn on Segmentation mask. I hope, clarification helped somehow.

The point is, I have currently some 1000 images annotated on CVAT. Who is going to guarantee that the export is going to be the desired result? Two weeks of work by 3.5 people.

You do not need to annotate from scratch, just quick forward through annotated images and for objects which are expected to be on the tob increase z order pressing one button on keyboard "+".

If z order was not specified, when exporting, where the tool could get information what of two objects lies on the top?

From The ID sounds very logical to me...

You do not need to annotate from scratch, just quick forward through annotated images and for objects which are expected to be on the top increase z order pressing one button on keyboard "+".

I now need to do this on 1000 images....!!

Using the script general_json2yolo.py, you can convert the RLE mask with holes to the YOLO segmentation format.
The RLE mask is converted to a parent polygon and a child polygon using cv2.findContours().
The parent polygon points are sorted in clockwise order.
The child polygon points are sorted in counterclockwise order.
Detect the nearest point in the parent polygon and in the child polygon.
Connect those 2 points with narrow 2 lines.
So that the polygon with a hole is saved in the YOLO segmentation format.
def is_clockwise(contour):
    value = 0
    num = len(contour)
    for i, point in enumerate(contour):
        p1 = contour[i]
        if i < num - 1:
            p2 = contour[i + 1]
        else:
            p2 = contour[0]
        value += (p2[0][0] - p1[0][0]) * (p2[0][1] + p1[0][1]);
    return value < 0

def get_merge_point_idx(contour1, contour2):
    idx1 = 0
    idx2 = 0
    distance_min = -1
    for i, p1 in enumerate(contour1):
        for j, p2 in enumerate(contour2):
            distance = pow(p2[0][0] - p1[0][0], 2) + pow(p2[0][1] - p1[0][1], 2);
            if distance_min < 0:
                distance_min = distance
                idx1 = i
                idx2 = j
            elif distance < distance_min:
                distance_min = distance
                idx1 = i
                idx2 = j
    return idx1, idx2

def merge_contours(contour1, contour2, idx1, idx2):
    contour = []
    for i in list(range(0, idx1 + 1)):
        contour.append(contour1[i])
    for i in list(range(idx2, len(contour2))):
        contour.append(contour2[i])
    for i in list(range(0, idx2 + 1)):
        contour.append(contour2[i])
    for i in list(range(idx1, len(contour1))):
        contour.append(contour1[i])
    contour = np.array(contour)
    return contour

def merge_with_parent(contour_parent, contour):
    if not is_clockwise(contour_parent):
        contour_parent = contour_parent[::-1]
    if is_clockwise(contour):
        contour = contour[::-1]
    idx1, idx2 = get_merge_point_idx(contour_parent, contour)
    return merge_contours(contour_parent, contour, idx1, idx2)

def mask2polygon(image):
    contours, hierarchies = cv2.findContours(image, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_TC89_KCOS)
    contours_approx = []
    polygons = []
    for contour in contours:
        epsilon = 0.001 * cv2.arcLength(contour, True)
        contour_approx = cv2.approxPolyDP(contour, epsilon, True)
        contours_approx.append(contour_approx)

    contours_parent = []
    for i, contour in enumerate(contours_approx):
        parent_idx = hierarchies[0][i][3]
        if parent_idx < 0 and len(contour) >= 3:
            contours_parent.append(contour)
        else:
            contours_parent.append([])

    for i, contour in enumerate(contours_approx):
        parent_idx = hierarchies[0][i][3]
        if parent_idx >= 0 and len(contour) >= 3:
            contour_parent = contours_parent[parent_idx]
            if len(contour_parent) == 0:
                continue
            contours_parent[parent_idx] = merge_with_parent(contour_parent, contour)

    contours_parent_tmp = []
    for contour in contours_parent:
        if len(contour) == 0:
            continue
        contours_parent_tmp.append(contour)

    polygons = []
    for contour in contours_parent_tmp:
        polygon = contour.flatten().tolist()
        polygons.append(polygon)
    return polygons

def rle2polygon(segmentation):
    if isinstance(segmentation["counts"], list):
        segmentation = mask.frPyObjects(segmentation, *segmentation["size"])
    m = mask.decode(segmentation)
    m[m > 0] = 255
    polygons = mask2polygon(m)
    return polygons

The RLE mask.

The converted YOLO segmentation format.

To run the script, put the COCO JSON file coco_train.json into datasets/coco/annotations.
Run the script. python general_json2yolo.py
The converted YOLO txt files are saved in new_dir/labels/coco_train.

Edit use_segments and use_keypoints in the script.
if __name__ == '__main__':
    source = 'COCO'

    if source == 'COCO':
        convert_coco_json('../datasets/coco/annotations',  # directory with *.json
                          use_segments=True,
                          use_keypoints=False,
                          cls91to80=False)

To convert the COCO bbox format to YOLO bbox format.
use_segments=False,
use_keypoints=False,

To convert the COCO segmentation format to YOLO segmentation format.
use_segments=True,
use_keypoints=False,

To convert the COCO keypoints format to YOLO keypoints format.
use_segments=False,
use_keypoints=True,

This script originates from Ultralytics JSON2YOLO repository.
We hope this script would help your business.


[Feature Request] Support _FILE suffix in docker images

Feature Description
There is a convention on official docker images that environment variables that end in _FILE are read as a file and then assigned to a variable without the _FILE suffix. For example, setting the environment variable ELASTIC_PASSWORD_FILE to /run/secrets/secret-password will read the file /run/secrets/secret-password and assign its contents to the environment variable ELASTIC_PASSWORD. This is especially handy when using Docker secrets.
Related issue on Grafana: https://github.com/grafana/grafana-docker/pull/166
Thread on forums: https://discuss.elastic.co/t/feature-request-support-file-suffix-in-docker-images/140107

Maintenance of the docker files for elasticsearch has moved to the elasticsearch repo. As we will be archiving this repository, I am going to close this issue and I have migrated it to https://github.com/elastic/elasticsearch/issues/43603.


Release 1.0

Find a good release name, package

LICENSE
README.md
dns_check.sh
settings.env.empty
start_mailserver.sh
start_monitoring.sh
user.sh

into a tarball, and call it a release!

Done.


Link to PDM License is Broken

CC Search includes works that have the Public Domain Mark, such as:
https://search.creativecommons.org/photos/f798c858-a7af-4a3e-b2b7-a40a0a6780f5
The link to CC PDM 1.0, from both the Image Attribution and License section, goes here:
https://creativecommons.org/licenses/PDM/1.0/?ref=ccsearch&atype=rich
That's an Error page.
We believe those links should be updated to go here instead:
https://creativecommons.org/publicdomain/mark/1.0/
This may be something that needs to be fixed at the catalog level, or in the frontend, depending on where we're pulling license info URL data from.

@annatuma That is, in fact, the deed for the Public Domain Mark.

Fixed in the latest production release


Benchmarking RFC

I think we can go with Core_bench and memtrace for ocaml, at least for now should be enough, feel free to suggest alternatives.
I also noted that Github seems to not render definition list, I'll fix it with HTML or mimic it with some other feature when we are done with reviews.

Don't bother with description lists if github does not support that for their markdown format.

This RFC will be split into 2 parts to address the rust and ocaml codebase separately, #1083 addresses rust, and the one to address ocaml will be created later.

@bkase can you take another look? It's now only focused in Kimchi.


WIP: interface for TCT incremental serialization

This isn't ready for substantive looking-over, I'm just making a draft PR to ensure all work-in-progress branches are tracked.

Closing in favor of #1076, but preserving for future inspection because some of the ideas about packed encoding may be useful in the future.


chore: use golang:1.19 instead of ubuntu.

Use golang: 1.19 instead of ubuntu.
Image size reduced from 2.91GB to 2.19 GB

Closed because there the improvement is not impressive and this image could not be production ready.


[pcl] Fix build issues, refresh patches

Ported from  #37651.
Fix include dir in pc files.
Fix #37655.

Thanks for the fixes!


Infinite reruns in watch mode

Bug description

NODE_ENV=development tsx watch --clear-screen=false server.ts | pino-pretty

https://user-images.githubusercontent.com/39828645/204154454-34bf1a3e-13ad-4dd8-a4ff-8fa3ffca5964.mov
Reproduction
#!/usr/bin/env tsx

import { readFileSync } from "node:fs";
import { resolve } from "node:path";

import dotenv from "dotenv";

import { renderToString, type SSRContext } from "@vue/server-renderer";
import { createServer as createViteServer, mergeConfig } from "vite";

import FastifyHelmet from "@fastify/helmet";
import FastifyMiddie from "@fastify/middie";
import FastifyStatic from "@fastify/static";
import GracefulServer from "@gquittet/graceful-server";
import Fastify from "fastify";

import { apps } from "@app/config/apps";
import { certs } from "@app/config/certs";
import { constants } from "@app/config/constants";
import { envs } from "@app/config/envs";
import { paths } from "@app/config/paths";
import { CONSOLE_FRONTEND } from "@app/config/symbols";
import { collectComponents, collectFiles, collectModules, collectStyles } from "./server/development";
import type { CreateApp } from "./src/app";

const root = paths[CONSOLE_FRONTEND].root;

async function main() {
  const fastify = apps[CONSOLE_FRONTEND].secure
    ? Fastify({
        logger: true,
        disableRequestLogging: envs.isDevelopment,
        http2: true,
        https: certs[CONSOLE_FRONTEND],
      })
    : Fastify({ logger: true, http2: true });

  if (envs.isProduction) {
    await fastify.register(FastifyHelmet);

    await fastify.register(FastifyStatic, {
      root: resolve(root, "assets"),
      wildcard: false,
    });
  }

  if (envs.isDevelopment) {
    await fastify.register(FastifyStatic, {
      root: resolve(root, "public"),
      wildcard: false,
    });
  }

  if (envs.isDevelopment) {
    const viteConfig = mergeConfig(await import(resolve(root, "vite.config.ts")), {
      appType: "custom",
      server: {
        middlewareMode: true,
        host: apps[CONSOLE_FRONTEND].host,
        ...(apps[CONSOLE_FRONTEND].secure ? { https: certs[CONSOLE_FRONTEND] } : {}),
      },
      customLogger: fastify.log,
    });

    const vite = await createViteServer(viteConfig);

    await fastify.register(FastifyMiddie);
    fastify.use(vite.middlewares);

    fastify.get("*", async function (req, reply) {
      try {
        const htmlTemplate = readFileSync(resolve(root, "index.html"), { encoding: "utf-8" });
        const template = await vite.transformIndexHtml(req.url, htmlTemplate);

        const entryFile = resolve(root, "src", "app.ts");
        const entryModule = await vite.ssrLoadModule(entryFile);
        const { createApp } = entryModule as { createApp: CreateApp };

        const app = await createApp(req.url);

        // SSR Styles
        const components = collectComponents(app.router, vite);
        const files = collectFiles(components);
        const modules = collectModules(files, vite);
        vite.moduleGraph.getModulesByFile(entryFile)?.forEach((module) => modules.add(module));
        const styles = collectStyles(modules, new Set(), new Map());

        const styleTags = [...styles].reduce((p, [file, content]) => {
          p += `<style type="text/css" data-vite-dev-id="${file}">${content}</style>`;

          return p;
        }, "");

        // SSR HTML
        const ctx: SSRContext = {};
        const html = await renderToString(app.instance, ctx);

        const body = template
          .replace("<!-- styles -->", styleTags)
          .replace(
            "<!-- state -->",
            `<script>window.${constants.APOLLO_STATE_KEY} = ${JSON.stringify(app.apolloClient.extract())}</script>`
          )
          .replace("<!-- outlet -->", html);

        reply.type("text/html");
        reply.send(body);
      } catch (error) {
        vite.ssrFixStacktrace(error as Error);
        throw error;
      }
    });

    fastify.setErrorHandler((err, _, reply) => {
      reply.status(500);
      reply.send(err);
    });
  }

  return fastify;
}

if (process.argv[1] === new URL(import.meta.url).pathname) {
  dotenv.config();
  process.removeAllListeners("warning");

  const fastify = await main();
  const gracefulServer = GracefulServer(fastify.server, {
    healthCheck: envs.isProduction,
    kubernetes: envs.isProduction,
  });

  gracefulServer.on(GracefulServer.READY, () => {
    fastify.log.info("Server is ready.");
  });

  gracefulServer.on(GracefulServer.SHUTTING_DOWN, () => {
    fastify.log.info("Server is shutting down...");
  });

  gracefulServer.on(GracefulServer.SHUTDOWN, () => {
    fastify.log.info("Server is shut down.");
  });

  try {
    fastify.log.info("Server is starting...");
    await fastify.listen({
      host: apps[CONSOLE_FRONTEND].host,
      port: apps[CONSOLE_FRONTEND].port,
    });
    gracefulServer.setReady();
  } catch (err) {
    fastify.log.error(err);
    process.exit(1);
  }
}

Environment
System:
    OS: macOS 12.6
    CPU: (8) arm64 Apple M1
    Memory: 162.95 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 19.0.0 - ~/.nvm/versions/node/v19.0.0/bin/node
    npm: 9.0.1 - ~/.nvm/versions/node/v19.0.0/bin/npm
  npmPackages:
    tsx: ^3.12.1 => 3.12.1

Can you contribute a fix?

[ ] I’m interested in opening a pull request for this issue.

With --ignore "/src/" no infinite restarting.

Please provide a minimal reproduction. No dependencies and minimal code.
I'm currently not convinced there's a bug in tsx, and I can't help investigate because I can't reproduce it.

Please provide a minimal reproduction. No dependencies and minimal code.
I'm currently not convinced there's a bug in tsx, and I can't help investigate because I can't reproduce it.

I don't understand how I can provide clean code when I have a dependency problem.

I don't understand how I can help you if I can't reproduce the problem.

Having the same issue. To me it looks like it happens because of how tsx watch handles SIGINT/SIGTERM because Ctr-C also does not behave as expected when multiple yarn commands are combined

Please provide a minimal reproduction. No dependencies and minimal code.
I'm currently not convinced there's a bug in tsx, and I can't help investigate because I can't reproduce it.

https://github.com/AshenBird/tsc-bug-with-vite

Please provide a minimal reproduction. No dependencies and minimal code.
I'm currently not convinced there's a bug in tsx, and I can't help investigate because I can't reproduce it.

https://github.com/AshenBird/tsx-bug-with-vite

i have resolve this problem . vite devserver will update a file , cause to this problem.
use script tsx watch --ignore vite.config.ts.timestamp-*.mjs  ./src/main.ts can resolve it.

Please provide a minimal reproduction. No dependencies and minimal code.
I'm currently not convinced there's a bug in tsx, and I can't help investigate because I can't reproduce it.

https://github.com/AshenBird/tsx-bug-with-vite

i have resolve this problem . vite devserver will update a file , cause to this problem. use script tsx watch --ignore vite.config.ts.timestamp-*.mjs ./src/main.ts can resolve it.

you're right, there is a problem with vite hmr. When I use your solution tsx watch --ignore vite.config.ts.timestamp-*.mjs  ./src/main.ts then tsx watch works, but then vite hmr breaks :/


Paste not working

Cant paste into the URL box on the mobile page of Send to Kindle.

I wasn't able to reproduce the problem you mentioned.

Its not working again. Try it now.

@tc9019 It's definitely not a Reabble issue. Since it's just a normal input box, if you can't paste it should be your browser/OS bug.

Its working again now. It comes and goes.
Its not my browser because I tried C and P elsewhere and it worked fine.

Not working atm.


Build failing because of a problem with Read the Docs

Details

Read the Docs project URL: bigchaindb-python-driver
Build URL (if applicable): 7746483
Read the Docs username (if applicable): codegeschrei

Expected Result
Build the docs
Actual Result
There was no error during the build of the docs but the error in the picture occured

I was able to build your docs in my local instance, not sure what is happening on the servers :/

Thanks for looking in to it @stsewd
Do you have any idea what I should do now?

@humitos Can you take a look?

Some more details:

Builds of v0.5.1 docs are still working. We tried again today. See https://readthedocs.org/projects/bigchaindb-python-driver/builds/7766672/
Builds of v0.5.1 docs are still failing for no apparent reason. See https://readthedocs.org/projects/bigchaindb-python-driver/builds/7766659/
What changed between v0.5.1 and v0.5.2?

Pull request #472 updated the cryptoconditions package in setup.py from cryptoconditions~=0.6.0.dev to cryptoconditions~=0.7.2. (To see what that means, see the cryptoconditions changelog.) It also updated python-rapidjson==0.0.11 to python-rapidjson==0.6.0
Pull request #470 changed some code but no packages.

I suspect the root of the problem is that some packages aren't getting updated properly. Packages include Python packages and OS-level packages.

I took a quick look into it (logs are not really helpful) and I think the problem is because of NULL chars in the install output. I'd need to take a deeper look to be sure, though.
If this is the problem, it's already fixed in #4591 but it's not already deployed.
@stsewd if you use PostgreSQL to build the docs, does it work?

We just merged a few things into our master branch, and now those docs (based on master) are building. See https://readthedocs.org/projects/bigchaindb-python-driver/builds/7767473/
I'm not sure if this is because of the changes we made, or something changed at ReadTheDocs.org.

@humitos I'll be investigating more

I can't replicate using postgres (10.5) with a commit previous to the null char fix

Update: As I write this,

The v0.5.3 docs (== latest docs == master docs) are building fine on ReadTheDocs
The v0.5.2 docs are failing to build on ReadTheDocs

The issue re-surfaced in our doc builds as well. It was building (HTML, not PDF) a few commits ago, but now even the HTML part is not going through.
https://readthedocs.org/projects/climt/builds/7807914/

I just triggered 0.5.3 and latest.
Both failed because NameError: name 'condition_details' is not defined when executing some code under the ipython extension. This is not a RTD problem, so you should check it in your side.

Note that 0.5.2 seems to not be active, so I can't trigger a build for it.

I'm closing this issue since it doesn't seem to be related to RTD, but please feel free to reopen if you consider.
Also, let me know if you notice anything else and open a new issue. Thanks.


Add Vertical Centering

@itlijunjie, thank you for your work!
I'm sorry but I cannot merge this PR.
I think this could be done not by the centerY flag but the property such as gravity. Setting centerY flag works, but it doesn't have flexibility. Do I have to make alignTop attribute to locate toast at the top of the screen?
Also, there is a PR for the attribute gravity: #49

:+1:


Restructure to open the SSH connection only once instead of per in coming connection

Restructure to open the SSH connection only once instead of per in coming connection
Removed loadash dependency (was only used for default values), replaced with a prototype based defaults.
Removed debug module as it was not used.
Closing server only when main ssh connection has closed.

i'll close the issue since its outdated. Thanks for your input.


Claim after add region fails

@hyi This is fixed, correct?

@davidborland Yes, I believe it has been fixed. I am closing it.


Resize with a more conservative amount of space after deletions

Otherwise we can force a rehash for each insert and removal if we're right under the size limit.
Benchmark with SIZE=895, just under a rehash limit.
name                     oops ns/iter  okthen ns/iter  diff ns/iter   diff %   speedup
insert_erase_std_serial  9,875,585     60,696            -9,814,889  -99.39%  x 162.71
Fixes #85

I think a better solution would be to change the else clause to
self.resize(usize::max(new_size, full_capacity + 1), hasher, fallability)

This ensures that we always increase the table size if we are resizing.
Also the condition should probably be changed from < to <= to match the original C++ version.

@bors r+

:pushpin: Commit afc20d7cdccdc3605ff1f16d7b9097b4d64fc564 has been approved by Amanieu

:hourglass: Testing commit afc20d7cdccdc3605ff1f16d7b9097b4d64fc564 with merge b240ee0ad342b434c31fe86dab23b20c10945f65...

:sunny: Test successful - checks-travis
Approved by: Amanieu
Pushing b240ee0ad342b434c31fe86dab23b20c10945f65 to master...


Questions about datas

Hi 😀
First of all, thank you for your very interesting work 🚀
I was wondering about two points where I didn't find an answer by myself (maybe I didn't search well) and I would need your help.

I would have liked to know for a given task, what is the prompt used for finetuning for a given language. For example, let's say French summarization. So I started to search to know which prompt were used for the French summarization but I didn't find a list that would summarize such information. PromptSource provides 2085 prompts in English, but nothing about translations in other languages. Does such a list exist? 🤔

To try to have a solution to the previous point, I thought I had to download the xP3mt dataset and read directly which prompts were used. The problem is that you can actually download all the data for a selected language but you can't do an additional filter on the task/(sub)dataset. Would this be something that could be added?
Or even better, create individual multilingual datasets of the translations you have done. For example, having the ability to upload an "mSamSum" which would be the multilingual version of "SamSum" which is purely in English at the base. This would probably allow to be reused in other works, especially monolingual ones. If I take again the example of French summary, there are few data currently available: Orangesum, XLSum and Wiki-lingua. Having easy access to the translations of CNN Daily Mail, Gigaword, MultiNews, SamSum and XSum would allow to do very interesting things 🤯

By opening all the datasets and referring to https://github.com/bigscience-workshop/promptsource/issues/838, it turns out that you did not translate all the datasets from English to French as I understood but add French part from 8 multilingual datasets (available in https://huggingface.co/datasets/bigscience/xP3/viewer/fr/train) and translated the prompts in French for 3 of these 8 datasets.
So my questions are not relevant, my bad, I close.


Installing OSRM

Hi, I have installed all the requirements, and the OSRM package. The package is recognized and is being imported. However, when i try and run the osrm.match function i get the following error:
Traceback (most recent call last):
  File "/usr/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/lib/python3.8/http/client.py", line 922, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    result = osrm.match(points, steps=False, overview="simplified")
  File "/home/maxim/.local/lib/python3.8/site-packages/osrm/core.py", line 97, in match
    r = urlopen(req)
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 1383, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>

I tried running the python setup.py test command but setup.py was not found.
Any help is greatly appreciated

@MaximCamilleri Did your configure the url of OSRM instance?

hi @zifeo, Thanks i just looked into the config and all is good now


Make Home Assistant notifications configurable by log level

Some of the HA notifications and warnings are not important and useless.
Example:
Charger Garage booted

Describe the solution you'd like
Introduce some kind of log level within the integration to filter the notifications, e.g. debug, info, warning, error, fatal

By way of background to the notifications, there are 3 types:

Warnings thrown by the charger in response to a request from the integration (usually due to a feature not supported by the manufacturer)
Booting of charger (to confirm the charger has booted when pressing reset, or if there is some other reason that is useful to know about eg power failure/resore)
Data transfer from the charger which is unsolicited and will vary by charger as to when and why a transfer is sent

See #221 for how to setup the integration so it doesn't throw a MeterValuesSampledData warning.


[camera]use CameraAccessDenied for permission error

As discussed in the proposal, we want to use CameraAccessDenied to be consistent with other platforms.
Since both web and Android will have breaking changes, we should land them together as one single major version bump to minimize headache for developers.
List which issues are fixed by this PR. You must list at least one issue.
https://github.com/flutter/flutter/issues/97199
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@stuartmorgan sorry I'm confused. is camera_web a separate plugin?

Edit: Oh nvm I saw camera_web is under a separate directory. It's quite a strange setup.

I highly recommend reading https://github.com/flutter/flutter/wiki/Plugins-and-Packages-repository-structure#plugins and https://github.com/flutter/flutter/wiki/Contributing-to-Plugins-and-Packages#changing-federated-plugins
camera is one of our few remaining semi-federated rather than fully-federated plugins, so at this point the fact that camera_ios isn't a separate package is the outlier (which I'm working on fixing).

Hi @ditman I am circling back if you have any additional comments. Thanks!

(@stuartmorgan your gmail account is confusing the CLA check, I think)

Ugh, I really wish I could get GitHub to default to a different address for commits.
@hellohuanlin I think the easiest thing to do here may be to rebase -i this locally, drop my commit, and then re-make that change. Sorry for the mess.

as discussed offline we will land this one now. i created this issue to track the follow up items


reducer error handling

Currently, if a query fails in the reducer it can leave the reactor in a half-open state. Solutions:

Make error handling the responsibility of the reducer - this is probably the right choice

requires updating the guest/host ffi to support returning errors (ideally using result semantics)
fbm already supports serializing/deserializing results - so this should be pretty easy

reset the reactor (or entire reducer) on error if we want handle errors in the host

the danger here is that user state could also be half-open, so the only safe thing to do is a full reset

Probably 1 is better as it gives the user more flexibility and allows reducers to handle errors. If a reducer doesn't want to do so - it can forward the error to SQLSync, thus also clearing the half-open state.

This bug was hit by kakashi443 (discord) and reproduced here:


Enabling ng serve to use https

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10

Versions. Please run ng --version. If there's nothing outputted, please
run in a Terminal:
node --version
And paste the result here.
angular-cli: 1.0.0-beta.6
node: 4.4.5
os: win32 x64

Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
N/A

The log given by the failure. Normally this include a stack trace and some
more information.
N/A

Mention any other details that might be useful.

I am really wondering if its possible to have ng serve use HTTPS instead of the standard HTTP. I looked through the src code and couldn't find the location of where you guys setup express. If there is a link or some type of documentation I can follow I would greatly appreciate it!

<<< Nit whit.... I just found it in the serve options.

I try to use ng serve --ssl true --ssl-key /path/to.key --ssl-cert /path/to.crt but https not accessible, aways run over http.


Error while building container

Info:

Docker version ($ docker --version):  Docker version 18.06.0-ce, build 0ffa825
Laradock commit ($ git rev-parse HEAD): e92f08e323dfa2fd488ab92ef38c5f224fb930e8
System info (Mac, PC, Linux): Windows 10
System info disto/version:

Issue:

After following instructions to set up my Laradock project I get an IO error. I have waited for a day, hoping the CDN would be down but I can perfectly download the file from my own computer.
Expected behavior:

The error shouldn't appear?
Reproduce:

All I did was follow the instructions to set up my Laradock project.
Relevant Code:
$ docker-compose up -d nginx mysql
Building nginx
Step 1/11 : FROM nginx:alpine
 ---> 36f3464a2197
Step 2/11 : LABEL maintainer="Mahmoud Zalt<EMAIL_ADDRESS> ---> Using cache
 ---> 0bdeb3bb4181
Step 3/11 : COPY nginx.conf /etc/nginx/
 ---> Using cache
 ---> a1ece8ba2a09
Step 4/11 : ARG CHANGE_SOURCE=false
 ---> Using cache
 ---> 5728fdbcbe3b
Step 5/11 : RUN if [ ${CHANGE_SOURCE} = true ]; then     sed -i 's/dl-cdn.alpine                                                                   linux.org/mirrors.aliyun.com/' /etc/apk/repositories ;fi
 ---> Using cache
 ---> f2d7b6fe605d
Step 6/11 : RUN apk update     && apk upgrade     && apk add --no-cache bash                                                                        && adduser -D -H -u 1000 -s /bin/bash www-data
 ---> Running in b54ced39b5d4
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/main: IO ERROR
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/community: IO ERROR
v3.7.0-224-g7b76ef5a44 [http://dl-cdn.alpinelinux.org/alpine/v3.7/main]
v3.7.0-223-g398c3a729f [http://dl-cdn.alpinelinux.org/alpine/v3.7/community]
2 errors; 9049 distinct packages available
Service 'nginx' failed to build: The command '/bin/sh -c apk update     && apk upgrade     && apk add --no-cache bash     && adduser -D -H -u 1000 -s /bin/bash www-data' returned a non-zero code: 2

Have you tried to change the DNS Server settings under Network to Fixed: <IP_ADDRESS>?
https://i.imgur.com/oJsjDlS.png
I had a similar problem back in the days.
Let me know if it worked.

Have you tried simply restarting docker? Refering to https://github.com/gliderlabs/docker-alpine/issues/348#issuecomment-340954983

@tobiasdalhof
Restarted Docker and my computer, even re-installed Docker at this point. My connection is giving 10Mbps, should be sufficient.


Stop query being executed until parameter exists

RouteConfig:
<Route path="/" {...primaryLayoutRouteConfig}>
  <Route {...editSongModalRouteConfig} />
  <Route {...songsRouteConfig} />
</Route>

const fragments = graphql`
  fragment editSongModalContainer_song on Song {
    name
    coverImageUrl
    artist
  }
`;

const query = graphql`
  query editSongModalContainerQuery(
    $songId: Int!
  ) {
    song(id: $songId) {
      ...editSongModalContainer_song
    }
  }
`;

export const routeConfig = {
  Component: EditSongModalContainer,
  query,
  prepareVariables: (_, { location }) => ({
    songId: location.state && location.state.modalId,
  }),
};

The editSong is a modal popup. I am using state to pass the modalId and not path because I don't want it to show in the url.
The problem is that query gets executed instantly when the modalId hasn't been passed yet. I pass the modalId when the user clicks on an icon.
How do I stop the query being executed unless modalId exists?

You could use getQuery to check location.state and location.state.modalId, and return some other query if modalId isn't present.
What's your route supposed to render in that case?

@taion Ah, great. Didn't know about getQuery. The route should just render nothing if modalId is not present.

Yup, just return null. It will disable the Relay stuff, so just return null in render (or have getComponent return null).


Fix SMP race in xEventGroupSetBits() -> xEventGroupWaitBits() timeout  (IDFGH-7731)

Fixes https://github.com/espressif/esp-idf/issues/8336
This is a draft PR for my best attempt to fix the SMP race condition described in https://github.com/espressif/esp-idf/issues/8336, where a task calling xEventGroupSetBits() on one core can race with xTaskIncrementTick() handling a xEventGroupWaitBits() timeout on a different core, leading to a crash in vTaskRemoveFromUnorderedEventList() -> uxListRemove() or lockup.
Tested against the release/v4.4 branch using the repro case in https://gist.github.com/SpComb/909d20847645aa22361cf4d3e8bc3700 to verify that this fixes the crash/lockup and does not lead to lost event bits.
I'll be happy to clean this up and rebase against master based on feedback if this approach is acceptable - but I'm skeptical about the modifications to the FreeRTOS interfaces, and it looks like the FreeRTOS SMP implementation in the master branch might be changing for 5.0?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your contribution.

@SpComb Thanks for the PR. We've noticed this issue as well and have fixed this internally. However we went with a slightly different approach. The fix has already been merged on our internal master and is awaiting sync with Github. I'll Keep #8336 open until the fix is backported to v4.4

I'm happy to hear that a proper fix is on the way!


Bringing back leftover changes for telemetry opt-out

While diffing release 1.34 code to the main code I found out that this carbon edit was not ported back.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 48.28%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
14819

Relevant Lines:
29137

💛  - Coveralls


Mapsui 4.0 roadmap

Considering the roadmap voor Mapsui 4.0.
Some options:

Use NTS
Migrate to MIT (Use NTS and other changes)
Improve performance. Measure performance. Transform to SkiaSharp objects when fetching data.
VectorTile support (could be through library).
World Wrap https://github.com/Mapsui/Mapsui/issues/518

It is possible to vote with a thumbs up on feature-request issues:
https://github.com/Mapsui/Mapsui/issues?q=is%3Aopen+label%3Aenhancement+sort%3Areactions-%2B1-desc
I move some of the feature request issues to a backlog repo https://github.com/Mapsui/backlog/issues (not sure if that was a good idea).

Replacing the Mapsui geometries is a pre-requisite for going to MIT. Options:

Use NTS
Create something simple ourselves.

NTS might have some additional benefits

Projections:  https://github.com/NetTopologySuite/ProjNet4GeoAPI
Shapefile support: https://github.com/NetTopologySuite/NetTopologySuite.IO.ShapeFile
VectorTile writer: https://github.com/NetTopologySuite/NetTopologySuite/issues/379

I used NTS for the vector tiles, but found, that it is slow. Could be, because I created 10.000 and more geometries.
There are only few geometries: point, line, polygon. Are there any other?

It would be nice to have a world wrapping system for the map, i.e. so that we can scroll left for instance infinitely and have the map wrap back on itself.

I have implemented this myself in a pretty hacky way, but this is the way that all other flattened world map systems work like google maps, here maps, osm etc.
I like the idea of supporting NTS, it is a great library and would enable the stripping of a fair bit of code from this project.
I use NTS a lot and have found it a good library.

@charlenni That is worrying. I was thinking of making the core less dependent on geometries. This becomes possible by using the rendering callback for everything. This way we do not have to know the type of the geometry in the Renderer class. Implementations of the callback could use whatever they want. For locations and boundingbox I would like to use our own custom types.
There will still be operations on geometries like projections and such, but they could be inside layers and providers.
Not sure how far we can get with this approach, have to try this in code. So perhaps a geometry type could be a vectortile and the core of Mapsui should never have to know that it is.

@radderz ah, a logical suggestion. Something that we Europeans do't see as much a problem. Still I don't think it should have the highest priority right now. I think it is a nasty feature to implement which could have a lot of edge cases that pop up later on. For instance, how would it work with the limiter. What kind of things did you run into?
Vote here for this feature: https://github.com/Mapsui/Mapsui/issues/518

@charlenni btw, about NTS not supporting many geometry type. What kind of types do you expect? I think NTS follows the simple features which is a very particular set of geometries, it has, for instance, no circle. But I am not even sure if NTS supports all the other types specified here: file:///C:/Users/paul/Downloads/06-103r4_Implementation_Specification_for_Geographic_Information_-Simple_feature_access-_Part_1_Common_Architecture_v1.2.1.pdf

No, I don't say, that NTS isn't supporting many types. I say, that Mapsui doesn't need many types. NTS is a very good library to do all you can imagine, but is this, what Mapsui needs? One of your goals is, to make Mapsui faster. I don't think, that we can reach this goal, if we use such a heavy library like NTS. So the question is, what could NTS provide for Mapsui, that Mapsui needs?
When I see, how long 2.0 needed, than I would say, that we should make a roadmap for 2.1, 2.5 and 3.0.

@radderz ah, a logical suggestion. Something that we Europeans do't see as much a problem. Still I don't think it should have the highest priority right now. I think it is a nasty feature to implement which could have a lot of edge cases that pop up later on. For instance, how would it work with the limiter. What kind of things did you run into?
Vote here for this feature: #518

I basically hacked the globalmercator projection to be 7 times as wide and as it escapes the >1 world past the center I wrapped back in -1 world without any form of animation, you can't see it. Performance is fine, but it makes it a little trickier when trying to do navigations using animations and you have to have duplicate features if you allow the user to zoom far enough to see >1 full world width. overall works reasonably well even with a large number of features though.
I have customers with assets in multiple continents so it's a bit weird if I don't enable some form of wrapping. I looked into doing it a bit cleaner, with having the tile fetcher aware of it and the feature drawing side of things also aware of it so I don't need duplicates with a hack but never got around to completing it.

No, I don't say, that NTS isn't supporting many types. I say, that Mapsui doesn't need many types. NTS is a very good library to do all you can imagine, but is this, what Mapsui needs? One of your goals is, to make Mapsui faster. I don't think, that we can reach this goal, if we use such a heavy library like NTS. So the question is, what could NTS provide for Mapsui, that Mapsui needs?
When I see, how long 2.0 needed, than I would say, that we should make a roadmap for 2.1, 2.5 and 3.0.

I have >4000 SVG icons with touch in a small space for things around airports on my app and am using NTS for the under the hood stuff, so would cause me less pain to have mapsui to use it so I don't have to do so many conversions. I use NTS on server side for some pretty heavy calculations like map matching and it's performance is very good.
One of the best parts of NTS is it enables projections and loads of spatial abilities that you'd get out of the box, i.e. buffering a point or line or polygon, intersections, unions etc.

For locations and boundingbox I would like to use our own custom types.

Than we have for bounding boxes Extent (BruTiles), Envelope (NTS) and BoundingBox (Mapsui) all for the same thing. That would be very strange. And geometries in NTS use Coordinates whereas Mapsui use Points, which again exist in NTS too.

Some clarification of what I tried to say in this comment. What I have in mind is that the core of Mapsui is free of proper geometries, we will need a few types. I just had a look at the code and it seems it would suffice to have a Point, BoundingBox and Quad. Within a Layer or Provider you could choose to use a specific geometry implementation. A VectorLayer could use NTS. A TileLayer could use BruTile in the implementation. A VectorTileLayer could use something else. This would not limit the performance that could be achieved by a specific layer. But I need to investigate this further before I ramble on. Not sure how this will work out with MapInfo and the render callback.
You mention the BruTile Extent. In the current implementation this is only used when we directly work with BruTile classes. It is isolated in the TileLayer implementation and not in any other interfaces. It is not even used in the TileLayer interface. I do not see this as a problem. Typically Mapsui could have many different kind of data sources that makes use of a specific library for that data source. If NTS could be used in such a role I don't see that as a problem.

No, I don't say, that NTS isn't supporting many types. I say, that Mapsui doesn't need many types. NTS is a very good library to do all you can imagine, but is this, what Mapsui needs? One of your goals is, to make Mapsui faster. I don't think, that we can reach this goal, if we use such a heavy library like NTS. So the question is, what could NTS provide for Mapsui, that Mapsui needs?

ah, thanks for the clarification.

When I see, how long 2.0 needed, than I would say, that we should make a roadmap for 2.1, 2.5 and 3.0.

You have a point. It should be a sprint towards the next release. I know we had this conversation before we started on 2.0 as well, and yet, somehow one and a half year has passed 😄

Some clarification of what I tried to say in this comment. What I have in mind is that the core of Mapsui is free of proper geometries, we will need a few types. I just had a look at the code and it seems it would suffice to have a Point, BoundingBox and Quad. Within a Layer or Provider you could choose to use a specific geometry implementation. A VectorLayer could use NTS. A TileLayer could use BruTile in the implementation. A VectorTileLayer could use something else. This would not limit the performance that could be achieved by a specific layer. But I need to investigate this further before I ramble on. Not sure how this will work out with MapInfo and the render callback.

You should have two type of points: a screen version and a location version like Point and Coordinate or Point and GeoPoint. Than it is clear, which to use for what.
Perhaps the conversion to NTS would be a first step and leads to a version 2.1? Or is this a to big step?

Those features are awesome. Just wanted to know how long would it take to make offline VectorTiles a possible feature?
I've seen charlenni's library but I doubt I can simply plug it into my project. Or maybe I could, but I surely need guidance for it :(

This looks really promising - I'm definitely for switch to the NTS, the library is awesome, also caching SKPaths could really help the performance side of things.
I would also suggest looking into map movements - smooth transitions when flinging/swiping, ability to lock rotation when scaling and vice-versa. I have already implemented that in our fork for Android version and it really helps delivering the professional feel.
Another thing would probably be raster tiles quality improvements - which probably means not scaling them, but rendering them in native resolution. This is definitely tricky and might not be possible at all. I don't know, if it's possible to get tiles of various sizes from WMS servers - eg. keeping 256x256 for PixelDensity = 1 and downloading bigger tiles for bigger pixel densities. Our biggest map provider in Czechia is using OSM based layers and they are crystal sharp - they are either supplying them in native resolution, or rendering them from vector sets right on the device (which would be really slow with current Mapsui, or would it, with custom renderer?).
Anyway, amazing work with v2.0 and already looking forward for new features and improvements.

@hajmajeboss Regarding map movments and your implementation: It would be helpful to see your code for Android. Perhaps we could transfer it to the other platforms too.
Crystal sharp maps are normally vector maps. They could be drawn at any resolution. That isn't possible with raster maps. Even, if you use native resolution. With this, you would have only integer zoom levels.
I tried to implement a starter for vector maps. You could test it with the VectorTiles project. All you see is drawn inside of Mapsui. Use the buttons left or right to zoom animated in and out. Best results you get on iOS, I would say. It doesn't implement any text symbols up to now. This is very difficult.

@charlenni I downloaded gesture detectors from OsmSharpMap or something like that or used standard Android detectors (swipe, fling) and Android animations for fling. The code is quite messy and private at my company's Github, I guess.
I think @pauldendulk or even you said in a thread about fling from 2018, that you want to implement it at SkiaSharp level, not on platform GUI level, if I remember it correctly.
If there is no way to achieve crystal clear maps with standard raster WMS service, then OK. We don't have vector data providers anyway, at least for now. I need to get a bit more into OSM to see, if we could actually get vector data and possibly draw them in Mapsui, then it might get interesting for us - we don't use OSM at the moment, but our local provider ČUZK, who only has tile WMS servers and does not supply vector data - and the quality is really bad on big screens with 3.0 pixel density - you can barely read text labels if you're not zoomed to native zoom levels.

Ok. We now have our own animations and use them for the AnimatedNavigator. Fling/swipe should easy be possible. @radderz said, that he has it already. So we wait.
If you have your own Mapsui version, you could try to increase the quality of bitmap drawing. It costs time, but the quality increases.

Ok. We now have our own animations and use them for the AnimatedNavigator. Fling/swipe should easy be possible. @radderz said, that he has it already. So we wait.

I could look to implement this as part of the next release if it's desired. I remember I was wondering how we should do this at the mapsui level rather than what I had done using the animation library for xamarin.forms, i.e. the animation timings with things like easings etc.
The additional features I have built around the Map that work nicely are,

double tap on map background zoom in animation (i.e. no feature handled the clicks) SinInOut

fling, SinOut, I found 1 second worth of fling to be good as if it's too long it's just too much. A better implementation may be to use some form of "friction" to make it feel right.

pretty much everything else was integrated into mapsui for things like rotation around a point for pinch to zoom/rotate, rotation snapping when close to the 0 rotation.

I would also suggest looking into map movements - smooth transitions when flinging/swiping, ability to lock rotation when scaling and vice-versa. I have already implemented that in our fork for Android version and it really helps delivering the professional feel.

When you say rotation lock, do you mean just disabling rotation? You can already control that? The other thing is rotation snapping, where you specify a degrees value for UnSnapRotationDegrees and ReSnapRotationDegrees. I would recommend 30 and 5 respectively to get a nice zoom experience.

Ok. We now have our own animations and use them for the AnimatedNavigator. Fling/swipe should easy be possible. @radderz said, that he has it already. So we wait.

I didn't realise we had our own animations now, so I can try replace the xamarin.forms animator and then integrate it into mapsui instead.

@radderz Sure we have ;-) With easing (see here). We have also a AnimatedNavigator (see here), even when we have to set it more often than I wish. @pauldendulk We should look into this (AnimatedNavigator instead of Navigator when creating Map) too. With this AnimatedNavigator all transitions (translation, rotation, zooming) could be animated. Additionally there is a FlyTo animation. With all this stuff it should be possible to create a fling gesture.

@charlenni I have done the changes including extending some of the existing features of the AnimatedNavigator as it's missing some center point animated zooms for instance. Just need time to test and do a pull.

@radderz That sounds great.

@charlenni @pauldendulk I recommend we merge the INavigator and AnimatedNavigator but we seperate out the animated versions like this
CenterOn(Point p)
CenterOnAnimated(Point p, int durationMillis = 300)
as then we can update the INavigator to have animatable features without breaking anything existing and then it's explicit when the navigator is animating vs instant.
Doing it like this would mean we can make the default navigator do animations where desired and then INavigator interface can have all the new features directly.
If you agree to this idea, I can do a pull request with this change.

Moved the AnimatedNavigator discussion to #919.

I would like 3D maps to be added and expanded, or to create a branch

@jinyuttt 3D is not high on my list since it is a big feature and there are so many other basic things to add. The request comes back with some frequency though.

@kubaszostak So far I had ignored everything related to WinUI. I am going to read up a bit. Maui did catch my attention. Not sure how it related to WinUI.

@kubaszostak Did some reading and watched the build 2020 intro. So, WinUI will replace MFC, WinForms, WPF and UWP, but these older platforms will still be in use, so some users may still like to use WPF or UWP. Still, we need to deprecated some of our platforms now and then to reduce the maintenance burden. WPF is still used quite a lot and since it is an older platform I don't expect it to disappear soon. UWP is used a lot less and newer, I assume it is easier for users to replace this with UWP. In conclusion I think it makes most sense to replace the current UWP version with WinUI, as you suggested.

@pauldendulk MAUI will replace Xamarin.Forms basically, so we'll want to start to migrate to that once we get closer to the end of NEXT year so this might be more of a 4.0. It isn't due till .NET 6 so we are a ways away.

@radderz Yes, I agree, MAUI is not for 3.0. I just mentioned it because I am aware of it, while it was not clear to me how it relates WinUI.

I agree that we should wait for release of WinUI (spring 2021) and MAUI (November 2021) and then check how it works and how it could be utilised by Mapsui.

SkiaSharp now can be used in Blazor, and probably this opens the road for MapsUI to go full Web as well.

It would be nice to have a world wrapping system for the map, i.e. so that we can scroll left for instance infinitely and have the map wrap back on itself.

I have implemented this myself in a pretty hacky way, but this is the way that all other flattened world map systems work like google maps, here maps, osm etc.

Do you happen to have any example code for that hack? It is something I am going to need to implement shortly and I would love to look at how someone else managed to make it work.... I saw you other comment ad that makes sense (hacking the Mercator) but the devil is always in the details.

4.0 was now release. For an updated roadmap look here: https://mapsui.com/documentation/roadmap.html

4.0 was now release. For an updated roadmap look here: https://mapsui.com/documentation/roadmap.html

Are you sure Xamarin should go in 5.0? We use Mapsui extensively in WOF and Xamarin Forms projects, not least because it is cross platform and we have our own compatibility API that irons out the slight differences. We are unlikely to port the current Xamarin code to Maui in any near future, and we want both Vector and continuous world map. I don't want to fork 4.0 and port your changes as you make them, but that might be the only option if you drop Xamarin so quickly.

Xamarin.Froms has an End of life of May 1, 2024 So in less than a year. The reason is mainly because after that date no Xamarin.Forms applications will be accepted in the iOS Store. Because newer Versions of XCode aren't anymore supported.
I think removing the UWP Support of Mapsui for Xamarin.Forms could lessen the Support burden, because then Mapsui could target at least .NET Standard 2.1.  (.Net Standard 2.1 is supported by Xamarin.Forms ios and Android but not UWP).
Mapsui.Android and Mapsui.iOS already Target .NET 6 so I think they don't need to be removed.
https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin

So, from our perspective, the app is Android only, but the mapping is used both for WPF using the WPF support and Android using Xamarin. I wrote the mapping api layer to be able to replace the underlying mapping, so it is not impossible to move mapping engines, but it would be a major pain in the posterior as we only recently got the support fairly stable across multiple OS and products.
The next generation will be in Maui, but this legacy version has a shelf like of another 3-5 years. We don't use any app stores, this app is always currently side loaded in Android. That is for "reasons".

@pauldendulk if supporting Xamarin Forms going forward is mainly a resourcing issue, I would be happy to try to make it continue to work... just let me know. As I said, otherwise I think we'd need to fork anyway if anything we need is added and Xamarin Forms is dropped. It would be less of a nightmare for us to just make the Xamarin Forms support work going forward.

@memsom Reviewing and discussing bigger MR requests to an older version is also work for us. I am trying to get rid all older stuff because the issues take a lot of time, and in general complicates our build. So, if you would really would like to add newer functionality to an older version you might need to fork it.
There may be better ways to move forward though. You mention a shelf life of 3-5 years but support for Xamarin.Forms will end in less than a year, surely there is going be trouble one way or another. Instead of backporting it might be easier to invest in upgrading to MAUI or .NET Android (also see this question here https://github.com/Mapsui/Mapsui/discussions/2165).

@pauldendulk It looks like we might now have a window to move to MAUI, but it depends a lot on time being sold to management.
But, hedging bets, it would still be good to have a backup plan.


Replace Help URLs with a short link version of the URLs

Checklist

[X] I have verified this is the correct repository for opening this issue.
[X] I have verified no other issues exist related to my request.

Is Your Feature Request Related To A Problem? Please describe.
No response
Describe The Solution. Why is it needed?
When we initially released the extension, we had used the full original URL to the documentation rules for the Help URLs.
These were intended to have been changed to a short link before the release, but had been missed at the time.
As such, we should change these full URLs with a short link variation of them.
Additional Context
No response
Related Issues
No response

:tada: This issue has been resolved in version 0.2.0 :tada:
The release is available on:

GitHub Release
Chocolatey Package

Your GitReleaseManager bot :package: :rocket:


Is this an inspiration?

I could see that jsx email is really similar to my JSX Mail, a tool that I'm working on in version 2 now, is this an inspiration (since my project is a little older) or is it just a coincidence?
I really liked the idea!
look at mine:
https://github.com/Theryston/jsx-mail

Hey there! jsx-email started out as a fork of react-email. We've got a section on the README.md dedicated to attribution with some info on where the project comes from and why: https://github.com/shellscape/jsx-email#attribution-
From looking at your repo, I would bet that react-email used your project as a reference when building out theirs. We're a bit further along than your project at the moment; if you'd like to join in contributing here, you'd be more than welcome!

Thank you! I really liked your project!


Update googleAnalytics.js

google-analytics-plugin for trackView function expect 3 arguments before the success + err callback (screen, campaingUrl, newSession). Added default param of empty string and boolean

Please target this against dev-next

target to dev-next


Update Dockerfile

We have to have ability to use "make" on step of build

My concern here is that build-essential is a relatively large set of packages.  Docker Image sizes:

Current latest size:  270MB
With your patch: 429.4MB

That's a pretty significant image size jump to just be able to run make, which most people will not ever need, and which can almost certainly be replaced by a more generic script.

A note to this:  because Meteor is now using a version of fibers which does not have a binary distribution, build-essential is actually necessary in order to use the preferred version.  Right now, we are patching Meteor to use an older version which does have a binary distribution.

It looks like the new Meteor build system is going to require make anyway, so I will probably have to add this back in, after all.

There is bow a v1.4-build tag in the Docker Hub which includes build-essential, for those who need this.


add vitepress and sveltekit to repo tags

@antfu when you have time

@antfu closing this, if you want add the tags when you want


Prepare for v1.0.0 release

[x] add the update stream round-robin distributor
[x] add git tag
[ ] ~update README~
[ ] ~push to Maven Central~

Released under https://github.com/ldbc/ldbc_snb_interactive_impls/releases/tag/1.0.0.


Changed the meaning

Made more clear that you are not able to pass an array as since it is a reference type and a value one.
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

@Vasilisdm I'm going to close this PR, as the original text was more instructive: The point is that passing a reference type (a class) by value means the called code can't reassign the reference. However, it can modify the state of the object referred to.

Let's agree to disagree then. I am just saying that it might be confusing for a newcomer, but its your call.


Add all missing descriptions (HELP WANTED)

I just went through all YAML files and marked all missing descriptions with TODOs. Now I need to actually add them, and I appreciate all help.

Not sure if you want to PR my branch but it has just about all of these fixes.
https://github.com/Peptide90/space-station-14/tree/descriptions
It's out of sync with your branch otherwise I'd do the PR. Or I can PR upstream.

The work done so far looks good to me, I think you should merge it in this state and leave the tags so others can address them later.

The work done so far looks good to me, I think you should merge it in this state and leave the tags so others can address them later.

Sounds good, I'll mark it as ready for review.


Added logpdf to norm and lognorm

I have added logpdf to the lognormal and the normal.  Also to the test scripts.  Reason is that logs of pdf are used all the time in eg minuit log likelihood fits and this should speed up parameter scans tremendously.  I have zero experience making pull requests, I hope I did not screw it up.

Thank you for the patch, looks very good to me.
I am not sure that it is going to make fits faster. If you have some evidence to change my mind, please comment, that would be interesting. It is, however, going to make calculations involving log(pdf(...)) more accurate, so it is definitely a plus.

On second look, _pdf in norm should internally call _logpdf so that they use the same code. Likewise for lognorm. I also added logpdf for truncnorm.

I am not sure that it is going to make fits faster. If you have some evidence to change my mind, please comment, that would be interesting. It is, however, going to make calculations involving log(pdf(...)) more accurate, so it is definitely a plus.

hi Hans,
I finally got to test 0.9 with some typical calculation that is made in fitting.
I now get a compilation warning when I import it into a notebook.
Using np.log(lognorm.pdf(...)) is 3 times slower in 0.9 than in 0.8.1.
Using lognorm.pdf(..) in 0.9 is about 20% faster that np.log(lognorm.pdf(...)) in 0.81.1 and about ~ 4 times faster than np.log(lognorm.pdf(...)) in 0.9
See attached.
What is going on with the warning?
Incidentally, the warning shows up in jupyter, but not from the command line.
I am on macOS with python3.9
Claudio
test_0.9.pdf
test_0.8.1.pdf


update model server support

This PR updates model server support aiming for release v0.6 as mentioned in https://github.com/sustainable-computing-io/kepler-operator/issues/232.
API doc:
https://github.com/sustainable-computing-io/kepler-operator/blob/c15c77621958cc79d1921d9af378915158abc4ca/docs/api.md
The PR contains changes on :

updating KeplerSpec
updating modelserver component
adding estimator component
modifying exporter to have sidecar if configure
adding modelServerReconcilers

Note that,
The holder for setting filters and model name is here on kepler:
https://github.com/sustainable-computing-io/kepler/blob/73cb11fb963f425013cf7f03f214c8f8b85c7853/pkg/config/config.go#L390.
However, it is not determined how to use it. So, it is not supported yet from end to end.
Example configmap change from full deployment on OpenShift on IBM Cloud
(kepler CR: config/samples/kepler_full_deploy.yaml)
> oc get configmap -n openshift-kepler-operator model-server-cm -oyaml
...
  MODEL_CONFIG: |
    NODE_COMPONENTS_ESTIMATOR=true
    NODE_COMPONENTS_INIT_URL=https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/Linux-4.15.0-213-generic-x86_64_v0.6/rapl/AbsPower/KubeletOnly/GradientBoostingRegressorTrainer_1.zip
  MODEL_SERVER_ENABLE: "true"
  MODEL_SERVER_URL: http://model-server-svc.openshift-kepler-operator.svc.cluster.local:8100

Resources:
> oc get -n openshift-kepler-operator all
NAME                                       READY   STATUS    RESTARTS   AGE
pod/kepler-exporter-ds-48lff               2/2     Running   0          4m10s
pod/kepler-exporter-ds-4nj8g               2/2     Running   0          4m10s
pod/kepler-exporter-ds-5lj62               2/2     Running   0          4m10s
pod/kepler-exporter-ds-9rqlv               2/2     Running   0          4m10s
pod/kepler-exporter-ds-knnsh               2/2     Running   0          4m10s
pod/kepler-exporter-ds-kskmq               2/2     Running   0          4m11s
pod/kepler-exporter-ds-szl8w               2/2     Running   0          2m49s
pod/model-server-deploy-85fd7b8c6d-wkkrg   1/1     Running   0          4m10s

NAME                          TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
service/kepler-exporter-svc   ClusterIP   None         <none>        9103/TCP   4m18s
service/model-server-svc      ClusterIP   None         <none>        8100/TCP   4m17s

NAME                                DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kepler-exporter-ds   7         7         7       7            7           kubernetes.io/os=linux   4m19s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/model-server-deploy   1/1     1            1           4m18s

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/model-server-deploy-85fd7b8c6d   1         1         1       4m18s

exporter log
> oc logs -n openshift-kepler-operator kepler-exporter-ds-szl8w estimator
I0914 08:42:05.585412 3734085 node_component_energy.go:54] Using the EstimatorSidecar/AbsPower Power Model to estimate Node Component Power

estimator log
> oc logs -n openshift-kepler-operator kepler-exporter-ds-szl8w estimator
set NODE_COMPONENTS_ESTIMATOR to true.
set NODE_COMPONENTS_INIT_URL to https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/Linux-4.15.0-213-generic-x86_64_v0.6/rapl/AbsPower/KubeletOnly/GradientBoostingRegressorTrainer_1.zip.
clean socket
load model from model server:  /mnt/download/rapl/AbsPower

Signed-off-by: Sunyanan Choochotkaew<EMAIL_ADDRESS>

Please feel free to review on the design first.
I'm working on fixing the syntax issue. Will amend the commit once confirm all deployment choices work at least on my cluster.

Now fix critical issue on deployment.
However, please allow me to have some issue left (need help from other to fix with other PR):

Kepler model server container created after exporter/estimator --> cannot load model at the beginning, need to restart exporter pod after model server pod is ready manually.
Integration test (now manually deploy on owned cluster)

@sunya-ch Thanks a lot for adding the feature 🤗
Please allow us some time to go through the feature implementation. My first focus will be on the spec.modelServer to ensure we have only the minimal set of api exposed.

@sunya-ch , Thanks a lot for adding this feature 🙇 .
You can ignore most of the comments in the review, lets focus on getting the spec.modelserver and spec.estimator parts to the minimal required configuration. We should be able to make assumptions about the model server that is deployed, and thus may not need all the configurations currently in place.

@sthaha Thank you so much for the review.
I made most changes according to your review. I put comment below the review that is modified slightly from your suggestion.

Made an update to the review that marked the icon.
Here are example deployments.
minimum deployment
spec:
  exporter:
    deployment:
      port: 9103

oc get -n openshift-kepler-operator all
NAME                           READY   STATUS    RESTARTS   AGE
pod/kepler-exporter-ds-d4ctn   1/1     Running   0          11s
pod/kepler-exporter-ds-fd5xt   1/1     Running   0          11s
pod/kepler-exporter-ds-fzjk7   1/1     Running   0          11s
pod/kepler-exporter-ds-n46xf   1/1     Running   0          11s
pod/kepler-exporter-ds-nthsc   1/1     Running   0          11s
pod/kepler-exporter-ds-qm7p4   1/1     Running   0          11s
pod/kepler-exporter-ds-s5t48   1/1     Running   0          11s

NAME                          TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
service/kepler-exporter-svc   ClusterIP   None         <none>        9103/TCP   11s

NAME                                DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kepler-exporter-ds   7         7         7       7            7           kubernetes.io/os=linux   11s

with estimator only
spec:
  exporter:
    deployment:
      port: 9103
  estimator:
    node:
      components:
        sidecar: true
        initUrl: https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/Linux-4.15.0-213-generic-x86_64_v0.6/rapl/AbsPower/KubeletOnly/GradientBoostingRegressorTrainer_1.zip

NAME                           READY   STATUS    RESTARTS   AGE
pod/kepler-exporter-ds-5g5kk   2/2     Running   0          16s
pod/kepler-exporter-ds-7tg9j   2/2     Running   0          16s
pod/kepler-exporter-ds-fh4f2   2/2     Running   0          16s
pod/kepler-exporter-ds-fqdnf   2/2     Running   0          16s
pod/kepler-exporter-ds-lgfwx   2/2     Running   0          16s
pod/kepler-exporter-ds-nthhd   2/2     Running   0          16s
pod/kepler-exporter-ds-pgrl6   2/2     Running   0          16s

NAME                          TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
service/kepler-exporter-svc   ClusterIP   None         <none>        9103/TCP   16s

NAME                                DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kepler-exporter-ds   7         7         7       7            7           kubernetes.io/os=linux   17s

full deployment
spec:
  exporter:
    deployment:
      port: 9103
  estimator:
    node:
      components:
        sidecar: true
        initUrl: https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-db/main/models/Linux-4.15.0-213-generic-x86_64_v0.6/rapl/AbsPower/KubeletOnly/GradientBoostingRegressorTrainer_1.zip
  modelServer:
    enabled: true

oc get all -n openshift-kepler-operator
NAME                                       READY   STATUS    RESTARTS   AGE
pod/kepler-exporter-ds-4bsnt               2/2     Running   0          4m48s
pod/kepler-exporter-ds-679tv               2/2     Running   0          4m48s
pod/kepler-exporter-ds-6cmkf               2/2     Running   0          4m48s
pod/kepler-exporter-ds-9ltv4               2/2     Running   0          4m49s
pod/kepler-exporter-ds-c6wnl               2/2     Running   0          4m48s
pod/kepler-exporter-ds-f2l9z               2/2     Running   0          4m49s
pod/kepler-exporter-ds-z5wkg               2/2     Running   0          2m55s
pod/model-server-deploy-85fd7b8c6d-9dwz9   1/1     Running   0          4m49s

NAME                          TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
service/kepler-exporter-svc   ClusterIP   None         <none>        9103/TCP   4m50s
service/model-server-svc      ClusterIP   None         <none>        8100/TCP   4m50s

NAME                                DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kepler-exporter-ds   7         7         7       7            7           kubernetes.io/os=linux   4m50s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/model-server-deploy   1/1     1            1           4m50s

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/model-server-deploy-85fd7b8c6d   1         1         1       4m50s

moved to https://github.com/sustainable-computing-io/kepler-operator/pull/322


[dv/edn] Add scb checking for csrng_o

This PR adds checkings in scb to make sure the csrng_o request is valid.
Signed-off-by: Cindy Chen<EMAIL_ADDRESS>

@jdonjdon I was not able to finish this, but i think this check would be good to have.


tracehash discards .group sections, can't link with gcc-4.9

Current hostboot won't build with gcc-4.9:
/home/jk/IBM/openpower/op-build/output/host/usr/bin/powerpc64le-buildroot-linux-gnu-ld -shared -z now -x -melf64ppc --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -O3 -nostdlib --nostdlib --sort-common -fPIC -Bsymbolic -Bsymbolic-functions -O3 -nostdlib --nostdlib --sort-common -fPIC -Bsymbolic -Bsymbolic-functions -O3 -nostdlib \
		   ../../../obj/modules/trace/interface.o ../../../obj/modules/trace/service.o ../../../obj/modules/trace/compdesc.o ../../../obj/modules/trace/buffer.o ../../../obj/modules/trace/bufferpage.o ../../../obj/modules/trace/daemonif.o ../../../obj/modules/trace/debug.o ../../../obj/modules/trace/assert.o ../../../obj/core/module_init.o \
	           -T ../../../src/module.ld -o ../../../img/libtrace.so
../../../obj/modules/trace/service.o:(.bss._ZGVZN9SingletonIN5TRACE13ComponentListEE8instanceEvE8instance+0x0): multiple definition of `guard variable for Singleton<TRACE::ComponentList>::instance()::instance'
../../../obj/modules/trace/interface.o:(.bss._ZGVZN9SingletonIN5TRACE13ComponentListEE8instanceEvE8instance+0x0): first defined here
../../../obj/modules/trace/service.o:(.bss._ZZN9SingletonIN5TRACE13ComponentListEE8instanceEvE8instance+0x0): multiple definition of `Singleton<TRACE::ComponentList>::instance()::instance'
../../../obj/modules/trace/interface.o:(.bss._ZZN9SingletonIN5TRACE13ComponentListEE8instanceEvE8instance+0x0): first defined here
../../../obj/modules/trace/service.o:(.bss._ZGVZN9SingletonIN5TRACE7ServiceEE8instanceEvE8instance+0x0): multiple definition of `guard variable for Singleton<TRACE::Service>::instance()::instance'
../../../obj/modules/trace/interface.o:(.bss._ZGVZN9SingletonIN5TRACE7ServiceEE8instanceEvE8instance+0x0): first defined here
../../../obj/modules/trace/service.o:(.bss._ZZN9SingletonIN5TRACE7ServiceEE8instanceEvE8instance+0x0): multiple definition of `Singleton<TRACE::Service>::instance()::instance'
../../../obj/modules/trace/interface.o:(.bss._ZZN9SingletonIN5TRACE7ServiceEE8instanceEvE8instance+0x0): first defined here

These duplicate templated symbols should have been unified during the link, but it looks like the tracehash tool drops the .group sections, which are required to coalesce these.
The input file to tracehash:
[jk@pablo trace]$ objdump -h service.o.trace

service.o.trace:     file format elf64-big

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000040  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  1 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000048  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  2 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000050  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  3 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000058  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  4 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000060  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  5 .group        00000008<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000068  2**2
                  CONTENTS, READONLY, EXCLUDE, GROUP, LINK_ONCE_DISCARD
  6 .text         00000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000070  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
[...]

and after tracehash has run:
[jk@pablo trace]$ objdump -h service.o

service.o:     file format elf64-big

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000040  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000<PHONE_NUMBER>000000<PHONE_NUMBER>000000  00000040  2**0
                  CONTENTS, ALLOC, LOAD, DATA
[...]

If I remove the SEC_GROUP conditional (to include the .group sections in the output file), the build fails with:
    LD         libtestsyslib.so
/home/jk/IBM/openpower/op-build/output/host/usr/bin/powerpc64le-buildroot-linux-gnu-ld: ../../../../obj/modules/testsyslib/testsyslib.o: invalid SHT_GROUP entry
[repeated multiple times]
/home/jk/IBM/openpower/op-build/output/host/usr/bin/powerpc64le-buildroot-linux-gnu-ld: ../../../../obj/modules/testsyslib/testsyslib.o: no group info for section .data._ZZN8TimeTest16testClockGetTimeEvE20__traceData_codeInfo_1
[and further errors]

So it looks like we'll actually have to process the group entries as part of the trace utility...

Although, I see that the only thing that the tracehash tool does to the generated .o is add the .rodata.str.fsptrace.format section. Is this necessary on OpenPower? If not, we could alter tracehash to create the .hash file (treating the .o.trace file as read-only), and simply use objcopy to generate the final .o from the .trace. This way. we wouldn't have to mess with .group sections at all.

I've been spending quite a bit of time digging on this one.  The .group section is not documented all that well and does not copy like the other sections do.  objcopy.c shows an example but it and all other examples I've found seem to depend on internal BFD functions to accomplish the copy.
The tracehash program removes the long text strings that are associated with the traces in Hostboot.  It reduces the overall size of the hostboot image by quite a bit so it's needed for things to continue to fit in the long term.
One prior solution we had was to do the string removal during the beginning of the compile process but that limited us in other areas.
I sent a message out to the binutils mailing list asking for some help on this one since I'm a bit stumped.  I'll talk with Patrick about some potential workarounds since this has been dragging on for so long.

Here's the op-build .config I'm using for LE, if you'd like to build locally:
https://gist.github.com/jk-ozlabs/31922a248ea4b9018c64
If you want to keep separate op-build object dirs, you can update the op-build alias to use a different directory for the O= argument.

This is resolved, right?

Yes, fixed in this commit - https://github.com/open-power/hostboot/commit/4cc2019545300c360258b5d60e358ce91cc13efd

Closed via https://github.com/open-power/hostboot/commit/4cc2019545300c360258b5d60e358ce91cc13efd


Vim increase  decreases end time

Are you using "tree-sitter" branch?
No
Describe the bug
Pressing <C-a> on the hours in the scheduled end time decreases them rather than increasing them. It does increase the minutes in the end time and the hours and minutes in the start time.
Steps to reproduce

Schedule an event with a time span.
Go to the hours in the end time.
Press <C-a> (or your remap).

Expected behavior
I would expect the hours to increase.
Emacs functionality
No response
Screenshots and recordings
No response
OS / Distro
Manjaro Linux
Neovim version/commit
0.5
Additional context
No response

<C-a> by default should increase the date day by one. Did you change the default mappings?

So <C-a> is overloaded in orgmode? I have <C-a> mapped as my tmux prefix so for the vim one I have:
nnoremap <a-x> <c-x>
nnoremap <a-a> <c-a>
vnoremap <a-x> <c-x>
vnoremap <a-a> <c-a>
nnoremap g<a-x> g<c-x>
nnoremap g<a-a> g<c-a>
vnoremap g<a-x> g<c-x>
vnoremap g<a-a> g<c-a>

So I guess the bug is related to the Vim . This does increase the date (but doesn't update the day of week), and works reverse for the hours in the end of the period.
How can I remap the orgmode ?

You can check the docs here https://github.com/kristijanhusak/orgmode.nvim/blob/master/DOCS.md#org_show_help . This example shows how to map it to + and -.

Ok great - this works well :+1:
Still, <C-a> on the hours of the end time decreases them ...

That's built in functionality, I cannot really control that.

Ahhh :light: Vim sees this as a negative number because of the -
Yeah, an unfortunate coincidence  :sweat_smile:

@gerazov tree-sitter branch now allows updating parts of the date, not only the whole day. See org_timestamp_up and org_timestamp_down

Looks good :+1:
I'm having a problem with it a bit. I have a messy init.vim so it's maybe just me :sweat_smile: but if you can reproduce I can repost this as a new issue:

org_timestamp_up and org_timestamp_down both work only once for a given timestamp, i.e. it updates the year/month/day/time, but next use just brings the cursor on the following line. This doesn't happen for toggling between <> and [], i.e. you can do this multiple times.
incrementing/decrementing hours actually increments minutes by 5 min (this may be wanted behaviour, but it may be more useful to be able to increment/decrement hours and minutes separately)
incrementing/decrementing starting time also increments/decrements end time (this may be wanted behaviour)
incrementing/decrementing end time doesn't increment/decrement start time (this may be wanted behaviour)

btw - is there a way to have timestamp_up_day work in agenda view? This would be supper useful for rescheduling tasks that were not done the previous day to today. Currently you have to <Tab> to them and increase them there.


Use latest version 0.23.1 of pyvista instead of master

This PR updates the package requirements for the pyvista 3d backend.

Azure strikes back.

Anyway, because we use the interactor directly in:
https://github.com/mne-tools/mne-python/blob/master/mne/viz/_brain/_timeviewer.py#L213
It's not possible to use 0.23.1. I'll tag the next release.

Following my concerns on https://github.com/pyvista/pyvista/pull/603#issuecomment-586140576 I think is top priority now.

Of course, I plan to inform the users of _TimeViewer that pyvista 0.23.1 is now the recommended version. Overall, I think it's a better practice to avoid using master and ensure stability.

@larsoner  the issues on Circle are not related and the figures are duplicated as reported in https://github.com/mne-tools/mne-python/issues/7228
Example: https://17989-1301584-gh.circle-artifacts.com/0/dev/auto_tutorials/source-modeling/plot_visualize_stc.html#sphx-glr-auto-tutorials-source-modeling-plot-visualize-stc-py

Agreed we should not use master if possible. PyVista releases fairly frequently so hopefully we don't have to wait too long to merge your future PRs that use new features.

I noticed during some testing that it took a long time (e.g., at least 10 sec) for a PyVista window to appear at one point. And now I'm noticing some very long test times for the PyVista runs:
https://travis-ci.org/mne-tools/mne-python/jobs/650898534?utm_medium=notification&utm_source=github_status
I think that this is because 0.23.1 has depth peeling enabled by default, which means that 1) rendering is slower, and 2) even opening a window calls check_depth_peeling which is slow. On my laptop when I ctrl-C'ed during the slow startup it was checking depth peeling I think.
So I think we might want to revert this until they release their next version that has https://github.com/pyvista/pyvista/pull/618 incorporated.
I'll try opening a PR to revert this change, and if it runs significantly faster I'll merge. I think this is part of what is breaking things like https://travis-ci.org/mne-tools/mne-python/jobs/650898535?utm_medium=notification&utm_source=github_status hitting a timeout