H2 update april 2024

@Bradben
Can you review this PR? Sign-off or approve if you're okay with the changes.
NOTE: To sign off, add #sign-offto a comment."
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@Bradben Can you review this PR? Sign-off or approve if you're okay with the changes.
NOTE: To sign off, add #sign-offto a comment."
#label:"aq-pr-triaged" @MicrosoftDocs/public-repo-pr-review-team

@Jak-MS - Yes, but this is a partner contribution and can't go live until tomorrow. I'll sign off then. Thanks.


FixPos and cellH: 'auto'

Is there a way to use data-position with cellH: 'auto'? My panels have dynamic content, so i need to use cellH: auto. If i set data-position="2-0" to a panel the panel is arranged to first row and overlap other panels.

Hello, I have the same question, How do u solve this? thanks

push

Similar issues with this. Also getting a bunch of white space below a fixed position block

Same here!


stashcp in python

Here we go... Only the things in stashcp2 directory.

Nope, still a ton of commits and other changes.


Propery extensions

Made the string to type conversion much more powerful. Now as<type>() can be bool any numeric type or any kind of object that is constructible from a string and also a std::vector<T> of any of the above mentioned types, also Eigen::VectorXd Eigen::VectorXf and Eigen::Vector3d and Eigen::Vector3f are supported.
Furthermore you can now delete Attributes and Children, although the later invalidates all pointers to child nodes.
If we wanted we could go back to use a std::list underneath, instead of a std::vector and then all references would be valid, but then large xml files would take ages to load.

@votca-bot format

@votca-bot changelog: properties can be removed and string conversion much improved


Improve Krylov subspace solver in CPHF

Use standard block krylov subspace solver instead of 1d krylov subspace solver
Fixed the issue in sg1_prune

@sunqm Krylov subspace solver is improved in this PR. And most CPHF converge in 4-6 steps.

@sunqm Krylov subspace solver is improved in this PR. And most CPHF converge in 4-6 steps.

Why can CPHF converge faster? It's not clear for me from the changes in this PR.

@sunqm Krylov subspace solver is improved in this PR. And most CPHF converge in 4-6 steps.

Why can CPHF converge faster? It's not clear for me from the changes in this PR.

@sunqm I added some other changes too. Previously, mo1base is flattened. So the number of variables for the linear system was 3natmnao*nocc. It slows down CPSCF because 1) more number of variables than needed. 2) it does not take the advantage of collaboration of multiple RHS.


Fixed error in README.

Coverage remained the same at 84.08% when pulling 3275d09c37fcb31ba5ab1157c86b3d5076e4bc89 on subu-cliqz:patch-1 into 14142e1239cce98ab0acb053cabaf95be9ed1d1f on cliqz-oss:master.


Can't make work Hot Module Replacement with browserSync proxy

Hi,
I have the following code in webpack.mix.js
mix.js('src/app.js', 'dist/').sourceMaps().sass('src/app.scss', 'dist/');
mix.browserSync(
    {
        files: [
            'src/**/*',
            'components/**/*',
            'index.php'
        ],
        proxy: 'wordpress.local',
        browser: ["google chrome canary"],
        https: false

    }
);

If I run npm watch task:
"watch": "NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",

Works fine!
If I try to use npm hot task with HMR
"hot": "NODE_ENV=development webpack-dev-server --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",

I get:
events.js:161
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND localhost
    at errnoException (dns.js:28:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

I'm running vue inside a WordPress Theme. Works fine, with what, but HMR does not.
:( and it's a lot faster to use HMR.
What can I do?
Thanks.

The best success I've had (and is a bit hacky) when doing npm run hot (and still get HMR + BrowserSync to work) is to inject the script in the page via an env variable I created. It's a bit hacky but this was the most cleanest way for instead of trying to fight against the the mix configurations. On my earlier config I
@if(env("APP_ENV") == "local" && env('USE_BROWSERSYNC_WITH_HMR', false))
        <!-- This will allow you to use browsersync with hot reload without any port specification in your browser (when using npm run hot)  -->
        <script async type="text/javascript" src="{{env('APP_URL')}}:3000/browser-sync/browser-sync-client.js?v=2.23.6"></script>
@endif

Then I just go to my APP_URL on standard port 80. Hopefully this works or another method works for you!

Hi @ikudosi.
I apologize for the delaying so much in getting back to this issue. I try and did not work. I'm a little bit lost. There's is documentation related or another tip you can give me in order to make it work?
Thank you very much!


chore(main): release 1.0.4

:robot: I have created a release beep boop
1.0.4 (2023-02-14)
Bug Fixes

modify the program entrance (77ae2d6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/kaishens-cn/cli-tools/releases/tag/v1.0.4 :sunflower:


changed TCP content to be bytes instead of strings

This is for you to review; there is one problem that should be checked before we merge:
The file examples/client.act does not compile:
acton> actonc examples/client.act --root client
Compiling client.act for release
actonc: No match in record selector rtail
acton>
I believe that this has very little to do with this change (but it compiled before), but this is for Johan to judge.
The only changes are that in Connection, method .write takes a bytes parameter instead of a str. The same for the first callback parameter in  on_receive.
Applications like server/client in examples and ddb_test_server_client/server  in test/rts need to do some calls to encode(() and decode().
I  believe that the test suite passes, but there is a lot of output which I don't understand completely...

I'm an expert in rtail workarounds ;)  I'll take a look and see if we can get that to compile...

It’s a bug! Found it in the CPS pass, will submit a fix soon.
— Johan
9 juni 2022 kl. 20:32 skrev Kristian Larsson @.***>:

I'm an expert in rtail workarounds ;) I'll take a look and see if we can get that to compile...
—
Reply to this email directly, view it on GitHubhttps://github.com/actonlang/acton/pull/663#issuecomment-1151467675, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABCAPCBQTRZ2HCWEM2MMU2DVOI2CRANCNFSM5YKUFLTA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


[mariadb] install fails with metrics.enabled=true due to typo

There is an i missing here (metrics.mage should be metrics.image)
https://github.com/kubernetes/charts/blob/e75cb690bea567153579694c0248bb94cb6f0fb2/stable/mariadb/templates/_helpers.tpl#L49

Closing this in favor of #5828


Replace useTransition with useNavigation

useTransition is deprecated and will be removed in Remix v2 per the browser warning.  Per the remix documentation, useNavigation removes the submission property, so this needs to be accounted for.  Is it sufficient to check navigation.formData?
This PR resolves https://github.com/airjp73/remix-validated-form/issues/261.

@airjp73 I'm unable to see the failure from Vercel, whenever you have time to take a peek I can fix it :)  Thanks for your package, btw.

Looks like it's failing because we're using an older version of remix. So if we switch now, that's going to be a breaking change. Will continue discussion in the linked issue.

Hi! Thanks for looking into this. There was another PR for the same thing (#284) and I've merged that one instead.


Ios setup

Issue #, if available:
Description of changes:
Create ios config files and add files/folders to xcode
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2777 into master will increase coverage by 1.53%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2777      +/-   ##
==========================================
+ Coverage   62.13%   63.67%   +1.53%
==========================================
  Files         201      201
  Lines       10345    10218     -127
  Branches     2009     1954      -55
==========================================
+ Hits         6428     6506      +78
+ Misses       3629     3424     -205
  Partials      288      288

Impacted Files
Coverage Δ

packages/amplify-cli/src/context-extensions.ts
23.24% <0%> (-2.46%)
:arrow_down:

packages/amplify-cli/src/domain/context.ts
100% <0%> (ø)
:arrow_up:

packages/amplify-cli/src/domain/plugin-platform.ts
100% <0%> (ø)
:arrow_up:

packages/amplify-cli/src/domain/input.ts
100% <0%> (ø)
:arrow_up:

...ckages/amplify-cli/src/domain/plugin-collection.ts
100% <0%> (ø)
:arrow_up:

...sync-simulator/src/schema/appsync-scalars/index.ts

...ages/amplify-appsync-simulator/src/server/index.ts

...c-simulator/src/schema/directives/aws-subscribe.ts

...mplify-appsync-simulator/src/mqtt-server/client.ts

...ackages/amplify-appsync-simulator/src/utils/log.ts

... and 10 more

Continue to review full report at Codecov.

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


Tutorial for the My Thai Star application

Create a new tutorial for the My Thai Star sample application (https://github.com/devonfw/my-thai-star).
Possible steps:

Download My Thai Star repository
Run docker-compose up within the My Thai Star directory

Closing the issue, my-thai-star takes too long to start, not suitable for a katacoda tutorial.


Is possible to send an image as reply message?

Hello @eljojo,
Is possible to send an image as reply message?
Thanks!

hi @warlley, I was discussing it with @cippaciong in #2.
I'd like to implement image support as soon as I have some free time. Currently I've been very busy with work, but it's definitely in the roadmap.
If you'd like to work in the implementation feel free to open a pull request, otherwise I'll implement it most likely over the weekend :)


'roboai data' - Add option to generate stats based on logs

roboai data analysis --input-path
would generate basic stats like

number of sessions
number of conversations
avg number of turns per conversation
number of answered questions
number of unanswered questions
triggered subjects

others.

No longer needed.


Yew keys for signature items and folders

This aims to fix a long standing issue with Yew improperly handling signature items and folders.

This would conflict quite severely with #632 so for now, it's based on top of the signature-previews branch. In future, we can either merge #632 (then this) into master or merge this PR into that branch first.

This is amazing, thanks so much Jasper!!!

I'm gonna merge this into signature-previews and make it part of #632 for simplicity.


Warn user if mapping a key already in use elsewhere

Currently when you have the nice input mapping screen up you get to pick a mapping, then separately click OK to confirm the choice. However, there is no warning at all if the key or whatever is already in use.
As a user I would like to see a warning pop up with a red label indicating "Mapping [x] is already in use for function [y]" so I can think about that for a moment before confirming or reverting my choice.
Bonus will-love-you-forever-if-also-adding-this: Keep a multi-line log in the main mappings screen (not the popup) where any such overwritten mappings appear until either:

User goes and sets a mapping for the function that was overwritten (clear that one)
User leaves the mappings screen entirely (clear all)

Slightly related: #2551, #2384, #2145, #2125

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/38516672-warn-user-if-mapping-a-key-already-in-use-elsewhere?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github).

Hi! I'm new to this project but this looks like a good entry point. Where exactly int the project files do I look for this?

@zeokav you could start at org.terasology.config.BindsConfig and work through setBinds, hasBinds etc. This should be a good start. Scan for usages of these methods and/or set some breakpoints to find out how the things work.

Okay I figured out where the check happens. What we need is a popup dialog if it's already taken, asking for confirmation, right? I will look for the popup dialog similar to what's being used when a button for input rebinding is clicked.

@Cervator @skaldarnar Sorry for bugging you guys with such newbie doubts (I will get a hang of it soon), but where do I set screens? I was trying to mirror something like the ChangeBindingPopup (calling it ConfirmChangePopup) and instantiating the ASSET_URI with "engine: confirmChangePopup" but the console raises a message saying that it can't find screen 'confirmChangePopup'.

@zeokav did you create confirmChangePopup.ui file similar to changeBindingPopup.ui? That's needed for displaying something. You should be able to use our NUI editor to create the ui file easily.

Closed as completed by #2574.


[chip dv] Deprecate jtag_riscv_agent

The jtag_dmi_agent supercedes the jtag_riscv_agent work and provides a more ergonomic way to access the chip over JTAG. As a step towards tech debt reduction, we should replace it with jtag_dmi_agent / sba_access_utils_pkg methods at the chip level soon.
The replacement should be hopefully straightforward, and should take about a day to complete.
@cindychip @tjaychen

@sriyerg do you want to do this deprecation as part of M2, or can this wait until later?

I am moving this into M3 for now - please relabel if that is not accurate.

is it fair to say that deprecation of the existing agent (in favor of the new more flexible / abstracted one) is a clean-up activity best left to backlog?

I will prefer keeping this as a low priority M3 item. Would it be ok to reevaluate this later when we get close to M3?

yes sounds good.


Adjusted case of module base path to fit folder structure

Folder structure looked strange to me after creating a module, guess that's a typo. According to the readme (sections "Folder Structure" and "Autoloading") modules it is meant to be lowercase. On a case sensitive file system, this is crucial, because namespaces can't be autoloaded.

Hello,
Thanks but this is intended, since https://github.com/nWidart/laravel-modules/commit/b29bcb26c1470c5663a1138f83acb215accf5b84 .

May i ask why the lowercase versions are still in the readme? As i pointed out, this way the autoloading isn't working properly

That's my bad, I must have forgotten to update the readme. 😄


Node process should be correctly finished after live mode is closed

Now something is blocking process exiting

I cannot reproduce the issue anymore

I cannot reproduce the issue anymore


Don't test string equality with 'is'

is is the identity check. What we want here is the equality check. Python Documentation

Thank you!


Decoupling plugin and nodes

Problem
Plugins and nodes are tightly coupled and it makes it harder to extend default nodes and maintaining existing plugins functionality.
Example
Let's take markdown plugin (copy/paste logic is also a good example), it exports bunch of node creation helpers ($createHeadingNode, $createCodeBlockNode, $createListNode, etc).
Then if I want to extend HeadingNode behaviour, for example to add id attribute to each heading so it can be used as an anchor (smth like
Getting started with React
, see our README doing it). To do so I'd extend default node and add new behaviour on top:
class AnchorHeadingNode extends HeadingNode {
  static getType() {
    return 'heading';
  }

  createDOM<EditorContext>(config: EditorConfig<EditorContext>): HTMLElement {
    const element = super.createDOM(config);
    element.setAttribute('id', getAnchorID(this));
    return element;
  }

  updateDOM(prevNode: HeadingNode, dom: HTMLElement): boolean {
    dom.setAttribute('id', getAnchorID(this));
    return false;
  }
}

But now the problem is that all plugins that might insert HeadingNode (markdown, toolbar, copy/paste), they all keep using default HeadingNode, because they all use $createHeadingNode imported from default heading node file.
Potential solution:
Replace $createHeadingNode() implementation from
function $createHeadingNode(tag): HeadingNode {
  return new HeadingNode(tag);
}

to
function $createHeadingNode(tag): HeadingNode {
  const NodeConstructor = $getNodeFromRegistry(HeadingNode);
  return new NodeConstructor(tag);
}

...
// and smth like:
function $getNodeFromRegistry<T>(nodeKlass: T): T {
  return $getActiveEditor()._registeredNodes.get(nodeKlass.getType());
}

This will allow passing AnchorHeadingNode into LexicalComposer, and since it has the same type ('heading'), it'll be used whenever $createHeadingNode is used, so all callsites that create heading will use our extended heading node.

I don't think we want plugins to work with extended nodes automatically. That's magic and it will cause more bugs than it will solve.

This is how tiptap Extension works, extend exists Mark & Node, add extract attributes.

This more error prone, you assume all plugins expose every node they use, when there is one more node use, the plugin become wired, it's impossible to maintain this.

I've been trying to prototype my project with lexical for a few weeks, and this is undoubtedly the biggest difficulty I encounter.
If I want to add a property to some node, for example to a paragraph, I have to create a "customParagraph" and then create my own enter command (and probably other keys) that override the lexical-rich-text behavior. So lexical-rich-text becomes of little use.
I also come from tiptap, and this is much more comfortable there.
Is it possible to rethink this approach? @trueadm

Actually, I've been thinking about this topic a bit lately. One pattern to have emerged, after this thread (as this is actually quite an old thread now given the project's momentum in the last few months), is that maybe we should be leveraging commands more.
Right now, people often just do $createParagraphNode directly, but maybe we should instead be educating them to dispatch a INSERT_PARAGRAPH command, like we do for many other nodes. Then if someone wants to insert a custom paragraph node, it's trivial to listen to the command at a higher priority and do that.
This would address all the issues that have been raised in this thread that I can see, without breaking the type safety we depend on (TypeScript/Flow strictness) and the design ethos that Lexical has (which is heavily inspired by React).

This approach is type safe and also using the language by design.

tiptap way to add extra attribute is also type safe

$createParagraphNode directly, but maybe we should instead be educating them to dispatch an CREATE_PARAGRAPH_COMMAND

replace command and extend attributes is different requirement, more like imperative vs declarative, a built-in command can be replace/chained, that's good, but if add support to replace command is just for change the initial node that $createParagraphNode provided, maybe should reconsider this.

tiptap way to add extra attribute is also type safe

I think we have different definitions on the strictness of type safety. What TipTap does would not work with Flow in strict mode. It can work with TypeScript, but that's because TypeScript is more permissive here.

replace command and extend attributes is different requirement, more like imperative vs declarative, a built-in command can be replace/chained, that's good, but if add support to replace command is just for change the initial node that $createParagraphNode provided, maybe should reconsider this.

I think we are looking at different ideas internally around this. The concept of building from a node factory, that has a similar design to commands might be one direction though.
I mean, the idea around the command was just the concept. I think we'd have a verbose API for it that wouldn't be that of a command.

Some ideas we've circled around internally:
// New API
editor.registerNodeFactory(ParagraphNode, ({x, y, z}) =>
  new ParagraphNode(x, y, z);
, LOW_PRIORITY)

$createNodeFromFactory(CREATE_PARAGRAPH, {x, y, z})

// Using commands
editor.registerCommand(CREATE_PARAGRAPH_COMMAND, createNodeFactory(({x, y, z}) =>
  new ParagraphNode(x, y, z);
), LOW_PRIORITY)

const paragraphNode = editor.dispatchCommand(CREATE_PARAGRAPH_COMMAND, {x, y, z})

Let's see if I'm understanding correctly.
Your proposal would be to add an API to the lexical code that allows you to prefix the create paragraph command with a create customparagraph command?
Would it be the idea to do the same for all other types of nodes?
ordered list, unordered list, checklist, headers, quotes, code, etc.?
And if this is so... once that is done, all the helper functions of those nodes such as $isLastItemInList or commands like REMOVE_LIST_COMMAND would continue to work in the custom node as it is an extension of the class. I am right?

Basically, all $create* functions would route through the command system using a respective command. CREATE_X_NODE, allowing for plugins to define a different node factory for a given command. There'd be one for paragraph, heading, quotes, code, lists, etc. The $is functions should already work as expected, as they are instanceof checks, as the custom nodes should always extend the base node anyway. No other changes are needed.

I've been thinking about this a lot, and the conclusion I've come to is that the different ElementNode types shouldn't be different classes, but should be handled with the __type property.
Before I get to the reasons, I want to talk about shared properties. I refer to them as the properties that different element nodes share in common and affect the appearance of the node. In Lexical currently this would be __indent. This property has presented some challenges that have been resolved in a somewhat strange way in my opinion. However, while __indent is enough of a property to make an argument for what I'm going to say next, I want to note that this isn't the only shared property that someone might want to incorporate into an editor.
Notice for example how applications like Notion, Dynalist, Remnote, Roam Research, and Workflowy, have properties like __color (at element level), __collapse, __hide, __shared, __backlinks, etc. The possibilities are many.
So, some reasons why the different types of ElementNode should not be different classes, but should be handled with the __type property:

When converting one elementNode to another, the shared properties are lost (for example, convert an indented paragraph to a heading and the indentation will be lost). The reason for this is that since they are different classes, a new instance is required. Of course, by changing the type of a node one could copy the desired properties to the new node, but this would be terrible and I don't see any benefit to it.

Even if some properties are used only by some nodes, it would be ideal if the other nodes keep that information. The reason for this is that users often undo operations using the reverse operation instead of ctrl + z. For example, ListItem currently ignores the __indent property because it handles it with nesting. But if I have indented paragraphs, I would like the indents to be preserved when I convert them to a list and return them to paragraphs. Or if I have a checklist checked, convert it to something else, and return to the checklist, the "completed" property should be preserved. I recommend seeing this notion blog article where they talk about this.

If the different types of elementNodes are subclassed and we have a shared property, then the same display logic must be defined in the updateDOM and createDOM of each node, which makes it very difficult to maintain the code. In Lexical right now there is a workaround with the __indent case that is handled in Reconcilier.ts. Besides being a bit confusing, the rest of us can't do the same for other shared properties we might want to add.

Lexical is actually already doing what I'm proposing (in part). I mean HeadingNode. If H1-H6 are handled in the same class, I don't see any reason not to use paragraphs also in the same class, for example.

When converting one type of elementNode to another, the key changes. If someone wanted to implement links to the paragraph, this would result in very brittle links. All of the apps I mentioned above and others like Onenote allow element-level links.

This is perhaps more personal, but I think that a functional API instead of a class-based API like the one I propose below would offer a much friendlier development experience. Even element nodes could be defined as React components (as slate does for example).

My proposal then is for an api that allows registering

new elementNodes properties (__indent, __color, etc.)
new values for the __type property, with their respective rendering displays.

@german-jablo I am still discovering lexical as this thread. A lot of considerations you raised in you last comment resonates to me and I wonder how possible it would be to evolve the API in a non-breaking way. I guess proposing a refactoring that makes the existing plugins and deployments (as I understand Facebook already uses Lexical for some of their products) will not be easy and may be pushed-back. Do you see a roadmap to evolve the API without breaking the existing?

@EgonBolton Thanks for your input and the time you've take to explore and update. I haven't had the time yet to thoroughly investigate your proposal, but we've started a discussion internally around the direction we want to take moving forward. As I have more time to think about this and our point-of-view evolves as a team, we'll update here.

I wonder how possible it would be to evolve the API in a non-breaking way

This is not something that I think we should be overly concerned about. For the community, this is why versioning exists. Internally, if a change in design of this magnitude is what we feel is the right thing to do, we will deal with breaking changes. As @EgonBolton pointed out, we already have a solution place to insulate ourselves and others against such an eventuality.
Generally speaking, I'll say that we have gotten good feedback with respect to our API and the associated developer experience both internally and externally. We want to take the time to consider what people like about what we're doing and how that trades off against any major proposed changes. At the same time, we're certainly aware that there are use cases that are not as refined as we'd like them to be and there is work to do to get them right. To that end, your constructive input, ideas, and willingness to help are greatly, greatly, appreciated.

I haven't had the time yet to thoroughly investigate your proposal, but we've started a discussion internally around the direction we want to take moving forward. As I have more time to think about this and our point-of-view evolves as a team, we'll update here.

Awesome. I look forward to hearing more about this.

if a change in design of this magnitude is what we feel is the right thing to do, we will deal with breaking changes.

Happy to hear that!

Generally speaking, I'll say that we have gotten good feedback with respect to our API and the associated developer experience both internally and externally. We want to take the time to consider what people like about what we're doing and how that trades off against any major proposed changes. At the same time, we're certainly aware that there are use cases that are not as refined as we'd like them to be and there is work to do to get them right. To that end, your constructive input, ideas, and willingness to help are greatly, greatly, appreciated.

Of course, to everything I said previously I want to add that I too am very grateful to have this amazing tool. I just hope I can contribute to making it even better than it already is.

Thx for sharing toughs @YousefED and congrats for BlockNote. Just wanted to confirm I have followed similar road and came to similar conclusions. Node proxies may not bring solutions to current limitations. I would favor rather building the needed foundations in the core, to support items 1, 2, 5...

I also don't think https://github.com/facebook/lexical/pull/2924 solves the issues being discussed here (@zurfyx). What happens if I want to add the same property to several nodes at the same time?

What TipTap does would not work with Flow in strict mode. It can work with TypeScript, but that's because TypeScript is more permissive here.

@trueadm If Flow is an impediment here, may I ask what is the point of using it? Is it a Meta requirement?

Really glad to see the discussion revived/continuing here. I view figuring this out as one of the big things we want to solve before moving to v1.

@trueadm If Flow is an impediment here, may I ask what is the point of using it? Is it a Meta requirement?

Just to answer this one point - we do use Flow internally, but Dominic is referring to the fact that Flow generally prioritizes type soundness/safety, whereas TypeScript is less "strict" by design and prioritizes balancing verifiable correctness with productivity. So the difference is really about how soundly we're able to type this design, but I'd have to PoC it to see if there are actually soundness gaps in whatever solution we end up pursuing.

Thank you @YousefED and @echarles for sharing your experience. And congratulations Yousef for BlockNote.
Grouping some nodes in the same class (as is done right now with the headings H1-H6) would solve the problem that properties are lost when converting from one type of node to another (including the key).
I have done a proof of concept by unifying ParagraphNode and HeadingNode into a single node: BlockNode. The createDOM function is a switch that renders one way or another depending on the type, which can be changed with the setType method.
Before (keys change):
https://www.loom.com/share/21ccb9ca61d04dcc89b6eb9bcf613e22
After:
https://www.loom.com/share/08d29e50e9b34f68becab376f4dd1835
The idea would be to bundle ListItemNode and CodeHighlightNode as well, but then there would be dependencies between the Rich-Text, Code, and List packages. Maybe someone can come up with a design pattern that allows the class to be extended externally? (obviously, I mean without using js native class extension).
Of course, there is still the option to clone all properties. But in addition to the fact that it seems like unnecessary work, the dependency between the different packages would still be implicit, since, for example, the Checked property would have to be added to paragraph.

Thanks @EgonBolton

Grouping some nodes in the same class (as is done right now with the headings H1-H6) would solve the problem that properties are lost when converting from one type of node to another (including the key).

Your solution of changing all nodes to the type of "BlockNode" is definitely possible, but feels a bit hacky at the same time. The architecture could work, but you'd also lose some of the benefits of having different node types in the first place. One of them is that indeed, you'd have to reimplement all different node types.
If you're interested, I brainstormed some pros and cons if this approach as well and documented this here: https://github.com/YousefED/BlockNote/pull/45.
I'm also fairly sure the Lexical team is also aware of different challenges around node extensibility and are researching what the ideal approach should look like!

I feel like we can close this now that https://github.com/facebook/lexical/pull/3367 has landed. Please reopen if you feel like something is missing.

I have a question about node replacement @trueadm. Please excuse me if I missed something in this thread, I couldn't read all of the latest updates in depth.
Would this break some behaviors if, for example, I replace the ParagraphNode and some code is checking by class identity directly? How safe it is and what gotchas would I need to be aware of?
For context, my current use case is that I want to add a "Notion-style" handle that shows up to the left of paragraphs and other nodes. I know there is already an example of this in the playground, but it depends on moving and hiding/showing a single handle on mouseover which unfortunately presents some limitations I want to get around. So my goal is to essentially extend the createDOM function of paragraph nodes (and others like HorizontalRuleNode) to render the handle inside of each instance of the node directly.
Thanks in advance 🙏

You don’t want to do anything complex in createDOM, especially not event handling. That’s logic that needs to be attached in another plugin via a mutation listener for your node type. You can simply replace the built in paragraph with your custom paragraph block if you need a custom node.

especially not event handling

Unless I misunderstood, it's not about event handling, but about rendering a "handle" (which I take to mean some visible UI element you can click on) beside each paragraph.
However, I do agree with Dominic that right now you shouldn't be doing anything in createDOM other than just setting classes and and creating a single DOM element.

but it depends on moving and hiding/showing a single handle on mouseover which unfortunately presents some limitations I want to get around

What limitations are these?

How safe is it and what gotchas would I need to be aware of?

We think it's pretty safe. Every places in the code should be using instanceof checks to refine node types, so your Paragraph subclass should pass those checks.

Thanks for your answers! @acywatson the main limitation is that if my handle also opens a menu, right now I can't show another handle if the menu is already opened, without a fair amount of complex logic like having two handles and switching between them or some trickery like that. I'm making some progress on it, but I still feel like there must be a simpler way.


Remote Deployment

Things we probably need to look at

[ ] Ability to run code on a remote virtual machine(s)
[ ] Cloud storage for input video files and extracted images
[ ] ~Job scheduling and to prevent overlapping (processing same input file) if parallelization is implemented~
[ ] ~Server-client model for updating csv if multiple processes are accessing the same file to prevent errors~

edit:
3 and 4
running an AWS Batch Array Job would work to reduce instances required, this feature might be required if more automation is necessary, however at the scale of this project, it is unnecessary

basically a duplicate of #23


add purs-tidy 0.7.0 to nix

I saw that the purs-tidy was updated to 0.7.0, so added it to the shell.nix and everything has installed and works

As we plan to move to Flakes it makes sense to test purs-tidy in the flakify branch too.


fix #2216: delete sideloaded image tmp files

Ticket: #2216
Issue
After having sideloaded an external image, the temporary file created by download_url is not deleted.
Solution
This deletes the temporary file after it has been uploaded to wordpress.
Impact
No impact, bug fix.
Usage Changes
None
Considerations
None
Testing
No unit tests added.

Coverage decreased (-2.4%) to 91.584% when pulling e60c6274696e4df1f6a51c8e7ac8671646ba380b on oxyc:issue-2216 into 3dc9440bdc6d475953509fe732d4be2b0b90782b on timber:master.

Thanks @oxyc ! Before getting into tests and such, I noticed that you moved the unlink call to within a conditional for is_wp_error($tmp) (see: https://github.com/timber/timber/pull/2309/files)
Wouldn't this only unlink/remove the file only when there's an error? In theory, the later call after the conditional should remove the file whether an error is triggered or not.

Actually I moved it out of the conditional so that it happens regardless if it's an error or not.

@oxyc I am such a dumb-dumb and read that backwards. Yes! This does exactly what it should then. I'd still like to write a test to verify though. Is that something you'd be up for taking a stab at?

If no one else gets to it before, I can take a look when I have time. Unfortunate I’m spending most of my free time on other projects at the moment.

I took care of a test in #2317 and merged. Thanks again @oxyc !


redpanda: do not set azure keys to empty strings

Redpanda does not interpret empty strings as being unset. Must use null.

@rtluckie

No. We have an issue in the backlog for testing on the cloud providers but right now all our tests are in kind.


Add compatibility with ghc-7.10

Merging this change as it's trivial but required for testing purposes


Will Adoptium provide packaged "JRE" versions of Java in addition to the JDK as AdoptOpenJDK did?

Question
Is it planned for Adoptium to provide a package containing only the "JRE" part of the JDK, in addition to the JDK,  as AdoptOpenJDK did?
Context
Java version:

All versions of Java

Your operating system and platform:

all OS (At least a zip for Windows x64)

https://github.com/adoptium/temurin-build/issues/2683

@karianna According to the discussion in #2683 a JRE Release of Java 8, 11 and 16 is not available yet but you plan to do so? And with Java 17 you'll stop creating JRE releases?
Cheers and thanks for working on this project :)

@kscheel That is correct although it'll take a few weeks as we need to do compliance runs on the JREs

@kscheel That is correct although it'll take a few weeks as we need to do compliance runs on the JREs

Correction to this - only JREs for 8 and 11 (now pretty much complete) but not for 16.


Create library with both target_include_directories and target_link_libraries

Suppose I want to create a library which using Boost:
find_package(Boost 1.46.1 REQUIRED COMPONENTS filesystem system)
add_library(hello_library SHARED src/Hello.cpp)
target_include_directories(hello_library PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(hello_library PRIVATE Boost::filesystem)

May I ask what is the difference between
target_link_libraries(hello_library PRIVATE Boost::filesystem)
and
target_link_libraries(hello_library PUBLIC Boost::filesystem)
?

The full CMake documentation for target_link_libraries is available from here and I have a brief explanation for how PUBLIC, PRIVATE, INTERFACE works in the static library example
From a high level

PUBLIC: hello_library and any library that links against it will also link to boost filesystem and have it's include directory in the path.
PRIVATE: Only hello_library links against boost filesystem and has it's include directory in the path. Any library that uses hello_library doesn't know about boost filesystem.
INTERFACE: hello_library doesn't link against boost filesystem and only libraries that use hello_library will link against it and have it in the include path.

The best way I have found to check this is to run an example and use verbose compiler output to see what flags are being passed to GCC or Clang.
I'll see if I can add a clearer explanation in my examples.

As I understand, this will lead to necessary elements added to the target's  -I or -L flags.
Suppose hello_library has boost filesystem in its header files and cpp files, so any target linked to hello_library will have boost filesystem header file in its -I and boost filesystem library in -L flags.
This is target_link_libraries(hello_library PUBLIC Boost::filesystem) purpose.
In contrast, if hello_library only has boost filesystem in cpp files, not in its head files, so any target linked to hello_library doesn't need boost filesystem in its -I and -L flags.
This is target_link_libraries(hello_library PRIVATE Boost::filesystem) purpose.

Yes that's correct and the intended use case for PUBLIC and PRIVATE.


2 Accounts not working

I have found an issue when having 2 accounts setup with this integration. It seems to only pull data for the latest account added. It seems to update the device and entities based on the last added account.
Here you can see i have added the gmail account last and has a parcel due, but both accounts have 2 entities.

Here you can see i have added the Outlook account last and doesn't have a parcel due, but both accounts have 2 entities.

Hi, first of all thanks for taking the time to log this issue!
I've had a look and it will take some time for me to be able to fix this specific issue i think. As a temporary measure i have released a new update that stop multiple accounts from being created.
This probably isn't what you were wanting or expected but once I find the time i will look at fixing this issue properly. This issue will remain open until then.
Thanks


Roles/Groups/Permissions

Are there any plans to create permissions?
i.e. Some users being able to access only parts of  the admin.
If there are, what are the considerations on this feature up to now?

Any update ? IT has been removed from milestones so it's not going to happen ?

Yes, that feature is no longer planned, but with v2 of the admin it is a bit easier to setup multiple routes and at least set one instance of the admin to show/hide certain tables and/or make others editable or readonly by having two separate settings.json files and also 2 different users for each admin instance.


Added User guides for Observability Setup & Comparative Analysis.

Signed-off-by: Jonsy13<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR will add user guides -

Observability setup ( Overview Screen )
workflow analysis
comparative-analysis of workflows ( Workflows Dashboard screen )

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Checklist:

[ ] Fixes #
[X] Signed the commit for DCO to be passed
[X] Labelled this PR & related issue with documentation tag

Thank you for the additions :100:


Fix tests on all platforms

This is the current state (copied from https://github.com/sharkdp/fd/issues/410)

[x] fix compile errors on all fd-supported platforms

[x] i686-pc-windows-mscv
[x] i686-unknown-linux-gnu
[x] i686-unknown-linux-musl
[x] x86_64-apple-darwin
[x] x86_64-pc-windows-gnu
[x] x86_64-pc-windows-mscv
[x] x86_64-unknown-linux-gnu
[x] x86_64-unknown-linux-musl

[x] fix unit test on all platforms

[x] i686-pc-windows-mscv
[x] i686-unknown-linux-gnu
[x] i686-unknown-linux-musl
[x] x86_64-apple-darwin
[x] x86_64-pc-windows-gnu
[x] x86_64-pc-windows-mscv
[x] x86_64-unknown-linux-gnu
[x] x86_64-unknown-linux-musl

[ ] Make sure that enforced limit is reasonably close* to actual (experimental) limit

[x] i686-pc-windows-mscv (679 vs 2045)
[x] i686-unknown-linux-gnu (348,906 vs 349,417)
[ ] i686-unknown-linux-musl (10,295 vs 349,409)
[x] x86_64-apple-darwin (20,585 vs 21,096)
[x] x86_64-pc-windows-gnu (679 vs 2045)
[x] x86_64-pc-windows-mscv (679 vs 2045)
[x] x86_64-unknown-linux-gnu (348,329 vs 348,841)
[ ] x86_64-unknown-linux-musl (10,294 vs 349,408)

*reasonably close: it shouldn't be an order of magnitude smaller than the actual limit.

musl just hardcodes ARG_MAX:

https://git.musl-libc.org/cgit/musl/tree/src/conf/sysconf.c?id=b76f37fd5625d038141b52184956fb4b7838e9a5#n187
https://git.musl-libc.org/cgit/musl/tree/include/limits.h?id=b76f37fd5625d038141b52184956fb4b7838e9a5#n49

Not sure we can do much about that

Ok, thank you. So let's close this for now and start to work on the integration in fd.


[WIP] 600-series Proof of Concept

Code that can read Basal patterns from a Medtronic 600-series pump and upload them to the dataservices API.
@jebeck and/or @darinkrauss - Can I please get a general code review? I'll get @gniezen to check out the comms parts later.

Just a couple of general comments, but nothing specific to the actual implementation or comms.

Closing review so that it doesn't accidentally get merged.


Compilation terminated

/Users/rockdeng/esp/esp32-cam-demo/main/app_main.c:35:25: fatal error: http_server.h: No such file or directory
The error shows while compiling. I don't know what's going on and how to fix it?
Contents in esp folder as below:
darylszes-MacBook-Pro:esp rockdeng$ ls
esp-idf			hello_world
esp32-cam-demo		xtensa-esp32-elf

http_server is a submodule in this repo:
fit with git submodule update --init or clone with --recurse-submodules option


CSS not copied

🐛 Bug Report

Fork this JSFiddle and reproduce your issue.

Demonstrated here: https://jsfiddle.net/thumbone/zy3daw0c/16/
That puts on my clipboard different things depending on whether I use Firefox of Chromeium. The latter brings more of the styling with it, neither of them brings colour from CSS vars.
Have you read the Contributing Guidelines on issues?
Sure have. Thanks. It's brief enough to actually read not just skim to bottom and click "I've read it" like on most pop up licensing forms ;-)
Expected Behaviour
I'd really like it to copy the CSS over as well. Or convert it all to inline before copying. That may be non trivial. I see two possible approaches and am too naive on the current industry options and standards in this space (which is why I lean on top notch offerings like yours ;-):

Find and include all the used CSS declarations in the copy, as incline CSS.
Convert all the CSS appplied styles to style attributes before copying

Actual Behaviour
Mixed, depends on browser in part. But basically there's very little styling conserved in the copy.
To Reproduce
The fiddle above suffices to demonstrate.
Browsers Affected
I tested on Firefox, Chrome and Chromium.
Operating System
I'm on Linux, Mint. 20.2.

OK, I sunk a whole day into exploring this and running tests. I stopped short of all my planned experiments because I stumbled near end of day upon the one solution that works! And it means I don't need clipboard.js.
In summary, I looked at including the styles in the copy. I copy all the rules form the DOM into a new style element and insert that along with a clone of the element I wish to copy into a div wrapper. Then I copy that wrapper. And I tried so many methods and all of them trashed the style element. Firefox completely as a rule and losing all styles, and Chrome applies the styles to each element as element style attributes. Alas it applies the var()  calls literally and because the style element is dropped and it's not smart enough they get lost.
Then late in the day (well in fact it's late at night now) I stumbled upon this and I pay homage to gods of chance and SO gems:
https://stackoverflow.com/a/45352464/4002633
I tuned that to copy the HTML (where wrapper is the DIV element into which I put a style element built from rules copied from the DOM followed by the content I want copied):
const HTML = wrapper.html();

function handler(event) {
    event.clipboardData.setData('text/html', HTML);
    event.preventDefault();
    document.removeEventListener('copy', handler, true);
}

document.addEventListener('copy', handler, true);
document.execCommand('copy');

And this copies perfectly truly. I can paste into an email (Thunderbird) and I get all my style,s I even get tooltips, animations and links ... it's complete! Mind blown. And I am not one to reach for that tacky idiom, as good as never, but after a hard day of research and experiments with two browsers, back and forth to have found a perfect solution is just stunning.
it could only be better if I could find documentation sources for this, to understand it and not just rest on someones claim and my empirical test that it does work. This line event.clipboardData.setData('text/html', HTML); alone keeps style elements in place, while and copy performed one a selection tosses them (they are I presume not selectable ;-).

Cool! Glad to hear you fixed the problem. Ping back if you need some assistance. Closing the issue for now.


Special handling of the "data" attribute not supported

In the v0.3 spec for JSON format section about Special Handling of the "data" Attribute, it says:

First, if an implementation determines that the type of the data attribute is Binary or String, it MUST inspect the datacontenttype attribute to determine whether it is indicated that the data value contains JSON data.
If the datacontenttype value is either "application/json" or any media type with a structured +json suffix, the implementation MUST translate the data attribute value into a JSON value, and set the data attribute of the envelope JSON object to this JSON value.

If I'm reading the spec correctly, it looks like the SDK should serialize stringified JSON in the data attribute. In other words, I would expect this to work:
const v03 = require("cloudevents-sdk/v03");
const data = { "so": "scare" };
const ce = v03.event
  .id('4e4cfbd6-d542-4235-9e80-99d2df62abee')
  .source('com.example.whatever')
  .type('something')
  .dataContentType("application/json")
  .data(JSON.stringify(data)) // <-- stringified json data goes in
  .format();

const ceData = ce.getData();
console.log(ceData.so); // <-- this breaks, getData returned the stringified JSON, not an object.

I wrote a sample test (https://github.com/joshwlewis/sdk-javascript/commit/19cc9f3b0a081e84fd79dfae620d9435dc372a75), if it's more useful than my untested example. It fails with:
  CloudEvents Spec v0.3
    The Constraints check
      'data'
        1) should convert data with stringified json to a json object

  0 passing (8ms)
  1 failing

  1) CloudEvents Spec v0.3
       The Constraints check
         'data'
           should convert data with stringified json to a json object:
     AssertionError: expected '{"much":"wow"}' to equal { much: 'wow' }
      at Context.it (test/spec_0_3_tests.js:209:41)

That references it's wrong, please, ignore it.

@joshwlewis, after reading and talking with some fellows, we conclude that's right for incoming events, that needs to be unmarshaled. But, for the outcoming event, created by the v03.event()... the type will be as-is, no parsing at all.
If we parse a string to json in the v03.event().., we will ending to marshall a json object, not a string.
That's makes sense to you?

@joshwlewis, I've some baking on this. Your point of view is right! Because of the dynamic typing of js, we can do that easily.
Lets review it in the PR #35


Update

Is this r6maps still updated? I see some incorrect places between the Ubisoft and this one.

Unfortunately, this fork is no longer being updated. However, r6calls by @dudekiller82 (https://github.com/DudeKiller82/r6calls) is being actively maintained, and getting features added regularly.


@JuliaRegistrator register

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/63556
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.0 -m "<description of version>" 4c4950ae53d0f87b7a4c39685e00c5aab5ebfe78
git push origin v0.2.0

Also, note the warning: This looks like a new registration that registers version 0.2.0.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.

@JuliaRegistrator register

Registration pull request updated: JuliaRegistries/General/63556
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.0 -m "<description of version>" f36743aa306cdc30431a813a2a7480b13ebfd1ac
git push origin v0.2.0

Also, note the warning: This looks like a new registration that registers version 0.2.0.
Ideally, you should register an initial release with 0.0.1, 0.1.0 or 1.0.0 version numbers
This can be safely ignored. However, if you want to fix this you can do so. Call register() again after making the fix. This will update the Pull request.


Updated Tensor ext link

I have read the CLA Document and I hereby sign the CLA

@andrewdalpino, the bad link is still in our docs, it might be a good idea to fix it.


Like counter for Menu Items !!

Menu Items can get likes
Max Like allowed 2 per user

I can do this. Can you please assign this to me?

Sure @Arceen  go for it !! Make sure you follow the contributing guidelines !!

Hey @c4coderandcreator  Loved working on the project! Please check the PR, if its working like you want. Thanks!

Hey @c4coderandcreator Loved working on the project! Please check the PR, if its working like you want. Thanks!

sure @Arceen  please create thee PR with UI-Improvement branch

I've merged it with the UI-Improvement branch. Check PR. Thanks!


Public zone warning even though the zone is private

This may be by design and I'm just misunderstanding, but when adding records to a zone classified private, I still get this warning:
"Warning: x.x.x.x is a local IP address. Adding it to a public zone does not make it accessible externally. Only proceed if you know what you are doing."
I'd think I'd only get that warning if my zone was classified public?

Ah, the "Zone classification" field isn't actually what is used to trigger this warning (that field is just added as a way to allow you to classify zones in any arbitrary way - and we actually use it to determine which zones to sync to our public servers).
The warning you are seeing here is triggered based on the value provided in the local_zone_suffixes setting in config/config.ini, and local IP addresses are detected based on the values of local_ipv4_ranges and local_ipv6_ranges (you could disable the warnings completely by emptying the range fields in the config file as they are not used for anything else).
There is almost certainly room for improvement here.

To clarify a bit more, if you add foobar.example.com to local_zone_suffixes then you will not receive these warnings for that domain or any subdomains of it.

As I thought, I had misunderstood the feature. :)
Thank you for clarifying!


Change test data for PrivatMarket

This change is

Reviewed 1 of 1 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

op_robot_tests/tests_files/data/brokers.yaml, line 126 [r1] (raw file):

    roles:
        provider:       PrivatMarket_Provider
        provider1:      PrivatMarket_Provider1

Будь ласка, видаліть цей рядок.

Comments from Reviewable

op_robot_tests/tests_files/data/brokers.yaml, line 126 [r1] (raw file):
Previously, selurvedu wrote…
> Будь ласка, видаліть цей рядок.

Готово, забыла за это место(

Comments from Reviewable

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


emails: Increase logging if email is misconfigured

Have you tested this? If so, how?
Yes. I got more verbose output when testing with luigi TestNotificationsTask --local-scheduler --email-force-send
I got something like this:
ERROR: Not able to connect to smtp server: timed out

Instead of a mere ERROR: Not able to connect to smtp server.

I think I added the same patch locally while debugging a few times. Thanks for making it a PR!


Allow passing YYYY-MM-DD in native database date types to avoid timezone issues

Bug description
When I insert a date value, it gets stored in the database date attribute with a day off by one.
How to reproduce
I create a date object via new Date(1960, 8, 24) and I insert it on both a date and a datetime attribute of a table record.

In the date attribute xdate I find "1960-09-23" which to me is unexpected behaviour.

In the datetime attribute xdatetime I find "1960-09-24" which I would expect.

schema.prisma was generated by npx prisma db pull

import pkg from "@prisma/client";

const { PrismaClient } = pkg;
const prisma = new PrismaClient();

(async () => {
  // create a date 24.9.1960
  const now = new Date(1960, 8, 24);

  console.log(now);

  console.log(`Original date: ${format(now, "dd.MM.yyyy")}`);
  const name = "Demo";

  const nowFromDB = await prisma.myTable.create({
    data: { name: name, xdate: now, xdatetime: now },
  });
  console.log("Database date");
  console.log(nowFromDB);
  console.log(`Database date: ${format(nowFromDB.xdate, "dd.MM.yyyy")}`);
  console.log(`Database date: ${format(nowFromDB.xdatetime, "dd.MM.yyyy")}`);
})();

Expected behavior
I create a date object via new Date(1960, 8, 24) and I insert it on both a date and a datetime attribute of a table record.

In the date attribute xdate I find "1960-09-23" which to me is unexpected behaviour.
In the datetime attribute xdatetime I find "1960-09-24" which I would expect.

Prisma information
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model myTable {
  id        Int       @id @default(autoincrement())
  name      String?   @db.VarChar(50)
  xdate     DateTime? @db.Date
  xdatetime DateTime? @db.DateTime(0)
}

Environment & setup

OS: MacOS 11.4
Database: MySQL 8.0.25.
Node.js version: v14.17.0

Prisma Version
2.24.1

After some research I understand the whole thing has to do with the fact that prisma always uses datetime with timezone support even if I want to store a date only. I think as MySQL (and PostgreSQL for that matter) support timezone-agnostic DATE datatypes it would be obvious that prisma supports these as well.
I have seen recommendations like storing a date as a string, using middlewares to convert and such.
Coming from Laravel/Eloquent and Sequelize I did not even expect that saving a date object can be a problem. I just want to store birthdays, start-of-work and end-of-work dates without thinking too much about that.

You can try to use Native Types: https://www.prisma.io/docs/concepts/components/prisma-schema/data-model#native-types-mapping
@db.Date
I had this issue since Prisma 1. I store hotel arrivals and departures as numbers, like:  20210605
I can then even search availability by using gt or lt.
Relevant issue: https://github.com/prisma/prisma/issues/4355

I already use native types, at least npx prisma db pull seems to generate these for me.
Surprisingly, when I insert the same date object into a @db.Date field, I get the off-by-one day and when I insert it into the @db.DateTime field, it seems to work in my sample. Although, this works in the sample, in my real app the insert into a @db.Datetime field creates an off-by-one again.
Maybe I resort to a string based date format bit that just does not feel right.

Oh sorry, I have just skimmed through your issue, didn't see you use native types.
I have once researched the subject.
There is one guy who seems to be an expert in date handling: https://stackoverflow.com/users/634824/matt-johnson-pint
You may run through his answers.
He was very sound about storing arbitrary dates like birthdays as Date without time and if that is not possible, use String or Number.
I don't remember now if there are any shortcomings of this solutions (storing as strings or numbers).
I don't have any issues so far, but your mileage may vary.
I agree that the best would be if it was handled by Prisma.

Thanks for the info. I feel that the whole date-time handling is surprisingly complex given the various variants how the Javascript Date() constructor handles timezones, console.log(date) handles timezones and there is no real Date datatype without timezones.
The most robust solution is probably to store dates as strings (YYYY-MM-DD)  or numbers a you did. At least this gives you no surprises.

I believe it's still advisable to use the native Date type in database over String or Int, not sure though.
I made this decision 2 years ago and I can't remember why I chose Int over String.
Maybe in order to do database availability checks, but I think it would be possible with Strings too, not sure.
I search if a room is available in particular dates like this then:
     const isTaken = await ctx.prisma.booking.findFirst({
            where: {
              roomId: args.roomId,
              arrivalDate: {
                lt: args.departureDate,
              },
              departureDate: {
                gt: args.arrivalDate,
              }
            },
});

You should also know that there is a new spec coming to Javascript called Temporal: https://tc39.es/proposal-temporal/docs/
It should take away all the pains of the Date object and it will become the standard probably, even making all the date libraries obsolete.
It's currently in Stage 3, there are some polyfills already and you can test it (https://dev.to/romulocintra/temporal-date-time-in-javascript-today-23cb), soon to be available in browsers.
The main thing you are looking for is Temporal.PlainDate, which will handle your use case: https://tc39.es/proposal-temporal/docs/#Temporal-PlainDate

Thanks for the update, Temporal seems to evolve into a great thing, will keep looking into it.

Thanks for the discussion here.
I also went through the issue and it seems to me this is not a serialization fault in Prisma as we just call toISOString() in the Date object that we receive which the engines component can parse and send to the database.

This is an issue most Prisma users will eventually stumble upon.
For example, I'm GMT-3 so if I do new Date("2022-04-12") it returns me Apr 11 2022 21:00:00. And if Prisma is forcing me to use new Date() every time I try to handle "YYYY-MM-DD" this would lead to really annoying timezone gymnastics in my code.
Prisma should not enforce JavaScript date type upon SQL Date fields exactly because of that.
Date types should definitely accept YYYY-MM-DD strings.

First you need to edit the schema.prisma file
  change_time  DateTime? @db.DateTime(0)

to
  change_time  String? @db.VarChar(0)

and run prisma generate. then you can pass a string to the time field

is there any plan to support this issue. I think this is the only big critical issue left in your awesome library.

If timezone offset not specified, UTC date is different from timezone date.
Maybe,
new Date(Date.UTC(2022, 9, 19))

it's safely used if storing specific date even if using any timezone because it is converted date object adapts timezone and stored as utc time.
(e.g. 1) 2022-10-19 if earlier X hours than utc time,  the conversion
new Date(Date.UTC(2022, 9, 19)) [js Object]-> 2022-10-19 (+ X hours from UTC)  [conversion]->   2022-10-19:00:00:00(UTC stored in DB)

(e.g. 2) 2022-10-19 if later X hours than utc time,  the conversion
new Date(Date.UTC(2022, 9, 19)) [js Object]-> 2022-10-18 (- X hours from UTC)  [conversion]->  2022-10-19:00:00:00(UTC stored in DB)

So, comparatively simple patches can be applied in javascript layer
type DIGIT =  0 | 1 | 2 |  3 | 4 | 5 | 6 | 8 | 9
type YYYY =  `${DIGIT}${DIGIT}${DIGIT}${DIGIT}`
type MM =  `0${Exclude<DIGIT, 0>}` | `1${0 | 1 | 2}`
type DD =  `${0 | 1 | 2}${Exclude<DIGIT, '0'>}` | `3${0 | 1}`

function parse(date: `${YYYY}-{MM}-${DD}` |  Date): Date {
  if(typeof date === 'string') {
      const  [yyyy, mm, dd] = date.split('_')
      return new Date(Date.UTC(parseInt(yyyy, 10), parseInt(mm, 10) - 1,  parseInt(dd, 10)))
  }
  // If you want to apply new Date(2022, 9, 19) in your timezone without changing code
  return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))
}

The codes restricts stored date to UTC. But there is one more consideration.
I'm not checking what parsed date data obtained from db later timezone than UTC. If the timezone used in javascript, it may be forward by one day. If do so, we further need patch if we use date object if we use date object for it .
function getStoredValue(obj: ) {
   // Given that ,  timezone date  initialized  by UTC Date Time
   const dateField = obj.date_field
   return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHour() + timezoneoffset)
}

Now, we can control date type in all timezone.
But, this cause is stored value cutoff time information, and it's completely wrong if only we can use UTC datetime.
These patches make anyone confused or annoyed  because it makes UTC time as fake date data, and always need  conversion mutually.
If more strictly date type wanted derived from some databases, prisma should make DBs enable to configure other timezone.
As I thought it, date type should be stored yyyymmdd  as short int or yyyymmdd as string as learning  my experience like  already mentioned when strict date type isn't needed.

I created a column:
DateTime @db.Date

The generated types in the Prisma client are:
Date | string

When I try to write the string there, I get a runtime error (and no type error):
Argument date: Got invalid value '2022-10-18' on prisma.upsertOneproduction_date. Provided String, expected DateTime.

At least the types should match what is actually allowed!

I'm having a similar issue when using the MySQL native types from prisma db pull for DATE and TIME. I need to input the time as
HH:MM:SS  |  Generated Schema:  time_variable DateTime    @db.Time(0)
and date as
YYYY-MM-DD Generated Schema:  date_variable DateTime    @db.Date .
I've tried this as string format, a date object and also ISO string in multiple ways hard coded.
Consistently, I get the same error:
Got invalid value 'Sat Dec 03 2022 20:24:40 GMT-0700 (Mountain Standard Time)' on prisma.<MY_QUERY>. Provided String, expected DateTime.
It seems like prisma may be inappropriately converting the times to a readable format i.e..toTimeString() and cannot be inferred thereafter.
Hoping to find a solution other than raw sql or refactoring the db.

Prisma has been a pain when dealing with date and datetime. The Prisma team has been ignoring this issue for a long time. Probably, should just go back to Sequelize.

Fair but how hard is it to workaround? Can't you just use an int column and store a timestamp representing the date as a unix timestamp (UTC)?

i think if prisma detect the field is "Date" only, it should not convert it to utc, it does not make sense

I am also having the same problem. It seems to work fine when inserting the date into the database. When the date is retrieved on the server side it is correct, but once it hits the client side the date is incorrect. Only for the @db.Date not @db.DateTime

Same with db.Time on Postgres
startDate DateTime @db.Date // yyyy-mm-dd
startTime DateTime @db.Time // hh:mm:ss
endDate   DateTime @db.Date // yyyy-mm-dd
endTime   DateTime @db.Time // hh:mm:ss

Results in
@acme/seeder:db:reseed: Argument startDate: Got invalid value '2023-04-01' on prisma.createOneEvent. Provided String, expected DateTime.
@acme/seeder:db:reseed: Argument startTime: Got invalid value '00:00:01' on prisma.createOneEvent. Provided String, expected DateTime.
@acme/seeder:db:reseed: Argument endDate: Got invalid value '2023-12-31' on prisma.createOneEvent. Provided String, expected DateTime.
@acme/seeder:db:reseed: Argument endTime: Got invalid value '23:59:59' on prisma.createOneEvent. Provided String, expected DateTime.

so, any suggestions on it? how you guys works with Date now?

Timezones are difficult, maybe extra so in Javascript.
An overview over what we (don't) do:

code
use?
comment
as ISO string (UTC)

new Date('2023-01-01T00:00:00Z')
✅

2023-01-01T00:00:00.000Z

new Date('2023-01-01T00:00:00')
❌
unstable based on system TZ
?

new Date('2023-01-01')
✅
for dates without time only
2023-01-01T00:00:00.000Z

new Date(2023, 0, 1)
❌
unstable based on system TZ. This is what OP did wrong
?

new Date(1672531200000)
🆗
not readable
2023-01-01T00:00:00.000Z

new Date(Date.UTC(2023, 0, 1))
🆗
verbose
2023-01-01T00:00:00.000Z

General tips

Set env var TZ=UTC in env var backend. This prevents unforseen issues when server is located in a different timezone.
Avoid using dates (without time), but when we do, pass it through API as YYYY-MM-DD.
Pass date with time through api as iso string YYYY-MM-DDTHH:mm:SSZ (new Date(...).toISOString()) .
Saving date-strings to prisma works fine when formatted as new Date("YYYY-MM-DD")

I have two functions that I use to fix the date issue with prisma. These are just for saving dates when you are saving times that are not in UTC. One is for saving the date to prisma and the other is for using a date that you get from prisma. fixedDateToPrisma uses date-fns to cut off any time/timezone that is on the date you are sending and saving the date in the format prisma requires. This should properly convert your date  I hope this helps someone!
//fixed datetimes sent to database if database times are not in UTC
export function fixedDateToPrisma(date) {
return format(date, "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
};
//fix timezone issue from prisma if database times are not in utc
export function fixedDateFromPrisma(date) {
return new Date(date.substring(0, date.length - 1));
};
And here is an example of creating a post:
/** @type {import('./$types').RequestHandler} */
export async function POST({ request, response }) {
const { author, comment, area_id, date, shift, ip } = await request.json();
try {
    const createdPost = await prisma.TurnReport.create({
        data: {
            comment: comment,
            datetime: fixedDateToPrisma(new Date()),
            author: author,
            area_id: area_id,
            shift_date: date,
            shift_num: shift,
            ip: ip,
        }
    })
    await prisma.$disconnect()
    //return the post to get the id for adding attachments
    return json(createdPost)
} catch (error) {
    return new Response(JSON.stringify({ message: error.message }), { status: 500 });
}

}
And then this would be an example of using the date on a page somewhere. You would also need to import format from date-fns:
import { format } from 'date-fns';
let commentDateToCompare = (date) => {
return format(fixedDateFromPrisma(date), 'yyyyMMddHHmm')
}
If you are saving times in UTC as @tomfa mentioned then in your server.js file you need to make sure to set the timezone for your server to UTC
// Set the TZ environment variable to "UTC" to fix timezone issues
process.env.TZ = "UTC";

This one issue is why I won't be using Prisma for my current project.
It's disturbing that it hasn't been addressed after more than 3 years. Issue #2783  dated 2020.06.17 was closed without the problem having been fixed.

@alanpendleton what are you using instead of Prisma? I'd like to move to another ORM because of this issue too.

This is a show stopper for us as well unfortunately.

I’ve switched to pgtyped

Is this not fixed yet?

Hey Prisma team, is there any plan to address this in the reasonable future?  Despite all the workarounds this continues to bite us and cause bugs all over the place.  It would be much, much better if the Date type was not mis-cast as a DateTime.  The Date type should have no time component.  If that means it doesn't fit into the JS Date object, who cares - then pick another data type.  The "Date" type is not the right one.  This is one of those cases where Prisma is doing the wrong thing and making things harder for its users than it needs to be.

@alanpendleton what are you using instead of Prisma? I'd like to move to another ORM because of this issue too.

This was a small internal project. We went with Rails which has its own ORM and a date type that is an actual date. For an event held in the US, a user in Europe or Asia needs to see the same date as a user in the US. I have no interest in doing time zone conversions and substring operations to solve a problem that is not a problem in the underlying database.

No answers still... Anyone has a solution ?

No answers still... Anyone has a solution ?

Yes, switch to a different ORM


IGN Scan 25 as a map

The map named as "IGN Scan 25" was very useful for France but doesn't work any more. Could it be possible to make it working again?
Just for information,
I use this other map within Locus MAP without any problem, slighly different but ok
http://gpp3-wxs.ign.fr/iv2suivbu1mzyabwnr4k1w2n/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.CLASSIQUE&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=image/jpeg

Requests for this map fail with Error "403 Forbidden":
<ExceptionReport><Exception exceptionCode="MissingRights">
   Wrong referer or wrong IP Adress or wrong User-Agent
</Exception></ExceptionReport>

So either brouter.de is explicitly blocked by them, or the usage conditions have changed. referer and User-Agent are set by the browser, we don't have influence on that.
Do you have any privacy protecting plugins that suppress referer information? Otherwise I don't know what to do about it, maybe you could ask them?

May be this URL could work ?
https://wxs.ign.fr/iv2suivbu1mzyabwnr4k1w2n/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=13&TILEROW=2934&TILECOL=4253&FORMAT=image%2Fjpeg
Coming from http://www.vttrack.fr/

Or this one, coming from brouter but http insteed of https,
http://gpp3-wxs.ign.fr/6qyeeg75b526mac4g4qmjazn/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&&TILEMATRIX=12&TILECOL=2043&TILEROW=1451

The last one with http works, so with placeholders that's:
http://gpp3-wxs.ign.fr/6qyeeg75b526mac4g4qmjazn/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}
You can check the errors yourself in the Console or Network (needs page reload) tabs in the browser development tools (key F12).

ok but the URL used by Brouter is https, not http, not working of course
https://gpp3-wxs.ign.fr/6qyeeg75b526mac4g4qmjazn/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&&TILEMATRIX=12&TILECOL=2044&TILEROW=1453

ok but the URL used by Brouter is https

Ah, now I see. https://brouter.de/brouter-web doesn't provide this layer at all. It's only on https://brouter.damsy.net/ and that isn't maintained by me.
@bagage

That's right!
Le ven. 24 avr. 2020 à 21:05, Norbert Renner<EMAIL_ADDRESS>a
écrit :

ok but the URL used by Brouter is https
Ah, now I see. https://brouter.de/brouter-web doesn't provide this layer
at all. It's only on https://brouter.damsy.net/ and that isn't maintained
by me.
@bagage https://github.com/bagage
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nrenner/brouter-web/issues/287#issuecomment-619190726,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APKAPI6ILFN3RW2T2T6SZFTROHPGRANCNFSM4MP3N2LA
.

It should be fixed now.
IGN is a big institution but they seem unable to handle the generation of their HTTPS certificates on time. For now we'll use http but hopefully that's only temporary (even though it lasts since one week now).

Excellent.
Le sam. 25 avr. 2020 à 10:35, Gautier P<EMAIL_ADDRESS>a écrit :

It should be fixed now.
IGN is a big institution but they seem unable to handle the generation of
their HTTPS certificates on time. For now we'll use http but hopefully
that's only temporary (even though it lasts since one week now).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nrenner/brouter-web/issues/287#issuecomment-619343298,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APKAPIZ6CUEJMBGCHRVYWT3ROKOFFANCNFSM4MP3N2LA
.

--
07 60 42 02 79
Denis Braux Conseil
8, rue du petit Banc
79000 NIORT


Release CI/CD pipeline

We need to create a release CI/CD pipeline for this project.
Use these documents as a reference:

How to release the first Eclipse version of projects
JSONP release job

Created Issue #1229 to not forget about sed temporary workaround.


Added quartile_int to `Direct elicitation in 1D

Solves #289
Description

Added quartile_int example to Direct elicitation in 1D.
Also added a quartile_int.gif if the user cannot run the previous cell(similar to roulette).
Added it separately below roulette

Checklist

[x] Code style is correct (follows pylint and black guidelines)
[x] Includes new or updated tests to cover the new feature
[x] New features are properly documented (with an example if appropriate)
[x] Includes a sample plot to visually illustrate the changes (only for plot-related functions)
[x] Widget states have been properly saved (only for notebooks with widgets) see for details.

Thanks @rohanbabbar04


Factory Pattern: switch/case construction

Hi! I'm a little bit new in implementing design patterns in ruby, but in C# we used this pattern to avoid switch/case construction. So, this is the idea of this pattern, in my opinion,maybe it should be implemented like:
We have hash with, for example, string and method ( i found this solution, maybe you will find better solution ), and after we got some key by user, we return new object:
class M # our class
  attr_accessor :example
  def initialize
  end
end

a = {} # our hash
def m_creator # method for create
  M.new
end

puts "Select what to create:"
puts "1. M"
result = gets.chomp

a["M"] = method(:m_creator)

instance = a[result].()
b = a[result].()
puts instance
puts b

Have a good day!

UPD: found better solution ( with reflection ):
class M # our class
  attr_accessor :example
  def initialize
  end
end
a = {}
puts "Select what to create:"
puts "1. M"
result = "M"
a["M"] = Object.const_get(result).method("new")
puts a
b = a["M"].call()
c = a["M"].call()
puts b
puts c

Added PR for this issue

The metaprogramming approach is useful in some scenarios, but for simple cases, I feel it adds unnecessary complexity.
Additionally, if a user passes in an invalid object_name some weird things can happen and the errors are difficult to trace.
Object.const_get(object_name).method("new")


Lower latency profiling

Current latency profiles have their tails dominated by writing latency
logs, which is hugely undesirable.
Now when a thread log fills up, push it to a background thread to write
to disk. At shutdown, wait for all latency traces to be flushed.
Built atop #3993, which should definitely be reviewed and merged first.

This should be ready for a merge

ping?


CBOR parser interprets NULL character in payload and throws Unexpected End of File error - WiFi BLE Provisioning Service

Describe the bug
This error (CborErrorUnexpectedEOF) seems to occur for any 00 (or NULL) character that may be present in a CBOR payload to parse. I specifically found this when using the WiFi BLE provisioning service and setting up a WiFi profile within our application with an Arris TG862G router. Its MAC is: 00:1D:D3:8F:84, in which the 00 octet is interpreted as a NULL character by the CBOR decoder (byte string), causing it to exit and not finish the add network request.
On our application, we were seeing a debugging error, in which the SSID (the first value the deserializer tries to find from a deserializeAddNetworkRequest) could not be interpreted:
88 8594 [Btc_task] Failed to get SSID parameter, error = 7, value type = 0
This in turn led us to see we were seeing an IOT_SERIALIZER_INTERNAL_FAILURE (7), prompted on what we suspected was a parsing error rather than finding the value of the SSID. Upon further digging, we see this error stems from the function cbor_value_map_find_value from the IoT Serializer function _find under iot_serializer_tinycbor_decoder.c. When successful, given a decoder object and key, this function returns a success and a decoder object with the respective value OR a "not found" error. However, this operation fails and returns a CborErrorUnexpectedEOF on the CBOR call, and finally an IOT_SERIALIZER_INTERNAL_FAILURE on the _find function. This ends on an error on the characteristic, where deserialization stops and request to add network is not processed.
Due to this deserialization/parsing error, no networks with a 00 BSSID octet are able to successfully WiFi provision, as the request is never successfully processed.
System information

Which hardware board or part numbers? - ESP32-WROOM-32
IDE used - Eclipse
Operating System - MacOS
Version of FreeRTOS (run git describe --tags to find it) - 202002.00-12-g446f9d081 <- This commit hash is a CUSTOM version derived from commit hash 45021e9f91e43 on FreeRTOS
Project - Custom Application
If your project is a Custom Application, please add the relevant code snippet in the section Code to reproduce the bug.

Expected behavior
A CBOR payload for a WiFi network profile will see 00 characters. For instance, the BSSID / MAC address of the network may contain one or more 00 octets. Many router manufacturers may contain octets within that range as seen here.
Moreover, if the WiFi network profile is an open network, the option for an open security network is enum 0 (int) - which is also interpreted as a 00 character by the CBOR parser.
Screenshots or console output
Looking at a CBOR decoder, I took the binary input of the CBOR encoded payload our mobile application gives the firmware to interpret:
A5 61 62 46 00 1D D3 8F 84 30 61 67 20 61 6D 6C 44 47 38 36 30 41 38 46 38 34 33 32 61 71 03 61 72 68 44 47 38 36 30 41 33 32

And confirming this is a valid CBOR encoded payload that is successfully decoded as follows (NOTE: "b" = BSSID byte string, "g" = index int, "m" = network psk string, "q" = network type int, "r" = network SSID string):
{"b": h'001DD38F8430', "g": -1, "m": "DG860A8F8432", "q": 3, "r": "DG860A30"}

As you see, the 5th character of the binary output above is where the 00 octet / character is located.
To reproduce
In order to reproduce, use the WiFi BLE provisoning service and the Save Network characteristic with:

A demo WiFi provisioning application
A network with these characteristics (00 octet BSSID), OR
Force a BSSID 00 octet by modifying the networks sent by the List Network characteristic to send , and the _serializeNetwork()

Code to reproduce the bug
As per item (3), modify the _serializeNetwork() function on iot_ble_wifi_provisioning.c and force a BSSID 00 octet by adding a 0x00 assignment:
if( IS_VALID_SERIALIZER_RET( ret, pBuffer ) )
{
    value.type = IOT_SERIALIZER_SCALAR_BYTE_STRING;
    value.value.u.string.pString = ( uint8_t * ) pNetworkInfo->pBSSID;
    *(value.value.u.string.pString) = 0x00; // or + n if trying to force on any other octet
    value.value.u.string.length = pNetworkInfo->BSSIDLength;
    ret = IOT_BLE_MESG_ENCODER.appendKeyValue( &networkMap, IOT_BLE_WIFI_PROV_BSSID_KEY, value );
}

This will replicate networks with a 00 BSSID octet returned by the List Network characteristic, and the provisioning application will take that BSSID when selecting the network and return it back to the firmware to parse through the Save Network characteristic.
Additional context
An additional item I have tried is to update to the most recent tinycbor library. FreeRTOS is currently using 0.5.2, and I updated it to 0.5.4. However, the issue still persists.
Thank you!

@rrivadeneira-rsc ,
Thanks for bringing this issue to our attention and the detailed steps for reproducing the issue. We are looking into this issue and will get back to you as soon as we have some updates.

Hello @rrivadeneira-rsc, to provide a quick update, I verified that the value was getting copied properly by TinyCBOR using the unit tests on visual studio. I did not have access to my Espressif board but I will continue to debug now that I have it.

Thank you for the update @lundinc2. Looking forward to further tests and see what you find. Let me know if you need anything from me.

Hi @rrivadeneira-rsc sorry for the late reply. I was unable to reproduce this issue, using said Hash and the iOS app.
I was able to decode the payload written above on my device, as well as manually adding some 0x00 hex chars to the BSSID.
The logs mention an error in the SSID, are there any special characters in your SSID? In the above cbor they seem ASCII based to me, but I am curious if there is something missing regarding the SSID that the CBOR is failing to decode.
One thing I did find is the iOS app will crash when trying to use a UTF-8 encoded SSID, so I will create a patch for that soon.

Hello @rrivadeneira-rsc ,
Are you still having issues? Could you follow up with my colleague @lundinc2's post?

Hello @rrivadeneira-rsc ,
I am going to close this ticket for now. Please feel free to reopen or open a new issue if you are still having problems.
Thanks,
Sarena


Support reference type ( & )

& means for lifetime or borrow in the Rust context, but when expressed as a C ABI, these seem no different for pointers.
Therefore, I implemented a parser that basically works the same as Pointer.

Thank you.
I'm wondering if we should increase the PointerType, but I don't think there will be any practical issues, so I'll merge it as is!


Missing Authentication token

I am using AWS Amplify with cognito and DynamoDB with GraphQL API to connect with my app
I am getting this error: Missing Authentication token

Hey @MedNabilEssefaihi thanks for raising this, in order to gather more context for the team would you mind porting this over to our bug template?
Closing issue. Please note when adding a GraphQL API with authentication it will need the appropriate authentication headers.

Dear @josefaidt
Thank you for your quick answer. in mu case I try to get data from DynamoDB with Graphql API, in my device it works very well but in the devices it doesn't work and returns that error.
Also Auth.currentUserInfo(); doesn't work.

This would be a great question for our community Discord server. If you believe this is an error with the JS library, consider filing a bug report

Dear @josefaidt
Thank you


Playlist icons not appearing at all

Playlist icons do not appear at all and it doesnt matter what i do. I dont know whats causing this issue as it started happening a couple weeks ago. This happens on added playlists that arent even mine aswell.

@Novattz Well you are in a outdated version of bloom. We have already fixed this issue.
What you have to do is to run installation script again (script in readme)

@Novattz do you still need help with this issue ?


Control panel mirrors scoreboard and progress

Nothing on the control panel right now lol

Fixed since the Copyable Scoreboard is live.


Dependency on core-js typings

Is it possible to remove dependency on @types/core-js?
I'm updated angular2 to 2.0.0 and removed core-js typings, because of setting lib option in compilerOptions of tsconfig.json, so corejs provided by typescript by default.
Without this typing i get the following error:
confirmOptions.provider.d.ts:1:0 Cannot find type definition file for 'core-js'.

That's odd, there's no import of core-js in the source code, I will do some digging and see if I can work out what's going on. Also are you on 1.0.1 of the library?

On 28 Sep 2016, at 13:02, deniskrishna<EMAIL_ADDRESS>wrote:
Is it possible to remove dependency on @types/core-js?
I'm updated angular2 to 2.0.0 and removed core-js typings, because of setting lib option in compilerOptions of tsconfig.json, so corejs provided by typescript by default.
Without this typing i get the following error:
confirmOptions.provider.d.ts:1:0
Cannot find type definition file for 'core-js'.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes, i install 1.0.1 version of the library. After removing by hand reference path to core-js from confirmOptions.provider.d.ts everything seems working fine.

Ah worked out what was going on, it was simple enough to fix. I will cut a release in a few hours as soon as I have decent wifi

On 28 Sep 2016, at 13:16, deniskrishna<EMAIL_ADDRESS>wrote:
Yes, i install 1.0.1 version of the library. After removing by hand reference path to core-js from confirmOptions.provider.d.ts everything seems working fine.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Fixed in 1.0.2, thanks for reporting! 😄

Thanks for such a quick response!


chore(package): update leveldown to version 5.0.1

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bug 2037638 : add support for build csi volume source

https://issues.redhat.com/browse/BUILD-275

/test e2e-aws

/test e2e-aws-cgroupsv2
/test e2e-aws-proxy
/test openshift-e2e-aws-builds-techpreview

/test e2e-aws-proxy

/test openshift-e2e-aws-builds-techpreview

/retitle BUILD-275: add support for build csi volume source

if you think this is ready for review @jkhelil you'll minimally need to /assign either / both @adambkaplan and @coreydaley to this PR, as they approvers noted in https://github.com/openshift/builder/blob/master/OWNERS per the PR comment https://github.com/openshift/builder/pull/273#issuecomment-971389469
the e2e's are all green now.
per you comment in slack, I'm assuming test coverage for this is a new e2e in https://github.com/openshift/origin/pull/26646 ... is that correct?
Based on my experience, that seems OK, as adding unit tests for the path you have had to manipulate in daemonless.go is not something that has been tenable in the past.  Looking @coreydaley 's https://github.com/openshift/builder/pull/245 when he added secret/configmap volumes, he touched the daemonless_test.go file, but seems to be for some semi-orthogonal cleanup that I don't think translates to your change here.
But I'll defer to @adambkaplan / @coreydaley .... otherwise I'm bowing out of this PR.

/assign @adambkaplan
/assign @coreydaley

/hold
pending https://github.com/openshift/api/pull/1056

/test e2e-aws-builds

/test e2e-aws-builds-rhel7

/test e2e-aws-cgroupsv2

/assign @adambkaplan

/override ci/prow/e2e-aws-builds-rhel7
Known issue

/bugzilla refresh


align QRCode in center?

it´s possible align QRCode to center?
i try this but don't work:
await BluetoothEscposPrinter.printerAlign(BluetoothEscposPrinter.ALIGN.CENTER);
await BluetoothEscposPrinter.printQRCode("https://portal.azores.gov.pt/web/drqpe/", 150, 1)

Hello, did you managed to center the QRCode?


A part of JSDoc for TypedArray toSorted is wrong.

⚙ Compilation target
ES2015
⚙ Library
esnext
Missing / Incorrect Definition
The description for TypedArray toSorted should be:
- If omitted, the elements are sorted in ascending, ASCII character order.
+ If omitted, the elements are sorted in ascending order.

Sample Code
(omitted)

Documentation Link
No response

@RyanCavanaugh I have raised a PR for updating TypedArray sort function definition here https://github.com/microsoft/TypeScript/pull/56148


How to persist existing key and values?

I have a simple Webpack 2 configuration with webpack-angular-translate.
I am extracting 5 strings from one of the html
<button class="btn btn-default" type="submit" >{{'Add' | translate}}</button>
<button class="btn btn-default" type="submit" >{{'Update' | translate}}</button>
<button class="btn btn-default" type="submit" >{{'Delete' | translate}}</button>
<button class="btn btn-default" type="submit" >{{'Insert' | translate}}</button>
<button class="btn btn-default" type="submit" >{{'Patch' | translate}}</button>

I have an existing translation.json file as such
{
    "Add" : "Add New",
    "Update": "Update Existing"
}

I expect the new translation.json file to be
{
    "Add" : "Add New",
    "Update": "Update Existing",
    "Delete": "Delete",
    "Insert": "Insert",
    "Patch": "Patch"
}

But I get
{
    "Add" : "Add",
    "Update": "Update",
    "Delete": "Delete",
    "Insert": "Insert",
    "Patch": "Patch"
}

The plugin always replaces existing translations. It does not (yet?) merge the extracted with already existing translations. I suggest you to use a tool like merge-json for merging the jsons.


The child node "type" at path "monolog.handlers.redis" must be configured.

Getting error The child node "type" at path "monolog.handlers.redis" must be configured..
As per the sample configuration for redis (found from https://github.com/symfony/monolog-bundle/blob/master/DependencyInjection/Configuration.php#L91)
Here is my configuration.
 redis:
    redis:
        #id: optional if host is given
        host: <IP_ADDRESS>
        password: null
        port: 6379
        database: 0
        key_name: monolog_redis

But it's throwing exception "The child node "type" at path "monolog.handlers.redis" must be configured.".
I think either I am missing something or that sample configuration needs to be updated

Is anyone here to review this PR?

The docbloc you are pointing is not a sample configuration, it is the list of parameters for each type of handler.
You'll find sample configuration of handlers is the documentation: https://symfony.com/doc/current/logging.html


dpdk_ring_ping test

Adds a test for dpdk memory rings to check their latency is within an acceptable perf bound.

@squirrelsc @LiliDeng  ready for a second round! Thank you for comments.


BitmapText position accuracy issue using CanvasRenderer and roundPixels is true

Hi,
My project is using PIXI 4.5.3,
With usage of CanvasRenderer and roundPixels (#3581, #27) on
BitmapText's character position will look "shifting" during a period of updateText() call
the use case is a bitmap text for numeric count up, given identical xAdvance values for the number glyphs, and the issue will not occur in WebGLRenderer. Text values keep updating from 1 to lets say 15,000 over 5 seconds, under some window resize conditions, shifting of the text can be observed.
Additionally attempted to modify BitmapText.updateText(), if I force all glyphs final position to be wrapped by Math.floor(), it will be fine (not sure about the side effects)
Is that potentially an issue or is there any workaround?

@mantolo Is this still an issue for you in the latest version?

+1 I also see this issue on latest version


Current logo is not support with WPF

As I tested, the current logo is in format of .svg which is not supported in WPF. Thus Xwt.WPF won't load the logo. Hope fixed.

Seems like an easy target for a pull request if anyone wanted to send one along.

We could use an external library to load the SVG at runtime, convert it to XAML (The vector format supported by WPF), or convert it to PNG.

I would prefer to just have it converted to PNG.

Fixed with #199.


Add cancer type parameter

It would be great to incorporate cancer type information, if known, into the pipeline for better biomarker identification / filtering / reporting rather than just using the generic “doid 162 cancer” here.

Thanks for opening the issue @bounlu! This has previously been discussed to some extent and an implementation planned for passing the relevant parameter to the ORANGE process that utilises existing code to collect this information from the samplesheet on a per-tumor basis
/cc @rhassaine

Good to know it's already been considered. Can you please provide the list of recognised cancer types / doids so that I can test it?

We have this list (for 37) @bounlu -doid.json

Thanks for providing the file. I have extracted the important information and simplified as a TSV. doid.txt


Scroll doesn't work on Windows.

Hi
First of all, terminal-plus is such a great package.
I saw an existing issue reported about the scrolling problem on Septemper this year.
I now have terminal-plus 0.14.2, and Atom 1.2.4, running on Windows 7 and I can't seem to figure out how to scroll up when I have got a lot of output.

I was expecting to see a scroll bar. Or is there a keyboard shortcut used to scroll up?

Hello. Thank you for the compliment, that means a lot.
You scroll with the scroll-wheel on your mouse. There is no scroll bar because Terminal-Plus only renders the lines that you see in the terminal view. The range of these lines is updated with scroll wheel events.

Thanks!