Plantuml diagram links are blank

Hi,
I've got an issue when generating plantuml diagram with html links: they are all blanks as show in the picture above.

It's working with html generation as show in the picture above:

The following attributes are used for plantuml block definition:
[plantuml, debit_then_credit, svg, opts=interactive]

Furthermore, I'm using the following version/environment:
asciidoctor-pdf --version
Asciidoctor PDF 1.5.0.alpha.18 using Asciidoctor 2.0.10 [https://asciidoctor.org]
Runtime Environment (ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8)

Please provide the diagram source so I can test.
What I can tell you right away is that prawn-svg does not support HTML embedded in the SVG. If there's a link, it must be defined using a xlink:href.
A browser doesn't have this restriction because it can understand arbitrary HTML in an SVG because it's an HTML environment. In other words, the browser is not really rendering an SVG so much as enhanced HTML.

Thank you for your answer.
Here is a code sample directly copied from plantuml sample:
[plantuml, test_link, svg, opts=interactive]
----
actor Bob [[http://plantuml.com/sequence]]
actor "This is [[http://plantuml.com/sequence Alice]] actor" as Alice
Bob -> Alice [[http://plantuml.com/start]] : hello
note left [[http://plantuml.com/start]]
  a note with a link
end note
Alice -> Bob : hello with [[http://plantuml.com/start{Tooltip for message} some link]]
note right [[http://plantuml.com/start]] : another note
note left of Bob
You can use [[http://plantuml.com/start links in notes]] also.
end note
----

Do you have any idea of how I could include xlink:href in svg diagram through plantuml ?

plantuml is putting an <a> tag around the text (which happens to use the xlink:href attribute). It looks the fact that this results in blank text is a bug / shortcoming in prawn-svg. I could manipulate the SVG data to strip the enclosing <a> tag, but it think it would be better to see if prawn-svg would be willing to address this.
I've filed an issue in prawn-svg to discuss. See https://github.com/mogest/prawn-svg/issues/111

This has been implemented upstream. We're now just waiting on a release.


Added refactor bits

This is the finished refactor of the code given,
Closes issue #80

Hamish has refactored a large section of the featured today component, as well as the popular categories components of the front page. This merge effectively closes issue #80.


Create a process that runs migrations then shuts down

@josevalim let me know if this is what you have in mind.

@chrismccord @josevalim changes made!

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Missing Dependency?

Hi - I have been enjoying using this module (thanks!)
Ran into a bit of a hiccup - if I remember correctly the first time I saw anything was in a simple 'create-react-app' sandbox. I managed to move past by simply including a node module that was mentioned in the warnings.
This time (in my custom environment for my project) I can't seem to work out the cause.
 It doesn't look like this error has anything to do with sentencer. It looks rather like you have a difficulty with resolving any node modules at all given the way your project is configured.
I am suspicious that the directory it thinks the package is in reads like /Users/~/ That is a very unusual path. Normally a path would be something like either

~/project' with ~as a prefix which is an alias for a home directory like/Users/oclke`
OR
/Users/oclyke/project which is a full path to the folder with no aliasing or tildes in the middle.

The path you shared looks like a mix up between the two which must have come about with some manual messing with paths and taken you outside of the normal behaviours of any of the tools you're using (e.g. npm).
Simply creating a fresh project without bringing across any of the project configuration would probably fix any issues you have.


Unexpected image cropping in WoltModalSheetPage heroImage

Bug report
Describe the bug
An image displayed as the heroImage within a WoltModalSheetPage is unexpectedly cropped around the edges. This issue does not occur when the same image is displayed elsewhere in the application, such as within a Column widget, where it appears correctly without cropping.
Steps to reproduce
Steps to reproduce the behavior:

Run the sample code.
On the main screen, click the 'Modal Bottom Sheet' button to open the modal sheet.
Notice the cropped image at the top of the modal, which serves as the hero image.

Sample Code
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:wolt_modal_sheet/wolt_modal_sheet.dart';

part 'main.g.dart';

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

class MyApp extends ConsumerWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    return MaterialApp.router(
      routerConfig: ref.watch(routerProvider),
      theme: ThemeData(useMaterial3: false),
    );
  }
}

class Home extends HookWidget {
  const Home({super.key});

  @override
  Widget build(BuildContext context) {
    final pageBuilderNotifier =
        useValueNotifier<WoltModalSheetPageListBuilder>((context) => []);

    final width = MediaQuery.of(context).size.width;
    final heroImageHeight = width / 1.9;

    final image = CachedNetworkImage(
      width: width,
      height: heroImageHeight,
      imageUrl: 'https://consumer-static-assets.wolt.com/og_image_mall_web.jpg',
      fit: BoxFit.fitWidth,
    );

    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            pageBuilderNotifier.value = (context) => [
                  WoltModalSheetPage(
                    heroImageHeight: heroImageHeight,
                    leadingNavBarWidget: Padding(
                      padding: const EdgeInsets.only(left: 16, top: 16),
                      child: FloatingActionButton(
                        child: const Icon(Icons.close,
                            color: Colors.white, size: 48),
                        onPressed: () => context.pop(),
                      ),
                    ),
                    heroImage: image,
                    child: Column(
                      children: [
                        const Text('Hero image above is cropped.',
                            style: TextStyle(fontSize: 24)),
                        image,
                      ],
                    ),
                  ),
                ];

            context.push('/bottom-sheet', extra: pageBuilderNotifier);
          },
          child: const Text('Modal Bottom Sheet'),
        ),
      ),
    );
  }
}

class SheetPage extends Page<void> {
  final ValueNotifier<WoltModalSheetPageListBuilder> pageListBuilderNotifier;
  final ValueNotifier<int>? pageIndexNotifier;

  const SheetPage({
    required this.pageListBuilderNotifier,
    this.pageIndexNotifier,
  });

  @override
  Route<void> createRoute(BuildContext context) {
    return WoltModalSheetRoute<void>(
      pageListBuilderNotifier: pageListBuilderNotifier,
      pageIndexNotifier: pageIndexNotifier,
      onModalDismissedWithBarrierTap: () => context.pop(),
      routeSettings: this,
    );
  }
}

@riverpod
GoRouter router(RouterRef ref) {
  final router = GoRouter(
    routes: [
      GoRoute(
        path: '/',
        pageBuilder: (_, __) => const MaterialPage(child: Home()),
      ),
      GoRoute(
        path: '/bottom-sheet',
        pageBuilder: (_, state) {
          final extra = state.extra!;
          if (extra is! ValueNotifier<WoltModalSheetPageListBuilder>) {
            throw UnsupportedError('Unsupported parameter. extra=$extra');
          }
          return SheetPage(pageListBuilderNotifier: extra);
        },
      ),
    ],
  );

  ref.onDispose(router.dispose);
  return router;
}

pubspec.yaml
name: wolt_modal_sheet_issue
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1

environment:
  sdk: '>=3.2.0 <4.0.0'

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^1.0.2
  hooks_riverpod: ^3.0.0-dev.3
  flutter_hooks: ^0.20.4
  riverpod_annotation: ^3.0.0-dev.3
  wolt_modal_sheet: ^0.3.0
  go_router: ^13.0.1
  cached_network_image: ^3.3.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^3.0.1
  riverpod_generator: ^3.0.0-dev.11
  build_runner: ^2.4.8
  custom_lint: ^0.5.8
  riverpod_lint: ^3.0.0-dev.4

flutter:
  uses-material-design: true

Expected behavior
The expectation is that the heroImage displayed in the WoltModalSheetPage should show the entire image without any cropping

Additional context

@motucraft hey dude, im having problem recreating the same , getting some error at   @override   Widget build(BuildContext context, WidgetRef ref) {     return MaterialApp.router(       routerConfig: ref.watch(routerProvider),       theme: ThemeData(useMaterial3: false),     );   } } routerProvider as Undefined name 'routerProvider'.
Try correcting the name to one that is defined, or defining the name.dartundefined_identifier
Type: InvalidType  so could you help me out a bit, Thanks

@Drugjudy
routerProvider is defined in the function annotated with @riverpod. Please try running flutter pub run build_runner build --delete-conflicting-outputs.

@motucraft This is expected. When you check the source code, the hero image has animation as the scrolling starts. The image scale animation is from 1.1 to 1.0. It looks like this is something that effects your case. We assumed that 0.1 would not hurt. Can we learn about your case, and understand why it is critical ti have exact same width so that I can forward this to our motion designer?
    final double scale =
        WoltLayoutTransformationUtils.calculateTransformationValue(
      startValue: 1.1,
      endValue: 1.0,
      rangeInPx: heroImageHeight - topBarHeight - 8,
      progressInRangeInPx: currentScrollPosition,
    );

@ulusoyca
The issue I'm encountering is that the edges of images are being clipped, which creates a problem when the images contain text near the edges. This results in the text being cut off. For example, you wouldn't want the name of the product in the image to be cut off, would you?
In relation to this, I previously commented on a similar issue here: https://github.com/woltapp/wolt_modal_sheet/issues/105#issuecomment-1826193647

(Additionally, I would like to note that I am not planning to use the heroImage property as it results in the images being cropped, which is not suitable for my application's requirements. This further limits my options for working around the issue with the FloatingActionButton.)

At that time, I was advised to use heroImage and heroImageHeight.

@motucraft By coincidence we have the same problem at Wolt 😮💨  We will fix this very soon.

@ulusoyca

@motucraft By coincidence we have the same problem at Wolt 😮💨 We will fix this very soon.

Has this issue been scheduled for a fix?

@motucraft We have been super busy at Wolt with building a design system and library. I am aiming to start working on small PRs including this one tomorrow. Aiming the release for next week.

Thanks. I appreciate the hard work and look forward to the upcoming fixes.

@motucraft this is merged now and published part of 0.5.0


Content Drop

ported the following articles:
Chunker - Overview
Chunker - Advanced Mode
Chunker - World Settings
Chunker - The Nether
Survival Spawn Creation

Content drop includes:

Introduction to Add Entity
Entity Behavior Introduction
Entity Modeling and Animation

Content drop includes:

Content Error Log article
Converting Texture Packs article
Commonly Used Tools article
Fog in Resource Packs article


cause: HeadersTimeoutError: Headers Timeout Error

I keep on getting cause: HeadersTimeoutError: Headers Timeout Error when I am trying to request homellm model
cause: HeadersTimeoutError: Headers Timeout Error
       at Timeout.onParserTimeout [as callback] (node:internal/deps/undici/undici:8228:32)
       at Timeout.onTimeout [as _onTimeout] (node:internal/deps/undici/undici:6310:17)
       at listOnTimeout (node:internal/timers:573:17)
       at processTimers (node:internal/timers:514:7) {
     code: 'UND_ERR_HEADERS_TIMEOUT'
   }

Sometimes
 Error: Expected a completed response.
     at Ollama.processStreamableRequest (/usr/src/app/node_modules/ollama/dist/shared/ollama.a247cdd6.cjs:211:15)
     at processTicksAndRejections (node:internal/process/task_queues:95:5)
     at OllamaService.responseFromOllama (/usr/src/app/src/ollama/ollama.service.ts:21:24)
     at AppGateway.pubSubMessageAI (/usr/src/app/src/gateway/app.gateway.ts:98:18)
     at AppGateway.<anonymous> (/usr/src/app/node_modules/@nestjs/websockets/context/ws-proxy.js:11:32)
     at WebSocketsController.pickResult (/usr/src/app/node_modules/@nestjs/websockets/web-sockets-controller.js:91:24)

try {
      const { customerId, message } = data;
      let systemPromptName;
      systemPromptName = data.systemPromptName || 'Al';

      const ollama = new Ollama({ host: 'http://host.docker.internal:11434' });

      const response = await ollama.generate({
        model: 'homellm:latest',
        prompt: message,
        format: 'json',
        stream: false,
        system: `You are 'Al', a helpful AI Assistant that controls the devices in a house. Complete the following task as instructed with the information provided only.
        Services: light.turn_off(), light.turn_on(brightness,rgb_color), fan.turn_on(), fan.turn_off()
        Devices:
        light.office 'Office Light' = on;80%
        fan.office 'Office fan' = off
        light.kitchen 'Kitchen Light' = on;80%;red
        light.bedroom 'Bedroom Light' = off`,
      });
      return response;
    } catch (e) {
      console.log(e);
    }
  }

I was getting responses before but now always getting Headers Timeout error or Expected a completed response.

Facing a similar issue

Similar issue here. After a month of usage I haven't encountered this issue until recently. Any known solutions?
TypeError: fetch failed
      at Object.fetch (node:internal/deps/undici/undici:14062:11) {
    cause: HeadersTimeoutError: Headers Timeout Error
        at Timeout.onParserTimeout [as callback] (...\node_modules\undici\lib\client.js:1059:28)
        at Timeout.onTimeout [as _onTimeout] (...\node_modules\undici\lib\timers.js:20:13)
        at listOnTimeout (node:internal/timers:564:17)
        at process.processTimers (node:internal/timers:507:7) {
      code: 'UND_ERR_HEADERS_TIMEOUT'
    }
}

this happens to me when format: json and only with some models.

Happens to me as well! I am using llama3 and it only happens when I send a long message.
This happens only when I use the npm package. I have llama3 installed in my machine and use ollama to run it and it works for the same message.
How to solve this?

Googling the problem got me here. Same issue using Ollama3 on an M2 Ultra Mac Studio

same with llama3

I've opened this issue on their side. Let's see what they say.

Same issue. I have investigated a bit and it seems like this may be an issue with Ollama itself. I checked the server logs.
I'm able to see the pull request
May 17 15:40:36 pop-os ollama[746628]: [GIN] 2024/05/17 - 15:40:36 | 500 |          5m0s |       <IP_ADDRESS> | POST     "/api/pull"

It stops at exactly 5 minutes, which cannot be a coincidence. Either the client times out, or the server times out.
After digging some more, I found this
https://github.com/ollama/ollama/blob/7e1e0086e7d18c943ff403a7ca5c2d9ce39f3f4b/server/routes.go#L57C5-L57C27
The session duration in Ollama is 5 minutes. Sooooo... Don't believe this is an issue with this library per-say. Either this library handles a retry, or we ask Ollama to increse this session time. Whichever is easier.

Looks like ollama will lookup the environment variable OLLAMA_KEEP_ALIVE and convert it to default duration
https://github.com/ollama/ollama/blob/7e1e0086e7d18c943ff403a7ca5c2d9ce39f3f4b/server/routes.go#L317
change OLLAMA_KEEP_ALIVE maybe works.

This error is client side, it has nothing to do with any session timeout on the ollama server.
This error is from the fetch function itself giving a timeout because it didn't receive any response from the requested server after 5 minutes.

fetch() is a standard. The standard doesn't say anything about timeouts. It's up to implementers to pick reasonable defaults.
source

in my case this issue only appeared when not streaming or when other requests had to be processed first, since without streaming the server doesn't send anything until the entire response is ready.
i only tested it on nodejs, browsers are probably behaving differently
easy solution is to just use another fetch implementation
I tested node-fetch and undici with a request taking over 5 minutes to complete.
undici also raises the exact same error, while node-fetch doesn't have this timeout (or it is way higher).
import { Ollama } from "ollama"
import fetch from "node-fetch"

const ollama = new Ollama({
  fetch: fetch as any
})

The as any is only necessary in typescript and has to be there because the fetch method signatures don't match exactly.
To test I started a big request on an underpowered machine and logged start and end time:
start 2024-06-29T20:06:47.856Z
end 2024-06-29T20:24:20.325Z

about 18 minutes request time on node without streaming and without headers timeout error.

Has there been any update on this?
I need to use streaming requests and would love to increase the timeout.


Fully-automate development setup with Gitpod

Test URLs
Here is a PR that fully automates the dev setup of refined-github with Gitpod, providing anyone with a pre-built, browser-based development environment in one click:

Screenshot

Stop

https://github.com/sindresorhus/refined-github/pulls?q=is%3Apr+sort%3Aupdated-desc+gitpod+is%3Aclosed

This was just meant to show me on a video call how Gitpod works. It was never intended to be merged.


FAQs - Authentication and middleware authorization

Here are some FAQs relating to authentication and middleware-based authorization - Copied straight from Gitter. Hopefully this will be useful.
General info

atbyrd 01:35
@jondubois So is "isAuthenticated", in the docs, something that is part of the library or do I need to implement this?
jondubois 07:42
@atbyrd There is an authState property here: http://socketcluster.io/#!/docs/api-scsocket-client
authState can be 'authenticated', 'unauthenticated' or 'pending'
jondubois 07:52
When you connect initially, the authState will be 'pending' then once you invoke socket.setAuthToken(myPlainTokenObject) on the server, the client will be sent a signed copy (a JWT token) of the object and the client socket's authState will switch to 'authenticated'. Note that the 'authStateChange' event will trigger on the client socket as well.
If authentication is lost for whatever reason (e.g. when the user logs out - I.e. By calling socket.deauthenticate() or when the JWT token expires), the authState will switch to 'unauthenticated'.
jondubois 07:59
Note that JWT tokens have an expiry date (default is 1 day I believe), but if you want to have a shorter expiry (like 10 minutes), you may want to keep renewing the JWT token by invoking socket.setAuthToken(myPlainTokenObject) on the server-side from time to time (e.g on an interval while the client is still connected - That will stop the token from expiring in the middle of a session). Each time you call setAuthToken, a fresh copy of the token (with new expiry) will be sent to the client.
jondubois 08:05
You can configure channels to only subscribe when the client is authenticated (these act like private channels) using the waitForAuth: true option of the client-side socket.subscribe(...) method here http://socketcluster.io/#!/docs/api-scsocket-client
jondubois 08:13
Note that for efficiency reasons, JWT tokens will not expire until the client tries to perform an action (E.g. emit(), publish() or subscribe()). So by default the client will still be able to passively receive channel data from channels which they were subscribed to before the JWT token expired. If you want to remove the token as soon as it expires (even if the client just stays idle passively consuming channel data), you can manually force the JWT token to be destroyed by calling socket.deauthenticate() from the server when a timeout is reached (for example).

Authenticating using a token from an external provider

atbyrd 08:15
The problem that I'm having is that I have another system which is providing authtokens via jwt. I only need to verify that the message is signed with the same secret as SC there is no authentication that I actually need to handle and inside of SC.
jondubois 08:16
In that case, you can use the socket.authenticate(myJWTToken) from the client - This is client-initiated authentication
You can provide the authKey here: http://socketcluster.io/#!/docs/api-socketcluster
If it matches the secret key of your other provider, then it should just all work automagically
atbyrd 08:17
Is there a specific kind of error that will be return that I can return to the client if auth fails?
This is all done in the Handshake middleware?
jondubois 08:19
You should block it in the middleware by sending back an error if you detect that the token has expired.
It can be done in any middleware
atbyrd 08:20
Ok, thanks. Once I rest I should have a better understanding
jondubois 08:20
If you look at middlewares here http://socketcluster.io/#!/docs/middleware-and-authorization - The req.authTokenExpiredError property will be set to an Error if SC detects that the token has exired. Otherwise req.authTokenExpiredError will be undefined.
Typically, you just want to block the request by passing that Error to the next(req.authTokenExpiredError) callback
But you can pass any error you want... You don't even have to block at all if you don't want (in some odd cases, it may be OK to allow clients with expired tokens to continue). Authentication vs authorization are separate concerns in SC.
atbyrd 08:22
a string?
jondubois 08:22
It will be an Error object
You can also provide a string if you like
atbyrd 08:22
cool
jondubois 08:22
but an Error object with a name property is the best

I am sorry, but even after reading the above, I am kind of lost. Does SC automatically take care of OAuth?
If not, how easy / difficult it is to integrate with 3rd party middleware such as: http://passportjs.org/
One of the threads pointed in the above discussion is referring to https://github.com/sahat/satellizer but not sure how easy it is to use it (because it looks like the statellizer is only for Angular frontend).
Does SC take care of creating and delivering the front end login-pages automatically on the fly ?


[HOLD for payment 2023-11-07] [$1000] Appropriate Message is not shown when inviting the secondary contact to members.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Create a Secondary contact for user A.
Open an account Using User B
Go to workspace then Members
Click the invite button.
Now, write the secondary contact of user A.
Click on Next and then Invite.
Notice that a message appears on the Members list page saying "Member not found. To invite a new member to the workspace, please use the Invite button above."  This message should appear when searching for a member that is not in the list.

Expected Result:
The user is added to the policy members, and a success message appears indicating that it is a secondary contact
Actual Result:
The user is not added to the policy members, and a message saying "Member not found" appears.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.32-5
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/98027744-d117-4b20-b737-5642dfdafe1e
https://github.com/Expensify/App/assets/43996225/f6d09632-7d39-4628-b904-f97aebf37d1f
Expensify/Expensify Issue URL:
Issue reported by: @daveSeife
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687378050045829
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0168b338ffdb8d8f7c
Upwork Job ID:<PHONE_NUMBER>172874752
Last Price Increase: 2023-07-06

Issue OwnerCurrent Issue Owner: @johncschuster

Expected Result:
A message appears indicating that it is a secondary contact

I'm not sure this is the expected result. If a user's secondary login email is invited to a workspace, I would think their account would be added as a workspace member and no prompt will be shown.
I'm buddy checking this in Slack

No response in #product. I'm going to cross-post the thread and bump it.

Meh, I think #product is the right room for this discussion. I've bumped the thread.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Appropriate Message is not shown when inviting the secondary contact to members.
What is the root cause of that problem?
When inviting a user with their secondary contact method the API GET /api?command=AddMembersToWorkspace returns onyxData as below for key personalDetailsList and key policyMembers_
...,
{
    onyxMethod: "merge",
    key: "policyMembers_2F7B14BEF8B73D2C",
    value: [],
},
...,
{
    "onyxMethod": "merge",
    "key": "personalDetailsList",
    "value": []
},
...

Full response data from API
{
"jsonCode": 200,
"requestID": "7e2b024e0b5e9884-KTM",
"onyxData": [
  {
    "onyxMethod": "merge",
    "key": "report_7710969573617247",
    "value": {
      "reportID": "7710969573617247",
      "maxSequenceNumber": 21,
      "lastVisibleActionCreated": "2023-07-06 21:40:57.322",
      "lastReadTime": "2023-07-06 21:40:57.322",
      "lastMentionedTime": null,
      "lastMessageText": "added<EMAIL_ADDRESS>as a user",
      "lastActorEmail"<EMAIL_ADDRESS>      "lastActorAccountID": 14961999
    }
  },
  {
    "onyxMethod": "merge",
    "key": "reportActions_7710969573617247",
    "value": {
      "4840190911303924729": {
        "person": [
          {
            "type": "TEXT",
            "style": "strong",
            "text": "User Two"
          }
        ],
        "actorEmail"<EMAIL_ADDRESS>        "actorAccountID": 14961999,
        "message": [
          {
            "type": "COMMENT",
            "html": "added<EMAIL_ADDRESS>as a user",
            "text": "added<EMAIL_ADDRESS>as a user",
            "isEdited": false,
            "whisperedTo": [],
            "isDeletedParentAction": false,
            "reactions": []
          }
        ],
        "originalMessage": {
          "accountID": -1,
          "email"<EMAIL_ADDRESS>          "lastModified": "2023-07-06 21:40:57.322",
          "name": "",
          "role": "user"
        },
        "avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_14.png",
        "created": "2023-07-06 21:40:57.322",
        "timestamp":<PHONE_NUMBER>,
        "reportActionTimestamp":<PHONE_NUMBER>322,
        "automatic": false,
        "actionName": "POLICYCHANGELOG_ADD_EMPLOYEE",
        "shouldShow": true,
        "reportActionID": "4840190911303924729",
        "lastModified": "2023-07-06 21:40:57.322",
        "whisperedTo": [],
        "whisperedToAccountIDs": [],
        "sequenceNumber": 21,
        "isAttachment": false
      }
    },
    "shouldNotify": true
  },
  {
    "onyxMethod": "set",
    "key": "report_5697814073208219",
    "value": null
  },
  {
    "onyxMethod": "merge",
    "key": "policyMembers_2F7B14BEF8B73D2C",
    "value": []
  },
  {
    "onyxMethod": "merge",
    "key": "report_4982509216725819",
    "value": {
      "participants": [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>      ],
      "participantAccountIDs": [14961999, 14961964, 14961992]
    }
  },
  {
    "onyxMethod": "merge",
    "key": "report_7710969573617247",
    "value": {
      "participants"<EMAIL_ADDRESS>      "participantAccountIDs": [14961999]
    }
  },
  {
    "onyxMethod": "merge",
    "key": "personalDetailsList",
    "value": []
  },
  {
    "onyxMethod": "mergecollection",
    "key": "report_",
    "value": []
  }
]
}

However, our Onyx store has the value stored as objects of objects for key personalDetailsList

This causes Onyx.merge() to throw error [Onyx] An error occurred while applying merge for key: personalDetailsList, Error: TypeError: modifiedData is not iterable

Since the API response is missing account ID for policy member and also personal details, following template is rendered based on the condition.
https://github.com/Expensify/App/blob/c08882192474585888d3cc8a44a73f6fc16d71ea/src/pages/workspace/WorkspaceMembersPage.js#L489-L493
What changes do you think we should make in order to solve the problem?
When inviting through second contact method, the API GET /api?command=AddMembersToWorkspace should return personal details value (as object) and account ID in policyMeembers collection similar to when user is invited through their primary contact method.
Example Response:
...,
{
    onyxMethod: "merge",
    key: "policyMembers_2F7B14BEF8B73D2C",
    value: {
      14961964: {},
    },
},
...,
{
    onyxMethod: "merge",
    key: "personalDetailsList",
    value: {
      14961964: {
        accountID: 14961964,
        avatar:
          "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_24.png",
        displayName: "User Main",
        login<EMAIL_ADDRESS>        pronouns: "",
        timezone: {
          automatic: true,
          selected: "Asia/Katmandu",
        },
        firstName: "User",
        lastName: "Main",
        payPalMeAddress: "",
        phoneNumber: "",
        validated: true,
      },
    },
  },
...

Sample full response
{
"jsonCode": 200,
"requestID": "7e2b024e0b5e9884-KTM",
"onyxData": [
  {
    "onyxMethod": "merge",
    "key": "report_7710969573617247",
    "value": {
      "reportID": "7710969573617247",
      "maxSequenceNumber": 10,
      "lastVisibleActionCreated": "2023-07-06 19:46:44.587",
      "lastReadTime": "2023-07-06 19:46:44.587",
      "lastMentionedTime": null,
      "lastMessageText": "added User Main<PHONE_NUMBER>) as a user",
      "lastActorEmail"<EMAIL_ADDRESS>      "lastActorAccountID": 14961999
    }
  },
  {
    "onyxMethod": "merge",
    "key": "reportActions_7710969573617247",
    "value": {
      "1481106746744550766": {
        "person": [
          {
            "type": "TEXT",
            "style": "strong",
            "text": "User Two"
          }
        ],
        "actorEmail"<EMAIL_ADDRESS>        "actorAccountID": 14961999,
        "message": [
          {
            "type": "COMMENT",
            "html": "added User Main<PHONE_NUMBER>) as a user",
            "text": "added User Main<PHONE_NUMBER>) as a user",
            "isEdited": false,
            "whisperedTo": [],
            "isDeletedParentAction": false,
            "reactions": []
          }
        ],
        "originalMessage": {
          "accountID": "14961964",
          "email"<EMAIL_ADDRESS>          "lastModified": "2023-07-06 19:46:44.587",
          "name": "User Main",
          "role": "user"
        },
        "avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_14.png",
        "created": "2023-07-06 19:46:44.587",
        "timestamp":<PHONE_NUMBER>,
        "reportActionTimestamp":<PHONE_NUMBER>587,
        "automatic": false,
        "actionName": "POLICYCHANGELOG_ADD_EMPLOYEE",
        "shouldShow": true,
        "reportActionID": "1481106746744550766",
        "lastModified": "2023-07-06 19:46:44.587",
        "whisperedTo": [],
        "whisperedToAccountIDs": [],
        "sequenceNumber": 10,
        "isAttachment": false
      }
    },
    "shouldNotify": true
  },
  {
    "onyxMethod": "merge",
    "key": "policyMembers_2F7B14BEF8B73D2C",
    "value": {
      "14961964": {}
    }
  },
  {
    "onyxMethod": "merge",
    "key": "report_4982509216725819",
    "value": {
      "participants": [
<EMAIL_ADDRESS><EMAIL_ADDRESS>      ],
      "participantAccountIDs": [14961999, 14961964]
    }
  },
  {
    "onyxMethod": "merge",
    "key": "report_7710969573617247",
    "value": {
      "participants"<EMAIL_ADDRESS>      "participantAccountIDs": [14961999]
    }
  },
  {
    "onyxMethod": "merge",
    "key": "personalDetailsList",
    "value": {
      "14961964": {
        "accountID": 14961964,
        "avatar": "https://d2k5nsl2zxldvw.cloudfront.net/images/avatars/default-avatar_24.png",
        "displayName": "User Main",
        "login"<EMAIL_ADDRESS>        "pronouns": "",
        "timezone": {
          "automatic": true,
          "selected": "Asia/Katmandu"
        },
        "firstName": "User",
        "lastName": "Main",
        "payPalMeAddress": "",
        "phoneNumber": "",
        "validated": true
      }
    }
  },
  {
    "onyxMethod": "mergecollection",
    "key": "report_",
    "value": []
  }
]
}

What alternative solutions did you explore? (Optional)
N/A

Thanks for calling that out, @allroundexperts! I'll apply the Internal label.

Not overdue, Melvin. I just took this one internal.

I'm going to be OOO tomorrow and Friday and I can pick this up when I get back. I'll also post to engineering chat to see if anyone wants to take it over while I'm out.

Sweet. Thanks for the heads up, @neil-marcellini!

Nothing new to report, Melvin. We'll be back at this one shortly.

I haven't had time for this yet but I'll bump it up on my list of priorities.

👀 okay I'm diving in!

I have a fix in progress and it seems to work pretty well, but it is a little confusing that when you add a secondary login, the primary login ends up being added. I took a look at how we solve this on OldDot, and we show an informative message.

I think it would be good to do something similar for NewDot, but integrate the messages into the UI a bit more. I'll work on a draft and then post in Slack to get feedback and gain consensus on the UX.

Next time I'll work on the front end PR to show the proper messages.

I'm planning to work on this today.

Thanks, Melv 👍
@neil-marcellini, it sounds like you've already got this prioritized. Do you need to offload anything to make this your number one? Is there anything I can do to help/keep Melvin happy?

I would love to offload a bunch of stuff but that hasn't been possible for a long time, everyone is too busy.
I fixed a small mistake I had on the backend PR. My plan for the front end is:
Under each user that was added by a secondary login it could say "Added by secondary login<EMAIL_ADDRESS>There will also be a general status message like "Some users were added with their primary logins" displayed just under the find a member input. It will have a dismiss button which will remove that message and all the primary login notes.

I asked for some feedback on the plan here, and design review, before I dig in to the front end changes.

People are happy with the plan so I'm going to implement the front end PR now.

Next time I will clean up the code on the front end and prepare the PRs for review. I've already asked Shawn for some design feedback.

Heads up, I'm going to be OOO Monday and Tuesday next week. I'll ask in Slack if anyone can take over these issues while I'm out.

Bumping for Melvin.

Thank you for appeasing the relentless Melvin. I'm working on this now 👀.

Ok I got the backend PR up for review, and I'll put the front end PR up as soon as the backend PR is on staging.

Backend PR is on staging, putting the front end PR up for review.

How's this one going, @neil-marcellini?

Bumping to keep Melvin happy

How's the front end PR going, @neil-marcellini?

Wow I totally forgot about this. Please bump me again. I'm going to remove the reviewing label and put the PR into a draft state so that I don't forget again.

I made a little bit of progress on this one today.

I made some more progress this and yesterday morning. I think I can get it up for another round of review tomorrow.

May I please have a design review of the PR Show info about workspace members added by secondary logins?

It looks very similar to the initial intended one that @shawnborton gave a 👍 for, so it looks good to me.

Payment Summary:
External issue reporter: @daveSeife - $250 - will be paid via Upwork (through this issue)
Contributor+ that helped on the issue and/or PR: @allroundexperts - $1000 - Eligible for Manual Requests

@allroundexperts / @neil-marcellini, do you feel we will need regression test steps for this?

@allroundexperts / @neil-marcellini, do you feel we will need regression test steps for this?

No I don't think we should bother since it's quite an edge case.

$1,000 payment approved for @allroundexperts based on this comment.


UI feedback: Information hierarchy

I like the UI, yet I think there is room for improvement. Status quo:

I recommend a stronger hierarchy between parents and children using size, indents and contrast:

(I forgot to make the header background color lighter, please imagine that, too ;-)
The same is true for the selected row in the layer list: Here higher contrast and maybe a bold font would help.

It is at first sight indeed very difficult to orient yourself since everything looks the same.

Yep. The perfect way would be to work on a really good color palette with good contrasts. The pragmatic way would be to simply use significantly lighter greys for headers, mouse-over and the active layer ;-) Plus bigger/stronger text for headers.
BTW, the fact that all CSS is inline and not in an external CSS file makes editing quite hard.

I also found out that on bad contrast monitors the different shades of gray are probably too close to each other.

BTW, the fact that all CSS is inline and not in an external CSS file makes editing quite hard.

I am also no longer so convinced from the React inline style approach as of the beginning of the project.
It is great for components that are used in other projects - but if it is mostly components for the same app stylesheets make sense again.

Replaced by #64.


I had redirect to the login page and after i login it, it shows userData null so i can't get the user's data. Can someone help me?

Thank you for opening this issue! I am closing this as stale since it hasn't been updated for a while. Please open a new issue or let me know you still have this issue in a comment 👍


Add tri-state locking and update locktable description

Adds info about using tri-state locking as reduce locking. And clarifies come confusion about LockTable.

Looks good to me


Add return in reduce-conciliation.md

I think a return is missing from the example. I'm learning Roact so I might be wrong :-)

Coverage remained the same at 93.012% when pulling dbb93d044fba2d6e37b053b36c3db292725ffca5 on MichaelMcDonnell:patch-1 into 693e64e01b541f8080485033395c777e99523fd0 on Roblox:master.


[FEAT] Improve the home about part 2

@tbouffard I find it strange to have , and at the end of a bullet point.


MetastoreClient doesn't works with python 3

I'm using luigi to check if table in hive is present. This code works fine with HiveCommandClient and fails with MetastoreClient
I am using python 3.7.4, thrift 13.0.0, luigi 3.0.0, Hive 2.1.1-cdh6.3.1
A minimal example to reproduce this is:
from luigi.contrib.hive import MetastoreClient, HiveTableTarget
client = MetastoreClient()
target = HiveTableTarget(database='some_db', table='some_table', client=client)
target.exists()

It fails with:
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
~/.local/lib/python3.7/site-packages/luigi/contrib/hive.py in __enter__(self)
    262             # If using the Apache release of Hive this import will fail.
--> 263             from hive_metastore import ThriftHiveMetastore
    264             config = luigi.configuration.get_config()

~/hive_metastore/ThriftHiveMetastore.py in <module>
      9 from thrift.Thrift import TType, TMessageType, TException, TApplicationException
---> 10 import fb303.FacebookService
     11 import logging

~/fb303/FacebookService.py in <module>
      7 from thrift.Thrift import *
----> 8 from ttypes import *
      9 from thrift.Thrift import TProcessor

ModuleNotFoundError: No module named 'ttypes'

During handling of the above exception, another exception occurred:

Exception                                 Traceback (most recent call last)
<ipython-input-24-918034d6f4e8> in <module>
      2 client = MetastoreClient()
      3 target = HiveTableTarget(database='ods_weblog_data', table='clickstream_logs', client=client)
----> 4 target.exists()

~/.local/lib/python3.7/site-packages/luigi/contrib/hive.py in exists(self)
    499             )
    500
--> 501             return self.client.table_exists(self.table, self.database, self.partition)
    502         except HiveCommandError:
    503             if self.fail_missing_table:

~/.local/lib/python3.7/site-packages/luigi/contrib/hive.py in table_exists(self, table, database, partition)
    222
    223     def table_exists(self, table, database='default', partition=None):
--> 224         with HiveThriftContext() as client:
    225             if partition is None:
    226                 return table in client.get_all_tables(database)

~/.local/lib/python3.7/site-packages/luigi/contrib/hive.py in __enter__(self)
    272             return ThriftHiveMetastore.Client(protocol)
    273         except ImportError as e:
--> 274             raise Exception('Could not import Hive thrift library:' + str(e))
    275
    276     def __exit__(self, exc_type, exc_val, exc_tb):

Exception: Could not import Hive thrift library:No module named 'ttypes'

As i could see there is no more ttypes module in python 3.

@Qubiq1337 Hi
It looks like thrift is not py3 supported
One possible solution is to replace thrift with thriftpy2

@drowoseque hello there!
Yes, i could, but what am i suppose to do with hive_metastore module?

@Qubiq1337
is hive_metastore a cloudera-provided module?

@drowoseque nope, as i understand it it's generated by thrift module
link to hive 2.1 branch


feat: Update splash screen and icon

Issue

Link: https://github.com/NebraLtd/maker-starter-app/issues/30
Summary:

Change Splash screen. The splash screen should blend in with the frame background seamlessly on all phone sizes
Change primary app logo.

How

Change Splash screen using expo cli.

yarn run configure-splash-screen --background-color=#21749a --status-bar-background-color=#fff -i ../splash.png

This command changes the splash image and background color so that splash screen should blend in with the frame background seamlessly.

Change App Icon.
Place a png App icon in the project root and run the following command.

npx app icon-generate

Screenshots

References

https://github.com/expo/expo-cli/tree/main/unlinked-packages/configure-splash-screen

Checklist

[ ] Tests added
[ ] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names

@marvinmarnold @Andrewsopoku Do you agree to change App Icon by replacing the following files?
Change app icon
(shared asset)
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/icon.png
(android)
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
(96 x 96 png is missing in the assets from appvales, made one by resizing)
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
(192 x 192 png is missing in the assets from appvales, made one by resizing)
(ios)
• https://github.com/NebraLtd/maker-starter-app/blob/2712ee44e09a2b9637ae80e18015f59186dc46d2/ios/MakerApp/Images.xcassets/AppIcon.appiconset/*.png
(31 files)

Should be the App Logo only the center circle without blue background?

We need a new App Logo Icon without background color and set the background color as a value in the Android/iOS resource file.

@posterzh how about deleting icons from their respective apps (android and ios) and;

placing the new logo as icon.png in the root directory
Run yarn icon

To generate the all sizes of App Icon automatically from a single png icon file:
1. Install ImageMagic
ImageMagick needs to be installed since its the prerequisite for the app-icon package.
It can be installed on Ubuntu 20.04 using the following commands.
sudo apt update
sudo apt install imagemagick

2. Prepare App Icon
Placed a 196x196 png file named icon.png in the project root(Its size should be at least 192x192 as said in the documentation).

3. Run cli command
yarn icon

After changing App Icon, it looks like this on Android Moto e.

The features of 'maker-starter-app' works without breaking.

Make launcher App Icon larger on Android.
app-icon cli doesn't support it(the '--adaptive-icon' flag doesn't work), but Android Studio let me do it.


[<vcpkg.cmake>] compile miniocpp but cmake failed

Host Environment

OS: [Win10-WSL1-Ubuntu20.04.5]
Compiler: gcc-9.4.0

To Reproduce
Steps to reproduce the behavior:
git clone https://github.com/minio/minio-cpp
cd minio-cpp
wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip
unzip -qq vcpkg-master.zip
./vcpkg-master/bootstrap-vcpkg.sh
./vcpkg integrate install
cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
Failure logs
-- Running vcpkg install
-- Running vcpkg install - failed
CMake Error at vcpkg-master/scripts/buildsystems/vcpkg.cmake:892 (message):
vcpkg install failed.  See logs for more information:
/home/xyq/minio-cpp/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake:93 (include)
CMakeLists.txt:16 (project)
CMake Warning (dev) in vcpkg-master/scripts/buildsystems/vcpkg.cmake:
Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH
and POP.  Run "cmake --help-policy CMP0011" for policy details.  Use the
cmake_policy command to set the policy and suppress this warning.
The included script
/home/xyq/minio-cpp/vcpkg-master/scripts/buildsystems/vcpkg.cmake
affects policy settings.  CMake is implying the NO_POLICY_SCOPE option for
compatibility, so the effects are applied to the including context.
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake:93 (include)
CMakeLists.txt:16 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!

Additional context
I am sure that I had install nessary development tool. like 'make build-essential tar curl zip unzip ninja' and so on
I try set CMAKE_MAKE_PROGRAM in the CMakeCache.txt(build), but still failed (CMAKE_BUILD_PROGRAM=/usr/bin/make)
Output log:
-- Running vcpkg install
-- Running vcpkg install - failed
CMake Error at vcpkg-master/scripts/buildsystems/vcpkg.cmake:892 (message):
vcpkg install failed.  See logs for more information:
/home/xyq/minio-cpp/build/vcpkg-manifest-install.log
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake:93 (include)
CMakeLists.txt:16 (project)
CMake Warning (dev) in vcpkg-master/scripts/buildsystems/vcpkg.cmake:
Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH
and POP.  Run "cmake --help-policy CMP0011" for policy details.  Use the
cmake_policy command to set the policy and suppress this warning.
The included script
/home/xyq/minio-cpp/vcpkg-master/scripts/buildsystems/vcpkg.cmake
affects policy settings.  CMake is implying the NO_POLICY_SCOPE option for
compatibility, so the effects are applied to the including context.
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake:93 (include)
CMakeLists.txt:16 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!

I am sure that I had install nessary development tool. like 'make build-essential tar curl zip unzip ninja' and so on
I try set CMAKE_MAKE_PROGRAM in the CMakeCache.txt(build), but still failed (CMAKE_BUILD_PROGRAM=/usr/bin/make)

Which variable did you really set?
Did you check that /usr/bin/make exists?

I am sure that I had install nessary development tool. like 'make build-essential tar curl zip unzip ninja' and so on
I try set CMAKE_MAKE_PROGRAM in the CMakeCache.txt(build), but still failed (CMAKE_BUILD_PROGRAM=/usr/bin/make)

Which variable did you really set? Did you check that /usr/bin/make exists?
I am sure that make is existent, and use find command to get its path

I am sure that I had install nessary development tool. like 'make build-essential tar curl zip unzip ninja' and so on
I try set CMAKE_MAKE_PROGRAM in the CMakeCache.txt(build), but still failed (CMAKE_BUILD_PROGRAM=/usr/bin/make)

Which variable did you really set? Did you check that /usr/bin/make exists?
I am sure that make is existent, and use find command to get its path

AFAIU you didn't check.
ls -l /usr/bin/make
which make
make --version

but still failed (CMAKE_BUILD_PROGRAM=/usr/bin/make)

Note that this isn't the right variable.

make --version

I can't wait for help by yours ,then I spent some time to modify miniocpp's CMakeLists.txt and install it's dependencies manually in ubuntu20 of win10 this morning.  I completed compilation by luck.

Luck, indeed. As the error probably isn't related to vcpkg.

Luck, indeed. As the error probably isn't related to vcpkg.

it's really werid, I retry to use vckpkg to compile the originial CMakeLists. compilation witout any problem

I recur the issue in Windows 10 IoT Enterprise LTSC(Version 21H2, OS build19044.1288) Ubuntu20.04 LTS-WSL2

Solution:
sudo apt-get install pkg-config -y


Build TFLite Micro for RISC-V

@tensorflow/micro
How do I build TFLite Micro for RISC-V MCU's? I use:
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin
but the binary produced at /micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin/ seems to not have used the riscv-gcc toolchain as specified by mcu_riscv_makefile.inc. An x86-64 executable was built.

@ioannesKX
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]

@ioannesKX
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]

System information

Host OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 20.04.1 LTS x86_64
TensorFlow installed from (source or binary):  Source
Tensorflow version (commit SHA if source): commit 2780b863ca82403b4c080042e9ac3e5772189881 (HEAD -> master, origin/master, origin/HEAD)
Target platform (e.g. Arm Mbed OS, Arduino Nano 33 etc.):  some RISC-V

Describe the problem
Cannot compile TFLite Micro for RISC-V target. IDK if bug or if I'm following the wrong steps.
Please provide the exact sequence of commands/steps when you ran into the problem
After cloning, from the tensorflow directory:
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=mcu_riscv TARGET_ARCH=riscv32_mcu hello_world_bin
I'd expect this command to compile TFLite Micro using the riscv64-unknown-elf toolchain (as specified in flags in /micro/tools/make/targets/mcu_riscv_makefile.inc) and produce a RISC-V executable under /micro/tools/make/gen/mcu_riscv_riscv32_mcu_default/bin , but it actually produces a normal x86 one (executes normally on my host machine), meaning the flags were not passed properly or something similar.

I have pulled the above changes. They have fixed the issue with the round/expm functions, but a couple more have a similar problem. Result of same make command as above:
In file included from ./tensorflow/lite/kernels/internal/reference/reduce.h:21,
                 from tensorflow/lite/micro/kernels/reduce.cc:16:
./tensorflow/lite/kernels/internal/max.h: In function 'T tflite::TfLiteMax(const T&, const T&)':
./tensorflow/lite/kernels/internal/max.h:29:15: error: 'fmax' is not a member of 'std'; did you mean 'max'?
   29 |   return std::fmax(x, y);
      |               ^~~~
      |               max
In file included from ./tensorflow/lite/kernels/internal/reference/reduce.h:22,
                 from tensorflow/lite/micro/kernels/reduce.cc:16:
./tensorflow/lite/kernels/internal/min.h: In function 'T tflite::TfLiteMin(const T&, const T&)':
./tensorflow/lite/kernels/internal/min.h:29:15: error: 'fmin' is not a member of 'std'; did you mean 'min'?
   29 |   return std::fmin(x, y);
      |               ^~~~
      |               min
make: *** [tensorflow/lite/micro/tools/make/Makefile:672: tensorflow/lite/micro/tools/make/gen/riscv32_mcu_riscv32_mcu_micro/obj/tensorflow/lite/micro/kernels/reduce.o] Error 1```

Similiar try on TFLM for RISC-V, but different progress and error.
I tried TFLM on MaixPy Amigo, which is also RISC V base MCU, but failed. I reported at MaixPy repo issue, but no reply yet. See if I can get some input here.
I did the same with @ioannesKX by  renaming mcu_riscv_makefile.inc to riscv32_mcu_makefile.inc, but different make command, and it 'works', though not sure if that is the 'right' approach.
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
$ mv tensorflow/lite/micro/tools/make/targets/mcu_riscv_makefile.inc tensorflow/lite/micro/tools/make/targets/riscv32_mcu_makefile.inc
$ make -f tensorflow/lite/micro/tools/make/Makefile TARGET=riscv32_mcu generate_hello_world_make_project

I manually move the source files from tensorflow directory to MaixPy tool chain directory (clone from MaixPy hello_world example), and update the CMakeLists.txt. It seems working to some extent, but error happens with namespace, even though I modified the CXX flags to -std=c++11.
It seems opposite to this PR - mars20@4fe2984# - the round function
$ cd ~/maixpy/projects/TFLM_hello_world
$ python3 project.py build
.....
In file included from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.h:23,
                 from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.cc:16:
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h: In function 'T tflite::TfLiteRound(T)':
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:36:41: error: 'round' is not a member of 'std'
 DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
                                         ^~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:33:39: note: in definition of macro 'DECLARE_STD_GLOBAL_SWITCH1'
     return TF_LITE_GLOBAL_STD_PREFIX::std_name(x);    \
                                       ^~~~~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:36:41: note: suggested alternative:
 DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
                                         ^~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:33:39: note: in definition of macro 'DECLARE_STD_GLOBAL_SWITCH1'
     return TF_LITE_GLOBAL_STD_PREFIX::std_name(x);    \
                                       ^~~~~~~~
In file included from /opt/kendryte-toolchain/riscv64-unknown-elf/include/c++/8.2.0/cmath:45,
                 from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.h:18,
                 from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.cc:16:
/opt/kendryte-toolchain/riscv64-unknown-elf/include/math.h:308:15: note:   'round'
 extern double round (double);
               ^~~~~
In file included from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.h:23,
                 from /home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/quantization_util.cc:16:
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h: In function 'T tflite::TfLiteExpm1(T)':
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:37:41: error: 'expm1' is not a member of 'std'
 DECLARE_STD_GLOBAL_SWITCH1(TfLiteExpm1, expm1);
                                         ^~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:33:39: note: in definition of macro 'DECLARE_STD_GLOBAL_SWITCH1'
     return TF_LITE_GLOBAL_STD_PREFIX::std_name(x);    \
                                       ^~~~~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:37:41: note: suggested alternative: 'exp'
 DECLARE_STD_GLOBAL_SWITCH1(TfLiteExpm1, expm1);
                                         ^~~~~
/home/ubuntu/maixpy/projects/amigo_tflm/main/tensorflow/lite/kernels/internal/cppmath.h:33:39: note: in definition of macro 'DECLARE_STD_GLOBAL_SWITCH1'
     return TF_LITE_GLOBAL_STD_PREFIX::std_name(x);    \
                                       ^~~~~~~~

Can you try with TARGET=risc32_mcu and check?
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=riscv32_mcu hello_world
Also see #32041

$ make -f tensorflow/lite/micro/tools/make/Makefile TARGET=riscv32_mcu hello_world
tensorflow/lite/micro/tools/make/downloads/flatbuffers already exists, skipping the download.
tensorflow/lite/micro/tools/make/downloads/pigweed already exists, skipping the download.
tensorflow/lite/micro/tools/make/Makefile:565: tensorflow/lite/micro/tools/make/targets/riscv32_mcu_makefile.inc: No such file or directory
make: *** No rule to make target 'tensorflow/lite/micro/tools/make/targets/riscv32_mcu_makefile.inc'.  Stop.

On previous issues indeed TARGET=riscv32_mcu is used, but as this error implies, there should be a file riscv32_mcu_makefile.inc under /targets rather than themcu_riscv_makefile.inc that exists now. If you search https://github.com/tensorflow/tensorflow/search?q=riscv32_mcu you can see that this is the TARGET expected from the rest of the code base.
I suspected there was a mistake in the filename and renamed mcu_riscv_makefile.inc to riscv32_mcu_makefile.inc, now the make command you gave me seems to start working as intended: it downloads the SiFive gcc-riscv toolchain and starts using it to compile, but I reach another error:
make: *** No rule to make target 'tensorflow/lite/micro/tools/make/gen/riscv32_mcu_riscv32_micro/obj/tensorflow/lite/micro/tools/make/downloads/sifive_fe310_lib/bsp/env/start.S', needed by 'tensorflow/lite/micro/tools/make/gen/riscv32_mcu_riscv32_micro/bin/hello_world'.  Stop.

This seems to be the related PR.

I have the same issue with this. Has it been resolved yet?

Managed to compile and run the examples on Spike so I think it's resolved now: https://github.com/tensorflow/tflite-micro/issues/311 @chuantunglin


Wildcard(*) in ingress.spec.host is not honored

Do you want to request a feature or report a bug?
Feature
What did you expect to see?
Request  to  *.somthing.svc.foo.bar/api goes to to correct svc ie k8s-service-app
What did you see instead?
Request  to somthing.svc.foo.bar/api goes to correct svc.
Request  to  *.somthing.svc.foo.bar/api goes to to incorrect(default) svc.
Output of traefik version: (What version of Traefik are you using?)
Version:      2.3.3
Codename:     picodon
Go version:   go1.15.5
Built:        2020-11-19T17:43:21Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
#traefik.yaml
serversTransport:
  insecureSkipVerify: true
entryPoints:
  http:
    address: :8080
    proxyProtocol:
      trustedIPs:
      - <IP_ADDRESS>/8
  https:
    address: :8443
    http:
      tls: {}
    proxyProtocol:
      trustedIPs:
      - <IP_ADDRESS>/8
  traefik:
    address: :8888
  ping:
    address: :9000
providers:
  providersThrottleDuration: 2s
  kubernetesIngress:
    ingressEndpoint:
      publishedService: traefik/traefik
  kubernetesCRD: {}
tls:
  options:
    default:
      minVersion: "VersionTLS11"
api:
  insecure: true
ping:
  entryPoint: "ping"
metrics:
  prometheus: {}
log:
  level: DEBUG
  format: json
accessLog:
  format: json
  fields:
    defaultMode: keep
    names:
      ServiceURL: keep
      ServiceName: keep
      RouterName: kep
      ClientAddr: keep
      Duration: keep
      OriginDuration: keep
      OriginStatus: keep
      RequestMethod: keep
      RequestPath: keep
      RequestProtocol: keep
      RequestUserAgentHeader: keep
      RetryAttempts: keep
      headers: keep
    headers:
      defaultMode: drop
      names:
        CF-Connecting-IP: keep
        User-Agent: keep
        X-Forwarded-For: keep

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
  name: k8s-service
  namespace: my-path
spec:
  rules:
  - host: '*.somthing.svc.foo.bar'
    http:
      paths:
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /my-path
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /api
  - host: '*.somthing.api.foo.bar'
    http:
      paths:
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /my-path
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /api
  - host: somthing.svc.foo.bar
    http:
      paths:
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /my-path
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /api
  - host: somthing.api.foo.bar
    http:
      paths:
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /my-path
      - backend:
          serviceName: k8s-service-app
          servicePort: 8000
        path: /api

There is no * in dashboard rule.

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
(paste your output here)

Closed by #7711.

Closed by #7711.


Eliminate the confusing double negative

I was having trouble parsing the caveat NOTE, proposing wording changes that I think reflect the meaning and avoid the confusion.

Queued a build.


Encode paths returned as part of 400 and 404 responses

Helidon 1.x branch: Encode paths returned as part of 400 and 404 responses.
Signed-off-by: Santiago Pericasgeertsen<EMAIL_ADDRESS>

This PR shows a couple of bogus (already merged) commits. Trying to fix the log now.


Update Travis config

Run chrome headless instead of xvfb
Add saucelabs addon to always run against saucelabs
Disable sensio security checker which currently gives ssl handshake errors

Coverage remained the same at 25.498% when pulling e53fd1e62e14ba6cdd71a6594aed408f61864ee5 on pierredup:travis into e0d320aaba6d70ff9fcc1922f247a6377f029195 on CSBill:master.

Coverage remained the same at 25.498% when pulling e53fd1e62e14ba6cdd71a6594aed408f61864ee5 on pierredup:travis into e0d320aaba6d70ff9fcc1922f247a6377f029195 on CSBill:master.

Coverage remained the same at 25.502% when pulling d01e82106f140486e93fec0dda3c371946119ab7 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling aa5b17bf55f7c83d9fa905f999ec7ead174db679 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling 291f44c377f77b600d884b8da71f84fb2ecc47dd on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling 291f44c377f77b600d884b8da71f84fb2ecc47dd on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling f54154ceac3e4495781f9339fa4dd1dfb0f05091 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling f54154ceac3e4495781f9339fa4dd1dfb0f05091 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling 74d425039ce264812968591455a0d1ca361c4f46 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage remained the same at 25.502% when pulling 7cd53b21cdcf3f123e34033b4e7726c961e2a2c9 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage decreased (-1.7%) to 23.775% when pulling 4e8a2efb95bb89f6419eb3229749cf9c66924c45 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage decreased (-1.6%) to 23.861% when pulling 82de05573d3b82d86151cc19d0ce72c52311278c on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage decreased (-1.6%) to 23.861% when pulling f6628d0155d480cf64aaf9899183dfa23f39268f on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage decreased (-1.6%) to 23.861% when pulling f6628d0155d480cf64aaf9899183dfa23f39268f on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 7b96c5e43c6c41debced59c1291e23f18fde3c60 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 2c9b1e031bfbd49311e086676038578ad096a8c1 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 2c9b1e031bfbd49311e086676038578ad096a8c1 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling d7e37e392f2f2c407ac56ae13c11a01862022581 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling d516dad17093ebd84a4da42d8f6713e915b40486 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 5fef9e81713ef9b58593bd5bcdf754923391c8f2 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling afbdfa3385418f87fe70d502938ecc2d27a0125a on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling cca8a3a1bc92e16fb266fc3e42582406bae0e836 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling dabb174ea1e09df412f4def36bc3422b2278519e on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 66b670b1f478b4ac05c9e81d3acce8bed5701b81 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 0caa24e0de678c43814f39ae06f5c91e94e418cb on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.

Coverage increased (+0.09%) to 25.589% when pulling 2ecf7e6e2727b99a7c514830042075a2b61664b2 on pierredup:travis into 8055c3550bfa18b4006e70b5efe60f21b14fe906 on CSBill:master.


NAT sessions is empty on the Grafana dashboard

When, I'm checking "NAT Sessions" graph in Grafana - it is empty.
Correct me if I'm wrong, but it seems that "ip nat" command is missing in metrics.json?
Or is this another reason why "ip nat" is not collected?
Update:
I've checked and "ip nat" metrics collection seems to be gone starting from metrics.json in 1.1.1 release.
In 1.1.0 release metrics.json:
  {
      "command": "ip nat",
      "root" : "$.[*]",
      "tags" : {
        "src" : "$.src",
        "dst" : "$.dst"
      },
      "values" : {
        "bytes-in": "$.bytes",
        "bytes-out": "$.bytes-out"
      }
   },

@FlyingHavoc yes, it was removed due to performance reason on InfluxDB side.
If you want to collect NAT session you can override metrics.json, see example in readme
please note that it generate a lot of data in influx, so you need to be sure that your influx host is ready to handle this

@FlyingHavoc yes, it was removed due to performance reason on InfluxDB side.
If you want to collect NAT session you can override metrics.json, see example in readme
please note that it generate a lot of data in influx, so you need to be sure that your influx host is ready to handle this

@vitaliy-sk Thanks for the message.
I'm still on influxdb 1.8 version.
I have created retention policy for keenetic database now.

SHOW RETENTION POLICIES ON "keenetic"
name    duration shardGroupDuration replicaN default

autogen 0s       168h0m0s           1        true

CREATE RETENTION POLICY "two_months" ON "keenetic" DURATION 60d REPLICATION 1 DEFAULT

SHOW RETENTION POLICIES ON "keenetic"
name       duration  shardGroupDuration replicaN default

autogen    0s        168h0m0s           1        false
two_months 1440h0m0s 24h0m0s            1        true


Increase visibility of the Vocabulary Editor

Currently, the editor is hidden in the "sparql" tab as a "edit" link. Maybe we should add it as its own tab.

It is integrated into VoCol environment.


Movies, series is not playing.Providers is not working. 4k not streaming

Steps to reproduce
Movies, series is not playing.Providers is not working. 4k not streaming
Expected behavior
Movies, series should be playing.Providers should be working. 4k should be streaming
Actual behavior
Movies, series is not playing.Providers is not working. 4k not streaming
Crash logs (or stack trace)
No response
Flixclusive version
1.4.0-beta1
Android version
Android 11
Device
Infinix
Other details
Movies, series is not playing.Providers is not working. 4k not streaming
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to the latest version.

Providers system is on prerelease tag. This somehow should be temporarily fixed.

Also, duplicate of #13


Problem with C# generated api client and JSON TypeNameHandling.Auto.

Hello, we are getting an issue using the generated API client from NSwag... The problem is the problem described in this issue. https://github.com/JamesNK/Newtonsoft.Json/issues/1128
The workaround is simple as adding the parameter typeof(T) in the SerializeObject call which corresponds to the type that accepts the API Controller. As I understand, this should be harmless, right?
EDIT: Would setting https://github.com/RSuter/NSwag/blob/f3f215f350a9ee787c22460cd90da3d7b5330d83/src/NSwag.Commands/Commands/CodeGeneration/SwaggerToCSharpClientCommand.cs#L193 to true solve this?
EDIT2: Setting the parameter to true worked, this would be a nice addition to the Wiki :)
Thank you.

Thanks for reporting, can you update the wiki?

Done 😄 Can you review?

Looks good, thank you...


[NuGet.org Bug]: can't download "OrchardCore.Rules" Package in China

Impact
It's more difficult to complete my work
Describe the bug
Hi,
I tried to create Orchard CMS project,
Adding ”OrchardCore.Application.Cms.Targets“  package, error "not found".

Using Fiddler to view the request,
"GET, https://api.nuget.org/v3-flatcontainer/orchardcore.rules/index.json” return is 404.
Using Fiddler's AutoResponder, send the correct response
And then you see the request
“GET https://api.nuget.org/v3-flatcontainer/orchardcore.rules/1.4.0/orchardcore.rules.1.4.0.nupkg” return  404.

https://github.com/OrchardCMS/OrchardCore/discussions/12455
Repro Steps

dotnet new web
dotnet add package OrchardCore.Application.Cms.Targets

Expected Behavior
Successfully adding "OrchardCore.Application.Cms.Targets“ and compile successfully
Screenshots
No response
Additional Context and logs
No response

@Gsonovb, thank you for rising this bug, we just deployed a fix, you should no longer have this issue.


Not working out of the box in Laravel 4.2

This solution doesn't work out of the box. When queueing emails the handler is mailer@handleQueuedMessage which resolves into Illuminate\Mail\Mailer@handleQueuedMessage as we don't replace mailer in the DI container.
And even if I explicitly call Queue::push with laravel-swiftmailer.mailer@handleQueuedMessage YOzaz\LaravelSwiftmailer\Mailer doesn't intercept it and passes payload to the Illuminate\Mail\Mailer
UPD: I use Laravel 4.2

Hi @dVaffection , and thanks for bug report!
Unfortunately, I'm really busy at the moment and won't have a chance to look into it. Would you mind creating a pull request with bug fixed?

OK, it looks like using Queue methods may require one of the following:

Intercept all Queue methods and replace queue handler with custom, or
Build custom Queue wrapper which would call package auto-reset before executing a job.

Honestly, not sure if this is actual for the moment, but will build a patch if it will get more attention here.

Fixed with v3.2.0. Please come back for any issues, as it was quite tough to compare sources amongst different Laravel source trees :smiley:.
This is a last release, as Laravel 5.0 already forces reconnection on every message. See here.


CLA test

First commit after CLA integration

 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.


Bug: Transaction link returned shows testnet always

The transaction link returned shows testnet on mainnet.

@wolf31o2   I think we removed the link all together and just show transaction ID only now, so this does not apply anymore?

Correct.


setting a default network for a specific IPT instance

Hi,
I manage the EurOBIS IPT instance (https://ipt.vliz.be/eurobis/). Since all the IPT resources in this IPT instance belong to the OBIS network, I would like to have an option to set the OBIS network in this IPT instance as a default for all the datasets, so I don't have to worry about it for each dataset.
Does something like that exist, and if not, could it be implemented?
Thank you

Thank you for contacting us @rubenpp7
There is no such functionality in the IPT right now. It could be implemented if there is a demand for it

I can imagine that this functionality could be helpful for networks like OBIS, VertNet and DISSCo
What do you think?
@dbloom
@ymgan

Thank you Marie!! Yes, it will be helpful for SCAR Network too! All of the datasets that we published at our IPT are added to SCAR Network :)

I'm wondering where we can place this? Maybe Admin -> IPT settings?

Perhaps Admin → GBIF Registration Options?

If we remove association with network should it be removed from all datasets as well?

If we remove association with network should it be removed from all datasets as well?

From data publisher's point of view, I do not think so. Take our node as example, we publish antarctic datasets to SCAR Network. If for some reasons I remove this default association later on from the IPT settings, it probably means that I will publish datasets for other network (that should NOT be SCAR Network), but the previous datasets I published should still belongs to SCAR Network. I hope that makes sense :)
Thank you so much for putting this much thoughts in this, I really appreciate it!

Thanks for the quick reply! And vice versa, all existing datasets should be tied to the network once it's associated? Or only new ones?

Maybe IPT should ask users what they want (modal window)? Or checkbox "apply to existing datasets". For both cases adding\removing network


Maven site deployment fails

At the end of performing a release, the deployment fails due to invalid github protocol.
But since we're using github-pages, should we even be deploying a mvn:site?
This is the output that is returned by mvn release:perform:
[INFO] [INFO] --- maven-pdf-plugin:1.4:pdf (pdf) @ csveed ---
[INFO] [INFO] Skipped report generation.
[INFO] [warn] No document root specified, local links will not be resolved correctly!
[INFO] [WARNING] I/O exception while reading font cache (org.apache.fop.fonts.FontCache; local class incompatible: stream classdesc serialVersionUID =<PHONE_NUMBER>422194339, local class serialVersionUID =<PHONE_NUMBER>71754718). Discarding font cache file.
[INFO] [WARNING] Bookmarks: Unresolved id reference "./csveed" found.
[INFO] [WARNING] Page i: Unresolved id reference "./csveed" found.
[INFO] [WARNING] Bookmark with IDRef "./csveed" has a null PageViewport.
[INFO] [INFO] pdf generated: /Users/[redacted]/[redacted]/[redacted]/CSVeed/target/checkout/target/site/csveed.pdf
[INFO] [INFO]
[INFO] [INFO] --- maven-site-plugin:3.9.1:deploy (default-deploy) @ csveed ---
[INFO] [ERROR]
[INFO] Unsupported protocol: 'github' for site deployment to distributionManagement.site.url=github:https://robert-bor.github.io/CSVeed/.
[INFO] Currently supported protocols are: scm, scp, sftp, sftp, scp, https, file, http.
[INFO]     Protocols may be added through wagon providers.
[INFO]     For more information, see https://maven.apache.org/plugins/maven-site-plugin/examples/adding-deploy-protocol.html
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD FAILURE
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Total time:  07:51 min
[INFO] [INFO] Finished at: 2021-10-20T14:42:06+02:00
[INFO] [INFO] ------------------------------------------------------------------------

Note: Since the artifact is already uploaded to the staging repo, the maven central release can still be completed manually.

should also note, the release itself is fine.  you should see all you need in sonatype to finish it up.  Its just missing the site delivery update but I don't think there is a lot to update other than the urls at the moment.

should also note, the release itself is fine. you should see all you need in sonatype to finish it up. Its just missing the site delivery update but I don't think there is a lot to update other than the urls at the moment.

Yes, can confirm that. The release has already been closed and released in sonatype, so it should be live on central soon.

issue resolved, site is updated now.


Update to<EMAIL_ADDRESS>

General information
Associated issues:  #74
Checklist
Author:

[x] One or more reviewers have been assigned.
[x] N/A -- Automated tests have been included in this pull request, if possible, for the new feature(s) or bug fix.
[x] The associated GitHub issues are included (above).
[x] Notes have been included (below).

Reviewers:

[ ] All automated checks are passing (green check next to latest commit).
[ ] At least one reviewer has signed off on the pull request.  Reviewers have two business days to review the pull request, after which the author may merge in the pull request unilaterally.

Notes

Updates cytoscape to 3.25.0 with npm.
This should resolve #74, but I haven't had a chance to test this branch in EM.  I didn't want to delay putting up the PR.
Before, I tested the change in https://github.com/cytoscape/cytoscape.js/issues/3121 by manually applying the patch in node_modules, so I expect it should work.

Just a note:  If there's a problem with 3.25.0, we could use a version of 3.24 or 3.23.  Those release lines also contain the patch.


View and Add Comments

See a decent number of requests for being able to view, add, upvote, etc. for comments. Definitely something we should look into for a future release.

Closing due to inactivity.


Installation Error on Clean Ubuntu 20.04 LTS

Hi all,
When trying to install Apache Superset on a clear Ubuntu 20.04 virtual machine I simply follow these steps:

sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev
pip install virtualenv
python3 -m venv superset -> Fails and suggests me to execute "apt install python3.8-venv"
sudo apt install python3.8-venv
python3 -m venv superset
. superset/bin/activate
pip install apache-superset

Installation ends with errors:
Building wheels for collected packages: apache-superset, cron-descriptor, holidays, pgsanity, python-geohash, sqlalchemy-utils, wtforms-json, Flask-JWT-Extended, Flask-Login, Flask-OpenID, pymeeus
Building wheel for apache-superset (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/alvaro/superset/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9cjmkhn2/apache-superset/setup.py'"'"'; file='"'"'/tmp/pip-install-9cjmkhn2/apache-superset/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-6if0c298
cwd: /tmp/pip-install-9cjmkhn2/apache-superset/
Complete output (10 lines):
-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-
VERSION: 1.2.0
GIT SHA:
-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
ERROR: Failed building wheel for apache-superset
Running setup.py clean for apache-superset
Building wheel for cron-descriptor (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/alvaro/superset/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9cjmkhn2/cron-descriptor/setup.py'"'"'; file='"'"'/tmp/pip-install-9cjmkhn2/cron-descriptor/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-pssje3qe
cwd: /tmp/pip-install-9cjmkhn2/cron-descriptor/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
ERROR: Failed building wheel for cron-descriptor
Running setup.py clean for cron-descriptor
Building wheel for holidays (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/alvaro/superset/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-9cjmkhn2/holidays/setup.py'"'"'; file='"'"'/tmp/pip-install-9cjmkhn2/holidays/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-cuyj6ksy
cwd: /tmp/pip-install-9cjmkhn2/holidays/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'bdist_wheel'
(Error follows)
And if I try to run "superset db upgrade" returns error as well:
(superset) alvaro@alvaro-VirtualBox:~$ superset db upgrade
Traceback (most recent call last):
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 583, in _build_master
ws.require(requires)
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (itsdangerous 2.0.1 (/home/alvaro/superset/lib/python3.8/site-packages), Requirement.parse('itsdangerous<2.0,>=0.24'), {'flask'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/alvaro/superset/bin/superset", line 6, in
from pkg_resources import load_entry_point
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 3252, in
def _initialize_master_working_set():
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 3235, in _call_aside
f(*args, **kwargs)
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 3264, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 585, in _build_master
return cls._build_from_requirements(requires)
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 598, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/alvaro/superset/lib/python3.8/site-packages/pkg_resources/init.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'itsdangerous<2.0,>=0.24' distribution was not found and is required by flask
I have tried several solutions but none of them worked for me. I have repeated the process in various clean Ubuntu 20.04 virtual machines but is not possible for me to install Superset.
I attach both errors expecting it helps.
db_init.log
install.log
Environment
(please complete the following information):

superset version: command not working
python version: 3.8.10
node.js version: v10.19.0

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[X] I have reproduced the issue with at least the latest released version of superset.
[X] I have checked the issue tracker for the same issue and I haven't found one similar.

@AlvaroFFF or @bzmatteo72, we recently released superset 1.3, and wouldn't expect to see this issue anymore with it. Can you confirm if your issue is fixed in superset 1.3? thanks!

Hi @etr2460,
Issue is still there. Let me try to provide more information about enviroment. These are the steps I've followed:
Created a new machine on Google Cloud Platform, with following specifications:

Region: europe-west1 (Belgium)
Zone: europe-west1-b
Machine type: e2-standard-4 (4 vCPUs, 16GB memory)
Boot disk: Ubuntu 20.04 LTS, 50GB

Once the instance is up, we start executing commands as mentioned here
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev pip install virtualenv
After this command we go slightly "out of the guide" to install python venv:
sudo apt-get install python3.8-venv
And now we can create and activate our virtual enviroment and follow with the installation:
python3 -m venv venv . venv/bin/activate pip install apache-superset
At this point, some errors have appeared in the console while installing superset. Seems like most of them are related with flask version.
Indeed, if we execute superset --version an exception is raised.
I have tried to build a workaround that worked to me, consists basically on installing some flask versions manually:
pip install flask-wtf==0.14.2 pip install flask==1.1.0 pip install werkzeug==0.16.1
Once the ¿dependencies error? seems to be fixed we can continue:
superset db upgrade export FLASK_APP=superset superset fab create-admin superset init superset run -p 8088 --with-threads --reload --debugger
And it works successfully.
I attach the history of commands hoping it could be useful.
history.txt
Thank you,
Alvaro

Thanks for the details! Seems like we still need to fix some of our version pinning. Maybe @dpgaspar, @villebro, or @john-bodley could help you out here


[Snyk] Security upgrade node from 14.16.1-slim to 14.20.1-slim

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

Dockerfile

We recommend upgrading to node:14.20.1-slim, as this image has only 70 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

714
Directory Traversal SNYK-DEBIAN9-DPKG-2847943
No Known Exploit

721
Privilege Escalation SNYK-UPSTREAM-NODE-1315789
Proof of Concept

614
Out-of-bounds Read SNYK-UPSTREAM-NODE-1315790
No Known Exploit

614
Use After Free SNYK-UPSTREAM-NODE-1534880
No Known Exploit

614
Use After Free SNYK-UPSTREAM-NODE-1540540
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

das


ci(Mergify): configuration update

This change has been made by @Dominguezcell661 from https://mergify.com config editor.

@Mergifyio refresh


docs: update Firebase plugin docs for 0.9

Description here...
Checklist (if applicable):

[ ] Tested (manually, unit tested, etc.)
[ ] Changelog updated
[ ] Docs updated

please follow https://www.conventionalcommits.org/en/v1.0.0/ for PRs


Question on changing opcodes

Hello, when changing the opcodes for the game's new patch release, do we also have to change the .json text file through notepad?  You just save that window to save the changes and close it. Don't have to restart game or XivAlexander.


Php 8.1

Hi! Can you update the requeriments to be able to run it with php 8.1?
Thanks!

see #4

Sorry for the delay guys! Completely missed GitHub notifications about this repository 🙏


mbed cli - compile - module size output failing

The module size printout is failing with Mbed OS 5.7.6 (and 5.8.0).
mbed cli version 1.5.1.
Repro steps
git clone git@github.com:ARMmbed/mbed-bootloader.git
mbed deploy
mbed compile -m UBLOX_C030_U201 -t GCC_ARM --profile=tiny.json -c

Correct output
Link: mbed-bootloader
Elf2Bin: mbed-bootloader
+-----------------------------------------------+-------+-------+-------+
| Module                                        | .text | .data |  .bss |
+-----------------------------------------------+-------+-------+-------+
| [fill]                                        |    53 |     3 |    22 |
| [lib]/c_nano.a                                |   740 |   100 |    12 |
| [lib]/gcc.a                                   |   832 |     0 |     0 |
| [lib]/misc                                    |   252 |    16 |    28 |
| fix-mbed-os-compile/pal_polyfill.o            |     4 |     0 |     0 |
| mbed-cloud-client/factory-configurator-client |  1212 |     0 |    76 |
| mbed-cloud-client/mbed-client-pal             |   648 |     4 |     4 |
| mbed-cloud-client/update-client-hub           |  2275 |     4 |    16 |
| mbed-os/drivers                               |  1446 |     4 |   120 |
| mbed-os/features                              |  1494 |     0 |     0 |
| mbed-os/hal                                   |  1447 |     4 |    66 |
| mbed-os/platform                              |   692 |     4 |    14 |
| mbed-os/targets                               | 15998 |     4 |   692 |
| minimal-printf/mbed_printf_implementation.o   |  1124 |     1 |    36 |
| minimal-printf/mbed_printf_wrapper.o          |    32 |     0 |     0 |
| sd-driver/SDBlockDevice.o                     |  3074 |     0 |     0 |
| source/active_application.o                   |   858 |     4 |     4 |
| source/bootloader_common.o                    |   246 |     4 | 16385 |
| source/bootloader_platform.o                  |    46 |     0 |     0 |
| source/main.o                                 |   779 |     8 |   328 |
| source/sotp_rot.o                             |    92 |     0 |     1 |
| source/upgrade.o                              |  1379 |     0 |     8 |
| Subtotals                                     | 34723 |   160 | 17812 |
+-----------------------------------------------+-------+-------+-------+
Total Static RAM memory (data + bss): 17972 bytes
Total Flash memory (text + data): 34883 bytes

Image: ./BUILD/UBLOX_C030_U201/GCC_ARM/mbed-bootloader.bin

just change the Mbed OS to a newer version.
cd mbed-os
git checkout mbed-os-5.7.6
cd ..
mbed compile -m UBLOX_C030_U201 -t GCC_ARM --profile=tiny.json -c

and you get this instead of the correct output.
Elf2Bin: mbed-bootloader
Text 30.3KB Data 164B BSS 17.4KB                   ROM 30.5KB RAM 17.5KB
ROM [|                                                   ]    30.5KB/1MB
RAM [||||                                                ]  17.5KB/192KB
Image: ./BUILD/UBLOX_C030_U201/GCC_ARM/mbed-bootloader.bin

Seems to me the parsing is somehow failing when the Mbed OS is updated.

Tried deleting the BUILD folder completely to avoid some "left-behind" things, but that doesn't help either.

@cmonr and @theotherjimmy can provide more information on this

@JanneKiiskila what about one of the least mbed OS 5.8?

@JanneKiiskila This particular problem was fixed with 5.7.7.
A PR was mistakenly merged into mbed-os because oddly enough there's no test to verify that the compiled output structure does not change.
Can you share the steps you did to test this with 5.8.0, because as it stands, I actually can't compile the example with mbed-os checked out to mbed-os-5.8.0, and want to know how you verified this.

Just tried mbed-os-5.8.0 and it's OK.