render: interface is inefficient for software renderers

The current wlr_renderer API has been designed with only OpenGL in mind and is inefficient for software renderers.
The main pain point is that it allows for arbitrary rotations. render_subtexture_with_matrix and render_quad_with_matrix take an arbitrary 3x3 matrix. While the Pixman renderer can handle translations, scaling, and rotations when they are multiples of 90 degrees, it cannot handle other rotations like a 27 degree one.
Arbitrary rotations aren't really useful in general, especially considering that the KMS API and the upcoming scene-graph API (https://github.com/swaywm/wlroots/issues/1826) don't support them. Maybe they should get nuked from the renderer API. Compositors that need more complicated rendering can always sling GL shaders themselves.
It's not yet clear if and how 3x3 matrices should get replaced. Matrices are great at composing transformations, e.g. accumulating output scale + output rotation + translation + surface scale + surface rotation + surface viewport.
cc @bl4ckb0ne

I suspect a gain of performance by using the shadow buffer system, I'll work on that soon.
Regarding avoiding matrix computation in the public API, I have some ideas already. I think we need a color/texture wrapper. something like wlr_sprite or wlr_image that would hold a box with its width/height, and a union to either a solid fill or a texture in memory, just like pixman does.
Here's a rough draft of the changes
struct wlr_image {
    int x, y;
    size_t width, height;
    enum wl_output_transform transform,
    union {
        struct wlr_texture texture;
        struct wlr_solid solid;
    };
};

// Not a fan of storing the box as whole for quicker access, but could avoid the gles2 renderer a few lines
struct wlr_box wlr_image_get_box(struct wlr_image *);

// include/wlr/wlr_renderer.h
void wlr_renderer_begin(struct wlr_renderer *r, struct wlr_output *o);

// That would call the following under the hood for easier user usage
r->impl->begin(r, o->width, o->height, o->transform_matrix);

// Then the user will just call a single function to render their images
// projection box will be computer only in the gles2 renderer, avoiding matrix calculation for pixman
wlr_render_image(sample->renderer, image);

Regarding avoiding matrix computation in the public API, I have some ideas already. I think we need a color/texture wrapper. something like wlr_sprite or wlr_image that would hold a box with its width/height, and a union to either a solid fill or a texture in memory, just like pixman does.

That proposal seems to just put x/y/width/height/etc into a struct rather than function arguments?
I don't personally understand the benefits of introducing this new struct. This doesn't seem to address my concern about "Matrices are great at composing transformations"?

void wlr_renderer_begin(struct wlr_renderer *r, struct wlr_output *o);

I'd rather not have the output involved here. The renderer can support rendering to buffers that aren't meant to be displayed on an output, e.g. for screencopy purposes.

Ah yeah I forgot the DRM cursor stuff. Hit my head on that when I first started the pixman backend.
Matrices are indeed great to encode information for the renderer.


Formatting code in this GitHub issue textboxes

Hi JaiQ,
I have one question regarding the very beautifully formated code in your answers:
How do I mark it up so that it Looks similar like the one you have? (I have read the Basics about Github formatting (e.g. the 3 backticks for code) but mine always Looks relatively terrible and sometimes github writes very big letters and I can't get them back to normal)...
Is there a simple way to let it auto-Format like yours?
With Kind regards,
John

I just use 3 backticks followed by "cs" nothing special. Then end with 3 backticks again.

Hi JaiQ,
thanks for your feedback. The "cs" must be it.
Have a nice evening
and with Kind regards,
John

Bottom of comment area has a link like Styling with Markdown is supported


Not sure if I am running on GPU

Hello,
I am encountering very long training and prediction times (overnight requirements usually). From reading your paper and tutorial, it seems like I might not be using the GPU, but I am not sure. The computer becomes unusable during these times (no mouse responses), so I imagine that it is taking up GPU processing power. I noticed that you used a machine with 128GB of RAM; mine only has 16GB. Could that be a limiting factor?
Thank you!
Konstantin Bakhurin

Hi Konstantin,
It should definitely not take that long to train and RAM shouldn't be the limitation either.
Figuring out if you're running Keras/Tensorflow on the GPU is a common problem though!
Try typing this out in MATLAB:
>> !python -c "import tensorflow as tf; print(tf.test.is_gpu_available())"
You'll get a bunch of stuff printed out, including a line about which device is being used. The last statement printed out should say "True" if Tensorflow is using the GPU.
Here's what it looks like on mine:
>> !python -c "import tensorflow as tf; print(tf.test.is_gpu_available())"
2018-10-22 14:56:54.362417: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-10-22 14:56:54.805914: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1405] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.683
pciBusID: 0000:01:00.0
totalMemory: 11.00GiB freeMemory: 9.10GiB
2018-10-22 14:56:54.806668: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1484] Adding visible gpu devices: 0
2018-10-22 14:56:55.686152: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-10-22 14:56:55.686351: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:971]      0
2018-10-22 14:56:55.686478: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:984] 0:   N
2018-10-22 14:56:55.686744: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1097] Created TensorFlow device (/device:GPU:0 with 8795 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
True

If you're getting something different, it's possible you installed the CPU version or Tensorflow can't use your GPU for some reason. If that's the case, try uninstalling and reinstalling the GPU version from the console:
pip uninstall tensorflow
pip install tensorflow-gpu==1.10.0

You can change the version number of 1.6.0 depending on the CUDA version you had installed, but just give it a go and let me know if you're still having issues.
Talmo

Hi Talmo,
Thank you for your help. It seems like I wasn't using the GPU and have switched to a new machine where I was able to (I think) successfully stumble through a fresh installation of tensorflow-gpu.
In Matlab, when I navigate to the LEAP directory and run install_leap, the python output seems to go smoothly until it gets to the importing of leap package itself:

I think there is something I need to do with pyversion function but i'm not exactly sure.
Do you know what the issue could be?

Hi again,
I went through the training procedure anyway (label_joints) just to see what would happen. Matlab is interrupted at the point where it calls python:

I'm not exactly sure what it is asking for but the directory for h5py in my Anaconda3\lib\site-packages\ folder does not contain any of those pxd/pyx that it is looking for.
Thanks for your help,
Konstantin

Hi Konstantin,
Sorry for the delay! I've seen this error once or twice but I've had a hard time figuring out which version of which package exactly causes it. Try updating h5py through MATLAB and let's see if that solves it:
!pip install --upgrade h5py==2.8.0

Let me know if that works for you!
Talmo

Hi Talmo,
Thanks for the reply. I fixed it on my own. In case someone else has these issues, I made a fresh install of anaconda and then tensorflow 1.6.0. I also needed to make sure that the PATH variables directed to python. This altogether seemed to help with the h5py problem. I needed to downgrade to python 3.6.6 because matplotlib 3.0.0 requires that version of python.
Everything is good. Lightning fast training. I actually yelled in amazement when I saw it go!
I do have one more question. What is the difference between the Initialize with Trained Model and Fast Train Network in the label_joints program?
Konstantin

That's great! Sorry -- Python package versions can be a bit of a pain.
The Initialize with Trained Model will allow you to run a trained model (e.g., from another dataset or movie) on the current file. This is handy when you want to start off from initial predictions from a previous iteration or set of frames. In contrast, Fast Train Network will train a new network from scratch on the current labels.
Closing this one but feel free to re-open or create another issue if you're having any other problems :). Thanks for sharing the troubleshooting tips!


[3.x] WFCORE-3258 ServiceRemoveStepHandler fails to remove services if any associated capabilities use a dynamic name mapper

https://issues.jboss.org/browse/WFCORE-3258

Core - Full Integration Build 19 outcome was FAILURE using a merge of edd3d8616daed894667e8fde6cd83ef4590deea9
Summary: Tests failed: 1 (1 new), passed: 4124, ignored: 106 Build time: 01:16:58
Failed tests
org.wildfly.test.integration.elytron.audit.TLSSyslogAuditLogTestCase.testFailedAuthWrongPassword: java.lang.AssertionError: Failed authentication with wrong password was not logged
	at org.wildfly.test.integration.elytron.audit.AbstractSyslogAuditLogTestCase.testFailedAuthWrongPassword(AbstractSyslogAuditLogTestCase.java:87)


Visualization alignment wrt visu text

Is it possible to always align the visualization to the top? Right now it gets pushed down when the clicked text is long, see pic

fixed


Testnet GraphQL server refusing queries (CORS)

Steps to Reproduce Issue
All GraphQL queries are failing with CORS errors noted below. Both from local development and from my testnet hosted solution.
Access to fetch at 'https://fullnode.testnet.sui.io/' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
This started happening about 14 hours ago.
const { data, error, status, hasNextPage, fetchNextPage, isFetching } = useInfiniteQuery({
queryKey: ['getwarlords', address, WarlordObjectType],
queryFn: async ({ pageParam = null }) =>
  request<WarlordQueryType>(
    GRAPHQL_URL,
    getWarlords,
    {address: address, type: WarlordObjectType, cursor: pageParam},
  ),
  initialPageParam: undefined,
  getNextPageParam: (lastPage: WarlordQueryType) => {
  if (lastPage.address.objects.pageInfo.hasNextPage === true) {
    return lastPage.address.objects.pageInfo.endCursor;
  } else {
    return undefined;
  }
}

export const getWarlords = gql
query getWarlords(
$address: String!,
$type: String!
$cursor: String,
) {
address(address: $address) {
objects(after: $cursor, first:10, filter: {
type: $type
} )
{
pageInfo{
hasNextPage
endCursor
}
nodes {
contents{
data
}
}
}
}
}
Expected Result
Should be getting data back
Actual Result
CORS Error
System Information
sui 1.26.0-d709c305ebf3
Do I need some kind of auth token or did something change on the testnet graphQL instance?
https://sui-testnet.mystenlabs.com/graphql

Thanks for this report. Can you explain how are ou running this, is from the TypeScript SDK or just a normal query where the endpoint is sui-testnet.mystenlabs.com/graphql?

Can you also try out this command in a terminal and paste the reply?
curl -X POST -H "Content-Type: application/json" --data '{ "query": "query { chainIdentifier }"}' https://sui-testnet.mystenlabs.com/graphql  -i

Normal query I built myself. Tanstack react query using graphql-request.
$ curl -X POST -H "Content-Type: application/json" --data '{ "query": "query { chainIdentifier }"}' https://sui-testnet.mystenlabs.com/graphql  -i
HTTP/2 200
content-type: application/json
content-length: 39
x-sui-rpc-version: 2024.4.2-1a9a436182a6a45994cffeb48f0a88a1f5e1bc19
access-control-allow-origin: *
vary: origin
vary: access-control-request-method
vary: access-control-request-headers
date: Tue, 11 Jun 2024 18:55:33 GMT
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
{"data":{"chainIdentifier":"4c78adac"}}

So that query seems to work. For testing purposes, can you try to craft your query in the online ID: https://sui-testnet.mystenlabs.com/graphql

These are stable queries I've been using awhile. Appears to be good from the IDE. Example below.
query {
address(address: "0x2a5406dff77a774786b733d62f994b8ce0df27a603a6087681458f3f977c70ed") {
objects(first:10, filter: {
type: "0x6eb24e3d8cf38417dadc19bfa940cdbf2e43a503b033700002d31b3c7432b287::warlord::SuiWarlordNFT"
} )
{
pageInfo{
hasNextPage
endCursor
}
nodes {
contents{
data
}
}
}
}
}

Not sure what could be causing this. We just redeployed testnet today, but you were experiencing this already yesterday, so not sure. The issue with fullnode.testnet.sui.io is kinda strange, because it's not really tied to that endpoint, so I am a bit confused.

Very strange, can a single wallet/address introduce issues or be blocked?
I created a new address, fauceted some SUI and it works fine.
Flip back to my primary test user. Can't query and can't even send SUI, using official wallet.
0x2a5406dff77a774786b733d62f994b8ce0df27a603a6087681458f3f977c70ed

That is bizzare indeed!

Testing some more, there is definitely a pretty large lag in gql response right now. I'm fauceting individual SUI and it's taking well over a minute to update.
Usually it's under 4 seconds. But doesn't seem to be throwing CORS errors against this new account with very few objects.

GraphQL and faucet are two separate services. Maybe faucet is under heavy load.
So what is under 4s, faucet or GQL?

GraphQL when running well/normal updates in under 4 seconds. I can send a transaction from UI (Mint/level/enhance/etc), fire a graphql query and get updated information 95% of the time.
I was timing the difference between the faucet SUI hitting my wallet, and then graphql query for balance info actually updating the UI.

I can confirm that all data is up-to-date and the GraphQL testnet should be working OK for your query.
Regarding the CORS issue, it might be from the wallet or some other place that is using JSON-RPC, as GraphQL does not rely on fullnode.testnet.sui.io.
I'd appreciate if you can try again and let me know if this issue persists.

It's been better for a little bit. I think it was actually something with the SUI Wallet and that particular address. I was occasionally getting errors like cannot find balance and 502 errors in the wallet. So best I can guess, when I was calling useCurrentAccount() from the dapp-kit it may not have been populating correctly. There was a good chunk of time I could also not even send SUI from that address. It was very odd, not sure if related to all the bridge traffic today or just a one off.

Any updates on this, are you still encountering issues?

@stefan-mysten It's been mostly stable, certainly slow at times today. I had some objects equivocated which has never happened before but was causing a lot of strange behavior in wallet.
It's been good today though and been doing a fair bit of traffic with gql.


Feature request: Perform action on new files

Since SyncTrayzor includes a filesystem watcher, it would be nice if I could define actions that would take place when new files were received (or added locally, or modified). The particular use case I have in mind is this:

Copy files from my camera to my laptop
Laptop syncs with desktop via Syncthing
Movie files are automatically processed on desktop using ffmpeg (to convert to H264)
Processed movies synced back to laptop

I'm picturing an 'Actions' GUI something like this:

Bear in mind that the filesystem watcher is going to be removed the minute that syncthing/syncthing#2807 gets merged.

There are loads of tools which will do this for you: here's a list of some graphical ones, and there are numerous command-line ones (which people use for things like recompiling web asset files on change).
I think that writing Yet Another one and integrating it into SyncTrayzor is the wrong thing to do, I'm afraid.


Fix DataFrame.xs and Series.dtype

[x] Closes #214
[x] Close #216
[x] Tests added

test_frame:test_xs()
test_series.test_dtype_type()

Thank you @Dr-Irv !


Error: No "exports" main defined in /node_modules/nostr-hooks/package.json

I tried using this in a remix app and Im having some issues when I tried building it.

But Im sure its installed, I look into my node_modules its there.

how do you try to import nostr-hooks? can you provide your import statement?
how about your package.json dependencies? are you using proper package version?

You can simply replicate it by creating fres remix app
npx create-remix@latest
https://remix.run/docs/en/1.19.3/tutorials/jokes
then install react hooks package the latest version , the node I am using is 20.5.1 ,
and then simply add hooks package on index page to experiment with
`import type { V2_MetaFunction } from "@remix-run/node";
import { useSubscribe } from 'nostr-hooks';
import { useState } from "react";
export const meta: V2_MetaFunction = () => {
return [
{ title: "New Remix App" },
{ name: "description", content: "Welcome to Remix!" },
];
};
export default function Index() {
const [toggle, setToggle] = useState(false);
const { events, eose } = useSubscribe({
relays: ['wss://relay.damus.io'],
filters: [{ authors: ['pubkey1'], kinds: [1], limit: 10 }],
options: {
enabled: toggle,
force: false,
batchingInterval: 500,
invalidate: false,
closeAfterEose: true,
},
});
if (!events && !eose) return Loading...;
return (
<>
<button onClick={() => setToggle(!toggle)}>Toggle

    {events.map((event) => (

{event.pubkey}

{event.kind}

{event.id}

    ))}

</>

);
}
`
My package.json file
{   "private": true,   "sideEffects": false,   "scripts": {     "build": "remix build",     "dev": "remix dev",     "start": "remix-serve build",     "typecheck": "tsc"   },   "dependencies": {     "@remix-run/css-bundle": "^1.19.3",     "@remix-run/node": "^1.19.3",     "@remix-run/react": "^1.19.3",     "@remix-run/serve": "^1.19.3",     "isbot": "^3.6.8",     "nostr-hooks": "^1.8.1",     "react": "^18.2.0",     "react-dom": "^18.2.0"   },   "devDependencies": {     "@remix-run/dev": "^1.19.3",     "@remix-run/eslint-config": "^1.19.3",     "@types/react": "^18.0.35",     "@types/react-dom": "^18.0.11",     "eslint": "^8.38.0",     "typescript": "^5.0.4"   },   "engines": {     "node": ">=14.0.0"   } }

try adding this line of setting in your remix config file:
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
  serverDependenciesToBundle: ["nostr-hooks"],
};

nostr-hooks only exports as ESM module, and Remix is just supporting CJS modules at the moment. they are trying to have a shift to ESM modules -as it's the future- but for now, you have to set this line of configuration.
please let me know if the issue is resolved.
read more about this issue on Remix docs:
Gotchas | Remix : Importing ESM Packages

@sepehr-safari  => this solution didn't work , it is still the same error.
/** @type {import('@remix-run/dev').AppConfig} /
module.exports = {
erverDependenciesToBundle: ["nostr-hooks"],
cacheDirectory: "./node_modules/.cache/remix",
future: {
v2_errorBoundary: true,
v2_meta: true,
v2_normalizeFormMethod: true,
v2_routeConvention: true,
},
ignoredRouteFiles: ["**/.", "**/*.test.{js,jsx,ts,tsx}"],
postcss: true,
serverModuleFormat: "cjs",
tailwind: true,
};

erverDependenciesToBundle: ["nostr-hooks"],

did you miss spelled erverDependenciesToBundle ? I think there is a missing s at the beginning!

can you explain which s you are talking about , I have used exactly the way you shared this settings with me here
erverDependenciesToBundle: ["nostr-hooks"],

it's not erverDependenciesToBundle
the first word is not erver it's server


Cleaned up manifests to remove Helm related lines

fixes #21

Just found teh answer while checking https://github.com/meilisearch/meilisearch-kubernetes/issues/15
Thanks!

This one should be rebased after PR https://github.com/meilisearch/meilisearch-kubernetes/pull/20 gets in, since it is trying to introduce the set of changes in the previous PR


Added missing docblock for autocompletion

Added

Missing docblock for ReflectionFunctionAbstract::getClosureScopeClass

Have you submitted a contributor license agreement? If not, please download the PDF from http://www.jetbrains.org/display/IJOS/Contributor+Agreement and then print it out, sign (mention you github account name there), scan and email to<EMAIL_ADDRESS>

We've received the CLA. Thanks.

Right. Anyone assigned to look at the changes and merge this in?


Display legend for each visible layer

Should the legend be always on or toggle-able
Should the legend be somehow customizable?
This issue should be expanded/refined for each specific layer. It will be needed at least for seismic

In the latest meeting we agreed it makes sense (for now) to have a dedicated legend only for the seismic layer, since that will have to support dynamically adjusting min and max values.
Any other legend can be added as a static object to the HTML layer developed as part of #14


MudDatepiker , bug dialog box  has the same width of the field

Bug type
Component
Component name
MudDatePicker
What happened?
with the style width to 160 px the witdth of the associated dialog is the same size
Expected behavior

Reproduction link
https://try.mudblazor.com/snippet/wOweaVOHhhetHtZi
Reproduction steps
@using System.Globalization

@code {
private DateTime? _date = null;
}
Relevant log output
No response
Version (bug)
7
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[x] I agree to follow this project's Code of Conduct

Any Informations ?

Work around for this to use Class instead of the inline styling.
This works fine.
`
`

Yes But ,I USe a inialiser on c#
like
public class AppBaseDatePicker : MudDatePicker
{
[Parameter]
public bool Enabled
{
	get => !Disabled;
	set => Disabled = !value;
}

protected override void OnParametersSet()
{
	base.OnParametersSet();
	Style = "width: 160px";

	TitleDateFormat = "dddd dd MMMM";
	Elevation = 15;
	AutoClose = true;
	Rounded = true;
	Clearable = true;
	////	Color = Color.Info;
	ShowWeekNumbers = true;

	PreviousIcon = Icons.Material.Outlined.KeyboardDoubleArrowLeft;
	NextIcon = Icons.Material.Outlined.KeyboardDoubleArrowRight;
	AdditionalDateClassesFunc = RedSunday;

}


Lots of Index shards are being marked as corrupt

Adding logging to the two areas of code that could set a shard to CORRUPT.
The log lines will contain: Setting index shard status to corrupt because
Also the status value for CORRUPT has been changed to 100

10 got a corrupt message!
[2:27 PM]
java.io.FileNotFoundException
from IndexShardWriterCacheImpl 156
IndexShardWriterImpl 741 (edited)
lucene shiz
java RandomAccessFile open (edited)
boom

codec header mismatch actual header=12345 vs expected header=56789 (resource: NIOFSIndexInput (path=/xxx/xxx/xxx.tip))


chore: switch-to-@imgix-core-js-package

Description
This PR aims to move us to @imgix/core-js rather than imgix-core-js as the latter is no longer maintained/has moved.
New Feature

[ ] If this is a big feature with breaking changes, consider [opening an issue][issues] to discuss first. This is completely up to you, but please keep in mind that your PR might not be accepted.
[ ] Run unit tests to ensure all existing tests are still passing
[ ] Add new passing unit tests to cover the code introduced by your PR
[ ] Update the readme
[ ] Add some steps so we can test your cool new feature!
[ ] The PR title is in the conventional commit format: e.g. feat(<area>): added new way to do this cool thing #issue-number
[ ] Add your info to the contributors array in package.json!

Steps to Test
TODO

The build passed here


Create equivalent/alias functions for the int type that matches the int64 functions

int is just an alias, but it's not obvious that const a: int = someVal.toInt64() is the right way to write it.

Resolved by #328


workaround / fix #92 - workaround for parse5 version differences rela…

…ted to attribute prefix and name

I was just about to merge... please revert that last dist change and force push.

@MeirionHughes, are You talking about this PR or have You by accident seen my experiment in another branch that I don't plan to use for creating PR?

I can see you're adding content to the dist folder; its becoming part of your PR.

I can't see it as a part of this PR: https://github.com/MeirionHughes/aurelia-template-lint/pull/93/files - no dist folder/files in this PR as i understand

Do You plan to merge this PR, or do You hame some doubts regarding it? As I understand You got confused for a moment, but now You understand it, and this PR is actually OK?

There is versioning mismatch bug between aurelia-template-lint and template-lint. I will fix that first...

Yeah, actually I also discovered/mentioned it when writing that comment :D So I also started thinking that maybe the problem is caused by aurelia-template-lint and template-lint versions mismatch.
Anyway ping me when You have resolved the versions mismatch.

Will make a few changes (update typings) then publish.


TaskQueueLatency metrics is not correct for decisionTimeoutTask

Version of Cadence server, and client(which language)
This is very important to root cause bugs.

Server version:  0.21.3

Describe the bug
When decision timeout happens, the queue latency is very large.
To Reproduce
Is the issue reproducible?

yes

Screenshots

Update: it's probably related to workflow reset


[Solved] Game crashes when opening the intel view

When opening the intel view by pressing E the game crashes with Comparison method violates its general contract.
Fixed it by adding JVM parameter -Djava.util.Arrays.useLegacyMergeSort=true, maybe something you want to add to the readme.
Further info: Tried with Adoptium OpenJDK 11 and 16 and happens with both of them.
Maybe it's because I use adoptium openjdk? have to use it under linux, otherwise I get the following error on startup:
[java] Inconsistency detected by ld.so: dl-lookup.c: 111: check_match:
    Assertion `version->filename == NULL ||
    ! _dl_name_match_p (version->filename, map)' failed!
[java] Java Result: 127

The game itself sets the java.util.Arrays.useLegacyMergeSort system property so that's strange.
I'll add this to readme I guess.
No idea about the second error, I was testing this on NixOS, with openjdk ¯_(ツ)_/¯

Hmm, strange ^^ well it works nicely tho with this setup for me, thanks for the lib! Game runs so much better for me now :smiley: :+1:


Modality is not working if an element uses pointer-events: auto

Using pointer-events: auto on any element on the page makes that element interactable again. This breaks the modality of overlays without a visible backdrop.

My first ever Vaadin 10 app has a blocker because of this. It is using https://vaadin.com/directory/component/tinymce-for-flow in a Dialog, the whole app becomes broken because of this when using link addition tool (TinyMCE has it's own modal dialog).

My beautiful workaround for the issue:
@Override
public void open() {
    setCloseOnOutsideClick(false);
    super.open();
    UI.getCurrent().getPage().executeJavaScript("setTimeout(function(){document.body.style.pointerEvents = \"\";}, 1000);");
}


Can I implement a click event on the listtable header item?

Header box is hidden under _header property of list table. I guess that should help you.

@pt300 Thank you for your answer.I looked at the source, _header is a box, its content is a text, seemingly can not be divided into multiple binding click event boxes.


Bug: The app's sound does not work properly

Expected behavior
I expected that when I switch on the sound feature, every count should give a sound.
Actual behavior
When I switch on the sound feature to make some count, the sound only works once, and it does not work on a continuous count.
How to reproduce

Launch the app
Go to setting
Enable sound
Go back to the counter
Click to count on addition
The first count will give sound, but it won't on the others.

App version: 20
Operating system: Android 6.1
Device: Itel
Recording Of The Bug
https://youtu.be/VoxrGvHMpww

Thank you for reporting this issue. Fix should be released with the next version.

If the problem is still there, feel free to reopen this. Thanks!


Explore gridstatus iso queues

Our ISO data is curated by LBNL and is released once a year. Near real-time ISO queue data could be useful for downstream analysis. gridstatus pulls ISO queue data from the same original sources as LBNL but it is updated as the ISOs update their spreadsheets. gridstatus also attempts to align the column names for different ISOs.
Pros

Our downstream analyses are unlikely to change dramatically because the number of projects and capacity distributions of grid status and LBNL are very similar. See the final section of the notebook for more information.
Offers monthly and, in some cases, daily updates to ISO queue information. LBNL data for 2022 isn't available until a few months into 2023.
We can improve ISO queue data for all users of gridstatus as we continue to work with the data.

Cons

Based on previous conversations with LBNL it sounds like they are committed to updating the data each year. A team in a national laboratory is probably more reliable than a new open-source project with only a couple of contributors.
Some columns like Status and Fuel Type will have to be harmonized.
We'd probably need to archive the outputs from gridstatus because the raw data gridstatus is pulling is likely to change or disappear.
LBNL's report also provides ISO queue data from the 30 largest non ISO utilities, which gridstatus does not provide. We'd have to join the LBNL utility and gridstatus ISO queue data together.
My initial pass through the data didn't many duplicates but there are probably some in there! We'd need to spend some time doing a deep dive into potential duplicates.

None of these cons are blocking issues. If we care about real-time ISO queue data, gridstatus is a solid option. To move forward with gridstatus we should understand the downstream consequences of having delayed ISO queue data. Maybe there aren't any consequences? We already know the best places for wind and solar in the US, so a year delay on proposed projects won't change counties to focus on.

Nice! It doesn't look too different to integrate than the NREL version. A couple of extra seemingly minor category harmonizations on top of the main challenge of deduplication.
My take on the different challenges/benefits:

we still need NREL for the non-ISO regions, but merging them looks easy because it's easy to filter for non-ISO data. Future analysis would have to keep this difference in mind though, or we risk underestimating non-ISO proposals
Even if gridstatus disappeared in 3 months, we could revert back to NREL.
We would need to at least partially automate the QC and deduplication if we do frequent updates
Do frequent updates mean we shouldn't store the data directly in git? We could drop all withdrawn projects before saving if we want to save disk space


One screen to output the transformed appsettings.json file.
One screen to output the claims and roles.

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

Hello! It's great to hear that you're interested in adding some of the Go Go Gadgets stuff to the developer tools after two years.
To output the transformed appsettings.json file and the claims and roles, you can create two separate screens within the developer tools. The first screen can display the transformed appsettings.json file using the appropriate code to read and output the file. The second screen can display the claims and roles using the necessary code to access and output that information.
It's important to ensure that the developer tools are secure and that only authorized users have access to them. Additionally, it's always a good idea to thoroughly test any changes or additions to the developer tools to ensure they function properly and do not introduce any new vulnerabilities.
Thank you for continuing to improve and enhance the developer tools for the Go Go Gadgets project!

Hi there! It's great to hear from you again and I'm glad that you're taking me up on my offer. I would be more than happy to help you with adding the Go Go Gadgets stuff to the developer tools.
To begin with, could you provide me with more information about the transformation of the appsettings.json file that you would like to output on the screen? Is there a specific format or structure that you have in mind? Once I have a better understanding of your requirements, I can start working on the feature.
Similarly, for the claims and roles screen, could you provide me with more details about the type of information that you would like to display? This will help me create a design that is user-friendly and meets your needs.
Looking forward to hearing back from you soon and getting started on these new features!

That sounds like a great idea! Are you looking for help with implementing those features or just sharing the suggestion? If you need help, feel free to provide more details and we can discuss the best approach to implement those screens in the developer tools.

@kennygutierrez I'm back from vacation next week. Will work on open source - so this PR is on the list then.. ;)

https://github.com/episerver/DeveloperTools/issues/51


Files OAuth

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Storage.Blobs

TODO add comment in XML remarks section for each service and share-level API that doesn't take OAuth to explain this to customer.

TODO see what happens if you try OAuth without x-ms-file-request-intent

TODO just send x-ms-request-intent by default?


[REQUEST] Implement unique Fare ID verification (GTFS Rule)

Is your feature request related to a problem? Please describe.
Every Fare ID should be unique in fare_attributes.txt.
Describe the solution you'd like
Verify a Fare ID is not duplicated in fare_attributes.txt
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
GTFS Spec http://gtfs.org/reference/static/#fare_attributestxt

Implemented in https://github.com/MobilityData/gtfs-validator/pull/120


rust-g thread panicked

Fri Apr 24 08:56:33 2020
World opened on network port 7777.
Welcome BYOND! (5.0 Beta Version 513.1519)
## ERROR: File not found (config/config.txt)
## ERROR: File not found (config/game_options.txt)
## ERROR: File not found (config/dbconfig.txt)
## ERROR: File not found (config/ofwhitelist.txt)
## ERROR: File not found (config/away_mission_config.txt)
thread '<unnamed>' panicked at 'index out of bounds: the len is 2 but the index is 2', /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550/src/libcore/slice/mod.rs:2842:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)

There is a bug at the HEAD of master. After recompiling at commit 06542e5bc0b3113b63240e1b2cba2e1d37e18d2f this error went away.

I have created a branch from 06542e5bc0b3113b63240e1b2cba2e1d37e18d2f that builds the rust-g dependency that we need for ScorpioStation.
https://github.com/ScorpioStation/rust-g/tree/scorpio-build
To use this branch to build a Docker container that builds and contains the rust-g library we need:
git clone https://github.com/ScorpioStation/rust-g.git
cd rust-g
git checkout scorpio-build
./docker-build-rust-g

This branch can go away after we merge a fix from tgstation upstream for the bug at the head of master.


[FR] Add return type annotations for public functions (firestore.client(), storage.bucket(), etc)

Is your feature request related to a problem? Please describe.
VSCode can use Python type annotations to provide a much better experience, and allow completion.
Describe the solution you'd like
function signatures should return a return type, to allow completions. For example, in firestore.py
def client() -> google.cloud.firestore.Client would allow completion on client().collection("something"), etc.
Describe alternatives you've considered
As a workaround, I'm using the following today:
from firebase_admin import firestore
from google.cloud.firestore import Client as FirestoreClient # importing the return type of firestore.client()
db: FirestoreClient = firestore.client() # Adding an annotation to my db variable, to enable completion and syntax checking

Additional context
Using the latest VSCode, with the Pylance extension.

Thank you @guneemwelloeux for filing this feature request. We have started adding type hints to new code (ex: #621) and will eventually add type hints to existing code in the future. In the meantime, if you or anyone in the community would like to send a PR we are glad to take a look. Thank you!

@lahirumaramba , Would you please assign me to this issue?

@lahirumaramba , Just for more clearity on the issue, Is there any way where I can connect with you guys directly because I'm highly interested to contribute here?

Hi @mohitCodepy Thank you for your interests in contributing to the codebase! Please refer to https://github.com/firebase/firebase-admin-python/blob/master/CONTRIBUTING.md for more information about how you can contribute to this project. You will need to fork the repo, make the changes, and submit a pull request. We would be happy to review any PRs.


How can i put the index.js from webpack before the loaded cdn?

Hi, i search a way to put the minified index.js before the cdn? Any ideas?

I did't understand why minified before the cdn.
maybe you can use like this
{
  src: 'http://abc.com/xx.js',
  defer: true
}

The defer works good, but i need to load angular first and then the cdn.
Like this:
<body>
...
    <script type="text/javascript" src="index.js"></script>
    <script src="https://code.angularjs.org/1.5.9/i18n/angular-locale_fr-fr.js" defer></script>
</body>


Change the title of CardIOPaymentViewController in iOS.

Can we change the title of CardIOPaymentViewController in iOS? As of now CardIOPaymentViewController title is "Card". Is it configurable?

@vijayviswas no, very little of the textual content in card.io can be changed by the integrating app.
However, the source code for card.io is available here. If you download that codebase and build your own copy of the card.io SDK, modifying that title will be quite straightforward.


Question about the cost function

Dear author,
Thanks so much for your contribution and the inference code.
I missed the explanation of your loss function in the paper, could you please briefly describe it?  Is it based on the linear combination between the focal and dice loss, like the one in Maskformer?
Kind Regards,
Yuyuan

Sorry, I think the loss should refer to the X-decoder paper.


Use own benchmark and not any system pre-built ones:

(1) use the cmake files of the corresponding libs
(2) allow static linkage of gtest and gbenchmark.
(3) Helps removing the temp solution in #1112
We are yet to disable the installation of the benchmark library, and I have an open pull request at https://github.com/google/benchmark/pull/463 - once it is merged I will do submodule update.
cc @lukeyeager @pietern who had this issue before - hopefully this makes the solution cleaner.

:+1:
https://github.com/google/benchmark/pull/463 is a nice solution.


Added in Tutorials: An introduction to gRPC

As per contributing guidelines:

Link additions should be added to the bottom of the relevant section

Can you please move the link to the bottom of the Tutorials section. Thank you.

Moved link to end of section as suggested. Thx


Natural Language Classifier - Create/Classify issue

Create and classify payloads isn't matching the actual REST API payload.

Fixed upstream.. watson-developer-cloud/natural-language-classifier-nodejs-cli@212afce4e4365a442209455f077375cbc07fed78


Element support

Basic support and tests for using page-object with any element type.

IMO element would be more neat name for method.

Thanks.  I'll get around to merging this over the weekend.


Migrate flake to parts

@DieracDelta is this still a relevant issue, or can we close this?

I think it's good practice, and "up to date" with nix best practices. So Id say that yes it's still relevant. But, not at all high priority. We don't get anything functionally great out of this besides making the flake easier to maintain.


Feature request: U2F support

Right now code-server depends solely on password authentication, which is a weakness.  If you use code-server over the Internet from a compromised client device, your credentials get stolen.  With U2F they'd still be locked out so long as they didn't physically steal a registered key device.  My end goal here is to enable code-server to work on shared PCs like at a library or Internet cafe if we ever go back to normal, or just to protect against keyloggers.

We don't have any plans to implement other authentication modes at the moment. Our recommendation is to put something in front of code-server to handle authentication (this is more secure in the long run anyway).
Related: https://github.com/cdr/code-server/issues/1625


Language | Pronunciation Guide

Add an optional field to Languages called 'Pronunciation Guide'.
This field should be optional and tied to the Display Name. This will provide a place for users to input and view the pronunciation of Language names.

Why the display name and not the real name?

The display name is what will be used/shared publicly. For Low-Sensitivity Languages this will be the same as the Ethnologue Name, but for Medium and High it will be a psuedonym.

Blocked until BE opens up pronunciation field

Implemented on the Language Detail view

@frankyma can you rename what we show to include the word "guide"?

Copy


test-network-k8s - create sample example to deploy in multiple namespaces (each org running in seperate namespace)

This is really great example to test K8s deployment, it must have a sample deployment doc to deploy each org, Ordering service running in a separate namespace so this sample could be useful for people who like to use these samples for production deployment.

This is a great feature.
I've actually used the K8s test network on a few occasions to help troubleshoot and diagnose errors that come up when connecting Fabric nodes across k8s namespaces.  (E.g. see this thread on stack overflow)  Probably the most confusing part of this was related to setting up the TLS host names in the CSR/SAN aliases when running the node enrollments with the Fabric TLS CA.   That said: all the mechanics are "in place" to support running a test network in multiple namespaces.  The cert-manager.io Issuer also makes the setup of TLS SAN host aliases really easy.
I also like how the use of multiple namespaces (PVC, etc.) force the user to plan for the distribution of MSP contexts between organizations.  Running a network across namespaces will really help to illuminate the "cross organizational" nature of Fabric.
The one drawback of separating the orgs across namespaces is that it does distract a little bit from the convenience of seeing everything together in a single bucket.   Is there a way we could set this up such that the scripts are driven by a parameter for each org's namespace, with the default being a single namespace?
The changes for this feature should be straightforward, but touch a lot of places in the scripts:

Introduce new env parameters for the org namespaces (e.g. ${TEST_NETWORK_ORG1_NAMESPACE:-${NS}}

Extend the node TLS cert requests with Kube DNS hostnames (e.g. <service>.<namespace>.svc.cluster.local)

Update all of the service URLs to use the Kube DNS hostname.

On a larger arc, one place the Kube test network still falls short is that we don't have a good example of adding a new organization to the network to the blockchain after it's been set up with the two peer orgs.

@knagware9 @jkneubuh Drafted a PR with required changes for this.
https://github.com/hyperledger/fabric-samples/pull/817


Tiberian Sun simple skirmish launcher \ and Offer

Here I made a micro program for myself to launch the solo skirmish mode. Perhaps it will be interesting to someone.
TS-Launcher
And I can offer my knowledge for implementation creation new configuration menu for the wrapper. I know he already has one. But I offer a more flexible option in a much simpler form. The size will be < 100-200 KB (depends on the images), presets for all games (which will display toggled option for each game), shader list presets for fast change in menu, normal dark theme, and anything else to you choose.
You can see my work in this direction:
https://github.com/Mitradis/SkyrimLauncher/releases/tag/Release
https://github.com/Mitradis/DISM-Scripts-Tools/releases/tag/Release

Looks nice!
I have been thinking about creating a new launcher for the wrapper too (Current one got a ban license). But the problem is I want it to work on every system that the wrapper supports: Windows 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS) and Virtual Machines
Problem is .NET (c#) does have dependencies so you have to install the runtime (which can be difficult and annoying in wine) and it also doesn't work on every version of windows (unless you use a old / low version).
I prefer the launcher to have no dependencies again like the current one, but not sure yet what framework / language to use


set right or left position for node

hi
is there any way to i set where to add to node when i am adding to graph?
for example graph.addEdge(prNode, Node(subUser)) to left edge or right ?
thank you.

Currently not possible. As a workaround you could create a new graph with your new structure and set it in the adapter.
We should open the graph implementation for extensions.

Hello, can i make that with new structure ? , im need to add multiple partners at same line !


Use pathlib module for handling file paths

Is your feature request related to a problem? Please describe.
While not exactly a problem at this moment, it may be in the future. Right now we use the os module to resolve our location within the file hierarchy. This works but I feel the code will be a bit simpler, and easier to work with by using pathlib. This also gives me an opportunity to learn a new module, so I'll take it :smile:
Describe the solution you'd like
I would like to migrate our code to use pathlib instead of os where applicable. We only use os for resolving path and file names so it should be a fairly straightforward migration.
Describe alternatives you've considered
No alternatives considered at this time.
Additional context
No extra context at this time.

Resolved as per PR #32


feat(besu): Ansible decoupling of create/certificates/ambassador role

Description
As a developer, I want to decouple Ansible from Bevel. This is achieved by moving the extra functionality from ansible to helm charts and use ansible only for templating purposes only.
This issue covers the change needed for platforms/hyperledger-besu/configuration/roles/create/certificates/ambassador role.
State of the deployment before running of the new role (subject to change, if required)

Root certificates not created
TLS certs not created
Root certs not on Vault
TLS certs not on Vault
Ambassador secrets not present on Kubernetes

State of the deployment after running the new role (subject to change, if required)

Root certificates created and saved to Vault
TLS certs created and saved to Vault
Ambassador secrets set as kubernetes secrets

Acceptance Criteria

The create/certificates/ambassador role should be modified in such a way that ansible is only used for templating purpose.
The previous and expected state of the deployment shall match the above description

please assign it to me.

I'll take this issue


Add string method to unit status

Checked all places iota is used to create Go enums, and this was the only place that was printed which missed having a String() method for clearer error messages.
Removed an unnecessary set of constants from the session capture hook.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


[5.5] SR-14108: Implement copy() in DateFormatter.

This PR contains cherry-picks from #3008 for Swift 5.5 branch.

DateFormatter.copy() returns the same instance not a copied one so far.
This PR adds an implementation of copy() in DateFormatter to behave expectedly(i.e. The same behavior with DarwinFoundation).
Resolves SR-14108.

@swift-ci test


Pylance settings page

Pylance settings page
Plumb options and changes to LSP

Rename the tree view item on the left from "Diagnostics" to "Analysis" ?


Allow the commit message to be edited

This is an awesome tool!
A lot of times, AI comes up with something that is mostly good, but may need one or two small corrections. It might be handy to take E for edit when prompted to use the commit message. What this could do is write the message to a file like .git/AICOMMITS_EDITMSG, then call git commit -eF .git/AICOMMITS_EDITMSG to open the AI-generated message in the user's editor and let them change it before committing.
As a workaround, the user can say "Yes" when asked to use the commit message, and then call git commit --amend to make some small adjustments. But the AI-generated commit message might not pass any git hooks that check the message's contents this way.
Happy to submit a PR if this sounds good.

Thanks for the suggestion @spenserblack, I agreed that this would be great! @privatenumber has a PR #64 that when merged, should enable us to do this well. I'll let you two chat about implementation details :)

I'm working on a Git hook in #83 so using the editor configured in Git will open via git commit with AI generated messages.
For CLI mode, @Nutlope wants a more user-friendly editor inline.

A git hook is an interesting idea :+1:
Assuming that a user would want to use aicommits in all repositories via the hook, I wonder if it would make sense to document how to use a template directory so that all new repos come with the hook pre-installed.

Closed via #95

This makes it possible to edit when using the hook integration.
But I think it would still be useful to hit E to edit the commit, when using the aicommits command on an un-hooked project.
Why? I jump around lots of projects, and occasionally call on aicommits. I would like to have this feature without needing to set up the hook integration.

That idea was tabled because we'll need to maintain a CLI text editor which would be a huge maintenance risk if people keep asking for more features.

we'll need to maintain a CLI text editor

Can't you just start a text editor subprocess? Git picks the editor to use in this order:

$GIT_EDITOR
core.editor config value
$VISUAL
$EDITOR

E.g. GIT_EDITOR=vi git commit.
So instead of building out a CLI text editor, why not try to resolve an editor from these and try to execute them in a subprocess?

That's what was implemented with the git hook.

I agree with the implication in @joeytwiddle's comment that installing a hook in many repositories can get repetitive. TBH I usually limit hooks to what must be used to contribute to a repo (linters, formatters, etc.).
Maybe I'm misunderstanding your definition of "CLI text editor," but what I'm asking is if E should remain tabled if you don't need to maintain a CLI text editor.

Instead of aicommits opening an editor, perhaps we could ask git to go it.
For example, after running git commit -m ...
https://github.com/Nutlope/aicommits/blob/578572b1d9a28f3e568314f6bb67a37276266e2f/src/commands/aicommits.ts#L101
We could immediately run git commit --amend
(iff the user had pressed E)


Define images for Python 3.7 standard and Alpine

@all-contributors please add @GArmane for maintenance


Worker file path incorrect in subfolder app

I have an app at domain.com/subfolder/
I'm doing an inline import of a worker script in one of the files.
import * as MyWorker from "worker-loader!./myWorker";
The resulting file name what the browser is trying to load is:
http://domain.com/subfolder793f4dbaa1493689665f.worker.js
That is missing a trailing slash between the folder and the file name, so the file is not found. I tried figuring out a configuration, which could let me set webpack public path for worker-loader specifically, but couldn't find it yet.
Could you push me into the right direction with this?

Please provide your webpack.comfig.js  aswell

Have you tried adding a trailing slash to your publicPath in the webpack config?

Hey sorry for the slow response. There was nothing about worker-loader in webpack.config.js initially. We decided to take another route by not loading the file as inline, but by identifying those worker files with the suffix .worker.js
This configuration in webpack module rules solved the issue for me:
{                 test: /\.worker\.js$/,                 use: [                                         {                         loader: "worker-loader",                         options: {                             name: "/[name].js"                         }                     }                 ]             },
We of course had to exclude those files from the regular babel processing with this
test: /^(?!.*worker).+\.js$/,

If anyone else encounters this, note that you can specify the public path using the inline syntax:
import GraphqlWorker from 'worker-loader?publicPath=/!graphql/worker.js';
I prefer the worker-loader! syntax because it makes it clearer that it's a special kind of import.
It would be nice if it were possible to specify default settings for a loader in webpack.config.js (for the publicPath setting in this case) so that the inline syntax would still work without having to specify publicPath on every import. But I don't know if webpack has such a feature.

I just also hit this issue. The workaround/fix is easy, but do you think it would be possible to fix this inside worker-loader?
Everything else in webpack seems to work ok without publicPath being slash-terminated, and it seems like an easy issue to solve.

yeah also ran into this. why does this loader assume publicPath has a trailing slash


How to use with parcel?

hi,
thanks for your great plugin, it solves the problem of importing scss files into typescript components perfectly.
Is it possible to use your plugin with parceljs as well?

I have a npm script which run this bash.
package.json
{
 "scripts": {
   "start:dev": "sh dev.sh",
}

dev.sh
node_modules/.bin/tcm -w -p src/**/*.less &
ENV=dev node_modules/.bin/parcel src/index.html -p 3000 --hmr-port 41327 --no-cache --open

Hey guys, try this: https://github.com/rfgamaral/parcel-plugin-typings-for-css-modules


Release on PyPI

A planned release to PyPI is currently in development

Still need to resolve some dependency issues before closing


Update example notebooks

Notebooks should be re-worked after

daqsampler object is used by experiments
after bugs have been worked out
with lock-in amplifier analysis approach
with good data that reflects expected results

Everything except for the first bullet point has been done.


df: memory: async iterator operations

Functions which are async iterators (async def with yield) should be supported by @op, as well as dffml/df/memory.py needs to be able to run one of these kinds of operations. Everytime the operation yields, whatever it yield'd should be added to the input network context.
I think we'll likely want to combine run and run_dispatch so that we only have the run function, it's looking redundant (at first glance) whoever submits a PR please figure this out and consolidate if appropriate
https://github.com/intel/dffml/blob/7dfec5050c0e2f205fdd58524a420b861dc7fd9e/dffml/df/memory.py#L861-L976

@pdxjohnny to clarify,this is not this to do.Also can you please provide a small example.

https://github.com/intel/dffml/blob/6da204fe5611d9a73bc71c77b9558e9ee4516f9f/dffml/noasync.py#L14-L31

https://github.com/intel/dffml/blob/6da204fe5611d9a73bc71c77b9558e9ee4516f9f/dffml/df/memory.py#L951-L1011

Refactor run_dispatch into two functions. The top level on is essentially going to do this:
https://github.com/intel/dffml/blob/6da204fe5611d9a73bc71c77b9558e9ee4516f9f/dffml/util/cli/cmd.py#L147-L152
Everything after line 974 becomes the new function, which gets called to handle the outputs, let's make run_dispatch not return anything (because we're not using it right now anyway and that's just confusing).

return [res async for res in self.run()]
@pdxjohnny is it okay to do this,if the async gen doesn't end won't this block?Im not sure if the event loop takes care of it somehow.
In case the above stuff doesnt work,i'm planning to change run_dispatch to an async iter and add tasks with the method in the comment before this one,thoughts?


Make topology nodes sticky

fix issue https://github.com/contiv/vpp/issues/1415
rework saving nodes positions

Coverage decreased (-0.1%) to 75.261% when pulling a0ef4c479a6d9395d74ac64431b777b44be87575 on lubobalogh:master into 3f3a67a2335abcc9dc8d2310346b059c34d77d95 on contiv:master.


Spanner - Undefined constant 'Grpc\STATUS_UNKNOWN'

Good afternoon guys.
i've been trying to fetch data from spanner with my laravel php application, but i always get this error
Undefined constant 'Grpc\STATUS_UNKNOWN'
My Code is as simple as this
 $spanner = new SpannerClient(['projectId' => 'kofera-technology']);

 $instance = $spanner->instance('datastream');

 $database = $instance->database('datastream');

 $database->runTransaction(function (Transaction $t) use ($request, $today, $startOfMonth) {

  $isoStringToday = $today->format(DateTime::ISO8601);

  $isoStringStartOfMonth = $startOfMonth->format(DateTime::ISO8601);

  $ownerId = $request->owner_id;

   $query = "SELECT * FROM kofera_billing_history WHERE kofera_id=$ownerId AND timestamp <=

 $isoStringToday  and timestamp > $isoStringStartOfMonth";

  $rows = $t->execute($query)->rows();

  dd($rows);
});

i've already installed grpc package from pecl and adding the extension to the php.ini file.
is there anyway i could verify my grpc is working? i thought maybe that could be a problem too
and this is my composer.json
"require": {         "php": ">=7.0",         "laravel/lumen-framework": "5.5.*",         "vlucas/phpdotenv": "~2.2",         "firebase/php-jwt": "^5.0",         "tymon/jwt-auth": "^1.0@dev",         "predis/predis": "^1.1",         "illuminate/redis": "^5.5",         "weblee/mandrill": "dev-master",         "vluzrmos/tinker": "^1.3",         "ramsey/uuid": "^3.7",         "chartmogul/chartmogul-php": "^1.1",         "kitetail/zttp": "^0.3.0",         "google/cloud-spanner": "^0.7.0"     },
--- edit ---
i already make sure that i've already installed grpc with this code
get_loaded_extensions()   [restof it,  "grpc"]
Thanks for your help
regards semmi verian

Hello! Yes, that error happens if the grpc extension isn't enabled. I am not sure why this is happening if your get_loaded_extensions() contains "grpc". It is possible you have an older version of the extension. I would advise trying to install it again.
I tested this on my machine and received the following:
$ php -i | grep grpc
Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-grpc.ini,
grpc
grpc support => enabled
grpc module version => 1.17.0
$ php -r "var_dump(Grpc\STATUS_UNKNOWN);"
int(2)


SQL Syntax error Postgres

Have this problem whith postgres Driver:
select * from "admin_menu" order by order = 0,order
Caused by method "orderByRaw"

Sorry i didn't test postgres before，I'll checkout this out.

Postgres uses the double quote for identifiers (order), MySQL uses the backtick.
The problem is at Menu::toTree
 public static function toTree(array $elements = [], $parentId = 0)
    {
        $branch = [];
        if (empty($elements)) {
            $elements = static::with('roles')->orderByRaw('`order` = 0,`order`')->get()->toArray();
        }
...

This works on postgres:
orderByRaw('"order" = 0,"order"')

https://github.com/z-song/laravel-admin/blob/e95eb30e87bb91c59db47b38fad72a205baf89e9/src/Auth/Database/Menu.php#L69

Thanks to @hayeah for fix this issue.


Scale image size on insert

As discussed: https://github.com/python-openxml/python-docx/issues/94
Allow for width and/or height to be passed into new_picture.
This allows for any scaling to be applied to both the picture and its
inline shape.

This is fixed in version 0.8.2 released Feb 16, 2015. I took a somewhat different approach, but thanks very much for the PR Alecat, it was very helpful for thinking through how best to approach it :)
Fix commit is here: 395b48f0. The overall rewrite of Run.add_picture() is in the 7 commits starting here: 71c657db


Issue with Automatic Decimal Formatting in Directive

Hi everyone,
I've successfully implemented the directive, and everything seems to be functioning as expected. However, I've noticed a small issue where automatic formatting is applied only to the first separator. For instance, in the number 10,000.00, the directive correctly formats the 10,000 part, but the .00 is not applied until you click off. This behavior is consistent with the examples provided in your documentation.

It's a general behavior. use reverse fill for auto decimal. Thanks


Can't change framerate

Framerate page displays just the text:
This is frameRate fragment.
but no options to change the framerate.

Sorry, that's because this feature hasn't been developed yet :(


prevent using holo inside containers

About the PR
title
Why / Balance
so someone cant use a holo inside a locker (okay...) or a disposals loop (downright evil, impossible to damage)
Technical details
its shrimple really
Media

Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes
no
Changelog
:cl:

tweak: Holoparasites can no longer be summoned from inside containers.

Thanks for the fix!


Enable Validate Outdated Containers by default for Fusion

Changelog Description
Also enabled the Validate Outdated Containers validator in Fusion by default.
Additional info
It's often missed, but this being a ContextPlugin means that the "optional" toggle appears on the Context entry in the Publisher UI. See:

Testing notes:

Ensure the default settings are updated
The plug-in should be listed in Fusion and run accordinly
The optional state should work.

@EmberLightVFX any chance you want to test-run this or provide comments on whether this may or may not be problematic to enable by default?


cannot paste when copying generics

When I define generics, for example, copying [T any] to func A() as func[T any] A() will automatically pop up, and pressing esc will cancel the pasted [T any], can you cancel the detection of generics

Hey, thanks for the report.
I will look how it will be best to handle this. In the meantime you can undo the change made by the extension with ctrl/cmd+z or similar when it happens

@newde36524 I have pushed an update that should fix this. You can install either from VS code or github releases.
Let me know if you still have issues.


feat: support Q4_1

TODO:

add vec dot test
add SIMD

part: https://github.com/crabml/crabml/issues/48

@flaneur2020 Could you please take a look?


Keyboard does not appear

Hi, I'm new to Swift (ios) development. My Target is to create custom system wide keyboard using some unicode characters such as: Ç̇, Ċ, Ä, Ə, Ġ and so on. There are 40 Letters in the alphabet. I tried to figure out the Demo application for Unicode and wrote following in my App:
// KeyboardViewController.swift

import KeyboardKit
import SwiftUI

class KeyboardViewController: KeyboardInputViewController {

    override func viewDidLoad() {
        inputSetProvider = AbatInputSetProvider()

        super.viewDidLoad()
    }

    override func viewWillSetupKeyboard() {
        super.viewWillSetupKeyboard()

        setup(with: SystemKeyboard())
    }

}

// AbatInputSetProvider.swift

import KeyboardKit

class AbatInputSetProvider: InputSetProvider {
    let baseProvider = EnglishInputSetProvider()

    var alphabeticInputSet: AlphabeticInputSet {
        AlphabeticInputSet(rows: [
            row(lowercased: "qẅëṛẗÿüïöṗ", uppercased: "QẄЁṚṪŸÜЇÖṖ"),
            row(lowercased: "äṡḋḟġḧjḳḷ", uppercased: "ÄṠḊḞĠḦJḲḶ"),
            row(lowercased: "żẍċṿḅṅṁ", uppercased: "ŻẌĊṾḄṄṀ")
        ])
    }

    var numericInputSet: NumericInputSet {
        baseProvider.numericInputSet
    }

    var symbolicInputSet: SymbolicInputSet {
        baseProvider.symbolicInputSet
    }
}

But after successful Build and starting the applikation in  iPhone 11 Simulation I don't see the keyboard when I select Input-field in Safari:

The keyboard is installed in the settings:

I first searched for questions in Stackoverflow but didn't find anything about KeyboardKit

Hi @khashashin!
I'm not sure why the keyboard doesn't show up, but one thing you currently have to do, is to wrap the system keyboard in a custom view, so that you can create an @EnvironmentObject binding to the keyboard context.
You should not have to do this, but have a look at the demo app keyboard and see my comment there. I will try to improve this in future versions of the library.

I'm not sure why the keyboard doesn't show up, but one thing you currently have to do, is to wrap the system keyboard in a custom view, so that you can create an @EnvironmentObject binding to the keyboard context.

thanks for the reply. I've wrapped the system keyboard in @EnvironmentObject as you suggested.
However it still does not show the keyboard.
I had a lot of errors when I tried to build the project and to resolve them I've changed Build Active architecture only to yes in debug.

When I change it to no, I get following errors:

And also this in errors window:

Hmmmm, you shouldn't have to fiddle with the build settings to get this to work. Can you compare your app with the demo app and find anything that differs, besides build settings?

Hmmmm, you shouldn't have to fiddle with the build settings to get this to work. Can you compare your app with the demo app and find anything that differs, besides build settings?

It was my mistake. I have chosen the wrong target during KeyboardKit installation


argument quoting in launch.json

In task.json it is possible to specify the quoting of the argument.
  "args": [
    {
      "value": "folder with spaces",
      "quoting": "escape"
    }
  ]

In launch.json this is not accepted.
Quoting is done automatic if the argument contains a space but I want to control it the same as in task.json because my argument does not contain a space but needs to be quoted or escaped.

Can we have a quoting option of none. No automatic quoting. This allows you to pass multiple arguments from a command variable expansion ${command:function_name}. Or the possibility to quote the argument yourself in case the automatic version is wrong.

VS Code does not "own" launch config properties like args, so it cannot introduce an alternative "quoting" representation.
Launch configuration properties (and their schemas) are contributed by individual debug extensions.
I suggest to file this feature request against the debug extension you are using.


No data returned in large xls Excel 97-2003 worksheet

I have a very large Excep that is read
calling ExcelReaderFactory.CreateReader(stream) works but when I then call reader.Read() no data is returned
Cannot attach file, but it is available on (318 MB)
https://vondavon.com/exceldatareader/vehicles_xls.xls

Hi,
Interesting, thank you. The Excep contains a "V4 Macro Sheet", but ExcelDataReader doesn't recognize that and skips it. I can read it after changing certain sheet type checks (and optimizing the cyclic sector check):

--- a/src/ExcelDataReader/Core/BinaryFormat/XlsWorkbook.cs
+++ b/src/ExcelDataReader/Core/BinaryFormat/XlsWorkbook.cs
@@ -173,7 +173,7 @@ namespace ExcelDataReader.Core.BinaryFormat
                         InterfaceHdr = hdr;
                         break;
                     case XlsBiffBoundSheet sheet:
-                        if (sheet.Type != XlsBiffBoundSheet.SheetType.Worksheet)
+                        if (sheet.Type != XlsBiffBoundSheet.SheetType.Worksheet && sheet.Type != XlsBiffBoundSheet.SheetType.MacroSheet)
                             break;
                         Sheets.Add(sheet);
                         break;

--- a/src/ExcelDataReader/Core/BinaryFormat/XlsWorksheet.cs
+++ b/src/ExcelDataReader/Core/BinaryFormat/XlsWorksheet.cs
@@ -435,7 +435,7 @@ namespace ExcelDataReader.Core.BinaryFormat
             using (var biffStream = new XlsBiffStream(Stream, (int)DataOffset, Workbook.BiffVersion, null, Workbook.SecretKey, Workbook.Encryption))
             {
                 // Check the expected BOF record was found in the BIFF stream
-                if (biffStream.BiffVersion == 0 || biffStream.BiffType != BIFFTYPE.Worksheet)
+                if (biffStream.BiffVersion == 0 || (biffStream.BiffType != BIFFTYPE.Worksheet && biffStream.BiffType != BIFFTYPE.v4MacroSheet))
                     return;

                 XlsBiffHeaderFooterString header = null;

--- a/src/ExcelDataReader/Core/CompoundFormat/CompoundDocument.cs
+++ b/src/ExcelDataReader/Core/CompoundFormat/CompoundDocument.cs
@@ -75,12 +75,19 @@ namespace ExcelDataReader.Core.CompoundFormat
         internal List<uint> GetSectorChain(uint sector, List<uint> sectorTable)
         {
             List<uint> chain = new List<uint>();
+#if !NET20
+            HashSet<uint> uniq = new HashSet<uint>();
+#endif
             while (sector != (uint)FATMARKERS.FAT_EndOfChain)
             {
                 chain.Add(sector);
                 sector = GetNextSector(sector, sectorTable);

+#if !NET20
+                if (!uniq.Add(sector))
+#else
                 if (chain.Contains(sector))
+#endif
                 {
                     throw new CompoundDocumentException(Errors.ErrorCyclicSectorChain);
                 }

thanks!
I will build locally and apply fix. Will this get rolled into a distributed release or would you recommend forking and merge with changes with main branches?

Hi, I'm sure this will be fixed at some point, but I cannot give an ETA. I'd like to familiarize myself with these "Macro Sheets" a bit more - f.ex can we assume to treat them as regular sheets? Maybe they should always be last? Until then, to progress I recommend to patch the latest develop branch and use that. The latest prerelease nuget was built from the latest develop branch.

thank you very much - this library is great, in my tests so much faster than the alternatives for read-only operations and easy to use!


Custom header cells

I'd like to be able to customize the th elements, for example, I'd like to render custom data attributes depending on the column and the sorting state, e.g.

    Name

Hello,
This works for me, although I dont know if its meant to be used like this (never have thought about until now):
import React from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';

var products = [];

function addProducts(quantity) {
  var startId = products.length;
  for (var i = 0; i < quantity; i++) {
    var id = startId + i;
    products.push({
      id: id,
      name: "Item name " + id,
      price: 2100 + i
    });
  }
}

addProducts(5);

export default class Example extends React.Component{
  renderCustomHeader() {
    return(

 console.log('clicked!')}>Custom header

    );
  }

  render(){
    return (

        <BootstrapTable data={products}>
            <TableHeaderColumn dataField="id" isKey={true}>
              {this.renderCustomHeader()}
            </TableHeaderColumn>
            <TableHeaderColumn dataField="name">Product Name</TableHeaderColumn>
            <TableHeaderColumn dataField="price">Product Price</TableHeaderColumn>
        </BootstrapTable>

    );
  }
};

Thanks, that will help me customize the content of the th element, but not its attributes. And I don't know the column's sorting state - I'd like to render data-column-sort="sortable|ascending|descending".

@jochenberger, the solution as following, use react-dom to find the ref which you defined
export default class TrClassStringTable extends React.Component{

  componentDidMount() {
    ReactDOM.findDOMNode(this.refs.name).setAttribute('data-attr-custom', 'its_my_infomation');
  }

  render(){
    return (
      <BootstrapTable ref="table" data={products}>
          <TableHeaderColumn dataField="id" isKey={true}>Product ID</TableHeaderColumn>
          <TableHeaderColumn ref="name" dataField="name" className="td-header-string-example">Product Name</TableHeaderColumn>
          <TableHeaderColumn dataField="price" columnClassName="td-column-string-example">Product Price</TableHeaderColumn>
      </BootstrapTable>
    );
  }
};

another things is about how to get the sort state, you can set onSortChange hook at options prop. check this example

Yes, that'll do it, thanks!

Unfortunately I also have to remove the span.order element that is created since https://github.com/AllenFang/react-bootstrap-table/commit/55ac719981bfd30708059f218b33431e4650bc2a. Maybe that could be made optional.

your goal is add some custom attribute on th, why to remove the span.order elm  in the content of th?

I surely cant understand what you are trying to do, or why do you want to use data-attributes or messing directly with the DOM with React. Maybe you should consider changing your approach :)

I want to render custom sort icons. The CSS that I use does that by setting different background images on the th elements depending on the data-column-sort attribute. Now, if I set those attributes, I get the sort icons from the CSS as well as the default sorting icons from the span.order.
That's why I wrote that I wanted to customize the whole th in the first place. ;-)

@jochenberger, if I make the 55ac719 as an optional, can this help you solve all issues?
btw, if I don't want to make the 55ac719 as an optional, instead, I provide a props to let you to set the classname on span to replace the order & dropup, how about this?

I can hide the span by setting display:none in my CSS. That seems imperfect to me but I can live with it. ;-) Option 2 would not help me though.

@jochenberger, great!


doc: release: add migration guide for RAM disk driver

Add migration guide for RAM disk driver.

@jfischer-no please rebase

@jfischer-no could you rebase please?


Openapi-definitions file loader fix

Fix

[  ] Add a unit test to verify that the fix works.

[x] Explain briefly why the bug exists and how to fix it.

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #7414 .

[x] Update the CHANGES log.

This fixes openapi-definitions under the server-bootstrap module resources being included in server-boostrap.jar. Because of this issue one can not attach their own openapi-definitions folder as classloader will always return resources under server-bootstrap jar.

wait for e2e


Livelike/source

Proposed changes
Added LiveLike Source Documentation
Merge timing
ASAP once approved

@livelikevp @stayseesong I moved this PR to another pull request (#5474) so I could change the directory folder to be the same as the integration slug. The docs look good to me, so will just need the final approval from someone on our docs team to get this through.


Query : Get Instance Info

Purpose
Adds support for query GetInstanceInfo
Changes
Adds support for query GetInstanceInfo.
Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

CLA acceptance
By submitting the contribution I accept the terms and conditions of the
Contributor License Agreement v1.0

link: https://developers.concordium.com/CLAs/Contributor-License-Agreement-v1.0.pdf

[x] I accept the above linked CLA.

Also please provide a unit test.

Also please provide a unit test.

Done


Closes softlayer/sl-ember-components#1248

fixed path change of highcharts

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

Comments from the review on Reviewable.io


Trapping Rain Water (LeetCode Hard)

Related Issue
Solved issue number: #514 issue that will be closed through this PR
Describe the changes you've made
Added Cpp code for Issue #514
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
N.A
Language used for coding
C++
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have documented the code.
[x] New and existing unit tests pass locally with my changes.

Nice work :)


New version: OpenBLAS_jll v0.3.13+4

Autogenerated JLL package registration

Registering JLL package OpenBLAS_jll.jl
Repository: https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl
Version: v0.3.13+4
Revision on Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/commit/c1acc761f4ce51b04e357f6221334b58713d727a

I think the dependency issue is just because Julia restricts it to exactly the version it wants. All the openblas binaries should be good to merge.

Yes, the compatibility restriction is the issue here


Improve performance of stats deletion background jobs

We needed to temporarily disable stats deletion background jobs because they are inefficient and take too much time to complete.
Here are some numbers that can help us find a more efficient solution:

Different periods of times that we can find in stats keys for a whole year: 1 (year) + 12 (months) + 52 (weeks) + 365 (days) + 365*24 (hours) = 9190.
Total number of stats keys in a year: 9190 * n_services * n_apps * n_metrics + 9190 * n_services * n_metrics. The first part corresponds to application stats and the second one to service stats.

I also measured the runtime for different operations that we need to perform in this kind of background job. Bear in mind that these are just approximations. There are many factors that can alter these numbers (redis latency, CPU, etc.):

Number of keys that can be generated in a second: 27k.
How long it takes to delete keys (calling redis.del(keys)): 10k keys in batches of 50, takes 0.15s.
Jobs can be enqueued at 750 jobs/s.

According to the numbers above:

A job that deletes all the stats generated for a whole year for a specific {service, app, metric} combination would take 9190/27000 = 340 ms to generate the keys plus another ~150ms to delete them. That's like half a second in total. Deleting the stats at the service level for a given metric would take the same.
A job that does the same for a month instead of a year would take around 40ms. That would be close to what other kinds of jobs take.

I choose to give the number for partitioning by year and month, but we could choose other granularity.
Regarding response codes, I think they can be treated as 8 extra metrics (202, 403, 404, 500, 504, 2xx, 4xx, 5xx).
A possible implementation would be as follows: the job that generates partitions takes into account all the factors (app, metrics, period of time) and generates small jobs that take a reasonable time to generate the subset of keys that they were assigned and delete them.
As an example, we have seen a job that generates around 10M keys. In order to delete all those keys, with the approach of splitting the work by 1service-1app-1metric-1year as mentioned above. We'd need to generate around 10M/9190 = 1088 jobs. Enqueuing those jobs would take 1088/750 = 1.45s. If we partitioned by month instead of by year, we'd need 10M/(9190/12)=13056 jobs. Which would take 17.4s to be enqueued.
This approach would be much more efficient than the current one. However, the time to enqueue all the smaller jobs could be an issue.
The enqueue time could be reduced if we enqueued jobs using pipelines, which as far as I know, is not something that the Resque client that we are using supports, but should be doable. Alternatively, we could make those calls in parallel.
We could also try to find different ways to generate keys more efficiently. We could analyze the code that does that with stackprof or similar and see if we can optimize something.
@eguzki and I discussed an alternative approach. It would be a recursive approach. Once a job is executed, it would delete some keys and create a new job that has fewer applications, fewer metrics, a shorter period of time, or some combination of all that. In the end, we'd have a job without apps, metrics, and an interval of 0s. Then, we'd know that we've finished deleting all the keys of the original job. This approach removes the cost of enqueuing a large number of jobs in a single job, because each one just enqueues another one. However, I see two problems with this approach. The first one is that deleting all the keys could take a long time, since it serializes the jobs. The second problem I see is that it might not be so easy to reduce the job into a smaller one. For example, if we wanted to send one application less to the next job, we'd need to delete everything for that app first.
Let me know what you think @unleashed , @eguzki .

Hi,
Partitioning stats deletion jobs is the same as partitioning stats key generation task. Partitioning stats key generation has shown to be a interesting problem.
Current implementation generates non overlapping partitions with constrained size of keys. This limitation in the size of keys of each partition allows to keep redis load under control by a single worker. However current implementation of stats key set partitioning pays a toll, which is, it has to compute all the keys in advance. This toll has been shown to be unacceptable for a worker job because the time needed to compute all of them is too high. We have measured that computing 12M stats keys takes ~400secs. Unacceptable by all means for a background job, delaying all remaining jobs in the queue.
So, the interesting problem is about generating partitions in a short time and avoid too many enqueuing of jobs, since that also requires time as @davidor pointed out.
My contribution of this post is to point out that generating non overlapping jobs is not trivial and makes the problem of generating partitions even more interesting. Overlapped jobs not only increase unnecessarily redis load, but also it has to generate more keys than required and generating keys requires time as we pointed out before.
An example of overlapping partitions: lets say we have the following stats job deletion spec:
{
 service_id:<PHONE_NUMBER>060,
 applications: [1,2,3],
 metrics: [1,2,3],
 from: Time.new(2002, 9, 01).to_i,
 to: Time.new(2003, 01, 01).to_i)
}

An we decide to partition by 1 month because we have computed that single month partitions contain an acceptable number of keys. So we will have partitions like
{
  from: Time.new(2002, 9, 01).to_i,
  to: Time.new(2002, 10, 01).to_i)
}

or
{
  from: Time.new(2002, 10, 01).to_i,
  to: Time.new(2002, 11, 01).to_i)
}

The problem of overlapping partitions is that those two partitions above have same year for the year granularity, so they will generate the same keys for that specific year. So, two partitions will generate overlapped keys, in this example, for the year period granularity.
Another example of overlapped partitions is partitioning by application. Let's say one job has application array [1,2] and we decide to split in two smaller jobs by application: one for app: 1 the other for app:2. Both jobs will generate same keys for usage service keys (stats/service:service_id/metric/metric_id/period)
The recursive approach also has the problem of non overlapping partitioning besides those commented by david. Let me add that with that approach there is no parallelization, all jobs are serialized in time. We do not have time constraints if system keeps running important jobs concurrently, but it is something to take into account.
More food for thought

For context to anyone reading: the model in Apisonator does not keep references to several entities, and when we keep them there is no referential integrity, so we end up needing to brute force our way out of the problem, because the usual case is that anyone calling into Apisonator fully specifies a key or a small set of keys to act on.
Now I think there is no fundamental problem in the generation of keys itself. All needed parameters are known in advance and the process is fully deterministic.
I want to mention one option which we should take into account for this and other future tasks, which is periodic janitorial tasks, possibly helped by small contributions at key places when doing online work. That would enable us to slowly scan for and build a set of data (think database indexes) to help us avoid the cost of generating keys for a specific period and combination at a minimal cost in space (so it would create the missing references).
That said, the main complexity I see is building facilities to help spread the work over time to avoid grabbing the CPU for too much time. The other problems are avoiding duplicate work and optimising the key generation itself.
Can someone @davidor, @eguzki, provide a minimal baseline benchmark under bench for the current key generation process (the one you both refer to in your comments) to check for progression in that problem?

This no longer applies with the new implementation.

@davidor it might be good to elaborate a bit on why.

@unleashed There are some notes here https://github.com/3scale/apisonator/blob/ecfbd25b8b2bf5568a13f97ad769f0101e8a99f6/lib/3scale/backend/stats/cleaner.rb#L5


reporting enhancements

Pull Request Test Coverage Report for Build 944167459

30 of 30 (100.0%)  changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 92.628%

Totals

Change from base Build 943347308:
0.2%

Covered Lines:
1759

Relevant Lines:
1899

💛  - Coveralls


Use status.sh instead of status.js, if possible

The next version of openaps-menu will use a socket server interface for external control of the display, so we don't need to call status.js if the user has the new interface script (status.sh).

Yes; it shouldn't break anything while we get new openaps-menu stuff merged.


Cannot create new jupyter notebook

Testing #177719
I was using this command to create a test notebook:

After playing with the notebook.experimental.outputScrolling setting a bit, I set it to false, closed my notebook and tried to create a new one and it fails consistently now with this error:
  ERR NO notebook document for 'untitled:Untitled-1.ipynb?jupyter-notebook': Error: NO notebook document for 'untitled:Untitled-1.ipynb?jupyter-notebook'
    at h.getNotebookDocument (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:100:86012)
    at l.$acceptDirtyStateChanged (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:90:15654)
    at c.N (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:108:11655)
    at c.M (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:108:11373)
    at c.H (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:108:10454)
    at c.G (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:108:9432)
    at c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:108:8220
    at E.invoke (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:145)
    at h.deliver (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2121)
    at n.fire (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1729)
    at p.fire (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:72:14916)
    at c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:124:16654
    at E.invoke (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:145)
    at h.deliver (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:2121)
    at n.fire (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:63:1729)
    at p.fire (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:72:14916)
    at MessagePortMain.<anonymous> (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:124:14780)
    at MessagePortMain.emit (node:events:526:28)
    at Object.MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:5:364)
workbench.desktop.main.js:620   ERR NO notebook document for 'untitled:Untitled-1.ipynb?jupyter-notebook': Error: NO notebook document for 'untitled:Untitled-1.ipynb?jupyter-notebook'
    at m.h (c:\Users\Daniel\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:98:126151)

Commenting out the setting doesn't fix it so I'm reloading.

I don't think this is due to the setting. More likely the NotebookEditorModelResolverService got into a bad state

likely fixed, I haven't seen any other issues on this.


Henchman to work on local instance without the need of inventory.

When I need to run set of command on local instance / the localhost itself, we still need inventory to be present. It will be great if we make the playbook to execute locally without the need of inventory.

Example:
name: "Wiring the Cassandra & Provision Org. [Running Local]"
sudo: true
local: true
vars:
  include:
  - apigee-edge/apigee-vars.yaml

tasks:
  - name: Copy Registration File
    template: src="{{ vars.root_dir }}/files/edge-registration.sh" dest="{{ vars.edge_install_dir }}/edge-registration.sh"

  - name: Register Cassandra Servers
    shell: cmd="sh {{ vars.edge_install_dir }}/edge-registration.sh" loglevel=debug

Should inventories still be required when running a plan?
If not should we do a local at plan level or still require the hosts section and have the user specify something along the lines of...
hosts:
   - local

Having local set to true at the plan level makes sense because that's what we've been doing for other task to plan level variables, but what would we do with the hosts section?  Hosts are a key field in the plan format.
However, this ultimately boils down to if we need to require the user to pass in an inventory.  If they don't pass in an inventory should all tasks be run as noop or local?

@sudharsh @madhurranjan

@madhurranjan I think you implement something that addresses this issue


Endpoint doesn't have rate limiter

Link to reproduction
https://github.com/GeorgeHulpoi/payload-endpoint-rate-limiter
Describe the Bug
Endpoints doesn't have rate limiter.
To Reproduce
Open the server and call /api/ping. It doesn't contain the headers for rate limiter.
Payload Version
2.5.0
Adapters and Plugins
MongoDB + webpack

Hey @GeorgeHulpoi — from your repro, I figured out the discrepancy here. You're saying root: true which deliberately bypasses all Payload-provided middleware and adds the endpoint to the root Express app.
If you want your endpoint to inherit Payload middleware like rate limiting, you would need to remove root: true, and then remove the /api segment in the path:
export const PingEndpoint: Endpoint = {
	root: false,
	path: '/ping',
	method: 'get',
	handler: (req, res, next) => {
		res.send('pong');
	},
};

This should do it! I am pretty confident. But if for some reason I am lying here, please re-open the issue!


RBD: Do flattening only the temporary cloned images not the images given to user for mapping

In the case of CreateVolume from snapshot and CreateVolume from Volume, when the soft or hard limit is reached we do flattening on the image. and we need to ensure that we only flatten the intermediate clones we create not the volumes which might get mapped when the application mounts the PVC. flattening on the images can affect the read/write performance of the image due to some internal locking.

This needs some testing and may or may not code changes but it's good to validate this case.

As discussed we have to continue the analysis and get into the completion in upcoming releases. Moving this out of 3.4.0 release.

In current implementation of CephCSI rbd driver,  flattening is triggered for two reasons hitting snaps and CloneDepth limit:
Ceph CSI rbd processes(highly summarized):

k8s snapshot = PVC->snap->tmp-snap-img->snap
k8s PVC-restore= Snapshot's snap->clone-img
k8s PVC-PVC-clone= PVC -> snap->temp-clone-img->snap->clone-img

(snap refers to rbd image snapshot)
With respect to snap limit:

rbd image snap is taken during k8s snapshot and pvc-pvc cloning.
Thus flattening due to hitting snap limit can occur only on rbd temp image underlying snapshot and temp clone image underlying PVC-clone.

With respect to CloneDepth limit:
To be analysed.

 Every k8s PVC's underlying image if it has a parent rbd image, it's either a k8s snapshot's image(PVC-restore) or temporary-clone image(PVC-PVC-clone).

https://github.com/ceph/ceph-csi/blob/60c2afbccadf008ebcd1293f3c10f0d5596b0e62/internal/rbd/clone.go#L258-L290
If a temporary clone does not exist for a given image ,

In which case the temporary clone does not exists?
from PVC-PVC clone case both image and the temporary image will be deleted when we delete the image.

we need to find the parent image here, which would be a rbd image image under k8s snapshot and flatten it instead.

Yes, the snapshot needs to be flattened in case of PVC restoration from snapshot operation.

In which case the temporary clone does not exists?

I meant ErrImageNotFound for temp clone -> for a snapshot restored parent PVC.

@Yuggupta27 , I was planning to work on this.
If you did understand the issue and the fix discussed above in the comments, then its fine
else let me know, I can continue and send a pr for this soon.

https://github.com/ceph/ceph-csi/blob/9c50e255fb4f2a3cad918db2c4e5a9af1696f38a/internal/rbd/controllerserver.go#L588-L595
one more place where we are flattening the image which will be given to user for mapping.
The parent underlying  snapshot image can be flattened instead.


add 4k ultra hd to mediaModel

Coverage decreased (-0.1%) to 24.016% when pulling a20fcb8419bd3bdab33b18a0a5ad430229fc4f65 on 4k into bfd7acda902f61feea94346e486ef8837760fcff on master.