Datepicker does not appear

Hello.
I did everything from README, but datepicker does not appear.
Here is what I did:
1) npm install ng2-datepicker
2) added css to index.html

<base href="/">
<title>d2d</title>
 <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" media="all">

3) in my app.modules.ts:
...
import { DatePicker } from 'ng2-datepicker/ng2-datepicker';
import { FormsModule } from '@angular/forms';
...
@NgModule({
...
declarations: [
AppComponent,
DatePicker,
...
]
bootstrap: [ AppComponent ]
})
4) in my component:
import { Component } from '@angular/core';
@Component({
template:
hello

<datepicker [(ngModel)]="date" [expanded]="true" class="danger"></datepicker>

Selected date is: {{ date }}
})
export class MainPage {
date = "";
}
5) in systemjs.config.js:
var map = {
...
"ng2-datepicker":             '../node_modules/ng2-datepicker'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
...
'ng2-datepicker':                       { defaultExtension: 'js' },
...
};
Result below on screenshot:

The problem was with require ng2-datepicker.component.html and css files. I changed ./ng2-datepicker.component.html to full path, and it worked.
Now I have new problem, datapicker always placed in left side of page and it has broken position of day numbers.

The relative path feature in templateUrls and styleUrls is module loader specific - based on looking at the docs (https://angular.io/docs/ts/latest/cookbook/component-relative-paths.html) and what you've already tried it seems that
moduleId: module.id, templateUrl: 'siblingFile'
works for CommonJS,
templateUrl: './siblingFile'
works for Webpack,
and your current solution
moduleId: 'module.id', templateUrl: './siblingFile'
works for SystemJS?
Isn't it best to just use inline templates and styles (as do packages like ng2-table) for generality?
@jkuri
I've made this change locally and can submit a pull request if you want to give me permissions.

I would vote for inline template/styles too.
I gave up url for some time and on my branch I wasn't able to get it working either.
I prefer using webpack with require() and use appropriate loaders for each type of file. That way you can for example use sass or less as it seems ng2-datepicker.css was generated from.
@shamgang how did you mange inline template and css ?

@ghetolay
I just copied the entire template HTML into the component file using the template: attribute and enclosing it in backticks. Then I copied the styles into a

@shamgang

I just copied the entire template HTML into the component file using the template: attribute and enclosing it in backticks. Then I copied the styles into a tag in the template which as I understand is what styles: will compile to anyway

I think we need sometimes better than that. Having a


Let PhysicalBone detect collisions, and allow application of impulses

Godot version:
master / f32c826924
OS/device including version:
Manjaro Linux 18.0.2
Issue description: (This is a feature request)
What I'm trying to achieve is to make a 3d character react to a hit impact in a more realistical manner.
To be able to achieve such an effect, you'd probably need to know exactly where (i.e. global 3d position in Vector3) the sword hit, and strength and direction of the impact (i.e. a force represented as Vector3).
Once you get that information somehow, you need to apply that force to the appropriate part of the enemy character's body. I imagine such a character would have a ragdoll setup, consisting of PhysicalBone nodes in a 'sleeping' status then need to get 'awakened' (i.e. by invoking Skeleton.PhysicalBonesStartSimulation) before applying the aforementioned force data (i.e. like RigidBody.IntegrateForce).
However, if I'm not mistaken, neither of those is possible with the current status of Godot. First off, there is no signal to detect collision in PhysicalBone or CollisionShape so we can't take the more natural approach of letting the object that is being hit to decide what could be a proper reaction to the impact.
And even if we can make the sword a RigidBody, driving it by applying forces would be awfully impractical, since the movement of the weapon is usually determined by what animation the character plays when it attacks, rather than based on some complex procedural, physics calculations.
In Unity, in comparison, there is a OnCollisionEnter(Collision) callback which I believe to be usable from any collider component. I think it'd be much better if Godot has an equivalent signal in either CollisionShape or PhysicsObject node, so that we can gather such information like exactly where the object was hit or how hard and more.
Also, it doesn't seem to be possible to apply force to exact location on the target rig with proper intensity and direction. We can make the character RigidBody and use IntegrateForce, of course, but it'd probably make the whole body flying when I hit its arm, for instance, instead of just making the arm thrown back as it is expected when it gets hit by a solid object.
Ideally, it'd be better if either we can make PhysicalBone to inherit from RigidBody, or pull up methods like IntegrateForce to their common ancestor, so we can interact with the former in the above mentioned scenario.

@AndreaCatania not sure if what they are asking makes sense, please take a look :)

If what you're trying to accomplish is this, you'll have a hard time in any engine. You already can do what you want using Area and some programming, albeit it's not easy.

@mysticfall You can use the RigidBody's signals to do what you want. The functionality is the same as Unity's.
I guess the problem you're having is that your sword is a KinematicBody and the player a RigidBody, which would render no hits being registered. You can attach an Area to your sword to overcome that problem.

By the way, I searched up a couple of tutorial videos on Unity's ragdoll wizard to confirm what I remember, and it seems that they indeed attach collider and rigidbody component for each bones which makes it easy to detect a collision (with information on its direction and strength) and apply arbitrary force on that specfic part of the rig:

@mysticfall The body_entered signal returns the node that collided. From there you can access anything you want, given you're creative enough.
It seems you're worried about clutter and performance. Clutter can be reduced if you make the Area a child of your already existing nodes. About performance, don't worry, you need around 11 Areas to divide the human body; that's not nearly enough to cause performance issues, even if you have more than one player.

@mateusak How do you know exactly where a bullet hit and in what direction with what force when all that signal gives a single Node argument?
And even if there was such a way, how can you apply force to a rigid body that is attached to a physical bone so that the movement of the former would be duplicated in the latter?
And that is even when we assume doubling the number of collision shapes and joints would not somehow affect the performance, or it would be easy to setup.

@mysticfall Because having the node object you can access all the variables from itself, it's owner (and therefore access to your 'brothers') and it's children. Which certainly includes the velocity.
From what I could observe you're not used to the Godot way of doing things. It's weird, I know. But it is how it is, somethings are more cluttered, some others less. Just because there's more nodes doesn't mean it's any less performant than Unity, that's one thing I've learned.
 Do it. You'll realize things will start to fit. At first you'll try to use Godot like you used Unity or Unreal. That's inefficient, Godot is like Python, there's always Godonic way of doing it. You just need to learn it.
Now, about your issue, it's not really an issue. It's already implemented, I doubt someone will do it. You'll have a better time at the Q&A to figure how to do this.

@mateusak I'm not trying to be rude, but I suspect you don't understand the implication of constructing such a system in a full 3D environment as you already said you have only used Godot for 2D projects.
I wouldn't worry any of those things, if all I wanted to do was making a character sprite, adding some hit box areas here and there, then running some code to play an animation if a bullet 'enters' that area or other similar kind of things.
Have you ever tried to setup a ragdoll in Godot? See how it can be cluttered just as it is (that's just about only half of the whole setup by the way):

I'm not bashing the current status of the ragdoll system, since I'm perfectly aware that it's one of the bleeding edge features that was introduced quite recently. But what I'm saying is that you are basically claiming it is easy to attach a rigid body or area to every such node and somehow it will work and it'd be both efficient and clutter free which I don't believe it for a good reason.
Again, I'm not trying to insult you nor ignore your own experience with Godot. But claiming it's a 'non-issue' or that I'm not familiar with the way Godot supposed to work without even trying something similar yourself is not a very constructive way to discuss how we can make Godot even better.
If you still believe somehow it's only because I don't have sufficient experience with Godot that I need such a feature, try implementing a proof-of-concept hit reaction system with the TPS demo yourself and see how easy and efficient what you have suggested would work (that is, if it even works at all).

@mysticfall I apologize for not being clear, and I realize I may have been rude. What I meant for non-issue is that Godot has been used to make very complicated games, so there IS a way already, that's why I told you Q&A would help you more.
Now on to why what you proposed can't be implemented; CollisionShapes are a gimmick. It has no function by itself: it only specifies an area that is used by a body. The equivalent to a Unity CollisionShape in Godot is an Area. That's why I said it won't cause a performance issue. In Unity did you worry on how many CollisionShapes did you have? No.
And as I've said before, you don't need an Area for each of these. A human body can be divided in 11 parts; 2 upper arms, 2 lower arms, upper torso, lower torso, 2 upper legs, 2 lower legs, head.

@mysticfall When pressing the button to attack you need to do something to move your player. There are basically two ways do to something; manual animation or procedural animation. In both cases the force to which your hand moves forward is configurable by you. If for some reason it's not, you can register the hand position each second to calculate it's velocity and acceleration. The actual force of the punch is the force you configured + your players speed in a direction (i.e superman punch). You store this in a variable on your player.
Create an attack Area for your fists. When this area enters a hit Area of the enemy, the hit Area signal will contain the fist Area. From there you can get fist_area.owner.your_variable.
Now, again, I don't know how to do the collision part. I would assume RigidBodies and HingeJoints, but really in this I can't help you. Go on discord or the Q&A and ask for help on this part.
P. S.: The equivalent to Unity's Collider (in the way of just reporting collisions) is Godot's Area. Having too much of either sure is bad. But 11 is not too much. Not even close to too much. There are games with tens of thousands of these. This is bad practice; you're trying to optimize something before starting.

I also came up with a similar 'hack', in case I want to implement this feature before Godot could be improved in that regard. But it isn't as easy as you'd think because you need, for example, to attach a special node which records its velocity and effective weight in every frame to the tip of every sort of weapons that your game have. And that is without considering how you'd actually impart that calculated impart to the target bone (I'm thinking about using an invisible rigidbody bullet, or somehow using PhysicsServer, assuming PhysicalBone would be a rigidbody under the hood).
Anyway, even if it was something feasible, it doesn't explain how I should transfer that impulse to the target bone, and most importantly, I don't think our users need to go through that sort of ugly hoops to achieve what other engines like Unity provides out of the box.
Lastly, I think you are mistaken about how collision works in a 3D context. No, the equivalent to Unity's collider is not Area, but CollisionShape as you can clearly see from here:

https://docs.unity3d.com/Manual/CollidersOverview.html

They provide almost identical set of collision shapes as Godot does, possibly because those are what available in Bullet engine. And I'm almost certain that colliders or collision shapes have quite a significant performance impact, if used without care. So I don't think it is a case of a premature optimization to feel concerned of blindly doubling their numbers.

I didn't read everything but @mateusak seems pointing you in the right direction.
You can achieve this effect by creating a physical skeleton like this:

(This one is too verbose you should simplify it https://www.youtube.com/watch?v=6TyRFk6dpU4)
Now to have the character react like you want you need to use / develop a software that take the hit position and its force and compute an animation. The video that you posted show the result of an animation engine and not a physics engine.
Excluded the ragdoll all movements that you see are animations computed procedurally.
Also please note that is not possible to take info from the shape becouse it's there just to tell the physics engine how to compose the rigid body.
Hope this help.

@AndreaCatania I still don't get how my problem would be easily solved by using Area node, and that's what @mateusak has been saying in this thread mostly.
Anyway, I think I already know how to construct a ragdoll which is more or less the same in both Godot and Unity.
My main point is, with Unity the ragdoll creation process makes each bone an actual rigid body with collider, so a) can easily detect collision on itself and b) can easily apply an arbitrary impulse on it.
With Godot's current PhysicalBone implementation, however, you can't directly detect any collision from a physical bone (as you also said in the above comment), and there's no API to apply an arbitrary force to it, like RigidBody.IntegrateForce.
I don't see how such limitations could be easily solved by using any existing node types Godot provides, including Area.

Area is not the right choice in this case. The physical bone is a rigidbody, and it should have the possibility to detect hit or apply force when the simulation is active. (if not please open an issue)
When the physics bone simulation is not active you can't apply a force, and seems strange to me that you can do it in Unity.
Again you need a software like euphoria because is very difficult create a skeleton body that allow a character to walk like in the real world where you can apply a force to it.

@mysticfall There's not a 1 : 1 correspondence with Unity. Collider = Rigid, Kinematic, Static bodies. Trigger = Area. CollisionShapes are just a tool used by these bodies.
But okay I can finally understand what you're proposing;
You want to be able to apply localized force to a ragdoll. Okay. That's something not currently implemented and not achievable through Godot's current state. Please edit your issue to make it clearer.

The physical bone is a rigidbody, and it should have the possibility to detect hit or apply force when the simulation is active. (if not please open an issue)
Yeah, that was exactly the point that I've tried to address with this issue actually. :)

@mysticfall There's not a 1 : 1 correspondence with Unity. Collider = Rigid, Kinematic, Static bodies. Trigger = Area. CollisionShapes are just a tool used by these bodies.
But okay I can finally understand what you're proposing;
You want to be able to apply localized force to a ragdoll. Okay. That's something not currently implemented and not achievable through Godot's current state. Please edit your issue to make it clearer.
Yeah, but as you see, there's almost a 1:1 correspondence between Unity's collider and Godot's collision shapes. But I don't want to pursue this subject any further, as now I can see that we have finally reached an understanding.

I'll try to reword my issue, if more people turn out to get confused about the intend. Thanks!

Yes but it has the possibility to do it, it's really similar to a rigid body

Yes but it has the possibility to do it, it's really similar to a rigid body

That's great to hear. Thanks!

@AndreaCatania One minor point though, would it be possible for a PhysicalBone to detect collision before the physics simulation is turned on? If not, could we have a more granular mode like ON / COLLISION_ONLY / OFF?

@mysticfall I mean it's 4am where I live. I'm tired. Sorry for any trouble.

Again, just to make things clear :

When the physics bone simulation is not active you can't apply a force, and seems strange to me that you can do it in Unity.

It's also done in two separate phases in Unity. When you detect your character is hit on one of its rigid body bone, you stop the animation so that the ragdoll can take the full effect then 'replay' that force upon the affected bone to simulate a hit reaction.
@mateusak

@mysticfall I mean it's 4am where I live. I'm tired. Sorry for any trouble.

No problem! I'm just glad that we finally understand each other :)

Not sure if this has been discussed before but in your video @AndreaCatania you are using apply_impulse on a PhysicalBone. So this feature existed before, right? Why is the method no longer usable?

Area is not the right choice in this case. The physical bone is a rigidbody, and it should have the possibility to detect hit or apply force when the simulation is active. (if not please open an issue)

@AndreaCatania This seems like it was possible, as per the video you made, but PhysicalBone no longer has an apply_impulse function that you can call. I currently get:
Invalid call. Nonexistent function 'apply_impulse' in base 'PhysicalBone'.

The PhysicalBone extend PhysicsBody, so threat the physical bone like a normal physics body.

Pretty bump. Looking at the docs, neither PhysicalBone not PhysicsBody has functions related to applying impulses or setting velocity, unless one goes through the PhysicsServer.

What's the state of this? With this PR #36008 is possible to animate the physical bones, so you can register impacts and using apply_central_impulse you can also submit forces.

At this moment, I'm stuck with other issues both Godot's and my own. Can't wait to try it out myself, and thanks much for the work!

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are still interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Need a way to clear error triangles on blocks

If you generate a red error triangle on a block, for example by running "do it", there seems to be no way to clear the error.  Can we do this with a dropdown selection?  Or have the error clear automatically in some other way?   For comment balloons we have "remove comment"

@halatmit If you fix the error and re-run "do it", the red triangle should clear. But I agree, it wouldn't hurt to have a simpler approach.

And along these lines, and Neil responded to a message to app-dev about this, there needs to be a way to show the error/warning triangles on collapsed blocks...  If you have 100 collapsed blocks and an error shows up, the only way to find it is to expand EVERY block, check it, then collapse it again...

BTW, Neil may have already done this thing in his Blockly update...  I'm pretty sure he's already done the warnings on collapsed blocks...

Closed by #417


enableHierarchyDisplay problem

Please select the area your bug applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[ ] Workspace.  VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[ ] Lookup.  Dendron's Lookup Command
[ ] Views.  Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema.  Dendron Schemas
[ ] Pod.  Data import from / export to Dendron
[x] Publish.  External Site Publish
[ ] Markdown.  Markdown features, such as syntax support and features

Describe the bug
I’ve tried to set enableHierarchyDisplay to false but my site still shows the Children section.
To Reproduce
Steps to reproduce the behavior:

My codes are here: https://github.com/wupingju/pinchlime-dendron/blob/master/dendron.yml
This is my site: https://wiki.pinchlime.com/

Expected behavior
If I set enableHierarchyDisplay to false, my site shouldn't show the Children section.
Screenshots
https://media.discordapp.net/attachments/735365126227493004/976479018360639559/CleanShot-2022-05-18-21-38-08.png
Desktop (please complete the following information)

OS: macOS
Browser (if with published websites; include version): Sidekick / Safari
Versions (all that apply to bug):

Dendron Extension: Latest
VS Code version: Latest
Dendron CLI:

Additional context
Dendron Log file
(I'll attach this file when I go home)

Thank @wupingju for reporting the bug. We'll let you know when this gets fixed 🙏

This should be fixed with Dendron v0.97. Feel free to comment here if that is not the case.

Hey @PJ Wu#4806 What is the dendron-cli version you have?
Also can you try uncommenting this and see if that works https://github.com/wupingju/pinchlime-dendron/blob/master/dendron-publish-site.sh#L14?

Hi @Harshita-mindfire
I've tried to delete
yarn add @dendronhq/dendron-cli@latest
but still the same~
I don't know how to check my dendron-cli version (don't remember if I've installed this), could you please tell me how to check?

These are deploy logs , don't know if this will help.

Oh I see!!! (I tried the second solution)
I misunderstood the meaning of uncommenting, now it works!!!
Thank you very very much!


No PerfData for check_drivesize when using warn and crit other than used_pct

Hello,
I am monitoring Linux und Windows server with check_nsc_web. When calling check_drivsize with the default parameters
performance data ist returned.
If I use used_pct for for warn and crit the perfomance data is also returned.
If I us any other filters than used_pct, no performance data is returned.

thanks for reporting this, should be fine now.


fix(ui-markdown-editor): hyperlink markdown text conversion - #301

Signed-off-by: k-kumar-01<EMAIL_ADDRESS>

Closes #301

Creating a hyperlink by selecting the text now changes the text in the markdown.
Changes

 Delete the current selection
 Insert the node with updated parameters.

Screenshots or Video

Before
https://www.loom.com/share/6eb14ef12e6243c2bf7ad810f1795240
Now
https://www.loom.com/share/8c31c14ea6e8468b852b272a1f3aed49
Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[ ] Vital features and changes captured in unit and/or integration tests
[x] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[x] Merging to master from fork:branchname
[ ] Manual accessibility test performed

[ ] Keyboard-only access, including forms
[ ] Contrast at least WCAG Level A
[ ] Appropriate labels, alt text, and instructions

@mttrbrts
Requesting your review


Use io module

This PR uses an io-helper module for reading to/writing from ipfs to allow older versions of orbit-db access controllers to be read

@shamb0t
Code looks good but getting a lot of these errors running the test locally
1) orbit-db - ContractAccessController Integration
     OrbitDB Integration
       "before all" hook:
   TypeError: Cannot read property 'getKey' of undefined
    at new Store (node_modules/orbit-db-eventstore/node_modules/orbit-db-store/src/Store.js:48:24)
    at new EventStore (node_modules/orbit-db-eventstore/src/EventStore.js:11:5)
    at new FeedStore (node_modules/orbit-db-feedstore/src/FeedStore.js:10:5)
    at OrbitDB._createStore (node_modules/orbit-db/src/OrbitDB.js:155:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)

IFF that's a known glitch you're working through, then LGTM :+1:

@aphelionz was using the wrong ipfs-log branch, does it work for you locally now?

Superceded by #20


How to make your example work

Hi,
Im trying to test the example in the readme but im getting a TypeError: 'NoneType' object is not callable when calling loss = base_maskgit(
images,
texts = texts
) ( I didnt change anything ). Im probably missing something obvious here, could you tell me what im doing wrong ?
Thanks

This one :
import torch
from muse_maskgit_pytorch import VQGanVAE, MaskGit, Transformer
first instantiate your vae
vae = VQGanVAE(
dim = 256,
vq_codebook_size = 512
).cuda()
vae.load('/path/to/vae.pt') # you will want to load the exponentially moving averaged VAE
then you plug the vae and transformer into your MaskGit as so
(1) create your transformer / attention network
transformer = Transformer(
num_tokens = 512,         # must be same as codebook size above
seq_len = 256,            # must be equivalent to fmap_size ** 2 in vae
dim = 512,                # model dimension
depth = 8,                # depth
dim_head = 64,            # attention head dimension
heads = 8,                # attention heads,
ff_mult = 4,              # feedforward expansion factor
t5_name = 't5-small',     # name of your T5
)
(2) pass your trained VAE and the base transformer to MaskGit
base_maskgit = MaskGit(
vae = vae,                 # vqgan vae
transformer = transformer, # transformer
image_size = 256,          # image size
cond_drop_prob = 0.25,     # conditional dropout, for classifier free guidance
).cuda()
ready your training text and images
texts = [
'a child screaming at finding a worm within a half-eaten apple',
'lizard running across the desert on two feet',
'waking up to a psychedelic landscape',
'seashells sparkling in the shallow waters'
]
images = torch.randn(4, 3, 256, 256).cuda()
feed it into your maskgit instance, with return_loss set to True
loss = base_maskgit(
images,
texts = texts
)
loss.backward()

@ethancohen123 oh i see, somehow tokenizer is not being loaded
could you try 0.0.12 in a fresh colab instance and see if that fixes it?

all good thanks :)


Add OS::open_midi_inputs and OS::close_midi_inputs

I've added this two functions because Linux ALSA MIDI and some Windows MIDI drivers (that I recently found out thanks to some feedback on IRC) don't support multi-client connections.
Before enabling MIDI inputs the user must explicitly call for OS.open_midi_inputs, and the user can close it with OS.close_midi_inputs (OSes finalize function will close if not called anyways).
I've also added get_connected_inputs support on CoreMIDI which I missed in my first PR.

Why not enabling when the user calls something in the API?

Why not enabling when the user calls something in the API?

There is not much API for this (MIDI events go through _input(event)). The only function that the user can call besides these two I'm adding in this PR is: OS.get_connected_midi_inputs, I could open the inputs when that function is called but the user won't be able to close the midi inputs at will that way, and opening the midi inputs at that function doesn't seems right.


Weird and unnecessary hyphenation in tables

Description
I was trying to make a table where one of the headers was the word "Formal". However when I compiled, it added a hyphen and line break. Like this:

For-mal

Even though there was enough space to make the table bigger. I played around with it and even if the table is just one cell this still happens. I should note however that this only occurs with the set rule:
#set par(justify: true)

I'm guessing that it has to do with the width of the word, I haven't tested that many, most work just fine, but "Exrmal" also breaks.
Here is my minimal example:
#set par(justify: true)

#table(columns: 1, [Formal])

Reproduction URL
No response
Operating system
macOS
Typst version

[X] I am using the latest version of Typst

Seems that the width calculation have slight floating point calculation error which would cause huge cost.
In my test, the region width is 31.591999999999995pt and the width needed is 31.592pt.

Cause in grow in typst-layout/src/pad.rs, (s + p.abs) / (1.0 - p.rel.get()) is (31.592pt + 10.0pt)/(1.0-0.0). It should be 41.592pt but the given result is 41.59199999999999pt.

Not sure how to solve this floating problem, so add a manual check instead.

Cause in grow in typst-layout/src/pad.rs, (s + p.abs) / (1.0 - p.rel.get()) is (31.592pt + 10.0pt)/(1.0-0.0). It should be 41.592pt but the given result is 41.59199999999999pt.

41.592 is not representable as a float. Not sure what you mean by "should be".

31.592+10 is 41.592. But due to floating error, it became a little less than 41.592.


harmonize gh-actions

Currently, there are two build-yamls, which only differ in their trigger:
main.yaml

on:
  push:
    branches: [ main ]

pullrequests.yaml

on:
  pull_request:
    branches: [ main ]

this should be harmonized somehow:

restore packages
build
test
upload coverage-report

Later, there should also be some steps/actions for pushing everything into NuGet, but that is probably a new gh-actions?!

Turned out that the needed builds for PRs and Release vary too much and that three is currently no need for a harmonized approach.
see #8


New version: SparseTimeSeries v0.1.8

Registering package: SparseTimeSeries
Repository: https://github.com/jonalm/SparseTimeSeries.jl
Created by: @jonalm
Version: v0.1.8
Commit: 5fa7d789cd30d234b14e48ef64c17f00794ebc70
Reviewed by: @jonalm
Reference: https://github.com/jonalm/SparseTimeSeries.jl/commit/5fa7d789cd30d234b14e48ef64c17f00794ebc70#commitcomment-38863812

[noblock] I tagged this the previous 0.1.7 commit before registration by mistake https://github.com/jonalm/SparseTimeSeries.jl/commit/5516cf9267954c1525235d9d9d271c18a9dea171. Couldn't figure out how to revert that, so I bumped again.


Thread safety using different Dialects?

This is more of a question than an issue, but hopefully you can confirm for me.
In past projects I have used SimpleCrud and it worked fine for me since I was always working against a single DB type (usually SQL Server). But recently I started working on some code for a client with multiple different databases types (MySQL, Oracle etc) and they need to sync data between them (imagine you have an Employee table in MySQL and you need to sync it to a duplicate Employee table in SQL Server). When I looked at how SimpleCrud handled the dialect for constructing the SQL i realized I was in trouble because he has that logic all defined in static variables so calling SetDialect is going to change it across all instances and cause issues
At first glance, FastCrud appeared to suffer the same issue as it uses OrmConfiguration with a static DefaultDialect but after digging some more it looks like that's a default behavior if you're using just a single db type and you've worked around that by having your CRUD methods take an optional EntityMapping where you can define the dialect for each call. Am I understanding this correctly?
Just trying to think of the best way to code this? It seems like creating a new mapping from scratch with the dialect I want every time I invoke a CRUD method would be adding unnecessary overhead to every call. Would it make sense to have a service that runs once on Startup to populate all these mappings for all db types into a singleton that can be injected anywhere I need it?
Thanks very much for your time, I'm liking the look of this package a lot, I think I'll be migrating over to it :)

Thread safety should not be a problem in this case, but multi-db work is always gonna be challenging. All our operations do allow for an override of the entity registration (and that includes dialect as well) at the point of making the call, however we don't have a single test (automatic or manual) with a multi dialect scenario. So my suggestion is to try it out and see if it works for you. Bear in mind there is no reason to chose one library over another. You can even use both, as long as you get your work done.

Excellent, I think this will prove a good solution for me then, thank you.
One snag I hit in implementing this is that I use a lot of generics where the type is unknown until invoked at runtime. So imagine a repository pattern that looks like this (for brevity I'll just include a couple of the GET methods)
public interface IRepository<T> {
    T GetByPK(object pks) ;
    T Get(object whereClause) ;
}

And then to call them, you'd have something like this:
//single record
var result = repo.GetByPK(new {SomePK =123, AnotherPK=456});
//e.g. SELECT * FROM T WHERE SomePK=123 AND AnotherPK=456
//where 'T' is the runtime type which maps to the table in the db

//multiple records
var results = repo.Get(new {DeptId = 1, CategoryId=2, Name='FastCrud'});

The type T is getting passed all the way through so I never explicitly define what it actually is
Any ideas on how I might tap into your framework to make this possible for the cases where I don't know the type so I'm not able to do this:
 conn.Get(new ConcreteType(){ConcreteID=123});

In your case you'd have T GetByPk(T objWithPrimaryKeys) or T[] Find(FormattableString whereClause). The idea is to pass on the generic type from your IRepository to FastCrud's or Dapper's methods, which are also generic.
I personally don't recommend a common generic repository pattern. Simply because of the variation in the database entities and the way you may be using them later in the business layer. Their primary keys might be different, might be composite, sometimes you need just the entity itself, sometimes you need them in association with other entities through the navigation properties etc. etc. So what I'm trying to suggest here is having standalone repositories, all having a form matching the operations you're gonna need on the entity they're supposed to work with. For example a UserRepository might have clear methods such as GetUserById, GetUserByEmailAddress, UpdatePassword, GetUserWithRights etc.

I personally don't recommend a common generic repository pattern. Simply because of the variation in the database entities and the way you may be using them later in the business layer.

In general I agree, it is somewhat limited in it's use. But in my case it simply serves as a set of basic functions for my data layer, it then has hooks in that allow you to easily add on additional custom functionality just like you were saying. I've found a hybrid approach like this actually works really well.

in your case you'd have T GetByPk(T objWithPrimaryKeys) or T[] Find(FormattableString whereClause). The idea is to pass on the generic type from your IRepository to FastCrud's or Dapper's methods, which are also generic.

Yep, that is exactly how I am doing it for most of the methods, it was just some of these Gets that I have that I couldn't figure out how to mimic, sorry, I phrased my question poorly and got off into the weeds when I should have been looking at how your code works a little more ;)
But this:
var builder = OrmConfiguration.GetSqlBuilder<T>();
will allow me to do everything I need, that was the part I was missing, how to tap into the logic that does all the scaffolding for the generic type. I'm good to go now, thanks for your patience and time, I owe you a beer, cheers!

EDIT: One thing though, what I really need is access to ConstructFullSingleSelectStatement which is part of the internal class GenericStatementSqlBuilder. Since all SQLBuilders inherit from that abstract base shouldn't this method (and the others of the same type) be defined as part of that  ISqlBuilder interface so they can be invoked on whatever implementation builder at runtime? Thanks.

Not really. The ISqlBuilder interface was created with the intent to indeed expose some of the functionality of the internal sql builders. But in the last version we haven't even documented that interface in the wiki since we're debating whether we should deprecate it completely and perhaps instead expand the format specifiers, which the library promotes heavily. As we kept using them, they kinda grew on us over time. People seem to like them and came up with ideas to expand them.

The format specifiers are great when you know exactly what type you're working with, otherwise you can't really make use them (unless I'm missing something?) Maybe if there was some mechanism to take Dapper.DynamicParamters or even just a Dictionary<string, object> and convert those to the formatters that would give the flexibility I need.
I guess I'll fork off this version so I can tap into what I need, thanks again for all your help


test suite stuck with --enable-seccomp in t/lru-crawler.t

t/lru-crawler.t test seems to hang forever when configuring with --enable-seccomp.
The last test line is t/line-lengths.t ............ ok.
Waited for like 10 minutes. Without --enable-seccomp the tests seem to pass through.
==> Starting check()...
./sizes
Slab Stats	64
Thread stats	-6480
Global stats	168
Settings	248
Item (no cas)	48
Item (cas)	56
Libevent thread	184
Connection	512
----------------------------------------
libevent thread cumulative	6504
Thread stats cumulative		6320
./testapp
1..52
ok 1 - cache_create
ok 2 - cache_constructor
ok 3 - cache_constructor_fail
ok 4 - cache_destructor
ok 5 - cache_reuse
ok 6 - cache_redzone
ok 7 - issue_161
ok 8 - strtol
ok 9 - strtoll
ok 10 - strtoul
ok 11 - strtoull
ok 12 - issue_44
ok 13 - vperror
ok 14 - issue_101
Signal handled: Terminated.
ok 15 - start_server
ok 16 - issue_92
ok 17 - issue_102
ok 18 - binary_noop
ok 19 - binary_quit
ok 20 - binary_quitq
ok 21 - binary_set
ok 22 - binary_setq
ok 23 - binary_add
ok 24 - binary_addq
ok 25 - binary_replace
ok 26 - binary_replaceq
ok 27 - binary_delete
ok 28 - binary_deleteq
ok 29 - binary_get
ok 30 - binary_getq
ok 31 - binary_getk
ok 32 - binary_getkq
ok 33 - binary_gat
ok 34 - binary_gatq
ok 35 - binary_gatk
ok 36 - binary_gatkq
ok 37 - binary_incr
ok 38 - binary_incrq
ok 39 - binary_decr
ok 40 - binary_decrq
ok 41 - binary_version
ok 42 - binary_flush
ok 43 - binary_flushq
ok 44 - binary_append
ok 45 - binary_appendq
ok 46 - binary_prepend
ok 47 - binary_prependq
ok 48 - binary_stat
ok 49 - binary_illegal
ok 50 - binary_pipeline_hickup
Signal handled: Interrupt.
ok 51 - shutdown
ok 52 - stop_server
getaddrinfo(): Temporary failure in name resolution
failed to listen on TCP port 40674: Resource temporarily unavailable
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    524288 perslab       2
<26 server listening (auto-negotiate)
<27 new auto-negotiating client connection
<27 connection closed.
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    524288 perslab       2
<26 server listening (ascii)
<27 new ascii client connection.
<27 connection closed.
slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    524288 perslab       2
<26 server listening (binary)
<27 new binary client connection.
<27 connection closed.
Invalid value for binding protocol: http
 -- should be one of auto, binary, or ascii
Maximum connections must be greater than 0
Maximum connections must be greater than 0
Number of threads must be greater than 0
t/00-startup.t .............. ok
t/64bit.t ................... ok
t/binary-extstore.t ......... skipped: extstore not enabled
t/binary-get.t .............. ok
This server is not built with SASL support.
t/binary-sasl.t ............. ok
t/binary.t .................. ok
t/bogus-commands.t .......... ok
t/cas.t ..................... ok
t/chunked-extstore.t ........ skipped: extstore not enabled
t/chunked-items.t ........... ok
t/daemonize.t ............... ok
t/dash-M.t .................. ok
t/dyn-maxbytes.t ............ ok
t/evictions.t ............... ok
t/expirations.t ............. ok
t/extstore-buckets.t ........ skipped: extstore not enabled
t/extstore.t ................ skipped: extstore not enabled
t/flags.t ................... ok
t/flush-all.t ............... ok
t/getandtouch.t ............. ok
t/getset.t .................. ok
t/idle-timeout.t ............ ok
t/incrdecr.t ................ ok
t/inline_asciihdr.t ......... ok
t/issue_104.t ............... ok
t/issue_108.t ............... ok
t/issue_14.t ................ ok
t/issue_140.t ............... skipped: Fix for Issue 140 was only an illusion
t/issue_152.t ............... ok
t/issue_163.t ............... ok
t/issue_183.t ............... ok
t/issue_192.t ............... ok
t/issue_22.t ................ ok
t/issue_260.t ............... skipped: Only possible to test #260 under artificial conditions
t/issue_29.t ................ ok
t/issue_3.t ................. ok
t/issue_41.t ................ ok
t/issue_42.t ................ ok
t/issue_50.t ................ ok
t/issue_61.t ................ ok
t/issue_67.t ................ ok
t/issue_68.t ................ ok
t/issue_70.t ................ ok
Item max size cannot be less than 1024 bytes.
Cannot set item size limit higher than 1/2 of memory max.
t/item_size_max.t ........... ok
t/line-lengths.t ............ ok

@viraptor - guess we can track this here.
So seccomp broke with lru_crawler metadump, if you don't need the command, everything else seems to work. The latest release added a test which now fails, and hopefully the next one will have the underlying issue fixed.
Sorry for the trouble!

1.5.6 but just found out surprisingly that seccomp is not default enabled when available, only via option.
Theoretically I could ship one without seccomp enabled until a fix commit is available.

Correct, it's not default because it's still experimental, because it sometimes breaks things :) Also a lot of people do lockdowns via systemd which are also shipped with the tarball.
It's really hard to validate changes like seccomp and we just had a second iteration of updates in 1.5.6.

Yeah, noticed the service file and it's great specified options, nice to see that and seccomp too! Thanks for the pointer :)

Hi, I've been away on holidays, so no progress, but I know in general what the issue is (lru-crawler wasn't supposed to be covered with any policy yet). I should have some PRs up in the next days.

Since lru-crawler is a separate thread, it needs to get its own profile as well, but that can be done later.


[Flink-11314] Reuse RocksDBWriteBatchWrapper in the flush function of…

What is the purpose of the change
Reuse RocksDBWriteBatchWrapper in the clear method of RocksDBMapState
Brief change log
(for example:)

Use the Wrapper class RocksDBWriteBatchWrapper to replace the class WriteBatch

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)

Thanks for the contribution, LGTM 👍  Merging.

Manually merged in 1b71e447e0.


C# P/Invoke update

Using InteropServices to pin the pointers to the managed C# arrays and pass them to cbsdk_native to fetch data in a single copy, implemented for both Int16 and double samples.
Spoke with @cboulay and removed CLI files to only keep P/invoke version and updated the UnityExample file.

He had it running on a computer in the lab so I'm going to assume it's working :)
Only tested in Windows so far. It was quite difficult to get the managed<-->unmanaged memory bridge working correctly so I think we would default to commenting out the data-transfer portions rather if it turns out not to work on another platform (e.g. Unity on Android).


Add delayed on-off manager

Add module which allows scheduled request to enable a resource. Module is an extension to an on-off manager.
Compared to an on-off manager request API is extended by k_timeout_t parameter:
int onoff_delayed_request(struct onoff_delayed_manager *mgr,  struct onoff_delayed_client *cli, k_timeout_t delay)

Delayed client is based on on-off client extended by k_timeout_t field.
Delayed on-off manager gets startup offset during init and triggers scheduled start earlier than requested to ensure that service is in on state at specified time.

There was a potential race condition when taking client from future_clients list and calling onoff_request. In order to safe switch from pending to active request I had to merge onoff_delayed into onoff manager.

Why can't delayed changes to an on-off service state be initiated by either a k_timer or a delayed work item?

Why can't delayed changes to an on-off service state be initiated by either a k_timer or a delayed work item?

There are few things:

only one _timeout instance used per manager so less ram used compared to timer, work item per client.
client is not aware of startup time so does not know when to schedule to have service at requested time
less code on client side, clean API similar to immediate requests

@pabigot I've addressed your comments. Additionally, I've added stop time which previously was not covered. Stop time covers for asynchronous stop operation but also covers for case when restarting service is costly. It is implemented in the following way: service state is monitored, when switching to on state, first pending scheduled request is scheduled stop_time earlier. When service is turning into off state, first pending request is scheduled back to its original time.
Regarding the need for this module: stop time makes it impossible to do the same outside of on-off manager. Whether it should be core onoff manager functionality, i don't know. I adds RAM.

@andyross and @andrewboie this is using internal timeout APIs for good reason, but in order to make progress we need your input. If we are to avoid using those, we need an alternative approach that can be used in PRs like this one.

As I understand it the requirement is to try to ensure that at absolute time T the service will be in state S (ON or OFF).  Let's call that a "scheduled state".
The service is aware of two durations: D_on is the time required to go from OFF to ON, and D_off is the time required to go from ON to OFF.
To meet the user requirement a transition may need to be initiated in advance of the target time T.  For example, an on-to-off transition must be initiated at T-D_on if coming from an OFF state.
I see two problems with this implementation.  First, the on-off service itself is only aware of active clients: ones that have initiated a request or a release.  Second, the transition deadline is adjusted when the schedule request is made.  The combination of these increase the likelihood that a deadline will not be met unless it's guaranteed that only one client will be active at any time.
Consider a service where D_on is 1 s and D_off is 5 s, and a client that wants the device to be on at absolute time T at 10 s after boot.
As implemented I believe this would record the need to initiate a transition to on at absolute time 9 s.
As long as the service is in state OFF at 9 s this will work as intended.
If something else is using the service, particularly with the K_NO_WAIT feature to bypass scheduling entirely, the deadline might fail badly.  For example if a client directly requests the service at 7 s, it will turn on at 8 s.  The client does what it needs, and at 8.5 s initiates a transition to off.  At 9 s the delayed infrastructure submits a request to turn on.
(Alternatively, if the direct client doesn't initiate a transition to off until 9.5 s, the scheduled client will have received notification that the service is on at 9 s, earlier than the deadline.  Meaning the client must detect that it's too soon, and can't rely on the notification as a signal that the action that requires the service can be initiated on notification.)
What the infrastructure should do to handle this correctly is record the pending request that the service be on at 10 s, and at 8.5 s when the OFF request is initiated detect that it's supposed to be on at 10 s, and so not initiate a transition to OFF because doing so would prevent meeting the deadline.  It should instead update the alarm to fire on behalf of the scheduled request at 10 s, and initiate the transition to ON then.  The transition will be trivial and synchronous, and the client will receive notification of the available service at 10 s as expected.
Doing this would require distinguishing active from pending clients in the on-off service, allowing pending clients to inhibit transitions that would cause them to miss their deadline.  Any change to either active or pending clients would require re-evaluating whether a change to a scheduled transition is needed in addition to the current assessment of whether an immediate transition is needed.
Getting the service state machine right for active clients alone was complex; extending it to support pending clients is more complex.
Since the role of this implementation is to be "best effort" I think it would be much simpler, and no less capable, to add API to the base on-off service like:
k_timeout_t onoff_delay_to_state(struct onoff_manager *mgr,
                                 bool on, k_timeout_t delay);

with the behavior that it returns a timeout that if used with k_timer to initiate a transition to the desired state will complete by the provided delay as long as the service is in the opposite state at the time the timeout is reached.  (The timeout should be K_NO_WAIT or an absolute timeout determined from delay and the time at which the service does the calculation.)
The implementation function should be provided by the transition structure, with the wrapper function simply returning delay unchanged in the case where the service doesn't provide a delay_to_state function.
I should point out (@ceolin) that the logic described above about taking into account future resource requirements is exactly something that the power management infrastructure is going to need when determine whether it's acceptable to change to another power state.  So if that is implemented in a generic way it may supersede not only this effort but the on-off service as a whole.

@pabigot sorry, missed your response.

If something else is using the service, particularly with the K_NO_WAIT feature to bypass scheduling entirely, the deadline might fail badly. For example if a client directly requests the service at 7 s, it will turn on at 8 s. The client does what it needs, and at 8.5 s initiates a transition to off. At 9 s the delayed infrastructure submits a request to turn on.

My approach to that problem was following: added onoff monitor. In the monitor if state changes to on first pending request is rescheduled to happen D_off earlier than requested. If state changes to off pending request is rescheduled to its original time. In your example request is rescheduled to (4s) when service is started. At 4s it will request the service (which is still active) and notify the user. On timeout list is checked for another pending request and based on current state target time is set or target - D_off.
The only issue is that user notification for requested time may happen earlier than requested but that should be ok as user request for no later than. I can add explicit note in onoff_delayed_request.
Regarding use of struct _timeout: it can be easily replaced with single k_timer. I used _timeout because i'm targeting device with limited RAM and _struct timeout was meeting my timer requirements.


Runtime Packages for FreeRDP client library

Hi,
I am working on a web-RDP project that uses freerdp's client components. Once my plugin is built, I am packaging the necessary components - application server, RDP plugin and any necessary dependencies - in a Docker running on top of Ubuntu.
To minimize the size of the Docker package, I chose to only install libfreerdp-client1.1 and its associated dependencies (apt takes care of that). However, I notice that it seems to install a lot of build-time dependencies too. Is there a different package to use for freerdp client's runtime libraries? I would rather not use static linking since that would mean re-compiling the freerdp code.
Thanks for your help.
~ Vivek

Turns out libfreerdp-client was the right package. Thanks!


BUG: CSR/CSC Division Yields COO

Describe your issue.
I would expect dividing a CSR or CSC matrix by an ndarray of the same size would yield a CSR/CSC matrix since the operation should just scale data but instead we get COO.  I see there's an in place row scale that should be similar except it doesn't need to broadcast.  But the problem then becomes one of just indexing the divisor, and then calling this?
Reproducing Code Example
from scipy import sparse as sp
import numpy as np

dividend = sp.random(1_000, 10_000, density=0.01, random_state=0, format="csr")
divisor = np.ones((1_000, 10_000))

dividend / divisor # coo
sp.csr_array(dividend) / divisor # coo again

Error message
N/A

SciPy/NumPy/Python version and system information
1.12.0 1.26.3 sys.version_info(major=3, minor=11, micro=6, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /opt/arm64-builds/include
    lib directory: /opt/arm64-builds/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= SANDYBRIDGE MAX_THREADS=3
    pc file directory: /opt/arm64-builds/lib/pkgconfig
    version: 0.3.21.dev
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /opt/arm64-builds/include
    lib directory: /opt/arm64-builds/lib
    name: openblas
    openblas configuration: USE_64BITINT= DYNAMIC_ARCH=1 DYNAMIC_OLDER= NO_CBLAS=
      NO_LAPACK= NO_LAPACKE= NO_AFFINITY=1 USE_OPENMP= SANDYBRIDGE MAX_THREADS=3
    pc file directory: /opt/arm64-builds/lib/pkgconfig
    version: 0.3.21.dev
  pybind11:
    detection method: config-tool
    include directory: unknown
    name: pybind11
    version: 2.11.1
Compilers:
  c:
    commands: cc
    linker: ld64
    name: clang
    version: 14.0.0
  c++:
    commands: c++
    linker: ld64
    name: clang
    version: 14.0.0
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 3.0.8
  fortran:
    commands: gfortran
    linker: ld64
    name: gcc
    version: 12.1.0
  pythran:
    include directory: ../../pip-build-env-ewarq4oq/overlay/lib/python3.11/site-packages/pythran
    version: 0.15.0
Machine Information:
  build:
    cpu: aarch64
    endian: little
    family: aarch64
    system: darwin
  cross-compiled: false
  host:
    cpu: aarch64
    endian: little
    family: aarch64
    system: darwin
Python Information:
  path: /private/var/folders/76/zy5ktkns50v6gt5g8r0sf6sc0000gn/T/cibw-run-73jfxkej/cp311-macosx_arm64/build/venv/bin/python
  version: '3.11'

cc: @ivirshup

For example, could we do:
dividend.data / divisor[dividend.nonzero()]

To get the new data?

I would add:
*CSR / scalar -> CSR, but CSR / vector -> COO

the  behaviour occurs for broadcast multiply, so I assume is using a common code path.

from scipy import sparse
import numpy as np

csr = sparse.random_array((100, 100), format="csr", density=0.01)
type(csr / 2)
# scipy.sparse._csr.csr_array
type(csr / np.full(100, 2))
# scipy.sparse._coo.coo_array

type(csr * 2)
# scipy.sparse._csr.csr_array
type(csr * np.full(100, 2))
# scipy.sparse._coo.coo_array

I wouldn't necessarily call this a correctness bug, because we don't generally guarantee that sparse formats will be preserved, but I can see a case for it being a performance bug in some situations.
Note: using csr.nonzero() to index into the dense argument would be slower, because it's implemented using tocoo() under the hood.

I would also say more performance bug, and probably unexpected behaviours

because we don't generally guarantee that sparse formats will be preserved

Based on that, would changing this be an acceptable change in behavior?
For reference, here is how scikit-learn implements the similar inplace_row_scale functions:

inplace_csr_column_scale isX.data *= scale.take(X.indices, mode="clip")
inplace_csr_row_scale is X.data *= np.repeat(scale, np.diff(X.indptr))

So pure python, though with allocations we could skip in compiled code. But can look like:
from scipy import sparse
import numpy as np
from sklearn.utils import sparsefuncs
from operator import mul, truediv

def broadcast_csr_by_vec(X, vec, op, axis):
    if axis == 0:
        new_data = op(X.data, np.repeat(vec, np.diff(X.indptr)))
    elif axis == 1:
        new_data = op(X.data, vec.take(X.indices, mode="clip"))
    return X._with_data(new_data)

With some promise for performance:
In [29]: broadcast_csr_by_vec(X, y, mul, axis=0) != (X * y[:, None])
Out[29]:
<10000x1000 sparse array of type '<class 'numpy.bool_'>'
	with 0 stored elements in Compressed Sparse Row format>

In [30]: %timeit broadcast_csr_by_vec(X, y, mul, axis=0)
4.89 ms ± 453 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [31]: %timeit (X * y[:, None])
18.9 ms ± 974 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)

Added bonus of the approach above: since we're not "faking" division the results are actually equivalent to numpy (which they currently aren't):
dense_op = X.toarray() / y[:, None]
sparse_op = (X / y[:, None]).toarray()
new_op = broadcast_csr_by_vec(X, y, truediv, axis=0).toarray()

np.testing.assert_array_equal(dense_op, new_op)
assert not np.array_equal(dense_op, sparse_op)

I think a PR to fix this may be a little bigger than expected due to the number of cases that currently return COO, though don't have to. For example, currently $CSR_{m,n} * Dense_{m, n} \rightarrow COO_{m,n}$. This could (with fewer allocations) result in CSR


Clarify scaling threshold of Premium plan or show pricing example to calculate fees accurately with pricing calculator

This document mentions that Premium plan is more predictable pricing compared with the Consumption plan, but I think it's little bit difficult to calculate Premium plan fee with pricing calculator.
https://azure.microsoft.com/en-us/pricing/calculator/
In this calculator, we have to enter additional scaled out units count as average number of instances per month.
So we need to calculate how many units will be automatically scaled by the premium plan when we run the function we created. However, there didn't seem to be any information that would be helpful  in calculating this.
I think it would be difficult to specify the scaling criteria as it depends on the situation, but an example would be helpful.
Thanks,
Atsushi

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

ID: 3847e16b-92ae-0202-c7e1-ca9a8474e65f
Version Independent ID: a25b6b5b-05ab-b3b2-616c-5d06eadb928d
Content: Azure Functions Premium plan
Content Source: articles/azure-functions/functions-premium-plan.md
Service: azure-functions
GitHub Login: @cachai2
Microsoft Alias: cachai

@aomachi , I am closing this issue and I will be providing the feedback internally. Feel free to reopen this issue when needed.


Benchmark suggestions

Regarding benchmarks here are some suggestions:

Reporting the CPU used and its clock frequency
Report the number of cycles required per op. This can be done with RDTSC instruction, I expect Go to offer an equivalent. Note that it's imprecise if the CPU is overclocked, uses turboboost or dynamic frequency scaling (the last 2 can be workaround by warming up the CPU before actual bench).
Benchmark vs Herumi's mcl. It is currently the fastest public pairing library (ate-pairing is slightly faster but developed anymore, in particular it doesn't support BLS curves) and several projects switched to it for signatures and zero-knowledge. On my CPU (i9-9980XE overclocked at 4.1GHz) it takes ~32 ns vs ~45 ns for Goff (clocks are wildly inaccurate for overclocked CPUs) on BLS12_381.
Benchmark vs Miracl/core or Apache Milagro, those are pairing libraries written by cryptographers and quite popular in Ethereum 2. You can retrieve generated C sources for BLS here: https://github.com/status-im/nim-blscurve/tree/9a143350/blscurve/csources/64
Benchmark vs Fiat-Crypto, Fiat-Crypto is a formally verified elliptic curve and field arithmetic code generator in Coq. From a Coq description, C, Rust or Go code can be generated that has been formally verified.
Benchmark vs HACL-Star, similarly, HACL-Star is a formally verified cryptographic primitives code generator written in F*

Thanks for your comments;

The write up do mention the CPU and its clock frequency before the benchmark section:

All benchmarks hereafter are run on a 2016 MBP with a Intel Core i7 (2.9 GHz).
These results may be impacted by
available instruction set
CPU cache configuration
artifacts (thermal trottling, turbo boost, …)
compiler optimizations

We did experiment with that, although it doesn't appear very reliable in Go. We used this package and results were too inconsistent. Using the Go time package was more accurate across platforms -- we didn't dig too much here, if you (or anybody reading this thread :-)) happen to know solid ways to use RDTSC in Go, we are extremely interested. Disabling garbage collection (debug.SetGCPercent(-1)) didn't help.

Do you mind sharing a quick gist on the code you used for mcl? I did play with rawbench.cpp and added #define CYBOZU_BENCH_USE_GETTIMEOFDAY (may not be an accurate way to measure), and on my CPU (core i7 2.9Ghz), the fastest results for mcl are for 4 words moduli llvm_mont (~25.10ns) and for 6 words moduli (bls381) xbyak (~52.60ns). Which is very comparable to goff MulAssign bench. Could also be that available instruction sets (like ADCX / parallel carry chains) differs, and mcl leverages that better than the Go compiler intrinsic does. [Go parenthesis: Go projects that need fast field arithmetics, unless I'm mistaken would need to use mcl through cgo,  which comes with a significant cost]

4., 5., 6. - Wasn't aware of 5 and 6, thanks for the pointers! . Properly and fairly benchmarking these various libraries on multiple environments would be great indeed, but likely not on our short-term roadmap. May create a github issue and reference yours though.

Didn't see the MBP + core i7 note, thanks.
Fiat-crypto should be fairly easy, it generates self-contained curve files like goff, see: https://github.com/mit-plv/fiat-crypto/tree/master/fiat-go/src
For mcl this is what I do:
git clone git://github.com/herumi/mcl
cd mcl
make -j${ncpu} MCL_USE_GMP=0 bin/bls12_test.exe
bin/bls12_test.exe

(The .exe is valid also on Linux)
For convenience you might want to:

always display time instead of clock cycles: edit here - https://github.com/herumi/mcl/blob/9b43a872/include/cybozu/benchmark.hpp#L18-L29
comment out benches on Fp2+ and elliptic curve and pairing

comment out here: https://github.com/herumi/mcl/blob/9b43a872/test/bench.hpp#L60-L92
and: https://github.com/herumi/mcl/blob/9b43a872/test/bls12_test.cpp#L327-L336 (only keeping testBench()
and: https://github.com/herumi/mcl/blob/9b43a872c647144bb9a64ac0b0c860183b7df41b/test/bls12_test.cpp#L346-L383
and everything else that you do not want (miller loop, final exp, pairing take some time)

The relic team has a fiat-crypto code for BLS12_381: https://github.com/relic-toolkit/relic/blob/5cdabd57/src/low/x64-fiat-381/bls12_381_q_64.c
Benched it on my computer, it's about 79 ns for Mul with Clang while Goff is 45 ns (https://github.com/mit-plv/fiat-crypto/issues/691)


4.3 beta2 and beta3 don't start on MacOS Mojave (10.14.6)

Tested versions

Reproducible in: 4.3 beta2, 4.3 beta3

System information
MacOS Mojave 10.14.6 - Godot 4.3 beta2+
Issue description
I am not sure about minimal MacOS version requirements for Godot, but 4.3 beta1 works perfectly on my desktop. I've tried on Macbook and Macmini, both running MacOS Mojave.
Regarding requirements, docs say:

Native editor: macOS 10.13 (Compatibility) or macOS 10.15 (Forward+/Mobile)

But I am unable to even start the project launcher.
Steps to reproduce
❯ ~/Downloads/Godot.app/Contents/MacOS/Godot --display-driver opengl3
dyld: Symbol not found: _OBJC_CLASS_$_CAEDRMetadata
  Referenced from: /Users/pavel/Downloads/Godot.app/Contents/MacOS/Godot
  Expected in: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
 in /Users/pavel/Downloads/Godot.app/Contents/MacOS/Godot
zsh: abort      ~/Downloads/Godot.app/Contents/MacOS/Godot --display-driver opengl3

Minimal reproduction project (MRP)
Any project

--display-driver opengl3

It's --rendering-driver opengl3, so you might be running with Vulkan renderer.
CAEDRMetadata is referenced by MoltenVK, probably caused by MoltenVK update or tool chain update.

I’ve tried with ‘--rendering-driver’, doesn’t work either. Even simple ‘--help’ doesn’t work (assuming it doesn’t involve any rendering at all).

On 11 Jul 2024, at 10:46, bruvzg @.***> wrote:

--display-driver opengl3
It's --rendering-driver opengl3, so you might be running with Vulkan renderer.
CAEDRMetadata is referenced by MoltenVK, probably caused by MoltenVK update or tool chain update.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.


deploy command

For the 1 rule 1 stack refactor, we're moving from one repository containing multiple rules and creating a single stack for all rules to one repository with multiple rules each which gets its own stack.
For the initial command, wrap cfn-config with sane defaults to create a stack for a single rule, so
~/patrol-rules-aws/rule$ lambda-cfn deploy <environment>  would run cfn-config with sane defaults, like:
cfn-config create rule-<production> function.template.js -n patrol-rules-aws -r us-east-1 -c cfn-config-${AWS_ACCOUNT_ID}-us-east-1 -k kmsKey

Completed in https://github.com/mapbox/lambda-cfn/pull/51.


Subscriber class c.b.a.d.c.b.r and its super classes have no public methods with the @Subscribe annotation

When i used to start with onresume,
@Override
public void onResume() {
super.onResume();
EventBus.getDefault().register(this);
}
it shot the error like,
h.a.a.e: Subscriber class c.b.a.d.c.b.r and its super classes have no public methods with the @Subscribe annotation
at h.a.a.p.a(:67)
at h.a.a.c.c(:140)
at c.b.a.d.c.b.r.onResume(:374)
at androidx.fragment.app.Fragment.performResume(:2713)
at androidx.fragment.app.l.a(:1388)
at androidx.fragment.app.l.j(:1642)
at androidx.fragment.app.l.i(:1736)
at androidx.fragment.app.l.a(:1800)
at androidx.fragment.app.a.e(:446)
at androidx.fragment.app.l.a(:2584)
at androidx.fragment.app.l.b(:2372)
at androidx.fragment.app.l.c(:2327)
at androidx.fragment.app.l.c(:2230)
at androidx.fragment.app.l$c.run(:414)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

that's why :
if (ignoreGeneratedIndex) {
subscriberMethods = findUsingReflection(subscriberClass);
} else {
subscriberMethods = findUsingInfo(subscriberClass);
}
if (subscriberMethods.isEmpty()) {
throw new EventBusException("Subscriber " + subscriberClass
+ " and its super classes have no public methods with the @Subscribe annotation");
}
if you register to  Eventbus  and couldnt find any of its annotated @subscibe methods ,
it will terminate with the message mentioned above .
solution :
1- use  method with @subscriber annotion for your events .
2- dont forget to unregister .

R8 issue #625

Same problem relative to R8 here

#638

add this on build  buildTypes {
debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

Closing as no response and likely duplicate of #586.
Side-note: we are using EventBus in an Android project with latest Android tooling, including R8 without issues. Since the latest release also embeds R8 rules this hopefully should no longer be an issue.
https://github.com/greenrobot/EventBus/blob/master/eventbus-android/consumer-rules.pro


tf.keras implementation

Hello,
Is there possibly a tf.keras implementation of the ordinal layer, or any interest in implementing one? I am hoping to use the CORAL algorithm in an item response theory-based multitask model for hate speech measurement (https://hatespeech.berkeley.edu), but all of our code is in Keras currently. I don't know that we have the low-level technical capacity to make the conversion ourselves unfortunately.
Thanks,
Chris

That's a nice project, and I would be happy to assist with getting CORAL to work for this.
It has been a long time since I used Keras for more serious projects, and I am not experienced with customizing it. However, I just wrote a quick recipe here that outlines the different aspects of a "regular" deep neural network classifier that need to be changed: https://github.com/Raschka-research-group/coral-cnn/blob/master/coral-implementation-recipe.ipynb
Maybe this is sufficient for you to take it from here and implement CORAL. Otherwise, @vmirly and I could potentially look into converting one of our CORAL PyTorch models from this repository using tf.keras this some time this summer. I think it would be useful to have an example in this repo as others may find it helpful as well.

Thank you @rasbt for such a fast a thorough response, this is incredibly helpful. The notebook really improves my understanding of the PyTorch implementation, so I think there is some possibility that I can figure out enough tf.keras details to get a port working in the short term. I can update this issue with any solutions that seem to work, or additional questions.
And a backup option of an official implementation sometime later in the summer sounds great, since I might end up running out of time/capacity on my end.
Much appreciated,
Chris

Ok, without fully internalizing how the math works I believe that I was able to successfully convert steps 1 and 2 to tf.keras so far:
https://drive.google.com/file/d/1-jkKxUOrXBya_dDkWQN6qgI-R5B3Q2AQ/view?usp=sharing
I will see if I can get 3 and 4 to work in an actual model - to be determined.

I think I have part 3 ported correctly to create a custom CORAL output layer:
https://colab.research.google.com/drive/1-jkKxUOrXBya_dDkWQN6qgI-R5B3Q2AQ#scrollTo=KNEsk3_0eWc7
Would it be possible to create a simple test case for parts 3/4 in pytorch that I can try to port over and confirm that I get the right answer?

Nice, let me take a look!

So, I just extended parts of the Jupyter Notebook at https://github.com/Raschka-research-group/coral-cnn/blob/master/coral-implementation-recipe.ipynb

I added a "Test with pre-defined weights" to Section 3. It's just running the layer to ensure it creates the expected outputs.

The above example is continued in section 4 to get the class labels

I added a section "5) Example Run and Code Checks" that runs a very simple CNN on MNIST. I think getting your implementation to run on MNIST as well (and looking at the sanity checks) would be a good starting point before using it in a more complex context.

Let me know if you have any questions!

Ok, it seems like parts 3 and 4 are working correctly, phew. https://colab.research.google.com/drive/1-jkKxUOrXBya_dDkWQN6qgI-R5B3Q2AQ#scrollTo=IdyKXnR30yrQ
On parts 3 and 4 when the bias terms are modified, shouldn't there only be 4 bias weights for the test data, since we have 5 classes? Apologies if I'm just not following correctly, this is stretching my brain.

shouldn't there only be 4 bias weights

Oh, sorry about that, my bad. Hope it didn't cause too much head scratching! I was adding this section after adding the MNIST example at the bottom and must have been thinking of the 10 classes in MNIST (hence the 9 bias units 0...8). It's a weird coincidence that this didn't cause a dimension mismatch issue. I just fixed it.

Thanks, that's what I figured.
Part 5 is ported but not yet giving the correct results - there must be some bugs still to uncover. Pretty close I think though. https://colab.research.google.com/drive/1-jkKxUOrXBya_dDkWQN6qgI-R5B3Q2AQ#scrollTo=iQUU0hEhGNxN

Hm, was just running your notebook to see if there's something I could help with. What's concerning me is that the loss become negative. This shouldn't be possible (should convert to 0) -- it's weird. E.g., if I choose values that are "extremely good" I can see that it works:

But then, I am really confused why it becomes negative when it is plugged into the network.

Thanks for giving it a try! Yeah, I think something is wrong with the model architecture and/or training loop. There are unfortunately a lot of areas where I may have made mistakes in translating the pytorch to tf.keras. This is my first time using a subclassed tf.keras model, doing a custom training loop, or using a tf dataset, so some of the options or integration must be off.

Ok, it seemed to have been an issue in converting the labels to levels during the training loop. Resolving by converting a tensor to a numpy array as a quick fix. Appears to be working now!

Nice!
Regarding the parts

    self.pool_2 = tf.keras.layers.MaxPooling2D(pool_size = (2, 2),

                                     strides = (2, 2),
                                     # Not sure if this is right.
                                     padding = "valid")

So, this is just an arbitrary CNN. You can replace the CNN by any architecture you want (we used ResNet-34 in the paper) given that you keep the modifications of the last layer (the CORAl layer)

Thanks, yep I follow that. I'll be initially using the approach for NLP so it will be integrated into a transformer-based architecture (RoBERTa currently). It will be doubly multitask in that we have 10 ordinal outcome variables to predict (survey items).
Regarding rank prediction, I was wondering why the predicted rank takes the sum of the binary indicators rather than choosing the rank with maximum predicted probability. Is there any intuition for why the former is preferred?

I was wondering why the predicted rank takes the sum of the binary indicators rather than choosing the rank with maximum predicted probability. Is there any intuition for why the former is preferred?

That's a good Q! Initially, we did that because it was done in the same manner in both the Niu et al and Li & Lin paper, which also used a binary-task approach. Wenzhi Cao with whom I worked on this paper also suggested looking at the max. pred probability approach. It was a quick modification, and I evaluated all the models, but I remember that the MAE was approx. the same so we kept using the sum.

Gotcha, thanks for the background. It does seem that they would often give the same prediction, and the sum version might be a bit more robust with a large number of ranks.
I converted the Keras code into a quick python package (https://github.com/ck37/coral-ordinal) and condensed Colab notebook (https://colab.research.google.com/drive/1AQl4XeqRRhd7l30bmgLVObKt5RFPHttn#scrollTo=s2HQ89oVs5TS) so I think we're in good shape! Now to apply it to my own data and try to wrap up this preprint.

Awesome, glad to hear! There was a small re-org I am wanting to do in the repo in the next couple of days, and I will be linking your Keras code then, because I think it will be very helpful to others as well! Good luck with the rest of your project.

Sounds great to me, and thanks again for such rapid assistance on this. I already received my first user bug report email this morning so there may indeed be some interest in the Keras port.

Thanks for putting this together! I hope it will be useful to you and others! Added a link to the README file.


I can't change xp costs

legendary books cost a bit much for my players so, when I go in the config and change the cost from 60 to 50 and /ce reload it doesn't change anything... I even restarted my server & all. please help
thanks in advance

Strange can you pastebin ur config.

sure thing - https://pastebin.com/mVuATPMv @kicjow

You have it set to 30 on line 458. Is that right?

correct @kicjow

Wait if you mean it doesn't change the price if your talking about the lore thats because you need to set that ur self.
http://prntscr.com/evnaz7

ohh i get it now, sorry im new to all of this lol but thank you for the help much appreciated ! @kicjow

Np


Ignoring shulker boxes in whitelist

It seems that it ignores shulkerboxes that are whitelisted and clears them anyway whether they have items inside or not. The other items in the list are fine.
Whitelist=[
“pixelmon:exp_all”,
“pixelmon:orb”,
“pixelmon:uno_orb”,
“pixelmon:dos_orb”,
“pixelmon:tres_orb”,
“pixelmon:red_chain”,
“pixelmon:master_ball”,
“pixelmon:park_ball”,
“pixelmon:rare_candy”,
“minecraft:emerald”,
“pixelmon:crystal”,
“pixelmon:stone_badge”,
“pixelmon:balance_badge”,
“pixelmon:dynamo_badge”,
“pixelmon:heat_badge”,
“pixelmon:wave_badge”,
“pixelmon:jet_badge”,
“pixelmon:psychic_badge”,
“minecraft:white_shulker_box”,
“minecraft:orange_shulker_box”,
“minecraft:magenta_shulker_box”,
“minecraft:light_blue_shulker_box”,
“minecraft:yellow_shulker_box”,
“minecraft:lime_shulker_box”,
“minecraft:pink_shulker_box”,
“minecraft:gray_shulker_box”,
“minecraft:silver_shulker_box”,
“minecraft:cyan_shulker_box”,
“minecraft:purple_shulker_box”,
“minecraft:blue_shulker_box”,
“minecraft:brown_shulker_box”,
“minecraft:green_shulker_box”,
“minecraft:red_shulker_box”,
“minecraft:black_shulker_box”
]

Okay but why are you not whitelisting "minecraft:shulker_box"

Because that's not their item ID? You can check it by doing ctrl+h and overing over the item


Added AWS Command Line Interface version 2.9.21.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

[Policy] Approve


[Result] Add proceed and map with helper functions

[x] ResultInterface::proceed() : Makes it possible to unwrap a result in a type-safe way.
[x] ResultInterface::map() : Makes it possible to map a result into another result.
[x] rethrow() : Shortcut function for rethrowing the exception inside the proceed method.
[x] passthrough() : Shortcut function for returning the value inside the result inside the proceed method.

Pull Request Test Coverage Report for Build 542

9 of 9 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 541:
0.0%

Covered Lines:
1678

Relevant Lines:
1678

💛  - Coveralls

rebase needed ( migrated to github actions )


Change 'Recently added signs' for ASL

Make the list that is displayed with the menu item show all signs that are added in the last 7 days
Add a menu item that shows a similar list, showing all signs that have the tag 'Proposed new sign' or for which the field Proposed new sign (panel Publication Status) is TRUE.
[OC, note to self: check how coloring is used now, and whether that needs to be adapted]

First part is done. The list now can show Glosses (and Morphemes) added in the last X days (or hours, minutes, years, etc.). To confige Signbank to do so add something like the following to the server_specific settings:
import datetime
RECENTLY_ADDED_SIGNS_PERIOD = datetime.timedelta(days=7)

@ocrasborn the second part of your request is very similar to the situation before my changes, i.e. the Proposed new sign field was checked. So the new menu item should be doing what the old was almost doing, but only for ASL?

Almost: the old page only displayed a selection based on the binary field "Proposed new sign"; the request is to also show signs that have the tag "Sign: proposedIDgloss needs approval".

Second part also done. It is found via the following url: /signs/proposed_new/ To add this to the menu, you need to add a Page in the Django admin pointing to this url. Menu text could be "Proposed new signs" (Dutch: "Voorgesteld nieuwe gebaren", Chinese: i don't know).
((Leaning a lot about combining queries and queryset in Django :) ))

@vanlummelhuizen Is the pages app needed to handle the menu links for things like this? It seems that this link should be added in the menu anyway, perhaps adding them directly into the template file would be useful? That is what I have started doing for these 'non-content pages'.

@henrinie I don't know. I just mimicked what was already there. @Woseseltops any thoughts about this?

How we do it right now:

Create a page in the pages application, so it appears in the menu
Redirect the page to a custom view in urls.py

This is not a really pretty solution; have an alternative @henrinie ?

@Woseseltops We are just listing the links directly in the template. We show links for flatpages/contentpages (same as your pages in Pages app) in the menu before other links.
https://github.com/Signbank/FinSL-signbank/blob/master/templates/menu.html#L21-L42
I decided to do it this way, because adding links to pages we want to show in the menu via the Pages app was cumbersome. We want to show those links anyway, so adding them via pages app is just one extra step.

Added the setting for 'recently added signs', so it only shows the last 7 days, and made a new menu item for 'proposed new signs'.
Happy @ocrasborn ?

Yes I am.


Added alt tags to all images for improved accessibility and SEO

Description
https://github.com/meshery/meshery.io/pull/1380
This PR fixes #1369
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

let's discuss this item on today's website meeting,
please add this agenda in the docs: https://docs.google.com/document/d/1XczAHXVe2FIWPqiF57ospJ43zw5cZQ7ui8mn39v5EvA/edit#heading=h.69qskjv558bk

@saurabh100ni Please merge this PR

@Mohith234 @sudhanshutech //

@Mohith234 @sudhanshutech Please review my PR


Automation tools

We should add the following automation tools:

[x] Deploy in Github Pages
[x] Deploy in Netlify
[x] Updating submodules and Github Actions using Dependabot
[x] Automatic PR merge with Kodiak
[x] Lighthouse report using Lighthouse Check
[x] Visual diff using Percy
[x] Link validation using markdown-link-check
[x] Automatic image compression using Imgbot

Request to add support for cloudflare automated deployment!
https://pages.cloudflare.com/

Sure. I will try.

@myrust / @hossainemruz - the request for support for Cloudflare Pages is a few months old now, but in case you're still looking to make use of it, I was able to get it working. Its assumed that you've already connected your repo to Cloudflare Pages, but if you haven't, the steps can be found here.
Steps for deploying the theme to Pages are below...

Open Cloudflare Pages and click Create Project
Select the repo and click Begin Setup
Give the project a name and make sure the Production Branch is set to Main
In the Build settings, select the Hugo framework preset. Leave the build command and build output directory as their defaults, which can be seen in the image below.
Deploy the theme.

A few things to note...

Leave the existing repo automation tools in place. Once a change has been committed, the tools will still be needed to create the build and push it to the Main branch. This will automatically trigger Cloudflare Pages to pick it up and deploy.
No need to disable GitHub Pages if its already enabled. I have mine enabled, but just made sure to remove my custom domain from it as I run the domain through Cloudflare Pages.
Cloudflare Pages will attempt to build every branch by default so both the source and main branches will be deployed. Both will build and deploy successfully, but the source (Preview) branch will not display anything (at least according to my deployment). The main (Production) branch deployment will deploy properly.

Thank you @davelevine. I haven't got chance to work on it.


BCSV Webmail Slow Loading

It has been reported that the BCSV Webmail is experiencing slow loading.
We are currently Investigating the issue.
Updates will be posted here as they become available.
Thank You. - MPSA

We're still investigating this issue.
There is currently no ETA on when the cause will be identified.
Thank You. - MPSA

We are monitoring the issue.
At this stage we have been unable to find a direct cause, and will continue to also investigate.
Thank You. - MPSA

Issue marked as Resolved.
We were unable to confirm the presence of this issue at the time of testing.
BCSV Client may report if the issue reoccurs.
Thank You. - MPM


Create add.md

Docs Build status updates of commit 23dd7d5:
:warning: Validation status: warnings

File
Status
Preview URL
Details

shan/add.md
:warning:Warning
View
Details

shan/index.md
:warning:Warning
View
Details

shan/test.md
:warning:Warning
View
Details

shan/new.md
:warning:Warning
View
Details

shan/add.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

shan/index.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

shan/test.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

shan/new.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1452c0b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

shan/add.md
:warning:Warning
View
Details

shan/add.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1452c0b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

shan/add.md
:warning:Warning
View
Details

shan/add.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8da17f7:
:warning: Validation status: warnings

File
Status
Preview URL
Details

shan/add.md
:warning:Warning
View
Details

shan/add.md

Line 1, Column 1: [Warning: require shan] Missing required attribute: 'shan'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Feature flag multi record delete

fixes #860
Changes in this pull request:

reimplement reverted commits related to multi-record batch change support (except docs commit)
add feature flags to the API and portal enable-multi-record-batch-update, default to false.
add markers to the func tests that depend on the enable-multi-record-batch-update config value. One marker is multi_record_enabled, the other is multi_record_disabled. Right now I've set the tests to not run multi_record_enabled tests for all environments.

closing this, we're going to take a fresh approach to this.


[NFC] Update comment that mentioned old mark as FullyBound way to delay bindings

Does that make sense? There is no more explicit mark as FullyBounded and it seems like it doesn't exist as a concept anymore since introduction of isDelayed(), I thought this could be an improvement.
But let me know if indeed makes sense =]

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge