Store 128-bit hashes more efficiently

Gradle stores a large number of HashCode objects in memory, especially 128-bit MD5 hashes. Altogether hashes can take up gigabytes of heap in a large build.
We currently store the bits in a byte[] that is quite inefficient for a few reasons:

the byte[16] actually takes up 40 bytes (12 header + 4 length + 16 data)
the HashCode object needs to track the reference to the byte[] worth 8 bytes
as HashCode.hashCode() is somewhat expensive to compute, we cache it in an ~int~ long adding another 8 bytes

With some additional JVM bookkeeping this adds up to 72 bytes per object when aligned on an 8-byte boundary. There are also two objects (HashCode and the byte[]) for the GC to track.

Since the vast majority of HashCode objects are made up by the MD5 hashes used in snapshotting and fingerprinting inputs, it makes sense to add a more efficient format for this specific use case.
This PR introduces an alternative HashCode128 implementation that uses two longs to keep track of the bits instead of the byte[]. This results in a single object to track for GC that takes up only 32 bytes of memory. (Note that there's no need to cache the hashCode() value either.)
That is a 55% reduction in memory consumption.
Thanks for @davidburstrom for the idea.

@bot-gradle test performance please.

Sorry I don't understand what you said.
Currently, the following commands are supported:
@bot-gradle test <BuildTrigger1> <BuildTrigger2> ... <BuildTriggerN>

A trigger is a special build for this PR on TeamCity, common triggers are:

SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/PullRequestFeedback/ReadyForNightly/ReadyForRelease
Shortcuts: SC/CA/QFL/QF/PRF/RFN/RFR
Specific builds:

PT: PerformanceTest, all performance tests for Ready For Nightly stage.
APT: AllPerformanceTest, all performance tests, including slow performance tests.
AST: AllSmokeTestsPullRequestFeedback
AFT: AllFunctionalTestsPullRequestFeedback
ASB: AllSpecificBuildsPullRequestFeedback
ACC: AllConfigCacheTestsPullRequestFeedback
ACT: AllCrossVersionTestsReadyForNightly
AFTN: AllFunctionalTestsReadyForNightly
ACTR: AllCrossVersionTestsReadyForRelease
AFTR: AllFunctionalTestsReadyForRelease

@bot-gradle test and merge

queues this PR for testing and merges if all tests pass by:

Creating a merge commit from your PR branch HEAD and the target branch
Running a ReadyForNightly build against the merge commit
When it passes, fast-forward the target branch to this merge commit (i.e. merge the PR)

The merge commit is called a pre-tested commit, which means that it fully tests the integration
of your branch HEAD and latest master, instead of only testing your branch HEAD.
@bot-gradle cancel

cancel a running pre-tested commit build or remove it from queue

@bot-gradle clean

clear the conversation history

@bot-gradle help

display this message

To run a command, simply submit a comment.  For detailed instructions see here.

@bot-gradle test QF please.

OK, I've already triggered the following builds for you:

QuickFeedback build

I can confirm that this improved memory performance substantially, dropping the retained heap from 56 bytes to 32 per object. At the number of HashCode objects in a particular project, at least 25 million, it drops the HashCode related heap usage from 1.4GB to 800MB. I can think of lots of things to use 600MB for.

@bot-gradle test this please.

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this please.

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test PT please.

OK, I've already triggered the following builds for you:

AllPerformanceTestsReadyForNightly build

A bit of side-topic: is String -> Hash a hot path in Gradle?
Does it make sense to adopt a faster String -> byte[] hex decoder like in https://github.com/netty/netty/pull/9896 ?

A bit of side-topic: is String -> Hash a hot path in Gradle? Does it make sense to adopt a faster String -> byte[] hex decoder like in netty/netty#9896 ?

I don't think they are. They certainly haven't showed up on any flame graph yet. IIRC, we only parse them from strings when working with binary dependency signature files, so they are relatively rare.

@bot-gradle test this please.

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this please.

I removed the caching of ByteArrayBackedHashCode.hashCode() because it's a very fast operation and we won't be using much of the type anyway. I think this should be good for merging now.

@bot-gradle test and merge please.

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Listening an event-stream

Hi all,
I need to consume an API which will sent me some events through SSE. I've tried to use the EventStream library to do it, but since the API only responde via POST method, I was unable to use it.
Since then I've been trying to use request to do ti, but with no luck. I didn't understand how I can do a POST to the API and keep the connection open listening the events.
Is there any way to do it?

Any update on this? @tutabeier did you ever find a good solution?

It's been a while, @stephenemslie, but if I remember correctly we just used the Node's HTTP module.


Incorrect measurement circuit

I believe there is a potential bug in term_grouping.py:
When I try to get the readout circuit for 'XXX' , 'ZZI', and 'IIX', I get the following circuit with 2 two-qubit gates.

If I am not mistaken, this circuit does not measure 'IIX'.

I think this circuit does look okay actually.
Basically, measurement of the bottom qubit (q_2) will report  on the input state.
A few examples to show it working:

input state, correct , quirk link
|000>, 0 (50% on bottom qubit), https://algassert.com/quirk#circuit={"cols"%3A[[1%2C"H"]%2C["•"%2C1%2C"X"]%2C["•"%2C"Z"]%2C["H"%2C"H"%2C"H"]]}
|00+>, 1 (0% on bottom qubit), https://algassert.com/quirk#circuit={"cols"%3A[[1%2C"H"]%2C["•"%2C1%2C"X"]%2C["•"%2C"Z"]%2C["H"%2C"H"%2C"H"]]%2C"init"%3A[0%2C0%2C"%2B"]}
|00->, 0 (100% on bottom qubit), https://algassert.com/quirk#circuit={"cols"%3A[[1%2C"H"]%2C["•"%2C1%2C"X"]%2C["•"%2C"Z"]%2C["H"%2C"H"%2C"H"]]%2C"init"%3A[0%2C0%2C"-"]}
|ii+>, 1 (0% on bottom qubit), https://algassert.com/quirk#circuit={"cols"%3A[[1%2C"H"]%2C["•"%2C1%2C"X"]%2C["•"%2C"Z"]%2C["H"%2C"H"%2C"H"]]%2C"init"%3A["i"%2C"i"%2C"%2B"]}

So seems to be working (though feel free to make a PR for better documentation).
However, I do know that there can be a "sign error" for observables that have a Y. E.g., if you ask get_GC_circuit for something like YIX, it might actually give you a circuit that reports -YIX. Haven't gotten to the bottom of it yet--it can be fixed in post-processing 🤷♂

Hi Pranav,
indeed, you are right. It's my mistake, I forgot to put the Hadamard gates on both sides when turning the target of the CNOT into a CZ.
Sorry about the confusion.


Discord top bar stays on top of channel panel when it slides out

Discord top bar (channel name, description, mentions, notifications, etc) stays above the guild panel when it slides out as shown in the example bellow:

Fixed, I hope.

Fixed confirmed, that was super fast. Thanks

Spoke too soon, opening discord in the same size has shown in the example image the issue still present. If the bar is maximized and then restored to the size shown in the image the issue is resolved.

Ill fix that soon, for now put .chat div.title-wrap{z-index: 0 !important} to customcss, should work


chore(examples): change pdf lib on invoice generator example

PDF library changed from kendo-react-pdf to React-pdf due to build error

[x] Corresponding issues are created/updated or not needed
[x] Docs are updated/provided or not needed
[x] Examples are updated/provided or not needed
[x] TypeScript definitions are updated/provided or not needed
[x] Tests are updated/provided or not needed
[x] Changesets are provided or not needed

Previous version had ExportButton to download the pdf, I'm not sure if I'm missing it but I cannot see it in the current version (in the code)

@aliemir React-pdf has a built in export functionality and has download button on a toolbar.


Zoom levels to accommodate sticker cut lines

Need three different zoom levels so that printed stickers can be adequately previewed with respect to printed sticker cut lines.

This turned out to be a bit overkill.


Prefer name "sqawk" and have a bird logo

Or keep frawk and have a bird / dinosaur logo.

sqawk has been taken, some other name?

wawk
tawk
kwawk
kwa
Urukhai

ripawk

I like tawk or even oak？

woah oak is different. But if people like that, if that's what you're going for, then go with it. But I like the plays on awk thing...I think oak sounds like awk only in some accents: Scottish maybe?
hawk is not a bad one too ;p ;) xx ;p

hawk is cool，but there is a similar tool：https://github.com/gelisam/hawk

Yeah lots of names are taken: https://github.com/search?q=oak
But it's OK. We just got to pick one.


[wip] Dont lower case type ref

Related: #26948 and #45096

@typescript-bot test this
@typescript-bot test top100
@typescript-bot test tsserver top100
@typescript-bot user test this
@typescript-bot user test tsserver
@typescript-bot run dt
@typescript-bot perf test this
@typescript-bot pack this

Yes they are but given that we dont disallow relative names in the type it just seems like something we shouldnt do. I mean we shouldnt be in buisness of "lowercasing". Please write what you mean. So i feel like this is better change.
We started doing this because of "Jquery.min" etc files and some other auto type Aquisition issues. But if you write "types" in your file, write it with correct casing is logical i think.


[Bug] Error message when saving a new bookmark via share

Hello,
With the latest version of the android mobile app, there is an error message when saving a new bookmark from the share menu.
Even if the error message is displayed, the bookmark is added correctly
Thanks for your work !

Fixed on v1.2.2.


Exclude CNAME

There’s no reason you’d want to be able to access the CNAME file on the
hosted site.

:+1: thanks @frenchie16


Inconsistent MI Code Format in psi-mi.obo

Recent additions to the psi-mi.obo file have added new MI codes using an underscore instead of a colon. Is there a reason for this format change in MI ID codes?

Hi,Thank you for reporting the error.This week i am on holiday, I will check and fix the problem next week.All the bestLuanaIl giorno 27 giu 2023, alle ore 00:33, bmlaw @.***> ha scritto:
Recent additions to the psi-mi.obo file have added new MI codes using an underscore instead of a colon. Is there a reason for this format change in MI ID codes?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I corrected the error but nothing changed in the obo file and once I open again Protégé, the term is again with an underscore instead of a colon.
I actually noted that all the terms from MI:2412 to 2422 have the same problem.
Any suggestions on how to fix the problem?
Thanks
Luana

I wouldn't know. I don't use Protege. I just use a text editor.


Add a fix for more modern rules_swift

This was motivated by a failure in producing the -Swift.h header while compiling the //raven:Base target of https://github.com/andyyhope/raven-rulesios. @thii noted that said repo was using a more modern rules_swift than what is in the dependencies of this repo. We weren't checking CcInfo for headers. I think this is backwards compatible so it shouldn't break anything and allow people to use more modern rules_swift. Kudos to @thii for fixing it... I'm just committing the patch.

Yeah, I was doing the safe thing and not bumping rules_swift but I can try it.

Thanks @ob!


Check that semantic search retrieval with auto timeframe performs well enough

Create 10 queries with various timeframe expectations
Run them with 2 agents (dust / slack)
Check it works

Tested with bots @slack and @dust. Both bots always got the same timeframe, as ~expected

When was aric recruited? => All time
~ Were there any major incidents in production last month? => during the last month (meaning last 30 days rather than most likely expected September)
~ What is Daphné currently working on? => All time
x~ Did we discuss the onboarding process yesterday? => During the last day (so if I ask at 5pm, i'll probably get nothing)
~ Link to the last roadmap document for 2023? => All time
~ What are last week's main goals for the team? => during the last week
~ What are this week's main goals for the team? => during the last 7 days
x List all the goals of Stanislas since last tuesday / of Daphné since last wednesday => all time
What is the command line to upgrade a workspace? => all time
x How many incidents did we have since March? => all time
x What happened on october 1st?

Additional issue

@philipperolet one quick fix we can do for this is the following:
We do inject some "context" for the generator but we don't for the input-generator.
You can see the differences here:
generator: https://dust.tt/w/78bda07b39/a/6a27050429/runs/78487bc30490891b7b8527703617daa91f176470bfaa394d5b80ed43d956f449
inputs-generator: https://dust.tt/w/78bda07b39/a/f4816b1e13/runs/6d3522f0010feea57f6fb0e91661c828d37fcd5df2e418a6e6ef625940e09d0e
(looking at the prompt passed to both)
This prevent the inputs generator from answer any question that is relative to the day today (last tuesday, october 1, etc...)
(Sorry again for the reaction earlier)


Ibimina fix signup bug

What type of PR is this? (check all applicable)

[ ] Feature
[ ] Refactor
[x] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Other (please specify here: )

Description of what this Pull Request does

Fix element overflowing issue
Align grid items to the center
Reduce aside image size
Made Signup page responsive

Related Tickets & Documents

Closes #119
Related Issues: (enter ticket numbers here)

QA Instructions, Screenshots, Recordings
(In this section, describe how to QA/review your PR. Feel free to use screenshots and/or short videos)

Added/updated tests?

[ ] Yes
[ ] Not Yet, and here is why: explain here
[ ] I need help with tests
[x] No, and here is why: explain here

Thanks for helping here @ibimina. Quick question, far as the aside component, what screen size is this? I used the Figma file measurements and the screenshot of Irene's designs and the spacing looks off.

Thanks for helping here @ibimina. Quick question, far as the aside component, what screen size is this? I used the Figma file measurements and the screenshot of Irene's designs and the spacing looks off.

The image in the avatar was 400 width and height, I reduced it to 300, 400px made the image too large on screen, I could increase the spacing between the image and the text if it looks to close

Thanks for helping here @ibimina. Quick question, far as the aside component, what screen size is this? I used the Figma file measurements and the screenshot of Irene's designs and the spacing looks off.

The image in the avatar was 400 width and height, I reduced it to 300, 400px made the image too large on screen, I could increase the spacing between the image and the text if it looks to close

Yea, it looks to close here


Getting projects in build order from .sln

Is there any pre-existing code that will take a solution file, a configuration/platform, and return all of the projects to be build -- in the correct order?

Hello,
The order depends on your actual goal. If you need to consider dependencies in attempt to construct list of records for correct build, yes, of course, MvsSln helps in this way with the ISlnPDManager and ISlnProjectDependencies
https://github.com/3F/MvsSln/blob/8d847f0f15622107663111ec4d423fed50f71b78/MvsSln/SlnItems.cs#L58-L60
Specific implementation should be provided automatically (you don't need to do anything else) same together with SlnResult if applied ProjectDependencies
https://github.com/3F/MvsSln/blob/8d847f0f15622107663111ec4d423fed50f71b78/MvsSln/Core/SlnResult.cs#L121-L124
Using ISlnPDManager is very easy but here you can find full example in real project. There we discussed various cases that can affect on projects build and their dependencies.
Let me know if this doesn't fit the issue.

I close the issue. Please provide further details if the problem still exists.


NEO not saving block when submitted

Hi,
I'm having a bit of trouble with Neo. I have set up a number of block types and I have a page where I have a bunch of blocks set up. I have a group of page row blocks, then a sub items of those I have some grid column blocks. Inside the grid column blocks I have blocks for content elements. On the last page row of my entry, I have two grid columns set up, and when I try to create content elements blocks inside of that grid column, it lets me create them and fill out the fields, but if I submit the entry to save it, when I come back it hasn't saved any of the content elements in that last grid column. I also tried deleting the grid column block and then creating it again and adding content to it. When /I deleted it, and then recreated it, it created the block, but it isn't letting me update the values of any of the fields to change what they were when the block was initially created.
Now to add another level of difficulty to this, it only seems to be happening on my local development server for now. I deployed the site to a stage server so you could access it to see what the problem might be, but for some reason it isn't happening on the remote server, only on my local. I am running MAMP 4.0.6, and php 5.5.38, with craft v. 2.6.2958 and Neo v. 1.3.5

Hey @brianrivet, to me this seems like the PHP max_input_vars and/or post_max_size settings are too low on your local server (see link). Try increasing these values and see if that fixes it.

Hi Benjamin,
Thanks for getting back to me so quickly. I took your recommendations and that appears to have fixed the issue. Thanks for your help!
Brian Rivet
<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
www.odysseydesignstudio.com

On Jan 9, 2017, at 11:49 AM, Benjamin Fleming<EMAIL_ADDRESS>wrote:
Hey @brianrivet https://github.com/brianrivet, to me this seems like the PHP max_input_vars and/or post_max_size settings are too low on your local server (see link http://craftcms.stackexchange.com/questions/2765/matrix-field-input-error-from-within-the-control-panel/2777#2777). Try increasing these values and see if that fixes it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/benjamminf/craft-neo/issues/71#issuecomment-271353866, or mute the thread https://github.com/notifications/unsubscribe-auth/ACK0B--uNBJk2GqATGVzQZ-9yK5axvI3ks5rQnMwgaJpZM4LeZWn.


subarray returns Uint8Array which can't handle toString('uff-8')

import { Buffer } from 'buffer';

declare const messageRaw: ArrayBuffer;
const message = Buffer.from(messageRaw);
const headCorrect = message.slice(0, size).toString('utf-8'); // 57,57,97,102,101,102,56,57,97....
const headIncorrect = message.subarray(0, size).toString('utf-8'); // 99af...

Related:

#260
https://github.com/feross/buffer/pull/261

Any runtime which displays this behavior doesn't implement the es2016 "subarray calls child class" behavior and is returning a plain Uint8Array.
Node v4.0.0 to v8.0.0 displayed this behavior, even with the native node.js Buffer object. So if you are running with an older version of node.js, it could be argued that feross/buffer is accurately emulating the native node.js Buffer.
 Not sure if people are open to that. Personally, I would just avoid using subarray and stick to slice when using Buffers.

Note, if you are experiencing this in a runtime which does support es2016 (i.e. a modern runtime), please post the runtime/browser/platform here.
If there is actually a popular runtime out there that doesn't implement es2016 properly, we may have to support it.

@hedi-edelbloute is this affecting iOS, Android, or both? Which versions?

In the meantime you could try this monkey patch:
if (!(Buffer.alloc(1).subarray(0, 1) instanceof Buffer)) {
  Buffer.prototype.subarray = function subarray() {
    const result = Uint8Array.prototype.subarray.apply(this, arguments);
    Object.setPrototypeOf(result, Buffer.prototype);
    return result;
  };
}

@chjj My phone is a Redmi note 10 Pro on Android 11, I'm trying to gather more informations. I think it also occured on iOS but i'm going to confirm this.
Thank you for the patch proposal and your help, it's greatly appreciated.

Is your Android web view somehow using an old version of chrome? Is there any way to check? I'm not an expert on mobile web views, but I'm certain chrome version 60.x.x included v8 version 6.0.286 which should have the correct es2016 subarray behavior.

Confirmed that issue also happens on iOS, version 16.6.1 on iPhone 12
Same here, not an expert about this subject :sweat_smile: I think I found a solution using chrome://inspect/#devices

stick to slice when using Buffers.

Note that slice() is deprecated in Node.js because the Node.js implementation (which does not copy) is not compatible with TypedArray.prototype.slice() which does copy. Unlikely to ever be removed from the Node.js API though, so you're fine.

@vweevers, agreed.
I think ledger might be in an unfortunate situation though. Their ecosystem is comprised of a number submitted apps from many different developers who are probably expecting subarray to behave the way it does in modern node.js.
I'm still not exactly convinced feross/buffer should account for this, but I am really confused as to why these mobile web views are not exhibiting modern javascript behavior with regards to subarray. It'd be nice to get to the bottom of this.

Here's a smaller test case you can use for testing the subarray behavior of the web view:
'use strict';

function TestBuffer(...args) {
  const buf = new Uint8Array(...args);
  Object.setPrototypeOf(buf, TestBuffer.prototype);
  return buf;
}

Object.setPrototypeOf(TestBuffer.prototype, Uint8Array.prototype);
Object.setPrototypeOf(TestBuffer, Uint8Array);

console.log(TestBuffer(1).subarray(0, 1) instanceof TestBuffer);

Prints true for the proper es2016 behavior, false otherwise.

Here's a smaller test case you can use for testing the subarray behavior of the web view:
'use strict';

function TestBuffer(...args) {
  const buf = new Uint8Array(...args);
  Object.setPrototypeOf(buf, TestBuffer.prototype);
  return buf;
}

Object.setPrototypeOf(TestBuffer.prototype, Uint8Array.prototype);
Object.setPrototypeOf(TestBuffer, Uint8Array);

console.log(TestBuffer(1).subarray(0, 1) instanceof TestBuffer);

Prints true for the proper es2016 behavior, false otherwise.

I am not familiar with this area, but my device (Android 13, Chrome 122.0.6261.90 and Android System WebView 122.0.6261.64) can reproduce the issues encountered by the Ledger team. I executed this code on my device through this way, and it output true on my device.

It's Android System Webview 121.0.6167.178 for me

I think ledger might be in an unfortunate situation though. Their ecosystem is comprised of a number submitted apps from many different developers who are probably expecting subarray to behave the way it does in modern node.js.

Exactly

@overcat, okay, I just want to make sure I have this right:

The device prints true when running the above test code.
Buffer#subarray does not return a Buffer on that same device.

Is that correct?
Can you verify for sure that number 2 is also happening -- that is, can you isolate it down to a simple test case rather than the code @hedi-edelbloute posted to be absolutely sure Buffer#subarray is being called and you're not accidentally calling subarray on a Uint8Array?
If both of these things are happening at once, there is something very strange going on and I will have to investigate further.

The following is my test.
// main.js
const buffer = require('buffer');
const Buffer = buffer.Buffer
const data = Buffer.alloc(10);
const subarray = data.subarray(0, 5)
const subarray_is_buffer = Buffer.isBuffer(subarray)
document.getElementById("p1").innerHTML = subarray_is_buffer;

browserify main.js -o bundle.js

@overcat, if that's the case then I see only two possibilities for the errors produced by the code mentioned above:

subarray was actually being called on a plain Uint8Array.
polyfill.ts happens to be pulling in a much older version of feross/buffer. Older versions of buffer/ did not account for the 3-argument subarray reinstantiation.

Update: I just noticed that browserify is not using the latest version of buffer.

Ahh, case solved. That was definitely a rollercoaster. Started questioning reality for a second there.
Yeah, make sure you're using the latest buffer module.

edit: Wait, do you mean to say your example above is not using the latest buffer or the polyfill.ts is not using the latest buffer?

@chjj I'm referring to my example, I generated the code by running browserify main.js -o bundle.js, and then I checked that browserify is still using version 5.x.

@overcat Maybe we should try doing instanceof checks on both the output of subarray, and the original Buffer to see if we are dealing with a different buffer type
instanceof Buffer and instanceof Uint8Array
Would it help @chjj ?

We are using version 6.0.3
https://github.com/LedgerHQ/ledger-live/blob/develop/apps/ledger-live-mobile/package.json#L123

@overcat, hmmm, okay, I guess that makes sense since buffer v5.7 does handle subarray properly, but still doesn't explain our issue then.
@hedi-edelbloute, yeah, it would be useful if you would modify the affected code to print something like:
function functionThatCallsSubarray(buf) {
  console.log(buf instanceof Buffer);
  const res = buf.subarray(x, y);
  console.log(res instanceof Buffer);
  return res;
}

If that prints true twice, I'm out of ideas.

I thought of one more idea, but then I need to call it quits for a bit.
If the above test fails, please show me the output of:
'use strict';

function TestBuffer(...args) {
  console.log(...args);
  const buf = new Uint8Array(...args);
  Object.setPrototypeOf(buf, TestBuffer.prototype);
  return buf;
}

Object.setPrototypeOf(TestBuffer.prototype, Uint8Array.prototype);
Object.setPrototypeOf(TestBuffer, Uint8Array);

console.log(TestBuffer(1).subarray(0, 1) instanceof TestBuffer);

It should be something like:
1
[arrayBuffer, 0, 1]
true

Hey @chjj don't worry, it's not an urgent matter, i'm setting back my environment and will post results here :smiley:
Thank you so much already
You could be onto something with the dependency issue as we would have multiple versions at play

I modified the<EMAIL_ADDRESS>package in node_modules, added Buffer.version = "6.0.3" in index.js, and I think this will help confirm if we are using this version.
Here is the output in LLM:
console.log(Buffer.version);
> 6.0.3

const data = Buffer.alloc(10);
function functionThatCallsSubarray(buf: any) {
  console.log(buf instanceof Buffer);
  const res = buf.subarray(0, 5);
  console.log(res instanceof Buffer);
  return res;
}
functionThatCallsSubarray(data);

> true
> false

function TestBuffer(...args) {
  console.log(args);
  const buf = new Uint8Array(...args);
  Object.setPrototypeOf(buf, TestBuffer.prototype);
  return buf;
}

Object.setPrototypeOf(TestBuffer.prototype, Uint8Array.prototype);
Object.setPrototypeOf(TestBuffer, Uint8Array);
console.log(TestBuffer(1).subarray(0, 1) instanceof TestBuffer);

[1]
false

[1]
false

Why does it now print false when it printed true in your original test? Did you run this on a different device?
The above output is consistent with pre-es2016 behavior: the TestBuffer constructor is not being invoked by subarray.

@chjj I am using the same device. LLM is built on React Native, and then I realized that this is because React Native does not use Android System WebView as its default runtime environment? Then I found this link, and I think it uses Hermes. Then I created a brand new project with React Native, which only contains the above code snippet, and it still outputs [1] and false. cc @hedi-edelbloute

Note: if you are experiencing this in a runtime which does support es2016 (i.e. a modern runtime), please post the runtime/browser/platform here.
If there is actually a popular runtime out there that doesn't implement es2016 properly, we may have to support it.

Hi @chjj, based on the above discussion, I would like to ask if you are interested in adding support for the Hermes engine? It is the default engine for React Native projects.

This is a hermes bug that has nothing to do with buffer, hermes has broken TypedArray inheritance
Here is a fix:
;['subarray', 'map', 'filter'].forEach((method) => {
  var TypedArray = Object.getPrototypeOf(Uint8Array)
  var orig = TypedArray.prototype[method]
  TypedArray.prototype[method] = function(...args) {
    var arr = orig.apply(this, args)
    Object.setPrototypeOf(arr, Object.getPrototypeOf(this))
    return arr
  }
})

I will post a better fix soonish

Made a proper fix: https://github.com/ExodusMovement/patch-broken-hermes-typed-arrays
It's too large to be a snippet as it fixes several methods + uses runtime detection if it needs fixing and if the fix worked + tests in that repo for node/hermes/jsc
https://github.com/ExodusMovement/patch-broken-hermes-typed-arrays
Or just import '@exodus/patch-broken-hermes-typed-arrays'

Filed https://github.com/facebook/hermes/issues/1495


SMILES parse error not displayed

If the input smiles are invalid or if there is an error during the API request, the error is not shown to the user at the moment, also there is no indication of failure.


Can't see applicationset into ArgoCD ui

Hi all,
We are deploying argocd with some applicationset. current config of application set:
Installation argocd:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/applicationset/v0.1.0/manifests/install-with-argo-cd.yaml

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: services
  namespace: argocd
spec:
  generators:
  - list:
      elements:
      - cluster: pro
        url: https://kubernetes.default.svc
  template:
    metadata:
      name: '{{cluster}}-services'
    spec:
      project: default
      source:
        repoURL: <bitbucket private url>
        targetRevision: HEAD
        path: '{{cluster}}/service'
      destination:
        server: '{{url}}'
        namespace: default

The applications of the repo was deployed into cluster destination, but only see the application deployed, not the applicationset, like this screenshoot:
#218
How can we do to manage applicationsets into argocd ui?
Regards,

Hi @gerardgorrion,
The Argo CD 'Application List' UI doesn't have direct support for ApplicationSets, the Argo CD UI will only show Argo CD Application resources on the 'Application List' View. Likewise, you can't create ApplicationSets via the Argo CD UI/CLI, it must be done from Kubernetes control plane (for example via kubectl).
In the case of #218, the poster has an Application resource that points to a Git repo that contains 2 ApplicationSets, an "app of applicationsets". Since the ApplicationSets have a 'parent' Application resource, you can see them in the 'View Individual Application' UI.

Thanks a lot for your answer @jgwest
Someone knows if the applicationset will promoted to stable into argocdproj? We aren't sure to use a lab into production environment...
thanks

@gerardgorrion  Working on it :smile:

Hello, still "working on it" or ApplicationSet are ready within GUI ?
Thanks

Is ApplicationSet available in UI?

For those who wind up here like I did trying to search for an answer to this question...
ApplicationSets still do not show up in the UI. I'm using ArgoCD version v2.7.3, which is what came with their most recent Helm chart, version 5.34.6. I cannot find any mention of what the progress on this might be.


PersistentBottomNavBarItem.onPressed is called with null context before switching tabs

How to reproduce: In the example app select "Built-in style example", then press the plus button. The modal is not opened, and instead an exception is thrown.
The reason is that PersistentBottomNavBarItem.onPressed is called with a context of null.
Note that when switching to the "Search" tab (or any other) and then back to "Home", the button works as intended.
Also note that the issue is not with the modal screen itself as the "Push Dynamic/Modal Screen" button works just fine.

i am currently facing same issue, did you found a solution?

Our current workaround is just using the outer context instead, which is provided by some Builder further up the tree. This is sufficient in our use case, but by no means a clean solution.

I'll keep an eye on it, dont know how to fix that yet

Fixed with Version 5


[Event Request] codeunit 64 "Sales-Get Shipment" - OnBeforeCreateInvLines

Please add new event in codeunit 64:
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateInvLines(var SalesShptLine2: Record "Sales Shipment Line"; var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; SalesShptHeader: Record "Sales Shipment Header"; var IsHandled: Boolean)
begin
end;

procedure CreateInvLines(var SalesShptLine2: Record "Sales Shipment Line")
var
    Window: Dialog;
    LineCount: Integer;
    TransferLine: Boolean;
    PrepmtAmtToDeductRounding: Decimal;
    IsHandled: Boolean;
begin
    IsHandled := false;
    OnBeforeCreateInvLines(SalesShptLine2, SalesHeader, SalesLine, SalesShptHeader, IsHandled);
    if IsHandled then
        exit;

    with SalesShptLine2 do begin

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 47990.


Upgrade HDF5 and import DataFrames: stack to avoid a clash?

I don't know anything about this package but tests now pass locally.
The reason for suggesting this change is that Base exports stack from 1.9, creating a clash:

WARNING: both VIDA and Base export "stack"; uses of it in module Test_templates must be qualified

In fact DataFrames also exports stack, so there may already be a clash if those are used together. Recent versions of DataFrames extend the function from Compat / Base to avoid this, and this package depends on DataFrames, so an obvious solution would be to import and extend that: Then this package needs no new deps.
But latest DataFrames wants Compat 4, and this wants HDF5 0.15, which wants Compat 3. So this PR proposes to, first, allow HDF5 v0.16. I don't know what the changed or whether it matters:  https://github.com/JuliaIO/HDF5.jl/releases/tag/v0.16.0
(jl_Xpc1Gh) pkg> st
Status `/private/var/folders/yq/4p2zwd614y59gszh7y9ypyhh0000gn/T/jl_Xpc1Gh/Project.toml`
  [34da2185] Compat v4.3.0
  [a93c6f00] DataFrames v1.4.1
  [f67ccb44] HDF5 v0.16.12
  [4096cdfb] VIDA v0.10.8 `https://github.com/mcabbott/VIDA.jl#patch-1`

The method defined here is for a type this package owns, so this is not piracy:
julia> @which VIDA.stack
VIDA

julia> methods(VIDA.stack)
# 1 method for generic function "stack" from VIDA:
 [1] stack(θ::T, θ1...) where T<:VIDA.AbstractTemplate
     @ ~/.julia/packages/VIDA/B7joP/src/templates/composite.jl:58

julia> @which VIDA.AbstractTemplate
VIDA

https://github.com/ptiede/VIDA.jl/blob/e161a11b07b1cac5272f708b1f663fd582a34e99/src/templates/composite.jl#L58-L60
And looking at the other methods, there is no reason to expect ambiguities:
julia> methods(stack)
# 6 methods for generic function "stack" from Base:
 [1] stack(df::AbstractDataFrame)
     @ DataFrames ~/.julia/packages/DataFrames/Lrd7K/src/abstractdataframe/reshape.jl:136
 [2] stack(df::AbstractDataFrame, measure_vars)
     @ DataFrames ~/.julia/packages/DataFrames/Lrd7K/src/abstractdataframe/reshape.jl:136
 [3] stack(df::AbstractDataFrame, measure_vars, id_vars; variable_name, value_name, view, variable_eltype)
     @ DataFrames ~/.julia/packages/DataFrames/Lrd7K/src/abstractdataframe/reshape.jl:136
 [4] stack(iter; dims)
     @ abstractarray.jl:2719
 [5] stack(f, iter; dims)
     @ abstractarray.jl:2748
 [6] stack(f, xs, yzs...; dims)
     @ abstractarray.jl:2749

Also, the earliest DataFrames version listed does already contain (and export) this function.

Ya thank you for this! I'll add this an update the package. The package is going to undergo an overhaul soonish but at least things will work on 1.9 now.

Done!


add topic

I suggest adding the topic astrophysics in the About section at https://github.com/aelanman/pycalc11

Thanks for the suggestion!


Action when Timeout

Hey,
Is there anyway to execute an action when the bot closes that instance on timeout?
I'm using the following code for timeout:
bot = telepot.DelegatorBot(TOKEN, [(per_from_id(), create_open(UserTracker, timeout=30))]) bot.message_loop(run_forever=True)
Thanks! :)

hello,
yes , create a method called on_close in the UserTracker class. it will be called when the instance is closed (the reason , e.g. whether the timeout hit or an exception occurred is passed to that method as a parameter).
you can read more about create_open in the telepot Reference.

Oh okay, so if I didn't understand wrong, j.open() and j.close() are empty functions for us to replace with? Thank you very much for clarifying tho.

@stranger26, j.close() is not an empty function. It raises a StopListening exception to terminate the thread.


Variable derivation for multiple domains

At the moment, the derivation of a new variable is only possible if the required variables live in the same domain as the target variable. Otherwise, the data is not found because the tool only updates the short_name and field key of the variable dictionary used for derivation, but not the mip key:
https://github.com/ESMValGroup/ESMValTool/blob/b52ebd0437f6e614f59fb7e1b27a2f864b7f0874/esmvaltool/_recipe.py#L758-L772
For example, I want to calculate the evapotranspiration as the sum of evaporation (evspsbl, Amon variable) and transpiration (tran, Lmon variable). It would be really nice if we could extend the get_required function to also consider the mip of a variable, maybe we can include that in #667?

Yes, I would include this change in #667. :+1:

I think it would be better to merge #667 (which already changes ~1000 lines of code) once it's tested and start a new PR for this new feature.
Another thing to consider is that the required variables may depend on the dataset name, e.g. lwp.

Sorry, this was closed automatically after the merge.


Conditional rebuilds of the site don't seem to work

These were implemented with the following trigger:
if: steps.auto-commit-action.outputs.changes_detected == 'true'

Unfortunately, it never seems to fire.

This was an issue with the lack of named build steps. Fixed.


build script: use Introduction section as respec abstract

remove hard-wired text for "What is the OpenAPI specification"
use version-specific text of section "Introduction" instead

Preview:

https://ralfhandl.github.io/OpenAPI-Specification/oas/v3.1.1.html
https://ralfhandl.github.io/OpenAPI-Specification/oas/v3.1.0.html
https://ralfhandl.github.io/OpenAPI-Specification/oas/v3.0.4.html
https://ralfhandl.github.io/OpenAPI-Specification/oas/v3.0.3.html
...
https://ralfhandl.github.io/OpenAPI-Specification/oas/v2.0.html

Found a strange interference with ReSpec that blocks this (maybe anyway outlandish) idea.


Change files back to .lua

Version channel
Nightly
Loader version
Nightly
What part of Adonis is this related to?
GitHub Repository
What happened?
.luau files do not have proper syntax highlighting and many other things that .lua files have even if you have an .editorconfig file defining the syntax highlighting. Also .lua files are just superior and work with more tooling
Steps to reproduce: Open any .luau file in the Github editor
Device
Windows
Relevant log output
No response

Why do you use the github editor?

Use Rojo + VSC?

Use Rojo + VSC?

I'm on my laptop bc my PC is broken
Also it requires a constant re-downloading of the repo and keeping up to date with it (with my PC)

Use Rojo + VSC?

I'm on my laptop bc my PC is broken Also it requires a constant re-downloading of the repo and keeping up to date with it (with my PC)

Your hardware being dogshit is not a valid reason to do a retarded change like this.

It is Luau not lua. Why would the files be named lua?

It is Luau not lua. Why would the files be named lua?

They used to be named .lua up to a few months. Also .lua is a valid file name for Luau files and it works with more tooling

Skill issue

Skill issue

I guess :(

It is Luau not lua. Why would the files be named lua?

They used to be named .lua up to a few months. Also .lua is a valid file name for Luau files and it works with more tooling

Kill yourself.

roblox uses the luau programming language. it wouldn't make sense to use a different language's file extension, even if it works.


lib.systems.elaborate: fix passing rust (more)

Description of changes
An important idea around the rust stuff in lib.systems is that it's elaborated — this means that it should idempotently add to the values passed in, if any.  But we missed that the names used for the parameter and the elaborated value for "rustcTarget"/"config" didn't line up.  The intention was to use "rustcTarget" everywhere in the new interface, as a more descriptive name than "config".
This fixes setting the system in NixOS configuration, which results in an already elaborated system being elaborated again.  Before, this wouldn't produce the correct result:
% nix-instantiate --eval -A stdenv.hostPlatform.rust.rustcTarget --system armv7l-linux
"armv7-unknown-linux-gnueabihf"
% NIX_PATH= nix-instantiate --eval -E '(import nixos/lib/eval-config.nix { system = "armv7l-linux"; modules = []; }).pkgs.stdenv.hostPlatform.rust.rustcTarget'
"arm-unknown-linux-gnueabihf"

Fixes: https://github.com/NixOS/nixpkgs/issues/271000

Very technically, this is a backwards-incompatible change, as for about a couple of weeks it was accidentally possible to pass rust.config (as opposed to the old interface, rustc.config, which has been supported for years and continues to be until it's eventually removed after a deprecation period).  This was unintentional, undocumented (the documentation still points people towards the old interface for now), only possible for a couple of weeks, and there was no reason to do it.  If we really had to, we could do a proper deprecation period for the accidentally rust.config as well, but I don't think there's any reason to, and it would extend this whole project by six more months.  But if the RMs really think we have to, we can.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

We should check out of tree Rust builders to see what they do regarding that.

Regarding what exactly?

Regarding whether they pass rust.config or rustc.config if they setup cross compilation.

Regarding whether they pass rust.config or rustc.config if they setup cross compilation.

If they pass rustc.config, everything is fine.  If they pass rust.config, they'd have to have started doing that since 2023-11-16, when it made it into master.
What do you think we should be checking?

Regarding whether they pass rust.config or rustc.config if they setup cross compilation.

If they pass rustc.config, everything is fine. If they pass rust.config, they'd have to have started doing that since 2023-11-16, when it made it into master.
Which out-of-tree things do you think we should be checking?

crane, cargo2nix, naersk (?) are the ones on the top of my mind.

cargo2nix and naersk haven't had any changes since rust.config made it into Nixpkgs master, and I don't see anything relevant in the few commits crane has had in that time period.

In this case, this breaking change is exceptionally allowed because of no "popular" out-of-tree consumers maybe depending upon it.

Ah yes, whoops, we had an in-tree use of rust.config.

I updated the docs and remaining references to rustc in https://github.com/NixOS/nixpkgs/pull/319624.


Add travis ci

This branch incorporates Travis CI and leverages the build to send a coverage report to Code Climate.

Adds Travis build files and remove (unused) Jenkins/docker files
Adds a tag to the readme:

The build will be passing in master as soon as this PR goes through :)

Adds a Makefile with targets for common local actions - lint, test, etc.
Fixes a lot of linting errors
Removes the mysql dependency

Right now, everything works with Python 2. Fixing compatibility issues with Python 3 is a top priority.

I was hoping Code Climate would show coverage information for this branch, but I think we have to get it into master first. Once this PR goes through, we should see coverage (and hopefully an increased grade) in Code Climate.
I know that they are at least receiving coverage data, because the option to "set up coverage" has disappeared from the site.

@peter-lazorchak do you know if the Jenkins/Docker files were being used internally or does it not matter since @Contrast-AlexB moved it into screener with a different CI and setup?

@peter-lazorchak can you tidy up the README? It still calls for MySQL, but I didn't see anything about SQLite.

@peter-lazorchak do you know if the Jenkins/Docker files were being used internally or does it not matter since @Contrast-AlexB moved it into screener with a different CI and setup?

Screener is not using the Jenkins/Docker file, not sure if it is used internally elsewhere.

@SteveFeldman Good point about the readme, I'll update it.
As for Jenkins (@Contrast-AlexB), I checked with @donniepropst too and it seems like everyone's fairly confident we weren't using those files. I'd like to keep them removed unless you have strong opinions otherwise - if it turns out we need them, it's simple to add them back.

@SteveFeldman Good point about the readme, I'll update it.
As for Jenkins (@Contrast-AlexB), I checked with @donniepropst too and it seems like everyone's fairly confident we weren't using those files. I'd like to keep them removed unless you have strong opinions otherwise - if it turns out we need them, it's simple to add them back.

I'm juggling github accounts for schoolwork :/

@peter-lazorchak feel free to merge it...


⚠ Fortnite has degraded performance

In 2e8803d, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1610 ms

Resolved: Fortnite performance has improved in e54176e.


liferea: 1.12.2 -> 1.12.3

Motivation for this change
New patch release. Changelog at https://github.com/lwindolf/liferea/releases/tag/v1.12.3.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build liferea

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: liferea
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: liferea
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3
shrinking /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/bin/.liferea-wrapped
shrinking /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/lib/liferea/web-extension/liblifereawebextension.so
gzipping man pages under /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/share/man/
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/lib  /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/bin
patching script interpreter paths in /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3
/nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3/bin/.liferea-add-feed-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/xn5gv3lpfy91yvfy9b0i7klfcxh9xskz-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3...
/nix/store/y4r33whmzp5h48lf9zr5qy6sjkjdxj06-liferea-1.12.3

@jtojnar I get that same exception in 1.12.2 (if I recall correctly, I first saw this when upgrading from 1.12.1 to 1.12.2). I can look into that here if you'd like, but it doesn't seem to be related to this version bump.


Cannot resolve local dependencies from mono repo in Cloud Build docker image creation

I am using functions-framwork-dart in a mono repo. It has its own dedicated project. I am sharing code between projects by using other projects which include the shared code. I am referencing the project as a dependency like this in the pubspec.yaml of the functions project:
dependencies:
  domain:
    path: ./../../domain

Locally everything can be resolved properly but as soon as I deploy with gcloud beta run deploy it fails executing the docker file.
---> 61f398c71af6
Step 2/12 : WORKDIR /app
 ---> Running in 4eea5b3c3ec4
Removing intermediate container 4eea5b3c3ec4
 ---> 652a0d1dd253
Step 3/12 : COPY pubspec.yaml /app/pubspec.yaml
 ---> 0825cd012304
Step 4/12 : RUN dart pub get
 ---> Running in 05d05694046c
Resolving dependencies...
Because functions depends on domain from path which doesn't exist (could not find package domain at "../../domain"), version solving failed.
The command '/bin/sh -c dart pub get' returned a non-zero code: 66
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 66

I assume I need to also upload the dependency project folders. But how to do this? And how to then specify the Dockerfile path?

Hi @blaueeiner! Just to clarify - you're aware you can switch to a git dependency before deploying but you want to keep the path dependency and copy over during the build?

Hi @blaueeiner! Just to clarify - you're aware you can switch to a git dependency before deploying but you want to keep the path dependency and copy over during the build?

Yes I am aware that I can use a git dependency. Ideally I would like to keep the path.
Yesterday I came to at least one solution for now that looks like this:
I use gcloud builds submit to upload all of my resources and build a new Docker image via Cloud Build. I needed to specify all the resources that I do not want to upload in the .gcloudignore file in my root folder which is not really ideally in my opinion. Furthermore I needed to customize the Dockerfile and specify a cloudbuild.yaml file custom step to properly dockerize and be able to specify where to find the Dockerfile.
After a successful build I use the tag that I specified in the command to run the gcloud run deploy command to deploy to Cloud Run.
I would appreciate to here about different solutions since I think mine is not that ideal.

I have a rather convoluted solution to this problem too, I have a build script that copies the local project to temp/ in my main project file, then my Dockerfile copies both the current project (os_cloud_functions in my case) and the local project (os_core in my case) to the /app/ dir in container.  After deploying the build scripts removes the temp directory.
Here is my Dockerfile:
FROM dart:stable AS build

# Resolve app dependencies.
WORKDIR /app/os_cloud_functions

COPY temp/os_core/. /app/os_core
COPY pubspec.* ./
RUN dart pub get

# Copy app source code and AOT compile it.
COPY . .
# Ensure packages are still up-to-date if anything has changed
RUN dart pub get --offline
RUN dart pub run build_runner build --delete-conflicting-outputs
RUN dart compile exe bin/server.dart -o bin/server

# Build minimal serving image from AOT-compiled `/server` and required system
# libraries and configuration files stored in `/runtime/` from the build stage.
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/os_cloud_functions/bin/server /app/os_cloud_functions/bin/

# Start server.
EXPOSE 8080
CMD ["/app/os_cloud_functions/bin/server"]

Here's our solution - simply copy our local packages (in the dart_packages folder), then change the WORKDIR to app and continue as normal.
################
FROM google/dart:2.12

WORKDIR /dart_packages
COPY /dart_packages /dart_packages
WORKDIR /app
COPY /cb_serverless_functions/pubspec.yaml /app/pubspec.yaml
RUN dart pub get
COPY /cb_serverless_functions .
RUN dart pub get --offline

RUN dart pub run build_runner build --delete-conflicting-outputs
RUN dart compile exe bin/server.dart -o bin/server

########################
FROM subfuzion/dart:slim
COPY --from=0 /app/bin/server /app/bin/server
EXPOSE 8080
ENTRYPOINT ["/app/bin/server"]

@blaueeiner – are you unblocked here?

@kevmoo Yes thx :)


Standalone Perception Module

Hello,
I want to run Perception module as standalone as it's possible to check the outputs of its cyber node with giving inputs from LGSVL. Does Perception module need any other modules to operate properly, if yes which modules are them?

probably transform and localization.


Document ttAdapter and integration between typeahead and bloodhound

The docs are split in two with no page explaining how the two fit together, which is how they will be used most of the time.
More importantly, there's no mention whatsoever in either page of the ttAdapter method, even though most users specify engine.ttAdapter() as their source in the typeahead, as is done here. This is a key function as it runs the engine's search:
            __ttAdapter: function ttAdapter() {
                var that = this;
                return this.remote ? withAsync : withoutAsync;
                function withAsync(query, sync, async) {
                    return that.search(query, sync, async);
                }
                function withoutAsync(query, sync) {
                    return that.search(query, sync);
                }
            },

Cross-posting this to the active fork over at https://github.com/corejavascript/typeahead.js

+1 this, I had to spend an entire day to figure this out. Would also recommend documenting the 'datumTokenizer' attribute of bloodhound in more depth.

Yeah, I still don't get why my withAsync function is null, after a couple of hours debugging in the callbacks, copying examples and stuff...

Yeah, I still don't get why my withAsync function is null, after a couple of hours debugging in the callbacks, copying examples and stuff...

yeah kinda sucks to find these undocumented. ever considered jsdocs or other comment document generators?

@jcrben added a comment on the cross-post.
@mightyphynx: yeah the docs are really lacking. Funny how the migration guide to 0.10 is actually more useful for tokenization info. As if everybody was using the plugin before 0.10

No progress at all these many years later.


Improvement Suggestion

I would like to suggest to show the volume in the entry line, so you can have an idea about the volume with the control panel window minimized.

I will consider your suggestion. Thank you!

Fixed in 3.07.


Make screenshots expandable to improve poor quality

The screenshots are so small of such poor quality that they are hardly readable. Normally, if you click a screen shot in a web page, it opens up in a separate, enlarged window. That would be extremely helpful here.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3a3f5d28-1484-ce76-b31d-7ee0d444ba0f
Version Independent ID: bdea6ca9-e7bc-d324-03d5-364c0fcaee4e
Content: Debugging - Business Central
Content Source: dev-itpro/developer/devenv-debugging.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback. This is an animated .gif file that shows how to use the Debugger in VS Code. The .gif display sizes if you enlarge the browser, they get bigger. We evaluated that this was helpful for illustrative purposes and not inspecting the detail of code. This is the first time we get this feedback, we will leave it as is for now, but if we get more feedback, we can consider changing these into regular screenshots. Thanks.


Doesn't seem to be working for me

Am i missing anything?

There is a conflict between Microsoft AL Language and AL Formatter, so the AL Formatter is allowing AL Language to do all formatting. Which means that AL Formatter basically does nothing.

Oh to bad, yours seemed better :(
I tried loading an old vsix but it also did not work.
Thanks for the reply!


Change Request: Bring "themePath" into config.

I found the need to separate the themes directory (or themePath in the code) from the content directory. In my case, I am installing Ghost via NPM, and my project directory looks like this:
/themes
   /casper
config.js
index.js
package.json

I don't want to keep content in my repository, because that is dynamically updated on the server, but I do want to keep themes in my repository, because that is where I edit the ui of my site.
I found that this change was pretty easy to implement, and I already have it working in a fork. You can see a comparison of the branches here https://github.com/rchrd2/Ghost/compare/TryGhost:master...master. I only modified three lines.
While, I found it useful to customize themePath, it might be even better to allow all paths to be configured (ie apps, data, images). I can't think of a specific use case, but why not solve this in a general way?
Either way, I can submit a pull request for my themePath if that seems okay. I think others might want to make this same change. What do others think?
Example Config.js
...
      url: 'http://example.com',
      mail: {},
      database: {
          client: 'sqlite3',
          connection: {
              filename: path.join(__dirname, '/shared/content/data/ghost.db')
          },
          debug: false
      },

      server: {
          host: '<IP_ADDRESS>',
          port: '5000'
      },
      paths: {
          contentPath: path.join(__dirname, '/shared/content/'),
          themePath: path.join(__dirname, '/themes')
      }
  },
...

Yes, please!

I'm going to close this as there doesn't seem to be much going on either for or against this.  If anyone has more to add to the discussion we can re-open.

@jaswilli I've forked 0.11.4 and applied changes as @rchrd2 has done. My use case is similar. I want scale-able docker instances of the blog that share a common volume (where data, images,  apps are stored and then themes are kept in normal source control.
I think it makes sense to make all paths configurable with sane defaults. I considered submitting a PR but I see there is a lot of rework in related to the config module in 1.x pre-release, so wanted to check in first.

I want scale-able docker instances of the blog

@craig-mulligan ghost is not designed to run across multiple instances, there is quite a bit of in-memory state and you'll run into weird issues if you are attempting to load balance across multiple instances. The best thing to do is to have the single blog instance and have a proxy/cache in front that can handle the origin server being unavailable by sending the cached content.


Can not build this source code for andorid

I am trying to build but showing below error message:
faruk@faruk-FMVDH4N0E1:~/Downloads/spin2winApp-master$ react-native run-android
info JS server already running.
info Building and installing the app on the device (cd android && ./gradlew app:installDebug)...

Configure project :@react-native-community_async-storage
WARNING: The specified Android SDK Build Tools version (28.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.
Android SDK Build Tools 28.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '28.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

Configure project :app
WARNING: The specified Android SDK Build Tools version (28.0.2) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.
Android SDK Build Tools 28.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '28.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

FAILURE: Build failed with an exception.

Where:
Script '/home/faruk/Downloads/spin2winApp-master/node_modules/react-native/react.gradle' line: 95

What went wrong:
A problem occurred configuring project ':app'.

Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 1s
error Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html
error Command failed: ./gradlew app:installDebug. Run CLI with --verbose flag for more details.

@ftechnology thanks for raising this issue. To be clear, the spin2winApp doesn't support Android  full features currently. The spin2winApp need to interact with SingleSourceApp to get authorised account  back, however,SingleSourceApp  doesn't have an Android version yet. Sorry for this, we will keep working on this and make sure it would also be working on Android platform, thanks.

Hello @HuanDay thanks for fixing the build issue. I can now build the source code.
But unfortunately when running on the device it is just showing a white screen saying loading from Localhost.
I am sorry to raise more issues.
Can you suggest any other android dApp where I could see the communication with CENNZnet smart contract ? I am actually learning CENNZnet.

@ftechnology I think you first question is same with this: Metro Bundler stuck at 95.5%. Just need to wait for a couple of minutes for the first time.
Sorry we don't have other android dApps to demo the contract interaction. If you want to experience the full workflow, you can choose to play with cennznet-ui

If you are interested in the codebase to call contract, the following files are independent from the project which can be extracted to you own local testing:

Construct contract
Call contract


WIP: Shared target libs for faster builds

Description
This is an ongoing effort to switch from static to shared libraries with the goal to decrease the memory requirements on linking and also decrease the build time requirements.
Fixes #366
General Checklist:
Please ensure the following points are checked:

[ ] My code follows the coding style
[ ] I have reviewed file licenses
[ ] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[ ] I have commented any added functions (in line with Doxygen)
[ ] I have commented any code that could be hard to understand
[ ] My changes do not add any new compiler warnings
[ ] My changes do not add any new validation layer errors or warnings
[ ] I have used existing framework/helper functions where possible
[ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
[ ] My changes do not add any regressions
[ ] I have tested every sample to ensure everything runs correctly
[ ] This PR describes the scope and expected impact of the changes I am making

Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

[ ] I have tested the sample on at least one compliant Vulkan implementation
[ ] If the sample is vendor-specific, I have tagged it appropriately
[ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
[ ] Any dependent assets have been merged and published in downstream modules
[ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the samples readme

This change helps my build performance massively.
A full build after clean previously took 9.5 minutes, and takes only 35 seconds with this change in place.

I'd love to do QA on this, but on Windows the build fails due to unresolved externals in the astc third party library. Any way around this? Github CI also fails with that error.


RFM - traffic-monitor

I DON'T Want To Become The Maintainer

[x] I have followed the Package Triage Process and I do NOT want to become maintainer of the package;
[x] There is no existing open maintainer request for this package;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details
Package URL: https://community.chocolatey.org/packages/traffic-monitor
Package source URL: https://github.com/iYato/chocolatey-packages/tree/master/traffic-monitor
Date the maintainer was contacted (in YYYY-MM-DD): 2022-09-22
How the maintainer was contacted: via the Contact Maintainer link on the package site

Hello, i'll pick this package.
It's ready on repo.
@pauby , cn you assign me this issue?
And add me to the package mintainers ? https://community.chocolatey.org/packages/traffic-monitor
Thank you very much


node_modules contain both .d.ts file and .ts files

Visual studio is returning TS6059 error as a result.

@jimdy Thanks for your message.
I would not recommend using Visual Studio for TypeScript development.


How to cover JSX / React components?

isparta only covers *.js files. How can I enable coverage for *.jsx files? I already added the .jsx extension to my .istanbul.yml but unfortunately it's not working.
package.json
  "scripts": {
    "prepublish": "gulp",
    "test": "mocha --colors --compilers js:babel/register --require test/setup.js test/*.js*",
    "posttest": "babel-node node_modules/.bin/isparta cover node_modules/.bin/_mocha"
  },

.istanbul.yml
instrumentation:
  root: src
  extensions:
    - .js
    - .jsx

+1

+1

I send a PR #61 for this.

Now only workaround is change all your jsx files to js.

Closes  with #61

I tried with above mentioned istanbul config with 3.0.4, but I still cannot get .jsx to show up in test coverage report. Are there additional steps that need to be taken to get this to work?

@yhsiang now I get a Object.assign is not a function. Please see #62

Same here like @larpo . My .istanbul.yml
instrumentation:
  root: src
extensions:
  - .js
  - .jsx
reporting:
  reports:
    - text
    - html

setup a .istanbul.yml
like
instrumentation:
  root: src
extensions: ['.js', '.jsx']

and add in your isparta config
babel-node ./node_modules/.bin/isparta --include "**/*.js" --include "**/*.jsx" cover _mocha --

Unfortunately it does not work. If I make a
$ babel-node ./node_modules/.bin/isparta --include "**/*.js" --include "**/*.jsx" cover _mocha -- src/**

nothing happens. No reporting at all. As well the istanbul documentation istanbul help cover does not mention a --include argument. It has to be -i but if I make a
$ babel-node ./node_modules/.bin/isparta -i "**/*.js" -i "**/*.jsx" cover _mocha -- src/**

I get a syntax error:
/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/lib/transformation/file/index.js:670
      throw err;
            ^
SyntaxError: /Users/screendriver/Development/my_project/node_modules/isparta/node_modules/which/which.js: Invalid number (19:21)
  17 | } else {
  18 |   isExe = function isExe (mod, uid, gid) {
> 19 |     var ret = (mod & 0001)
     |                      ^
  20 |         || (mod & 0010) && process.getgid && gid === process.getgid()
  21 |         || (mod & 0100) && process.getuid && uid === process.getuid()
  22 |         || (mod & 0110) && process.getuid && 0   === process.getuid()
    at Parser.pp.raise (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/parser/location.js:24:13)
    at Parser.readNumber (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/tokenizer/index.js:666:12)
    at Parser.getTokenFromCode (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/tokenizer/index.js:474:21)
    at Parser.readToken (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/tokenizer/index.js:160:17)
    at Parser.<anonymous> (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/plugins/jsx/index.js:445:20)
    at Parser.readToken (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/plugins/flow.js:736:22)
    at Parser.nextToken (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/tokenizer/index.js:151:19)
    at Parser.next (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/tokenizer/index.js:88:10)
    at Parser.pp.parseExprOp (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:185:12)
    at Parser.pp.parseExprOps (/Users/screendriver/.nvm/versions/io.js/v2.5.0/lib/node_modules/babel/node_modules/babel-core/node_modules/babylon/lib/parser/expression.js:167:17)

--include is support by isparta not istanbul,
if there is  a config file .istanbul.yml, then you can avoid to use src/**.
try
$ babel-node ./node_modules/.bin/isparta --include "**/*.js" --include "**/*.jsx" cover ./node_modules/.bin/_mocha -- ?

Ok, I finally got it to work. The trick was to move the --include args to after the cover part like this:
babel-node `npm bin`/isparta cover --include '**/*.js' --include '**/*.jsx' _mocha --

and make sure the 'extensions' in .istanbul.yml was correctly aligned inside instrument:
instrumentation:
  root: src
  extensions:
    - .jsx
    - .js

For anyone this might help this works for us
istanbul cover ./node_modules/.bin/_mocha -- 'test/unit/**/*.js'  --require babel-core/register --require test/support/global
And in our .istanbul.yml file:
instrumentation:
  root: src
  extensions:
    - .jsx
    - .js

I'm using the command pattern suggested by @larpo. What I'm seeing is that the lcov-report/index.html and lcov.info mention my JSX files, but coverage.json does not. (This is an issue for my online coverage service.) Any ideas??
Here is my command:
  "scripts": {
    "pretest": "rm -rf coverage",
    "test": "BABEL_ENV=test babel-node node_modules/isparta/bin/isparta cover --include '**/*.js*' _mocha"
  },

and .istanbul.yml
instrumentation:
  root: src
  excludes: ['*_test.js*']
  extensions:
    - .js
    - .jsx

and test/mocha.opts
--compilers js:babel-core/register
--require test/init.js

src/**/*_test.js*

For those arriving in desperation from Google (this is first hit), the magic word is 'babel-istanbul'.   You can see http://stackoverflow.com/a/33725069/1320510 for a correct write-up as of April, 2017.


[EVM] Avoid internal events for send_native

Describe your changes and provide context

to avoid back/forth events for balance transfers between the precompile and a user using send_native, this avoids events based on the reason (transfer)
this avoids suppressing gas events or gas refund events.
adds --value to the seidb cli so that we can invoke precompiles with a value

Testing performed to validate your change

unit test
cast commands

Codecov Report
Attention: Patch coverage is 51.28205% with 19 lines in your changes are missing coverage. Please review.

Project coverage is 60.31%. Comparing base (1d380cc) to head (2efc1c2).

Additional details and impacted files

@@            Coverage Diff             @@
##            seiv2    #1523      +/-   ##
==========================================
+ Coverage   60.20%   60.31%   +0.11%
==========================================
  Files         363      363
  Lines       25717    25750      +33
==========================================
+ Hits        15482    15531      +49
+ Misses       9263     9243      -20
- Partials      972      976       +4

Files
Coverage Δ

precompiles/common/precompiles.go
15.15% <0.00%> (-0.48%)
:arrow_down:

x/evm/state/statedb.go
47.87% <50.00%> (+0.19%)
:arrow_up:

x/evm/keeper/msg_server.go
76.37% <58.33%> (-0.90%)
:arrow_down:

x/evm/state/balance.go
52.47% <60.00%> (-0.86%)
:arrow_down:

... and 2 files with indirect coverage changes


Bugfix: useRawData internal cache purge

fix(use-raw-data): correct useRawData internal data purge

only reset data if new source is null or undefined, not if it is same as previous one

Fixes #571

Oh, I failed to notice #572, this PR may be obsolete then

no it's still very much relevant, the idea of #572 is more about having a unit test for such an issue

Thank you for catching this!


update infrastructure to 0.0.24

UpdateBot pushed helm dependency: infrastructure to: 0.0.24

UpdateBot commands:
updatebot push-version --kind helm infrastructure 0.0.24


Tagline

Tagline Ideas:

"Budget Buddy: your financial wingman for life."
"Budgeting just got a whole lot cooler with Budget Buddy."
"Money management just got a makeover. Meet Budget Buddy, your new financial wingman."
"Say goodbye to financial stress and hello to Budget Buddy, the app that makes budgeting not suck.”
"Budgeting so easy, even your grandma could do it with Budget Buddy."

"Take control of your finances like a boss with Budget Buddy."


Adding ASP .NET Core 2.1 guidance

Co-authored-by: Ben Hall<EMAIL_ADDRESS>Co-authored-by: Robert David<EMAIL_ADDRESS>

Had enough eyes on it now, will go ahead and merge now to simplify some bigger incoming contributions.


selectionsort - decrease outer loop iteration and remove extra variable

removed vscode config file and also update .gitignore for future reference.

Thanks! I'll update the list of contributors in the next a couple of weeks.


Syntax is Incorrect

It is union, not struct.
Line 37007 of wdm.h in wdk 10.0.17134.0
typedef union _OB_PRE_OPERATION_PARAMETERS {
_Inout_ OB_PRE_CREATE_HANDLE_INFORMATION        CreateHandleInformation;
_Inout_ OB_PRE_DUPLICATE_HANDLE_INFORMATION     DuplicateHandleInformation;
} OB_PRE_OPERATION_PARAMETERS, *POB_PRE_OPERATION_PARAMETERS;

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9284b14d-d4ec-3d61-b29c-8921906e10c5
Version Independent ID: fde29a69-8b56-6464-1235-21ed07d3dc79
Content: _OB_PRE_OPERATION_PARAMETERS
Content Source: wdk-ddi-src/content/wdm/ns-wdm-_ob_pre_operation_parameters.md
Product: windows-hardware
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Thanks, @hsebs for catching this.
@PageWriter-MSFT, can you please take a look. Title and syntax look wrong, but the description seems correct.

@hsebs. It's a bug in our internal build system. I have opened a ticket to get this fixed.
Thanks for catching that!
Page Writer

This is bug is now fixed. The union shows up as:
typedef union _OB_PRE_OPERATION_PARAMETERS {
  OB_PRE_CREATE_HANDLE_INFORMATION    CreateHandleInformation;
  OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
} OB_PRE_OPERATION_PARAMETERS, *POB_PRE_OPERATION_PARAMETERS;

Thanks for finding that.
Page Writer


Fix average video views

Purpose
Average video views in the course videos overview dashboard are not properly calculated.
Proposal

[ ] fix aggregation query in the average video views panel from the course videos overview dashboard

During this work I also had to:

[x] upgrade grafana to 8.5.3
[x] fix interval aggregation parameter in ES8 queries

@quitterie-lcs ready for review and extension to other dashboards.

@jmaupetit looks good! I have added a fixup for more consistency in our requests, especially for when panels data are downloaded


Main commit 06a85d3 is Not working

Right click has no response.
Error info (from chrome devtools)

PS:commit 885770a is the last working version.

@trojan-uma
Thank you for reporting the bug.
Due to the increasing complexity of the context menu's DOM tree, we've transitioned to using templates to construct the DOM tree in the new version. These templates are fetched from the server, which might cause communication before the WebUI initialization completes, potentially resulting in failures.
We've made changes to retry the communication in case of failures. Could you please try the latest version(2933d84) and let us know if the issue persists? Thank you!

No, but error info was changed
New error info (just show in software opening)

@trojan-uma
It looks like the error is occurring in the section that retrieves the change history. There might be corruption in the localStorage data, so we've adjusted it to prevent errors even if the data is corrupted. Please update to the latest version(e3924e8) and check again.
PS: out of the three screenshots you initially provided, the second one shows an error in "civitai_helper.js," which is unrelated to this extension.

@trojan-uma It looks like the error is occurring in the section that retrieves the change history. There might be corruption in the localStorage data, so we've adjusted it to prevent errors even if the data is corrupted. Please update to the latest version(e3924e8) and check again.
PS: out of the three screenshots you initially provided, the second one shows an error in "civitai_helper.js," which is unrelated to this extension.

commit e3924e8 is working!!! thx


[MAS1.4.13] [Keyboard Navigation-Live Chat] When the user hovered on “Split editor, Presentation mode” tooltip controls, tooltip gets disappears

Actual Result:
When the user hovered on “Split editor, Presentation mode” tool tip controls, tool tip gets disappears which present in the Live chat tab screen
Expected Result:
When the user hovered on “Split editor, Presentation mode” tooltip controls, tooltip should not disappear
Note: Issue repro throughout the application wherever tooltip controls are present.
Same issue repro for below path
Navigate to the Open bot ->Select the Open bot control->Open bot dialog
1.browse control.
Navigate to the Open bot ->Select the Open bot control->Open bot dialog ->Connect the bot
1.File upload button 2.Send button
Bot Explorer->Endpoint->+symbol:
1.End point url 2.Name .
Welcome Bot Framework Emulator ->Create new bot configuration
1.Bot Name 2.End Point URL.
Repro Steps:

Open the Bot Framework V4 Emulator.
Navigate to the Welcome tab screen
Navigate to the Create new bot configuration
Navigate to the Save and connect control and select it
5.Live chat tab screen gets appeared
6.Navigate to the “Split editor, Presentation mode” tooltip controls hovered on it
7.Observe the issue.

User Impact:
End user who rely on AT will not be able to get this hover information if the information is disappearing when we try to navigate on it .
Test Environment:
OS Build: Version 1903(OS Build 18362.239)
Browser: Edge
Application: Bot Framework V4 Emulator
MAS Reference Link:
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/Doc.aspx?sourcedoc=%7B60121EB2-D1C5-4525-931F-322A940799EF%7D&file=MAS%201.4.13%20%E2%80%93%20Content%20on%20Hover%20or%20Focus.docx&action=default&mobileredirect=true&cid=c368d1cb-2c0f-4858-89f9-67ffdf2ccd92
MAS1.4.13_Live chat.zip

Duplicate of #1715


🎮 Game Request
The user will be asked a bunch of adjectives, nouns, verbs, etc. and based on that a new story will be created.
Point down the features
The game will contain many stories which are provided in opensource databases. It will be a fun and unique game.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @AaryanManghnani !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @AaryanManghnani ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Adds Boston MBTA API to Transportation

The Boston MBTA API provides easy access to MBTA schedules, alerts, and real-time transit information.

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks for the contribution @jvautrot!


build_component.py doesn't copy to subdirs of the target directory

build_component.py currently lacks the functionality to copy files to subdirectories of the build target dir. Similar to #7, the old build harness allows this, e.g. to create subfolders for the different Repy runtimes in a Seattle installer.
I think we could add the subdir as an optional second or third argument in config_build.txt, like
# This one would be for building a component
seattlelib_v2/* subdir_for_seattlelib

# And that's the syntax for preparing tests
test repy_v2/* subdir_for_repytests

Fixed in #26.


Support renv and consolidate docker build with caching feature

Last commit https://github.com/fdiwg/dcf-shiny/commit/a56afa1283ee45a472d1b35794dd251fa7403c50


Fire extinguishers

And also fluff features like having them on walls around the map, and on lockers.

Assign this to me please.

Extinguisher lockers are not on map yet. May want to re-open.


Remove win datapath from linux ext snippet

@tomvcassidy

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


[REQ] mariner/azlinux: Add pre-validation for some spec fields

What kind of request is this?
None
What is your request or suggestion?
rpmbuild has some required fields that we aren't validating in dalec.
The error messages from rpmbuild is not great.
We do validate some of the fields but evidently we aren't doing all of them.
Namely these popped up in a recent demo:

license
vendor
packager

Are you willing to submit PRs to contribute to this feature request?

[ ] Yes, I am willing to implement it.

Noticed vendor and packager are not required by rpmbuild (license is) we just always output the fields and its invalid to have it be empty.
So perhaps some fixes to not stick empty values in the rpm spec.


Real SSR-friendly Ref

Describe the feature
The problem
Sometimes we need a ref that works exactly as ref, have full semantics and behavior of ref, but still works fine with SSR.
In the docs useState is advertised as "an SSR-friendly ref replacement", which is actually not true as useState has different semantics and behavior than ref in addition to its SSR-friendliness.
To quote the docs:

useState is an SSR-friendly ref replacement. Its value will be preserved after server-side rendering (during client-side hydration) and shared across all components using a unique key.

What I need is an analogue to ref where only the first part of useState description ("Its value will be preserved after server-side rendering") is true, but not the second ("shared across all components using a unique key").
I.e. that ref should be:

Initialized every time when script setup is executed (init function of useState is not executed on any client-side navigation except the 1st).
Preserved between SSR and client-side setup (i.e. hydrated, just like useState does).
Not shared between component instances or other components (unlike useState).

The workaround
Currently I use workaround like this:
const nuxtApp = useNuxtApp()
const componentId = useId()
const myRef = useState(componentId, () => null)
if (!nuxtApp.isHydrating) {
  // Called by SSR (initial page load), but also on each client-side navigation too, just as normal ref(generateInitialValue()) would.
  myRef.value = generateInitialValue()
}
onUnmounted(() => clearNuxtState(componentId))

I think with the workaround above myRef behaves identical to a usual Ref, but preserves the value generated by generateInitialValue() called from SSR if the component was first rendered by SSR, instead of generating a new initial value (that could be different from SSR-generated value) when the component is rendered on the client.
Also, myRef is not shared with anyone (even different instances of the same component), just like normal ref.
And it's initialization will be performed on each call to script setup function, just like normal ref. Unlike useState(), that calls init only 1 time, then init is never called again until full server-side reload of the page, that is not what you expect from "ref replacement".
The downside of this workaround is that on every client-side navigation a new key is created in useState data keys storage. So it is a memory leak in this case, as the semantic of ref allows to not preserve the value between navigations. It's just a side-effect of using useState and useId under the hood. I added onUnmounted(() => clearNuxtState(componentId)), but this just removes the values, not the keys. Ideally these keys should be removed right after hydration is finished.
The proposition
What I want instead is a built-in function that will allow me to write just this:
const myRef = useSsrFriendlyRef(() => generateInitialValue())

(the name of the function is discussable, of course 😂)
The usefulness
Such SSR-friendly ref is useful, for example, to generate an initial data to use it as parameters of API called by useFetch. These parameters need to be stable between SSR and client-side calling to useFetch to make generated fetch key be stable and hydration work.
One case when I needed this SSR-friendly ref is a component that displays a graph with some data. To load these data from the API the component need to pass a range of dates (e.g. GET /api/data?from=2024-08-13&to=2024-09-13). The default (initial) range is "from 30 days ago to the current date". After the component is rendered, user should be able to change the range. But on the initial render useFetch requests the data for the last 30 days. To make it work properly we need this initial date range to be initialized only once per navigation, but still to be initialized every time the component's setup is called (i.e. the changes user made to from and to dates should be forgotten if user navigates away from the route and then navigates back). All this behavior is perfectly covered by ref except the SSR part. With ref the current date could be different in SSR rendered component and client-side rendered component, so the initial date range is different, the useFetch key is different, the useFetch response hydration doesn't work and useFetch is executed 2nd time on the client.
Anyway, it is just one use-case (maybe not the perfect). The idea of this feature-request is not covering just one use-case, but having a standard mechanism to create SSR-friendly refs, with full semantic of normal ref, unlike useState, that certainly helpful when you need a shared state, but gets in the way when you need a private state, just like with ref, but stable between SSR and client-side rendering.
I remember useId() was introduced not long time ago to cover just a specific case of html element id generation (and similar cases). I think it solves similar problem, but in less generic way (you can't use your own initializer, useId() always returns a "random" string).
P.S. I tried to search for similar questions/proposition everywhere but didn't find anything. Maybe it's just my skill of creating a correct search requests. :) Anyway, if this idea was already discussed, please point me at it. Honestly, I'm very surprised that it was never discussed, as it is not the first time when I personally needed this feature, just the 1st time when I decided to create a feature request.
Additional information

[ ] Would you be willing to help implement this feature?
I would like to, but I'm afraid I will not be able. I tried to understand the implementation of useId but it looks like pure black magic to me.
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

Found an alternative workaround.
const nuxtApp = useNuxtApp()
const componentId = useId()
const { data: myRef } = await useAsyncData(componentId, () => generateInitialValue())
onUnmounted(() => delete nuxtApp.payload.data[componentId])

As useAsyncData skips calling to the function when app is hydrating, the semantic is the same as with the 1st workaround above.
I'm not sure about delete nuxtApp.payload.data[componentId] though. Is it the right way to delete a key from the cache? I don't like that this code touching Nuxt internals. But clearNuxtData doesn't remove the key (only the value).
I also not sure about onUnmounted even handler. Is it the right handler to remove the data to simulate ref semantic?
And aside question: why is payload data not removed by default by Nuxt when component is unmounted? When component that called useAsyncData is unmounted or client-side navigation is performed, the data is kept forever in the memory until next page reload happens. With many client-side navigation events (i.e. page is never hard-reloaded) this could be a problem (memory-leak). This data is not useful anyway because on the next mount the useAsyncData handler will be called again anyway, so the data will be fetched again, right?

Unfortunately, it's almost impossible to preserve state from server -> client without having a key that matches.
However, with the new useId you can likely achieve exactly what you want with:
const ssrRef = () => useState(useId())

@danielroe Thank you for the suggestion!
I implemented my local ssrRef composable almost as your example, but I made initialValue a function, otherwise it will be calculated unnecessarily on hydration. I also added onUnmounted hook to automatically clear the value of the generated key when it is no longer required (I'm not sure about this as a ref could be shared between several components). And added ssr-ref- prefix to the generated key to prevent accidental collisions with other state keys (useId() returns fairly low-entropy, non-globally unique values such as v-0-0, v-0-1, so the probability of collision with some unrelated key (not generated by useId()) is high).
function ssrRef<T>(initialValue: () => T) {
  if (import.meta.server || useNuxtApp().isHydrating) {
    const key = `ssr-ref-${useId()}`
    onUnmounted(() => {
      clearNuxtState(key)
    })
    return useState(key, initialValue)
  }
  return ref(initialValue())
}

it's almost impossible to preserve state from server -> client without having a key that matches

Yes, I understand this. But useState already solves this, right? It uses file/line if an explicit key is not set, if I'm not mistaken? I think this could be suitable for new ssrRef composable. It just needs to have different semantics, i.e. be re-initialized on every setup() execution, like a normal ref. And also it doesn't need to support of setting the key manually. It should always be generated, as it should not be possible to globally re-use such Refs.
Having a clean-up would also be good. But I'm not sure if it is possible to track if state/ref is not used anymore from anywhere.


Rendering JSReport as partial view in ASP.NET MVC throws HttpException: Filtering is not allowed

I want to render a JSReport as a partial view of my MVC Razor page. The page would show some information, and then have a section where the PDF would show. Rendering partial views with controllers is usually done with the RenderAction method. This is failing when calling a method that generates a PDF
Razor example:

            <~-- Some more content -->

        @{Html.RenderAction("PdfAction", "Home"); }

Controller:
        // Below attribute limits the action to only requests from other actions, cannot directly link to it
        //[ChildActionOnly]
        [EnableJsReport()]
        public ActionResult PdfAction()
        {
            HttpContext.JsReportFeature().Recipe(Recipe.PhantomPdf);

            // both calls fail
            return PartialView(InvoiceModel.Example());
            //return View(InvoiceModel.Example());
        }

When trying to render it throws a HttpException with message "Filtering is not allowed."

Hm. Doesn't this mean that you try to put a pdf into html?

            <~-- Some more content -->

        @{Html.RenderAction("PdfAction", "Home"); }

Regardless the mentioned error, this won't work. I believe you have to do an additional async request or a sync post to an iframe.

A lot has changed in the jsreport v3 sdk, please test it there and come back if you have still troubles.


Using 'time' type with time_stamp format

I have xAxis data which contain the following format:
data: ['2018-03-21 00:00', '2018-03-21 00:10', '2018-03-21 00:20', '2018-03-21 00:30', '2018-03-21 00:40', ..]
When I am trying to use 'time' type to use the possibility this type (e.g: add 1 hour interval), I got an empty chart. I know that when I use 'category' type the chart appear but when is use this type I can't add correct interval.
EDITED:
I tried to convert date format like this:
date=[];
for (var i in data){

         date.push(new Date(data[i]));
        }

I got a format like this:
Thu Mar 22 2018 03:50:00 GMT+0100 (CET)
Unfortunately the chart still do not working.
Thank you for you answers in advance!

If xAxis.type is set as 'time', the time data should be put in series.data or dataset.source.
For example:
option: {
    xAxis: {type: 'time'},
    yAxis: {},
    series: {
        ...,
        data: [
            ['2018-03-21 00:00', 1213232],
            ['2018-03-21 00:10', 3232323],
            ...
        ]
    }
}


No suitable GPU found

Sorry for prolly dumb question. I am on ubuntu 16.04 with latest drivers. Headless without xorg (because amd drivers are not compatible with xorg on 16.04)
Number of Platforms:1
ERROR: No suitable GPU found! No work will be performed!
[OPENCL]:
Listing OpenCL devices.
FORMAT: [deviceID] deviceName

lsmod
amdkfd                131072  0
amd_iommu_v2           20480  1 amdkfd
amdgpu               1961984  0
ttm                    94208  1 amdgpu
i2c_algo_bit           16384  2 i915_bpo,amdgpu
drm_kms_helper        155648  2 i915_bpo,amdgpu
drm                   364544  5 ttm,i915_bpo,drm_kms_helper,amdgpu

I have both internal intel GPU and AMD r9 290. Any hints how to make zogminer find it?

Try clinfo, if it cannot find the 290, zogminer won't be able also. Probably a driver issue.

Right, it can't find and I see only Intel GPU there, I installed latest amdgpu driver. No idea what is wrong with it :(

Take a look at the driver guides in our readme or wiki pages.

Amdgpupro drivers don't work with 290 series.

On 22 Oct 2016, at 12:07, Sammy Libre<EMAIL_ADDRESS>wrote:
Right, it can't find and I see only Intel GPU there, I installed latest amdgpu driver. No idea what is wrong with it :(
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Add Business Lic Exp Date to Details pages

Issue:

bcgov/entity/issues/23551

Description of changes:

Add Business Lic Exp Date to Application and Registration Details pages

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://strr-ui-dev--pr-196-y0i1282r.web.app

@rstens I showed to @andyyanggov and he approved it, because there are more fields/changes coming to this section.


chore(ContractDefinitionStore): fix javadoc typo on ContratDefinitionStore

What this PR changes/adds
Fixes the Javadoc in the ContractDefinitionStore
Why it does that
Currently it fails to generate the Javadoc

Codecov Report
Patch and project coverage have no change.

Comparison is base (016003c) 64.83% compared to head (4d5b5a1) 64.83%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2561   +/-   ##
=======================================
  Coverage   64.83%   64.83%
=======================================
  Files         876      876
  Lines       17976    17976
  Branches     1080     1080
=======================================
  Hits        11655    11655
  Misses       5885     5885
  Partials      436      436

Impacted Files
Coverage Δ

...tract/spi/offer/store/ContractDefinitionStore.java
0.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.