"Primary" and destructive action buttons

Release
Renderer status
Tasks status

1.2
✔ .NET (#1972)✔ Android (#1970)✔ iOS (#1971)✔ TS (#2435)✔ UWP (#2227)
✔ Shared (#1968)

Solves requests

"Primary" and destructive action buttons (#2025)

Solution
Add a style property to all actions. The Style enumeration will initially support only three values, but we could add more styles in the future.
Schema
New property on Action

Property
Type
Required
Description

style
ActionStyle
false
Controls the style of an Action, which influences how the action is displayed, spoken, etc

Other property name ideas...

category
appearance - No, because this could have non-appearance related behaviors. Like when spoken, destructive could use a different tone.
significance
emotion
sentiment

Concerns around style?

We might want to use style for something else, like a "raised" button vs a "flat" button. Nevertheless, style seems like the best choice.

ActionStyle enum

Value
Description

default
Action is displayed as normal

positive
Action is displayed with a positive style (typically the button becomes accent color)

destructive
Action is displayed with a destructive style (typically the button becomes red)

Research on enum value names...

Android does "positive" and "negative" on their dialogs, and "neutral" for normal

Why not "negative"?

Because sometimes authors want to display a "delete" button, which isn't exactly negative... it's destructive

UWP docs mention "destructive", but they don't have anything baked into the API
Bootstrap has "default", "primary", and "danger"

Why not "primary"?

Because primary implies that it also gains focus. Sometimes authors might want to have the cancel button as the primary focused button, but the Overwrite button should get the preferred visual treatment

iOS uses "destructive" on their ActionSheet API
No one seems to use "emphasized"

This is different from choosing the default action, since sometimes you want the destructive action (like deleting) to be the default action.
Host Config
None. There's already no host config for specifying background colors of actions today. This should all be done using native styling.
Down-level impact
For authors: Low. Actions will still appear, just not with the style behavior.
For hosts: Breaking change. If host is currently natively styling buttons, and now a new primary button comes in, the new button has a new styling name key. Therefore, the host's current styling won't be applied. Hosts need to update their native styling so that when they receive a style, the button at least looks like a default button.
Renderer Requirements

A renderer should have a default appropriate rendering for these styles. For example, using accent color for emphasized, and red for destructive.
A renderer must output the appropriate styling name on the action, so that hosts can natively style the buttons. For example, a default button might get a style name of Action, but an emphasized button might get a style name of Action.Positive (or however the native platform styling naming convention works)

Auto-generated task status

[x] Shared
[x] .NET
[x] Android
[x] iOS
[x] TS
[x] UWP

We should also consider keyboarding experience as well. a Primary action could be wired up to Enter, and desstructive could be Esc

Here is another suggestion for naming the property:
"emphasis": "none" | "positive" | "destructive" with "none" being the default.
Other than that spec looks fine. One thing that isn't mentioned is whether several actions can have a "positive" or "destructive" emphasis. My opinion is we should simply allow it.

where should the accent color and the destructive button color be taken from? I've seen color configurations for containers but there's no default color configurations for a general case

After some discussion, I think that the default behaviors should be:

Positive action changes the background to the Accent color
Destructive action changes the foreground to the Attention color from the host config.

Changing the background on both could lead to both types of actions having the same or similar background color and causing confusion. I'm using Red as my accent color on Windows.

We've been discussing this feature and I wanted to propose an extensibility point that hosts could support. If the card author specifies another sentiment value than the ones specified here, the renderers would still try to apply the sentiment as a style to the action. This would allow for a host to easily support more sentiments through an efficient extensibility model.
For example, in the UWP renderer, the host can pass a resource dictionary with styles. Having Adaptive.Action.Positive override the default style for positive actions. If the host passes other such styles to the renderer, these styles could be applied for sentiments. This gives the host the option of supporting more sentiments that the card author can leverage if it knows about them.
The same thing can be applied to the JavaScript renderer with CSS classes.
Thoughts?

DECISION: For the action “sentiment” property, consensus was we should rename the property to “style”. Enum values remain the same (but the enum itself should be renamed to ActionStyle), and the values in it are different from ContainerStyle
{
  “type”: “Action.Submit”,
  “style”: “default” | “positive” | “destructive”


"Missing space after //" and IntelliJ IDEA

When commenting out a line in IntelliJ IDEA -- made by JetBrains, who of course also makes Kotlin -- a space is not added after the //. This is frustrating because ktlint requires this by default. So every time I comment out a block of lines, I have to tediously add extra spaces. And when uncommenting a line, the extra space is not removed.
Could this considered a bug in IntelliJ (because they don't agree with a specification regarding comment format) or an overly-strong rule in ktlint (because no such spec exists)?

Space after // enforced in https://github.com/shyiko/ktlint/commit/cd3cfc866845a5a95e096be7bce86865c66df575.
That being said, ability to disable rules on per-file basis is coming in #208.

What's the name of this rule to disable it?

Name is "comment-spacing".


Website is down

Investigating

Fixed. The problem was a branch was deleted and streamlit was pointing to that branch.


chore: extract common sections accross app types into separate dir

Part 1 of #833
The files under templates/applications/common/cf/ are sections that should be shared across all app types. This will allow us to DRY our templates. We should be able to write new app type templates faster, remove the chance of errors while copy pasting, and keep things consistent across applications.
Please let me know if you have any disagreements, also if you think there are other sections that can be extracted to the common/cf dir.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The diffed files are the same (minus some unnecessary new lines).
✅ Ran app deploy with secrets, env vars, and addons and it worked fine.


Suprising behavior when argument is not already a string

$ cat test/lib/example_test.rb
require "test_helper"

describe "problem" do
  it "exemplifies" do
    assert_matches_snapshot a: 1
  end
end

$ rails t test/lib/example_test.rb
Run options: --seed 40581

# Running:

.

Finished in 0.001819s, 549.8112 runs/s, 0.0000 assertions/s.
1 runs, 0 assertions, 0 failures, 0 errors, 0 skips

$ rails t test/lib/example_test.rb
Run options: --seed 3981

# Running:

F

Failure:
problem#test_0001_exemplifies [/home/pkoch/example/test/lib/example_test.rb:5]:
The string does not match the snapshot (located at /home/pkoch/example/test/snapshots/problem/test_0001_exemplifies__1.snap.txt).
Expected: "{:a=>1}"
  Actual: {:a=>1}

rails test test/lib/example_test.rb:4

Finished in 0.002081s, 480.5744 runs/s, 480.5744 assertions/s.
1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

I'm sure everyone would agree tests should be idempotent. :P The quick fix for this would be to add a string = string.to_s at the start of assert_matches_snapshot.
Would you be open to a PR for that?

Yeah, I think it'd be more programmer friendly that way for sure. I think there's a couple ways it could burn you: if you pass in an object that isn't a string that doesn't respond to #to_s and if the #to_s isn't deterministic / stable. With Hashes specifically I don't think it is as the iteration order depends on insertion order I believe. I've used a stable JSON serializer before to be more robust to that kind of thing which might be a better option for non-string snapshots anyways.

I disagree with you, but I think there's merit in your perspective.
Indeed, some objects have string representations that you can't really rely upon for snapshotting. However, you're always going to write a string to a file, and you're always going to compare the argument with the string you read from the file in the next test run. That's an inescapable fact, which puts me at ease to suggest forcing the use of to_s (and calling that on a string returns itself). I think that people that don't take enough care to pass a reliable stringable won't be helped by the current behavior, but the people who do are now forced to have useless to_ss sprinkled in their tests.
The obvious alternative here would be to raise if the argument supplied is not already a string, instead of implicitly converting it when we call file.write. There's some value in forcing the caller to chose what bytes represent the object they want to see not changed. I don't think that value is greater than the neatness afforded by not having to to_s everywhere, since that's going to be the overwhelming majority of cases [1].
There's also the alternative of having assert_matches_snapshot call a serializer depending on the passed object, and a deserializer when we read the file. This feels like major overkill, greatly expands the scope of the gem, and we don't get anything a caller wouldn't be better equipped than us to solve, anyway.
I'm keeping my stance of favoring calling to_s inside assert_matches_snapshot. Most people will benefit from that, those that forget to take care to pass in something repeatable will be presented with a clear enough symptom, and it won't ever get in anybody's way.
What say you, package maintainer, ruler of APIs? :P
[1]: I'm guessing. I tried to look around for reverse dependencies, and there's none. So there's no data to help us decide here. :/

Marshal seems like the natural tool for this, although (like JSON) it doesn't provide a built-in way to canonicalize Hash keys or Set elements.

Marshal would work ok but in my experience mucking around with snapshots in the jest world where I learned about them I often was actually looking at the contents, so I'd put human readability of the snapshot up there as an important piece too. Marshal doesn't do super great with human readability because it uses non-ascii bytes pretty frequently. How would y'all feel about YAML?

Good point. The only way to be sure the tests are working correctly is to check the human-readable representation of the snapshot, which might as well be the actual snapshot (yes, YAML would be great).

🚀🎉🥰
Thank you very much, folks!


Use DB with LibSQL support

Description

Uses Astro DB from https://github.com/withastro/astro/pull/11385
StudioCMS can now be deployed using Turso

New environment variables:

ASTRO_STUDIO_REMOTE_DB_URL can be set to your Turso/LibSQL connection URL

The URL is used as the url parameter to LibSQL client. The URL can include options as search params for these flags.
For example, passing memory:?syncUrl=libsql%3A%2F%2Fastro-db-test-fryuni.turso.io means:

Use an in-memory LibSQL DB (by passing :memory: to url)
Have the in-memory DB be a replica of libsql://astro-db-test-fryuni.turso.io (by passing it to syncUrl)

ASTRO_STUDIO_APP_TOKEN can be set to your Turso/LibSQL token.

This is passed to authToken on the LibSQL client

We will need to wait until it's merged upstream right?

With this, it would keep a local copy of a snapshot of @astrojs/db for use in the playground, If per say, an end-user who is not a studio user wanted to utilize the same file and use for example turso.... they could. (it should be upstream in a week or so anyway Astro v4.13

Ahahaha nice, shipping our own astro db 😂

i mean until 4.13 releases why not right? its just a fork of a MIT licensed repo...


Update index.html

The reason for the update is to fix the order of the tab focus.
Reorganizing the DOM would keep the style of the page and css as is while fixing the issue of moving along the focus points using the tab button

fixing the problem for udacity quiz


change install to ci and respect package-lock

You should use npm ci instead of npm install for ci

Thanks, this seems like a sensible change. Would it be possible to re-push your branch with just the ci change? It looks like you caught another change which is already in an existing PR I think. It would be great to merge this one quickly 😄

Now that we've merged the concurrent file piece I can merge this one in. To save you rebasing I've pulled the branch and done it manually due to a squash merge on the previous PR. Your ci change is now on master :)

Now that we've merged the concurrent file piece I can merge this one in. To save you rebasing I've pulled the branch and done it manually due to a squash merge on the previous PR. Your ci change is now on master :)

Oops, yeah I should have pulled master and synced first. my b


Feature Request: Visualize Data Transformations Between Pydantic Models

Hey! Just found out about erdantic through Python Bytes. Looks great and love messing with it so far.
I work with a lot of Pydantic models to facilitate PySpark transformations - given a model, you can read, transform, and validate a raw file or loaded DataFrame against a model. Since it's built on Pydantic, it allows some nice features (nesting models, ease of documentation, etc.) and encourages declarative/composable pipelines.
However, instead of composing fields as collections of other models, I convert data from one model to the next. Most examples look like this:
import datetime
import decimal

from pydantic import BaseModel, Field
from pyspark.sql import functions as F

# describe raw data as model to facilitate read and preprocessing steps
class RawFinancialStatement(BaseModel):
    acct: str = Field(pattern=r"\d{5}")
    descr: str
    posted: datetime.date = Field(
        ge=datetime.date(2024, 1, 1), le=datetime.date(2024, 12, 31)
    )
    amount: decimal.Decimal

# for all files, read-in using model's schema, union together, then transform and validate against model
raw_data = RawFinancialStatement.read(
    source=["path/to/file.csv", "path/to/another_file.csv"]
)

# convert intermediate model to expected model for analytical workflows
class CommonFinancialStatement(BaseModel):  # or inherits from a defined business model
    account_number: str = Field(alias="acct")
    account_description: str = Field(alias="descr")
    date_effective: datetime.date = Field(alias="posted")
    date_posted: datetime.date = Field(alias="posted")
    net_amount: decimal.Decimal = Field(alias="amount")
    user_posted: str = Field(
        default=F.when(F.col("acct").startswith("A"), "USER1").otherwise("USER2")
    )

# transform and validate data against model
processed_data = CommonFinancialStatement.transform(data=raw_data).validate()

Using erdantic, would it be possible to construct an ER diagram between multiple models that simply describe how data is transformed? Please let me know if I need to explain my use case some more - thank you!

Hi @lucas-nelson-uiuc,
Thanks for trying out erdantic!
I'd like to better understand your use case. Some questions here:

Where does the CommonFinancialStatement.transform come from? Is this a custom factory method on the CommonFinancialStatement that you've written?
Where is there metadata that explicitly links the RawFinancialStatement and CommonFinancialStatement models? As a practical consideration, we need this metadata in order to know the relationship between these two models in order to build the diagram.
Can you sketch what you think this diagram would look like?


Feedback and Suggestions

Thought I'd leave some feedback on the changes so far - That said, the mod overall is fantastic and mostly makes good changes.
Bezerker's Pauldron feels a bit too strong at the moment. I think something simple like just removing the refresh on stack (so it behaves like vanilla predatory instincts) would be best. That way multi-kills are still more valuable, which is a nice callback to it's vanilla use, but it cant get too out of hand. The item stacking behaviour could just add a small amount to the duration of each buff, rather than increasing the number of stacks of it you can have.
 Stacking just the duration feels odd in the same way Fresh Meat used to pre-1.0. I'd suggest making it a flat regen increase similar to slug, and having that value increase with stacks instead of the duration.
For balancing Clover, maybe have the initial stack give you the +1 luck, and then some scaling benefit whenever it successfully re-rolls like "whenever you are lucky, gain $1 (+$1 per stack)". Having it tied specifically to re-rolls means the effect will trigger less often as other effects become more consistent as well.
I had what i think is a really interesting idea for gesture: Something like "Using a skill has a 10% (+10% chance per stack) to trigger your equipment... BUT whenever it does, that skill is locked until your equipment is ready again." Also makes stacking fuel cells with gesture worth something. Probably best to exclude primary skills (or skills with 0 cooldown) from it.
I don't think the bandolier needs the CDR
Chronobauble is difficult since one stack lets most characters keep the debuff on an enemy constantly, making extra stacks kind of useless, but making the buff stack or decreasing its duration just benefits characters that already have high fire rates. What about is the damage bonus was based on how much slower the enemy was, and increased with stacks? Something like "Slows enemies 60% for 2s on hit. Enemies take up to 10% (+5% per stack) more damage the more they are slowed."
This would allow for synergy with stuff like tar and Runald's cold slow, and you could even make stunned/shocked/frozen enemies take the full damage bonus since they are immobile.
Might be worth bringing in the changes from Mobile Vagrants, Titan Buff, Lunar Wisp Falloff, Speedy beetles (but reasonable values), Acrid Hitbox Buff and Merc Regen Fix.
For Captain, I think his microbots should be an untiered item (hiding them from the item list) in line with every other passive in the game, and ideally also removing them if you aren't captain and stopping his umbra dropping them.
As for his secondary and beacons, you could tie it to his drone theme by making tazed enemies take +100% damage from drones for X seconds (And ideally pull drone aggro to them but AI is finnicky) as well as upping the base damage a little to like 250% - 300%.
His beacons being deployables sounds good for sure - maybe reuse the interactability part that the equip beacon has as a "refund beacon" prompt, and give the actual special a cooldown of 10 seconds or so, so you cant just re-call beacons constantly for damage.
For the hacking and equip beacons respectively, I personally think the CDR beacon from admiral is a really good replacement for the equipment beacon. The hacking beacon could be replaced with a drone beacon that periodically summons strike drones, giving him a guaranteed way to get bonuses from his secondary changes and microbots.
Artificer's primary could gain a "if it's the last shot, it also applies overheat (the grandparent extra burn damage debuff)" for the fire bolt and "If it's the last shot, it applies Shock" for the nano bolt. Encourages actually firing off all 4 shots. I think giving it the scrap launcher treatment where all 4 shots reload at once (and increasing the cooldown a little to compensate) would be a good change as well. Freezing shouldn't affect Mithrix, that seems like an oversight honestly. And as for Ion Surge, I think the simplest fix is to make the un-grounded version a much smaller height boost, letting you stay roughly level without gaining height.
For Loader, I think you could remove the damage from spiked grapple, and leave it with just a stun. Default grapple could give barrier when it hits an enemy. The more core issue of making the rest of her kit besides grapple/fist worth using is harder though. Maybe something like the big punches consume barrier for extra damage (and lowering the base damage to compensate), and having the speed affects damage be an alternate passive that removes the primary barrier gain. No ideas on what to do with pylon/slam.
That's all I've got for now, probably way too much really, but hopefully there's some good feedback you can use in there!

Thanks for the feedback!
I agree with your thoughts about Berzerker/Scythes/Bandoliers.
For Scythes specifically, I have a suspicion that the crit duration might be a bit too long for a Green item, but my mileage with it varies a lot depending on the character.
I was on the edge of removing Bandolier's CDR for the past few updates, so I think I'll go ahead with doing that in the next one, since the packs are a lot more consistent to get now (and also because it seems to be stepping on Alien Head's toes too much).
Not too big a fan of the proposed Gesture change since trading skills for an equipment-use (with most equipments being autofire-based) seems like it wouldn't be very fun, along with the potential for skill locking to break survivors that have context-dependent skills.
Chronobauble's damage bonus being based on slow duration is something I had in mind years back, but I forgot about it. Seeing as how characters now have a dedicated Slow Coefficient stat, it might be worth looking into this again.
For the Boss/Enemy tweaks, I plan to start bringing them in bit-by-bit once the item/survivor balance is in a good spot. They'll probably have some changes from their standalone mod versions. Some of them, like Mobile Vagrants and Beetle Queen Plus, I'd like to add with just a few changes, while others (like Stone Titan Buff) I'm not completely happy with.
I'm on the edge on whether I should include Merc Regen Fix or not. I feel that it makes him better to play earlygame, being able to heal off the chip damage that melee characters naturally take, and I don't think it's game-breaking or even very significant. But at the same time, it's such a minor thing that can be resolved by getting a single healing item that I'm leaning towards just leaving it the same as vanilla.
I'll keep your Survivor thoughts in mind. For Artificer specifically, reloading all 4 shots at once was something I had in mind, with each shot type having bonuses for hitting all 4 shots in a row in a single reload. I was thinking that the combo effect for Firebolts could be a medium-range explosion that has high force that can physkill Wisps, and Nanobolts could trigger a chain lightning attack when hitting all 4 shots.

Forgot to mention, Clover stacks giving a bonus when the effect triggers sounds like a good idea. I don't think I'll do money specifically, but something along those lines.

Couple of bugs reports and ideas:
Ghosts from Happy Mask can spawn minions that don't die (beetle queen, solus control unit). I think this might be a vanilla bug, but some check to pass the ghost decay and VFX onto them would be a nice consistency thing now that it's more likely to happen. The actual effect of mask triggering seemed inconsistent with the buff timer in the corner being ready or not as well but it was a pretty chaotic run by the time i got mask so I may just have missed when they did or didn't spawn.
Guillotine feels like it's in a much better place now than it was before, but I think stacking the threshold for it's trigger might be better than stacking the bonus damage since after 2 or 3 stacks the extra damage bonus mostly becomes overkill. It'd still want to stack hyperbolically like old guillotine's threshold though, probably toward around 60%. Possibly have a limit on how often the guillotine sound can play as well, since rapid fire into an enemy on low health is pretty deafening right now. (also true for instincts with high crit chance, or shotgun crits. Might warrant a separate all-purpose mod to limit on-hit sounds honestly.)
Pauldron feels really fun and rewarding now, massive fan of the change. It does feels like it can scale way too fast sometimes, I'd maybe consider lowering the attack speed bonus per buff to 15%, but in terms of play style it's really satisfying.
Will'O'Wisp without falloff feels a bit too strong, even without the old radius scaling. Also feels like it applies a little too much force at the moment but not sure if that's affected by falloff.
I'd say Bison Steak still feels kinda weak and could stand to just be reverted to it's pre-1.0 behaviour, maybe with allowing the regen buff to stack instead of refreshing the duration
And finally I think Vagrant and Lunar Chimera tracking shots still trigger on-death effects. Maybe give them the same prevention as grovetender wisps got just for consistency.

The minion bug is a vanilla issue, I'll fix it.
It's likely that you're killing some random enemy in the background and triggering the buff as soon as it goes off cooldown, but I'll doublecheck to confirm this.
For Guillotine, I feel that letting the health threshhold be increased by stacks would lessen the item's identity of being based around finishing off enemies, like how stacking Vanilla Guillotines quickly goes from "execute low health elites" to "remove the entire elite's health pool," though the proposed HP threshold limit would somewhat help with that.
I'll take a look at Pauldron's attack speed. Glad to hear it's in a better spot though!
I agree that Wisps are a bit strong in their current state. I wasn't sure if they were strong enough when I removed their radius scaling, so I removed the falloff since I figured "It's only 300% damage." I'll take another look at Wisp, Spleen, and other on-kills that had their falloff removed.
I'll give some thought to Bison Steak, since It's definitely not an item I find myself regularly taking. Gonna have to think of what I want to do with it, since I like the idea of having an HP-boosting item in the vanilla item pool.
I can add the anti on-kill to the other shootable projectiles.

Hey, cool to see a lot of these made it into recent updates!
I put some thought into gesture, and you're right that it would probably have too many odd interactions to be tied to skills (or locking them, at least.) How does this sound?
"You can't activate your equipment. Instead it will activate randomly 1 (+1 per stack) times every 30 (+15 per stack) seconds."
The numbers could probably be adjusted but 30 is definitely below the average for equipments so it seems like a reasonable amount, and it's also just shy of making spinel tonic have permanent uptime. This also makes Fuel Cell useless, but there's precedent for lunar items doing that anyway (transcendance, purity, etc.).
A small QoL thing for will'o'wisp (and possibly gasoline, though it's much less noticeable), but the damage it deals happens well before the VFX at the moment, leading to weird scenarios where a group of weak enemies will simultaneously die and play the explosion effect when you only shot one of them. Adding some delay to the actual damage blast would go a ways to making it feel more like an explosion, as well as giving groups of enemies that last second to shoot at you before dying which keeps them threatening later when you have a lot of AoE.
Bison Steak could perhaps grant 'barrier', since every item that grants it currently does refer to it as Temporary HP. something like:
"Retain up to 20 (+20 per stack) Temporary HP. This HP regenerates at +1hp/s"
So it would offer some important base HP in the early game, and act as a sort of minimum your 'barrier' can fall to later in the run for making brooch (and any other modded barrier items) more reliable. It's also unaffected by curse this way, making it an interesting solution to having no health from spinel tonic/glass/eclipse 8.

The Gesture rework sounds balanced, but I don't want to touch Gesture unless I can come up with something equally as fun/exciting as Vanilla. At this point I'll probably be simply leaving it alone unless sudden inspiration strikes.
I can take a look at the delay timing of the on-kill explosions, you make a good point there.
Bison Steak change seems overcomplicated, and kills its interaction with items that scale off of Percent HP. I've been picking it up in a few runs recently, and I think it's in a decent enough spot as-is (especially on tankier characters).

Happiest Mask's tweaks make it fun to use now, great work. But one peeve I have with the ghost cap is how easy it is to fill them up with mini-mushes that wind up doing nothing but healing for the rest of the stage.
Perhaps see if you can make the ghost's health decay begin ramping up if it survives for longer than normal? Enough to outpace mini-mushes at least, but whether or not to make it more challenging to keep them alive using bungus or something is something to consider.

Health decay rampup on Ghosts/Squids is something that has been on my mind for a while, I'll look at adding that.
As for Chronobauble, I definitely agree that the damage bonus is pretty tacked-on. I'm hesitant to touch attack speed since a good amount of modded characters/items seem to be doing that, but adding on a chance-based proc effect seems interesting.

Just to follow up on some of my previous replies in this thread since it's been a while:

Forgot to mention, Clover stacks giving a bonus when the effect triggers sounds like a good idea. I don't think I'll do money specifically, but something along those lines.

This is still something I'd like to do, but I've put it on the backburner for the time being.

For Artificer specifically, reloading all 4 shots at once was something I had in mind, with each shot type having bonuses for hitting all 4 shots in a row in a single reload.

Artificer's Flamethrower/Freeze changes seem to put her in a much better spot than before, so changes to her M1 will likely not be as drastic. I did some experimentation with recharging all 4 shots at once like MUL-T's Scrap Launcher, but it felt weird because spacing out shots would end up dragging out the recharge as opposed to Vanilla where you keep regenerating stocks no matter what (not sure if this is just muscle memory getting in the way).

Chronobauble's damage bonus being based on slow amount is something I had in mind years back, but I forgot about it. Seeing as how characters now have a dedicated Slow Coefficient stat, it might be worth looking into this again.

Turns out this isn't as straightforward to implement as I originally thought (since Slow Coefficient isn't actually a character stat). I'll be looking at Chronobauble to figure out what to do with it.

Could give chronobauble attackspeed or cooldown slow or something instead of increased damage.
Also could we get an option for lunar item drops from pillars

Can do. I'll add a drop chance config for pillars when I get the chance.
For Chronobauble, cooldown slow is something I considered but decided against due to being unable to actually see/gauge its effects as a player, along with inconsistencies in which attacks are cooldown-gated (ex. Lemurians have no cooldown on their fireball).

Would an attack speed slow not effect abilities like that? I just figured those changes would make sense with the item's theme of time dilation.

AtkSpd Slow works on all enemies (as opposed to cooldown increase which varies). I've been hesitant to add it since I run Enforcer (who has Tear Gas) and Lost in Transit (which has Prison Shackles for -30% AtkSpd), but giving it some more thought, I think adding  AtkSpd slow to Chronobauble is probably fine, since there's no guarantee that either of those mods will be installed, and it's still possible for the AtkSpd slow to stack on top of the ones from those mods.
For now, I'm leaning towards simply adding it to the Chronobauble debuff (probably something like -15% to -20% AtkSpd) rather than making it a random proc as was suggested earlier.

Status update:

Latest update makes Chronobauble affect attack speed instead of damage taken.
I'll try to get a drop chance config for the Moon pillars in the next update.
Ghost health decay will probably be postponed for later.


Questions about RBAC and its table collection

Hi
New here in supabase, right now i'm building supabase with sveltekit for internal dashboard. i'm very thanked by your contributions
I have several questions, sorry it a bit dumb questions

{"groups":{"72ad5253-0c61-4407-9504-12a0b8e33be7":["admin"]},"provider":"email","providers":["email"]} i see that the metadata is changed as expected, but what is the points of having dedicated table for groups? which is just an id and name, and what is the name for?
what is the use of the group_user? is that a table to tell which roles user have?
i see there is new role table, but it is not related with any other table that generated by supabase-tenant-rbac
there is user_roles, what is the usage of it?

Great questions. Here you go:

Your implication is correct. Technically, groups do not need names. You could leave this blank if you want. That said, I personally find names to be easier to distinguish as a human than uuids. Also, at least for my use-cases, there are parts of my app that display the the group to users that belong to it. Especially when users belong to multiple groups. In those cases, it's better for me to display the group name in the UI instead of the group ID. As for the existence of the group table itself, that is because it is far easier to manage groups in a table vs directly in the metadata of all users. For example, you may want certain groups to be able to create/delete groups themselves and in those cases, you would not want to give those users your supabase service key (which is necessary to modify metadata in the auth.users table) because that is a massive security risk. So by restricting group modification to a triggered table, you can appropriately scope permissions for who can manage groups.
Correct. group_user is a mapping of users to groups. It is the source of truth for who belongs in each group and what role they hold in that group. Just like with the groups table, it is the securable interface through which group memberships are modified because modifying the metadata directly would be either difficult, error-prone, and insecure or all of the above.
A new role table? The only tables that should be created by this package are: groups, group_users, user_roles (view). Anything beyond those three is either a bug or is unrelated to this package and came from elsewhere.
The user_roles view is actually a view rather than a table and is really just a select/join between the groups, group_users, and auth.users tables. It is for convenience so that you can easily see user names and emails next to groups next to roles. It doesn't do much beyond that. You are welcome to use it however you like.

what is your use case using group and filling the name? any example?
so i have a profiles table, can i use profiles table for the group_user?

sorry i still didn't get the group concepts for this, is groups is like a roles?

In my case, group is being used similar to tenant. Imagine you were creating a Slack clone. You have multiple slack workspaces. Each workspace has multiple users. Each user has a role or multiple roles. In this case, the workspace would be the group, the users would be the users in the group, and the roles would be permissions and channel membership.
My own application is similar. Any user can create a group which is a collection of users that each have a role within the group and can act on group resources in specific ways based on their role in the group. Users can be members of multiple groups and have different roles in each group. So userA can create groupBlue and add userB to it as a read-only viewer. UserB can create groupGreen and add userC to is as an admin. UserC could then use their admin access to add userA to groupGreen if they wish but would not be able to see the presence of groupBlue.
At the end of the day, you can use it however you want. If you only need users and roles, then just ignore groups. Create a single group that everyone goes in and just assign them roles as needed. Not every application is multi-tenant.
As for the profiles table, are you maintaining a separate table of profile data that is different than the built-in auth.users table that comes with supabase? Or are you using this in something other than supabase? How do you envision making use of the profiles table with this project? What is the use-case / what behavior are you looking for?

if i dont need multitenancy or groups, it is better for me to get rid of it because it became redundant or should i leave as it is?
for the profiles table i maintain separate table of profile data from the built in auth.users table, this profile data is for the full_name, address, things that i can't do it in the auth.users table

Well it's pretty tightly integrated so you couldn't really remove it without having to re-write most all the functionality. That said, it's really easy to ignore. Just create one single group and use that group ID any time a group ID is required.
As for the profiles, if your profiles table uses the same user ID as the auth table does, then you don't need to do anything special since the user_roles table already links back to the auth.users table. However, I should point out that user_metadata field is for the purpose of storing things such as name, address, etc. So you technically don't need a separate table for this. I do not use one myself but I do store that additional info. More info here: https://supabase.com/docs/guides/auth/auth-user-management#the-user-object

Hi @point-source
Got it, yeah i've seen it and will be quite complex if i want to remove it, and i will just ignore it
for the profiles, so basically questions is if i relocate the group_users role column to profiles table. the reason is because i already have profile anyway, and right now in profiles, everytime the there is new user created in auth.users i already have a functionality to automatically create the profiles in profiles table.
but in the group_users that functionality seems not there.
so the options is 2

relocate the role column to profile
make the group_users is automatically created when the auth.users have new user. (although i prefered the options number 1 since it's only needs single table)

relocate the role column to profile

This would be a similar amount of work as removing the group functionality since any function that references that table or column would have to change. I'm not trying to dissuade you from that however. You are welcome to take and use any code in this repository however you see fit, per the license. I just can't really provide support or updates for custom implementations.

make the group_users is automatically created when the auth.users have new user. (although i prefered the options number 1 since it's only needs single table)

This would be the most compatible with this package and the most future-proof in terms of updates. But I agree that having two/three separate tables is non-ideal.
I'm not sure of a way to work around this easily. It would be nice if when the TLE is installed, one could specify which tables they want to use. But then that puts the requirement on the installer to ensure the structure remains consistent and intact and eventually leads to non-deterministic updates. So unless someone far more experienced in SQL than I knows a solution that I do not, I'm not sure there's much that can be done here to solve your specific case.
You might want to just make a fork of this repository and modify it for your own use-case. Then, when I push updates, you can try to manually merge them if they are useful to you.

Can I just say that it's amazing that you give these lengthy detailed responses @point-source? Kudo's 👏

@point-source ahh i see ok then, i will keep as it is for now
thank you for your help


Matomo and check your answers bug fixes

Updated back URL for check your answers page
Fixed undefined on limited Matomo analytics

CI: No security warnings found


Update lsstdesc-smokescreen to version 1.3.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ Recipes should usually depend on astropy-base as opposed to astropy. astropy-base only has the required dependancies whereas astropy now has all optional dependancies as well.
ℹ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.

For the host section of the recipe, you should usually use python {{ python_min }} for the python entry.
For the run section of the recipe, you should usually use python >={{ python_min }} for the python entry.
For the test.requires section of the recipe, you should usually use python {{ python_min }} for the python entry.
If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

ℹ PyPI default URL is now pypi.org, and not pypi.io. You may want to update the default source url.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12141889896. Examine the logs at this URL for more detail.

Please address the hints. Also feel free to merge when the ci is green after the hints are fixed.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin rerender

@beckermr I don't think I have permissions to merge it :|

Make sure to accept the org invite to conda-forge that you will get via email.


Create a clear value button

Please, create a deleteButton (crossButton) on the right of the Multiselect which clears the value to the empty string and clears the v-model of the multiselect

+1
And clear  Multiselect, when load a template, is a good idea too.

This is definitely to be implemented! Thanks!

This would be very valuable. Some users are confused how to clear the value by having to scroll down through the list to find the selected value (highlighted red) and to click on it. An X icon next to the value to clear it would make the component more usable.

Is possible add this feature in short future ?

Yes @merigold  :)

Hi @merigold, do you have a vague idea when v 3.0 will be released including the feature discussed above? Cheers

2023 is here but still no sign of this useful feature. Some PRs for that are waiting since years (https://github.com/shentao/vue-multiselect/pull/1348)

The last release was April 2019. This is a dead project.

This project isn't dead - we're working on some releases at the moment, including one that has just been released. Feel free to check out the plan ahead here: https://github.com/shentao/vue-multiselect/discussions/1589
In terms of this feature, we can look at adding this in a future version, but currently we are focused on getting the latest version working with Vue 3.

@mattelen Any updates on this feature?


BUG: Numpy/OpenBlas UserWarning even when Acoular is loaded first

Version Dependencies
Python 3.11.9 and 3.12.7
Acoular 24.07
OS Debian
Bug Description
When importing Acoular, the Acoular UserWarning
We detected that Numpy is already loaded and uses OpenBLAS. Because this conflicts with Numba parallel execution, we disable parallel execution for now and processing might be slower. To speed up, either import Numpy after Acoular or set environment variable OPENBLAS_NUM_THREADS=1 before start of the program.
is shown.
This is done to prevent Thread Overloading (see #187)
In previous versions, this could be resolved by following the instructions and calling import acoular before importing numpy or any other package that uses it.
In version 24.07 the Warning is triggered either way, which also deactivates numbas parallelization by calling numba.set_num_threads(1) .
This has likely to do with the import order within Acoular itself, which seems to have changed: https://github.com/acoular/acoular/blob/b3e20f047e6f0b9197946099f45a6ae512781285/acoular/init.py#L9-L11
Both, tools and calib load numpy.
Note that setting the environment variable does not avoid this either, since its value does not get checked by Acoular.
Possible Solution

Changing the import order within acoular/init.py back to load .configuration first should resolve the issue.
Checking os.environ['OPENBLAS_NUM_THREADS'] before raising the warning, in case it was set by the user.

Workaround
The code will work even with the warning, but performance might be lost. If you are sure that you are not overloading your threads, you can call numba.set_num_threads(n) after importing Acoular.
Reproducible Code
#simply:
import acoular

Error message:
No response
Issue Severity
Medium: It affects my work, but I can find a workaround.

Thank you for reporting this bug. This behaviour was indeed not intended, and we will try our best to solve this issue in the upcoming release this month. Since you already have a plausible solution for the problem, I encourage you to become an Acoular contributor by submitting a pull request that includes the proposed changes. For details on how to contribute, see the contribution guidelines

Thanks for the quick reply. If you agree that changing the import order is all it takes, that's simple enough.
I'm happy to create a Pull Request in that case.
Would you include a check?
if not int(os.environ['OPENBLAS_NUM_THREADS']) == 1:
    raise ...

We would be glad if you could submit a pull request. Please note that changing the import order will conflict with the ruff formatter. This means you need to disable the unsorted import rule I001 via:
from .configuration import config # noqa: I001

Note that if you check the number of threads available to openBLAS, the result should not raise any errors!
Probably, adding another condition in the if clause below makes most sense
https://github.com/acoular/acoular/blob/bf801129dea14c50b8b15d327eee989b9586df76/acoular/configuration.py#L38-L39
The problem here is that we don't know exactly when OPENBLAS_NUM_THREADS was set. Was it before or after the numpy import?


We may need a multi step action

In some cases we have multiple actions which need to be executed in a certain order with regard to each other but not with regard to other actions. Using a sequence point would be over kill here because we don't care about unrelated actions being moved across in order to merge or save address loads.  A single action should be mergable with any action step with the same address, another multi step action should be mergable if all steps in the smaller list have common addresses with a sequence in the larger list.
Before writing I would like to compile a list of places that this would come in handy. Writing PowerClockInit routines for the LPC15xx is a good example, different modules need to access power clock and reset registers in a distinct order regarding other actions from the same peripheral, however with regard to other peripherals the order is not important. If one peripheral is power on by default but does need to enable clock or reset it self then we must remember to leave an extra sequence point in or generate less efficient code. Any other places this is needed?

Another case for a sort of multi step action are read-modify-'write somewhere else' actions often needed with regard to GPIO. These will be implemented with a BitLocationPair as the actions parameter where the write goes to the second bit location.


Unable to troubleshoot initial-config-nginx-ingress-controller-2pcrl and JiraBus Pods

Hi @nexusriot @maxb-hystax @sd-hystax @tguisep @hx-nick
I am facing this issue. I have attached the error. Kindly help!

@nexusriot @maxb-hystax @sd-hystax @tguisep
Soft Reminder!
Kindly help in this issue.

you can use elk/kibana to diagnose the problem

can be accessed on http://<server_ip>:30081
kibana password can be changed here
then login to kibana using credentials from step 2, create search pattern *, @timestamp
use following request to find logs


Use macros in makefile

At the moment the makefile supports GHC 8.2.1, 8.2.2, 8.4.2, 8.4.3, 8.4.4 and is about to get 8.6.1 and 8.6.2
The required targets should be constructed using some kind of macro.
Alternatively, we must use shake, as proposed in #650

I'll take care of this

I am currently working on a Shakefile, see issue #650


Fixed broken retry docs link

ronseal

the repo is no longer maintained.

the repo is no longer maintained.


Clang-Format Settings are different to used Coding Style

Hi,
I wanted to start to implement some features. But before I wanted to format some code and there I saw that there is a mismatch in the clang-format file with the current used coding style.
In most of the codebase here the opening brace of a function is in the line of the parameters and not in a new line.
Regrading the clang-format file it should be on a new line.
# Pretty much break after everything, but no braces indent.
# We are not savages afterall ;)
BreakBeforeBraces: Custom
BraceWrapping:
  AfterClass:            true
  AfterControlStatement: false
  AfterEnum:             true
  AfterFunction:         true
  AfterNamespace:        true
  AfterObjCDeclaration:  true
  AfterStruct:           true
  AfterUnion:            true
  AfterExternBlock:      true
  AfterCaseLabel:        false
  BeforeCatch:           false
  BeforeElse:            false
  IndentBraces:          false
  SplitEmptyFunction:    true
  SplitEmptyRecord:      true
  SplitEmptyNamespace:   true

We need to update the  brace wrapping settings to false.
Otherwise reformatting with clang-format would lead to something like this:

If you want, i can do a PR for this.

PR on dev branch would be good, no problem with the change


syzkaller panic with nil pointer dereference

We had been running syzkaller for almost last 6 months without any problem. But since last few weeks we started seeing a syzkaller panic with nil pointer dereference just few hours after starting syzkaller. I have then updated syzkaller to 75b040914e1a14c1eda0ed9d14ed376a37293a1d but the same problem still persists.
I have now run syzkaller with -debug and I think this is the relavant part of the log:
16:34:01 executing program 0:
perf_event_open(&(0x7f0000000040)={0x2, 0x80, 0x6f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0)
r0 = syz_open_dev$tty20(0xc, 0x4, 0x0)
ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000000)=0x2)
io_setup(0x3e7, &(0x7f0000000580)=<r1=>0x0)
io_submit(r1, 0x1, &(0x7f0000000a40)=[&(0x7f0000000080)={0x4004800, 0x0, 0x0, 0x0, 0x0, r0, 0x0}])

2021/11/11 16:34:01 result hanged=false:
2021/11/11 16:34:01 #0: triaging type=7
2021/11/11 16:34:01 triaging input for call #4 io_submit (new signal=29)
[139256ms] exec opts: procid=0 threaded=1 collide=0 cover=1 comps=0 dedup=1 timeouts=50/5000/1 prog=0 filter=0
spawned worker pid 5952
#0 [139267ms] -> perf_event_open(0x20000040, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0)
#0 [139267ms] <- perf_event_open=0x3 errno=14 cover=4233
#0 [139268ms] -> syz_open_dev$tty20(0xc, 0x4, 0x14)
#0 [139268ms] <- syz_open_dev$tty20=0x4 errno=14 cover=3911
#0 [139269ms] -> ioctl$TIOCSETD(0x4, 0x5423, 0x20000000)
#0 [139269ms] <- ioctl$TIOCSETD=0x0 errno=14 cover=1453
#0 [139269ms] -> io_setup(0x3e7, 0x20000580)
#0 [139270ms] <- io_setup=0x0 errno=14 cover=17207
[  216.491941] serio: Serial port tty20
#0 [139272ms] -> io_submit(0x7fcd1b6c0000, 0x1, 0x20000a40)
2021/11/11 16:34:02 http: panic serving <IP_ADDRESS>:52052: runtime error: invalid memory address or nil pointer dereference
goroutine 32959 [running]:
net/http.(*conn).serve.func1(0xc00dfb4820)
        /src/goroot/src/net/http/server.go:1772 +0x139
panic(0x10b7fa0, 0x23caa70)
        /src/goroot/src/runtime/panic.go:975 +0x3e3
main.coverToPCs(0x0, 0xc0055aea00, 0xcbe, 0xcbe, 0xc01ead3a98, 0x0, 0x0)
        /src/gopath/src/github.com/google/syzkaller/syz-manager/cover.go:33 +0x9c
main.(*Manager).httpCoverCover(0xc00037ee00, 0x1998800, 0xc000d8a7d0, 0xc006c45100, 0x0, 0x1)
        /src/gopath/src/github.com/google/syzkaller/syz-manager/html.go:298 +0xb10
main.(*Manager).httpCover(...)
        /src/gopath/src/github.com/google/syzkaller/syz-manager/html.go:255
net/http.HandlerFunc.ServeHTTP(0xc000b0f630, 0x1998800, 0xc000d8a7d0, 0xc006c45100)
        /src/goroot/src/net/http/server.go:2012 +0x44
net/http.(*ServeMux).ServeHTTP(0xc000180500, 0x1998800, 0xc000d8a7d0, 0xc006c45100)
        /src/goroot/src/net/http/server.go:2387 +0x1a5
github.com/gorilla/handlers.CompressHandlerLevel.func1(0x1997900, 0xc025a0c1c0, 0xc006c45100)
        /src/gopath/src/github.com/google/syzkaller/vendor/github.com/gorilla/handlers/compress.go:141 +0x671
net/http.HandlerFunc.ServeHTTP(0xc00060e040, 0x1997900, 0xc025a0c1c0, 0xc006c45100)
        /src/goroot/src/net/http/server.go:2012 +0x44
net/http.serverHandler.ServeHTTP(0xc000db61c0, 0x1997900, 0xc025a0c1c0, 0xc006c45100)
        /src/goroot/src/net/http/server.go:2807 +0xa3
net/http.(*conn).serve(0xc00dfb4820, 0x199b700, 0xc006b0db00)
        /src/goroot/src/net/http/server.go:1895 +0x86c
created by net/http.(*Server).Serve
        /src/goroot/src/net/http/server.go:2933 +0x35c

Go version is 1.14.2 and https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz has been used as mentioned in the docs.
Host is a docker image based on Debian Bullseye.
Target is a x86_64 vm image based on Debian Bullseye.
I will be happy to provide any additional debug logs (if needed).

The panic happened when you tried to open the /cover page, right? At least that's what the attached trace, but you did not mention that explicitly.

@a-nogikh I was not sure yet what was causing this panic or how to reproduce it as the web interface is on a public server and anyone can access it. But after your message I just now tried it and indeed I get the panic immediately if I try to access /cover.

Hmm.. Looked at the code more closely. This is very strange and should not have been happening. I also was not able to reproduce it myself.
Did you try to run a syzkaller instance with a clean workdir (without previous corpus and crashes)? Does it also immediately crash when you try to access /cover? Or does it only happen when you start your instance with some already accumulated corpus?

@a-nogikh  found the problem. This problem started since last few weeks and I was trying to remember what I did around that time. And I started using gcc-11 around that time.
So, now I built the kernel with gcc 10.2.1 and restarted syzkaller, everything worked perfectly, no panic and /cover page works as expected.
Then I moved back to gcc 11.2.0 and built the kernel and tried again and immediately got the panic. Even after removing the old workdir and trying with a new workdir but with gcc 11.2.0 I got the panic.

Good that you have found the triggering factor!
But the very fact that this crash is possible is worrying. Syzkaller is not expected to exhibit such behaviour whatever kernel it runs on VMs. I have compiled the latest Linux kernel with gcc 11.2.0, but it still did not reproduce on my side.
If you don't mind, let's try to dig the problem a bit deeper.
Could you please apply the patch below to syzkaller and make it crash? It would be then very helpful to see your syz-manager configuration and the full log.
diff --git a/syz-manager/cover.go b/syz-manager/cover.go
index 8ddee085f..af97b8d6d 100644
--- a/syz-manager/cover.go
+++ b/syz-manager/cover.go
@@ -22,6 +22,7 @@ var getReportGenerator = func() func(cfg *mgrconfig.Config,
                        log.Logf(0, "initializing coverage information...")
                        rg, err = cover.MakeReportGenerator(cfg.SysTarget, cfg.Type, cfg.KernelObj, cfg.KernelSrc,
                                cfg.KernelBuildSrc, cfg.KernelSubsystem, cfg.ModuleObj, modules)
+                       log.Logf(0, "initialized ReportGenerator: %p %v", rg, err)
                })
                return rg, err
        }
@@ -29,8 +30,11 @@ var getReportGenerator = func() func(cfg *mgrconfig.Config,

 func coverToPCs(rg *cover.ReportGenerator, cov []uint32) []uint64 {
        pcs := make([]uint64, 0, len(cov))
-       for _, pc := range cov {
+       for i, pc := range cov {
                pcs = append(pcs, rg.RestorePC(pc))
+               if i == 0 {
+                       log.Logf(0, "RestorePC successfully invoked")
+               }
        }
        return pcs
 }
diff --git a/syz-manager/html.go b/syz-manager/html.go
index dc3e54519..32ec57946 100644
--- a/syz-manager/html.go
+++ b/syz-manager/html.go
@@ -284,6 +284,7 @@ func (mgr *Manager) httpCoverCover(w http.ResponseWriter, r *http.Request, funcF
        }

        rg, err := getReportGenerator(mgr.cfg, mgr.modules)
+       log.Logf(0, "getReportGenerator returned %p %v", rg, err)
        if err != nil {
                http.Error(w, fmt.Sprintf("failed to generate coverage profile: %v", err), http.StatusInternalServerError)
                return

Hi @a-nogikh. First of all, just to be sure that our server setup is not creating the problem, I tried to reproduce the problem in a Debian vm on my laptop and I could reproduce the problem.
The following is with your patch:
2021/11/19 10:37:49 initializing coverage information...
2021/11/19 10:37:49 http: panic serving <IP_ADDRESS>:52084: runtime error: slice bounds out of range [547:480]
goroutine 24 [running]:
net/http.(*conn).serve.func1(0xc0005a2780)
	/home/sudip/syz/goroot/src/net/http/server.go:1772 +0x139
panic(0x11b57c0, 0xc002e8ca20)
	/home/sudip/syz/goroot/src/runtime/panic.go:975 +0x3e3
debug/dwarf.(*Data).Ranges(0xc00011e2c0, 0xc0047e8b70, 0x2, 0x2, 0x3, 0xc008880c60, 0x2)
	/home/sudip/syz/goroot/src/debug/dwarf/entry.go:956 +0x90b
github.com/google/syzkaller/pkg/cover/backend.readTextRanges(0xc00011e2c0, 0xc00f3641b0, 0x0, 0x0, 0x0, 0x60, 0x1237fc0, 0x1, 0xc002d9f9e0, 0xc004341090, ...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/backend/dwarf.go:278 +0x262
github.com/google/syzkaller/pkg/cover/backend.elfReadTextRanges(0xc00f3641b0, 0x14afe28, 0xc00000d100, 0xc00f853858, 0xc002d9f9e0, 0xc00f86eae0, 0xc00094ec98, 0xc00029cc00, 0xc00337b320)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/backend/elf.go:121 +0x2c1
github.com/google/syzkaller/pkg/cover/backend.makeDWARF(0xc00029cc00, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0x0, 0x0, 0x0, ...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/backend/dwarf.go:121 +0x345
github.com/google/syzkaller/pkg/cover/backend.makeELF(0xc00029cc00, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0x0, 0x0, 0x0, ...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/backend/elf.go:20 +0x121
github.com/google/syzkaller/pkg/cover/backend.Make(0xc00029cc00, 0xc0000e049c, 0x4, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0x0, ...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/backend/backend.go:77 +0x134
github.com/google/syzkaller/pkg/cover.MakeReportGenerator(0xc00029cc00, 0xc0000e049c, 0x4, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0xc00038aea0, 0x18, 0x0, ...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/pkg/cover/report.go:33 +0xf6
main.glob..func1.1.1()
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/cover.go:23 +0x1ae
sync.(*Once).doSlow(0xc0004cae40, 0xc0097fb600)
	/home/sudip/syz/goroot/src/sync/once.go:66 +0xec
sync.(*Once).Do(...)
	/home/sudip/syz/goroot/src/sync/once.go:57
main.glob..func1.1(0xc000600380, 0x0, 0x0, 0x0, 0xc00003e000, 0xc0097fb6d0, 0x4c261b)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/cover.go:21 +0xd8
main.(*Manager).httpCoverCover(0xc000476e00, 0x19998e0, 0xc0000b42d0, 0xc000924000, 0x0, 0x1)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/html.go:286 +0xd5
main.(*Manager).httpCover(...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/html.go:255
net/http.HandlerFunc.ServeHTTP(0xc00006df20, 0x19998e0, 0xc0000b42d0, 0xc000924000)
	/home/sudip/syz/goroot/src/net/http/server.go:2012 +0x44
net/http.(*ServeMux).ServeHTTP(0xc0004d02c0, 0x19998e0, 0xc0000b42d0, 0xc000924000)
	/home/sudip/syz/goroot/src/net/http/server.go:2387 +0x1a5
github.com/gorilla/handlers.CompressHandlerLevel.func1(0x19989e0, 0xc0107f2380, 0xc000924000)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/vendor/github.com/gorilla/handlers/compress.go:141 +0x671
net/http.HandlerFunc.ServeHTTP(0xc00060e020, 0x19989e0, 0xc0107f2380, 0xc000924000)
	/home/sudip/syz/goroot/src/net/http/server.go:2012 +0x44
net/http.serverHandler.ServeHTTP(0xc000256a80, 0x19989e0, 0xc0107f2380, 0xc000924000)
	/home/sudip/syz/goroot/src/net/http/server.go:2807 +0xa3
net/http.(*conn).serve(0xc0005a2780, 0x199c7e0, 0xc00003c040)
	/home/sudip/syz/goroot/src/net/http/server.go:1895 +0x86c
created by net/http.(*Server).Serve
	/home/sudip/syz/goroot/src/net/http/server.go:2933 +0x35c
2021/11/19 10:37:49 getReportGenerator returned 0x0 <nil>
2021/11/19 10:37:49 http: panic serving <IP_ADDRESS>:52108: runtime error: invalid memory address or nil pointer dereference
goroutine 626 [running]:
net/http.(*conn).serve.func1(0xc00f4b3680)
	/home/sudip/syz/goroot/src/net/http/server.go:1772 +0x139
panic(0x10b8fa0, 0x23cea70)
	/home/sudip/syz/goroot/src/runtime/panic.go:975 +0x3e3
main.coverToPCs(0x0, 0xc001b1c800, 0x583, 0x583, 0x0, 0x2, 0x0)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/cover.go:34 +0xa5
main.(*Manager).httpCoverCover(0xc000476e00, 0x19998e0, 0xc0003a20f0, 0xc003337b00, 0x0, 0x1)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/html.go:309 +0x44c
main.(*Manager).httpCover(...)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/syz-manager/html.go:255
net/http.HandlerFunc.ServeHTTP(0xc00006df20, 0x19998e0, 0xc0003a20f0, 0xc003337b00)
	/home/sudip/syz/goroot/src/net/http/server.go:2012 +0x44
net/http.(*ServeMux).ServeHTTP(0xc0004d02c0, 0x19998e0, 0xc0003a20f0, 0xc003337b00)
	/home/sudip/syz/goroot/src/net/http/server.go:2387 +0x1a5
github.com/gorilla/handlers.CompressHandlerLevel.func1(0x19989e0, 0xc0048a8000, 0xc003337b00)
	/home/sudip/syz/gopath/src/github.com/google/syzkaller/vendor/github.com/gorilla/handlers/compress.go:141 +0x671
net/http.HandlerFunc.ServeHTTP(0xc00060e020, 0x19989e0, 0xc0048a8000, 0xc003337b00)
	/home/sudip/syz/goroot/src/net/http/server.go:2012 +0x44
net/http.serverHandler.ServeHTTP(0xc000256a80, 0x19989e0, 0xc0048a8000, 0xc003337b00)
	/home/sudip/syz/goroot/src/net/http/server.go:2807 +0xa3
net/http.(*conn).serve(0xc00f4b3680, 0x199c7e0, 0xc0033c7580)
	/home/sudip/syz/goroot/src/net/http/server.go:1895 +0x86c
created by net/http.(*Server).Serve
	/home/sudip/syz/goroot/src/net/http/server.go:2933 +0x35c

Thank you for providing the logs!
Now the problem is clear - gcc11 uses DWARF 5, while go 1.14 only supports DWARF 4.
It is only starting from go1.16  (https://github.com/golang/go/commit/05b6118139d880a5bced23da9d07bdb0db8e7084#diff-805cfc619792dc0d7fdc727ac0c075475eff2f326d6d33bccd2cd35f8f6ea655) that the dwarf parsing library should begin to handle that normally. Though it's still weird that it all fails that hard.
Probably syzkaller should detect DWARF version and only proceed if the library it was compiled with permits it...

Thanks @a-nogikh. So that means there is no immediate fix and I should continue to use gcc-10. But I wonder why I am only seeing this problem. I guess I will try to build syzkaller with latest go and see.

But I wonder why I am only seeing this problem.

In the end I was also able to reproduce it - it turned out that earlier I still used the new go version, while it is the combination of old go version + new gcc version that was vital to trigger the problem :)

Trying with new go looks like a bit of problem and the existing setup docs will not work

What went wrong?
You could also try to just check out the repo and execute make inside that directory. It should work fine with newer go distributions.

@a-nogikh did not get the time to try it yet. But I am seeing the same panic with gcc 10.2.1 when I try linux-next. Tomorrow I will apply your debug patch and try it again on my VM to check if I can reproduce the problem in a clean VM.

Hi @a-nogikh. It has worked. I installed go1.17.3 from Debian and then cloned syzkaller repo and executed make. Everything worked perfectly and the panic is not seen with gcc-11.2.0.
My initial failure was because I tried to do go get -u -d github.com/google/syzkaller/prog as mentioned in the docs, but if I use that command then vendor folder was empty and so make failed.
I will check if there is any plan to backport go1.17.3 to Debian bullseye-backports.


Support intrinsic dimension getters

Right now the grid can't report its intrinsic dimensions, which limits its use somewhat.

Closing this off, because the basic implementation is fine but inefficient.

Closing this off, because the basic implementation is fine but inefficient.


Added OR Operator

Issue Id you have worked upon -
#55
Briefly explain your program logic -
used parseInt() to convert and then used | operator
Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

Congratulations 🎉 @7twik on your contribution.
Thanks for adding value to this repository. 😊


Why is Element tiptap production file so big?

Hey there,
Thank you for Element Tiptap, I love it!
But the production files are massive! Why are they so big?
Tiptap:
220kbs (lib folder)
Element-tiptap:
1.2mb (lib folder)
Is there a way to reduce Element tiptap's file size?
Thanks.

All files in lib folder are:

element-tiptap.common.js
element-tiptap.esm.js
element-tiptap.min.js
index.css

Each format version is less than 300 kb, and be smaller with gzipped.
File size badge will be added to the README, thank you.

Thanks for the response!
i'm sorry but I'm a bit new to this - does that mean Vue apps won't include all those files? is only the .min.js file needed then?

Your are right, they are for different JS modules.
you can read this: https://dev.to/iggredible/what-the-heck-are-cjs-amd-umd-and-esm-ikm

Thank you very much for that :)
If possible, I'd recommend re-visiting the file size though, just in case you can make it smaller by removing someone unnecessary. Because Element-tiptap is still 600% bigger than just tiptap.
Thanks again.

I add a size badge in README, you can check it.


Allow to modify CGO_ENABLED

Signed-off-by: Manuel Buil<EMAIL_ADDRESS>

why do you want to do that? as far as I remember CGO_ENABLED=1 is required to plugin shared object.

why do you want to do that? as far as I remember CGO_ENABLED=1 is required to plugin shared object.

Because if that is enabled, the resulting binary is not static anymore and depends on the following libraries:
	linux-vdso.so.1 (0x00007fff9e2b0000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa5f5abd000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fa5f5702000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fa5f5cdc000)

As a result, the binary can't be run on slim images such as alpine or UBI.
As far as I understand, the C libraries are used for the net package but if CGO_ENABLED=0, then Go client is used for that

Another example: _build-webhook does not require CGO and without this PR, it is forced to use that and results in a dynamically linked binary


Amberdb update

@scoen @yetti @sjacob @josephcurtis can someone please verify that they are happy with merge?

What on earth ... I don't know how I got this in my timeline, I swear I removed myself from this.
Also, regarding file.getCopy().setFile(file);, given that File is an edge not a property, I don't know why this would need to be set?
@terenceingram

@shuangzhou @scoen @sjacob @josephcurtis I agree with @AaronCMuller above. I can understand setting the File type, but I don't understand why we need the setFile().

Yeah, i think there was a typo - it's being corrected now


[20.09] ghc:8.10.2Binary bootstrap for 8.8 on aarch64 (NixOS#97407) #101214

Motivation for this change
Fix the GHC build on aarch64-linux. Backport of #101214
Refs #97407
Feel free to close if it's better merged via staging-20.09.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Oddly, the https://hydra.nixos.org/queue-summary page doesn't show me a row for aarch64-linux.
@vcunat Did it change for you?
I'm also seeing a lot of aborted build like this https://hydra.nixos.org/build/129460097, so I'm not sure if those builds can even succeed at this time.

It's empty now.   Partially thanks to many builds being blocked (including staging-next's llvm and thus ghc).   So I guess it's convenient to utilize the window and binaries now, as ghc itself shouldn't be blocked by that Hydra problem.
On this commit the build seems OK – on the community machine (someone's cached it there already).

It seems to be ok. My build agent is currently 18 drvs away from cabal2nix so I'm quite confident about this PR. It's definitely an improvement over the current state.

OK, after fixing the missing maintainer it started to build: https://hydra.nixos.org/eval/1623733#tabs-unfinished

Aah right, I forgot to check... we're back at the "Output limit exceeded" problem.

Stripping the docs and profiling from the bootstrapping compiler may work. https://github.com/NixOS/nixpkgs/pull/102504
The eventual compiler fits well within the limits.

@roberth It still seems to be around the 2gb limit(?), but I think *_p.a files are for profiling with static linking, are larger than the dynamic libraries and could be removed at the same time.

That's what I did in https://github.com/NixOS/nixpkgs/pull/102504#issuecomment-721976049


Trigger product_updated for ProductMedia

I want to merge this change because...
Fixes : https://github.com/mirumee/saleor/issues/6247

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-1396 product_updated webhook not triggered on image editing or repositioning

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


wharf-api gRPC client

[x] I've added a new note in the CHANGELOG.md file, according to docs:
https://iver-wharf.github.io/#/development/changelogs/writing-changelogs
[ ] Wait for #36 to be merged, as I'm depending on Go 1.17 code with math.MaxUint
[ ] Wait for https://github.com/iver-wharf/wharf-api/pull/147 to be merged.

Summary

Copied protobuf def from wharf-api, but changed the go_package
Added gRPC client implementation

Motivation
Adds support to talk to wharf-api's newly introduced gRPC API since v5.1.0.
I decided to create a new gRPC client on a per-request basis. This should maybe change but that would need to be added into the wharfapi.Client type, best done via a constructor. Or we could use the wharfapi.Client just for caching the gRPC client.
Nothing I don't see we can improve on later. We could easily add that in later if we find it a challenge, such as if we add other RPCs that would really benefit from being multiplexed.

LGTM 👍🏻

LGTM 👍🏻

Sorry didn't notice you reviewed already. I rebased off of master after #36 was merged and did an additional go mod tidy.

Would be nice to have the "codacy ignore *.pb.go files" change here as well.

Good note! Added


fix(server): intercept ping requests

Description

fixes #13109
Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

/ecosystem-ci run astro

Good catch with the named middleware @sapphi-red, thanks!


API key creation for dedicated clusters fails if terraform can't access cluster

Scenario: terraform running from a CICD pipeline provisioning API key resources fails with this error:
Error: error waiting for Kafka API Key "[REDACTED]" to sync: error listing Kafka Topics using Kafka API Key "[REDACTED]": Get "[https://[REDACTED]/kafka/v3/clusters/[REDACTED]/topics](https://[REDACTED]/kafka/v3/clusters/[REDACTED]/topics)": GET [https://[REDACTED]/kafka/v3/clusters/[REDACTED]/topics](https://[REDACTED]/kafka/v3/clusters/[REDACTED]/topics) giving up after 5 attempt(s): Get "[https://[REDACTED]/kafka/v3/clusters/[REDACTED]/topics](https://[REDACTED]/kafka/v3/clusters/[REDACTED/topics)": dial tcp [REDACTED]:443: i/o timeout

Subsequent terraform runs will attempt to re-create the API keys, which will fail again.
The API keys are created and applied to the clusters, but the provider assumes that it has connectivity to the cluster and this is not necessarily the case - dedicated clusters using VPC peering may not be accessible from the node running the CI pipeline. It should be possible to provision resources via the confluent cloud API without also having access to the resource (cluster). Terraform provider should be able to provision all resources via the confluent cloud public API endpoint without requiring direct access to private kafka cluster endpoints.
Suggestion: validate API key creation via confluent cloud API instead of against the actual cluster endpoint OR add optional confluent_api_key resource attribute disabling this test

👋 @west-david thanks for opening an issue!
I think your concern totally makes sense and we'll implement your 2nd suggestion in one of our future releases!

On a somewhat related note, could you share with us how you are going to create topic / ACLs using created Kafka API Key given the fact the Kafka cluster won't be reachable from the CI pipeline? cc @west-david

@linouk23 ahhhhhh good point... 🤦 definitely overlooked that. As awesome as it would be to have the ability to terraform everything end to end over the public cloud API endpoint I definitely acknowledge that there are some limitations. I suppose we will have to re-work some of the CI to run "inside" the cloud environments that have access to the clusters.

I'm running into the same error when creating a confluent_api_key with a dedicated cluster over AWS Private Link. We have added the private link to the VPC of our CI pipeline but still get the same error. I'm wondering if Terraform is using the wrong URL to communicate with the cluster, when using private link. It looks like it is using the REST endpoint vs the private link's DNS domain. Is that the right behavior?

@ericdalling that's very surprising, are you using one of our example PL configurations by any chance?

@linouk23 thanks for sharing that example, I hadn't seen that before. Most of what we are doing looks the same, except for the Route53 resources. So will this only work if we create the Route53 private hosted zone to override the URLs for the REST endpoints? I'm not sure that is the best approach. It seems like it would be better to have an optional variable at the resources that need to connect to the cluster to override the cluster's URL. This way we could pass in the private links URL and not need to use Route53. I'm not sure we will get approved to setup Route53 in our build team's AWS account.

@ericdalling the example I sent corresponds to our tutorial:

Any DNS provider can be used - AWS Route53 (used in this example) is not required. Any DNS provider that can ensure DNS is routed as follows is acceptable.

It seems like it would be better to have an optional variable at the resources that need to connect to the cluster to override the cluster's URL. This way we could pass in the private links URL and not need to use Route53. I'm not sure we will get approved to setup Route53 in our build team's AWS account.

That sounds interesting, it'd be great if could share this config in a PR or something.
Did you include depends_on block for your api_key resource like this?
# The goal is to ensure that
  # 1. confluent_role_binding.app-manager-kafka-cluster-admin is created before
  # confluent_api_key.app-manager-kafka-api-key is used to create instances of
  # confluent_kafka_topic resource.
  # 2. Kafka connectivity through AWS PrivateLink is setup.
  depends_on = [
    confluent_role_binding.app-manager-kafka-cluster-admin,

    confluent_private_link_access.aws,
    aws_vpc_endpoint.privatelink,
    aws_route53_record.privatelink,
    aws_route53_record.privatelink-zonal,
  ]

@linouk23 in the tutorial that you shared, it says

Paste Confluent Cloud DNS into Domain Name. This can be found in the Confluent Cloud Console.

Is that referring the the Private Link's DNS Domain? If so, it doesn't appear that the DNS Domain is available as an output variable on the confluent_network resource. As a future enhancement, would it be possible to add the DNS Domain as an output variable for the confluent_network resource?

As a future enhancement, would it be possible to add the DNS Domain as an output variable for the confluent_network resource?

That's a great idea, https://github.com/confluentinc/terraform-provider-confluent/issues/40

@ericdalling we're happy to let you know we've just released 0.9.0 version of TF Provider that includes dns_domain and zonal_subdomains computed attributes for confluent_network resource.

Hello,
I am still getting above error.
Is this check of validation of API key against actual clsuter disabled ?
I tried another work around of giving wait time but that also does not work?

@maheshbhole see https://github.com/confluentinc/terraform-provider-confluent/issues/51#issuecomment-1159592017

thanks @linouk23 🙌


Redstone Conduits (Both Types) Don't cause Block Updates

The redstone conduits and insulated redstone conduits don't cause block update when they change state. This causes things such as the lights to not turn on or off when the redstone signal's state toggles.

Recently I have discovered that a similar situation is happening with the control of a Big Reactor.
In my current single player game (using endercore 20 + enderio 408) I have a power monitor set up between a Big Reactor and a capacitor bank, using insulated redstone conduit, to automatically control the reactor turning on and off, but this funtionality is no longer working.
The power monitor is correctly emitting a redstone signal, and the conduit is transferring that signal (visually confirmed by placing vanilla redstone beside the conduit, which lights up), but it will not trigger the reactor's redstone port to turn the reactor on or off.

What kind of lights? Redstone conduits definitely send out neighbor updates.

Here you can see a vanilla redstone lamp, and RedLogic lamps.
The redstone conduit will not update the blocks to turn the lamps on, though it does update vanilla redstone:

If another block update occurs, such as placing a block beside the lamp, then it will light up:

This is the same behavior I was experiencing, though I didn't try with plain redstone. It also doesn't seem to matter what kind of light is used, or from what mod.

I just attempted to update my pack from EnderIO <IP_ADDRESS>1 to EnderCore <IP_ADDRESS>_beta and <IP_ADDRESS>3_beta and immediately ran into this with my (nearly 100% EnderIO) Enderman farm.
I have a powered spawner and a killer joe on each wall all controlled by a single lever. Everything is EIO, no vanilla (or other kind) of redstone. Switching the lever usually had no effect on the powered spawner or the killer joes - they'd hit me despite turning the lever off and the spawner would keep spawning. As soon as I triggered any kind of block update manually next to a given EIO machine, it would enter the correct state.

I ran into the same problem when I updated my pack with "EnderIO-1.7.10-<IP_ADDRESS>3_beta" and "EnderCore-1.7.10-<IP_ADDRESS>_beta.jar ". I had an EIO power meter controlling a Big Reactors reactor via it's redstone port.
Power storage was measured from two vibrant capacitors. The power meter reads stored power correctly and outputs a redstone signal (I can see the conduit light up) when storage hits the indicated percentage, but the redstone port of the reactor does not activate. I observed that when I broke the conduit segment which is connected to the RS port, the port lights up and also activates the reactor  (probably because there was a conduit segment connected to the reactor wall next to the port by default). I also observed that when placing a section of vanilla redstone dust between the conduit and the reactors RS port, it will work as intended.
I also have a Galacticraft airlock in my base, which is opened with a redstone signal via EIO redstone conduits. Currently this functions as it should. The setup consists of two Project Red illumar buttons which transmit signal via PR red alloy wire to the PR redstone toggle latch. This latch transmits it's toggle signal to EIO redstone conduit which in turn activates the air lock controller.
I can get a workaround for my reactor problem using either MFR rednet cables or PR red alloy wires, but I hope this bug is resolved, because the EIO redstone conduits (and the mod in general) are extremely awesome :)

Huge thanks to HenryLoenwind for basically fixing this for me once I found the method with the problem.
Also, honestly, tterrag really found the method.

I still have the problem where the redstone conduits are not updating properly. There are no other mods installed. Its a test world made especially to test. Versions of the mods are below.
Minecraft 1.7.10
Forge mod loader <IP_ADDRESS>6-1.7.10
EnderIO 1.7.10-<IP_ADDRESS>5
EnderCore 1.7.10-<IP_ADDRESS>


first: commit

first: commit

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


fuzz: Adding lazy map threshold config to headermap fuzzer

Signed-off-by: Adi Suissa-Peleg<EMAIL_ADDRESS>Commit Message: fuzz: Adding lazy map threshold config to headermap fuzzer
Additional Description:
Adding a configuration parameter to the headermap fuzzer testing the lazy-headermap.
Risk Level: Low (tests only)
Testing: Adding to a fuzzer
Docs Changes: None.
Release Notes: None.

@asraa please take a look

Thanks! Could you take a quick look at compile_time_options?

Ok, that was strange.
Building with clang's libc++ (--stdlib=libc++) doesn't trigger the assertion, but when building with GCC's it does.
The remove_if code where the assertion has triggered was recently updated (merged latest main), and by using both libraries no assertion failed.


OpenCV(4.2.0) /io/opencv/modules/highgui/src/window.cpp:634: error: (-2:Unspecified error) The function is not implemented

System information (version)
OpenCV => 4.2.0
Operating System / Platform => Windows 10
Compiler => Juypter Hub

I am getting an error while running this code:
img = cv2.imread("Screenshot.png")
cv2.imshow(" ", img)

Error: OpenCV(4.2.0) /io/opencv/modules/highgui/src/window.cpp:634: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow'

Installation process was:
 pip install opencv-python-headless
By going through this issue it seems that I cannot use cv2.imshow() on a remotely hosted jupyter. Is there any workaround except for switching compiler?

The issue is not related to this repository. It's related to your environment and how you use opencv-python. There are questions regarding this at Stack Overflow, see for example https://stackoverflow.com/questions/55231943/how-to-use-opencv-in-a-remote-jupyter-notebook-execution
opencv-python-headless does not include GUI support (as explained by berak in the linked issue). Please read the README file and do as it suggests: uninstall opencv-python-headless and install opencv-python and you will get support for cv2.imshow etc.
BUT as your code runs on a remote machine, you'll need X11 forwarding to see the remote system GUI windows on your local machine. Please seek help for example at Stack Overflow. This repository is just an automated build toolchain which creates pre-built OpenCV packages for Python.


⚠ Bofrost.lu has degraded performance

In f095aad, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2546 ms

Resolved: Bofrost.lu performance has improved in bf635a4 after 7 minutes.


Fix verification issue with token expiration check

No fix needed. Using pyjwt==2.1.0 solves the issue.


docs: sphinx 1.4.2

Signed-off-by: Tibor Simko<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling 6474b6ac40af3a059b128ab0bd5c0742c75756af on tiborsimko:sphinx-1.4 into 19b4ffe40280fbf3580c2b42233b0248d47bfa50 on inveniosoftware:master.


fix: update lu related packages to released version

Description
the released version is 4.9.0

Task Item
refs #3018

Screenshots

Coverage remained the same at 0.0% when pulling d329330e3eae20bca4c4b214605ed25a8922e9c5 on lei9444:luversion into 85589115a7f24ee94c1c7768f407dc011744dba7 on microsoft:master.


415 error when sending an email

Issue Summary
Response when sending an email:
{ statusCode: 415,   body: '{"errors":[{"message":"Content-Type should be application/json.","field":null,"help":null}]}',   headers:     { server: 'nginx',      date: 'Tue, 21 Jun 2016 15:41:30 GMT',      'content-type': 'application/json',      'content-length': '92',      connection: 'close',      'x-frame-options': 'DENY' } }
My code
    var helper = require('sendgrid').mail;
    var mail = new helper.Mail();
    var email = new helper.Email("**myemail**", "Team");
    mail.setFrom(email);

    mail.setSubject("Select your pack");

    for(var i=0; i< list.length; i++) {
        var personalization = new helper.Personalization();
        var substitution;
        email = new helper.Email('**myemail**', '**myname**');
        personalization.addTo(email);
        substitution = new helper.Substitution("%src%", "https://example.com/");
        personalization.addSubstitution(substitution);
        mail.addPersonalization(personalization);
    }

    mail.setTemplateId('my-template-id');

    var toSend = mail.toJSON();

    var requestBody = toSend;
    var request = sg.emptyRequest();
    request.method = 'POST';
    request.path = '/v3/mail/send';
    request.requestBody = requestBody;
    sg.API(request, function (response) {
     console.log(response);
    });

Technical details:

sendgrid-nodejs Version: 3.0.5
Node.js Version: 6.2.0

Seems the issue is with line  line
request.requestBody = requestBody;
I took it from
https://github.com/sendgrid/sendgrid-nodejs/blob/master/examples/helpers/mail/example.js#L146
should be
requestPost.body = requestBody
Might want to update this so that others don't have a similar issue

Hello @yonib05,
Thank you for taking the time to give us the heads up and share the fix. We'd like to send some swag your way.
Please email us at<EMAIL_ADDRESS>with your T-shirt size.
Thanks!


feat(proto)!: Condense redundant queries into market_summary

Description

Removes individual queries which are already fields in market_summary.
Adds new fields to market_summary.
Updates tests.
Leaves TODOs for implementations of the token market limits #1162 and #1163

closes: #1164

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[x] included the correct type prefix in the PR title
[x] added ! to the type prefix if API or client breaking change
[x] added appropriate labels to the PR
[x] targeted the correct branch (see PR Targeting)
[x] provided a link to the relevant issue or specification
[x] added a changelog entry to CHANGELOG.md
[x] included comments for documenting Go code
[x] updated the relevant documentation or specification
[x] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@bcd9aaa). Click here to learn what that means.
The diff coverage is 61.97%.

@@           Coverage Diff           @@
##             main    #1188   +/-   ##
=======================================
  Coverage        ?   47.73%
=======================================
  Files           ?       65
  Lines           ?     7564
  Branches        ?        0
=======================================
  Hits            ?     3611
  Misses          ?     3706
  Partials        ?      247

Impacted Files
Coverage Δ

x/leverage/client/cli/query.go
0.00% <ø> (ø)

x/leverage/types/query.pb.gw.go
0.00% <0.00%> (ø)

x/leverage/keeper/grpc_query.go
20.27% <80.95%> (ø)

x/leverage/client/tests/tests.go
100.00% <100.00%> (ø)

Heads up analytics (@khoerling) frontend (@EbrahimUmee) - query changes here, most importantly eliminating solo queries for anything that is a field in market summary.
For frontend, note that just like available_borrow, there are also available_withdraw and available_collateralize fields that could place upper limits on whale-sized transactions (or any transactions if market conditions were extreme).
In addition, a lot of the new market summary fields could make good graphs if we're really getting into market details (e.g. graphing liquidity vs collateral * uToken exchange rate and minimum_liqudity.


JSON empty addresses list should be represented by an empty array

I have noticed that invoking a GET operation on the address REST API when there are no addresses defined, I received the following :
{"apiVersion":"enmasse.io/v1","kind":"AddressList"}
Maybe it could be better having the "items" field as where with an empty array as a value so :
{"apiVersion":"enmasse.io/v1","kind":"AddressList","items":[ ]}
For completeness and clarity.
What do you think ?

I agree, this is how its done for kubernetes resources in general


Extend module _video_experiment by new colorscheme variants

extend enum ColorType of module _video_experiment by type YUV
implement handling of the type for each encoder
test new color type, write test for each encoder

Take


make normalization features selectable?

Would you consider adding to the api the ability to select certain normalization features and not select others? In particular, some OCR texts use capitalization more liberally than your process expects, and I would want to turn this normalization feature off.

The 0.5 release has the ability to set which of the various normalisations you want to do (in any combination).


Added a POC test using the Arquillian Graphene framework

This change is

Can one of the admins verify this patch?

closing without merging due to the removal of the java based test framework


Screen resolution vs options for shader graph

Operating system or device - Godot version:
ArchLinux with Godot 2.1.4 Beta
Issue description:

Screen resolution vs options for shader graph

Steps to reproduce:
Into 3D View
Add Spatial into new scene
Add TestCube
New Shader Material
New Material Shader Graph
On Fragment Tab click with RMB
Link to minimal example project:

just subscribing to comments

@MarianoGnu

It should be like Visual Script, with a side list of categorized options.

@akien-mga thx i was looking tor that button but didn't see it

@vnen i dont think it's worth doing that for 2.1, but adding submenus is still worth and possible IMO

Still reproducible in the current master branch (I suppose, OP did not write what the problem actually is). All options can be accessed but you need to scroll down, and it doesn't look very good.

Scrolling down is ok, but the fact that there is no padding between the bottom of the popup and the bottom of the Godot window makes it unclear whether you're actually seeing the last options or not.

OP was meaning about Godot 2.1.4, this is a new issue actually, because the visual shader code is not shared between versions anymore

@akien-mga Fixed in 3.2, I think this should be closed cuz we are no longer provide support for the non-critical bugs in the 2.x branch.


PAD symbols change the output

Adding [PAD] symbols to an input sentence changes the output of the model. I put together a small example here:
https://gist.github.com/juditacs/8be068d5f9063ad68e3098a473b497bd
I also noticed that the seed state affects the output as well. Resetting it in every run ensures that the output is always the same. Is this because of layernorm?

Hi Judit:

Regarding the padding: you should send an attention_mask with the input if the input is smaller than the tensor you are sending in (see the description on BertModel in the README).
Regarding the seed: don't forget to put your model in eval mode (model.eval())  to disable the dropout layers.

@thomwolf
Despite the attention_mask the values are a slightly different.
It is normal that [PAD] vectors have different values?
from pytorch_transformers import BertModel
from rest.run_glue import *

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', do_lower_case=False)
model = BertModel.from_pretrained('bert-base-uncased')
model.eval()

torch.manual_seed(0)
sent = "this is a complicated sentence [SEP]"
tokens = ['[CLS]'] + tokenizer.tokenize(sent)
ids = tokenizer.convert_tokens_to_ids(tokens)
t = torch.LongTensor([ids])

with torch.no_grad():
    out = model(t)[0]

torch.manual_seed(0)
sent = "this is a complicated sentence [SEP]"
tokens = ['[CLS]'] + tokenizer.tokenize(sent)
tokens.extend(['[PAD]'] * 3)
ids = torch.tensor(tokenizer.convert_tokens_to_ids(tokens)).unsqueeze(0)
mask = torch.zeros((1, ids.shape[1], ids.shape[1]), dtype=torch.float)
mask[:, :, 0:-3] = 1.0

with torch.no_grad():
    out2 = model(ids, attention_mask = mask[:, 0])[0]

print('------------')
for i in range(out.shape[1]):
    print(i, out[0][0, i].item())

print('------------')
for i in range(out2.shape[1]):
    torch.manual_seed(0)
    print(i, out2[0][0, i].item())

here is the output
------------
0 -0.10266201943159103
1 0.11214534193277359
2 -0.1575649380683899
3 -0.3163739740848541
4 -0.4168904423713684
5 -0.4069269001483917
6 0.28849801421165466
------------
0 -0.10266169905662537
1 0.1121453121304512
2 -0.15756472945213318
3 -0.3163738548755646
4 -0.41689014434814453
5 -0.40692687034606934
6 0.288497656583786
7 0.28312715888023376
8 0.08457585424184799
9 -0.3077544569969177

[PAD]'s are different, is that normal?
7 0.28312715888023376
8 0.08457585424184799
9 -0.3077544569969177

I am having same problem and couldn't find a reason or fix yet.

Due to Position Embeddings every token results in different vectors

Due to Position Embeddings every token results in different vectors.

Could you be more specific? Perhaps refer to exact code? I am still not exactly sure why output changes slightly when using attention mask, when I use differently padded inputs. There should be no self-attention over padded inputs. Self-attention scores are set to large negative number before softmax:
attention_scores = attention_scores + attention_mask
Could it be that sometimes -10_000 might not be enough to get 0 from softmax?


Start on REST API documentation.

Docs are auto-generated and can be viewed at:
http://<IP_ADDRESS>:8000/api-docs/
It pulls info from docstrings, so please add any docs to the field / API endpoint in order for it to get picked up by Swagger.

Decided to go with a simpler approach as this produces a lot of documentation relative to what we want to expose, so closing out this PR.