[Demos] YouTube

Description:
There's a neat YouTube demo implemented using React which allows you to see the homepage of videos, the watch page and search page.
I would like for us to make it a little smarter by:
📹 [P0] Video watch page: instead of loading the full embed-video component, we: check if you are on a slow network OR a low-memory device OR have low hardware concurrency and serve down a lighter custom element for the player instead (we may need to wrap it a little for use in React). We can use a similar pattern to network aware code-splitting, but add checks for memory and concurrency in the same boolean check within React.lazy().
🔗 [P0] Routing: Fix routing so that the links to https://marvtron.github.io/watch?v=GKXS_YA9s7E (etc) take you to https://marvtron.github.io/youtube-react/watch?v=GKXS_YA9s7E. Accessing https://marvtron.github.io/youtube-react/watch?v=GKXS_YA9s7E directly should load the video watch page.
🙊 [P1] On slow network or low-memory or low hardware-concurrency, don't load the comments widget and limit (by half) the number of results returned for the recommended videos:

🔧 [P0] I would like us to add the following code to the index so we can quickly show on the watch page which components are important vs not.
<script>
window.debug = () => {
   document.querySelector('.video-container').style.border = '15px solid green';
   document.querySelector('.related-videos').style.border = '15px solid red';
   document.querySelector("#root > div > div.watch-grid > div:nth-child(5)").style.border = '15px solid red';
};
</script>

🎨[P2] Take a quick look at whether render-blocking CSS can be optimized (e.g do we need all of semantic-ui?). I was reading through https://marvtron.github.io/youtube-react/static/css/2.20edb33d.chunk.css and at the very least, I think we don't need to load in the import for the Lato font. YouTube just uses Roboto if installed and I'm cool with us falling back to Arial without loading a Web Font (font-family: roboto, arial, sans-serif; )
I would say this is probably higher priority than #https://github.com/GoogleChromeLabs/adaptive-loading/issues/63 for this week but could be looked at after #86 (#86, #87, #83, then #63).
cc @anton-karlovskiy

@addyosmani
It's a bit urgent.
I have been working on [P0] (adaptive video player component).
Suddenly https://marvtron.github.io/youtube-react/ is not working.

@addyosmani

The message is like the following:
Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API Console: https://console.developers.google.com/apis/api/youtube.googleapis.com/quotas?project=7956948267

@addyosmani
Regarding [P0] Video watch page: instead of loading the full embed-video component, we: check if you are on a slow network OR a low-memory device OR have low hardware concurrency and serve down a lighter custom element for the player instead (we may need to wrap it a little for use in React). We can use a similar pattern to network aware code-splitting, but add checks for memory and concurrency in the same boolean check within React.lazy().
Should we not use hooks for memory and concurrency?
If we use hooks, we might not be able to use network aware code-splitting pattern because I think hooks are not available in React.lazy() async method. So I'd like to suggest that we could use network hook, memory hook, concurrency hook.

Ultimately, I want us to use whichever option (hooks or the direct APIs) allows us to avoid sending down the extra code to users. It sounds like we should use hooks and can circle back if we need to rethink this.
If I remember correctly, using the hooks allows us to decide whether to show a heavy or light component but doesn't let us change what bundle gets loaded. Is that correct? We may be okay to use the hooks given the change is "are we using YouTube's iframe embed, that loads in a bunch of its own scripts vs using our own custom lazy-loading embedder?".

@addyosmani
Thank you for your clarifying.
I've got your points. As for bundle loading by hooks, I think I should experiment once more as I thought it allows us to change what bundle gets loaded by webpack default configuration of create-react-app.
We can check it soon. I'm wrapping up this feature.

Awesome. Thanks, Anton!

@addyosmani
I think we've reached the quota limit again.
Could you please check it? Can we increase the quota because we should keep requesting in the process of development?
https://console.cloud.google.com/apis/api/youtube.googleapis.com/quotas?folder=&organizationId=&project=adaptive-loading&duration=P30D

@addyosmani
I've checked the bundle chunks for both lite and heavy mode.

In my opinion, using hooks not only allows us to decide wether to show a heavy or light component but also let us control what bundle gets loaded according to the current deployed project.
So I think there is no significant difference in chunks loading if we just use hooks other than network code-splitting pattern.
Could you please confirm if this is correct?

That matches my thinking too. Let's move ahead using Hooks here... :)

@addyosmani
Because user changing the data-videoid attribute is not supported, dynamically setting the attribute is not working yet.
For example, just clicking on a video in the list does not properly open a video.

Ah, I see. This makes sense. Given we won't be clicking on links in the
sidebar I think this is OK.
On Tue, Nov 5, 2019, 6:17 PM anton-karlovskiy<EMAIL_ADDRESS>wrote:

@addyosmani https://github.com/addyosmani
Because user changing the data-videoid attribute
https://github.com/paulirish/lite-youtube-embed/blob/77b70e2279db13ee39aac3d021073687d53c6811/index.html#L152
is not supported, dynamically setting the attribute is not working yet.
For example, just clicking on a video in the list does not properly open a
video.
[image: Capture]
https://user-images.githubusercontent.com/49653735/68262581-bad51100-0054-11ea-9043-5eb1e3800996.PNG
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChromeLabs/adaptive-loading/issues/87?email_source=notifications&email_token=AAA3C2JQGTMSCCAOTR2M5W3QSISMFA5CNFSM4JIGOQU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDFANOQ#issuecomment-550110906,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3C2OJFN7NIHVYTLNBERTQSISMFANCNFSM4JIGOQUQ
.

@addyosmani

[P0] I would like us to add the following code to the index so we can quickly show on the watch page which components are important vs not.

After taking a look at the latest commits, we could get by without working on the P2 (for now - unless you've started an implementation already?).
The demo as-is is pretty solid. With respect to the window.debug() issue we are running into, my current workflow is to paste the code for this into the DevTools console and just run it. Given this, I don't think it's worth us spending too much time looking at why this wasn't working.

@addyosmani
Yes, as we discussed about that alternative with respect to window.debug(), I have not spent much time fixing it.
For P2 as well, I thought it was what we could circle back.

@addyosmani
https://github.com/GoogleChromeLabs/adaptive-loading/issues/87#issuecomment-551517621
FYI: Currently it's working for the version deployed on Firebase.

@addyosmani
We just have [P2]. Shall I add this to the backlog and handle this?

I think it's okay to skip the P2. Perhaps now is a good time to switch to the migration over to the react-adaptive-hooks project while waiting on extra microsite feedback?

@addyosmani
This project is missing from the README of https://github.com/GoogleChromeLabs/react-adaptive-hooks.
Is this on purpose?

I think it's okay to skip the P2. Perhaps now is a good time to switch to the migration over to the react-adaptive-hooks project while waiting on extra microsite feedback?

It's started. Right now I'm working on updating demos based on react-adaptive-hooks package.

Missing: nope not on purpose!
On Thu, Nov 14, 2019, 9:17 PM Anton Karlovskiy<EMAIL_ADDRESS>wrote:

I think it's okay to skip the P2. Perhaps now is a good time to switch to
the migration over to the react-adaptive-hooks project while waiting on
extra microsite feedback?
It's started. Right now I'm working on updating demos based on
react-adaptive-hooks package.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChromeLabs/adaptive-loading/issues/87?email_source=notifications&email_token=AAA3C2P7RFT7TQU66XDONADQTYWHNA5CNFSM4JIGOQU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEEKWMI#issuecomment-554216241,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3C2OOO7NOGVBRXOAJKUDQTYWHNANCNFSM4JIGOQUQ
.

@anton-karlovskiy Would you like to file a PR against the hooks project to add the YouTube app to the list of demos?

@addyosmani
No problem. Let me handle.


this is not a problem,  but  i  still need your help

after i update pyspider to  latest version,  it  dose not save into sqlite database on  default .  but  how can i  let it saves into sqlite?     dose it have a  configuration can control ?
thank  for your  help ..

Save result to result db is available in all version if you didn't overwrite on_result.

thank you very much,


run tests with race detector on CircleCI

Codecov Report

Merging #1644 into master will increase coverage by 0.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1644      +/-   ##
==========================================
+ Coverage   87.37%   87.75%   +0.38%
==========================================
  Files          97       97
  Lines        6239     6540     +301
==========================================
+ Hits         5451     5739     +288
- Misses        562      577      +15
+ Partials      226      224       -2

Impacted Files
Coverage Δ

session.go
75.95% <0%> (+2.21%)
:arrow_up:

client.go
87.46% <0%> (+4.79%)
:arrow_up:

server.go
90.8% <0%> (+4.91%)
:arrow_up:

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 8ea110d...593fd2c. Read the comment docs.


This file is only gaming

#patel
#193 #348 #356 #355 #354

_**
**_

I am in a meeting at home and sleep for you and I will call you later namaste I will call you later namaste

I'm a good boy. Namaste I will be there.


Add cooldown to hypospray

About the PR

Added a short (0.5 seconds) cooldown on the hypospray and its variants. This is due to a massive amount of arguing and support for the change in the discord.
Due to my lack of knowledge on C#, there are numerous issues in the code. Despite these, the code still works!
The issues are listed here:

[X] Random dependancy
[X] Variable definition in the middle of a bunch of checks
[ ] Check for delay is probably not in the ideal order
[X] Nested if-statements to prevent C# from throwing an error (most likely very easy to fix but I don't know how)
[ ] Cooldown is started twice if hypo is used via hand interact
[ ] The bit that starts the delay probably isn't in the best spot
[ ] Actual cooldown numbers are not thought through well and likely need changing

Help fixing these is appreciated!
Media
https://user-images.githubusercontent.com/113810873/216882576-36e568c1-b4cc-4332-8861-6d05c297664e.mp4

[X ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: Hypospray Nerfer

tweak: Hypospray, Hypopen, and Gorlax Hypospray now all have short cooldowns.

Isn't it breaks the essence of hypospray? I mean it should inject chemicals very fast.
It also doesn't help with nocturine+hypopen (or any other chem) meta as you have enough time to inject enough amount of chemical. It still just 2-3 clicks but you have to wait 0.5 sec between them. If you want so you can slip your target on soap and it will be unable to resist.
There should be other way to nerf this

Hypospray cooldown is fine. Hell on SS13 I think the cooldown is just like 1-2 seconds already due to how the character interaction logic works.
The important thing is that it's an instant action that has no do after, so you can apply it without the recipient standing still.

This change only nerfs players who are actually using the hypospray for healing people. The poisons antags can get access to are much stronger than the medicines that heal them, and a lethal dose of lexorin would only take 1 second to inject. But for a CMO who’s trying to treat a dozen injured patients, they’ll have to stand there for 3 seconds injecting bicaridine or dermaline before they could move onto the next patient. This nerf doesn’t reduce the lethality of hyposprays, it just makes their intended purpose of quickly healing people more aggravating to perform.

This change is good. Injecting 20u in 2 seconds is still much faster than using a syringe or any other method. This also is a desperately needed balance tweak for antags. Like PJB said, the important factor is that theres no doafter for the injection itself.

@GoodWheatley look I haven't exactly played CMO in SS14 yet but I do have years of experience on SS13 and I genuinely fail to imagine a THE RIDE where you have enough patients lined up that instantly need the hypospray one after another that even a half-second cooldown is too much.
Also your scenario of "injecting a single patient for 3 seconds" doesn't even make any sense? You'd completely empty your hypospray on a single patient, so you'd need to be constantly refilling it and carrying bottles around. Using pills is a much saner solution in this use case.

and a lethal dose of lexorin would only take 1 second to inject

A lethal dose of lexorin does not kill instantly, so what does this even matter? I don't know the ratios for antitox/charcoal but this really doesn't sound like it matters.

forbidden CMO tips
The hypospray is fucking trash at healing anyways, the only goo use is for filling it with chloral to keep shitters out of medbay

I'll have you know I saved a dozen players with my hypospray and several bottles of dermaline after an atmos tech accidentally plasmaflooded and someone lit a welder in the hallway

If you think you can do it I'd suggest maybe adding a DoAfter for adding chems into the hypopen/hypospray, there's a current strategy of carrying around a deathmix-filled beaker to instantly reload the hypo with and moony makes a good point about the instant refill comboing with the instant injection

I agree with doing this, but it's a bit out of scope for this PR. I did see a suggestion for not loading the hypospray directly, but loading a hypospray cartridge with chems and putting that into the hypospray, just to slow things down.

I don't think a cooldown on refilling is that big of a deal. The real pain is inventory management time wasting, not 0.5 seconds of downtime.
Like I alluded to before, the hypospray isn't a cooler pill bottle. It's meant for quick administration of small amounts of  stabilizing agents (inaprov, dex+, ...) so that a patient stops getting worse, that's it. This utility is also what makes it a dangerous high-risk item that must be guarded with care by the CMO.

I'll have you know I saved a dozen players with my hypospray and several bottles of dermaline after an atmos tech accidentally plasmaflooded and someone lit a welder in the hallway

The correct thing to do here that would've worked equally well was to inject every person with 5u inaprov or something so they stop dying in crit, then go over them 1-by-1 with a pill bottle of dermaline and then haul them to medbay if that isn't enough.
That's assuming our medbay balance isn't horrifically broken in the unending wait for bobby, of course, but I haven't played SS14 so.

hypospray cooldown is cool, I'm tired of those powergamers injecting tons of chemicals in just a few seconds

Gonna try to finish this tonight. I'll check off the "is the cooldown balanced" part because if it's not balanced we can just change it later. I'll ask on the discord to try and fix the rest of the issues.

turns out there's a check in the BeginDelay function that halts it if a delay is already in progress, so i'll just check that one off


Shadowing of functions using "fn" doesn't work in the REPL

~> fn a { put old }
~> fn a { put new }
~> a
▶ old

A related issue is about variable deletion:
~> x = foo
~> del x
~> put $x
Exception: variable $x not found
[tty 28], line 1: put $x

This might look innocent; however, the put $x line should have triggered a compilation error, not an exception.

A related issue is about variable deletion:
~> x = foo
~> del x
~> put $x
Exception: variable $x not found
[tty 28], line 1: put $x

This might look innocent; however, the put $x line should have triggered a compilation error, not an exception.


Remove Collection Icon Overrides

The new SVG graphic has been moved to Sufia, so we need to get rid of the overrides in SS. See https://github.com/projecthydra/sufia/pull/947/files for reference.

fixed in https://github.com/psu-stewardship/scholarsphere/commit/1c3af4b9eda2dd2d5c3e7312ef3bf5bea57596ec


Taskboard, a.k.a. Board

Open in Storybook ↗

Design spec in Figma

Known issues:

The layout is adjusted to accommodate the user agent's scrollbar if present, but this technique will be replaced with a custom scrollbar component once a full spec is available: #10.
Groups of avatars currently use an ad-hoc implementation while we wait for Fluent UI to release the AvatarGroup component: #15.
The way card content maps to board item data is configurable, but the breadth of that configurability is not fully implemented and is awaiting an audit.

Text color on hover in high contrast theme is inaccessible and I think there should be a white outline around the cards at rest.


Guard-Rspec 4.6.0 - Guard::RSpec formatter!

Hi, I updated to the last version and I'm using zeus to run rspec trough guard. When I run it directly with zeus I don't get any message, but when I run it trough guard I'm getting a result file formatter error.
Here is my guardfile :
   guard :rspec, cmd: "zeus rspec", cmd_additional_args: "-f progress" do…

I tried to add : , launchy: nil, notification: false, but always get this error.
Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/guard-rspec-4.6.0/lib/guard/rspec_formatter.rb:113:in `_results_file': Fatal: No output file given for Guard::RSpec formatter! (RuntimeError)
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/guard-rspec-4.6.0/lib/guard/rspec_formatter.rb:83:in `_write'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/guard-rspec-4.6.0/lib/guard/rspec_formatter.rb:76:in `write_summary'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/guard-rspec-4.6.0/lib/guard/rspec_formatter.rb:65:in `dump_summary'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:184:in `block in notify'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:183:in `each'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:183:in `notify'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:162:in `block in finish'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:170:in `close_after'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:151:in `finish'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/reporter.rb:79:in `report'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:113:in `run_specs'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:89:in `run'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:73:in `run'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/zeus-0.15.2/lib/zeus/rails.rb:208:in `test'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/zeus-0.15.2/lib/zeus.rb:148:in `block in command'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/zeus-0.15.2/lib/zeus.rb:135:in `fork'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/zeus-0.15.2/lib/zeus.rb:135:in `command'
	from /Users/mkurmann/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/zeus-0.15.2/lib/zeus.rb:50:in `go'
	from -e:1:in `<main>'
15:31:29 - ERROR - Failed: "zeus rspec -f progress -r<EMAIL_ADDRESS>-f Guard::RSpecFormatter --failure-exit-code 2 -f progress spec" (exit code: 1)

It's likely a bug (the formatter needs an environment variable passed by Guard::Rspec - but zeus fork() is probably getting in the way somehow.
Meanwhile, try and switch to an earlier version for Guard::RSpec:
gem 'rspec', '~> 4.5.2'

Let me know if that works (it should).

Ok, I can't do much more than this workaround:
https://github.com/guard/guard-rspec/blob/master/README.md#integration-with-zeus
I've added an issue in: https://github.com/burke/zeus/issues/523, so hopefully someday the workaround won't be necessary.

Thanks for the kick answer, I moved to version 4.6 because of an other bug in 4.5.2 (formatter deprecation... I can't find the related issue, but was fixed)

THANKS for the workaround… I'm moving to rails 4 and spring so a workaround is just fine!

Glad to help. Let me know if you have any issues - including Guard, Guard::RSpec or Spring.
For spring, you may prefer to add this gem: https://github.com/jonleighton/spring-watcher-listen
(It uses native backend for listening to changes instead of polling - it may not be as responsive as zeus, but it should be pretty close).

Hum, now I'm back with my error from 4.5.2… I'll investigate.
/.rvm/gems/ruby-1.9.3-p547@ppl-management/gems/rspec-core-3.3.1/lib/rspec/core/formatters/deprecation_formatter.rb:186:in `puts': The `:example_group` key in an example group's metadata hash is deprecated. Use the example group's hash directly for the computed keys and `:parent_example_group` to access the parent example group metadata instead.

Make sure you've switched back to guard-rspec 4.6.0.
If that doesn't help, if you can, set up a repo so I can reproduce this (because this issue was quite tricky to reproduce and fix - without breaking other RSpec versions).
Or, if you can't set up a repo, you can try adding STDERR.puts statements here to debug:
https://github.com/guard/guard-rspec/blob/1796fdaa619560830e4ba357050ec5896c3ea8f9/lib/guard/rspec_formatter.rb#L30-L43
At least if you can provide a dump of what metadata looks like, I think I can reproduce it as a test and then fix it.

Or, if you're in a hurry, you can just downgrade RSpec - to since before the deprecation. There are some cool new RSpec 3.3. features, but this shouldn't be a blocker for you to get work done.

I'm back to guard-rspec 4.6.0, I think I'll downgrade as you said it won't block me and I think you may not loose time to solve an issue for older configs (ruby 1.9.3, rails 3.2 it's pretty old nowadays)

If there's a bug with the metadata thing, I'd like to know about - especially because lots of people have lots of old project they need to upgrade, and I wouldn't want Guard::RSpec to be in their way.
So don't hesitate to report issues - you never know when a fixing a small deprecation issue leads to fixing a major, hard-to-debug issue elsewhere.
Thanks and have a nice day!

Ok no problem how can I send you all my metadata ?

I meant the parameter metadata.
Just add a line like this:
IO.write('metadata.txt', metadata.inspect)

before this line here:
https://github.com/guard/guard-rspec/blob/1796fdaa619560830e4ba357050ec5896c3ea8f9/lib/guard/rspec_formatter.rb#L30
Then,

run to get the deprecation
check/modify the file to make sure it doesn't have any non-public info inside
upload it as a gist and link it here

Just make sure you're getting this deprecation on Guard::RSpec 4.6.0
Put this in the Gemfile to make sure, and restart Guard (and don't forget to restart Zeus too!):
gem 'rspec', '~> 4.6.0'

Thanks, here are my metadata

I checked this out and I think something else is wrong.
First, if you can, add config.raise_errors_for_deprecations! in your spec/spec_helper.rb - just to be sure where the problem is.
Second - it's strange, because if you're getting the error, it means ./spec/features/project_spec.rb is not a spec path (do you have custom RSpec configuration for spec locations?).
Everything else seems ok (my RSpec version matches yours, I seem to have the same metadata structure, etc.), so I can't work out how you're getting a deprecation.
Could you create a repo where I can reproduce the problem - I could probably fix this quickly.

Hi, ok I'll try to do that asap, as I'm leasure developper I don't have much time right now. Thanks for your help.

@elbouillon - the metadata (deprecation) problem is likely caused by #338

Great new! Thanks!


Add abstractmethod in BaseOperator

Add abstractmethod in BaseOperator for method _authorization_database

can you elaborate more on this please.

@rajivsunar07 Hi. Yes, of course, no problem.
In my implementation, there is an abstract class BaseOperator, from which all further classes are inherited.
There is a _authorization_database method in the BaseOperator class, which is also abstract.
It needs to be wrapped with the abstract method decorator so that it can be redefined in future classes.
More details about abstractmethod are described here https://docs.python.org/3/library/abc.html

#25


[2.0] Feature Request: Option to disable 'seen' receipts.

A lot of my friends use it and i can see how it would be helpful to a lot of people. there are chrome extensions for it ( im under the assumption this is still a chrome wrapper). i have no idea how hard it would be to implement this

The new update has this: If you go to Facebook > Block seen/typing indicators, you can enable it there.

I think he is requesting it for the V2. It will be done after the critical bugs are fixed.
@Osyx
@lilchancep

@Sytten Ah sorry, you're right.

What version did the block seen appear?

V1.5.0

Planning to implement in 2.0? It will be really useful!


Mint API Hanging at Account Selection Screen

Describe the bug
API is hanging on account selection page.  Previously referenced in #339
What version of MintAPI are you using? 1.57
What command[s] did you run / steps to reproduce?

entered mfa from email in terminal
Stacktrace/error received: none. api gets stuck at account selection screen and will not continue to accounts page
What did you expect to happen?
Expected API to select account designated in code and continue to accounts page
What actually happened?
API got stuck at accounts selection page
Additional context
previously referenced this issue in #339

What are your MFA settings in mint.com? You check by going to mint.com (sign in) -> settings (on top bar) -> intuit account (side bar) -> Sign in and security -> two step verification

@jaron-l two step auth is on configured to send text messages

however when i use mintapi it is sending them to my email anyway

When I use this it's stuck at this screen when I have email as my authentication. Is there a way on Mint to make email the default way to authentify?

@arbennet, since you are running this in GUI mode, what is the order of the pages that you see when logging in? Do you see any errors on the web page itself with something along the lines of, "Oops, there was an error, try again" and then it refreshes and puts you back at the account selection page?

@jaron-l i see the home-page, then email entry, then password, then account selection.  After account selection an mfa email screen opens.  At this point there is a prompt in the terminal to enter the token, which i do.  It clicks into the next page where the account selection is available, but nothing occurs beyond this.
There are no errors on the page, and i don't see any errors in the dev tools.

@arbennet if you use --session-path=None, do you see any different behavior?

@burkematthew the behavior is the same

@burkematthew @jaron-l interestingly if i use the cli it works, it's only if i import it from python that it doens't work

@jaron-l @burkematthew i noted that if you don't specify intuit_account it'll pick the default option, and this worked for me.  Although, if i had wanted to use the other one it appears it won't work

@arbennet I'm under the impression we still not have implemented the feature to choose an intuit account from the command line. See #314


It seems like Eq should be a superclass of Hashable

Hashable specifically mentions Eq in the laws of hashWithSalt. It seems to me that it should then be a superclass.
It would also simplify the type signature of most uses of Hashable.

I thought about the same issue recently. Failed to find any counterexample, where Hashable would be useful but there are notEq for a type.
In fact, is there other uses of Hashable other than unordered-containers?

Hrm... usually we make superclasses when we can reuse the superclass' impl to infer method impls of the sub-class; but it also makes sense to me to encode laws via an artificial superclass relation

Personally as a general rule I do not like laws that refer to unrelated classes.
It can lead to situations where adding a valid and lawful instance retroactively makes some other (previously lawful) instance unlawful.
It can also easily be subverted by simply not defining the instance it refers to. Which means that using the typeclass doesn't have any guarantees, unless you also make sure to add the mentioned typeclass to the type signature.

I agree with having Eq as a super class of Hashable. However that is a very major change, so I'll take time to prepare it.


AWS Certificate Manager

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html

Nice work, @philtay! I'm going to use this locally (together with #540) while I wait on a merge and release.

Thanks!


JBPM-5460 - event subprocess - configurable abort propagation

depends on https://github.com/droolsjbpm/jbpm/pull/749

Hi @mswiderski could you also add test into Bpmn2UnmarshallingTest that will verify that by default is the attribute true? I mean check for the customAbortParent also on some existing process where customAbortParent is not defined.

@jomarko
the property definition element "default": "true" of customAbortParent  prop is going to set as default always in the json.

+1

@jomarko it's actually not put into bpmn2 if it's the default as this property is considered optional so does not have to be given: https://github.com/droolsjbpm/jbpm-designer/pull/551/files#diff-d32394cba930b1f8e7df123704c72537R4917
it's consistent with how isasync is done so it reduces custom metadata if they are not needed - when defaults should be applied.

@mswiderski and @tsurdilo thanks for explanation. In that case I am also definitely for merging +1.


skeleton-webpack: webpack.development.js Unexpected token

You need to copy skeleton-webpack/.babelrc to your project directory before doing "npm run server". Or babel does not understand ... (spread operator).
Module parse failed: C:\Sites\site\testapp\config\webpack.development.js Unexpected token (5:2)
You may need an appropriate loader to handle this file type.
|
| const config = {
|   ...baseWeb,
|   ...baseDev,
|   plugins: [
 @ multi main

I revised skeleton-webpack/README.md and sent a pull request.
#500

Not sure what you mean by: "When you copy files to your project directory"? (in #500)

I improved the sentence in my pull request. Please modify as you like.
I got the error when I applied you GREAT settings to my own project. I thought I copied all required files.
After spending much time I found you have a hidden file, .babelrc in skeleton-webpack directory and I did not.
ES2015 preset in the .babelrc is needed to parse ... operator in webpack.development.js.
Thank you for a great job!!

@HIRANO-Satoshi I would imagine it a necessity to copy the whole directory when starting a new project. However I do take your point about the "hidden file", which means that by default they are not visible by file explorers. It might make sense for us to move the babel part to package.json, which would make this a non-problem.

That must be nice.


feat: add rolling restart feature

Add --rolling-interval option for tdp plan reconfigure command.

Which issue(s) this PR fixes

Fixes #288
Additional comments

Agreements

[x] I hereby declare this contribution to be licensed under the Apache License Version 2.0, January 2004.
[x] I hereby agree to grant TOSIT a copyright license to use my contributions.

Should we create a method to check if the wait_sleep operation exist in the collection at init time?

Yes I also wondered the same thing. If the user does not use the rolling functionality, I don't see why we should make an error if the sleep operation does not exist. Normally an error will be raised at tdp plan reconfigure time using the --rolling-interval option if the sleep operation does not exist.


OCPCLOUD-2642: Reference ASO image for installation

Draft until https://github.com/openshift/release/pull/55371 merges and the image is actually built.

Build data shows this is in payload for 4.19, https://github.com/openshift-eng/ocp-build-data/blob/openshift-4.19/images/ose-azure-service-operator.yml
/lgtm

/approve


how to format results for quickfix list?

One way to make it easy for users to quickly fix their vimscript would be to all --f vim or some such option that prints the results in a quickfix-list compatible format. You could then do something like
vim -q <(vint -s files)

Nevermind, --no-color solves it. Is there a way to detect that the data is being sent to a program like vim and auto-disable the color?


MongoDB functionality for relations

Problem

MongoDB does not test relations.
Solution

This PR tests relations with MongoDB for MongoDB related functions, ie:

Creating content in a database
Creating users
Creating a new database

Future PR will cover multiple relations ie:

two applications don’t share the same relation data
test an application can connect to multiple MongoDB clusters
test an application can connect to multiple aliased MongoDB clusters
test an application can request multiple MongoDB databases

Context

To enable a new user to create new users they need userAdmin privileges
Release Notes

Added test to verify application can perform expected MongoDB operations
Updated mongo.py to give admin, userAdmin privileges

Testing

Integration tests added

You're integration tests fail, fix those


Scala project identified as XSLT

Hi
I have this repository: https://github.com/luminescent/try-rss which is classified as XSLT, although it is developed in Scala.

It may be developed predominantly in Scala, but it does contain two rather large (compared to the other files in the repo) XSLT files hence the classification.
You'll need to implement a manual override if you don't want these included in the stats.

@luminescent You can find diverse solutions to implement overrides in the README: https://github.com/github/linguist#overrides

Thank you for the explanations and suggestions. All clear now.


Improve XA0141 warning

.NET 9.0.100
The NuGet package information in the XA0141 warning seems helpful, but it doesn't appear to actually work.
Repro:
dotnet new android
dotnet add package Xamarin.GooglePlayServices.Vision.Face.Contour.Internal --version <IP_ADDRESS>
dotnet build -c Release

results in:
warning XA0141: NuGet package '<unknown>' version '<unknown>' contains a shared library 'libface_detector_v2_jni.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details
warning XA0141: NuGet package '<unknown>' version '<unknown>' contains a shared library 'libface_detector_v2_jni.so' which is not correctly aligned. See https://developer.android.com/guide/practices/page-sizes for more details

We should:

Either fix the NuGet information to be more accurate or remove it.
Maybe add the arch information to the file name (arm64-v8a/libface_detector_v2_jni.so), as each package will likely contain many versions with the same file name.
Rewrite the warning to be a little less scary, emphasizing this is a future problem, not necessarily something that needs to be fixed today. ("is not correctly aligned" sounds like the library is broken today)

An updated example:
warning XA0141: NuGet package 'Xamarin.GooglePlayServices.Vision.Face.Contour.Internal' version '<IP_ADDRESS>' contains a shared library 'arm64-v8a/libface_detector_v2_jni.so' which is not 16KB aligned. Google may require 16KB aligned libraries in the future. See https://developer.android.com/guide/practices/page-sizes for more details.

I think @dellis1972 looked into it sometime ago and determined that the information isn't available for transient packages.  I'll see to adding arch information, but I can't do much about getting better nuget info.  I'll leave that to @dellis1972 and @jonathanpeppers :)

Partial fix: https://github.com/dotnet/android/pull/9547

Nuget information can be propagated to the .so ITaskItem from the _ReferencePath, which has all the nuget info.


Improve cookie banner UI

This PR improves the layout for the cookie banner. To review it, please:

If not on the EU and on MacOS, change your location to somewhere in the EU;
Remove your localStorage entries for the deploy preview (if any);

Screenshots:
Desktop:
Before:

After:

Mobile:

Can you add a query param to show the banner?
After that, let's try to find a way to make the cookie banner more visible. The old design was super visible but ugly, and the new one is beautiful but hard to notice 😆

Can you add a query param to show the banner?

Done! Added on 4547cba. You should be able to see the banner by appending the ?showGDPRBanner=true query param to the URL.
I'm going to play around with some options to make the banner more noticeable, and provide some options for you to take a look!


[STORM-436] Clean up ns declarations

STORM-436
The purpose of this change is to remove as many :use's as possible. This will make the codebase codebase easier to understand and maintain because we can see where vars are coming from.
It will also be cleaner and more idiomatic Clojure.

I'm generally in favor of this. It's something that's bugged me for a while.
I did a preliminary review on a portion of the changes. Mostly just some minor spacing and stuff.
One thing I'd like is to get rid of :use completely, if we're going to refactor the ns forms. Clojure devs discourage its use in favor of (:require whatever.namespace :refer :all).
More consistency with which namespaces we're requiring :as something and which ones we're importing wholesale with :use or :refer :all would be nice. I see sometimes you :require backtype.storm.util and sometimes you leave it in a :use They don't all have to be one way or the other, but I get the sense that the ones you've chosen to change were chosen arbitrarily (Or maybe just accidentally skipped over; there's a lot to change).
We should probably also put a namespace style policy in writing, just to make it easy for others to follow.

My plan is to get rid of all of the :uses by the time I've finished this patch. There are some spots where I've left :uses because I haven't finished refactoring those namespaces. There's also a few aliasing and :refering inconsistencies between my earlier work and the later namespaces which I need to go back and fix.
A namespace style policy would be good too, would that go in DEVELOPERS.md?
As I work on this, is it going to be easier for me to keep squashing my changes into the same commit, or wait until its finished and squash them before merging?

I think it makes sense to keep committing incrementally as I work to make things easier to review, and squashing it once it's accepted.

@danielcompton any update on this?  It would be a nice change to get in before 0.11, if you have time to do it.

I've let things lapse a little bit on this. I'll try to get it up and running against master soon though.

Closing this. I like the idea, but this PR is very stale, and we're translating to Java.


如何获取用户的昵称？

How to get the wx_user's nick_name?thank you !

contact.name

Link to: https://github.com/wechaty/PMC/issues/14


FML transformer proxy classes fail to be created on JDK <8u362

Sometimes CoreTweaks will fail to initialize the game from failing to create proxy class for cpw.mods.fml.common.asm.transformers.SideTransformer.
Logs: (No crash logs were generated)
https://mclo.gs/nVDU41u
Configs used:
coretweaks.txt
Modpack Used:
The Lost Era Modpack

I can consistently reproduce this with no other mods if using a JDK version older than 8u362 (including the classic 8u51).
It seems that in 8u362, they made SHA-1 certificates get ignored (see JDK-8269039), which is why the issue no longer happens. Regardless, I will try to provide a fix for older versions since 8u51 is still used by a significant portion of the 1.7.10 playerbase.

Hopefully this fix will work but I would like to reiterate that this occurs in even versions above 8u362:
https://mclo.gs/Q77qpQB

It still occurs on the latest release:

Java 1.8.0_392-hotspot:
https://mclo.gs/hbTcyVa

This is no longer a CoreTweaks issue, it's an issue with Theseus that happens even in an empty 1.7.10 Forge instance with no mods (as of v0.6.2). It just looks like CoreTweaks is responsible because it happens to be the last mod that prints something before the crash.
The issue is 1.7.10 Forge needs Guava 17, but Theseus puts both Guava 17 and Guava 15 on the classpath, and randomizes the order (not sure if intentionally or not). Whenever 15 ends up first, this error happens, since Forge is looking for a method that didn't exist yet in 15.
For comparison, MultiMC only puts Guava 17 on the classpath.


Build command is not mentioned

On https://github.com/docker/labs/blob/master/developer-tools/java/chapters/ch03-build-image.adoc the text below is present. However the specific build command is not mentioned. I guess it should be 'docker build -t helloworld .'.
This image uses ubuntu as the base image. CMD command defines the command that needs to run. It provides a different entry point of /bin/echo and gives the argument “hello world”.
Build the image:

@arun-gupta can you take a look?

Sent a PR: https://github.com/docker/labs/pull/209


[SUGGESTION] (Java) Formatter-Support: Add clangd-format

Java has no officially supported formatter. clang-format appears multiple times and may be used for java too.
{
  "command": "clang-format --style=file:C:\\somefolder\\myform.clang-format $FILENAME",
  "file_patterns": [
    "%.java$"
  ],
  "language": "java"
}

It does work flawlessly for me - stdio and -i, anyways - so for the remaining patterns idk why it should not be on the list.

A language formatting tool must understand the AST of the code, otherwise you'll encounter many issues, even if currently you did not find them it's dangerous to do it. There's no official formatter but google-java-format is by far the most widely used. The reason I did not add it in a first place is the same than any other java application, they don't distribute a single binary and expect the user to run a jar file from an unknown location, which it's problematic for our use case (I need to know where are the binaries or assets required to run the formatter). Adding the formatter manually is trivial in ecode as you already know, so for the moment I have no solution for this. jdtls does support code-formatting, if you're using it you shouldn't require anything else.
BTW: --style=file:C:\\somefolder\\myform.clang-format you don't need to do that while using clang-format, just create a file called .clang-format in your project root directory and the formatter will use it.

Done

Done

Beautiful.
Ya idk if this is somewhat dangerous or not but it may be mentioned. I just realized and called it out when I set it up as it might be useful.

BTW: --style=file:C:\\somefolder\\myform.clang-format you don't need to do that while using clang-format, [...]

Did that outta reflex because I assumed that if someone uses it they might have their own file or static file they have to use by employer so I thought no one would always move it everywhere.


Try to fix eval_output_logging_callback.py

I've been trying to use this callback to check that the inputs are being properly formatted and otherwise valid. It seems to be making certain assumptions about the dataset (that it's an ICL dataset?) that don't need to be true for this callback to be useful. Consider changing it?

@maxisawesome can you please take a look?
CC: @dakinggg

YES!! It's finally working! The logging, that is. Not my fine-tuning, that's still garbage. But I can finally start debugging!

Looks great other than the one comment I left! Thanks for fixing this for non-generative evals.

@sjawhar if you can fix lint + unit tests (the CPU ones) that would be awesome! then we can merge

Anything else I can do to help get this merged?

@sjawhar sorry about that, will take a look this week!

LGTM, please update the PR title and description to reflect the changes in this PR. Thank you!

Done

@sjawhar looks like the tests failed with the recent change


Upgrade Helm Terraform provider to the latest

Currently we use a pretty old version of terraform's helm provider:
https://github.com/Quansight/qhub/blob/7b36352946170d29f9d5f1a13f634ee0961a043c/qhub/template/{{ cookiecutter.repo_directory }}/infrastructure/versions.tf#L23
The current version is 2.1.2
The current version has some issues like this one: https://github.com/hashicorp/terraform-provider-helm/issues/497
It would be great to upgrade to the latest version.

Funny, version 2.2.0 was released yesterday.

Removed good first issue tag since it looks like @aktech has this resolved when the PR is merged.


MPS generates new CIRA certs when pre-existing certs are inaccessible

Describe the bug 🪲
Upon first execution, MPS will generate the certificates that it uses for the CIRA connection.
On subsequent executions, it retrieves those certificates from the secrets manager (Vault in the reference design) to use for the duration of that instance's execution.
Since these certificates are pushed to the managed Intel AMT devices during activation, any changes to the certificates would require reactivation of each managed device.
In the current implementation design, if the certs are not retrieved from the secrets manager they are assumed to have not been created and the generation flow is executed. Unfortunately, if there is any issue with retrieving the already defined MPS certificates, then this will also trigger the cert generation flow. For example, in the reference design, if there was an issue with accessing Vault -- whether the vault is sealed or an infrastructure issue -- then the MPS certificates are assumed to not exist and will be regenerated.
This issue appears to be agnostic to the underlying secrets manager implementation, whether Vault or custom middleware.
To Reproduce 🪜

Initial State: Open AMT Cloud Toolkit, v.2.10, deployed with 1 or more Intel AMT devices activated and connected via CIRA
Seal the Vault instance
Restart the toolkit services and confirm that CIRA is failing to reconnect

~Expected~Preferred behavior

The MPS certificate creation process should be done during the deployment stage of the server components (or configurable by users of the toolkit).
MPS should log an appropriate error message when the certificates cannot be retrieved from the secrets manager, and then exit.

Screenshots 🖼
n/a
AMT Device (please complete the following information): 🖥
n/a
Service Deployment (please complete the following information): ⛈

Deployment Type:
Node Version:
Component & Version:

Additional context
Related issue: #614

In the situation described, MPS will report an unhealthy state via the MPS healthcheck API.  If/when Vault access is restored, then the original certificates will be accessible by MPS and MPS will use those for incoming AMT connections.


Support 2018-05-01 version of Microsoft.Resources API

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Need to subscription level deployment APIs introduced in Microsoft.Resources/2018-05-01.
Describe alternatives you've considered
No
Additional context
swagger PR: https://github.com/Azure/azure-rest-api-specs/pull/2976
Python SDK PR: https://github.com/Azure/azure-sdk-for-python/pull/2500

@kristapratico this would be one of the high priority items when you return.


davinci-resolve: migrate to by-name & 19.1 -> 19.1.1

Migrating davinci-resolve to by-name and also bumping the package version.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

lgtm, but I can't test it atm since it would need me to build spidermonkey from source.


Upgrade to v4.17.1 of the AWS Terraform Provider

Fixes: #1986
Fixes: #1990

Assuming breaking change is unavoidable.

it's on a datasource for querying only so nothing huge


Better document numbering functions

A friend of mine had troubles understanding that numbering functions are just regular functions that accept numbers and return content. I added a section on the documentation for the numbering function that explains that, and points the user to the documentation for the numbering argument for more information.

Thank you! I like it.


Fix itertools count repr

Feel free to ignore those Clippy failures. @youknowone likely missed them in #3817.

In Lib/test/test_itertools.py, if you comment out the @unittest.expectedFailure decorator above def test_count(self): (about line 537 or so), what happens? I suspect that the __reduce__() method of itertools.count is causing the pickle portion of that test to fail.

please do not use git merge. would you try to rebase it?
https://docs.gitlab.com/ee/topics/git/git_rebase.html

After #3830 merged, the clippy error also will be passed.


Split IP resolution from update_tracked_fields

This permits users to easily customize where the ip address
should be resolved.  When fronting the application with a webserver or
load balancer, the ip address may be the server and not be the user.
E.g. consider the IP address is passed as the header: "X-Forwarded-For".
class User
  devise :trackable

  protected
    def extract_ip_from(request)
      request.headers["X-Forwarded-For"]
    end
end

See discussion in #4540 and https://groups.google.com/forum/#!topic/plataformatec-devise/aCuFLef16Sk
Edit: updated example based on feedback changes (#get_ip => #extract_ip_from)

@mckramer Thanks!
Can you please do a rebase with master. I had to push a bug fix last week that also changed some code in the Trackable module, which apparently caused a conflict here.

@tegon, rebased.

@mckramer Thanks!


[Test] info from edge handle

Add testcases to set/get the info from edge handle.
Signed-off-by: Jaeyun<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #59. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Fix full-text search containing special characters

Previously the ftsIndex.retrieve would fail if any of the search terms contain characters like dots. This would be the case where you use the folder context provider searching using a folder containing dots.
Now we wrap each search term in double-quotes before joining them with OR.  This forces dots to be considered as part of the literal search term.

Thanks so much @Elpaggio!


Update mistaken arity from other_function/1 to other_function/0 to match code sample

I noticed while reading through the pipe lesson that this code example is provided:
foo(bar(baz(new_function(other_function()))))

And other_function is referenced as other_function/1 but in the example it takes no arguments, so it should be other_function/0, I've corrected the issue in all language files that I was able to see it in.

Thank you and welcome @bbuck, this is a great change 👍

Any time @doomspork! I really appreciate this resource you've created and maintain here! It's a lot easier to digest these lessons than the docs on the official Elixir site, it's been great diving back in!


"captureGestures=true" can't block MapView

When Drawer's body contains MapView, even if I set captureGestures={true}, but the MapView will still response gestureEvent, MapView's region will still change when I drag the panOpenMask.
BTW, the other element in the body can't response gestureEvent, like TouchableOpacity.
var Test = React.createClass({
    render () {
        return (
            <Drawer
                type="overlay"
                content={<SideDrawerContent />}
                captureGestures={true}
                tapToClose={true}
                openDrawerOffset={0.2}
                panCloseMask={0.9}
                closedDrawerOffset={-3}
                tweenHandler={(ratio) => ({ main: { opacity: (2 - ratio) / 2 } })}
                panOpenMask={0.2}>
                <View style={{flex:1, flexDirection: 'column'}}>
                    <MapView style={{flex:1}}/>
                    <TouchableOpacity
                        onPress={()=>console.log("button touched")}
                        style={{height:30, backgroundColor:'#08c'}}
                    >
                        <Text>Button</Text>
                    </TouchableOpacity>
                </View>
            </Drawer>
        )
    }
});

Above is an example, the TouchableOpacity can't response my touch, but MapView will.

I will be working on the captureGestures implementation soon. Will keep you posted.

OK. Thanks~

just release v2.0.0-alpha. Try it out with npm i react-native-drawer@next. Quite a few things have changed (definitely for the better), but there may be some outstanding inconsistencies. Your help testing is much appreciated.

@rt2zz  I have tested v2.0.0-alpha6, but nothing changed.
BTW, My computer is Mac, and the device is iPhone 6 Simulator(iOS 9.2), React-Native version is 0.21.
Full code is below, you may try it:
import React, {View, Text, TouchableOpacity, MapView} from 'react-native';
const Drawer = require('react-native-drawer');
var SideDrawerContent = React.createClass({
    render() {
        return (
            <View
                style={{flex:1, flexDirection: 'column', justifyContent: 'center',alignItems: 'center', backgroundColor: '#EEE'}}>
                <Text>OrderList</Text>
                <Text>Notify</Text>
            </View>
        );
    }
});
var Test = React.createClass({
    render () {
        return (
            <Drawer
                type="overlay"
                content={<SideDrawerContent />}
                captureGestures={true}
                tapToClose={true}
                openDrawerOffset={0.2}
                panCloseMask={0.9}
                closedDrawerOffset={-3}
                tweenHandler={(ratio) => ({ main: { opacity: (2 - ratio) / 2 } })}
                panOpenMask={2}>
                <View style={{flex:1, flexDirection: 'column'}}>
                    <MapView style={{flex:1}}/>
                    <TouchableOpacity onPress={()=>console.log("button touched")} style={{height:30, backgroundColor:'#08c'}}>
                        <Text>Button</Text>
                    </TouchableOpacity>
                </View>
            </Drawer>
        )
    }
});
module.exports = Test;

thanks for the test case. It looks like MapViews pan behavior is not quite the same as other Views, possibly because it uses native gestures. In any case I think the best solution for you is to add a little invisible overlay like so:
// your main content
<View style={{flex:1, flexDirection: 'column'}}>
                    <MapView style={{flex:1}}/>
                    <View style={{position: 'absolute', left: 0, top:0, bottom: 0, width: 2}} />
                    <TouchableOpacity onPress={()=>console.log("button touched")} style={{height:30, backgroundColor:'#08c'}}>
                        <Text>Button</Text>
                    </TouchableOpacity>
</View>

Also for good measure upgrade to the latest react-native-drawer@next

Invisible overlay works, Thanks.

:+1:


Issue with multi-cursor when using the change all occurences feature

Issue Type: Bug
While using the Change All Occurences feature, use the mouse pointer to move the cursor on the selected word, the other cursors will not be updated appropriately.
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:41.156Z)
OS version: Linux x64 5.4.0-105-generic
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz (8 x 4000)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 3, 3

Memory (System)
7.62GB (0.29GB free)

Process Argv
--unity-launch --crash-reporter-id c8e4601d-6895-4b09-9e90-500ec6792c1a

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

Extensions: none
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30443607
pythontb:30283811
pythonvspyt551:30345470
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
pythonvsnew555:30457759
vscscmwlcmt:30465135
cppdebugcf:30466690
vscaat:30438848
pynewfile477:30463512

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Add comment

When I'm creating a project and image, it could be useful to add description on them.
Settings preview

Images
Projects

Dashboard preview

Home
Project

@Laul0 Thanks for the mockups.
Unfortunately I don't think that this feature will be very useful and it will results in unnecessary complication of the interface.
At least when I and my coworkers interact in Presentator, we usually use for the project title the company name and the task itself (eg. "X-company redesign") and I think that it is enough explanatory. Similarly for the project screens - we usually use titles like "Homepage (light layout)", "UI elements list", etc.
For now I will close the issue, but if someone else think that this feature should be implemented, please add your concerns as a comment.


540 - fixed Spigot 1.12.1 compatibility

just a possible quick (dirty) hotfix of #540 and #541 issues

Hi there,
Was wondering whether you could link me to a build compiled with this fix as for some reason Gradle hates my computer!

@galacticwarrior9 could you please try this one - bit.ly/tc283snapshot

Many thanks, works :)


Added Eslint to check code style

I want to resolve #4

Coverage remained the same at 71.25% when pulling a6f99af81e216c4811660705580c4da09acd95dd on eslint into 30449f67c677b52ee7cd369fbf50b07fe7665767 on master.

Coverage remained the same at 71.25% when pulling e2d3553c149134d58442e244e8f88713f3616654 on eslint into 30449f67c677b52ee7cd369fbf50b07fe7665767 on master.

Very good!!! Go to fix all hehe!!


Update README.md

I think that this is something small that could help. though im not too sure if this is something other people will run into :)

Oh, sorry didn't see this PR. This is so you can see the wanted star correct? I wanted this to set the wanted level/effect only and not show the stars. This should circumvent the restriction in QB-smallresources.

aah well when i tested it the wanted level didnt work. so i decided to turn on wanted level in qb-smallresources and after a restart it worked. however after turning it off again i did a full restart and it worked like normal. so i guess that it was a problem on my end :)

Interesting, well good to know. It does act a bit weird especially if no NPCs are spawned already.


FormData and FormDataFromSelf

Type

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
I tried to solve this issue https://github.com/Effect-TS/effect/issues/3986
import { Schema } from 'effect'

const fdSchema = S.FormData(S.Struct({
    num: S.NumberFromString
}))

the interesting part was that when encoding, information about an empty array is lost - I solved this using ast-based parsing - I'm not sure if this is the right or complete solution

Related

Related Issue # https://github.com/Effect-TS/effect/issues/3986
Closes #

cc @gcanti specifically for input here

@gcanti do you have any thoughts on this?
it seems there is a request for this schema from the community, so I thought it would make sense to land it in effect

I think a good starting point would be to write a detailed proposal in the linked issue (as suggested by its label). It's unclear to me which use cases are being addressed, which array formats will be supported (dot notation? bracket notation? both? neither?), and why this should be a concern for Schema (I don't dismiss it, but it would be helpful to have evidence for this). For instance, for the sake of discussion, why not simply use something like https://github.com/fabian-hiller/decode-formdata and validate its output instead?


:Ack not working

:Ack gives me an error message: E492: Not an editor command: Ack (whatever I try to search for)

apt-get install ack-grep

Please note that we have now switched to Ag.vim:
https://github.com/rking/ag.vim

I guess this problem re-emerged after switching back to Ack, a freshly install reports:
E492: Not an editor command: Ack class


New STM32 driver

New STM32 driver
Description
Initial implementation of new STM32 drivers. Still WIP - publishing draft for comments and review.
Test Steps

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

#766
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@htibosch @AniruddhaKanhere Looks like this one NetworkInterface should work for all of Fxx & Hxx. The biggest difference between the HAL drivers are the usage of a few register macros that are named differently, but we can easily abstract that out. I've tested on a F767ZI and can test a H755ZI-Q, but don't have a way to test H5 at the moment.

@holden-zenith wrote:

I've tested on a F767ZI and can test a H755ZI-Q, but don't have a way to test H5 at the moment.

If I'm not mistaken, I have an H747, F407, and F746 for testing.
So e.g. when testing F407, I use the latest HAL drivers for that part?

@htibosch yes, last time I checked the latest F4 & F7 Eth drivers were 100% the same, so it should work the same. Before you test, I just noticed the call to HAL_ETH_ReleaseTxPacket needs to be moved to EMAC_IF_TX_EVENT because it calls the non interrupt safe version of vReleaseNetworkBufferAndDescriptor. I was using vNetworkBufferReleaseFromISR in the HAL_ETH_TxFreeCallback, but I guess it needs to be handled in the task to be compatible with both buffer allocation methods.

but I guess it needs to be handled in the task to be compatible with both buffer allocation methods.

As you may have read, I also prefer to handle network buffers from a normal task, rather than from an interrupt.
I just came across this test:
    bool isInterrupt()
    {
        return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0 ;
    }

which could be used to choose the correct network buffer function.

last time I checked the latest F4 & F7 Eth drivers were 100% the same

Doesn't F7 have multiple TX buffers each with their own hardware priority? I never used that feature, but I did have to disable it explicitly.
Would you mind to send me an email so I can ask you little things now and then? hein [at] htibosch [dot] net
Thanks,

HI @holden-zenith thanks for creating the change.
I wanted to get a little bit of context. Please help in explaining the thought behind coming up with this new driver.
I see that the older H and F series portable layers are moved inside legacy and the new driver has an integrated NetworkInterface.c file. Is the idea to have a single file to handle all the multiple stm32 SKUs.

@shubnil Historically the STM32 HAL Eth drivers have been awful, which is part of the reason why edited HAL drivers were provided with the NetworkInterface.c. The newer HAL drivers are 'better' and all STM32's from F4, F7, H5, H7 essentially use the same driver now. So with this, edited HAL drivers are no longer necessary, it will be much easier to update to accommodate for future HAL updates, only one NetworkInterface is needed, and I am getting about 20mbps higher on iperf.

@holden-zenith , do you have a new version of NetworkInterface.c to test?

@htibosch I'll probably push it in the next few days. I've been able to max out the bandwidth at 95mbps but it's not consistent and depends on compilation optimization. So I need to spend some time looking through the disassembly before I push it.

@holden-zenith What's the status of this? I have a Nucleo-H563ZI board and would like to use FreeRTOS+TCP but the current port implementation does not support H5 series.

@bjsowa Actually it would be great if you could test it. I have used it successfully on an F7 but there is potential concern with how it compares to the older driver in terms of performance, at least when tested with an F4. I do not have an H5 at the moment to try it.

@holden-zenith  I made the driver work for my nucleo board (at least DHCP and ping replies seem to work).
I posted the modified NetworkInterface.c with some comments here:
holden-zenith/FreeRTOS-Plus-TCP#1
I also ported it to work for version 4.0.0 of FreeRTOS-Plus-TCP (as I want IPv6 support) by mimicking the changes made in #602 for the current driver.

On bjsowa/FreeRTOS-Plus-TCP#1 I integrated the new driver with the CMake build system. You can use this for reference.

@bjsowa oh nice that's great. I am working on testing an H7 too so all of F4, F7, H5, & H7 will have been tested. Seems to be at least usable on all of them for the time being. In theory it should perform at least as well as the last driver but iperf apparently has had mixed results so far.

@holden-zenith I made the driver work for my nucleo board (at least DHCP and ping replies seem to work). I posted the modified NetworkInterface.c with some comments here: holden-zenith#1
I also ported it to work for version 4.0.0 of FreeRTOS-Plus-TCP (as I want IPv6 support) by mimicking the changes made in #602 for the current driver.

@bjsowa Thanks for trying out the release candidate versions of 4.0.0.  Did you face any difficulties or issues with IPv6? Also curious to know if you use the multiple endpoint feature?
PS: We will be soon doing a formal release  (targeting mid August). The stack is currently undergoing security review and penetration testing.

@htibosch Here are the ping results of the latest version. It seems to have much better latency, at least for me.
Old Driver:

New Driver:

@holden-zenith wrote:

Here are the ping results of the latest version. It seems to have much better latency, at least for me.

That looks very promising. Dit you already commit and push the changes?
Do you want me to test it on a particular platform?

I've pushed what I used in those tests. You can hold off on testing until I've invested a bit more time into an in-depth timing review and finished implementation, but at some point it would be interesting to see your latency results on the F4 similar to the tests I posted, and maybe on the H5 too @bjsowa.
I'm still not sure about your iperf results, but I know that the configuration values I selected would drastically alter the results so it took quite a bit of tweaking to get upwards of 90mbps. Perhaps checking some of the metrics/stats would be informative, like the idle time and such.

@holden-zenith I've tried your updated driver on H5 and so far it seems to work. I was not able to use mDNS though but I assume this is yet to be implemented.
As I'm using cmake I had to add the new driver to interface selection (holden-zenith/FreeRTOS-Plus-TCP#2).
Also to avoid compilation errors, I needed to change:
#include "stm32h5xx_hal_eth.h"

to
#include "stm32h5xx_hal.h"

I tried to test the throughput with Iperf but when I ported the existing iperf3 implementation for FreeRTOS-Plus-TCP 4.0.0 version, it resulted in hard faults and I gave up on trying to debug it.
If you have a working iperf implementation I can test the performance.

I am trying to get your implementation running on a simple F746 Nucleo Board but it hangs as soon a TCP package (eg. ping request) arrives. I have uploaded the whole project:
https://github.com/mhorsche/F746_NucleoTemplate/tree/freertos
The UART output of my sample project:
#### Template v0.0.1: Aug 18 2023 14:55:49 ####
(DevID: 0x449 / RevID: 0x1001 / 1024 kByte)

prvIPTask started
PHY ID 7C130

+----+---------------+------+-------+-----------------+-------+
| no | Task name     | Prio | Stack |        Time(uS) |  Perc |
+----+---------------+------+-------+-----------------+-------+
|  0 | LED           |   17 |   842 |               0 |  0.00 |
|  1 | LOG           |    8 |   639 |               0 |  0.00 |
|  2 | IDLE          |    0 |   119 |               0 |  0.00 |
|  3 | IP-task       |   54 |   141 |            8095 | 96.37 |
|  4 | TIMER         |   55 |   231 |              15 |  0.18 |
+----+---------------+------+-------+-----------------+-------+
| Heap: min  34296 / free  34512 / total 202008 / stack  4096 |
| Network Buffers: min  64 / free  64 / total  64             |
+-------------------------------------------------------------+

xPhyReset: phyBMCR_RESET 0 ready
+TCP: advertise: 01E1 config 3100
Autonego ready: 00000004: full duplex 100 mbit high status
IP Address: <IP_ADDRESS>
Subnet Mask: <IP_ADDRESS>
Gateway IP Address: <IP_ADDRESS>
DNS server IP Address: <IP_ADDRESS>
ipARP_REQUEST from c0a8b264ip to c0a8b2c9ip end-point c0a8b2bcip
ipARP_REQUEST from c0a8b261ip to c0a8b2caip end-point c0a8b2bcip
ipARP_REQUEST from c0a8b264ip to c0a8b2c8ip end-point c0a8b2bcip
ipARP_REQUEST from c0a8b228ip to c0a8b277ip end-point c0a8b2bcip
ipARP_REQUEST from c0a8b264ip to c0a8b2c9ip end-point c0a8b2bcip
ipARP_REPLY from c0a8b202ip to c0a8b2bcip end-point c0a8b2bcip

Would be very thankful for any help!

@bjsowa wrote:

I was not able to use mDNS though but I assume this is yet to be implemented.

Have you made sure that the multicast addresses are accepted?
MAC 33-33-00-00-00-fb
IPv6  ff02::fb
MAC 01-00-5e-00-00-fb
IPv4  <IP_ADDRESS>

@holden-zenith Can you publish the PR and share the validation details. This will help us start reviewing and merge the changes.

@mhorsche the stm drivers still have issues, one being that ETH_RX_BUF_SIZE is used instead of heth->Init.RxBuffLen which can cause problems during HAL_ETH_RxAllocateCallback if these two values are not the same.

@mhorsche the stm drivers still have issues, one being that ETH_RX_BUF_SIZE is used instead of heth->Init.RxBuffLen which can cause problems during HAL_ETH_RxAllocateCallback if these two values are not the same.

Thanks for your reply. Sadly this did not solve the issue yet. I have changed both EMAC_DATA_BUFFER_SIZE and ETH_RX_BUF_SIZE to be the same size of 1536.
The program fails during vReleaseNetworkBuffer() trying to free pxIterator referencing to itself (using heap_4.c).

If I change the memory management to heap_5.c (which I also used with the old TCP+ stack) the program fails at the same function or during heapBLOCK_IS_ALLOCATED.

I am not 100 percent sure if all the MPU config and HeapReagion definition is correct but as it worked with the old stack it should be fine? I have also disable both I- and D-Cache to avoid any caching problems.
void vHeapInit(void)
{
  uint32_t ulStackSize = (uint32_t) & (_Min_Stack_Size);

  pucHeapStart = (uint8_t *)((((uint32_t)&__bss_end__) + 7) & ~0x07ul);

  ulHeapSize = (uint32_t)(&_estack - &__bss_end__);
  ulHeapSize &= ~0x07ul;
  ulHeapSize -= ulStackSize;

  HeapRegion_t xHeapRegions[] = {
      {(unsigned char *)pucHeapStart, ulHeapSize},
      {NULL, 0}};

  vPortDefineHeapRegions(xHeapRegions);
}

I saw you had adapted the linker script I had posted which is for BufferAllocation1, can you try with that instead of Alloc2 or instead use your original linker script? I personally use a modified version of BufferAllocation1.

Works like charm now, thank you very much. I can confirm your ping flood results, compiled with GCC flags -Og -gdwarf-4:
$ sudo ping -f <IP_ADDRESS> -w 10
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
.
--- <IP_ADDRESS> ping statistics ---
38582 packets transmitted, 38581 received, 0.00259188% packet loss, time 10000ms
rtt min/avg/max/mdev = 0.149/0.177/1.677/0.022 ms, ipg/ewma 0.259/0.168 ms

@holden-zenith I had occasionally encountered hard faults but I think I fixed the issue in holden-zenith/FreeRTOS-Plus-TCP#3. Could you take a look? Also, could you merge holden-zenith/FreeRTOS-Plus-TCP#2 ?

Have you made sure that the multicast addresses are accepted?
MAC 33-33-00-00-00-fb
IPv6  ff02::fb
MAC 01-00-5e-00-00-fb
IPv4  <IP_ADDRESS>

@htibosch The MAC addresses are filtered on driver level. There is currently no API for accepting MAC addresses.

@bjsowa I will add that to my next commit which includes a lot of error handling recovery and such. Then the last major thing is to try and accommodate for various config macros.
I have a heavily modified iperf file but I haven't tried it yet on 4.0.0. I'll pass it along afterwards. In the mean time could you do a ping flood test and post the results?

@bjsowa I will add that to my next commit which includes a lot of error handling recovery and such. Then the last major thing is to try and accommodate for various config macros.
I have a heavily modified iperf file but I haven't tried it yet on 4.0.0. I'll pass it along afterwards. In the mean time could you do a ping flood test and post the results?

I was able to modify iperf to make it usable on 4.0.0. I could achieve ~25-30 Mbps in TCP mode. I could not make UDP test to work.
Here's a result of ping flood:
$ sudo ping -f <IP_ADDRESS> -w 10
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
.
--- <IP_ADDRESS> ping statistics ---
67430 packets transmitted, 67429 received, 0.00148302% packet loss, time 10000ms
rtt min/avg/max/mdev = 0.051/0.132/6.674/0.057 ms, ipg/ewma 0.148/0.130 ms

I occasionally experience hard faults by dereferencing NULL on this line:
https://github.com/holden-zenith/FreeRTOS-Plus-TCP/blob/dev-stm32/source/portable/NetworkInterface/STM32/NetworkInterface.c#L585
This happens when I have active TCP connection (server on STM, client on my computer) and I disconnect my computer from the network, the TCP socket on STM is closed and then I reconnect my computer to the network.

Now that's a lot better

I was able to modify iperf to make it usable on 4.0.0. I could achieve ~25-30 Mbps in TCP mode

@bjsowa, did you use this iperf server, I assume?
Can you send the changes that you made for iperf, so I can update my repo?

I could not make UDP test to work.

TCP is easy to measure because it has a built-in flow control. Now when you start sending UDP packets at a maximum speed, somewhere packets will be dropped, so I stopped maintaining the UDP option..

@htibosch how would you feel about an alternative design implemented using cmsis drivers like #1009 ? You could have a common cmsis driver for all of the arm based boards and just implement the cmsis driver portion. You could then add macros or something in certain locations to accommodate anything extra some particular drivers might need to do.

I was able to modify iperf to make it usable on 4.0.0. I could achieve ~25-30 Mbps in TCP mode

@bjsowa, did you use this iperf server, I assume?
Can you send the changes that you made for iperf, so I can update my repo?

I could not make UDP test to work.

TCP is easy to measure because it has a built-in flow control. Now when you start sending UDP packets at a maximum speed, somewhere packets will be dropped, so I stopped maintaining the UDP option..

Here's my modified iperf: https://gist.github.com/bjsowa/bb625458c57b86975caffac164e266ff

Up until now, when I tested Holden's unified driver, I saw a very bad performance. I couldn't understand why, so I dived deeper into it.
When using the new driver, I had to upgrade the HAL-library that I was using. This upgrade seems to work, and now it is using the original stm32f4xx_hal_eth.c from ST's HAL.
Result: the throughput was only 10% of what I was used to see.
Yesterday I ran a simple CPU benchmark, calculating prime numbers. What I saw is that my STM32Fx was just slow, whatever it did. When iperf was running, the main task did get any CPU time.
The guilty code: CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c
I replaced it with my earlier version, and the CPU ran on 84 MHz again.
Now I will retest the library on some other STM32 devices.

@holden-zenith I tried the new driver with the recent changes on my H5. I had a problem with __SCB_DCACHE_LINE_SIZE not being defined, so I had to define this to some default value (I have DCACHE disabled so I don't think it matters).
Other than that, it seems to work. The ping flood test results look promising:
133458 packets transmitted, 133458 received, 0% packet loss, time 10000ms
rtt min/avg/max/mdev = 0.051/0.058/0.873/0.006 ms, ipg/ewma 0.074/0.057 ms

I tried to use MDNS but I encountered another compilation error. I had to change xMDNS_MACAddress to xMDNS_MacAddress (similar issue with LLMNR). After successful compilation I am still not able to make MDNS to work. I can see the queries being sent in wireshark but prvNetworkInterfaceInput is not called (packets filtered by EMAC?).

@bjsowa Oh I see in FreeRTOS_DNS.h there is xMDNS_MacAddress & xMDNS_MACAddressIPv6. The different capitalization is kinda annoying, might be worth it to fix that. In regards to that part not working, it's related to the HAL_ETH_SetMACFilterConfig & HAL_ETH_SetHashTable parts that are preprocessed out. I just haven't finished that because the Fxx and Hxx drivers are different at this part.

I was able to modify iperf to make it usable on 4.0.0. I could achieve ~25-30 Mbps in TCP mode. I could not make UDP test to work.

try to use --window option, with something like iperf3 -c <IP> --port 5001 --bytes 100M -w 9000 I'm able to achieve 92.1 Mb/s which is a nearly equal to the theoretical maximum for the STM32H7 driver, according to ST ( https://github.com/STMicroelectronics/STM32CubeH7/pull/195 )

@holden-zenith after d0d082b it does not works

const HAL_StatusTypeDef xHalResult = HAL_ETH_SetHashTable( pxEthHandle, ( uint8_t * ) &ulHashTable );

must be changed to
const HAL_StatusTypeDef xHalResult = HAL_ETH_SetHashTable( pxEthHandle, ulHashTable );

commenting out these lines make it working again

            xFilterConfig.HashUnicast = ENABLE;
            xFilterConfig.HashMulticast = ENABLE;
            xHalResult = HAL_ETH_SetMACFilterConfig( &xEthHandle, &xFilterConfig );
            configASSERT( xHalResult == HAL_OK );

@Mixaill Thanks, sorry about that. My testing setup is down so I was just trying to implement as much as possible in the mean time.

Problems found so far

gcc warning (implicit const qualifier discard) https://github.com/holden-zenith/FreeRTOS-Plus-TCP/pull/8
missing trace annotations in ISR https://github.com/holden-zenith/FreeRTOS-Plus-TCP/pull/9
broken NetworkDown event https://github.com/holden-zenith/FreeRTOS-Plus-TCP/pull/10

I tested the latest version and it works, but only when ipconfigUSE_LINKED_RX_MESSAGES is defined.
The performance is the same as the existing STM32Fx driver.

@HTRamsey ARM Cortex-M ports are using configMAX_SYSCALL_INTERRUPT_PRIORITY instead of configMAX_FREERTOS_INTERRUPT_PRIORITY

Would you guys be open to a PR that improves the usage of ipconfigETHERNET_DRIVER_FILTERS_PACKETS? This would involve either creating something like eConsiderPacketForProcessing based on the same design as eConsiderFrameForProcessing or editing functions like prvProcessIPPacket to be split into check/process functions so that you can perform the check only in the Network Interface. STM32Fxx has an implementation using this macro and nothing about it is Network Interface dependent so it should be able to just call a public function that handles the checks. Also, this check is different than what you find in prvAllowIPPacketIPv4/prvAllowIPPacketIPv6 and really I think they packet checking should be the same whether you do it in the Network Interface or in the IP stack. In which case it would be trivial to add this functionality to all the other Network Interfaces as you would just add a single function call.

Would you guys be open to a PR that improves the usage of ipconfigETHERNET_DRIVER_FILTERS_PACKETS? This would involve either creating something like eConsiderPacketForProcessing based on the same design as eConsiderFrameForProcessing or editing functions like prvProcessIPPacket to be split into check/process functions so that you can perform the check only in the Network Interface. STM32Fxx has an implementation using this macro and nothing about it is Network Interface dependent so it should be able to just call a public function that handles the checks. Also, this check is different than what you find in prvAllowIPPacketIPv4/prvAllowIPPacketIPv6 and really I think they packet checking should be the same whether you do it in the Network Interface or in the IP stack. In which case it would be trivial to add this functionality to all the other Network Interfaces as you would just add a single function call.

@HTRamsey, I like the idea of having a common API for filtering packets at network interface, adding a common filtering API to the stack will make it more standard and cleaner. Will check with other colleagues and let you know the conclusion.

Would you guys be open to a PR that improves the usage of ipconfigETHERNET_DRIVER_FILTERS_PACKETS? This would involve either creating something like eConsiderPacketForProcessing based on the same design as eConsiderFrameForProcessing or editing functions like prvProcessIPPacket to be split into check/process functions so that you can perform the check only in the Network Interface. STM32Fxx has an implementation using this macro and nothing about it is Network Interface dependent so it should be able to just call a public function that handles the checks. Also, this check is different than what you find in prvAllowIPPacketIPv4/prvAllowIPPacketIPv6 and really I think they packet checking should be the same whether you do it in the Network Interface or in the IP stack. In which case it would be trivial to add this functionality to all the other Network Interfaces as you would just add a single function call.

Hi @HTRamsey , I also like the idea of having a generic packet filtering function. Please create the PR.
We were having some discussions internally on the same and these are some points that came out of the discussion.
There are 3/4 things that we will have to decide before creating the PR.

The functionalities inside the filtering function should be generic processing based on Ethernet/IP header and not have any platform dependency.
Where should this filtering call be done? --- As you also specified we can either have it "something like eConsiderPacketForProcessing based on the same design as eConsiderFrameForProcessing or editing functions like prvProcessIPPacket to be split into check/process functions". However, it makes more sense to have the filtering done in the NetworkInterface layer as we do not want to overload the queue with packets that are destined to be dropped.
Where to define the function?

Please share your thoughts on the same.
Thanks,
Shub

/bot run formatting

/bot run formatting

@HTRamsey I see that you put a lot of effort lately on this PR. Are you planning to finish it in the near future?

@bjsowa #1065 has to go in first which is being held until after v4.1

@bjsowa multicasting and filtering will be finished after the other PR gets merged. I thought about abandoning parts of the HAL and using registers but I am trying to see if ST will accept my PRs to fix the HAL problems.

I tried the current version.  I am able to achieve ~94 Mbps after increasing ipconfigIPERF_RX_WINSIZE to at least 17.
Now for the things that don't work:

Network down event (even though previously I made effort to fix it)
IPv6 - no response to Neighbor Solicitation packets
MDNS - no response to queries

I assume IPv6 and MDNS might not work due to unfinished multicasting and filtering support.

Regarding the broken network down event, the problem lies on the prvPhyReadReg and prvPhyWriteReg functions. They should return non-zero value in case of a failure but instead they return pdTRUE (which is non-zero) when they succeed.

Good catch on prvPhyReadReg, I see the results are ignored everywhere for these functions but that one line in xPhyCheckLinkStatus. Those test results look good. In regards to the parts not working, let's try again after the multicasting is implemented. They have a fix going in 4.1.0 for the Neighbor Solicitation issue that will hopefully solve your issue. I had noticed a handful of other issues when reviewing the base code that I had planned on providing fixes for after doing some cleanup but I no longer have a project that needs it.

If anybody is using this with the F7, ST finally fixed some major issues here, here and here. Unfortunately these exact problems still exist with F4, but it's a start.

@HTRamsey Are you dropping the development of this driver or are planning on opening another PR in place of this?

@bjsowa I still use it personally but I think with how inconsistent the stm HAL drivers are it is hard to keep all of them working together without creating certain fixes based on what HAL version the user has. @tony-josi-aws what are your thoughts

AFAIK this is the only driver that works on H5. Perhaps we could add this driver alongside existing STM drivers as an alternative and just note which versions of the HAL libraries it was tested with?

At least it works nicely with Hxx and could replace it.

@HTRamsey
Maintaining the STM32 network interface up to date with respect to different versions of HAL drivers is not easy, as you mentioned. We were discussing internally what could be a better alternative.
What do you think about the idea of keeping the version of HAL Ethernet drivers that are tested to be working with this network interface part of the PR so that it could act as a reference for users who may want to use a different version of the HAL Ethernet driver?

@tony-josi-aws one alternative I've considered is to create a generic cmsis driver so people can just plug in their device files. But anyways this PR should be usable in its current state

@htibosch @tony-josi-aws is it possible to ignore spellings and formatting for the included HAL drivers?

@htibosch @tony-josi-aws is it possible to ignore spellings and formatting for the included HAL drivers?

"source/portable/NetworkInterface/STM32" folder is excluded from spelling and formatting check.

@HTRamsey Could you look at HTRamsey/FreeRTOS-Plus-TCP#13 ?

@ActoryOu Is there any plan to check this out? If not, it at least serves as a good example I guess

@HTRamsey What's the reasoning for removing HAL drivers? This makes the FREERTOS_PLUS_TCP_STM32_IF_DRIVER feature in CMakeLists.txt obsolete.

I guess that depends on if we can add the hal drivers to be ignored by formatting and spell checks

@ActoryOu @tony-josi-aws What should I do from here? I'd like to get this PR closed if not accepted

@ActoryOu @tony-josi-aws What should I do from here? I'd like to get this PR closed if not accepted

Hi @HTRamsey,
Sorry for late. I'd like to approve this PR.
But why do you remove all *hal_eth.c files in the latest commit?
Thank you.

@ActoryOu @tony-josi-aws What should I do from here? I'd like to get this PR closed if not accepted

Hi @HTRamsey, Sorry for late. I'd like to approve this PR. But why do you remove all *hal_eth.c files in the latest commit?
Thank you.

I can re-add, but then we have to be able to ignore those files with spelling & formatting.

@tony-josi-aws
The performance of iperf depends heavily on the configuration of the PC and MCU. As mentioned above, I was able to achieve a speed of ~93.3 Mbps.
https://github.com/FreeRTOS/FreeRTOS-Plus-TCP/pull/804#issuecomment-1847288566

@HTRamsey
I have tested the PR on STM32 F4, H5, H7, and the new network interface seems to be working fine. Here are few things that I noted:

eConsiderPacketForProcessing not defined when ipconfigETHERNET_DRIVER_FILTERS_PACKETS. I suppose eConsiderPacketForProcessing will be part of a future change?
Similar to the old network interface it will be good to print the resource statistics while the debug printf is enabled:

  #if ( ipconfigHAS_DEBUG_PRINTF != 0 )
          {
              /* Call a function that monitors resources: the amount of free network
               * buffers and the amount of free space on the heap.  See FreeRTOS_IP.c
               * for more detailed comments. */
              vPrintResourceStats();
          }
  #endif /* ( ipconfigHAS_DEBUG_PRINTF != 0 ) */

@tony-josi-aws Oh yeah I see that. It's been a long while but there was a discussion about adding some kind of generic check 'eConsiderPacketForProcessing' (similar to the one for the ethernet frame) that all network interfaces can use.


changed url and updated size for my blog

This PR is:

[ ] Adding a new domain
[X] Updating existing domain size
[X] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[X] I used the uncompressed size of the site
[X] I have included a link to the GTMetrix report
[X] The domain is in the correct alphabetical order
[X] This site is not a ultra lightweight site
[X] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[X] Check to confirm

- domain: bbbhltz.codeberg.page
  url: bbbhltz.codeberg.page
  size: 29.1
  last_checked: 2022-03-06

GTMetrix Report: https://gtmetrix.com/reports/bbbhltz.codeberg.page/1er57rua/

This site falls into the 'ultra-minimal' bucket I'm afraid, so I won't be merging this one. Sorry.

Hi
the site bbbhltz.codeberg.page is not ultraminimal, the previous url was deleted and contains a link to the new url.

It is I'm afraid.

okay.


6 months with no update or commit?

It's nearly 6 months and I see no update commit, and I see alots of open issues with no response. So will this repo have update with lastest laravel?

It works currently with L5 using the v5.0 tags.  I will be making updates to bring it more in line in the coming days/week


Projections does not work

In my code, I have used projection, while writing test cases I encounter with a bug.
           this.database.collection(collectionName)
                .find(queryObj, projectionObj, optionObj).toArray((error, docs) => {
                    if (error) {
                        return reject(error);
                    }
                    console.log('docs', docs, 'projectionObj', projectionObj);
                });
            });

In console I am getting this --docs [ { 'license.agent.agentCode': undefined } ] projectionObj { 'license.agent.agentCode': 1 }
But if I remove projection object it is giving me correct data.

Hi @joinsunil, I'm a bit confused by your bug report as it seems to be using Javascript syntax whereas mongomock is a Python library.
I've tried to check the python equivalent of your example with mongomock and it seems to work with version 3.9.0 and further. Please update your bug report with:

python code if possible
the initial values inserted in the collection
the expected value

@pcorpet Yes you are correct. I posted in wring repository.

Closed !


[Bug]: Firestore queries show mandatory asterisk even when they are not

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Steps To Reproduce
Go the Get documents in collection command in Firestore queries
Environment
Production
Version
Cloud

Hi @nidhi-nair
Can you please assign me this bug? I would like to resolve this issue.

Hey @devnamrits! The issue is all yours! :) Please make sure to read our Code Contribution Guidelines before getting started. Do let us know if you get stuck somewhere, or would like more information on the issue!

Thank you very much @nidhi-nair. Will surely connect whenever I get stuck.

Hi, I was installing the client-side application. First I got an issue name @types-shodown not found. For resolving this I installed the showdown module separately. After that, I'm getting this error after the development server gets compiled successfully.
Someone please help me in resolving this.

I have installed and built an app/server on my end. It's running fine.
cc: @nidhi-nair @ajinkyakulkarni @danieldare @rohan-arthur

@devnamrits Can you try pulling from our release branch again? This was an issue from the dev side that has since been fixed.

Okay great! Doing that

That error got resolved by taking the pull from the latest release.
But got this error. Have raised in discord as well?
Can I get the minimum required valued .env file for the client-side app?

cc: @nidhi-nair

Hi @nidhi-nair before raising PR just wanted to ensure

Collection/Document Path
Order By (JSON array of field names to order by)
Start After
End Before
Limit Documents

All the above should not be marked as mandatory which I referred to from https://docs.appsmith.com/datasource-reference/querying-firestore and have made changes as shown below.

But I think Collection/Document Path should be the mandatory field as it's being required to query over the firestore DB.
So please confirm which fields should be mandatory and which should be not. After confirmation, I will raise PR.


Try bitfield/script for replacing shellscirpt with golang

When addressed https://github.com/kachick/dotfiles/pull/741, I felt using pipe is not easy in golang, how about to use https://github.com/bitfield/script for that purpose?
My pain for shell scripts.

Parsing and using options
Difficult to find reference, it much uses symbols
Writing test
Nested quoting
Will not work in Windows
macOS should prefer old bash (using nix reduced this pain)

Benefit of keeping bash

I can copy and paste to try the script, and debug, improvements. If using go for wrapper, translating steps should be required

ref: GH-183, GH-281

Another candidates https://github.com/NixOS/nixpkgs/blob/8885a1e21ad43f8031c738a08029cd1d4dcbc2f7/pkgs/build-support/writers/scripts.nix
babashka, nu, ruby, rust

Or https://github.com/google/zx

https://github.com/luke-clifton/shh?tab=readme-ov-file#script-usage

https://github.com/rust-shell-script/rust_cmd_lib


Adds cbor tagging support

First of all, I am sorry because of changing your source code too much but I tried to add support cbot tagging by means of go struct tags.

Thanks 🙌