Help with anti-DDOS solution

I have written a semi-working solution for DDOS in my rails app, based on the session_id:
require 'redis'

# ANTI-DDOS MEASURE (IF YOU SEE SERVER ERROR, THIS IS WHY.)
Rack::Attack.throttle('requests by session', limit: 30, period: 30) do |request|
  puts request.session['session_id']

  request.session['session_id']
end

Rack::Attack.blocklisted_response = lambda do |env|
  # Using 503 because it may make attacker think that they have successfully
  # DOSed the site. Rack::Attack returns 403 for blocklists by default

  # COMMENTED OUT BECAUSE AFELSITED IPS ARENT THROTTLED
  # ddosers = Rails.cache.fetch('DDOS_SESSIONS') { {} }
  #
  # ddosers.each do |session_id, h|
  #   puts "BLOCKED SESSION: #{session_id} | BLOCKED_AT: #{h}"
  #
  #   if 30.seconds.ago > h[:blocked_at]
  #     Rack::Attack.safelist("mark any authenticated access safe") do |request|
  #       session_id.present?
  #     end
  #
  #     ddosers.delete(session_id)
  #
  #     throttled = Rails.cache.fetch('THROTTLED_SESSIONS') { {} }
  #     throttled.delete(session_id)
  #     throttled = Rails.cache.write('THROTTLED_SESSIONS', throttled)
  #   end
  # end
  #
  # Rails.cache.write('DDOS_SESSIONS', ddosers)

  [ 503, {}, ['Blocked for DDOS']]
end

Rack::Attack.throttled_response = lambda do |env|
  # NB: you have access to the name and other data about the matched throttle
  #  env['rack.attack.matched'],
  #  env['rack.attack.match_type'],
  #  env['rack.attack.match_data'],
  #  env['rack.attack.match_discriminator']

  session_id  = env['rack.attack.match_discriminator']
  throttled   = Rails.cache.fetch('THROTTLED_SESSIONS') { {} }

  throttled_session = throttled[session_id]
  if throttled_session.nil?
    throttled[session_id] = { last_request_at: DateTime.now, request_count: 0 }
  else
    if 30.seconds.ago < throttled_session[:last_request_at]
      if throttled_session[:request_count] > 10
        Rack::Attack.blocklist('fail2ban pentesters') do |req|
          Rack::Attack::Fail2Ban.filter("pentesters-#{session_id}", { maxretry: 3, findtime: 1.minute, bantime: 1.minute }) do
            session_id.present?
          end
        end

        ddosers = Rails.cache.fetch('DDOS_SESSIONS') { {} }
        ddosers[session_id] = { blocked_at: DateTime.now }

        puts "BLOCKED: #{ddosers[session_id]}"
        ddosers = Rails.cache.write('DDOS_SESSIONS', ddosers)
      else
        throttled_session[:request_count] += 1
      end

      print throttled[session_id]
      throttled[session_id] = throttled_session
    else
      throttled[session_id] = { last_request_at: Time.now, request_count: 0 }
    end
  end

  Rails.cache.write('THROTTLED_SESSIONS', throttled)

  # Using 503 because it may make attacker think that they have successfully
  # DOSed the site. Rack::Attack returns 429 for throttling by default
  [ 503, {}, ['ANTI_DDOS Server Error... Cool it for 30 Seconds']]
end

The bantime in Fail2Ban isn't working, it remains indefinitely banned... which is cool, because I suppose one can just connect in another browser or VPN or something.
I tried to safelist the IP, but safelisted IPs aren't ever throttled...
Is there a mechanism to get the Fail2Ban bantime to release the blocked session or manually reinstate a session, without safelisting?

Figured it out.
It's in :      Rails.cache.delete("fail2ban:ban:#{session_id}")   , where session_id is the "discriminator"

Thanks for sharing!

actually, removing the ban flag from the cache doesn't remove the user from the blocklist... I even tried:
Rack::Attack::Fail2Ban.reset(session_id, {
        maxretry: 3,
        findtime: 1.minute,
        bantime: 30.seconds
      })

but but I still get a block listed response.


Extend "Selfhosting"

Provide documentation on smtp-server with examples such as using gmail as a SMTP server, using mail-as-a-service, or selfhosting a mailserver such as mailcow.


borrow design elems of left

that jekyll theme. more fun than all black text

I think it's actually just the gradients in the fonts that look so good:
https://zachholman.com/
might need thicker fonts though for this to work


Reset optional file field

Would like option to display a "reset button" on file field when input is optional.
My current implementation: Add button field after the file field, then attach click event to set file field value to null.
Example:

const prefs = new ElectronPreferences {
    (sections -> form -> groups ->) fields: [
        {
            label: 'Background image (optional)',
            key: 'backgroundImage',
             type: 'file',
            filters: [
               {name: 'All Images', extensions: ['jpg', 'jpeg', 'png', 'svg']},
            ],
             multiSelections: false,
        },
        {
            label: '',
            key: 'removeBackgroundImageButton',
            type: 'button',
            buttonLabel: 'Remove background image'
         },
       ]
}

prefs('click', key => {
    if (key === 'removeBackgroundImageButton') {
        preferences.value('theme.backgroundImage', null);
        preferences.save();
    }
})

Issue
The preferences JSON is updated/saved correctly, and main window updates.
However, I don't know how to update the Preferences window render.
The file field still shows the previously selected file until window is closed and re-opened.
Any suggestions welcomed. Thanks.

Hi @macfire
Thanks for reporting this issue.
In fact I like the idea of adding a 'reset' button of some kind when the file or folder type is indicated as 'optional'.
I would add a new boolean option 'optional' to the file and folder type. When this is true, we can show a new 'reset' button.
The workaround you try is not that ideal indeed as there's no way to say to the UI to refresh at any point. The preferences window will just render the initial preferences and refresh while the user interacts with the preference window.
One thing you could do is programmatically close and reopen the preference window, but this will just open the first tab. Hoping your file type lives there...
If you'd like to contribute to this repo, please go ahead and open a PR with the above suggested solution :)

I'm going to make an argument for dropdown (select), radio, and slider, to have reset buttons.
It's not necessarily an issue as the program can offer a "not selected" option (at least for select and radio, but there are cases where a <select> or [type="radio"] input is loaded without a value selected. Basically, an "untouched" or "unset" state. It would be valuable for the slider as well.
For my app, I have settings that are not applicable until the user has set them, so this would be helpful in those scenarios.

Hi @macfire
Thanks for the contribution! Sorry for the late response.
You can submit a PR to merge it into the official development branch. That way it's easier to give you feedback.
The default variable with btResetLabel would indeed be nice if it could be configurable. You can indeed just name it 'Reset' in case it's not configured by the user.
A few remarks I noticed already:

I wouldn't show the reset button by default. Only when optional is set to true. Otherwise this might break things for users when updating to this version.
When using the reset button, I think we should first check if there wasn't a default set for this value, and reset to that? @lacymorrow @macfire  What would be ideal in your use cases? Reset to the default, or reset to a null or empty value?

@pvrobays exactly, reset to default value if there is one, and null if not.


Add Potions of Tirelessness

Add a potion that completely prevents stamina depletion while in effect. Not sure what the recipe should be.

Completed, brewed with Thick Potion and Cocoa Bean.


Encapsulate stored properties

The problem, when there hasn't been enough discipline about access control, is I can't tell which properties are intended to be part of the public API, nor which are intended to publicly include mutation, so I just made everything as restricted as the current code would allow.  If you have specific objections, tell me which and we can look at rolling them back.

Okay, sounds like a plan. I have objections for:

Attribute.swift
DelcID.swift (do not make base private, so as to be consistent with all other node IDs)
PatternID.swift (same as above)
StmtID.swift (same as above)


0.11

[x] ? operator everywhere (#74)
[x] Pin minimum Rust version at 1.13
[x] Upgrade Hyper
[x] Drop in-crate Nickel support

Also reenables testing on nightly and for the nightly feature (includes Clippy).
Closes #71

Build is failing because 0.11 isn't published yet for multipart-nickel.


Refactor Readme and add a contributing doc

The current readme contains a lot of internal information that might not be useful for most users visiting the repository, and the starting paragraph is a bit hard to understand.
I made those small changes (click here for readme):

Rewrite the starting paragraph to be clearer
Move up the zip download instructions to be the first thing any user sees
Everything else to a "Contributing.md" file

Let me know if those changes make sense!
Closes https://github.com/plotly/dash-sample-apps/issues/633

@plotly/marketing @alexcjohnson Any thoughts on this? This will probably be a pretty impactful change since sample apps gets 40k visits per month


[1.12.2] Crash after teleporting to overworld

Issue Description:
I was in my void world (which is added by SimpleVoidWorld) and i went to go back to the overworld and then i crashed
What happens:
I crash
What you expected to happen:
To end up in the overworld without crashing
Steps to reproduce:
1.go to the void world.
2.go back to overworld.
3.
...

Affected Versions (Do not use "latest"):

EnderIO: 1.12.2-5.2.60
EnderCore: 1.12.2-0.5.76
Minecraft: 1.12.2
Forge: <IP_ADDRESS>54
SpongeForge? no
Optifine? no
Single Player yes, smp not tested

Your most recent log file where the issue was present:
crash log:
https://pastebin.com/csNYcndz

Looks like Lagggoggles is ticking TileEntities for a dimension that is not loaded. Not an issue with our code.


forbid-prop-types warning shown on Yup validation

Hey there, a project I work on uses both prop-types and Yup which have a similar syntax.
The following where I'm declaring a Yup validation object:
const formValidation = Yup.object().shape({
    name: Yup.string(),
    customer_ids: Yup.array()
});

Gives me a warning on the line customer_ids: Yup.array() like so:
Prop type `array` is forbidden eslint(react/forbid-prop-types)

I believe this is a bug as this is not a prop type declaration.

This should only warn when object/array/etc is chained off of React.PropTypes or an import/require of the prop-types package.

Working on this

I have the same problem with this declaration
const validation = yup.object().shape({
  address: yup.object({
    city: yup.string(),
    zip: yup.string(),
  })
})

I found the problem started form version  7.20.1, in particular with this commit. From what I understand, it checks recursively for the propTypes definition to be correct. I tried to fix it adding  toCallExpression in lib/rules/forbid-prop-types.js a check for the parent to be a propTypes declaration using propsUtil.isPropTypesDeclaration but it works only for the direct children of PropTypes and breaks the recursive behavior.
Maybe I should block the recursive calls in another point?

I have the same problem with this declaration
const validation = yup.object().shape({
  address: yup.object({
    city: yup.string(),
    zip: yup.string(),
  })
})

I found the problem started form version  7.20.1, in particular with this commit. From what I understand, it checks recursively for the propTypes definition to be correct. I tried to fix it adding  toCallExpression in lib/rules/forbid-prop-types.js a check for the parent to be a propTypes declaration using propsUtil.isPropTypesDeclaration but it works only for the direct children of PropTypes and breaks the recursive behavior.
Maybe I should block the recursive calls in another point?

Go for it!


bug: removing the extraneous comma

Removing the extra comma that was screwing up the header.
:heavy_check_mark: Checklist

[x] All tests are passing yarn test
[x] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[x] Tests added for new functionality
[ ] Regression tests added for bug fixes

Sorry @Mutugiii I didn't see the bug ticket introduced.


Quick fix: Correct doc comments so a xml-docs-test target can be added in HttpAbstractions

local xml-docs-test target does not catch this because generated .xml files have no members

FYI only. Will push immediately.

52762b0


Obsolete operator style not supported

Igor Pro has a bunch of obsolete operators that should not be used in new Igor code but unfortunate is still contained in old one. I am speaking of

%~: old style bitwise complement
%&: old style bitwise and
%|: old style bitwise or

More information can be seen with: DisplayHelpTopic "Obsolete Operators"

Thank you for reporting the problem.
While the syntax highlighting code has been supported these obsolete operators (they are tokenized as invalid.deprecated and in most color theme they are colored red), the syntax parser code has missed out support to them.
I will try to fix it.

According to the Igor Pro help doc, WaveMetrics does not recommend to replace old bit-wise operators in old code with new ones. So, I decided that the parser will diagnose these operators as information-level problems, not warning-level.
(Diagnostic severity of VS Code has 4 levels. See https://code.visualstudio.com/api/references/vscode-api#DiagnosticSeverity)


matrix env for mpi testing

This PR adds an additional environment to the matrix in travis.yml and corresponding changes in install.sh. With this env we should be able to test for mpi via mpi4py.

Coverage increased (+0.009%) to 85.688% when pulling df8f0ea94330ebf88b903486e92ca84a5d48d182 on alperyeg:feature/new_env into f04e966857fd047243fb736f72df60d10f65ff79 on NeuralEnsemble:master.

Coverage increased (+0.009%) to 85.688% when pulling d98e67f2030cda53f016daccaf8776ec53668608 on alperyeg:feature/new_env into f04e966857fd047243fb736f72df60d10f65ff79 on NeuralEnsemble:master.

Coverage increased (+0.009%) to 85.688% when pulling 15bde17509dfda327ce3b0b6270dade6185a6ae5 on alperyeg:feature/new_env into f04e966857fd047243fb736f72df60d10f65ff79 on NeuralEnsemble:master.

Coverage remained the same at 85.679% when pulling 6b5dd08dfd47616e596237c3376a7b497f301e58 on alperyeg:feature/new_env into f04e966857fd047243fb736f72df60d10f65ff79 on NeuralEnsemble:master.

Coverage increased (+0.009%) to 85.688% when pulling f33b422a316cfaf81bea9e0076387c4bc5943988 on alperyeg:feature/new_env into f04e966857fd047243fb736f72df60d10f65ff79 on NeuralEnsemble:master.

This PR sets up the environment for parallel tests, but individual parallel codes must still be adapted to make use of mpirun n>1.


JENKINS-22871: Wrong index when calculating 90Line.

New tests passing. Implemented suggestion in Jira.

[Current coverage][cc-pull] is 40.08%

Merging [#65][cc-pull] into [master][cc-base-branch] will increase coverage by 0.14%

@@             master        #65   diff @@
==========================================
  Files            25         25
  Lines          2278       2280     +2
  Methods           0          0
  Messages          0          0
  Branches        376        378     +2
==========================================
+ Hits            910        914     +4
+ Misses         1067       1066     -1
+ Partials        301        300     -1

Powered by Codecov. Last updated by [d8998a3...e986af9][cc-compare]
[cc-base-branch]: https://codecov.io/gh/jenkinsci/performance-plugin/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/jenkinsci/performance-plugin/compare/d8998a30d6ec2bc50d502d8880b8e1ecceb1ea05...e986af97406bc1466e062182b03dc41a6ea4ab2a?src=pr
[cc-pull]: https://codecov.io/gh/jenkinsci/performance-plugin/pull/65?src=pr

Thanks for contributing!


kconfig: Remove remaining 'option env' bounce symbols

These are no longer needed since commit 4dc9e5b2de33 ("kconfig: Get rid
of 'option env' bounce symbols"). The C tools are likely to get rid of
them soon too.
The APPLICATION_BASE symbol (option env="PROJECT_BASE") triggered a
compatibility warning, because 'option env' symbols now need to have the
same name as the environment variables they reference to be compatible
with Kconfiglib. APPLICATION_BASE is unused, so just remove it.
Signed-off-by: Ulf Magnusson<EMAIL_ADDRESS>

Codecov Report

Merging #7962 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7962   +/-   ##
=======================================
  Coverage   55.02%   55.02%
=======================================
  Files         481      481
  Lines       53970    53970
  Branches    10483    10483
=======================================
  Hits        29695    29695
  Misses      19996    19996
  Partials     4279     4279

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71ce9b5...a00cf01. Read the comment docs.


Mediaklikk extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Extractor for Hungarian state media (MTVA) video repository hosted at https://www.mediaklikk.hu/mediatar/

Please see commit with fixes.

Also read coding conventions.

Let's not hang up on nuances

Finished work in #25098

Work well. You can also have a check at this article about mediaklikk downloader.


Add pmjt-dataset-list

https://github.com/red-data-tools/red-datasets/issues/95

@kou
Thanks for the review!
I revised that according to your advice.
Please have a review for updates.

@kou
Thanks!
I modified some methods and column name.
Please have a review!

Merged. Thanks!


Click off to close does not work for the index.html screen

15-vizs-chartAddition-mapFixes](https://github.com/bnicp/recall-near-me/tree/15-vizs-chartAddition-mapFixes
Event.stoppropogation() was added in the code, to stop category button click propogation to the parent node. Due to this change, window.Onclick was not functional for searchModal box. commenting event.stoppropogation() fixed the functionality


Main State Toggle + CSS fix

Fine tuned CSS to target main page radios (label tweak messed up display) - added main state/realities toggle. Set default state to Universe.

Closing this for a bug fix?? Will be back up at the weekend.


Can only run 1 server

If you try to run more than 1 instance the first will be closed when you run the second.. Even though they have there own ports and own file DIR.

Seems to occur if the server_launcher_xbox.py is being used for each instance of server. The solution is to rename that file to something like server_launcher_xbox1.py, and name other one as server_launcher_xbox2.py. Then update the .cmd to reflect on new named file to execute.
Apologizes for this.


STUN and TURN servers

Hi,
How can I set STUN and TURN servers?
Thank you!

@pixelromania
You can set it with the following code.
const wowza = new Wowza.Connection(
  'wss://localhost.streamlock.net/webrtc-session.json',
  'webrtc',
  'example',
  '[empty]'
)
const publisher = wowza.publisher({
  peerConnection: {
    iceServers: [
      { urls: 'stun:<IP_ADDRESS>' },
      { urls: 'turn:<IP_ADDRESS>', username: 'xxxxx', 'credential': 'zzzzzzz' }
    ]
  }
})


some formulation errors

In emlator.py, line481:
shotOffProbThisSample = shotNoiseFactornp.divide(
self.pos_thres_nominal, self.pos_thres)
may be :
shotOffProbThisSample = shotNoiseFactornp.divide(
self.neg_thres_nominal, self.neg_thres)

You are right, let me fix it right away, thanks!

and line516:
self.baseLogFrame[shotOffCord] +=
shotOffCord[shotOffCord] *
self.neg_thres[shotOffCord]
may be
self.baseLogFrame[shotOffCord] -=
shotOffCord[shotOffCord] *
self.neg_thres[shotOffCord]

line 409 410
pos_cord = (pos_frame > self.pos_thres * (i + 1))
neg_cord = (neg_frame > self.neg_thres * (i + 1))
">" should be ">="

Thanks, we will fix it. Yuhunag, since you just pushed another fix,
would you mind checking this one?
On 8/19/2020 2:08 PM, silhouette wrote:

line 409 410
pos_cord = (pos_frame > self.pos_thres * (i + 1))
neg_cord = (neg_frame > self.neg_thres * (i + 1))
">" should be ">="

Thanks, line 409, 410, 516 has been corrected. thanks!

Are you sure about this? The neg_thres is negative, isn't it? The whole
simulation would not work if we had gotten this wrong.
Tobi
On 8/19/2020 11:41 AM, silhouette wrote:

and line516:
self.baseLogFrame[shotOffCord] +=
shotOffCord[shotOffCord] *
self.neg_thres[shotOffCord]
may be
self.baseLogFrame[shotOffCord] -=
shotOffCord[shotOffCord] *
self.neg_thres[shotOffCord]
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SensorsINI/v2e/issues/5#issuecomment-676043900,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMYQMU25ZWMOVUQZU77R33SBOM4RANCNFSM4QEV266Q.

Are you sure about this? The neg_thres is negative, isn't it? The whole simulation would not work if we had gotten this wrong. Tobi
…
On 8/19/2020 11:41 AM, silhouette wrote: and line516: self.baseLogFrame[shotOffCord] += shotOffCord[shotOffCord] * self.neg_thres[shotOffCord] may be self.baseLogFrame[shotOffCord] -= shotOffCord[shotOffCord] * self.neg_thres[shotOffCord] — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#5 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACMYQMU25ZWMOVUQZU77R33SBOM4RANCNFSM4QEV266Q.

Please kindly note that the var "neg_thres" is indeed positive (initialized with " neg_thres=0.2" in line 72, and set to an array in line 212). PS: in your comment (line 541), it was write as :"# neg_thres is >0"

Seems to be OK


"Remind me of this email" feature

Checklist

[X] I have used the search function to see if someone else has already submitted the same feature request.
[X] I will describe the problem with as much detail as possible.
[X] This issue only contains a request for one single feature, not multiple (related) features.

App version
6.710
Problem you are trying to solve
Receiving new emails that imply some task/response one would like to work on later is annoying as

one can either open the email but then needs to use a separate todo app to remind oneself about it later or,
one could refrain from reading the full email to make the notification stay there in order to not forget working on it later.

Suggested solution
A "Remind me of this email" feature would solve the issue.
This has been worked on in this really old PR: https://github.com/thunderbird/thunderbird-android/pull/1849 - however it was then closed, by reasoning as follows:

I think "hiding" messages is an important part of a snooze feature. How that's accomplished technically is another matter (I like the 'move to another folder' approach).
The 'notify again' time doesn't seem to be persisted anywhere. That'll break the feature e.g. when the device reboots. In my opinion a reminder functionality that doesn't work reliably is worse than none at all.
Right now nothing is preventing snoozed messages from being removed from the device, e.g. when they fall outside the sync window.
There's no visual indicator for a snoozed message. Also, no way to un-snooze.

Regarding point 1. and 4., I think it boils down to personal preference/the idea one has of the feature whether "snoozed" emails should be hidden. If it's more a "remind me" feature (like Slack has), than a "snooze this email" feature, I see no need at all to hide the email. In fact, I'd think it's better UX to not hide and just re-trigger the notification after a while as one can then still read the email (e.g. while on the go), ponder about what to do with it, and therefore work more efficiently on it later (when being back home). Therefore, at least as a first step I think a remind me feature could/should be implemented without hiding the email in the app. This is a lot less work too, as I understood it. Consequently, point 4. is also not strictly necessary anymore then - a little icon indicating that a reminder has been set would surely be nice but is not required to obtain a solid UX in my eyes.
Regarding point 3.: This is a valid point and I don't know how much work it is to prevent these messages from being removed from the device or to re-fetch them later. Maybe some internal progress since 2016 has also improved this situation in k9 already (?). In either case, while having/making the email still available when the user clicks the notification would surely be better, I think it wouldn't be a deal breaker for this feature if the email is gone then - this should rarely happen as I'd assume the "remind me" feature is rather intended for short term uses (a few hours) than days, making it unlikely emails disappear that fast. Also - is there any difference to leaving notifications intentionally open for that time in the current app? Is there anything that prevents those emails from being removed from the device? If not then this should not be a requirement for this feature either.
This makes point 2. the only remaining blocker for the feature implementation from the PR. But from my experience, I'd assume scheduling a permanent reminder is not that much of an effort (I have never worked with the k9 codebase though).
I opened this as a new issue to start a discussion on what UX is intended for this feature as suggested in the PR from 2016. There has been this related issue, but I don't think the discussion there has been very constructive. It has been closed because of the different interaction model connected to a snooze feature - however this does not apply to a "remind me" feature as I described here.
I really think this feature would be extremely useful to lots of people. It would definitely save me from a lot of (if not any) worries and annoyances in my day to day life with k9 mail.
That being said, weighting estimated implementation effort against usefulness, I would definitely not say this feature should be low priority (as the snooze feature was classified to be before).
Screenshots / Drawings / Technical details
A popup to select reminder time can be opened by either of the following means:

clicking an action on the push notification of an email
tapping a context menu action of an email in the inbox list view
swiping an email to the right in the inbox list view
tapping a toolbar button or menu entry in the email details page.

In the popup, one can select common reminder times like "30 mins", "1 hour" etc. Optionally, more "sophisticated" times like "this evening, 19pm" or "tomorrow morning, 9am" could also be suggested. Potentionally, these times could be configurable in the app settings. Also potentionally there could be an Option to set a custom reminder time in the popup.

Wanted to support this issue, and am hoping with the new stewardship this is seen in a more favourable light.
In terms of interaction/UX, in the recent Thunderbird Beta, one of the first things I attempted to do was to left/right swipe an email and see if I could snooze it. Having the ability to snooze as an option in gestures would definitely be useful ("I need to think about this email, OK let me do it tomorrow...  tomorrow/custom date").
Regarding hiding vs not hiding, I don't use Slack so the unhidden-email-reminder isn't a workflow I'm familiar with, actually thinking about it I'm finding it more confusing than not. Myself I would expect the email to be hidden away when I snooze it, simply because that's what Gmail/Outlook do. I don't think I mind where it goes, I have seen various email clients create their own 'snooze' folders and put the email there, presumably to allow me to unsnooze them.

I agree that the swipe to trigger the reminder/snooze is a very nice UI, thus I added it to the UI suggestion in the original issue description.
Regarding the hide vs unhide debate, as I said, I still think this boils down to personal preference – but due to these points, I'd argue that not hiding it is, as far one can objectively talk about this, the better option:

one can still read emails to think about what to do with them later, which one cannot do when they're hidden
it avoids the extra implementation work for hiding the emails pointed out in the previous PR
when adding an indicator that a reminder has been set for the email (and potentially also showing a snackbar to indicate success after setting the reminder), I wouldn't see how this UX could be confusing in any way

So overall, I'd say that hiding the email, while being more consistent with what Gmail and Outlook do, doesn't really add any other value than that – in fact it actually takes away the benefit of being able to access the email at all times. Therefore I'd still advocate for implementing this feature without hiding the email. If hiding the email should prove to be desired by most users, one can still develop this change later, on top of the UI suggested here (maybe even optionally using a toggle in the app settings). This way, there's less blockers for the core issue and an implementation should be doable sooner too.

Hey folks, thanks for filing this issue, it sounds like an interesting idea. Would you mind filing this at https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird android and then closing this issue? Connect provides better opportunities to find product ideas and have users vote on them.

Ok cheers I do see a similar ish idea here, would be good to vote on it then.
https://connect.mozilla.org/t5/ideas/add-the-ability-to-snooze-emails-on-thunderbird-android/idi-p/73169


Command navigation should respect current scrolling position

Testing #46594.

Manually scroll up, so that at least one command is scrolled off the bottom of your terminal
Cmd+ArrowUp

-> The last command before the prompt is revealed, i.e. the terminal scrolls down. I'd expect it to scroll up.  The reason here is a predictable workflow. I can use command navigation to reveal a command. Then I refocus on something else. Then I come back to the terminal and use Cmd+ArrowUp. Now, the terminal scroll up while when I scrolled manually before it doesn't. However, the time elapsed between those two steps can be substantial.

We should do https://github.com/Microsoft/vscode/issues/46561 before tackling this one.

To verifier: Experiment with jumping around commands, scrolling and jumping around more. Note that the scroll position navigation only applies when you do not have an active selection from the select to commands (cmd+shift+up/down).


Synchronize Documentation: Synchronize documentation versions in template repos

Checked for duplicates
Yes - I've already checked
Category
Information Sharing - documentation design, templates, communication, etc.
Describe the need
We have a need to ensure that documentation files are canonical and updated regularly in templatized repos. For example, the README format is updated in the slim-starterkit repository but it is not updated in the slim-starterkit-python repository. Similar scenarios evolve with GitHub PR and Issue templates, GitHub Action YAML descriptors and other files.
This proposal is to script the copy and release of approved changes. The slim-starterkit repository will be declared the canonical reference. All requested files will be copied into the other repos distributing these files and a PR created. The PR will be automatically approved and the repo will also be automatically tagged. All updated files will be distributed by a single execution.
Potential files:

CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
GOVERNANCE.md
LICENSE
README.md
others, as determined

Versioning:
Version numbers will be inserted at the bottom of all files, according to the last known tag version of the slim-starterkit repo. The script will only execute against the main branch so as to only collect tagged content.
Technology:
The script may be Bash-based or through the multi-gitter tool.

Hi @jpl-jengelke - thanks for this ticket. I have some thoughts:

I’m not so sure about making slim-starterkit the “canonical” version of all files. Not all SLIM deliverables will be applicable within the slim-starterkit repo, so I think we’ll have to keep in mind that the slim repo will have to be the authority for certain items. For example, written guides, non-GitHub related automation, etc.
Adding version numbers to version controlled files (that have hashed versions already) may be overkill. We should be able to use Git hashes for version control from GitHub metadata.
An automated solution sounds good but might be a bit complex to write and maintain.

Based on the above, I’m wondering if we can we investigate the option of ensuring the maintainers of the slim-starterkit have notifications set-up to be informed when the slim repo makes an updated merge of artifacts and for the maintainers to manually update repos like slim-starterkit and slim-starterkit-python, etc.? We might be able to use Dependabot dependency updates for this type of update. The reason I suggest this is that I’m unaware of major software projects that automatically update dependency references by version without a human in the loop. We might want to keep this process manual to ensure the integrity of the starterkit repos. For example, if we have multiple README recommendations, how would automation choose which one is the best for the starterkit? Etc.

Hi @jpl-jengelke - thanks for this ticket. I have some thoughts:

I’m not so sure about making slim-starterkit the “canonical” version of all files. Not all SLIM deliverables will be applicable within the slim-starterkit repo, so I think we’ll have to keep in mind that the slim repo will have to be the authority for certain items. For example, written guides, non-GitHub related automation, etc.

Understood. This would only be for the deployable files, like the specific docs mentioned above that go into target repos.
An issue is that we are keeping multiple copies of product in different places. Which one will be primary? If we keep them in the main SLIM repository that raises the specter that they will be ungrouped and intermingled amongst implementation guides. I fear this would make the files more difficult to infuse, track and to disperse to consuming repos. The earlier decision was not to keep implementations in the main SLIM repository as a matter of pragmatism to demonstrate different technologies. Isolating them in a focused context limits conflating differences between language implementations. Should the policy be uniform for all products, both technology and documentation inclusive? We have the Python Starter Kit, for example, and will likely have the C Starter Kit, etc. which use build processes implied by the technologies.

Adding version numbers to version controlled files (that have hashed versions already) may be overkill. We should be able to use Git hashes for version control from GitHub metadata.
An automated solution sounds good but might be a bit complex to write and maintain.

The primary reason for this suggestion is to track infusions. So if a LICENSE or CODE_OF_CONDUCT changes for administrative or legal reasons, it will be possible to recognize older versions in any infused repo, even if they have been edited, as long as the version is correct. Moreover, it would clearly indicate if that document changed between commits (since not all docs may change). There are other ways to do this, like calculating checksums, but the utility narrows if the files are edited, and it becomes harder (though not impossible) to detect this.

Based on the above, I’m wondering if we can we investigate the option of ensuring the maintainers of the slim-starterkit have notifications set-up to be informed when the slim repo makes an updated merge of artifacts and for the maintainers to manually update repos like slim-starterkit and slim-starterkit-python, etc.? We might be able to use Dependabot dependency updates for this type of update. The reason I suggest this is that I’m unaware of major software projects that automatically update dependency references by version without a human in the loop. We might want to keep this process manual to ensure the integrity of the starterkit repos. For example, if we have multiple README recommendations, how would automation choose which one is the best for the starterkit? Etc.

That's another approach, but I would be interested to know how it would assess the examples provided above. Many software products, specifically messaging APIs, are standardized on contract versions independent from implementing software. Simple examples are protocols like HTTP, WADL, SMTP or often custom RESTful messages. Amazon discusses this in their architecture guide for service contracts. This implies that software can change and evolve but rely on backwards compatibility of documents that cross between software components. Similarly, I'm looking at SLIM documents as a contract that evolves independently from multiple commits that may compose an implementation guide. It may just be a way of looking at the product in isolation, but I think there are tangible benefits to track files meant for infusion.

Thanks @jpl-jengelke. Let's discuss this more in person and also let @NASA-AMMOS/slim-tsc weigh in.
I'm a little worried we're creating additional complexity than needed and setting ourselves up for future maintenance problems. My two cents are that the slim repository should remain the main project repository for all deliverables that don't stand alone as separate, unique projects. The slim-starterkit isn't really a separate project, it's a collection of select files from the SLIM repo put together into a GitHub template. If someone came to us and asked for a GitLab project template we'd be in trouble, or one for a unique deployment venue we haven't thought of yet. Keeping the SLIM repo authoritative and then updating downstream uses (that are within our control) seems simpler to me than the other way around.


Full dynamic shape support

We have more and more scenarios in which dynamic shape support is needed. Some examples include:

MLperf test dynamic sequence lengths and batch size for the BERT model.
Dynamic output shape of ONNX operators such as If, Resize, Padding, Slice...

Currently, we limit the inputs we can support, so only fixed shapes need to be processed in the scenarios mentioned above. In the long term, we need to come up with a solution to support dynamic shapes.
One possible approach is: when compiling a program, we can limit the max dims we can support, and the max dims is compatible with smaller dims and not doing unnecessary computation.

After investigating the tensorrt, it provides the following solution to the If and Loop:

the if operator condition must be constant or can be inferred as an constant.
Non-constant cond input of If operator has the following error msg:
Assertion failed: cond.is_weights() && cond.weights().count() == 1 && "If condition must be a initializer!"
ERROR: could not parse the model.

Loop operator must limit the max iterations according to the API specification as in https://docs.nvidia.com/deeplearning/tensorrt/api/c_api/classnvinfer1_1_1_i_loop.html#addc1dd8e1453b9154fe734d96b05c274
The possible reason is to be able to handle the concatenation of outputs of each iteration.

The two onnx files I tried are attached here.
onnx.zip

Hi @scxiao, I am cleaning up old tickets here.  Has this task been completed?  Thanks.

Dynamic shapes are not fully done (more operators, GPU support), but at a stage where we can close this issue for now.


Improve test coverage in operator/pkg/controller/istiocontrolplane

Currently at 31.1%

How you get the 31.1%? I can't find the test file for this pkg


Bump dev dependencies

Changelog Entry
Changed

*: Bumps all dev dependencies to latest version, by @compulim, in PR #2182, notably

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

*: Bumps<EMAIL_ADDRESS>by @compulim, in PR #2182
*: Bumps Docker container for headless Chrome to selenium/standalone-chrome:3.141.59-radium, by @compulim, in PR #2182

Description
Bumps all dev dependencies to latest version before we start the development of next version. Production dependencies will be evaluated individually.
Specific Changes

Bumps dependencies for bundle, component, core, embed, and playground packages
Updates docker-compose.yml to use latest version of headless Chrome

Coverage remained the same at 63.287% when pulling b8c0a801ad34d53afeef6a5295b594ab0fd6dc80 on compulim:bump-dev-dep into 222cef99eec86d732f6c39492d0ec443b1a96192 on microsoft:master.

I can't immediately tell what the difference is on the screencaptures, could you explain?

Since we updated Docker container for Chrome, the render behavior is slightly different. Like 1px shifted, so I updated those images.
This is the sample of one of the diff.


Storm Rebalance Broken

After the merging of #200 and #213 rebalance of topologies no longer does anything. This is because there are no offers on which slots can be made when a rebalance happens unless there happen to also be other topologies needing assignments.
This is as a result of the way that Nimbus handles the TopologiesMissingAssignments component. A quick rundown of what now happens is:

storm-mesos does scheduling of topologies until no topologies need assignments
since no topologies need assignments, offers are suppressed
storm-mesos doesn't do anything in MesosNimbus because no topologies need assignments (and offers are already suppressed)
a rebalance command comes in and is registered by Nimbus, a :do-rebalance event is scheduled some number of seconds in the future
those number of seconds later there is finally a topology that needs assignment (i.e. the one that was just rebalanced), but there are no offers buffered
since there are no offers buffered and there are topologies needing assignments, offers are revived
allSlotsAvailableForScheduling returns after reviving offers
Nimbus wants slots immediately for the rebalancing topology on, and there's no time for offers to come in and be used in the next allSlotsAvailableForScheduling call
since there are no slots available for the workers to be rescheduled onto, they don't get rescheduled and rebalance therefore does nothing

Notably, if there are other topologies needing assignments at the same time as the :do-rebalance is executed, then the rebalance should work as expected.
This also is simply referring to the Storm UI "Rebalance" and its associated command. I have not tested this with the type of rebalance mentioned in the Storm documentation:

0.9.6
0.10.2
1.0.4
1.1.x

## Reconfigure the topology "mytopology" to use 5 worker processes,
## the spout "blue-spout" to use 3 executors and
## the bolt "yellow-bolt" to use 10 executors.

$ storm rebalance mytopology -n 5 -e blue-spout=3 -e yellow-bolt=10

However, I fully expect they hit the same logic in the Nimbus and this same behavior (or something similar) happens that way too.

Possible solutions:
Write logic that scrapes ZK state to see if there are any topologies in REBALANCING state, and if there are stop suppressing Offers.
Positive(s):

This would be able to accumulate Offers in anticipation of needing them to execute a :do-rebalance.
This limits the amount of perpetual offer collecting by this framework.

Negative(s):

This is complicated and requires a lot of ZK state parsing for little reward.
This is prone to bugs in Storm (like one that exists right now in Storm where if the Nimbus dies while a topology is in REBALANCING state, the only way out of it is to resubmit the topology).

Write logic to hold on to some number of unused Offers so that rebalance does something
Positive(s):

This would mean that there are always some Offers that we can leverage to make worker slots on whenever a rebalance command is triggered.

Negative(s):

This means that there are guaranteed to be wasted resources.
This is insufficient for large topologies that need many slots.
This discourages spread of workers across many hosts when rebalancing as there are only a few hosts that will have held Offers during execution of the rebalance.
Will likely reproduce the same behavior if an insufficient number of slots for the topology in question can be created across the held Offers.

Identify a way to release the _offersLock in the first round of scheduling where we have topologies that need assignment, revive and collect Offers, then use them.
Positives(s):

This is probably the right way to fix this problem.
This will not hold Offers when we don't need them.
This will enable worker spread across as many hosts as possible for topologies that are being rebalanced.

Negative(s):

This is decidedly challenging because of the locking situation.

We don't want Offers to become unavailable to us when we anticipate using them for scheduling (hence the lock).
It is not likely possible for us to hold the lock, let it go, wait a bit for revived Offers to come in, and regain the lock with any guarantee of that order of events.

This is because there are asynchronous updates happening to the Offers map when Offers are received.

This also would likely require some implementation of a Finite State Machine with transitions for holding/suppressing offers and the various ways in which you can get to/from any given state.


⚠ Bofrost.be has degraded performance

In 61a1499, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1628 ms

Resolved: Bofrost.be performance has improved in 9ed1366.


The system cannot find the ".....-add.cntnt" file specified

Dears,
I am running a connector instance configured with about 40 active crawlers. Sometimes, in the log I read:
java.io.FileNotFoundException: D:\connettori_norconex\norconex-collector-http-2.8.1.\tasks-output\unified_PRL\committer-queue\2019\02-19\05\17\59\1550593079606000000-add.cntnt (The system cannot find the file specified)
The un-found file is one of those generated by the collector, and temporarily saved to the committer-queue directory
I attach the whole config file here below
unified_PRL-idolcfs-config.zip
The fragment of log is the following:
com.norconex.committer.core.CommitterException: Could not obtain content stream for D:\connettori_norconex\norconex-collector-http-2.8.1\.\tasks-output\unified_PRL\committer-queue\2019\02-19\05\17\59\1550593079606000000-add.cntnt
	at com.norconex.committer.core.FileAddOperation.getContentStream(FileAddOperation.java:129)
	at com.norconex.committer.idol.IdolCommitter.buildCfsXmlBatchContent(IdolCommitter.java:604)
	at com.norconex.committer.idol.IdolCommitter.dreAddData(IdolCommitter.java:420)
	at com.norconex.committer.idol.IdolCommitter.commitBatch(IdolCommitter.java:285)
	at com.norconex.committer.core.AbstractBatchCommitter.commitAndCleanBatch(AbstractBatchCommitter.java:179)
	at com.norconex.committer.core.AbstractBatchCommitter.cacheOperationAndCommitIfReady(AbstractBatchCommitter.java:208)
	at com.norconex.committer.core.AbstractBatchCommitter.commitAddition(AbstractBatchCommitter.java:143)
	at com.norconex.committer.core.AbstractFileQueueCommitter.commit(AbstractFileQueueCommitter.java:222)
	at com.norconex.committer.core.AbstractCommitter.commitIfReady(AbstractCommitter.java:146)
	at com.norconex.committer.core.AbstractCommitter.add(AbstractCommitter.java:97)
	at com.norconex.collector.core.pipeline.committer.CommitModuleStage.execute(CommitModuleStage.java:34)
	at com.norconex.collector.core.pipeline.committer.CommitModuleStage.execute(CommitModuleStage.java:27)
	at com.norconex.commons.lang.pipeline.Pipeline.execute(Pipeline.java:91)
	at com.norconex.collector.http.crawler.HttpCrawler.executeCommitterPipeline(HttpCrawler.java:379)
	at com.norconex.collector.core.crawler.AbstractCrawler.processImportResponse(AbstractCrawler.java:600)
	at com.norconex.collector.core.crawler.AbstractCrawler.processNextQueuedCrawlData(AbstractCrawler.java:541)
	at com.norconex.collector.core.crawler.AbstractCrawler.processNextReference(AbstractCrawler.java:419)
	at com.norconex.collector.core.crawler.AbstractCrawler$ProcessReferencesRunnable.run(AbstractCrawler.java:820)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: D:\connettori_norconex\norconex-collector-http-2.8.1\.\tasks-output\unified_PRL\committer-queue\2019\02-19\05\17\59\1550593079606000000-add.cntnt (The system cannot find the file specified)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at com.norconex.committer.core.FileAddOperation.getContentStream(FileAddOperation.java:127)
	... 20 more

Are you using multiple crawlers?  If so, make sure each has a different "queueDir".  Otherwise, it is possible they'll try to commit the same files and this could happen.

Thank You v.m. Pascal Essiembre,
Your suggestion closes this issue

One last question, plese:
how to override the  setting?
I have a  tag with the  child-tag in the  seciotn of my collector config file. That file also includes about 40 ...
I tried to change the 'queueDir' in one of the 40 crawlers, by simply setting a tag as follows:
<committer class="com.norconex.committer.idol.IdolCommitter">
	<!-- (optional path where to queue files) -->
	<queueDir>./tasks-output/rl_agricoltura/committer-queue</queueDir>
</committer>

but looks like it does not work. Is it required to copy the whole  settings within each  section? [I hope no]

There are a few ways around this.  For instance, given the configurations are template-driven using Apache Velocity, you can define a "macro" at the top and have it print the committer section with only the path changing.  For example:
#macro( committer $queueDir )
<committer class="com.norconex.committer.idol.IdolCommitter">
    <!-- Common stuff here -->
    <queueDir>$queueDir</queueDir>
</committer>
#end

You can then have a one liner for each of your crawler:
#committer("./tasks-output/rl_agricoltura/committer-queue")
Given this ticket is closed, please open new tickets for any new questions/issues.


Correction for raw affiliation ENS de Lyon, CNRS UMR 5239, Laboratory of Biology and Modelling of the Cell, Lyon, France

Correction needed for raw affiliation ENS de Lyon, CNRS UMR 5239, Laboratory of Biology and Modelling of the Cell, Lyon, France
raw_affiliation_name: ENS de Lyon, CNRS UMR 5239, Laboratory of Biology and Modelling of the Cell, Lyon, France
new_rors: 04zmssz18;029brtt94;02feahw73;01bj4fd12
previous_rors: 04zmssz18;029brtt94;02feahw73
works_examples: W3169390442
contact: 544164b26101c4c98b111791c1df67b9:28b3ea0b1c00a53f9433f3ca4986 @ ens-lyon.fr

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


[AutoRelease] t2-compute-2024-08-01-61172(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5384
Recording test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=978
BuildTargetingString
azure-mgmt-compute
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/5384


Is there any mechanism to notify client that its session is going to be closed?

Hi.
I'm trying to find a way how to properly terminate netconf sessions from the server side. I'm going to usee kill-session RPC,
But even session is killed, client does not recieve any information about it.
I use 2 clients to test. Both clients create netconf sessions with sid 1 and 2 respectivelly.
Both clients are connected. Perform some get to ensure:
client1:
> connect --login engineer
Interactive SSH Authentication
Type your password:
Password:
> status
Current NETCONF session:
  ID          : 1
  Host        : <IP_ADDRESS>
  Port        : 830
  Transport   : SSH
  Capabilities:
    ...
> get --filter-xpat /ietf-netconf-acm:nacm/enable-nacm
DATA
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <nacm xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-acm">
    <enable-nacm>true</enable-nacm>
  </nacm>
</data>

client2:
> connect --login engineer
Interactive SSH Authentication
Type your password:
Password:
> status
Current NETCONF session:
  ID          : 2
  Host        : <IP_ADDRESS>
  Port        : 830
  Transport   : SSH
  Capabilities:
      ...
> get --filter-xpat /ietf-netconf-acm:nacm/enable-nacm
DATA
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <nacm xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-acm">
    <enable-nacm>true</enable-nacm>
  </nacm>
</data>

Then, client2 does kill-session --sid to kill session 1:
> kill-session --sid 1
OK
>

As a result, client1 does not know that its session is closed. There is no any output in the console and "status" command says that everything is fine, But when it does get, error is shown:
> status
Current NETCONF session:
  ID          : 1
  Host        : <IP_ADDRESS>
  Port        : 830
  Transport   : SSH
  Capabilities:
	...
> get --filter-xpat /ietf-netconf-acm:nacm/enable-nacm
nc ERROR: Communication socket unexpectedly closed.
cli_send_recv: Failed to send the RPC.
>

The same behaviour occurs if I terminate the server in linux.
I have not found any description what should be done by netconf server when it initiates closing the session. Could you please clarify whether client should be somehow informed that session is terminated.
Thanks in advance.

NETCONF does not define (allow) server terminating the session so netopeer2 does not really support it. There is just TCP/IP keep-alive meaning on that layer it should be learned that the other end was disconnected. That results in an immediate error when further communication is attempted.

That is my understanding too. Thanks!
But how that happened that netconf RFC defines  RPC (which means that server will terminate the session), but don't allow server to close it?

The RPC kill-session is probably meant as a sort of last-resort solution to get rid of stuck/malicious sessions remotely, which do not really need to be notified.


Issue with model $events property

When using Laravel's $events property on the model (link),  this package's methods for event logging do not get called. I suppose that's expected behavior, but is there a way to have both? If not, I will just dispatch events from my controllers.

Hi,
Laravel will indeed ignore the package's events when you start using custom events in $events.
I'd suggest using model observers as they do not override the package's events.
You could also broadcast the eloquent.created: App\Model event from your custom event listener with the model as payload but that's a dirty work around imo.
Good luck!

Hi, thanks for the reply. I'll give model observers a go.

Hi!
I create an Observer for my model
But events not firing when i call methods on try catch block
public function update(AdLocalUserUpdateRequest $req,$user){             try {                 $update=$req->except('_token', 'role');                 $this->users=$this->accountRepository->update($update, $user)->roles()->update(['user_id'=>$user,'role_id' => $req->role]);                 session()->flash('alert-warning','Conta atualizada com sucesso');             }  catch (ValidatorException $e) {                 $error= $e->getMessageBag();                 session()->flash('errors',$error);             } catch (QueryException $e) {                 session()->flash('alert-danger',$e->getMessage());             }finally{                 return redirect()->route('adm.accounts.index');             }     }
My Observer Class:
`class AdUserObserver
{
public function created(AdUser $user)
{
$activity = Activity::all()->last();
$activity->description;
$activity->subject;
}
public function creating(AdUser $user)
{
$activity = Activity::all()->last();
$activity->description;
$activity->subject;
}
/**
 * Listen to the User deleting event.
 *
 * @param AdUser $user
 * @return void
 */
public function deleting(AdUser $user)
{
    $activity = Activity::all()->last();
    $activity->description;
    $activity->subject;
}

public function updating(AdUser $user) {
    $user->updated_by=Auth::user()->name;
    $activity = Activity::all()->last();
    $activity->description;
    $activity->subject;
}

public function updated(AdUser $user){
    $activity = Activity::all()->last();
    $activity->description;
    $activity->subject;
}

public function deleted(AdUser $user){
    $activity = Activity::all()->last();
    $activity->description;
    $activity->subject;
}

public function saved(AdUser $user){
    $activity = Activity::all()->last();
    $activity->description;
    $activity->subject;
}

}`
The observer is only called out of the try catch block
Any tips?


readme improvements

added table of contents
sorted twitter accounts
added links
removed duplicates

Hey @demidovakatya you're awesome! Thank you so much.


Add etcd service and documentation

This pull request adds the etcd service configured via cloud config and has been tested with a multi node etcd setup, allowing for a k3s to use as a storage backend.

Thanks for the contribution @dclark, this looks pretty good!

@dclark I really appreciate the effort on this but I am holding back until we get etcd (or at least static pods) supported directly from k3s.
This post-dates your work here but please see:
Embedded etcd is coming to k3s soon. Easily run a k3s three node cluster with all the guarantees of etcd. mysql, mariadb, postgres are still available as HA options.— Darren Shepherd (@ibuildthecloud) May 4, 2020

@dweomer this is the correct decision and I was going to suggest the same.
Keeping k3os minimal for running K3s and adding additional daemons and services outside of this should be avoided. Any system management should be through k3s directly.
There is embedded dqlite which is automatically configuring with multi servers with wireguard and handled from k3s.
If a separate etcd service is deployed there is additional configuration such as SSL, backups and higher resource requirements to content with.


Grant azure_pg_admin to user/role

In the documentation it's stated to create and grant additional admin. One must login with the admin username and password and execute the following:
`CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;`
The GRANT always fails with: error granting role azure_pg_admin to : only superusers can grant role "pg_execute_server_program".

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

ID: adbbd4e3-40c7-a89d-2e8a-dd9dbd028836
Version Independent ID: 241f0f17-00fd-cde3-2070-e2a8f000806a
Content: Create users - Azure Database for PostgreSQL - Single Server
Content Source: articles/postgresql/howto-create-users.md
Service: postgresql
GitHub Login: @sunilagarwal
Microsoft Alias: sunila

@ChrisIsidora Thank you for the feedback. We are actively investigating and will get back to you soon.

@ChrisIsidora Thanks for your patience. I was able to grant the role to new user following the steps. Could you please confirm if you were connected to server using admin credentials?

@AnuragSharma-MSFT Yes, just as decribed in the issue I'm logged in using the admin username and password that was created during the creation of the single server resource.

@ChrisIsidora Which tool are you using to connect to server?

@AnuragSharma-MSFT pgAdmin 4 v6

@ChrisIsidora This is interesting. I was able to successfully run the queries through the pgAdmin as well. Can you please try connecting through Bash as mentioned in below article? Just check the username as mentioned in the screenshot.
Quickstart: Create an Azure Database for PostgreSQL server by using the Azure portal

@AnuragSharma-MSFT  Same issue:

Hello @ChrisIsidora,
your issue might be related to a recent issue with an update of the Azure Database for PostgreSQL (see this conversation: https://docs.microsoft.com/en-us/answers/questions/712821/azure-postgresql-database-cannot-grant-role-to-my.html)

@PhiGegner Thanks it is related, it states that it should be resolved now, but I still have the issue.

@AnuragSharma-MSFT Based on the reply of @PhiGegner I just recreated the PostgreSQL and now it works. Thanks for you help.


add flag prevent destroy to data disk

Signed-off-by: Ricardo Mateus<EMAIL_ADDRESS>What does this PR change?
Implementation of https://github.com/uyuni-project/sumaform/issues/821

Hey Moio, This will not work, as explained in [1]. I just opened this PR to serve as documentation of what we cannot do and to be able to discuss it with you :)
[1] https://github.com/uyuni-project/sumaform/issues/821#issuecomment-752649525

Hey Moio, This will not work, as explained in [1]. I just opened this PR to serve as documentation of what we cannot do and to be able to discuss it with you :)
[1] https://github.com/uyuni-project/sumaform/issues/821#issuecomment-752649525

Oh, I am not reading my email in chronological order!
I'd suggest to close this PR then. It's still around for reference, but at least it's clear it won't go anywhere :wink:
Sorry for the noise

Oh, I am not reading my email in chronological order!
I'd suggest to close this PR then. It's still around for reference, but at least it's clear it won't go anywhere :wink:
Sorry for the noise


Update to v1.4.0

Belated update to 1.4.0 (1.5.0 to follow)
Checklist

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

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

This recipe uses wheels for the arm builds because the Deno dependency can't be cross compiled. As soon as arm runners are available we can migrate to building using those.

Trying the patch that the deno feedstock uses to work around the libffi error:  https://github.com/conda-forge/deno-feedstock/blob/main/recipe/01-fix-libffi-msvc.patch


Accept insertID for BigQuery API

Sometimes you would like to have control over insertID, in my case for each request I have processedTimestamp which defaults to current timestamp thus making md5 always unique and therefore making insertId inefficient.

I signed it!

:+1:

Thanks for this @vladmiller! Did you see #1041? I think we're interested in a solution that allows specifying a raw option, as outlined here: https://github.com/GoogleCloudPlatform/gcloud-node/issues/1041#issuecomment-170376959 -- what are your thoughts on that approach?

@stephenplusplus It doesn't seems like there aren't any other fields except insertID, but things could change. I'll see if I can easily implement solution with raw option

That's true, here's the spec: https://cloud.google.com/bigquery/docs/reference/v2/tabledata/insertAll

rows[]
rows[].insertId
rows[].json
skipInvalidRows
ignoreUnknownValues
templateSuffix

So, maybe the options object should also accept the skipInvalidRows, ignoreUnknownValues, and templateSuffix options:
var opts = {
  raw: true,
  ignoreUnknownValues: true
};

var row = {
  insertId: 'my-id',
  json: {
    // row data
  }
};

table.insert([row, row], opts, function() {});

@stephenplusplus okay, let's see if it's easy

Thanks!

@stephenplusplus pushed new commit with tests and fix. Please check and let me know what you think.


Error Computation

Related Issue #268
I have added the two classes. One is AsyncAggExecutionRulerByCount. It will stop the stream when fetching enough single results. The other is AsyncAggExecutionRulerByConverge. It will compare two consecutive single results. If the answers from these two results are similar, it will stop.

Codecov Report

Merging #276 into master will decrease coverage by 0.48%.
The diff coverage is 33.34%.

@@            Coverage Diff            @@
##           master    #276      +/-   ##
=========================================
- Coverage   70.87%   70.4%   -0.47%
=========================================
  Files         155     158       +3
  Lines       10006   10109     +103
  Branches     1609    1631      +22
=========================================
+ Hits         7091    7116      +25
- Misses       2522    2596      +74
- Partials      393     397       +4

Impacted Files
Coverage Δ

.../verdictdb/coordinator/SelectQueryCoordinator.java
87.6% <ø> (ø)
:arrow_up:

...org/verdictdb/jdbc41/VerdictResultSetMetaData.java
56.42% <0%> (-1.48%)
:arrow_down:

...or/QueryResultAccuracyEstimatorFromDifference.java
0% <0%> (ø)

...erdictdb/core/querying/SelectAllExecutionNode.java
78.13% <100%> (+3.13%)
:arrow_up:

.../verdictdb/connection/DbmsQueryResultMetaData.java
100% <100%> (ø)
:arrow_up:

...va/org/verdictdb/coordinator/ExecutionContext.java
86.03% <50%> (-1.14%)
:arrow_down:

...ctdb/coordinator/QueryResultAccuracyEstimator.java
71.43% <71.43%> (ø)

...querying/simplifier/ConsolidatedExecutionNode.java
90.63% <80%> (-1.23%)
:arrow_down:

...tor/QueryResultAccuracyEstimatorWithGroupSize.java
87.5% <87.5%> (ø)

.../core/scrambling/FastConvergeScramblingMethod.java
90.97% <0%> (-2.1%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cb04a57...8ae4725. Read the comment docs.

I believe some of the change requests have been completed yet. Please let me know when they are done.


Add poppler-utils dependency and eng language default

As mentioned in this issue, some of my PDFs were still returning errors due to this missing dependency.  I've updated the Dockerfile to fix this problem as well as to install tesseract-ocr-eng instead of -nld.  I wasn't sure why the -nld was referenced since the script said that eng was the default.  Please let me know if changing this part was an error.

Working on some other changes to submit at the same time in a single request.


Upgrade docs for 2.7.1 release

What changes were proposed in this pull request?
Updated Ambari docs (adding 2.7.1 release)
How was this patch tested?
mvn clean site

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3738/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3745/
Test PASSed.


Add linux/riscv64 builds

This PR adds RISC-V builds to the project.
Looking at the recent work on allowing to run jitsi on other architectures than amd64 on Docker, I see adding riscv64 support to this project as one step towards jitsi on Docker to run on riscv64.
Golang supports riscv64 since a few years back, cross-compiling works just like any other arch. Using the riscv64 build using the provided test in the readme also works without any problems.
$  _releases/tpl-linux-riscv64 sample.txt
Hello ubuntu

(build with go version go1.17 linux/riscv64) on Ubuntu Server 21.10, Linux 5.13.0-1020-generic.
RISC-V is an open standard instruction set architecture, which is under rapid development. Distributions including AOSP, Arch Linux, Debian, Gentoo Linux, Fedora, OpenEuler, etc are also actively doing porting work for this architecture.

Ping @saghul: not sure if this PR is known?

Oops, I hadn't seen this, thanks for the reminder!


throw when a message declares packed fields of types that cannot be packed

I'm sending this PR more as the beginning of a discussion than an actual contribution at this point.
Addressing https://github.com/mafintosh/protocol-buffers/issues/49
This PR contains 2 tests for packed fields and the corresponding code that throws when it should.
I did my best to follow the style guide.
The multiple .some calls can end up traversing all messages and all enums. I'm not sure there is a better way in the current state of things. The way to improve perf would be to keep a map of messages/enums key'd on names. But I doubt it's really necessary.
Please tell me what you think.

thanks for pr. this is a great addition in general. i've added a few comments.

thanks for pr. this is a great addition in general. i've added a few comments.

Thanks, I'll fix the small comments in a coming commit and wait for your answer on the last point.

The commit hid the important remaining discussion. It's here https://github.com/mafintosh/protocol-buffers-schema/pull/25#discussion_r55180994

This is great! Will resolve the conflict for you as I was slow to merge.

Out in 3.3.0


sv create with storybook fails from fresh minimal install

 Welcome to the Svelte CLI! (v0.6.5)
│
◇  Where would you like your project to be created?
│  ./
│
◇  Which template would you like?
│  SvelteKit minimal
│
◇  Add type checking with Typescript?
│  Yes, using Typescript syntax
│
◆  Project created
│
◇  What would you like to add to your project? (use arrow keys / space bar)
│  prettier, eslint, storybook
│
◇  Which package manager do you want to install dependencies with?
│  npm
│
◇  storybook: Running external command (npx storybook@latest init --skip-install --no-dev)

npm run storybook
Then on an example button, I change the colour.   Storybook says, do you want to save changes?
I say , yes (please)
It says
SyntaxError: Unexpected token, expected "}" (8:9)```

And a pop up says 'did not save, unknown error'

v20.13.1

Can confirm, this also happens on node v22.11.0
Here is the full stack trace:
Error writing to .\src\stories\Button.stories.svelte:
SyntaxError: Unexpected token, expected "}" (8:9)
    at constructor (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:14251:15)
    at Wl.raise (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:16508:54)
    at Wl.unexpected (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:16525:18)
    at Wl.expect (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:16789:27)
    at Wl.jsxParseExpressionContainer (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:18853:75)
    at Wl.jsxParseElementAt (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:18894:122)
    at Wl.jsxParseElement (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:18915:32)
    at Wl.parseExprAtom (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:18924:37)
    at Wl.parseExprSubscripts (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:21426:78)
    at Wl.parseUpdate (.\node_modules\.pnpm\@storybook+core@8.4.6\node_modules\@storybook\core\dist\babel\index.cjs:21416:45)

And the relevant code:
import { defineMeta } from '@storybook/addon-svelte-csf';
import Button from './Button.svelte';
import { fn } from '@storybook/test';

// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
const { Story } = defineMeta({
  title: 'Example/Button',
  component: Button,
  tags: ['autodocs'],
  argTypes: {
    backgroundColor: { control: 'color' },
    size: {
      control: { type: 'select' },
      options: ['small', 'medium', 'large'],
    },
  },
  args: {
    onClick: fn(),
  }
});

Don't know how that tool is counting the lines, but looks like line 8 does not contain any }. Maybe it's referencing line 7?
Pinging @JReinhold. If you want me to create an issue, please let me know!

Thanks for the report. This is unrelated to the sv command, it's a Storybook limitation. I'm sorry this affects the maintainers here, please keep pinging me on stuff like this @manuel3108 🙏
I've opened an issue here where I explain what's going on: https://github.com/storybookjs/addon-svelte-csf/issues/240
Feel free to close this one.

I'm completely new to Storybook, so pressing that save button was almost my first interaction! How do we save changes then, without a Save button?

I'm completely new to Storybook, so pressing that save button was almost my first interaction! How do we save changes then, without a Save button?

@cristianvogel those changes in Controls are "saved" as args on a story in the stories.svelte file. When you want to edit the args of a story, or create a new story with other args, you simply modify the story definitions in the file.
See docs here: https://storybook.js.org/docs/writing-stories/args - remember to pick Svelte in the frameworks picker in the top.
Feel free to DM me on Discord (Svelte or Storybook servers), I'm JReinhold 👋


Add a save-all button in the Python editor

Is your feature request related to a problem? Please describe.
For large projects, if you want to quit HAL you need to click all Python tabs separately to save their changes. If you need to restart HAL often, then this is annoying.
Describe the solution you'd like
I suggest adding a save-all button to the Python editor that simply saves all tabs with unsaved changes at once.
Describe alternatives you've considered
We should discuss how we handle tabs that are new scripts, i.e. that have never been saved. If the user does this excessively, this could result in a lot of file chooser dialogs opening. Maybe do this and cancel the whole process if the user cancels one of the file choosers?

Me and @ChuTriel are aware of this problem and we are actually already discussing how to implement this in a meaningful way. We definitely want to avoid the file chooser dialogs to open and the warnings for the python tabs when closing HAL. That's just annoying tbh. We were thinking about autosaving the contents of the python editor in a temp file after closing and reloading them on startup. Just like VS Code or Notepad++. I think that would be the most comfortable solution for the user.


Infering modules in conditionals?

It might be sensible to infer modules in conditionals when source-dirs is specified.  For executables we already do this (inferring other-modules).  What do we want to do for libraries here?
Example
Given the following files:
src/Foo.hs
windows/Bar.hs
posix/Bar.hs

# package.yaml
library:
  source-dirs: src
  when:
    condition: os(windows)
    then:
      source-dirs: windows
    else:
     source-dirs: posix

Library top-level we infer everything as exposed-modules if nothing else is specify.  What do we want to infer inside the conditionals?
As I argued before, it may make sense to infer other-modules inside the conditionals, which give us the following:
library
  hs-source-dirs: src
  exposed-modules: Foo
  if os(windows)
    hs-source-dirs: windows
    other-modules: Bar
  else
    hs-source-dirs: posix
    other-modules: Bar

@scott-fleischman @borsboom Any opinions?

For reference: https://github.com/sol/hpack/commit/6a55600c5fd86be5ae95eb2f7b217c898519a676#commitcomment-25254470

It seems reasonable to me, and likely a good default behavior.
I'm not sure if it would be worth checking for duplication of the same source-dir in a conditional as in the top-level, which would likely indicate a user mistake.

Also, there might a corner case where the same source-dir is mentioned in separate conditionals. In that case I would prefer it not to infer anything.
Possibly more problematic would be when the same source-dir occurs in a conditional (and not top-level), but in both the then and else branches. Then perhaps it shouldn't be inferred?
However, I would expect in both cases the reasonable thing to do would be to specify some modules manually rather than leaving them blank.
Possibly a user would still want them inferred in the case where, say, each conditional still ought to include the same files.

@scott-fleischman all of what you say makes sense.

Also, there might a corner case where the same source-dir is mentioned in separate conditionals. In that case I would prefer it not to infer anything.

Yes, makes sense.  However, what I care about is something that is easy to understand and document. This is why I'm not too excited about handling this explicitly.  But here is an other idea. As you noted:

However, I would expect in both cases the reasonable thing for user to have done is to specify some modules manually rather than leaving them blank.

So how about we don't infer anything inside a specific conditional as soon as the user specifies any modules manually.
The rule would be: Inside a conditional we only ever infer other-modules, and only if neither exposed-modules nor other-modules is specified.
WDYT?

I like that rule.


[Enhancement]: write reboot test script within CI

What would you like to be added:
We need to ensure that MicroShift can come back online after reboots.
Why is this needed:
Customers will need to be able to handle reboots and power outages

I'm writing the test to verify the reboot here:
https://github.com/alknopfler/release/tree/testReboot/ci-operator/step-registry/redhat-et/microshift/e2e


Update typeshed to collapse display.show overloads.

e2e test failures are due to this change, ignoring them for now until I've discussed this more widely.


Increase PPU Accuracy and Performance

This PR should make the PPU cycle accurate (assuming there are no mistakes)
I still have a small bug to fix before it's ready to merge. Sometimes, sprites that falls off the bottom of the screen are shown on the top 1 pixel of the screen. I've identified the bug, now I'm looking if it's intended and supposed to be hidden by overscan, if not, why it doesn't happen on the real nes to do an accurate fix
Frame time is slighty different when rendering is disabled, so that's something I need to address without merging. Fixed
This fixes a lot of bugs, especially graphical one, and a lot of game seems to finally work perfectly after this.
Closes https://github.com/zer0x64/nestadia/issues/43

Ready to merge if you're fine with it!

Sounds good to me!


Update .gitignore

https://github.com/ziglang/zig/issues/20077

Thanks for this! I've included the change in https://github.com/codecrafters-io/build-your-own-redis/pull/259/files


native gem: arm64-linux support

What problem is this PR intended to solve?
Provide precompiled native gem for arm64-linux platforms.
Have you included adequate test coverage?
Not yet, this is still experimental
Does this change affect the behavior of either the C or the Java implementations?
Packaging only.

Note that this branch depends on an experimental branch of rake-compiler-dock, see https://github.com/rake-compiler/rake-compiler-dock/pull/54

If anyone would like to kick the tires on what this precompiled gem looks like, and give feedback on whether it's working as expected:
https://storage.googleapis.com/rubygem-nokogiri-alphas/nokogiri-1.13.0.alpha1-arm64-linux.gem
Note that this alpha gem depends on an experimental builder image generated by an experimental branch of rake-compiler-dock, and although it is based off a stable commit, I would not advise running it in production.

Whoops, Lars pointed out the platform string was incorrect, here's an updated version of the alpha gem:
https://storage.googleapis.com/rubygem-nokogiri-alphas/nokogiri-1.13.0.alpha2-aarch64-linux.gem


[eks] versions look wrong with their release date

Our data looks a bit wrong about both their latest version and their release date
for example

vs

@captn3m0 @marcwrobel

You're looking at EKS-D, which is the open-source project that powers AWS EKS. Once a version of EKS-Distro is released, it gets tested further before it is rolled out to EKS, the service.
What version is available on EKS (the service) is documented at https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html, and we track this page (using the git history at https://github.com/awsdocs/amazon-eks-user-guide/blob/master/doc_source/platform-versions.md). We use the date a new entry is added as the date a new version is released on EKS.


spl: Bump to newest SPL crates for token-2022 release

Problem
The new SPL crates, including token-2022, have been released, and the new token-2022 program will be deployed soon, but the monorepo is still using the old crates.
Summary of Changes
In preparation of the release, bump the monorepo to the newest crates.
The breaking changes concern extensions that have not been released yet (token-group and confidential transfer instructions). The main impact is that RPC servers on 1.18 will incorrectly parse the token-group type once the new program is deployed. I don't think we should backport this change to 1.18, so we'll need to live with some incorrect parsing until 2.0 hits mainnet.
On the flipside, since token-2022 built with these crates will be deployed to all networks, we should backport this change to 2.0. The next step will be to add the built program to program-test / solana-test-validator and backport that too.
Fixes #

I looked a bit more into why there were two versions of spl-pod, which made me realize that a lot of the packages needed to be republished since they missed another bump. I've done those bumps correctly, and we're back down to one version of everything

Sorry, I had to rebase to pick up the changes from https://github.com/anza-xyz/agave/pull/2252

Oops, never mind, this won't be possible until we land https://github.com/anza-xyz/agave/pull/2817 and update SPL to use 2.0 on the newer curve25519 crate. Even with the Cargo.lock issue resolved, the build then fails because the confidential transfer proof generation is using the old curve25519 crate, but the zk-sdk is using the new one.
Either way, I'll move this back to draft while waiting for everything else to get done.

Closing in favor of  #3431


Cleanup: private embedded types and readonly where appropriate (#187).

https://github.com/aspnet/KestrelHttpServer/issues/187
cc @halter73 @lodejard

Removed readonly from struct fields.

On further analysis, is only the structs in a struct, where the inner struct has methods or properties called on it that have issues. (So bool is ok to be readonly, but the inner enumerator struct will go weird)

@benaadams Microsoft.AspNet.Server.Kestrel.FunctionalTests.ReuseStreamsTests.ReuseStreamsOn is failing consistenly in this PR. Any idea why that could be? I can't repro on my local Ubuntu VM.

@cesarbs yes, need to move how the test is done https://github.com/aspnet/KestrelHttpServer/pull/501
Keep-alive is not enforced with the header on mono; so sometimes works, sometimes doesn't. Need to move it to an enginetest rather than how its currently done.

That PR isn't currently correct though.

@benaadams The real issue is having mutable readonly struct fields. They are not mutated as expected because when the field is readonly a copy is made before invoking one of its members.

Yar:

is only the structs in a struct, where the inner struct has methods or properties called on it that have issues

Though that sentence doesn't make that much sense reading it back

:smile:

From reading the Jon Skeet's blog, it appears the issue isn't at all related to whether or not the field is in a struct. It also doesn't matter whether or not the struct is modified. The compile adds the copies (i.e. stloc ldloca.s) because the value in the readonly field might be modified and the compiler isn't smart enough to know that it isn't. Note that the Int256 struct used in Jon Skeet's example is never actually modified.
It seems that if perf matters, it's safest to just never put a struct in a read only field whether or not the field is inside of a struct or class.

https://github.com/dotnet/corefx/pull/4898#discussion_r47368263

FWIW, that's an oversimplification. The compiler only adds the defensive copy of a readonly struct field in the case of an invocation off of that field, in order to prevent mutation to the thing that was supposed to be readonly.

Though I don't readonly structs anymore; is simpler; for everything else it seems to be a good idea.

As the behaviour also easily breaks enumerators and other things, without a compile error; as it allows you to modify them; but then doesn't change them.

:shipit:


fix typos in agent-installation.md

Referred to 'hub' in instructions, but meant 'agent'.
Looks like the result of a copy-paste from the Hub installation instructions, only in a few locations.

Good catch, thanks! 👍


Update request: joplin 2.14.1 → 3.0.13

Package name: joplin
Latest released version: 3.0.13

Current version on the unstable channel: 2.14.1
Current version on the stable/release channel: 2.14.1

[X] Checked the nixpkgs pull requests

Notify maintainers
No listed maintainer, and I'm unsure how to look up the last committer/author for nodejs applications. Nodejs applications seem to be a different beast that I'm unfamiliar with.

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

Latest version is 3.0.15. A update would be very great.

#336324

#336324

That's the desktop application, this issue was about the CLI application, which was updated in https://github.com/NixOS/nixpkgs/pull/330568.

Great, thanks!


Final Fantasy d20 (FFD20) v1.1 Update

Version 1.1 (released 11/06/2017)
Small update. Changes were:

Fixed CMB and CMD autocalculations
Added a d4 option for class HD
Added a quantity/charges (wands) field for inventory items
Changed gil, monster XP and CR, to text fields to accomodate for commas
Added craft, perform, and profession skills to the monster skills section
Fixed the formatting for the monster skills section -- should look better for Firefox users

In your last commit, your code was using the default Windows new-line characters (\r\n) when we need it to use the default Unix character (\n). Our website runs on a Unix system, and requires the Unix line-endings rather than windows. To avoid this in the future, you can change the settings in your text editor to use Unix line-endings rather than Windows.


Largest Triangle Area

Coverage remained the same at 100.0% when pulling c6cb272301935ad14483eefaa2db8204377967f1 on largest-triangle-area into 18676d7757d1102ce50f16c9c04670b693ebdec3 on master.


Bump bl from 1.2.2 to 1.2.3

Bumps bl from 1.2.2 to 1.2.3.

Release notes
Commits

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

OK


API: Allow TargetRetriever to receive a Context

Fixes #7103
I only changed TargetRetriever as that is the originally agreed scope on the issue, but the same could be applied to the other dependencies.
Signed-off-by: gotjosh<EMAIL_ADDRESS>

Thanks!


[fix] site import for facility module

Coverage decreased (-0.07%) to 83.164% when pulling 7cae9d453d7314c7b45a6a344d126dffc5d1a544 on site_import into 6e33254c8249bd03f33e3ffa2833fc43fa5281c7 on master.


bug: Alpine apk extractor does not correctly extract commit hash

The commit extractor is not extracting the correct commit line from the status file:
https://github.com/google/osv-scalibr/blob/c36dd4d152236eb1ba726f84cbc1b475ca0abf90/extractor/filesystem/os/apk/extractor.go#L169
It is trying to get the lines that starts with c:<commit-hash>, but instead I think it case-insensitively matched to the C: line instead, which is the file checksum.

With https://github.com/google/osv-scalibr/pull/241 has this been resolved?

Yes, closing this now.


remove redudant ResyncPeriod, actually not used

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[X] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-ipv6-k8s-tests_istio
f353e06d5a905bedb322a71f3e4a7f2b5672bda2
link
/test integ-ipv6-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


请问这篇文章有上传到arXiv吗？

Thanks for your interests in our work. Please find our manuscript via the link: https://arxiv.org/abs/2306.02330


nilesoft-shell: Update to version 1.9.18

Closes #14637
nilesoft-shell is stuck on version 1.9.15 because the installer url's have changed. This PR updates the manifest to change the download & autoupdate urls to the correct location, ensuring 1.9.18 is pulled correctly & also adds an arm64 build.

[x] I have read the Contributing Guide.

Relates to  #14503


Subword with multiple space

VSCode Version: 1.25.0 (0f080e5)
OS version: Windows_NT x64 10.0.17134

Hi,
The new feature subword navigation has a weird behavior with multiple space and could be improved (in my opinion).
With multiple space, this is the actual behavior:

If you use Subword Navigation extension, this is the behavior (and expected behavior for me):

I think this improvment could be very nice :)
Thanks a lot for this wonderful IDE :)

E.g. I would like to use the purposed behavior to manual re-align the following code: do column selection for multiple lines at column 1, select spaces (or tabs), delete them and tab-key to indent:
 -- 1
        -- 2
    #3
   #4

Tested the insiders version a3f9f2e7240106aeec2f1d4bc03d7876bd42e2e4 2018-09-07T05:05:38.205Z just now.
The fix doesn't work perfectly.
On line 1 of:
; -- 1
;        -- 2
;    #3
;   #4

" --" is selected wrongly, instead of just one space.
And for the input:
 -- 1
        -- 2
    #3
   #4

4 columns at line starts, wordPartRightSelect, then wordPartLeftSelect, all lines remain one space selected at the start of the lines.
See the gif

There is also problem when begin from line start and do wordPartRightSelect for lines with only spaces.  On many lines the last space is not selected.
....
.
...
........

The periods meant spaces above.

Thanks @johnnytemp for the testing.
I have pushed additional fixes via a4a5b590ec996f64eb0675dedd80adf941333777

Thanks @alexandrudima   Will test it later when the Insider released.

Oh, seems it works perfectly now.  Thanks a lot!

Thank you very much! Work perfectly in Insider :)
Another essential function directly in VSCode, this IDE become the best of the best!


JWT refresh tokens valid as access tokens

I've noticed the refresh tokens generated by JwtAccessTokenConverter are also valid as access tokens.
Upon digging into this issue more, I've come to the following conclusions:

Since JWT does not store tokens in memory or a db, the only way to differentiate a refresh token from an access token is via the decoded JWT payload.
By default, the JWT payload does not include any information in the payload to indicate it's a refresh token.
At the moment, there does not appear to be a way to alter just the refresh token via configuration (for example, a refresh token specific ClientDetailsServiceBuilder.additionalInformation or unique refresh token scopes).

I don't think this is a security flaw, but it's odd behavior.

+1 Noticed this today as well.
I have my doubts about it not being a security risk. As I understand you keep the access tokens on a short lifetime and the refresh tokens on a (extremely) long lifetime. This to not annoy your user with login screens (refresh token with long lifetime), but still enable revocation (access tokens with short lifetime).
So allowing the long lived refresh tokens to double as access tokens without the intermediary step (getting access token) might be harmful.
I could be completely off as I'm a bit new to this, so apologies in advance...


C-c C-k only works if the file has been modified

To reproduce:
emacs -Q
(load-file "~/.emacs.d/elpa/geiser-20161001.1854/geiser.el")
C-x C-f test.rkt RET
M-x run-geiser RET racket RET

The file test.rkt contains:
#lang racket

(displayln "Hello!")

When I press C-c C-k, *Geiser dbg* pops up with the text Hello!, as expected. But when I press C-c C-k again, the Hello! disappears! I still get the Compiling /path/to/test.rkt ... done, but the file is not actually evaluated.
If I modify the file with M-! touch test.rkt RET, then C-c C-k is returned to its original functionality. But only the first time; the second time, evaluation will once again not happen.
Am I misunderstanding something here? I expect the file to be evaluated every time I compile it. Perhaps this is an optimization by Racket where the file is not actually re-compiled if it's not been changed because it's supposed to be referentially transparent or something?
I ran into this problem using rackunit, since I will have a my-functions.rkt and a my-functions-test.rkt. I start out by compiling my-functions-test.rkt to see that my tests are failing, I fix up my-functions.rkt, and then re-compile my-functions-test.rkt (no need to change the latter file; my tests are already written). But since my-functions-test.rkt is not evaluated, it looks like my tests are succeeding even if they aren't, which is very confusing!

I see code that looks like it's checking timestamps before going ahead with the compilation in enter.rkt:
(define (check-latest mod)
  (define mpi (module-path-index-join mod #f))
  (define done (make-hash))
  (let loop ([mpi mpi])
    (define rindex (module-path-index-resolve mpi))
    (define rpath (resolved-module-path-name rindex))
    (define path (if (pair? rpath) (car rpath) rpath))
    (when (path? path)
      (define npath (normal-case-path path))
      (unless (hash-ref done npath #f)
        (hash-set! done npath #t)
        (define mod (hash-ref loaded rpath #f))
        (when mod
          (for-each loop (mod-depends mod))
          (define-values (ts actual-path) (get-timestamp npath))
          (when (> ts (mod-timestamp mod))
            (define orig (current-load/use-compiled))
            (parameterize ([current-load/use-compiled
                            (make-loader orig #f)]
                           [current-module-declare-name rindex]
                           [current-module-declare-source actual-path])
              ((make-loader orig #f) npath (mod-name mod)))))))))

That would be consistent with the observed behavior. If it's intended, I am curious what the reason is.

That's intended behaviour, and actually the standard way racket modules
work: side effects are computed only once, when the module is first
loaded (the code you quoted is similar to what you can find in racket's
own enter implementation), and code is not reloaded if the file hasn't
been modified.
The deeper reasons for this behaviour are to be found in the
documentation for racket module system. in DrRacket things work just
fine everytime you "Run" the file (with the green button) because the
REPL is actually restarted everytime too.
Racket designers are very keen on that behaviour, and consider a bad
practice to maintain a live process that incrementally changes its state
to accommodate new (re)definitions.  They even have a motto for it: the
top level is hopeless! (just
follow the link for lots of links to further discussion).
Another area where this opposed world views will hit you is in
submodules: i have no clear model in my mind of how submodules are
supposed to work when code is re-evaluated in a living repl, and haven't
been able to implement their reloading in a way that makes intuitive
sense to me.  This is surely my fault, although i suspect that
submodules are designed with DrRacket's evaluation model in mind and
that it's difficult to adapt their behaviour to our modus operandi.
Probably, we would need someone with a better grasp of Racket to really
implement module and submodule reloading in a living REPL such as
geiser's in a way that makes full sense in Racket.  But my impression is
that racketeers by and large are not interested in geiser's way, and are
very happy with DrRacket (and racket-mode if they happen to use emacs),
so i'm not holding my breath :) i of course would love to be proved
wrong!

Hmm. I am trying to be open to other programming paradigms, so I am wary of my inclination to make Racket just like CIDER. How does racket-mode compare to Geiser?
Also, how should I do TDD using rackunit, if one can't reload a file? Is there a Geiser command equivalent to the DrRacket "Run" button?

i haven't tried it myself, but i have the highest regard for greg,
racket-mode's author, and i'd definitely give it a try if you want to
stick to racket's paradigm (we've even considered droping support in
geiser for racket altogether in favour of racket-mode).
in geiser, you can run M-x geiser-restart-repl to, well, restart the repl,
and write a simple function that combines C-c C-k and restart-repl, but
perhaps it's easier to just "touch" the file:
(defun touch-and-compile ()
  (interactive)
  (set-buffer-modified-p t)
  (save-buffer 0)
  (geiser-compile-current-buffer))


switch to hex secrets

:warning: This PR will affect the restore process of wallets that implement determinsitic secrets. Wallets that implement this PR will have to initiate a 'self-spend' of all ecash after upgrading, in order to ensure the ecash will be recoverable.  :warning:
Fixes: base64 secret format
Description
The secrets that cashu-ts uses is a base64 string, which makes it incompatible for restoring ecash accross clients that use hex secrets. The spec recommends to use a hex string, so that's why we switch.
Changes

change from b64 to hex
fix tests

PR Tasks

[x] Open PR
[x] run npm run test --> no failing unit tests
[x] run npm run format

I'll merge it, we'll probably have to fix a test though.


os: fix putenv

Check key and value before calling env::set_var
From doc of env::set_var,
This function may panic if `key` is empty, contains an ASCII equals sign
`'='` or the NUL character `'\0'`, or when the value contains the NUL
character.

great!