Many false postives for "remove unused method"

Hey there,
at first thanks for rails best practices - very cool tool.
When running the tool on my project [Tracketytrack] (https://github.com/PragTob/TracketyTrack) I seem to get many false positives telling me to remove unused methods, however these methods are used.
For instance:
./app/models/user.rb:75 - remove unused methods (User#make_salt)

where the method is definitely used (extracted from user.rb:)
def encrypt_password
  self.salt = make_salt if new_record?
  self.encrypted_password = encrypt(password) unless password.blank?
end

def encrypt(string)
  secure_hash("#{salt}--#{string}")
end

def make_salt
  secure_hash("#{Time.now.utc}--#{password}")
end

make_salt is used right at line 2.
For all the methods that are claimed to be unused check [this gist] (https://gist.github.com/1861498) - I can't guarantee right now that all of them are really used but the majority totally is (otherwise shame on me and my team!). But every method I checked so far is used and some of them pretty essential :-)
Oh I'm using 1.7.2.
Thank you!

I just released rails_best_practices 1.8.0, it should fix some wrong warnings, please try it.
btw, I also released an online service, http://railsbp.com, it provides the service based on rails_best_practices.

Hey - thanks for the update. Some of the errors went away but there are still a lot of them in [this gist] (https://gist.github.com/1908317)
many of them are in the helpers we use for sign in/accessing the current user/project etc.
also in our sprint model many methods are flagged as unused, for instance user_stories_completed - but it is used in line 113.
it is right however about actual sprint, it's really not used - thanks - right now I got a lot to do but if I get the time I'll have a closer look at it to see which ones are false positives and remove all the real positives, push and post here again (could take some time though).
railsbp.com doesn't work though, can't sign in with github :-(

Yes, rails_best_practices doesn't parse module well, I will improve it in the future.
I checkout TracketyTrack project, but I didn't see warning of Sprint#user_stories_completed, I guess you didn't push the codes yet, right?
Could you try railsbp.com with githug login? It's important for me, I can sign in, could you give me more info about this?

That's weird. Code is up to date and on the master branch. The method can be found [here] (https://github.com/PragTob/TracketyTrack/blob/master/app/models/sprint.rb#L65).
I double checked that my gem version is 1.8.0 - the output I get is the one in the gist with 32 warnings reported.
For railsbp.com shall I open a ticket in the appropriate repo and we continue the discussion there? When I click "Sign in with github" nothing apparently happens, well the page is reloaded but the button is still there. And I'm doing this while being logged in with github. railsbp.com is an authorized application and JavaScript is enabled.

The code is same to you, but rails_best_practices didn't treat it as an unused method.
Please submit railsbp.com issues here, https://github.com/railsbp/railsbp.com/issues, thanks

Well I don't know why but on my machine rails_best_practices version 1.8.0 definitely treats it as an unused method, my output still contains this line:
./app/models/sprint.rb:65 - remove unused methods (Sprint#user_stories_completed)

Hey,
I removed the positives for unused methods (e.g. checked every unused method reported by RBP) and now all unused methods should be false positives. The original example with User#make_salt is also still in there. You can check the output in [this new gist] (https://gist.github.com/1912173).
If your version says something else maybe I should check out the github master and try that? Otherwise I have no idea why our outputs might defer...
Cheers

I figure out why, it seems you run rails_best_practices on ruby 1.9.3, but I only promise it works well in ruby 1.9.2 now

Oh didn't see that, sorry. I thought about mentioning the ruby version but didn't think that 1.9.3 vs. 1.9.2 would make such a difference.
With 1.9.2 the false positives are just the helpers - [gist] (https://gist.github.com/1916070).
Thank you and sorry for not mentioning the ruby version...

I know I am late to this game, but I just cleaned up 9 of these in one of our apps, with the latest rbp.  One was a scope that was only used in another scope.  I ended up just putting that code into one scope.  Three were due to complex routes that I would love to remove but there does not seem to be a way to maintain support for our routes - we have 3 controller get methods and when a user does the get, it looks like a show with the action name as the id, rather than the controller method.  Surely we need to fix that, but not sure how yet.  So I added them to the except array.  The 5 other unused ones were actually unused!  I guess those funny routes don't need to be fixed in rbp, but perhaps a scope that is used in another scope is legit, to keep the other scope simple.

I have the same issue.
In #show method of my LocationController I have a helper method. Something like
class LocationsController < ApiController       helper_method :particular_method
The helper_method ':particular_method' is not used in the controller, nonetheless, the helper method is used inside some views and I am getting the warning:

remove unused methods (LocationsController#particular_method)

Same for me, gonna disable, to many false positives.

i got false positives for searchkick gem slug_candidates and search_data methods


question: Connecting to Smoothie without OT Linux

I am trying to do some development beyond the scope of typical "protocols" and therefore want a high level of control over the machine that is connected to the Smoothieboard. (I have considered the various alternatives). It seems to me that I might be able to take an SD card containing a standard Raspbian distro, run pip install opentrons and have control over the robot. Unfortunately it hasn't been quite so simple and I wondered if anyone had any tips.
In my current configuration if I try to specify a port I get:
>>> robot.connect("/dev/ttyAMA0")
Traceback (most recent call last):
  File "/home/pi/bare/lib/python3.6/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py", line 1123, in _setup
    self._wait_for_ack()
  File "/home/pi/bare/lib/python3.6/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py", line 907, in _wait_for_ack
    self._send_command('\r\n', timeout=SMOOTHIE_BOOT_TIMEOUT)
  File "/home/pi/bare/lib/python3.6/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py", line 943, in _send_command
    return self._send_command_unsynchronized(command, timeout)
  File "/home/pi/bare/lib/python3.6/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py", line 965, in _send_command_unsynchronized
    5.0, DEFAULT_COMMAND_RETRIES)
  File "/home/pi/bare/lib/python3.6/site-packages/opentrons/drivers/smoothie_drivers/driver_3_0.py", line 1043, in _write_with_retries
    raise serial_communication.SerialNoResponse()
opentrons.drivers.serial_communication.SerialNoResponse

My /boot/cmdline.txt currently contains (thanks to trying various things):
dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=PARTUUID=d59534e0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash
Does anyone have any instincts about what I might be missing? Any thoughts much appreciated.

>>> list_ports.comports()[0].name
'ttyAMA0'

OK I made some progress by adding dtoverlay=pi3-miniuart-bt to /boot/config.txt. Can now connect to robot and ask it to home which it does, but then I get a timeout waiting for a response from Smoothie. Also robot.set_rail_lights_on() has no effect. Trying disabling bt now.

Woop - I think I've finally got it.
My final /boot/cmdline.txt:
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=d59534e0-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash (no ref to AMA0)
Final section of /boot/config.txt:
[all]
#dtoverlay=vc4-fkms-v3d
start_x=1
gpu_mem=128
#dtoverlay=w1-gpio
enable_uart=1
dtoverlay=pi3-miniuart-bt

At this point I could connect with robot.connect("/dev/ttyAMA0") (note you have to specify the full path because normally an environmental variable contains this) but after calling the home command the Smoothie homed but then failed to respond, and commands for turning on the lights work. The problem was that the GPIO pins weren't initialized. Running gpio.initialize() did not fix this on its own. What was missing was running the blinkenlights script (https://github.com/Opentrons/buildroot/blob/opentrons-develop/board/opentrons/ot2/rootfs-overlay/usr/bin/ot-blinkenlights) that starts on startup on a normal OT2.
After running that script everything seems to work! I think it would be awesome to refactor lines 17 to 29 of that script as gpio.enable_robot() or similar and then expose that within robot. Then the Python library becomes self-contained.

Wrote this up: https://github.com/theosanderson/Advanced_OT2/tree/master/Raspbian_OT2

Leaving this open because of the suggestion for simple refactoring - feel free to close it though.

Related issue: APIv2 does not allow the port to be specified in protocol = opentrons.execute.get_protocol_api() so requires the environmental variable to be set. Given that the port parameter is still present downstream it would seem useful to surface this?

Yeah, you're right. There are probably some slightly thorny issues around making sure that function is called only once, but nothing impossible. Feel free to open a PR - and thank you for this and other contributions!


[percentile] Additional sketches for testing algorithms

What does this PR do?
Add additional sketches KLL and CompleteDS (holds all the data) for comparison with GKArray. Also update agent-payload version to include the additional sketches.
Motivation
Need to be able to compare and evaluate the sketch algorithms GKArray and KLL before making a final choice.
Additional Notes
Ultimately, either GKArray or KLL will be chosen, so this is a temporary state while we evaluate the different sketch algorithms.

Added a few s = s.Add(...).(GKArray) lines to make tests pass.
@jeerim you might wanna review again


[RHOAIENG-8613] - update golang to 1.21

chore:	CVE-2023-45288 odh-model-controller-container: Update to Go 1.21+ [rhoai-2.10]

@spolti This is still needed, right?

@israel-hdez IMHO for this https://issues.redhat.com/browse/RHOAIENG-8613, not sure why that issue is in testing state, though :shrug:

@ederign yes
@jstourac I am not sure why it was moved to testing as well.
@ederign please merge.


How to index into an array / get a value?

let z = Vector1::new(2.)

How do I extract 2. from this Vector?

I guess you found the answer of your question. I will answer anyways in case someone else needs it.
There are two possible approaches:

You can index the vector: z[0].
Or you can use the x component of the vector: z.x.

For matrices indexing takes tuples, e.g., matrix[(2, 3)].

What type should I use to index a vector?
let idx:u32 = 34;
println!("{}", Vector3<f64>::new(0.0, 0.0, 0.0)[idx])

the type nalgebra::Matrix<f64, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f64, nalgebra::U3, nalgebra::U1>> cannot be indexed by u32
the trait std::ops::Index<u32> is not implemented for nalgebra::Matrix<f64, nalgebra::U3, nalgebra::U1, nalgebra::ArrayStorage<f64, nalgebra::U3, nalgebra::U1>>

@awarebayes The same type as most array-like Rust collections: usize


Doesn't seem to be joining channels

Hmm, it should probably do this, being an IRC bouncer and all. #6 related.

Related; Should it also store new channels into the db when we receive JOIN events for ourselves? I'm thinking yes so that they can be re-joined on a reconnect.

Yeah I think so as well (at the same time, it can also store the key we're given for the channel too).

Resolved with an update to irc-go and cf1a98ca8bc6039afd89aae68f77ff0dda0433f5. I've marked adding channels to the db as a TODO in the relevant code.


[FEAT]: Add fast delete for chat

What would you like to see?
Hi again guys !!!
The other problem I’m facing is that AnythingLLM fills up with threads, many threads, and it takes me too long to delete them.
For example, in LMSTUDIO, they solve this issue by allowing the user to delete the chat without confirmation by pressing Ctrl+Click on an X. I think that would be a good way to quickly delete chats safely, or also a checkbox where I can select them by workspace.

I propose a bulk deletion using hotkeys and also the option to quickly select with checkboxes and the Shift button.
Thank you very much!

I have created a pull request for a new feature addition: fast chat deletion. Attached is a screenshot showcasing the feature.

I have created a pull request for a new feature addition: fast chat deletion. Attached is a screenshot showcasing the feature.

Ohhh Greaaaat !!! It will be useful, thank u very much bro !


Blj too fast makes you get stuck in nothing while holding down and then the game crashes/freezes

i blj'd in the easy blj spot where sm64js castle is at. i blj'd held down like you do in a castle blj for a speedrun or something but i did hold down i got stuck and then the game froze. here is the vid link it's still preparing to be proccessed but wait till its done the vid will not be watchable yet: https://youtu.be/zmW-Kfvapoc

Seems like an overflow

Could just globally cap it to something high


Small Vec Linear Combinations

Summary
As currently written, a symbolic LC is created on every operation. We should expect that most Symbolic LC's are small, and probably should try to keep things on stack via small vec optimizations, perhaps using https://github.com/servo/rust-smallvec.
We definitely shouldn't switch without a more detailed benchmark suite (getting average symbolic LC size, seeing how much of the time is spent in mallocs, seeing if things actually get faster etc.)

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

A separate proposal would be to avoid the generation of too many symbolic LC.
Currently, each AllocatedFp is associated with a Variable in the constraint system. Thus, mul_by_constant and add would all create a new symbolic LC.
One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

A separate proposal would be to avoid the generation of too many symbolic LC.
Currently, each AllocatedFp is associated with a Variable in the constraint system. Thus, mul_by_constant and add would all create a new symbolic LC.
One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

I think this is a great idea. The alternative idea I was thinking of was to introduce drop semantics to variables, but that was growing in complexity very rapidly.

One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

I think this is a great idea. The alternative idea I was thinking of was to introduce drop semantics to variables, but that was growing in complexity very rapidly.

One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

One way to do this is to change the Variable enum as follows:
pub enum Variable {
	/// Represents the "zero" constant.
    Zero,
    /// Represents of the "one" constant.
    One,
    /// Represents a public instance variable.
    Instance(usize),
    /// Represents a private witness variable.
    Witness(usize),
    /// Represents of a linear combination.
    SymbolicLc(InlineOrIndex),
}

// If possible, let's try to make this *not* public.
enum InlineOrIndex {
	Index(usize),
	Lc(StackVec<(F, Box<Variable>)>), // Need to box to avoid type-recursion
}

The downside of this approach is that Variable is no longer Copy, but can only be Clone; this is a breaking change.

One potential direction is to let AllocatedFp uses a linear combination of variables instead of a symbolic LC, if it is optimized for the number of constraints.

One way to do this is to change the Variable enum as follows:
pub enum Variable {
	/// Represents the "zero" constant.
    Zero,
    /// Represents of the "one" constant.
    One,
    /// Represents a public instance variable.
    Instance(usize),
    /// Represents a private witness variable.
    Witness(usize),
    /// Represents of a linear combination.
    SymbolicLc(InlineOrIndex),
}

// If possible, let's try to make this *not* public.
enum InlineOrIndex {
	Index(usize),
	Lc(StackVec<(F, Box<Variable>)>), // Need to box to avoid type-recursion
}

The downside of this approach is that Variable is no longer Copy, but can only be Clone; this is a breaking change.

Separately, one might want to reduce the memory consumption of Variable by replacing usize with u32. We could also try u48 if u32 is too small; this can be implemented as a new type around [u8; 6] or [u16; 3] or (u32, u16).
Along with coefficient-interning (#122), this could lead to a significant memory improvement.

Separately, one might want to reduce the memory consumption of Variable by replacing usize with u32. We could also try u48 if u32 is too small; this can be implemented as a new type around [u8; 6] or [u16; 3] or (u32, u16).
Along with coefficient-interning (#122), this could lead to a significant memory improvement.

I feel like we will need to eventually remove Copy from Variable anyway. Even in the case of optimizing for density, I think we want to add some drop semantics so that we can prune intermediate, only used once, symbolic LC's from memory. (Which then necessitates removing copy)

Separately, one might want to reduce the memory consumption of Variable by replacing usize with u32. We could also try u48 if u32 is too small; this can be implemented as a new type around [u8; 6] or [u16; 3] or (u32, u16).

Its not clear to me that that is going to be reducing memory. Symbolic LC could still be storing an LC, which is a pointer, which AFAIU takes the same size as usize. (So the stack size taken does not decrease)
I think changing FpVar to directly use a linear combination in both cases may work, since the LC can just store the symbolic variable (which is equivalent to what is already happening)

I feel like we will need to eventually remove Copy from Variable anyway. Even in the case of optimizing for density, I think we want to add some drop semantics so that we can prune intermediate, only used once, symbolic LC's from memory. (Which then necessitates removing copy)

Separately, one might want to reduce the memory consumption of Variable by replacing usize with u32. We could also try u48 if u32 is too small; this can be implemented as a new type around [u8; 6] or [u16; 3] or (u32, u16).

Its not clear to me that that is going to be reducing memory. Symbolic LC could still be storing an LC, which is a pointer, which AFAIU takes the same size as usize. (So the stack size taken does not decrease)
I think changing FpVar to directly use a linear combination in both cases may work, since the LC can just store the symbolic variable (which is equivalent to what is already happening)

Its not clear to me that that is going to be reducing memory under the inline or index API. Symbolic LC could still be storing an LC, which is a vec, which AFAIU takes the same size as 3 * sizeof(usize). (So the stack size taken would increase)

You're right, that optimization is not useful. Separately, to compress the size for SymbolicLC, we could Box that particular variant of the enum.

I think changing FpVar to directly use a linear combination in both cases may work, since the LC can just store the symbolic variable (which is equivalent to what is already happening)

The reason I wanted to put this in ConstraintSystem and not just in FpVar is to enable this for other gadgets too.

Its not clear to me that that is going to be reducing memory under the inline or index API. Symbolic LC could still be storing an LC, which is a vec, which AFAIU takes the same size as 3 * sizeof(usize). (So the stack size taken would increase)

You're right, that optimization is not useful. Separately, to compress the size for SymbolicLC, we could Box that particular variant of the enum.

I think changing FpVar to directly use a linear combination in both cases may work, since the LC can just store the symbolic variable (which is equivalent to what is already happening)

The reason I wanted to put this in ConstraintSystem and not just in FpVar is to enable this for other gadgets too.

Why don't we have gadgets just all use linear combination natively instead of variable? (It can still have some alias / type safety, so that its clear when you're storing it)

Why don't we have gadgets just all use linear combination natively instead of variable? (It can still have some alias / type safety, so that its clear when you're storing it)

In the case of density optimizations, I think we want to keep building it up in LC representation, and condense that into a saved Symbolic LC every time that variable is used in a constraint. That approach has the problem of many operation may mutate both argument. (e.g. a *=  b mutates b).
An alternative to that is that we introduce total_num_refs + drop semantics to Variable. Every time a variable is cloned we increment its total_num_refs. If a variable is dropped and its total_num_refs was 1, we know it was an intermediate variable, and it can be pruned from the symbolic LC map.

In the case of density optimizations, I think we want to keep building it up in LC representation, and condense that into a saved Symbolic LC every time that variable is used in a constraint. That approach has the problem of many operation may mutate both argument. (e.g. a *=  b mutates b).
An alternative to that is that we introduce total_num_refs + drop semantics to Variable. Every time a variable is cloned we increment its total_num_refs. If a variable is dropped and its total_num_refs was 1, we know it was an intermediate variable, and it can be pruned from the symbolic LC map.

Copying over from another issue:
I think there are two approaches:

We have linear combinations either in the variable directly, or in the lc_map, but not in both. This way, if we inline LCs, then when the variable goes out of scope, the memory for the LC is freed immediately, and we don't have to clean up the lc_map.

 Not sure how expensive this would be, though. This latter approach is similar to your approach

Separately, it would also be worthwhile to consider what can be done for density optimizations; the foregoing mostly only makes sense when optimizing for constraints.

Copying over from another issue:
I think there are two approaches:

We have linear combinations either in the variable directly, or in the lc_map, but not in both. This way, if we inline LCs, then when the variable goes out of scope, the memory for the LC is freed immediately, and we don't have to clean up the lc_map.

 Not sure how expensive this would be, though. This latter approach is similar to your approach

Separately, it would also be worthwhile to consider what can be done for density optimizations; the foregoing mostly only makes sense when optimizing for constraints.

If a variable is dropped and its total_num_refs was 1, we know it was an intermediate variable, and it can be pruned from the symbolic LC map.

Every variable is eventually dropped, so we can't necessarily prune, if we want to have the "outlining" optimization available to use.

If a variable is dropped and its total_num_refs was 1, we know it was an intermediate variable, and it can be pruned from the symbolic LC map.

Every variable is eventually dropped, so we can't necessarily prune, if we want to have the "outlining" optimization available to use.

Every variable is eventually dropped, so we can't necessarily prune, if we want to have the "outlining" optimization available to use.

Err total_num_refs was probably the wrong name. I meant it as max_num_refs, e.g. if there was ever more than 1. On further thought, this should instead be a boolean. (Perhaps re_used_lc as the name) And then every time a constraint is created from an LC, that lc gets saved to the LC map.

Every variable is eventually dropped, so we can't necessarily prune, if we want to have the "outlining" optimization available to use.

Err total_num_refs was probably the wrong name. I meant it as max_num_refs, e.g. if there was ever more than 1. On further thought, this should instead be a boolean. (Perhaps re_used_lc as the name) And then every time a constraint is created from an LC, that lc gets saved to the LC map.


Perfect the project push script

Coverage decreased (-0.6%) to 43.206% when pulling b9c87291c1e88a1fa8673be14fbcd1c0ed2c750d on BlBana:master into 1a7dac18518e6cbf8e47520c24d9563c82e04309 on wufeifei:master.

Coverage decreased (-0.6%) to 43.206% when pulling fa841011a25cfa07203d5b7af0dc6f3bb2ac58fc on BlBana:master into 1a7dac18518e6cbf8e47520c24d9563c82e04309 on wufeifei:master.

Coverage decreased (-0.6%) to 43.206% when pulling 1af337c000673ead1aa58b05823bd996943268c3 on BlBana:master into 1a7dac18518e6cbf8e47520c24d9563c82e04309 on wufeifei:master.


include UDMA smart error counts in history

add UDMA error counts that can be monitored over time. just output it in monitor_disk logfile I think

added


Trying to understand the Conv modulation

Hello, in the paper authors stated that: "The difference is that the convolutional kernels are static while the attention matrix generated by self-attention can adapt to the input"
Yes, the statement is indeed correct. However, I still don't quite get why authors wrote it like that, and please correct me if I'm wrong in this one.
Considering Self-attention first. During inference, attention matrix are generated using a Linear layer. Therefore it can adapt to the input. Next, is Conv. Can't we treat the whole conv modulation as one conv where: the kernel of conv modulation is generate using a conv layer, therefore this kernel of this conv modulation can adapt to the input as well?

Thanks for the question. Personally speaking, this is correct. However, the model you describe seems difficult to be optimized according to my experiences and hence yields worse performance than using convolutions only. But I am not sure on that.

Thanks for the question. Personally speaking, this is correct. However, the model you describe seems difficult to be optimized according to my experiences and hence yields worse performance than using convolutions only. But I am not sure on that.

The model I described was almost the same as yours in the paper. So it means the Conv modulation module in Conv2Former is indeed "adapt to the input" right? Since the statement "The difference is that the convolutional kernels are static while the attention matrix generated by self-attention can adapt to the input" feels like you're denying it. Sorry if I misinterpret your statement

@houqb Hello any updates on the situation?

My saying about the kernels are static is true. If you view the feature maps generated by convs as the kernels of conv modulation, that might be true.

My saying about the kernels are static is true. If you view the feature maps generated by convs as the kernels of conv modulation, that might be true.

Thank you


[TASK]: Smarter Terarium CI-build

Currently as part of client/server build in Terarium, regardless of where things have been changed we create new versions of

gollm-taskrunner
mira-taskrunner
With funman-taskrunner to be added to the collection

Ideally we would only build them if the relevant files had been changed. This would save build time/resources and we don't need to constantly pulling down task runner images.
Note there are a few slight caveats in terms of how the files are setup:

The MIRA task scripts are within Terarium, while
The GoLLM scripts on the other hand are in the gollm repo

close by #3369


aggregate cursor error

Hi@verkhoumov , I'm using your mongodb library but I have a problem, I get this error when I query on mongoDB. I would be very happy if you help
$ops = array(
array('$lookup'=> array('from'=>'balances', 'localField'=> '_id', 'foreignField'=>"OrderID", 'as'=> "balances"))
);
$orders = $this->mongo_db->aggregate('orders', $ops);
print_r($orders);

I solved it by add 'cursor' in to my aggregate option.
Here is my full query code
$this->mongo_db->aggregate( 'user_infos',[ [ '$match' => ['phone' => $PhoneNumber], ],[ '$project' => [ 'fullname' => 1, 'password' => 1, 'branch_id' => 1 ] ],[ '$lookup' => [ 'from' => 'company_branches', 'localField' => 'branch_id', 'foreignField' => '_id', 'as' => 'branchInfo' ] ],[ 'cursor' => [ 'batchSize' => 0 ] ] );


Enable Logging for CosmosDB Component

CosmosDB doesn't log to ILogger by default. We need to enable it. See https://learn.microsoft.com/azure/cosmos-db/nosql/sdk-observability?tabs=dotnet for how to use the AzureEventSourceLogForwarder to forward its logs to an ILogger.
cc @Pilchie

This seems important.

@Pilchie - is this something your team is planning on implementing?

@kundadebdatta - can you reply to this issue so I can assign it to you?


fixed external methods elimination by optimizer

Run optimizer each time before evaluation rather then partially after each command (in repl)

utACK
It seems that currently the optimized module is never returned yet?

Yes, that’s true, function returns non optimized module. Optimized module is printed on screen and used for calculation (inside runJIT function)


add callback before execute and tracer options.

@KevGoDev  Opening this PR here so we can review and work on it.

@isra17 Updated PR, let me know if there's anything else to improve!

Update again, if there's anything left just let me know!


Request: Can you make this available outside Chine mainland?

Hi all, this looks amazing! As I'm in Europe, I can't use it though… And that's a shame ;)
Is there any change you can make this integration usable outside China mainland?
Thanks and keep up the great work!

You should try this https://github.com/itchannel/fordpass-ha

You should try this https://github.com/itchannel/fordpass-ha

Thank you for sharing. I already use this integration, but yours is better looking (and has (visual) window/lock status) ;)

Do you mean the card is cool?
This intergration provides similar functionality you are using, like window status and lock/unlock etc, it looks better because those cards?
Do you need the configurations of my cards?

You should try this https://github.com/itchannel/fordpass-ha

Thank you for sharing. I already use this integration, but yours is better looking (and has (visual) window/lock status) ;)

Do you mean the card is cool?
This intergration provides similar functionality you are using, like window status and lock/unlock etc, it looks better because those cards?
Do you need the configurations of my cards?

Indeed, the card looks very cool. Sharing that configuration might help me, thanks

You should try this https://github.com/itchannel/fordpass-ha

Thank you for sharing. I already use this integration, but yours is better looking (and has (visual) window/lock status) ;)

Do you mean the card is cool?
This intergration provides similar functionality you are using, like window status and lock/unlock etc, it looks better because those cards?
Do you need the configurations of my cards?

Indeed, the card looks very cool. Sharing that configuration might help me, thanks

Configuration of cards
type: vertical-stack
cards:
  - type: vertical-stack
    cards:
      - type: picture-elements
        image: /local/images/focus.png
        entity: binary_sensor.XXXXXXXXXXXXXXXXX_ignition_status
        elements:
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_driver_door
            style:
              top: 80%
              left: 27%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_driver_door
            style:
              top: 80%
              left: 34%
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_driver_window
            style:
              top: 87%
              left: 27%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_driver_window
            style:
              top: 87%
              left: 34%
              text-align: left
          - type: state-icon
            entity: sensor.XXXXXXXXXXXXXXXXX_left_front_tire_pressure
            style:
              top: 94%
              left: 27%
          - type: state-label
            entity: sensor.XXXXXXXXXXXXXXXXX_left_front_tire_pressure
            style:
              top: 94%
              left: 37%
              text-align: left
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_left_rear_door
            style:
              top: 80%
              left: 67%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_left_rear_door
            style:
              top: 80%
              left: 74%
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_rear_driver_window
            style:
              top: 87%
              left: 67%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_rear_driver_window
            style:
              top: 87%
              left: 74%
              text-align: left
          - type: state-icon
            entity: sensor.XXXXXXXXXXXXXXXXX_left_rear_tire_pressure
            style:
              top: 94%
              left: 67%
          - type: state-label
            entity: sensor.XXXXXXXXXXXXXXXXX_left_rear_tire_pressure
            style:
              top: 94%
              left: 77%
              text-align: left
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_passenger_door
            style:
              top: 5%
              left: 27%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_passenger_door
            style:
              top: 5%
              left: 34%
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_passenger_window
            style:
              top: 12%
              left: 27%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_passenger_window
            style:
              top: 12%
              left: 34%
              text-align: left
          - type: state-icon
            entity: sensor.XXXXXXXXXXXXXXXXX_right_front_tire_pressure
            style:
              top: 19%
              left: 27%
          - type: state-label
            entity: sensor.XXXXXXXXXXXXXXXXX_right_front_tire_pressure
            style:
              top: 19%
              left: 37%
              text-align: left
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_right_rear_door
            style:
              top: 5%
              left: 67%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_right_rear_door
            style:
              top: 5%
              left: 74%
          - type: state-icon
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_rear_pass_window
            style:
              top: 12%
              left: 67%
          - type: state-label
            entity: binary_sensor.XXXXXXXXXXXXXXXXX_rear_pass_window
            style:
              top: 12%
              left: 74%
              text-align: left
          - type: state-icon
            entity: sensor.XXXXXXXXXXXXXXXXX_right_rear_tire_pressure
            style:
              top: 19%
              left: 67%
          - type: state-label
            entity: sensor.XXXXXXXXXXXXXXXXX_right_rear_tire_pressure
            style:
              top: 19%
              left: 77%
              text-align: left
  - type: entities
    entities:
      - entity: sensor.XXXXXXXXXXXXXXXXX_odometer
        name: Odometer
  - type: horizontal-stack
    cards:
      - type: gauge
        entity: sensor.XXXXXXXXXXXXXXXXX_fuel
        min: 0
        max: 100
        severity:
          green: 50
          yellow: 30
          red: 10
        name: Fuel
      - type: gauge
        entity: sensor.XXXXXXXXXXXXXXXXX_range
        min: 0
        max: 700
        severity:
          green: 200
          yellow: 100
          red: 50
        name: Range
      - type: gauge
        entity: sensor.XXXXXXXXXXXXXXXXX_oil_life
        min: 0
        max: 100
        severity:
          green: 50
          yellow: 30
          red: 10
        name: Oil Life
  - type: horizontal-stack
    cards:
      - type: entities
        entities:
          - type: custom:toggle-control-button
            entity: lock.XXXXXXXXXXXXXXXXX_lock
            name: Lock
            customTheme: true
            unlockedColor: RED
            lockedColor: '#43A047'
            customUnlockingText: WAIT
            customLockingText: WAIT
            width: 70px
            state_color: true
      - type: entities
        entities:
          - type: custom:toggle-control-button
            name: Remote Start
            entity: switch.XXXXXXXXXXXXXXXXX_remote_start
            customTheme: true
            isOnColor: RED
            isOffColor: '#43A047'
            isOnTextColor: white
            isOffTextColor: white
            customOnText: STOP
            customOffText: START
            width: 70px
            state_color: true
  - type: glance
    entities:
      - entity: sensor.XXXXXXXXXXXXXXXXX_battery_health
        name: Battery Health
      - entity: sensor.XXXXXXXXXXXXXXXXX_battery_voltage
        name: Battery Voltage

You can find toggle-control-button in there

Thank you so much!


Improve error message: "Bad syntax" is imprecise

#lang nanopass
(define-language Lsrc
(entry Expr)
(terminals)
(Expr (e)
1))

this error was fixed along with fixes for #13.


Perform debug builds under debug profile

Is this appropriate for the ios target? I'm assuming it would use clang, and -g is compatible and desirable.

Oh wow, this is like the one thing you expect gcc-rs to do and I forgot to do it, thanks!
I think /DEBUG on MSVC is just a flag to the linker, not the compiler itself, but I think /Z7 should do the trick.
Also yeah calling gcc or clang with -g should be fine.

D'oh! Fixed.

Thanks!


use hdf5 from maven

using hdf5 bindings library from maven central (source here: https://github.com/broadinstitute/hdf5-java-bindings)

deleted all HDF5 setup info from Readme because it should work automagically now.
removed install steps from travis
removed hardwired locations and java libarry path dancing from build.gradle
updated gradle to 2.13 (something blew up without it, dont remember what)
changed imports to use new library
loading the library on start of any tool that uses it and throw UserException if that fails

@lbergelson can you have a look?
btw, how/when should the library be loaded? Should we put it on the top of main somewhere (would require moving this to public, which is not a bad idea in itself)

(sorry about the multiple commits. will squash before merging)

@SHuang-Broad was able to use this branch on his 'almost vanilla' osx 10.11 install

@akiezun I'm not sure where the right place to load this is.  I think that it depends on what happens if you try to call a method that relies on it but it isn't loaded?  Do we get a sane error?
Since HDF5 native is mandatory for the tools that rely on it, I think that it's not too terrible to have an upfront check in those tools to make sure that it works and a helpful error message if it doesn't.  That only makes sense if you get a reasonable error message if you forget to load it manually though.
I would prefer if we don't push it into main unless we also had some code that uses it in public, since I think that would add additional complexity and another potential point of failure without much benefit.  Better to keep public with the minimal number of dependencies.

+61 -1356 is a nice change!

@lbergelson are you done reviewing? how do you want to proceed?

@akiezun Done reviewing, interested to hear what the error is for running hdf5 calls with an unloaded library.
I think it's probably best to just do what you've done and put the library loading at the start of each of the tools that use the library.  That way it's very clear what's happening.  It's a bit awkward to have to load it at the start of every tool, but since it's required for those tools to work at all, it's better to have a check upfront instead of failing later on.  We wouldn't want to fail during main though, since most tools are unaffected by HDF5 failures.
The only other places I see that we could put it would be in some static block which always has it's own problems,  or extend the GatkTool base classes with a requiresHDF5 method which seems like it's integrating this niche thing to deeply into our core classes.
I might make a static method somewhere that does the load check and fail so that the error messages remain consistent between tools.
Maybe that should be something we should add to the GatkNative interface itself, instead of having just boolean load() we could have boolean tryLoad and void loadOrDie.  That way the library itself could provide more detailed information about why it failed to load correctly.

merging then. enter tickets or PRs for improvements


Add svg animation on landing page

Fixes #61
I am not the best webdev there is, especially when it comes to aesthetics. Not sure where to position the image, so please give me some feedback.
I added a <style> element as a fallback when javascript is disabled and the image is loaded externally.

How about this?
https://github.com/karmanyaahm/documentation/commit/116c4eb22efdb741d179755708de5c10760bffd1
It makes the image fill match the font color set by the theme.

And this? https://github.com/karmanyaahm/documentation/commit/321e98828e471ca38637155a5177f1da9739a283
Also, on no js, setting the background color of the object black is visually an easy fix to make things legible, but it looks out of context.

Woops, I couldn't make sense out of what you wrote, but it turns out I forgot to add the svg :P
I intended for some of the css you wrote to be inside the svg, as you can see. This can be changed, however, I don't have strong feeling, except that I don't really like having !important. I am not sure about adding a class to the element in javascript, it sounds simpler to create a class, and have the object as a child.
I also set the default svg background to the same one as the website, that way it works better without javascript.

At least on my browser, not closing the object with </object> explicitly, hides the remainder of the page.

Other than that, I'm good with merging this.

Also, we don't need a class anymore now that the css is inside the svg.

not closing the object with  explicitly, hides the remainder of the page.

Thanks for spotting this, that's a mistake on my side, I inserted the object in the html to test, and copy-pasted it in the markdown without the closing tag, without testing further.


Ability to make notifications less noisy.

Room new post notifications allow something inbetween muting the whole room and showing all message notifications. For example new comments could be notified on instead of responses to comments, or only Quotes, or responses of comments you posted could be notified on but not new comments. Or only comments by new users could be notified on or repeat postings by one users could not be notified on, so it only notifies on initial post and not 20 follow on posts.

I’m not really sure about how any of those would work but Riot web does have a couple more levels of notifications which don’t exist on iOS, the issue for that is https://github.com/vector-im/riot-ios/issues/475

Duplicate of #475


Backups fails sometimes with @^

What went wrong?
We have a nodejs application with a PostgreSQL database which is "backuped" every day. In ~6 of 7 cases it works well but sometimes the backup fails and seems to crash the whole server. We have to manually restart the server in this case.
The server crash happens 1-2min after the backup started. The server never hang of when the backup is disabled.
The log file looks like:
[2016/12/09 07:10:56][info] Packaging the backup files...
[2016/12/09 07:10:56][info] Using Encryptor::OpenSSL to encrypt the archive.
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^

We thought the error comes from the OpenSSL encryption and disabled it but then the error occurred like:
[2017/01/14 09:09:06][info] Archive 'shared' Complete!
[2017/01/14 09:09:06][info] Packaging the backup files...
[2017/01/14 09:09:07][info] Packaging Complete!
[2017/01/14 09:09:07][info] Cleaning up the temporary files...
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^

In the var/log/syslog I only find this strange errors ^<EMAIL_ADDRESS>too as last entry before the server freezed.
What steps did you follow?
The backup is running by crontab
8 10 * * * /bin/bash -lc 'backup perform -t deploy'

How is your copy of backup configured?
config.rb
  Storage::FTP.defaults do |server|
    server.username     = "xxx"
    server.password     = "aaa"
    server.ip           = "abc.de"
    server.port         = 21
    server.path         = "~/backup/"
    server.keep         = 1
    server.passive_mode = false
  end

our deploy model
Model.new(:deploy, 'Backing up deploy user') do
  compress_with Gzip

  archive :shared do |archive|
    archive.add "/home/deploy/production/shared"
    archive.exclude "/home/deploy/production/shared/tmp/"
  end

  store_with FTP do |server|
    server.path         = "~/deploy/"
    server.keep         = 10
  end

  database PostgreSQL do |db|
    db.name               = "db_name"
    db.username           = "db_user"
    db.password           = "db_pass"
    db.host               = "localhost"
    db.port               = 5432
  end

  encrypt_with OpenSSL do |encryption|
    encryption.password = 'placeholder'
    encryption.base64   = true
    encryption.salt     = true
  end
end

System

Backup 4.2.2
Ubuntu 14.04.5 LTS
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
Postgres 9.3

@borriglione: I'd like to resolve this, if we can. The current release is 4.4.0 and we also have an RC of Backup 5.0.0. Please can you let us know if this is still an issue for you with the current version?

I never found out if its really a Backup-issue or a server / hard-drive crash.
We finally kicked the old server and moved to a new one. As the problem never occurred there again this issue can be closed.
Anyway thanks @stuartellis for your comment


IViewManager for SQLite?

Which IViewManager is indented to be used with SQLite?
d60.Cirqus.SQLite only contains the SQLiteEventStore.

Well.... as you have now found out, noone seems to have had the need for a view manager for SQLite yet 😄
Implementing a view manager is fairly straightforward - if you are up to it, I suggest you take a look at the existing view manager contract tests in d60.Cirqus.Tests/Contracts/Views - it has "contract tests" for all of the current view managers, ensuring consistent behavior across all of them.

Thank you for the info.
Some other (unrelated) questions:
I'am currently evaluation different Cirqus backends and MongoDB is a good choice for our infrastructure there is one use case where latency is crucial but persistency is not (its only about in-process communication). Would the InMemoryEventStore a good fit here?
Also it is possible to use multiple EventStores/ViewManagers simultaneously?
Like for "x" use MongoDB but for "y" use in memory?

You are free to combine in any way you see fit, e.g. using SQL Server to store events and MongoDB for your views.
The in-mem event store was originally meant for test purposes only.
I don't see any problems in using it if you don't need any persistence, except the fact that there is currently no way its recorded history of events can be truncated, thus leading to ever-increasing memory usage.
If this is OK with you, I guess it could work 😄


document (and collect) all fatal scenarios

There are critical fail scenarios such as the fact that one (or multiple) of the ARDB servers used for a single vdisk, are suddenly not-reachable or not working any longer. This is an example of a fatal scenario which doesn't get handled. Some fatal scenarios might already be handled.
The goal of this issue is to document all these scenarios, regardless if they are already handled or not. This should help us to plan the issues to come regarding self-healing, which will be the biggest focus point for the 0-Disk services starting from this milestone.
This issue could be seen as part of #308.

We would add all this information to https://github.com/zero-os/0-Disk/blob/master/specs/ardbfailurescenarios.md and finally complete that document, since it was half-started a looong time ago.


Add instructions for local install

I'm not sure if this is the best way, but it worked for me. Thanks for your feedback.

Have you run npm link from within your clone? That should give you access to offline-issues command using your local code.

PS—I'm super thankful for documentation PRs! I just wanted to check with you on that point because that step would fall under "Local Install" and likely replace the second step currently proposed :sparkles:

Thanks. I'm totally new to Node.js. I see that npm link requires root rights on my machine, I'm totally fine with running bleeding-edge versions from a local sandbox. I'll update the pull request to include both options.

Updated. I hope it's not too complicated (and still somehow correct) now.

:+1:


More Arcade Icons

There are no icons for Sega NAOMI and Sammy Atomiswave.

Maybe icons for Sega Hikaru, Chihiro, Lindbergh and the Neo Geo MVS would be cool even though they aren't part of retroarch

We can add the icons for NAOMI, Atomiswave, Hikaru, Chihiro, Lindbergh, but the default RetroArch system and UI will not recognize them by default.  I put in some Capcom CP System icons a while back, but they remain as easter eggs or in the hope that they might be used some day.  I've heard of people creating their own custom playlists with such icons, but it's never anything I've tried to do personally.
Neo Geo is actually a very unique situation.  My understanding is that even though MVS and AES have different pinout configurations, their ROMs are identical.  The System's BIOS is what actually determines how to differentiate how a ROM should act, including Region and whether it's considered an AES or MVS cartridge.
The possibility of rolling out an Neo Geo database has been requested. That would hypothetically separate Neo Geo from the MAME/FBNeo databases, treating it as its own system and using icons that have already been created.  I'm not sure if it will ever come to fruition, but it is a possibility in the future.

Understandable. Maybe you could add them as Easter eggs? I don't know. It's really up to you

I was thinking of asking something similar for a while, then I saw this thread.
I was wondering if it would be possible to add "generic" Arcade and PC playlists and icons. I group MAME and FBNeo games together in one playlist (except Neo Geo games, where I have a separate AES playlist), and DOS/ScummVM/id Tech games are in another. These are currently using the FBNeo and DOS icons, but it doesn't sit right with me.
It would be nice to be able to treat these as systems rather than emulators and engines, the same way consoles are treated.

@robwill80 Personally, I'm with you.  I'd love to have an "Arcade" and a "PC" database and treat MAME, FBNeo and DOSbox as cores for their respective systems. I believe Neo Geo should be its own database where you'd select your core there as well.  It's how all the other systems are treated, so it would be good to be consistent.
@RobLoach What are the possibilities and probabilities of making something like this happen?

@baxysquare Thanks for the support.
I'll add that I'd be happy enough with just some new icons for these in the assets folder. I write my playlists manually, so I don't use any databases for scanning.
I would've attempted to make some custom icons by myself, but I wouldn't be able to access the RetroArch assets folder to add them on Android devices.

Incidentally, I added a "Sammy - Atomiswave" icon and a "Sega - Chihiro" to Systematic in #455.  NAOMI is still on my to-do list.


Survey MCMC estimates plot doesn't look right.

You'll be able to see it once I commit the changes needed to get the document building properly. Should be later today. I will take a closer look at why once that commit is done. I'm just getting it up and running at this point.

I noticed that while running the 'partest' part the return value for the calls to mceval was 127 which means the program wasn't found.

Looking in the partest directory on my computer, it looks like the .par files are good and when I try running the executable with the .par (associated with MCMC sample 999), the Report.sso seems to match it. However, the report files in /reports/ are all identical and don't match. I will try to debug this evening or tomorrow morning.

I thought that using shell instead of system made it work, but it seems not. I modified load-models.r to delete the old Report.sso which will avoid reading in the same file 999 times when it fails to run.

Thanks Ian, I got it to work by running:
run.partest.model(base.model, "model-partest.RData")
in the doc/r directory after everything else was done and it worked, but I'll merge your changes and try that as well.

For some reason it seemed to take multiple tries, but after deleting partest folder and starting everything over, I was able to build the document and the plots looks right now.

Once I used your changes ('shell') it worked. I have had issues with 'system' working on some machines and 'shell' working on others. As long as we are all set up I think it's ok with your changes.


Typo "@mentions"→"@mentions"

Bold with escape characters
https://docs.microsoft.com/en-us/azure/devops/organizations/settings/about-settings?view=azure-devops

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good/verified; thanks.


[BUG] UnscheduledInvocationReason: IsPastDue and process does not restart

TargetFramework : net5.0
AzureFunctions Version : v3
Function App platform: Linux
Consumption plan
Microsoft.Azure.Functions.Worker.Extensions.Timer : 4.1.0
VS 2019
Hi
I have a timer trigger function which is scheduled to run once every 10 minutes, and according to the recommendations, the useMonitor property is set to "true".
"bindings": [{
"schedule": "0 */10 * * * *",
"useMonitor": true
"runOnStartup": false,
"name": "TimerInfo",
"type": "timerTrigger"
}]
I have the following error every time the function is triggered (I can reproduce the problem locally also)
[2021-07-10T15:05:17.825Z] Trigger Details: UnscheduledInvocationReason: IsPastDue, OriginalSchedule: 2021-07-10T11:50:00.0000000-03:00
[2021-07-10T15:06:16.410Z] Starting worker process failed
[2021-07-10T15:06:16.413Z] The operation has timed out.
[2021-07-10T15:06:16.452Z] Failed to start a new language worker for runtime: dotnet-isolated.
[2021-07-10T15:06:16.455Z] System.Private.CoreLib: The operation has timed out.
If I set useMonitor = false, then IsPastDue is false, but the ScheduleStatus of my timer is null so I get null reference exception.
I think that this problem is mostly happening on linux platform.
I think that the expected behavior is that the function should run (having useMonitor TRUE ), and in case there is a "past due" it should retry without the worker process to fail.
Besides, I don't know why ScheduleStatus is null when useMonitor = false.
Thank you very much
Sabrina.

Issue moved to Azure/azure-functions-dotnet-worker #534 via ZenHub

This package is maintained in the Azure/azure-functions-dotnet-worker repository;  I've transferred this over as #534.


Design landing page, no scroll

https://www.smashingmagazine.com/2015/06/creating-advanced-animations-in-photoshop/


SeimiAgent has crashed

this is the all error information:
HttpConnection::writeResponse called while state is not 'SendingHeaders', not proceeding with sending headers.
HttpConnection::writeResponse called while state is not 'SendingHeaders', not proceeding with sending headers.
HttpConnection::writeResponse called while state is not 'SendingHeaders', not proceeding with sending headers.

detail
base environment ：aliyun 1core 1G mem ，centos7
runtime environment ：docker version 1.9.1
start command : nohup ./seimiagent -p 12345 &
when I request about 50times , it has been crashed

this is url that I used : http://next.36kr.com/posts?start_on=2016-03-23

try this  version http://seimidl.wanghaomiao.cn/seimiagent_linux_v1.1_x86_64.tar.gz

thanks for reply,but unfortunately,it still have the same problom,attached file is detail information

在 2016年6月16日，下午9:23，xiaohuo<EMAIL_ADDRESS>写道：
try this version http://seimidl.wanghaomiao.cn/seimiagent_linux_v1.1_x86_64.tar.gz http://seimidl.wanghaomiao.cn/seimiagent_linux_v1.1_x86_64.tar.gz
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/zhegexiaohuozi/SeimiAgent/issues/3#issuecomment-226483377, or mute the thread https://github.com/notifications/unsubscribe/AMfjOSGqFNEQZ1aYuc9hlnMGrnuWz98Dks5qMU5agaJpZM4I3Ip-.

Maybe you need complie on docker by yourself,and I will  to fit docker as soon as possible.Thank you for report.


Modal ToT design refresh

[ ] Remove legends and add a border
[ ] Keep legends on pxp

wont do


Allow nulls for boolean fields on Libraries.io APIs, run [librariesio]

Fix the issue #3529

Warnings

:warning:
This PR modified service code for librariesio but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @corebreaker!

  Generated by :no_entry_sign: dangerJS against 3a80c327901d6a6c9681c4cc99252ade8c17db36

Hi @corebreaker, thanks for reporting and opening a PR with a fix! I updated the PR title so that the tests associated with the Libraries.io service would be run, and as you can see the changes added here are causing the tests to fail.
Can you take a look and update/fix the tests accordingly?

Actually looks like it was just a timeout. I'll re-start the tests and see if they pass this time

timeout errors are spurious, tests pass locally (with increased timeout) so going to disable the service test runs accordingly

Hi @calebcartwright . Good news ! Thank you for the merge :+1: .


Use r10k + a Puppetfile to install upstream modules

Use r10k to download modules listed in Puppetfile
Run r10k on the host (for now) as first provisioning step
Add setup.sh to aid setup

Installing arbitrary gems on the host system is problematic. :-/

:+1:


Potential error in "How does it work?" table of Conditional Access: Resilience defaults

Hello, assuming that I understand the Conditional Access Resilience defaults correctly, it seems that the "How does it work?" table may be incorrect.  The 4th entry has Access Granted is listed as "Determined by resilience defaults" for the Session Description entry "Existing session – Conditional Access policies configured and the required controls, like MFA, weren't previously satisfied."  Based on my interpretation, however, Access Granted should always be No if the controls weren't previously satisifed (that is, when there is no outage, controls aren't satisisfied which results in a No and, if there were an outage, it would still be a No because there was no previously-satisfied session to fall back to).  So, in the table for that 4th entry, Access Granted for this entry seems like it should say "No" because it would never be Yes.
On the other hand, the 3rd entry has Access Granted is listed as "Yes" for the Session Description entry "Existing session – Conditional Access policies configured and the required controls, like MFA, were previously satisfied."  This seems like the 3rd table entry should actually be "Determined by resilience defaults" because if resilient defaults are Enabled then existing sessions would be honored and Access Granted is Yes – however, if resilience defaults are Disabled, then existing sessions are not honored and Access Granted would be No.  Hence, "Determined by resilience defaults" seems to make sense.
Does this seem correct?  If so, changing the table makes sense.  If this interpretation is not correct, then for that 4th Session Description, it would need to be clarified in what scenario access could be granted during outages if access would not have been otherwise been granted during normal operations.  Thanks for reviewing!

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

ID: 522a9610-3ece-2666-fb1e-b451773efe32
Version Independent ID: c1ef9b90-ade6-4d38-c954-b7affe7ed29f
Content: Resilience defaults for Azure AD Conditional Access
Content Source: articles/active-directory/conditional-access/resilience-defaults.md
Service: active-directory
Sub-service: conditional-access
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

There is not a mistake in the documentation. I can see why the customer is confused and I think we could improve the wording of the document, but as it stands, it is correct. During an outage, if a policy's required grant controls (e.g. MFA) have not been satisfied, it is true that resilience defaults is used to determine whether or not the policy should apply to the sign-in. If the policy should apply, then of course access would be blocked. However, if the policy does not apply, then access would be granted, since the grant control is not required if the policy does not apply. The key point is that resilience defaults are used to determine whether the policy CONDITIONS apply, since we may not always be able to evaluate all policy conditions during an outage. Some examples of conditions that we can't evaluate during an outage are real-time sign-in risk and group/role membership changes. The customer asks for an explicit example, and there is an explicit example in the following paragraph:
Example: A policy with resilience defaults enabled requires all global admins accessing the Azure portal to do MFA. Before an outage, if a user who isn't a global admin accesses the Azure portal, the policy wouldn't apply, and the user would be granted access without being prompted for MFA. During an outage, the Backup Authentication Service would reevaluate the policy to determine whether the user should be prompted for MFA. Since the Backup Authentication Service cannot evaluate role membership in real-time, it would use data collected at the beginning of the user’s session to determine that the policy should still not apply. As a result, the user would be granted access without being prompted for MFA.


Roll out main feature daily

What's new ?

Multiple API Controllers is good to use. (Authorization, User)
Added critical API Controllers. (Booking, Clinic)
UnitOfWork inside Service Layer ??? This is a bad idea indeed.
No separation of concern. Just bad designs in general.

Future

Booking API Controller will be top priority for now.

Note: We have 2 week left. Let's try going full throttle.

Cảm ơn ông nha. Mà merge vô hả ông

Đúng rồi, merge vô thôi là được.


Switch to ASLv2 license

Signed-off-by: Scott Stark<EMAIL_ADDRESS>

This has been updated to include stub api and tck submodules as well a spec module that includes the proposal with discussion points take from the proposal comments.


Correction for raw affiliation Sorbonne Université, LIP6 CNRS UMR 7606, Paris, France

Correction needed for raw affiliation Sorbonne Université, LIP6 CNRS UMR 7606, Paris, France
raw_affiliation_name: Sorbonne Université, LIP6 CNRS UMR 7606, Paris, France
new_rors: 02en5vm52;05f82e368;02feahw73;05krcen59
previous_rors: 02en5vm52;05f82e368;02feahw73
works_examples: W4296916461
contact: 778421b3ed999b88fa0f38719211c02b:9c6c0e8a8835b555f8537a6e8d @ sorbonne-universite.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


Implementing the throttling pattern to maintain healthy systems with Java Spring Boot

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[ ] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[ ] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #5925

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

@louisefindlay23 Thank you for approving. Here is my first article... Looking forward to hearing from you

@afropolardev
Good afternoon and thank you for submitting your topic to the EngEd program.
Upon a quick glance we noticed that this articles has some grammatical errors (or is a bit difficult to read) and does not seem ready to be published.
In order to keep our backlog to a minimum, we will be closing this PR, as all edits should be completed on authors forked repo not in the queue.
Please feel free to reach out to a fellow peer (or friend) in the program to do some more thorough proofreading 🚀


[docs]: Auth related modules

Following are some points that might be considered to be included in the docs:
React-Auth

This documentation should be updated with the actual state of module. Example: don't exists anymore the onSignIn property on Auth component;

Carlin

Actually, our CLI assistant for deploy don't have proper docs, talking about how to run and configuration. Maybe it's really worth it to have a command to create a carlin.yml file with default configuration

Cloud-Auth

I think that's worth to inform on the docs that it should be used in conjunction with carlin.

Additionally, maybe include a sample project on the docs of each package to show how it works together.

Related https://github.com/ttoss/ttoss/issues/82


Change the ranges of the int32 and int64 formats

Hi!
The int32 and int64 formats seem to be validated in ranges different from the ranges of signed integer that is often used.  The int32 format is in the range from -4,294,967,295 to 4,294,967,295, and the int64 format is in the range from -18,446,744,073,709,551,615 to 18,446,744,073,709,551,615.
I'm not sure what the specification is saying.  But I hope these ranges will be changed so that it will be 32 bits or 64 bits including the bit necessary to express the sign.
If this request is merged, the int32 format will be in the range from -2,147,483,648 to 2,147,483,647 and the int64 format will be in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
Thanks a lot.

Photo by kristenadams

Thanks for fixing this.


refined github throws error on New Repository Overview

Description
When enabling New Repository Overview feature, refined github throws
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'title')
    at extractCurrentBranchFromBranchPicker (refined-github.js:3455:57)
    at refined-github.js:4646:81
    at async CachedFunction.updater (refined-github.js:4645:121)
    at async getSet (refined-github.js:2344:30)

How to replicate the issue + URL
enable New Repository Overview and visit any repository
Extension version
23.8.3
Browser(s) used
chrome

Nice, this view removes the last non-react file list. Hopefully it's the same component as the one they used in folders like https://github.com/refined-github/refined-github/tree/main/build


RFC "Data Storage Concepts"

https://docs.google.com/document/d/1ntdU4q4ZmfX-EyClxKAK6yaikQleg6maSeijDXi_u0c/edit#heading=h.huattdxrl6ed

@caniszczyk looks good. another concept/dimension to add is "[hyper]converged vs [hyper]scaled". I.e. whether compute and storage are scaled together (hyper converged) or scaled independently (hyper scaled).


null function or function signature mismatch

Thank you for your awesome work getting Ruby to work in the browser. I had a play around and found that after running it for a while it crashes with an issue:
Tried to report internal Ruby VM state but failed:  RuntimeError: null function or function signature mismatch

You can easily reproduce this bug by using the following file:
https://github.com/davidsiaw/rubywasm-crash/blob/master/public/index.html
And wait for anywhere between 1 minute to 10 minutes.
I attempted to workaround the issue but it seems like once it hits this error it cannot recover, even with a try catch around the step function in JS.
More screenshots:

Could you try version 2.6.1-2024-06-14-b? It includes a fix around GC issue

I have also seen the similar error message with custom ruby build with rbwasm.
Would you mind giving me the instructions for using the ruby you mentioned?
I guess it could be done by rbwasm build --ruby-version. However, I could not complete it.

https://github.com/tani/asciidoctor-wasm/tree/main

@tani You just need to upgrade ruby_wasm and js gem in your Gemfile, and corresponding npm packages. Just published 2.6.2, so you can use it now.

Great. I now confirm that my issue is solved.
Asciidoctor-wasm works expectedly. Thanks!

Thank you for your confirmation!


Allow interaction when the in-app notification is shown

Ticket Link
https://mattermost.atlassian.net/browse/MM-25145

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/5968
https://circleci.com/gh/mattermost/mattermost-mobile/5967

Artifact links:
https://5968-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa
https://5967-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk

@enahum doesn't work for me (taps still unresponsive after the in-app notification appears). @josephbaylon can you help do a test pass on this PR? (assuming you are able to repro the original issue)

@esethna this was just a quick trial, that is why it does not have a dev review, etc.. I did not even test it heheheh, we'll keep the ticket open and work for it to include it in 1.33

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/6039
https://circleci.com/gh/mattermost/mattermost-mobile/6038

Artifact links:
https://6039-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://6038-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa

@migbot @enahum I retested with latest build and the issue on iOS looks fixed. But I still see Work In Progress label. Let me know if I can go ahead and approve this PR.

@enahum @migbot Sorry I spoke too soon. I retested on Android and the issue is still there. I'm still not able to tap and interact when in-app notification is shown.

@josephbaylon try it now

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/6062
https://circleci.com/gh/mattermost/mattermost-mobile/6061

Artifact links:
https://6062-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://6061-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa

@josephbaylon yes, is working for me locally.. I'm able to dismiss the notification, tap it and interact with the rest of the screen

@josephbaylon the one thing it wont work is opening a thread.

@enahum I'm testing it without dismissing the in-app notification. I thought the original issue was it should allow user to interact even when in-app notification is NOT dismissed. Did I not understand it correctly?

@josephbaylon yes.. you should be able to interact.. say.. switch a channel / team.. long press on a post.
Taping on a post to go to the thread will fail until dismissal.. that is because there is a conflict because of the way the navigation library works. (as far as I know that should be the only issue)


Notifications whenever a campaign manager opens a new campaign for transcription urls to pdf file

TUD

It should be created as an algorithm and not be the responsibility of the CE-API. A simple subscription that monitors newly created ControlActions derived from the campaign task potential action could trigger notifications.


Add a rating system to posts.

Something similar to likes on facebook or upvotes on quora should be added to each post.It can be a star also.

We have it near comments as of now.

is it recommend button?

yeah

This issue is open ,you just needs to show the amount of recomends the post gets from disqus.

I would like to work on this :p

sure :+1:


[r/python] Fix non-appendability of SparseNDArray

Use-case analysis

For cell census, arrays are immutable and people want to take their shapes
For soma.io, arrays are mutable and people want to take their shapes
Currently only the first use-case is supported

Why this affects only SOMASparseNDArray and not SOMADataFrame

DataFrame is a sparse 1D, n-attr TileDB array

Currently this is written with full-int64 domain at the schema level
You could get its non-empty domain at the data level to get the 'shape' i.e. to figure out the number of rows ...
... but what we actually use to get the 'shape' aka df.count is

https://github.com/single-cell-data/TileDB-SOMA/blob/0.5.0a11/apis/python/src/tiledbsoma/dataframe.py#L94-L100
https://github.com/single-cell-data/TileDB-SOMA/blob/0.5.0a11/libtiledbsoma/src/soma_reader.cc#L176

This does:

If there is one fragment it can quickly return cell count from FragmentInfo
Else if there is more than one fragment but all with non-overlapping non-empty domains it can quickly return sum of cell count over each FragmentInfo
Else the computation is a bit slower
See also: https://github.com/single-cell-data/TileDB-SOMA/issues/383
See also: https://github.com/single-cell-data/TileDB-SOMA/pull/404

SparseNDarray is a sparse 2D, 1-attr TileDB array

Currently this is written with "tight" domain at the schema level, e.g. if it's 100x200 sparse the domain will be ((0,99),(0,199))
You can look at non-empty domain at the data level but that might be say ((2,99),(0,198)) or somesuch if an entire row or column is entirely unoccupied
You can get its nnz using the same function above

However this (unlike in the fully occuped 1D case) does not_ give back the 100x200 info
Suppose the array is 7.4% occupied -- this will give you the single number 1,480 which is the number of IJV triples in the sparse array but nothing about the original 100 or 200

The issues with the previous two bullets are why we're writing "tight" domain -- so we can read back the 100 x 200 info from the domain and the domain is the place we "store" this information

TL;DR:

For DataFrame which is 1D sparse but fully occupied:

domain, non-empty domain, or nnz all could be used to store the 'shape'
we use nnz, and we leave domain all-int64, and we don't use non-empty domain programatically

For SparseNDArray which is 2D sparse and usually not fully occupied:

non-empty domain cannot be relied on to recover 'shape'
nor can nnz
so we use 'tight' domain to store the 'shape'

Options

If we continue to use domain to store the 100 x 200 information:

Add a 'write with tight domain or not' flag as Bruce suggests

Anyone wanting 'tight' domain:

Their X matrices are non-growable
They can get 'shape' from domain

Anyone wanting 'growable' domain:

Their X matrices are growable
They can't get 'shape' from domain

Maybe they live without that
Maybe we store  the 100 x 200 info as array metadata

If we store the 100 x 200 information somewhere other than the domain:

Maybe as array metadata?
Then the API wouldn't need a 'write with tight domain or not' flag since we would no longer be using the domain to store the shape
X matrices will be growable
'shape' will be gettable from non-domain storage

See also #961 for a related but distinct issue which is explicit shaping of DataFrame.

Proposal from @Shelnutt2 and @johnkerl:

Spec: at SOMADataFrame.create

create
Add a new optional kwarg immutable=False
Disallow immutable=True for DenseNDArray

Python impl:

create
Add a new optional kwarg immutable=False
Disallow immutable=True for DenseNDArray
shape
If mutable (detected via shape slot [0] being 0 and slot [1] being maxint64) then return the non-empty domain
Update docstrings to indicate that if say n_obs=100 and n_var=200 and in the case where the first or last row or column of the SparseNDArray is entirely unpopulated, shape will not be (100,200) but will rather reflect the non-empty domain
Point out to the user that they can also consult the experiment/measurement's obs.count and var.count

This will allow soma.io users to expand X arrays which is a feature they currently have in main-old but do not in main (a regression)

@bkmartinjr thoughts?

@johnkerl - apologies, I'm having a hard time parsing this proposal as written.  I'm also concerned that it is potentially a breaking change to the current API.  Which is to say, perhaps we should convene an in-person discussion soon, prior to 1.0 RC?

Alternative suggestion (as meeting prep @bkmartinjr @Shelnutt2 ):

Have the shape arg to create be optional-none

If it is None then it will default to 2**63-1 on each dim
I do not want any to have to keystroke out 2**63-1 hence my proposal that they will be able to say None
This is a non-breaking change to the API

For the shape method:
If the domain on a dim goes to 2**63-1 then return non-empty domain
Else return domain
This is a non-breaking change to the API

Updated after discussion between @bkmartinjr @Shelnutt2 @johnkerl :

For SOMADataFrame and SparseNDArray (the two sparse foundational types):

The shape argument to create is to be interpreted as how big the array could be -- its capacity
The .shape accessor is to be interpreted as how big the array could be -- its capacity -- this simply returns what the shape argument to create was when the array was created
Docstrings will be updated to indicate this
The .count accessor for SOMADataFrame (which exists) returns how big the dataframe currently is
For SparseNDArray (for the reasons detailed above) -- we will tell the users that if they want to see how big it actually is then they should consult obs.count and var.count

For SOMADataFrame:

There is currently no shape argument to create but their should be, and it should behave as above

For soma.io:

It needs to pass in shape slots being 263-1 slotwise (or, None slotwise as aliases for 263-1)

For DenseNDArray:

The current size and the capacity are the same. No changes will be allowed here.

A complication at the implementation level: these will need to be dealt with as well:

https://github.com/single-cell-data/TileDB-SOMA/blob/0.5.0a11/apis/python/src/tiledbsoma/read_iters.py#L73
https://github.com/single-cell-data/TileDB-SOMA/blob/0.5.0a11/apis/python/src/tiledbsoma/read_iters.py#L94

These depend on the current semantics of shape which are how big the array currently is (the status quo), not how big it could be (what is proposed on this issue).

Discussion with @bkmartinjr and @thetorpedodog:

In our old "immutable X" world, .shape was both the current bounds as well as the _future capacity (the same)
In our new "mutable X" world, .shape is only the latter
.csrs, .cscs, and .coos rely on the former semantics
However they are only convenience functions -- and moreover they are not being used

https://github.com/single-cell-data/TileDB-SOMA/blob/0.5.0a11/apis/python/src/tiledbsoma/read_iters.py#L65-L114

We will jettison these at both the spec and impl levels -- at this which point the rest of the work on this issue is trivial

Validated on WIP branches -- PRs coming soon

Since the priority tag has been used I wanted to ask if this required for 1.0 RC?

Since the priority tag has been used I wanted to ask if this required for 1.0 RC?

Yes.  Hard yes.

@pablo-gar this is a @Shelnutt2 and @bkmartinjr / @maniarathi call

but since @maniarathi added the priority tag I believe that's her way of saying "yes, required for rc0"

Recall that it is a breaking API change - it requires removal of some existing API.
So, given the RC definition, and importance of the feature to existing users, how can we not include it?

Yes, this is a required for RC0 because as @bkmartinjr mentioned, it is a breaking API change which is the requirement to be able to cut the RC.

@maniarathi #952 is merged which is the rc blocker.
R work needs to be done here -- hence my not closing this issue entirely -- but the R work is non-rc-blocking.

Splitting out an R task for tracking


Allow javascript scheme for a tag's href attribute

You seem to strip javascript from the href attribute here: https://github.com/joeldrapper/phlex/blob/main/lib/phlex/context.rb#L81, and I know it is to prevent XSS, but it is actually a legit requirement to be able to use the javascript scheme there, but the developer need to know it is dangerous.
I think it should be configurable at minimum, so one can allow javascript if needed.

I agree we could add a configuration option but I think we should disallow JavaScript in tag attributes by default. It's not a good idea to use JavaScript like this anyway IMO and it should be disallowed by your CSP too.

Perhaps we could allow unsafe attributes like this?
def template
  a.allow_dangerous_attributes "Hello", href: "javascript:alert(1)"
end

Here’s a list of attributes we should probably ban by default. https://www.w3schools.com/tags/ref_eventattributes.asp

I wouldn't allow any attributes, just the href of the a tag should be allowed to use the schemes the specification permits. If there would be an allow_dangerous_attributes that would allow more than what I would feel comfortable with. IMHO it should be specific to that attribute.

But the idea is you wouldn't use allow_dangerous_attributes with an unsafe splat, e.g. a.allow_dangerous_attributes **attributes_from_user_input.

But the idea is you wouldn't use allow_dangerous_attributes with an unsafe splat, e.g. a.allow_dangerous_attributes **attributes_from_user_input.

Ah, you are right.


Regex search optimization

Hi Joe,
Could I suggest you to escape automatically specials characters when using regex search in is_item_matched() function by replacing:
             matched = any(re.search(regex_str, item_name, re.IGNORECASE) for regex_str in item_list)

with
            matched = any(re.search(re.escape(regex_str), item_name, re.IGNORECASE) for regex_str in item_list)

Thanks.

Hi there, the idea is certainly open for discussion.
I feel this suggestion is somewhat related to your https://github.com/jjssoftware/m3u-epg-editor/issues/46 issue where you saw unexpected matching occur on groups that didn't appear to include the specified -g argument value due to | (pipe) characters not being manually backslash escaped in that argument value.

Yes this modification is related to my previous issue.
This scenario can occur with other users if they forgot to escape a special character or don't know exactly which ones have to been escaped ;)

Yes unfortunately I think that introducing regex character escaping as an automatic feature will be problematic. Here's an example to demonstrate why.
Consider the following sample minimal m3u data:
#EXTM3U
#EXTINF:-1 tvg-id="tvgid1" tvg-name="channel1" group-title="123Group",channel1
http://xxxxxx.xxxxx/yyyyyyy/zz
#EXTINF:-1 tvg-id="tvgid2" tvg-name="channel2" group-title="456Group",channel2
http://xxxxxx.xxxxx/yyyyyyy/zz

..and consider the following -g argument regular expression that can be used to match the group-title attribute values in both m3u entries:
-g="'(^123|^456)'"

This currently works as outlined above because this regex capture group describes this desired behavior: match anything that starts with the string 123 or the string 456.
If we were to apply the suggested change, re.escape('(^123|^456)') applied to this regex expression expands to this string '\(\^123\|\^456\)' which is no longer a valid regex expression. This broken invalid regex would no longer work and both entries would no longer be matched in this example.
How this currently has to be dealt with is a bit cumbersome and rationalizing clear text string matching behavior vs regular expression matching behavior can be confusing. On the positive side of things however, it is possible to get the desired outcome when the correct matching expressions are used.

Good example indeed !!
I don't use regular expression in my json file for groups argument (I know..I should :) ) this is why I don't run into any problems.
But we must admit that escape specials characters manually isn't user friendly.
Moreover, in json file we have to add double backslash to make it working correctly:
"\|EU\|\ FRANCE\ TNTSAT"
We probably have to live with this :
At least, I don't know how to handle these two configurations (regex expression and matching expression)
One more optional argument ? :)))

Regular expressions are powerful but they can be very difficult to get right sometimes. I avoid them wherever possible (not just here, in my day job too) and there's no judgement from me if you do the same 😃
If you do decide to go down the regex rabbit hole, this is decent for testing potential regular expressions against candidate strings: https://regex101.com/
As it stands the -g, -dc and -ic arguments work in a sort of dual exact plain text string matching mode and regex matching mode within the is_item_matched function. I suppose that one potential change might be to split the plain text matching and regex matching arguments into separate arguments so that it's completely clear when to use one or the other. Undertaking this change wouldn't solve the character escaping issue though and adding more arguments might do no more than add further complexity in getting started. On this basis I've got no appetite to implement this change.
I don't think there's much that can be done to make this easier tbh.

For sure, adding one more argument isn't a good choice and like you said would add complexity.
Perhaps, just adding a new boolean variable (i.e use_regex) can do the trick and would permit user to decide if a regex match has to be done or not through is_item_matched() function.
Sleep on it ;)
Oh, and thank you very much to point me to https://regex101.com ! Very interesting tool !

In your case (and anyone elses) where regex special "metacharacters" are present within m3u group name / channel name fields that require escaping, we are referring to this set of special characters:
1. the backslash: \
2. the caret: ^
3. the dollar sign: $
4. the period or dot: .
5. the vertical bar or pipe symbol: |
6. the question mark: ?
7. the asterisk or star: *
8. the plus sign: +
9. the opening parenthesis: (
10. the closing parenthesis: )
11. the opening square bracket: [
12. the opening curly brace: {

Evidence suggests that this doesn't occur often because you are the first person to report this happening since January 2018 (which is when this script was first pushed to github).
An argument to switch between manual and automatic re.escapecharacter escaping will not be introduced into this repo because there is currently a way that this scenario can be dealt when necessary with via manually escaping regex metacharacters and it appears to be a reasonably rare problem that ever needs to be dealt with anyway.
You could introduce this feature yourself if you really want or need it in your own fork of this repo. Closing.

Ok, no problem ;)
In any case, it was enriching to discuss with you on this !
Thank you.


Wrong notification preferences URL in email

Describe the Bug
The notification preferences URL in the email points to a 404 page.
In the mail: bookstack.example.com/preferences/notifications
On the website: bookstack.example.com/my-account/notifications
Steps to Reproduce

Watch a book.
Modify book (with other user).
Receive notification mail.
Mail contains wrong link to the notifications settings: /preferences/notifications

Expected Behaviour
Proper link in the mail: /my-account/notifications
Screenshots or Additional Context
https://github.com/BookStackApp/BookStack/blob/a3a776d4a6d3a4d8d79c2a27a0e89dd929bd8b14/app/Activity/Notifications/Messages/BaseActivityNotification.php#L46
https://github.com/BookStackApp/BookStack/blob/a3a776d4a6d3a4d8d79c2a27a0e89dd929bd8b14/routes/web.php#L245C93-L245C112
Browser Details
No response
Exact BookStack Version
v24.05

Thanks for reporting @kroomagnon, I've assigned this for the next patch release.

Resolved by @KiDxS via https://github.com/BookStackApp/BookStack/pull/5008, to be part of next patch release.


commitlint as a hook throws a error

Describe the bug
It throws a error when trying to integrate as a husky commit-msg/prepare-commit-msg hook
Content of husky either commit-msg or prepare-commit-msg hook
#!/bin/sh

./node_modules/.bin/commitlint --edit $1

Config
If you have any config file, please paste it below: No Config yet
Error message
Please paste the error message below:
commitlint --edit .git/COMMIT_EDITMSG
error: unexpected argument '.git/COMMIT_EDITMSG' found

Usage: commitlint [OPTIONS]

For more information, try '--help'.

Expected behavior
Working as expected
Version
# Run the following command
$ commitlint --version
commitlint-rs 0.1.9

Additional context
Add any other context about the problem here.

Sorry, it's my bad. It should be correct if change
-commitlint --edit .git/COMMIT_EDITMSG
+commitlint --edit


12987: test toToml int conversion

What this PR does / why we need it:
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

This is failing due to builds not passing. Is it possible you are out of sync with this branch? I will try to build and run it. Also you are missing DCO, that isn't optional.

The issue is stale and has closed https://github.com/helm/helm/issues/12987
Is this a will not fix situation?


[Bug]: Mode only returns a single number

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I want to mention that the mode in stats returns only a single value.
I want to optimise it.
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Full Name
Venkata Pavan Teja Bathula
Participant Role
GSSOC

@UTSAVS26
And also please merge my previous three PRs there are being labels and in queue and haven't been merged from 3 days.
#180 #122 #174
And I have a question.


Remove power select from the addon

Sorry to bring this back to the top - is there any way to use power-select still? If I pass the formObject.selectableAttribute inside the form, will it still work fine?

You can easily integrate power select by yourself.


Call to undefined method MemberAccessExpression::getName()

When I start VSCode (1.19.1), I get the The PHP Language Server server crashed 5 times n the last 3 minutes. The server will not be restarted error.
In the developer console, I have :
Error: Call to undefined method Microsoft\PhpParser\Node\Expression\MemberAccessExpression::getName() in /home/yannick/.vscode/extensions/felixfbecker.php-intellisense-2.2.1/vendor/felixfbecker/language-server/src/DefinitionResolver.php:574

(full stack trace attached).
Nothing special in the output console :
[Info  - 22:22:55] 389 files total
[Info  - 22:22:55] Indexing project for definitions and static references
Parsing file:///....
Parsing file:///....
[Info  - 22:22:55] Connection to server got closed. Server will restart.

VSCode : 1.19.1
Commit 0759f77bb8d86658bc935a10a64f6182c5a1eeba
Date 2017-12-19T09:41:01.414Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
php intellisense : 2.2.1
php language server : the one bundled with php intellisence.
php-language-server-stacktrace.txt

@phil-nelson may be another bug introduced by #551?

In the meantime I rolled back to 2.1.0 using the VSIX and it's all fine.


ECO-194: Add typed-js and update the design/animation

What changed? Why?
Notes to reviewers
How has it been tested?

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Feat: Run custom project/nodes in dev mode

Closes https://github.com/aimakerspace/PeekingDuck-Private/issues/13
A detailed description of the issue faced and various use cases enabled by this PR can be found in the comments thread of the origin issue.
Changes:

Change dev mode to invoke CLI run() command from cli.py with click.pass_context

Make the call to Runner.run() more consistent, can avoid duplicating some of the pre-run setups.

Set custom_nodes_parent_subdir="src" when running in dev mode with config_path option

So that PKD will have access to custom_nodes in custom projects
This will break workflows that keeps custom_nodes in the PeekingDuck directory and is calling with the config_path CLI option

Simply calling python PeekingDuck will still work
As a bonus, this PR also enables calling python PeekingDuck-<altname> with custom nodes in the PeekingDuck-<altname> directory.

Added .resolve() to pkd_dir so the logged path looks nicer.

LGTM