doc(*): add proposal template and reconcile maintainers doc

What type of PR is this?

Docs
What this PR does / why we need it:
This PR adds a proposal template and reconcile the maintainers doc.
Which issue(s) this PR fixes:
Special notes for your reviewer:

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


Change host restart to use the driver implementation

The fix I put in place to test the restart implementation of the driver, which may be of use.

Why Start if it's stopped?  I would expect it to just skip the Restart attempt, or error out, if that's the case.

That appears to be what the original implementation did. In contract terms the output is essentially: Ensure state.Running if at all possible.
Why error when you don't have to? I'd say the customer is after a running machine. If you error the customer is just going to sigh and type docker-machine start xxxx.
So it's really down to what specification you want.

On 9 Nov 2015, at 22:37, Nathan LeClaire<EMAIL_ADDRESS>wrote:
Why Start if it's stopped? I would expect it to just skip the Restart attempt, or error out, if that's the case.
—
Reply to this email directly or view it on GitHub.

Hi, I don't know what to think about that:

Right now the whole thing works. We could let it as it is or remove the Restart() in each driver and it would still work.
The PR makes the implementations of Restart() useful but some of them are doing nothing. So merging the PR would give more flexibility to the drivers but some of them would break on the way.

I think I'd rather keep the code simple as it is and remove the specific implementation at the cost of losing some flexibility.
wdyt @docker/machine-maintainers

Stop/Start on clouds like Amazon EC2 with an ephemeral nature has different semantics to the Reboot called in the driver: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html#lifecycle-differences
Reboot is gentler on the cloud since it doesn't involve stripping out the virtualisation process and starting a new one and most of the restarts seem to call that.
Stop/Start also likely starts a new billing cycle for the machine, and may trigger a minimum run charge whereas reboot/restart would not.

Good point @NeilW.
To merge this PR, we have to make sure every driver implements a working Restart(). That's a lot of tests! For example google driver does nothing in Restart() because it knows machine won't call it.

Wouldn't that be up to the community since you're planning to turf the google driver out of the nest?
Of the six you're keeping, all appear to have implemented Restart functions. And there doesn't appear to be a lot of tests for the other functions of the drivers.

Hmm.... What do we think about this:  In this PR also update drivers with non-functional Restart to just call Stop; (and then wait for state Stopped); Start.
That way, the "fall through" behavior is the same as it is today.
Does that sound good @NeilW @dgageot ?

If you can do that on the driver why not do it once in BaseDriver?
AFAICT they all derive from it.

Merged with https://github.com/docker/machine/pull/2654
Thank you @NeilW


Indexer expressions not included in FHIRPath subset

The following tests use the indexer expression (e.g. name[0].family), but we have not specified this as required to be supported in the specification:

fhirpath > index[0]
fhirpath > index[1]
fhirpath > out of index
union > nested
constant > integer constant

I thin, we should

I've posted a topic on Zulip about this: https://chat.fhir.org/#narrow/stream/179219-analytics-on-FHIR/topic/Indexer.20expressions.20in.20SQL.20on.20FHIR.20views


Show code of our Implementations in the app

it would be great if we can show our implementation code of different widgets in the app. we can add a FloationActionButton in the implementation page which will show our code. We can use highlight_syntax package for proper formatting, and we can make a script which will automatically generate the code string and store it in a required file.

That is a great idea @suryaa62! Can you showcase me one example before I approve this thought?

Cool i will try something out @AryanKhubchandani

but i think now that we should implement it in first way because it will give us more freedom as to what to show


[core-amqp] update changelog for v1.1.1

/cc @richardpark-msft I'm assuming there are no changes needed for service bus this time around.

/cc @richardpark-msft I'm assuming there are no changes needed for service bus this time around.

I believe you're correct.
CC: @HarshaNalluru

Yes, it just might have resulted in multiple copies getting pulled down if a user was using the preview version of identity with this package.


feat: implement getServerFunctionMeta

This adds a new public getServerFunctionMeta API that can be used in "use server" functions to retrieve function related information. It can be used by the enduser as a stable key for server function related caches and debugging.
Tasks

[x] Implement basic functionality
[x] Figure out why importing getRequestEvent in @solidjs/start/server breaks the vite dev server
[x] Discuss and eventually change the naming of getRpcInfo / RpcInfo

Renamed to getServerFunctionMeta / ServerFunctionMeta

[x] Write docs
[ ] Write tests - (if there is a place to write tests ;))

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] infrastructure changes
[ ] Other... Please describe:

What is the current behavior?
Related discussion: nksaraf/vinxi#51

since this is related to server functions, lets use some terminology that matches that. event.serverFunction maybe? And the helper could be getServerFunctionEvent which is a wrapper around getRequestEvent.
But I am still not sure we should expose name and id separately. These are implementation details. If its a stable key that's needed. I think we should only have id maybe which should be opaque. No guarantees about it being same in dev and prod, etc. Just that it'll be stable for one version of the code in that build.

@nksaraf Would you construct the id how I did it earlier? (id + "#" + name)
Do you think this serverFunctionEvent object could include other stuff in the future? If we only return the id, how about we just call the helper getServerFunctionId?
Alternatively if you have ideas/plans to include other stuff, how about getServerFunctionMeta? I think Meta better communicates that the information does not change on each request. Event sounds like a thing that changes over time.

Alternatively if you have ideas/plans to include other stuff, how about getServerFunctionMeta? I think Meta better communicates that the information does not change on each request. Event sounds like a thing that changes over time.

Yup might be better to go with Meta (and just expose the id in there). The id using id#name is perfect I think. In production usually we are going to has the id part anyway, so its fine.

@nksaraf I renamed it to getServerFunctionMeta and changed the id. I also just tested again the issue with the getRequestEvent with vinxi v0.0.64 . Importing getRequestEvent in the start/server entry still crashes the dev server with  the following error:
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "true".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

Do you have an idea why this error is happening and how it can be prevented? I saw that start/server/spa/StartServer.tsx also imports and uses getRequestEvent without an error. Why does it work there, but fails in my start/server/serverFunction.tsx file?

@nksaraf Any ideas why the getRequestEvent import in solid-start breaks the dev server 😅? This is the only reason why this PR is hanging in "WIP" 🙈

Retested this with all latest versions. The dev server crash from importing getRequestEvent in solid-start internals has been resolved. My random guess is that the error might have been related to c586f14b1a126b06ab57157bf620deab687ddea8.
Anyhow, this PR is ready for further discussion now :).

My only thought here is event.context is an H3 thing not a start thing so I'd consider using a different location. I haven't really standardized that though.. there is event.locals.
I guess we need to make a decision here soon. Right now it is my undocumented playground, but we need to do better.

event.context is an H3 thing ... there is event.locals. ...

Okay that is weird, Vscode is showing me h3 types for getRequestEvent in my local solid-start workspace, so I assumed that internally in solid-start getRequestEvent directly returns the h3 event - I didn't see that event.locals is a thing 😅.

Yes, that's precisely the purpose of event.context to be extended (and typed) by the frameworks which I wish solid adopted in first place instead of making more wrappers...

@ryansolid How do we move forward with this PR? 😅

Gotcha, I am looking forward what you will come up with 🙏. Just regarding "conventions": the new solid start beta changed a lot of things, removed features, removed whole apis, added others, some users have to migrate a lot of code (such as myself), I dont grasp why suddenly with the topic of event locals we should not rethink old conventions. I mean, who if not you, the CEO of signals, is not constantly reworking, rethinking, evolving old conventions 😉. I get that this goes beyond SolidStart 👍.

Fixed merge conflicts and updated the feature to the current event structure.

It was easier to cherry pick the commit than merge the merge of this taking so long. I will close this. But it is getting in.

It was easier to cherry pick

Yeah that makes absolutely sense 😅👍.

But it is getting in.

Thats some awesome news, thank you!


Search is not intuitive

When implementing the "Search ..." functionality for views using any of the View XPages (UnpBootFlatView for example) it only works if the entire word is entered.
Example:

Company Name = Roberts Cool Coding
Search for "Roberts" returns results
Search for "Rob" or Robert" does not return results.

Knowing that the results come from a categorized column in a view, is there any method for returning partial matches as detailed above?

Or perhaps could the type-ahead feature be utilized to fill in the rest?

We did consider this but did not want to modify the underlying Custom
Controls because we want all of the "Goodness" that will come in the future
of the xControls project.  If we make mods to the Custom Control then we
will need to re-apply them when updates arrive.
To alleviate the problem we have modified the first column of the search
view to have the following @Formula:
@Trim(@Unique(@Left(FirstName:LastName;2):@Left(FirstName:LastName;3):(FirstName:LastName))))
This way the user can search on the initial 2 or 3 characters or the whole
field value.  Not as elegant because now the view index is larger, but most
users will accept these parameters for searching.
On Wed, Feb 11, 2015 at 11:21 AM, Reid Canavan<EMAIL_ADDRESS>wrote:

Or perhaps could the type-ahead feature be utilized to fill in the rest?
—
Reply to this email directly or view it on GitHub
https://github.com/teamstudio/xcontrols-domino/issues/270#issuecomment-73910393
.

Along with #278 this should now be a lot better.


Feature Request - Toolbar button and global hotkey to toggle rainbow colorization

Thanks for this extension! As the title states, a toolbar button/global hotkey to toggle the colorization on/off would be a very welcome feature, if possible.

One of the recent updates seems to have caused a regression on this feature.  When the colorization is toggled off, any code editing activity turns the colorization back on and it takes several hotkey invocations to turn it back off.

@gpshonik thanks for the heads up. This is now fixed and a new release is making its way through the CI process right now.


Expose export key to JavaScript

The export key is a useful secret to have available (as in the parent library's digital locker example); this commit allows the value to be retrieved on registration and login.
I had to make a few changes related to data ownership to satisfy the borrow checker (and prevent the Login from being consumed on calls to getSessionKey/getExportKey). I'm relatively unfamiliar with writing Rust, so there may be a more proper way.
(By the way, thank you for writing these bindings; they are exactly what I needed 😄 )

Thank you for contributing :smile:
Code looks ok :+1:


Assume a single process exclusively

This allows us to remove a lot of interprocessing code and use functionality like LocalBroadcastManager.

Also, we can use a event bus (like greenrobot EventBus instead of broadcasts.


Added a book - Introduction to Scientific Programming in C++ and Fortran 2003

What does this PR do?
Add Resource
For resources
Description
Added a new book - Introduction to Scientific Programming in C++ in Fortran 2003
Why is this valuable (or not)
It's a book about scientific programming!
How do we know it's really free?
It is hosted by The University of Texas at Austin and there is an issue created by the book author.
For book lists, is it a book?
Yes
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[x] Needed indications added (PDF, access notes, under construction)

#3655

I think the actual title is "and Fortran"

I think the actual title is "and Fortran"

Fixed, thanks.


Crash on Galaxy s7 and s7 Edge

Maybe caused by Samsung phones don't have the default picture folders. It crashed during capturing photo using camera with (File Not Found Exception), also none of existing photos shown in picker. But if I use a different picker library to pick the photo, then switch back to this MultiImagePicker library, everything works fine.

I found we have to request external storage permission at run time even we have declared it at manifest.
The details are here: http://stackoverflow.com/a/33288986/6686872


Enable multipart transmittance (down & up, diffuse & direct) for MODTRAN

A new "multipart transmittance" option runs MODTRAN three times for each LUT grid point, solving for transmittance & spherical albedo algebraically, following a similar methodology to [Guanter 2009].  This allows calculation of independent diffuse and direct downwelling and upwelling transmittance, which is important for BRDF & adjacency effect modeling.  It is also more forgiving of coarse RTM calculations, allowing a much chunkier MODTRAN band model that runs much faster.
The overall accuracy is still to be determined - total transmittances and spherical albedos differ by a couple of percent, on average, from the standard approach.  I included a new Beckman Lawn example, and it looks pretty good.
Thanks to @NimrodCarmon for testing this approach and supplying much of the code.  If he has time to dip in and add some explanatory comments to the new algebra, that would be great...

Addendum: if/when we decide to merge this, please squash the commit history which has some unintended extras.  Thanks!

@davidraythompson - when you have the chance, please consider this PR, initially incorrectly submitted to master.

Excellent, thanks David and Nimrod!  An excellent addition.


add NaN check to Util.assertNumber

Sadly, typeof NaN === 'number', so if you pass NaN to any constructors in this module the behavior can go very badly wrong without any errors being thrown.

Thanks @reysquared. I'll merge it!


No sleep working

any bios (have tried witht the default suggestion) or config suggestion for sleep ?
Mine goes to sleep (power button blinks), screen gooes to black, but impossible to return to live.
Energy settings checked
prevent sleep when screen shut down
put disk to sleep when possible
ethernet acces enable
start after electric power cut
enable power nap
Screen connected via mini-DP to DP BenQ EL2870U,tried with a thunderlbolt to DP to an Dell screen with the same end.
Can give me some advice or tips ?

Does it wake up but screen stays dark? Or does it not even wake up?

it never wakes, no keyboard acces (key lock green), no ping from another computer or lan or VNC

Are you using the latest hac mini package?

Yes just upgraded today to it.
Can try to produce some logs
On Sun, Apr 5, 2020, 10:59 PM osy86<EMAIL_ADDRESS>wrote:

Are you using the latest hac mini package?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/osy86/HaC-Mini/issues/232#issuecomment-609481871, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFRMEMOREFKVQX5FVVGWI3RLDWMZANCNFSM4MBLJDQQ
.

Any bios special setting at s4/s5 ?
Somone can share additional screen config not from the originat BIOS screenshot's?
And at energy settings configuration panel?

Same here. Have updated to the latest hac mini.
I'm using an LG 4k display through HDMI port. It flickers occasionally which is acceptable.
When it goes to sleep it does not wake up properly by tapping the USB keyboard or the mouse. The hard drive does wake up as I can see the green light, but the display does not.
When the screen is turned off manually by pressing the power button for like 20 minutes, it doesn't wake up either.
I have tried the blue USB port on the front, it doesn't seem to work.
Is it because I'm using LAN instead of WiFi?

Any suggestion about bios os mac preferences setting have to check? any console command to see if hiberntation is enabled ?

Are you using the latest hac mini package?

I'm checking this instruction.
https://forum.amd-osx.com/viewtopic.php?t=9294
The guy mentioned the USB fix might not work with USB 2.0 devices plugging into the USB 3.0 ports.   If this is the issue, does it mean we should use bluetooth mouses and keyboards?

Power Nap does not work properly on my NUC.  If it goes into deep sleep, it panic and upon panic my bluetooth module disappears (imagine my keyboard going away).
I cannot get my sleep to work in any combination except scheduling a shutoff.  I figured out what was keeping it alive during the day (folding @ home), but now since the latest supplemental update (10.15.4) (and update of hacmini) sleep doesn't work at all again.
I would disable put hard drive to sleep, power nap, prevent sleep at a minimum.  Schedule a shut down and see if that works at least.  I also turned off screen time and that would (previously) allow me to sleep on a schedule.
Go to activity monitor, energy tab and see if you have apps keeping the machine awake

I've disabled everthing at OS' energy settings, only restart after power cut.
Computer goes to sleep, screen's go to sleep, only 2 front led green on , power button on (not dimming).
Impossible to put it on (keyboard ubs not responding), plug an addtional mouse by usb, nothing.
Keep power button on for 5 seconds, computer goes off, and when on again system report a crash.
Sleep Wake failure in EFI
Failure code:: 0xffffffff 0x0000001f
Please IGNORE the below stackshot
================================================================
Date/Time:        2020-04-14 08:21:01 +0200
OS Version:       ??? ??? (Build ???)
Architecture:     x86_64
Report Version:   29
Data Source:      Stackshots
Shared Cache:     0x1c63000 E5D7B9BB-C0B1-3A6B-BC91-07DB07DF4C8B
Event:            Sleep Wake Failure
Duration:         0.00s
Steps:            1
Boot args:        alcid=11 -disablegfxfirmware shikigva=32 shiki-id=Mac-BE088AF8C5EB4FA2
Time Awake Since Boot: 26s

My 4K monitor only has an HDMI and a DP port.  The mentioned issue happened when using an HDMI to HDMI cable. Now I have switched to a USB-C to DP cable, the problem seems to be solved.

My 4K monitor only has an HDMI and a DP port. The mentioned issue happened when using an HDMI to HDMI cable. Now I have switched to a USB-C to DP cable, the problem seems to be solved.

Bad luck to me, using dual monitor running via mini-DP to DP and usb-c to DP. Could you post your bios setting related to s4/s5 and energy settings.
Will try running only 1 monitor when got you setting if possible. thanks

tried only 1 monitor usb-C to DP same issue. Set computer to sleep. Nuc goes to sleep (lights fade in /fade out).
push 1 key on usb keyboard, try to go out from sleep but no screen don't come out from sleep.
Have to force shutdown with button. And got a message on POST.
Bios has detected unsuccesful POST.
Y to enter setup N no cancel and attempt to boot
And when login to mac the same Sleep Wake failure in EFI warning.
Please share your BIOS energy setting.
Is the final piece to make these build a perfect one

Is the power light on? Did you choose "Native Thunderbolt" or "Legacy Thunderbolt" install option?

When is in stand by the power button pulsates, then i press a key on keyboard and it seems to try to wake up (pulsate finish), but screen don't even try to go out of energy saving state.
i choosed legacy.
Thanks again

My 4K monitor only has an HDMI and a DP port. The mentioned issue happened when using an HDMI to HDMI cable. Now I have switched to a USB-C to DP cable, the problem seems to be solved.

Bad luck to me, using dual monitor running via mini-DP to DP and usb-c to DP. Could you post your bios setting related to s4/s5 and energy settings.
Will try running only 1 monitor when got you setting if possible. thanks

No additional bios settings rather than the HacMini installation guidance. Have turned off Power Nap in system preferences though.

ok, my machine seems to be an alien


add a CC0 dedication

Was thinking about using MIT, but wasn't sure who the copyright should be assigned to. Public Domain sidesteps the whole issue!

:+1: makes sense to me


onDone cannot be triggered

I don't know when the upload operation will end, because he will always be 0%, even if the upload has been successful

It's the same for download, hope someone can help to fix!  (I'm testing on iOS)


Mismatch between content format providers and file extensions

With v0.88.1, the list of allowable content file extensions is:
https://github.com/gohugoio/hugo/blob/master/hugofs/files/classifier.go#L38-L45
ad
adoc
asciidoc --> doesn't work
htm
html
markdown
md
mdown
org
pandoc
pdc
rest  --> doesn't work, and don't care
rst

These extensions are not associated with a provider:

asciidoc
rest --> don't care

Related: https://github.com/gohugoio/hugo/issues/9367

This was resolved with https://github.com/gohugoio/hugo/pull/12440. See definitive list here:
https://gohugo.io/content-management/formats/#classification


fix: atomic operation to make sure idle worker is sorted

Codecov Report

Merging #7 (3f4d352) into development (3397df5) will decrease coverage by 0.89%.
The diff coverage is 100.00%.

:exclamation: Current head 3f4d352 differs from pull request most recent head 8e1a2b8. Consider uploading reports for the commit 8e1a2b8 to get more accurate results

@@               Coverage Diff               @@
##           development       #7      +/-   ##
===============================================
- Coverage        89.17%   88.27%   -0.90%
===============================================
  Files                1        1
  Lines              471      469       -2
===============================================
- Hits               420      414       -6
- Misses              34       36       +2
- Partials            17       19       +2

Impacted Files
Coverage Δ

pool.go
88.27% <100.00%> (-0.90%)
:arrow_down:

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 3397df5...8e1a2b8. Read the comment docs.


Traverse history via up/down the right way.

@afaur This is what I had in mind.

You're right I just squashed the commits that I had in my branch and made the PR. I'll remove the cucumber tests.

I've removed the traverse_history feature.

I pushed a commit to fix the tests and I'm merging this instead of #261 since it's closer to the desired behavior, but we will leave it undocumented since it can break in some cases.


First cut of a simple load tester

This is a quick load tester that starts Ubuntu instances and waits for them to each call home.
If this is useful, I can tidy it up and we can extend it. (Add more doc, clean up code, etc.) If not we can junk it.
Initially I placed it in the deploy repo but I think it more naturally belongs with the actual thing it tests.
andy@arwen:/andy/Projects/5d/sf/shakenfist/tools/load-testing/callcentre$ ./callcentre --help
Call Centre will:
  Create a unique namespace
  Create a network within that namespace
  Start instances in the namespace
  Wait for each instance to call back via HTTP on port 8089
  Delete each instance that has called back
  When all instances have called back, delete the network
  Delete the namespace

If the test fails, the "sf-client namespace clean" command can be used

Usage:
  callcentre [flags]

Flags:
      --cloudinit string   Cloud init phone home YAML filename (default "phone-home.yaml")
      --config string      Call Centre config file (default is callcentre.yaml)
      --count int          Number of instances to start
      --cpu int            Instance CPU count
  -h, --help               help for callcentre
      --ip string          This servers reachable IP address from within the instances
      --memory int         Instance Memory size in MB

A simple run looks like this:
andy@arwen:/andy/Projects/5d/sf/shakenfist/tools/load-testing/callcentre$ ./callcentre --cpu 1 --count 3 --memory 1024 --ip <IP_ADDRESS>
CPU=1  Memory=1024
Starting 3 instances...

Creating new load test namespace: loadtest-9139e342

Instances: Started=0 Callbacks=0 Outstanding=0
  Started Instance   0: ca914f8a-2dde-4ca5-b8b2-d25c31bb0a8b  Node: sf-2  ConsolePort: 49569

--> All start requests sent
  Started Instance   1: 70aac03e-bddc-4fa6-9535-78eac057e5e1  Node: sf-2  ConsolePort: 39260
  Started Instance   2: 4b0387eb-6c55-4914-9038-759959c15b2a  Node: sf-2  ConsolePort: 45741

Instances: Started=3 Callbacks=0 Outstanding=3
  1: 70aac03e-bddc-4fa6-9535-78eac057e5e1  sf-2
  2: 4b0387eb-6c55-4914-9038-759959c15b2a  sf-2
  0: ca914f8a-2dde-4ca5-b8b2-d25c31bb0a8b  sf-2

Instances: Started=3 Callbacks=0 Outstanding=3
  0: ca914f8a-2dde-4ca5-b8b2-d25c31bb0a8b  sf-2
  1: 70aac03e-bddc-4fa6-9535-78eac057e5e1  sf-2
  2: 4b0387eb-6c55-4914-9038-759959c15b2a  sf-2

[snip - repeated output]

Instances: Started=3 Callbacks=0 Outstanding=3
  0: ca914f8a-2dde-4ca5-b8b2-d25c31bb0a8b  sf-2
  1: 70aac03e-bddc-4fa6-9535-78eac057e5e1  sf-2
  2: 4b0387eb-6c55-4914-9038-759959c15b2a  sf-2

Instances: Started=3 Callbacks=0 Outstanding=3
  2: 4b0387eb-6c55-4914-9038-759959c15b2a  sf-2
  0: ca914f8a-2dde-4ca5-b8b2-d25c31bb0a8b  sf-2
  1: 70aac03e-bddc-4fa6-9535-78eac057e5e1  sf-2
    Received callback: 0
    Received callback: 1

Instances: Started=3 Callbacks=2 Outstanding=1
  2: 4b0387eb-6c55-4914-9038-759959c15b2a  sf-2
    Received callback: 2

SUCCESS - All instances have phoned home
andy@arwen:/andy/Projects/5d/sf/shakenfist/tools/load-testing/callcentre$

New features and new help
Call Centre will:
  Create a unique namespace
  Create a network within that namespace
  Start instances in the namespace
  Wait for each instance to call back via HTTP on port 8089
  When all instances have called back, delete all instances
  Delete the network
  Delete the namespace

If the test fails, the "sf-client namespace clean" command can be used

Usage:
  callcentre [flags]

Flags:
      --cloudinit string   Cloud init phone home YAML filename (default "phone-home.yaml")
      --config string      Call Centre config file (default is callcentre.yaml)
      --cpu int            Instance CPU count
      --delCallback        Delete instance immediately after it's callback
      --delay int          Delay between attempting to start instances (default 1)
  -h, --help               help for callcentre
      --ip string          This servers reachable IP address from within the instances
      --load int           Number of instances to start
      --memory int         Instance Memory size in MB

A separate repo would be the most convenient due to golang issues but we seem to have a lot of repos...
I vote for a separate repo.
You?

Separate repo for the win. Do you have permissions to make one?

Done. New repo at https://github.com/shakenfist/loadtest


Publish w/ Migrations from different dlls fail

Steps to reproduce
Not sure how easy this will be, but:

Have an ASP.Net Core website that has one or more DbContext referenced assemblies (Core dlls)
Add the dbcontext in startup.cs (i.e: services.AddDbContext<MaintenanceContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("Jbssa.FreightRates.Maintenance.Data")));)
Publish the web app with the Entity Framework Migrations checked for those dbcontexts.  In Settings tab of the Publish dialog.  Ensuring the correct connection string is supplied.

The issue
Describe what is not working as expected.
Receive error in Error LIst in VS2015 U3.
Error		Your target project 'Jbssa.FreightRates.Web' doesn't match your migrations assembly 'Jbssa.FreightRates.Rates.Data'. Either change your target project or change your migrations assembly.	Jbssa.FreightRates.Web		0
Error		Change your migrations assembly by using DbContextOptionsBuilder. E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("Jbssa.FreightRates.Web")). By default, the migrations assembly is the assembly containing the DbContext.	Jbssa.FreightRates.Web		0
Further technical details
EF Core version: (found in project.json)
"dependencies": {
"Jbssa.FreightRates.Maintenance.Domain": "1.0.0-",
"Jbssa.ApplicationData.Reference.Domain": "1.0.0-",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"NETStandard.Library": "1.6.1",
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"System.Linq": "4.3.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Jbssa.Application.SharedKernel.Data": "0.1.0"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
Operating system:
Visual Studio version: VS 2015 Update 3 on Win10x64
Other details about my project setup:
Structure:

Each BC_* project group are a DbContext and associated domain class.  All are .Core class libraries.

I have also tried the dotnet command line and get similar errors:
C:\TFS2015\Framework\JBS46 Applications\Dev\Jbssa.FreightRates.Web\src\Jbssa.FreightRates.Web>dotnet ef database update --context jbssa.freightrates.history.data.historycontext --verbose
Project Jbssa.FreightRates.History.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.History.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Maintenance.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationData.Reference.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Maintenance.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Rates.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Rates.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationSecurity.Reference.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationSecurity.Reference.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Security (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationData.Reference.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Background (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Web (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Setting app base path C:\TFS2015\Framework\JBS46 Applications\Dev\Jbssa.FreightRates.Web\src\Jbssa.FreightRates.Web\bin\Debug\netcoreapp1.0\win7-x64
Finding DbContext classes...
Using context 'HistoryContext'.
Microsoft.EntityFrameworkCore.Design.OperationException: Your target project 'Jbssa.FreightRates.Web' doesn't match your migrations assembly 'Jbssa.FreightRates.History.Data'. Either change your target project or change your migrations assembly.
Change your migrations assembly by using DbContextOptionsBuilder. E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("Jbssa.FreightRates.Web")). By default, the migrations assembly is the assembly containing the DbContext.
Change your target project to the migrations project by using the Package Manager Console's Default project drop-down list, or by executing "dotnet ef" from the directory containing the migrations project.
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.EnsureServices(IServiceProvider services)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Your target project 'Jbssa.FreightRates.Web' doesn't match your migrations assembly 'Jbssa.FreightRates.History.Data'. Either change your target project or change your migrations assembly.
Change your migrations assembly by using DbContextOptionsBuilder. E.g. options.UseSqlServer(connection, b => b.MigrationsAssembly("Jbssa.FreightRates.Web")). By default, the migrations assembly is the assembly containing the DbContext.
Change your target project to the migrations project by using the Package Manager Console's Default project drop-down list, or by executing "dotnet ef" from the directory containing the migrations project.

I have found a viable though not pretty solution for this issue, I have moved the DbContext project content into a folder within the asp.net core application (Jbssa.FreightRates.Web) application.  So this is now the new structure.

After that and removing the migration parameter in the startup.cs ConfigureServices method, all worked fine.  See below.
        services.AddDbContext<HistoryContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

C:\TFS2015\Framework\JBS46 Applications\Dev\Jbssa.FreightRates.Web\src\Jbssa.FreightRates.Web>dotnet ef database update --context jbssa.freightrates.history.data.historycontext --verbose
Project Jbssa.FreightRates.History.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Maintenance.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Rates.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationSecurity.Reference.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationSecurity.Reference.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Security (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationData.Reference.Domain (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.ApplicationData.Reference.Data (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Background (.NETStandard,Version=v1.6) was previously compiled. Skipping compilation.
Project Jbssa.FreightRates.Web (.NETCoreApp,Version=v1.0) will be compiled because inputs were modified
Compiling Jbssa.FreightRates.Web for .NETCoreApp,Version=v1.0
Compilation succeeded.
    0 Warning(s)
    0 Error(s)
Time elapsed 00:00:29.4801659

Setting app base path C:\TFS2015\Framework\JBS46 Applications\Dev\Jbssa.FreightRates.Web\src\Jbssa.FreightRates.Web\bin\Debug\netcoreapp1.0\win7-x64
Finding DbContext classes...
Using context 'HistoryContext'.
Done.

Moved over to Tooling for the Publish folks to look at https://github.com/aspnet/Tooling/issues/898.
When you call the command yourself, you should use --project to specify which project the migrations are in. Alternatively, you can call the command on the project with migrations, and use --startupProject to point to your web project.


added hudi example with aws glue notebook

Change Logs
Describe context and summary for this change. Highlight if any code was copied.

Notebook Link

https://github.com/soumilshah1995/Insert-Update-Read-Write-SnapShot-Time-Travel-incremental-Query-on-APache-Hudi-transacti/blob/main/hudi-demo.ipynb

Video

https://www.youtube.com/watch?v=hK1G7CPBL2M&t=12s

Added Examples with hudi and AWS Glue . This is Glue Notebook which people can refer to build data lake faster.

No this notebook uses glue connector which is outdated hence closing pull request


DESENG-612: Replaced tenant specific variables with data from backend

Issue #: https://apps.itsm.gov.bc.ca/jira/browse/DESENG-612
Description of changes:

Replaced tenant-based values with data from tenant detail API

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report
Attention: Patch coverage is 53.33333% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 75.99%. Comparing base (ada21a5) to head (25477fd).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2528      +/-   ##
==========================================
+ Coverage   75.93%   75.99%   +0.06%
==========================================
  Files         616      619       +3
  Lines       22007    22096      +89
  Branches     1688     1702      +14
==========================================
+ Hits        16710    16792      +82
- Misses       5032     5039       +7
  Partials      265      265

Flag
Coverage Δ

metweb
64.91% <53.33%> (+0.21%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...components/comments/admin/review/CommentReview.tsx
70.32% <100.00%> (+0.38%)
:arrow_up:

...et-web/src/components/landing/LandingComponent.tsx
100.00% <100.00%> (ø)

...eb/src/components/layout/Header/InternalHeader.tsx
68.88% <100.00%> (+1.44%)
:arrow_up:

met-web/src/reduxSlices/tenantSlice.ts
25.00% <0.00%> (-13.47%)
:arrow_down:

... and 26 files with indirect coverage changes


Allow using other variables in config.vars

Allows you to use other variables in config.vars.
For example, this allows you to replace
TOOLBAR_BUTTON_WIDTH   : float  = 79
TOOLBAR_BUTTON_HEIGHT  : float  = 79

with
TOOLBAR_SIZE           : float = 79
TOOLBAR_BUTTON_WIDTH   : float  = TOOLBAR_SIZE
TOOLBAR_BUTTON_HEIGHT  : float  = TOOLBAR_SIZE

And allows you to change both width and height at once by changing TOOLBAR_SIZE.

@justinsmid looks good to me! :+1: Thank you for your contribution!


update the 'additional info' section for yosemite

there were some changes since you first loaded this up.
https://docs.google.com/document/d/1XHzdttGlmlPIh9DLc1u7gS57kCfJDkFJEwkZB20-kIo/edit

I think this is all updated. But if not, please be more specific about what has changed.


Enforce all configuration in gitted YAML directory

There is value in Strider-CD because it is Node.js based and therefore can be installed and launched with a one-liner
Continuous deployment, however, requires EVERYTHING to be under revision control
The de-facto standard format for configuration has become YAML 1.2 (js-yaml)
Therefore, a single directory should be used for all configuration, including installed plugins and their configuration, a directory that can be gitted, to avoid the traditional Jenkins uncloneable snowflake
This way there is traceability and a Strider-CD instance can be cloned using npm install and git pull
The database is allowed to contain history

And then:

Write all code from now on using ECMAScript 2016 with stage-3 async/await and babel
Allthough features of Strider-CD are presently basically broken, it can be made to run at the cost of security, which is somewhat OK on localhost

All configuration can currently be setup in a strider.json file. See https://github.com/Strider-CD/strider/wiki/Advanced-Configuration. There is also an issue for supporting yaml or json5 instead of just json here #960

I am strictly against using any transpilers for backend code. It makes it extremely hard to debug and has very little benefit compared to its cost. We have literally just dropped Node <4 support and thus brought a bunch of new ES features into the code base.

Point taken.

The situation with modern code is somewhat complex at the moment, if you don't use babel, you can't say import, so if you want ECMAScript 2015, in practice you must use babel.

If you do use babel, and a bit of a setup with in this case webpack and source maps, you can debug like you are on the modern code base with hot reload of both front-end and server, not knowing that there is transpiling taking place. What you cannot get is proper line numbers in stack traces.

There are many reasons for using at least ECMAScript 2015, which was a large release, but for devOps and Continuous Deployment work, async functions enabling branching promises produces procedural-looking yet event-driven code with good error handling. The error handling featured is hard to attain with callback/emitter programming.

Have a look at build.js from React Starter Kit. The wrapper run.js is able to log start and completion events nicely.

It's an idea.

I'm also looking forward to async/await, but in the mean time we can use generators with Node 4+ which is made even nicer with https://github.com/kamikat/co-router

I also looked further into YAML and was surprised to see that Amazon AWS does not support it yet, they are still on JSON. There are many npm modules converting between JSON and YAML, but Linux does not come with a pre-installed utility for the conversion.
Linux does have Python 2.7, though, for the AWS command line. You can find tool-deprived people pleading with Amazon to implement YAML. The SaltStack and ansible both use Python with Jinja/YAML configuration file format.
JSON to YAML
aws ec2 run-instances --generate-cli-skeleton | python -c 'import sys,yaml,json;yaml.safe_dump(json.load(sys.stdin),sys.stdout,default_flow_style=False)'

** YAML to JSON
cat i.yaml | python -c 'import sys,yaml,json;json.dump(yaml.load(sys.stdin),sys.stdout)'

YAML for us isn't a high priority, because it's not really a standard, just some people prefer it.
We are more concerned about all of the configuration being possible somehow without the UI and having it be replicated/updated easily in a vcs.
Having said that, we would take a PR for supporting strider.yml along side of strider.json (backwards compatible). We might even talk about changing to .strider.yml to be more like Travis, but this would only be in a major release (with the Node4 change).

If you want to go transpiling on the frontend code, go bananas for all I care. As long as someone is working on it, it's probably being improved. For all I care, rewrite it in React from scratch.
With backend code, it's not just wrong line numbers in stack traces, it's simply debugging the code (as in attaching the node debugger). And, yeah, I know there is babel-node, but that doesn't work with whatever IDE. It needlessly overcomplicates the development process. As I said earlier, we literally dropped support for Node <4.2 days ago. Let's work with what is natively supported.
That being said, I would welcome a .strider.yml contribution, just because it will make it easier to approach for people coming from other CI solutions.

And hey, @oliversalzburg
I noticed too, some front-end projects so uninterested in server debugging that they "forgot" to have a setting --debug for the server
What I did then was put Node.js into debug, likeso, enabling you to attach any debugger to the running back-end:
if (o.debug) process.kill(process.pid, 'SIGUSR1') // enable debugging for this process
console.log(`pid: ${process.pid}`)


servarr download

Functionality to trigger download using prowlarr / sonarr / radarr

adds functionality to go backend to trigger download request in prowler / sonarr / radarr
concept is these apps provide proxy to download client (transmission, qbittorrent etc)
graphql mutation to integrate backend with webui.  extension to graphql query to enable webui to show/hide download button based on at least one of the servarr apps being configured
extension to config to allow servarr URLs and ApiKeys to be configured for use in backend
webui provides feed back through existing error feedback capability

Notes

has passed lint and test task
have found that nix develop environment needs following:

export XDG_CONFIG_HOME=~/.config/
export PATH=$PATH:$PWD/webui/node_modules/.bin

Enhancements / feedback consideration

both sonarr and radarr release GET endpoint does not filter by indexer.  This means all indexers are searched.  One option could to be temporarily disable other indexers before search and re-enable after search (would also speed up call to release endpoint)
logging - currently feedback is through errors that track back to webui.  It maybe useful to send these to log as well as they are transitory in webui. *still finding fx injection a steep learning curve,  logger could be injected into resolver.go
documentation :-)

Thanks for this, some initial feedback:
I think I misunderstood what you had in mind for this feature as it seems to be searching Sonarr and Radarr, when we'd already have the torrent we're after - it would just need sending to Prowlarr's client proxy. I think having that on its own would be a good first step for this feature. I wouldn't rule out some deeper integration with the other apps if it would add value, but if set up correctly Sonarr/Radarr should pick up the fact that you've downloaded a copy of something anyway? Could you maybe elaborate what you had in mind for the Sonarr/Radarr integration, perhaps it isn't needed for the first iteration of this feature?
I expect we'll expose this feature as a generic client proxy that can integrate with any suitable client (e.g. qBittorrent), so in terms of the API surface it should be more generic, so the GraphQL parts would be under a client namespace that can expose different implementations and we'd need a base Client interface in the Go code that all clients can extend from.
Your client code is trying to do a lot at the moment, mainly because it's trying to be 3 different clients merged into 1. A good first step would be having that stripped back to do the most basic part of sending a torrent to Prowlarr. If there was going to be integration with Sonarr/Radarr too then they should probably be in separate client adapters or at least with the logic more decoupled.
With the web app rewrite underway let's probably look to merge the UI elements into that once that's further along...

I think I misunderstood what you had in mind for this feature as it seems to be searching Sonarr and Radarr, when we'd already have the torrent we're after - it would just need sending to Prowlarr's client proxy.

I should explain the concept better.  The prowlarr search end point and sonarr / radarr release end points are quite synonymous.  GET caches from configured indexers,  POST sends specific info hash to configured download client.  It's mandatory to cache (GET) before POST.  (Not doing GET before POST for all three results in an error stating info hash is not cached).
The sonarr / radarr release GET request requires (seriesID, episodeID) or (movieID).  Hence the GET requests to other end points to transform external ids that bitmagnet has to internal ids. One issue I have with release GET end point is that it's not possible to filter by indexer.  Which means that in case of sonarr / radarr all indexers are searched (would be better if only bitmagnet was searched)
Just prowlarr would mean that you would need to configure backdoor functionality in sonarr / radarr to pick up "manually" downloaded content by download client.

I expect we'll expose this feature as a generic client proxy that can integrate with any suitable client (e.g. qBittorrent), so in terms of the API surface it should be more generic, so the GraphQL parts would probably be under a clients namespace that can expose different implementations and we'd need a base Client interface in the Go code that all clients can extend from.

Ok -will change from servarr namespace to client name space across graphql specs.  Interface spec would effectively be:
type Client interface {
	Download(infoHashes []string)
}

From download capability of a client,  I noted on discord.  I see the *arrs as providing capability to interface to any client.  I switched from deluge to qbittorrent to transmission.  All that was needed after changing docker compose to install was to do a little config in the *arrs which have UI and testing  capabilities.  Granted I am maybe thinking too narrow,  just download when it comes to a client.

Your client code is trying to do a lot at the moment, mainly because it's trying to be 3 different clients merged into 1. A good first step would be having that stripped back to do the most basic part of sending a torrent to Prowlarr. If there was going to be integration with Sonarr/Radarr too then they should probably be in separate client adapters or at least with the logic more decoupled.

There is maybe a use case bias I am holding here.  I regularly find myself using manual search capabilities of sonarr and radarr as they have not found some content I want (configured size constraints or quality profile, configs which I want for auto downloads).  When I see something in bitmagnet that I want,   I want to trigger download and inclusion in tv / movie libraries.  As previously noted  functionality wise that are very synonymous,  for sonarr / radarr need to transform from external ids to internal ids.
If in config only prowlarr api key is configure,  prowlarr will be used for all content types.  So from that perspective it's a user configuration not automatic that my bias is forced on all users.
I switched from starr to resty because I didn't like the amount of code duplication with separate sub-modules for prowlarr, sonarr and radarr.  I'll have a look to extract a transform() function that is specific to each of the arrs

With the web app rewrite underway let's probably look to merge the UI elements into that once that's further along...

I'll move UI elements to a separate branch.

The prowlarr search end point and sonarr / radarr release end points are quite synonymous. GET caches from configured indexers, POST sends specific info hash to configured download client. It's mandatory to cache (GET) before POST. (Not doing GET before POST for all three results in an error stating info hash is not cached).

Okay I haven't gone into depth on what these API's look like (and the documentation seems quite light).

If in config only prowlarr api key is configure, prowlarr will be used for all content types. So from that perspective it's a user configuration not automatic that my bias is forced on all users.

I switched from starr to resty because I didn't like the amount of code duplication with separate sub-modules for prowlarr, sonarr and radarr

I'm for minimizing duplication but having a lot of big if blocks in each method of a single implementation isn't a great trade off and should probably be refactored. What I'm suggesting is to start with a client that works by talking only to Prowlarr. The other integrations you've described could be considered later if there's wide interest, but it sounds like a bit of a specific behaviour that could live in a separate client adapter if it was needed. Otherwise the logical progression is to add Lidarr, Readarr etc  in a single client with ever bigger if blocks checking the value of d.use.
This interface is just off the top of my head but it could be a start. It uses a context object and can return an error. I've put the request in a struct as it might need more parameters later:
type AddInfoHashesRequest struct {
  ClientID string
  Infohashes []protocol.ID
}

type Client interface {
	AddInfoHashes(ctx context.Context, req AddInfoHashesRequest) error
}

Okay I haven't gone into depth on what these API's look like (and the documentation seems quite light).

Docs are quite light,  have now coded in python, typesrcipt and go.  So have become quite familiar with this specific capability of APIs.  Explaining was very useful as it enabled me to see better ways to code it.

I'm for minimizing duplication but having a lot of big if blocks in each method of a single implementation isn't a great trade off and should probably be refactored. What I'm suggesting is to start with a client that works by talking only to Prowlarr. The other integrations you've described could be considered later if there's wide interest, but it sounds like a bit of a specific behaviour that could live in a separate client adapter if it was needed.

I've completely stripped out use of use.  Now uses a struct per arr that has an implementation.  Each in own source file.  Have stuck with just one package servarr.  There are now no if blocks for flow control, just error checking.

This interface is just off the top of my head but it could be a start. It uses a context object and can return an error. I've put the request in a struct as it might need more parameters later:
type AddInfoHashesRequest struct {
  ClientID string
  InfoHashes []protocol.ID
}

type Client interface {
	AddInfoHashes(ctx context.Context, req AddInfoHashesRequest) error
}

I've coded this up - and changed servarr to use this interface.

Is there more we can add to golift.io/starr to provide all the features you need? Hate to see you writing all this boilerplate code.

Is there more we can add to golift.io/starr to provide all the features you need? Hate to see you writing all this boilerplate code.

I'd be happy in principle for it to be used. I haven't had an in-depth look at the code yet so I can't give a view on @rraymondgh 's reasons for not using it. It is likely that we'll need a fraction of the functionality available in the API's, and it can be preferable to have full control over a custom implementations of just the bits we need. I've ended up going in that direction with TMDB for example. It probably depends if the Starr libs are extensible in the ways we'd need them to be (and I can't answer that without looking into it properly).

Sorry that question was really directed toward @rraymondgh. He opened a feature request in that library, I assume for this implementation. I'm happy to expose or explain any additional functionality you could need.

Sorry that question was really directed toward @rraymondgh. He opened a feature request in that library, I assume for this implementation. I'm happy to expose or explain any additional functionality you could need.

Thanks for responding to that feature request.  There are a few reasons I switched from starr to resty

end points that I'm using not being present,  however this is not primary reason.  Have also identified /indexer/bulk
a very minor point,  would need to use githash versioning as don't want to use latest
taking IndexerResource as an example structure.   I'm looking for a common definition across prowlarr, sonarr and radarr.  I see the /indexer endpoint across the apps as being the same.  The differences can be fully ignored (just not defined in the struct)

Taking third point - this then allows functional code that implements download capability that is 100% common across arrs.  There is no need to do any type coalescence between radarr.IndexerOutput, sonarr.IndexerOutput and prowlarr.IndexerOutput.  Plus no need to implement interfaces that use almost identical functions for each of the apps
I did experiment with generics before refactoring code to use resty  I just could not get it to work.   This reasoning is maybe flawed - I'm new to go,  the type strict approach is great.  Possibly I'm just not seeing how to deal with heterogeneous structs that have very large overlap in an effective way.

I'm going to move this conversation here so I don't keep clogging up your PR discussion. https://github.com/golift/starr/issues/162

I'd be happy in principle for it to be used. I haven't had an in-depth look at the code yet so I can't give a view on @rraymondgh 's reasons for not using it. It is likely that we'll need a fraction of the functionality available in the API's, and it can be preferable to have full control over a custom implementations of just the bits we need. I've ended up going in that direction with the TMDB integration for example. It probably depends if the Starr libs are extensible in the ways we'd need them to be (and I can't answer that without looking into it properly). In the case of TMDB we needed things like rate limiting, API key validation and retry logic that just couldn't be done nicely with the main TMDB client library for Go.

I have refactored to use starr on another branch.   Would appreciate your thoughts on which approach you prefer resty or starr
https://github.com/rraymondgh/bitmagnet/tree/starr_client_download/internal/servarr

removed overlap interface.go  structs that are defined in starr
have extended an interface so overall control release.go just call functions on interface that then uses implementations in prowlarr.go, sonarr.go and radarr.go
@davidnewhall has been very active in extending starr to support endpoints being used and would cut a release so that bitmagnet is using a x.y.z version of starr
a minor downside - to get a standard definition of Indexer and Release there is recasting of structures (contained in recast.go).

Completely revamped to use new docker container.  Example docker compose
services:
  arr-services:
    container_name: arr-services
    image: ghcr.io/rraymondgh/arr-interfaces:latest
    volumes:
      - ${HOME}/.config:/config
    restart: unless-stopped
    environment:
      - XDG_CONFIG_HOME=/config
    ports:
      - "3335:3335"
    command:
      - worker
      - run
      - --all

Have created a new graphql query, ** TorrentContentByID** to enable fast query for getting content type and other attributes of an info_hash.
Have added rover to nix environment.  Have added genqclient to tools.  These together allow for integrating with arr-services graphql interface in container
there are now two first class download clients: qbittorrent and transmission other clients will be supported through the sonarr / radarr / prowlarr but will do search before grab


Refactor RedisConnection and RedisPipeline into protocols.

Motivation:
The goal of this commit is to make it easier for library users to implement their own types for creating connections and pipelines without losing all of the convenience command extensions.
This also splits executing commands from the concept of a "connection" to make it more swifty in RedisPipeline.

@tanner0101 Do you have any thoughts on any of the changes in this PR?

@tanner0101 My mindset for the architecture is a bit like NIO right now - tons of fundamental protocols with default implementations with the goal of further users not really working with concrete types (while still allowing other framework developers to replace the ones provided).
Perhaps I'm going a bit too far - and you're right that NIORedisConnection just goes back to being merged with RedisConnection

Perhaps I'm going a bit too far - and you're right that NIORedisConnection just goes back to being merged with RedisConnection

I think when it comes to protocolizing there just needs to be a strong use case. For RedisCommandExecutor, the use case is being able to conform ConnectionPool, Connection, DummyTestRedis, etc, to this protocol and get all of the helpers for free. Users of Redis can have all their code depend on RedisCommandExecutor without worry what specific type is actually implementing it. Strong use case IMO.
For RedisConnection, I can't really think of a reason why you'd want anything besides the actual connection. But again I could be missing a use case. At the end of the day though, I think protocolizing things retroactively is really not too bad. So if we're a bit more conservative a the beginning, then end up needing RedisConnection as a protocol later, that's straightforward to do.
One other thing, given that RedisCommandExecutor is going to be one of the (if not the) most prevalent types, maybe we should have a more concise name for it? I really like RedisDatabase for this I think.
final class FooController {
    let redis: RedisDatabase
    init(redis: RedisDatabase) {
        self.redis = redis
    }
    func foo(_ req: HTTPRequest) -> EventLoopFuture<String> {
        return self.redis.get("foo")
    }
}

let conn = RedisConnection.connect(...).wait()
let controller = FooController(redis: conn)


Update Windows auth doc to 2.0

Fixes https://github.com/aspnet/Docs/issues/4530
Internal Review Page

@Tratcher Do you think we should provide a code snippet demonstrating WindowsIdentity.RunImpersonated? If so, do you have such a snippet handy?

Sure. There's a sample on MSDN: https://msdn.microsoft.com/en-us/library/dn906220(v=vs.110).aspx. You'll have to downcast to a WindowsIdentity to get the AccessToken.

@Tratcher Added a simple RunImpersonated code snippet. Does this look okay?

@Tratcher This is ready for one last look.


Declarative configuration card UI tests

Description
Tests to cover https://github.com/stackrox/stackrox/pull/5773
Checklist

[ ] Investigated and inspected CI test results
[x] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed

CI is sufficient

/test gke-ui-e2e-tests
/test gke-postgres-ui-e2e-tests


[AppService] az functionapp create: Do not throw exception if endOfLifeDate not passed from stacks API

Related command
az functionapp create
Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

AppService

/azp run

Please note that Azure CLI team only takes responsible for code style and specification but not business logic. It is better to involve one service team member to review this PR as well.

Please note that we will freeze the code on 06/25/2024 10:00 UTC for the upcoming release. If you want to catch the release train, please resolve the comments as soon as possible, otherwise we have to postpone this PR to the next sprint (08-06).


Unable to compile PHP 7.2 using Visual Studio 2017

I followed the steps outlined in Basic usage example, trying to compile PHP. I have Visual Studio 2017 (v15.0) installed, and I've used Developer Prompt to run the starter batch (tested with both phpsdk-vc15-x86 and phpsdk-vc15-x64).
When I ran configure I saw PHP Version: 7.3.0-dev, which is not what I want.
Therefore, I downloaded php-7.2.0-beta1-src.zip today and simply tried phpsdk_deps -u.
The SDK was downloaded into deps, but when trying the last step buildconf && configure --enable-cli && nmake, I have the same issue as described in http://news.php.net/php.pecl.dev/11459.
 /I main /I Zend /I TSRM /I ext /D _WINDOWS /D WINDOWS=1 /D ZEND_WIN32=1 /D PHP_WIN32=1 /D WIN32 /D _MBCS /W3 /D _USE_MATH_DEFINES /FD /wd4996 /D_USE_32BIT_TIME_T=1 /guard:cf /Zc:inline /MP /LD /MD /W3 /Ox /D NDebug /D NDEBUG /D ZEND_WIN32_FORCE_INLINE /GF /D ZEND_DEBUG=0 /I "C:\php-sdk\bin\phpmaster\vc15\x86\deps\include" /D FD_SETSIZE=256 /FoC:\php-sdk\bin\phpmaster\vc15\x86\php-7.2.0-beta1-src\Release\Zend\ /FpC:\php-sdk\bin\phpmaster\vc15\x86\php-7.2.0-beta1-src\Release\Zend\ /FRC:\php-sdk\bin\phpmaster\vc15\x86\php-7.2.0-beta1-src\Release\Zend\ /FdC:\php-sdk\bin\phpmaster\vc15\x86\php-7.2.0-beta1-src\Release\Zend\ /D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 /c Zend\zend.c Zend\zend_API.c Zend\zend_alloc.c Zend\zend_ast.c Zend\zend_builtin_functions.c Zend\zend_closures.c Zend\zend_compile.c Zend\zend_constants.c Zend\zend_default_classes.c Zend\zend_exceptions.c Zend\zend_execute.c Zend\zend_execute_API.c Zend\zend_extensions.c Zend\zend_float.c Zend\zend_gc.c Zend\zend_generators.c Zend\zend_hash.c Zend\zend_highlight.c Zend\zend_inheritance.c Zend\zend_ini.c Zend\zend_ini_parser.c Zend\zend_ini_scanner.c Zend\zend_interfaces.c Zend\zend_iterators.c Zend\zend_language_parser.c Zend\zend_language_scanner.c Zend\zend_list.c Zend\zend_llist.c Zend\zend_multibyte.c Zend\zend_object_handlers.c Zend\zend_objects.c Zend\zend_objects_API.c Zend\zend_opcode.c Zend\zend_operators.c Zend\zend_ptr_stack.c Zend\zend_smart_str.c Zend\zend_sort.c Zend\zend_sprintf.c Zend\zend_stack.c Zend\zend_stream.c Zend\zend_string.c Zend\zend_strtod.c Zend\zend_ts_hash.c Zend\zend_variables.c Zend\zend_virtual_cwd.c Zend\zend_vm_opcodes.c
zend.c
zend_API.c
zend_alloc.c
zend_ast.c
zend_builtin_functions.c
zend_closures.c
zend_compile.c
zend_constants.c
Zend\zend_compile.c(23): fatal error C1083: Cannot open include file: 'zend_language_parser.h': No such file or directory
zend_default_classes.c
Zend\zend_ast.c(25): fatal error C1083: Cannot open include file: 'zend_language_parser.h': No such file or directory
zend_exceptions.c
zend_execute.c
zend_execute_API.c
zend_extensions.c
...

I also did the followings:
where bison.exe
this returns c:\php-sdk\msys2\usr\bin\bison.exe
but when I ran bison.exe against Zend\zend_language_parser.y I got the following error
c:\php-sdk\phpmaster\vc15\x86\php-src\Zend\zend_language_parser.y: fatal error: invalid @ in skeleton: @
I also have Visual Studio 2015 installed in the same PC, and I never had problems with php 7.0.* or php 7.1.* using Visual Studio native prompts
Forgot to mention that I did try version 2.0.0, 2.0.7 and the latest (2.0.8-dev) in this step:
git checkout php-sdk-2.0.0 or later

Thanks for the report.
To use the versions from git, just checkout the corresponding branch or tag.
The bison issue is likely caused by the erroneous environment. Please check also the pitfalls section in the readme, especially the presence of Cygwin, MingW, etc. Unfortunately there's no clarity about this bug yet, despite it seems to be also have shown up in the old SDK, as the ML link witnesses. It is currently not reproducible on clean environments and with Appveyor, fe https://ci.appveyor.com/project/php/php-src/build/master.build.2697/job/lgdjglnto6fch2e1#L493.
Thanks.

@yitam i've an idea how you can debug this. Please fetch procmon and set a filter to see anything related to bison.exe. In particular of the interest are all the file related calls, like paths where dependents are loaded from, or the skeleton path. Some registry keys or env vars might affect these behaviors, too.
Thanks.

Thanks @weltling for your prompt reply and suggestions. I'll try this in a clean vm today.
So this sounds like we can't compile both PHP 7.1 and PHP 7.2 in the same environment even though Visual Studio 15 and 17 could coexist? Or have I misunderstood?

Hi @weltling
For some reason I could not get procmon to find bison info, so I resorted to using a clean vm. Good news is that I can successfully compile PHP 7.2 and the extensions. I still prefer to figure what's wrong in my current environment. But anyway, thanks for your help.

I have the same problem on my machine with only VS2017 installed. I can compile PHP 7.0 with the old SDK + VS2017 without a problem, but with this version I have this problem.

@yitam thanks for the update. Yeah, if bison isn't invoked, that makes the thing even more unclear. I kinda expected a new VM with only dedicated things on it to do the job.
@dktapps unfortunately this issue is not reproduceable neither on build hosts, nor on AppVeyor, etc. It has to be something on the given environment that causes it, without having the environment it's just shooting in the sky. Were you up to debug what bison does when you nmake? The issue is long standing, so any additional information is valuable.
Thanks.

@weltling I'm not sure how to debug what bison is up to, but I noticed today that if I download a zip of the SDK from releases, that works perfectly, but a git clone has problems.
I believe this is something to do with the line endings. The release archives have LF line endings, but the git repo seems to have CRLF, which appears to be causing problems with the binary tools. Maybe consider adding a .gitattributes?

Indeed the only difference between my git clone and the release archive I download from github is the line endings. I'm almost 100% sure this is the problem.

@dktapps to debug what bison does, an option could be checking the system calls it does in procmon.
With EOLs, yeah - I was mentioning that else where as well, but unfortunately had no feedback. LF in the only sensible options, especially it for sure can affect bison as it depends on the skeletons. I couldn't think we could control that behavior from within the repository. Would it be not overridden by the global ~/.gitconfig still? I'd happily merge a patch, if you got one that solves it on your side.
Thanks.

The gitconfig core.autocrlf causes this problem when set to true. The referenced PR adds a gitattributes to override this behaviour.

@dktapps looks like we're now a step forward towards a solution, thanks for the PR! I've also extended the pitfalls section in the readme and added some more files.
@yitam could you please check the current master on the environment reproducing the issues?
Thanks!

@weltling
I confirm it fixes the issue we discussed in previous week. Currently new SDK does work for us as expected 👍

Kudos to you both @dktapps and @weltling :)
I'll definitely give this a try and get back to you... however, just wondering, why did it work in a clean vm before this PR fix?

@yitam check your gitconfig, automatic line ending conversion won't happen if core.autocrlf is set to false.

Looks like we're done here :) 2.0.9 is tagged. Grateful thanks everyone involved, especially @dktapps for the investigation and the patch!


[Feature] Adding Device measurements

What does PR do?
Updates the Events collection and the corresponding API endpoint for adding time series data of a device.
In the effort of having an open platform, each organisation's data is stories

How do I test out this PR?

For MAC:

cd AirQo-api/src/device-registry
npm install
npm run dev-mac

For PC:

cd AirQo-api/src/device-registry
npm install
npm run dev-pc

Alternatively:

You can use Docker to test out.

What endpoints are ready for testing?
Base URL:  http://localhost:3000/
Partial URL[POST]:  api/v1/devices/components/add/values
More details are in the API documentation

Works as shown in the api documentation. However, I need more explanation on the inputs and outputs of this endpoint and its use before I can approve.

This endpoint is for adding sensor readings (can be PM, Humidity, Temperature, etc) for a component of a device.
So the inputs are:

device name (as a query in the URL)
component name (in the request body)
readings of the component/sensor  (in the request body)
timestamp of reading  (in the request body)

See REST client screenshot for more details:

Endpoint seems to work perfectly however, not sure how the values added to which device they belong because it's not specified anywhere in the request data. not sure whether it randomly assigns which device this data belongs to.

Good observation!
Just updated the documentation - the partial URL requires one to add the device name as a query item - see screenshot below.
I also think that we need to cover more edge cases for this so that the device name is first looked up before proceeding with the operations, let me review asap....

Endpoint seems to work perfectly however, not sure how the values added to which device they belong because it's not specified anywhere in the request data. not sure whether it randomly assigns which device this data belongs to.

This has been addressed, thanks for the review. Please checkout the 2 screenshots below:
======Screenshot 1 (input validation)==========

======Screenshot 2 (response with correct input):=======

Endpoint seems to work perfectly however, not sure how the values added to which device they belong because it's not specified anywhere in the request data. not sure whether it randomly assigns which device this data belongs to.

This has been addressed, thanks for the review. Please checkout the 2 screenshots below:
======Screenshot 1 (input validation)==========

======Screenshot 2 (response with correct input):=======

Hi @sserurich :
Just remaining with your review for us to finalise with this PR...

after thorough examination of this api, here are some few things that might need to be updated: the component name, we need to know which component the values are being added to.. currently you only specify the component name which doesn't explicitly tell which component values belong to.. and also if same device name is called more than once, the old data is overridden. If you try to specify the component name in the request body, it doesn't come up in the response.

Also we have a challenge, the components we're adding values to as you see in image below, the quantities being measured are not specified while adding values for the component e.g the pms5003 component has two quantities for pm2.5 & pm10, those are not reflected in the api for adding values, mapping readings from thingspeak to this becomes challenging.

Cool, thanks for the review. Let me address this asap...

This has been addressed. To test, please test using the staging environment since it already has the device data. Let me also update the API documentation shortly.
Please check out the screenshots below:

=====================================

after thorough examination of this api, here are some few things that might need to be updated: the component name, we need to know which component the values are being added to.. currently you only specify the component name which doesn't explicitly tell which component values belong to.. and also if same device name is called more than once, the old data is overridden. If you try to specify the component name in the request body, it doesn't come up in the response.

Also we have a challenge, the components we're adding values to as you see in image below, the quantities being measured are not specified while adding values for the component e.g the pms5003 component has two quantities for pm2.5 & pm10, those are not reflected in the api for adding values, mapping readings from thingspeak to this becomes challenging.


SDRAM source included and compiling, not connected

I think this is the type of content that should belong to a neorv32-examples repository, where neorv32 is submoduled.

Hi! I saw the "wishbone" thread and seams good idea, but I couldn't understand where should be located this "neorv32-example" directory, shall be inside "/setups/osflow"?

That would be a completely new GitHub repository at https://github.com/stnolting/neorv32-examples

That would be a completely new GitHub repository at https://github.com/stnolting/neorv32-examples

Ahh... Well, is just an opinion, as long as we are speaking of something that important for a processor like a par of its memory, I would keep close to it, maybe different directory, because is a specific part and hardware dependent, but accessible. Anyway is just an opinion and I just arrived, then, if you decide to move to another repo, lets move it!
But please, please, please, don't call the repo "examples" because is not an example, for me is another step for try to make a functional core able to run a modern OS (I was thinking for next task how implement a MCU with virtual memory, but maybe is too big for me, I don't know). We can call it "extras" or "flavors" of "plugins" or "hardware_bindings". No?

Ahh... Well, is just an opinion, as long as we are speaking of something that important for a processor like a part of its memory,

Strictly, NEORV32 does not need this memory. It can already be used on multiple boards, including ULX3S, without this specific memory setup. I don't mean it is not an interesting use case; because I agree it is nice to have it close to NEORV32 and to other examples. However, it is not as important as critical for this processor.

I would keep close to it, maybe different directory, because is a specific part and hardware dependent, but accessible. Anyway is just an opinion and I just arrived, then, if you decide to move to another repo, lets move it!

From your or any other user's point of view, it would be almost the same. Instead of cloning repo neorv32, you'd clone neorv32-examples. There, you would get the neorv32 subdir, plus all the extras. Moreover, I believe it would be easier to understand for newcomers, because internal/testing resources of neorv32 would be explicitly located in a subdir, different from the "ready to be used" resources.
The complexity is slightly increased for maintainers/contributors/developers only. Particularly, we need to think/solve how to handle CI split across repos.

But please, please, please, don't call the repo "examples" because is not an example, for me is another step for try to make a functional core able to run a modern OS (I was thinking for next task how implement a MCU with virtual memory, but maybe is too big for me, I don't know). We can call it "extras" or "flavors" of "plugins" or "hardware_bindings". No?

Strictly, running a modern OS with an external RAM and maybe virtual memory is out of scope of NEORV32. It can be done, and it is interesting to have a working example of such solution, but it is far beyond PicoBlaze, MicroBlaze or Cortex-M0 to Cortex-M3, which are the designs that NEORV32 roughly compares to. See:

https://stnolting.github.io/neorv32/#_rationale
Why a soft-core processor?
[...] allow to implement the control flow part of certain applications (like communication protocol handling) using software like plain C.
Yet another RISC-V core? What makes it special?
[..] The project does not intend to replace certain RISC-V cores or just beat existing ones like VexRISC in terms of performance or SERV in terms of size.

The use case you are pursuing is closer to VexRiscv. Still, as said, I believe it is interesting to have use cases pushing NEORV32 in that direction through external peripherals.
I don't have an strong opinion about the name of the "complementary" repo. neorv32-extras, neorv32-bundle, neorv32-setups... all of those sound good. I will reply in #189 to discuss that more thoroughly. Nonetheless, we don't need to forget the scope. We are providing demos or examples of how things can be done. We are not providing a product to be relied on without proper understanding. So, anyone willing to use the setups for anything other than playing around, should approach them as toy examples and devote time to understand the codebase as if they had written it themselves. Using "examples" makes it explicit, along with being slightly more friendly to newcomers. I believe it is better to have "advanced examples" rather than "simple setups". Anyway, as said, I'm good with using extras, bundle, setups...

@umarcor
Thanks for the wrap-up! I totally agree! :)
Regarding the OS thing:
The NEORV32 is not intended to run desktop Linux-like OS. The CPU lack the mandatory supervisor mode and the SoC lacks a memory management unit. You could emulate all of that in software - no question - but that would not be a performant setup.
If you need a capable OS - then how about an RTOS? The processor can run FreeRTOS and recently got upstream support by Zephyr OS :wink:

If you need a capable OS - then how about an RTOS? The processor can run FreeRTOS and recently got upstream support by Zephyr OS 😉

I think this is very relevant. Unlike the ARM hard cores in several FPGAs/SoCs, or many of the soft SoCs seen tested on boards with ECP5 devices, NEORV32 is not suited for a Linux kernel. It is for bare metal, micropython (or similar approaches in golang/rust), RTOS such as Zephyr, etc. Nonetheless, supporting external DDR memory through a wishbone interface is interesting regardless of the software. RTL designs needing to process losts of video/audio in real-time do also need DDR memory for buffering data.

Hello,
I have changed a little the SDRAM controller from nullobject and added the byteenable
functionality. Furthermore there is now a Wishbone wrapper for it. I tested this on a DE0-nano
board with the neorv32, of course. The memory area of the SDRAM is available from 0x90000000.
The first coding of the addresses is done in the wb_intercon. From the 32 bits, only 28 bits are passed on.
Furthermore, the wbs_stb signal for the slave is only generated if the range 0x90000000 to 0x9FFFFFFF is
accessed.
I hope that the attachment of the files also worked.
Best regards,
Michael
sdram.vhd.txt
wb_intercon.vhd.txt
wb_sdram.vhd.txt

Complete examples for accessing an SDRAM, directly or via Qsys, can now be found here for a DE0-Nano board:
https://github.com/emb4fun/neorv32-examples

Hello @emb4fun !! Sorry I reply you that late. Last two weeks, in my free time,  I was focus in other project, and even didn't login in Github.
Thanks a lot for the code, I am going a see it deeply tomorrow! Also I had a fast look of your repo and is very interesting!
I will create tomorrow a repo for the ULX3S complex setup, don't be offended if instead pushing code in your repo I create another one, is because I use the opensource toolchain, who have different structure from the Altera Suite, that you use. But with pleasure we still sharing ideas and code!
I was a bit demotivated with the SDRAM topic, but you gave me motivation.


Swiftlint

I'd be cool to add Swiftlint and it's very easy to install.
I already fixed all the Swiftlint warnings for AutoCompleteTextField, so It's all about installing and then I can make a pull request 😄

Swiftlint is only to verify the mistakes of the coder when initializing objects right? I don't think we need this, but let me have some of your thoughts of why we are needing this. Thanks!

Swiftlint helps in following the Swift Guidelines. I fixed about 20 erros in AutoCompleteTextField, most of them being in CGRectMake(), that has to be CGRect(x:,y:,:width:,height:), }else{ that had to be } else {, CGRectZero that had to be CGRect.zero.
I always add Swiftlint to all my projects and it's soooo useful. I really love it!

Ah yes. Those part was actually an Obj-C type initialization. I have issues with compiler before when it was xcode 6.0 it was having too many sourcekit errors. I will keep this in mind thanks! I think let's decide this one later whether  really need it or not. I'll be updating this tomorrow night around this time when I'm in my workstation.  :)

@lfarah okay updated. All are conforming to swift syntax and there should be no more ObjC syntax traces. 👍


Improve node incompatibility warnings

[!NOTE]
Incoming from the forum:

https://forum.fuel.network/t/fuels-typescript-sdk-error/5266

We do have checks in place, but we call fetchChain before the check occur.
A possible solution would be to make an additional request only for the node's version before the rest.
It requires some consideration. Also, we'd need to cache this result to avoid unnecessary requests.

I'm not sure if it makes sense anymore to do this now that fuel-core releases are backwards compatible and errors such as the one reported in the linked forum post shouldn't be happening anymore. This would mean an additional request towards the network whenever a Provider.create call is done for the first time and I don't think it's worth it. @FuelLabs/sdk-ts

Makes sense — priority decreased.

We should keep it because things like the [graphql] API can change and break stuff.
Better have a warning to be safe.


HTML Report: Filtering and other nice things.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
This pull request makes a number of improvements to the HTML output. "Improvements" is subjective though, so I've left the commits unsquashed so you can see the thought process, recommend changes, or reject commits that aren't appropriate.
The goal was to make the HTML output more usable. It does this in the following ways:

Filters! Using DataTables' SearchPanes we can allow users to narrow down the table to, for example, everything that failed in IAM rated Medium or above. Or to all the issues in us-east-1. Huge improvement!
Totals! SearchPanes can also show us running totals based on what we've selected. This can help us determine what areas might need to be focussed on.
Removed the status icon to save room. As there is a textual PASS/INFO/FAIL column and colour coding, we don't need an icon taking up room.
Replaced documentation links with the 'standard' external link icon using FontAwesome. Again, a space saver.
Fixed a bug (?) where pages were ordering by seemingly random columns.

To achieve this I also tidied up some code duplication and rejigged the javascript.
No new dependencies were introduced (except a native DataTables extension).
Before

Note the weird ordering, the table running off the page. (And scoring information not showing up - I don't think I broke that).
After
No filters applied, showing all totals.

With filters applied, showing filtered total and overall totals.

Note that in this case I'm running it against a single AWS account. If there were multiple, SearchPanes would be smart enough to dynamically add a pane to let users show only certain accounts. Panes are also dynamically responsive to page width.
Next Steps
If you'd like I can sanitise and upload a copy of the new report, but I figured reviewers might want to run it locally themselves.
As I said earlier, feel free to comment on individual commits.
Todo:

Assuming this is all good, I spotted that generate-html-from-csv.sh will need to be updated. It already looks like it's missing some changes - scoring in the header, risk, remediation, and documentation links in the rows.
For some reason, even running off your master branch, the scoring information in the top right didn't appear to work. I don't think it's a bug I introduced...

Nice @nickmalcolm !
I'm gonna take a look soon!
Regarding this:

For some reason, even running off your master branch, the scoring information in the top right didn't appear to work. I don't think it's a bug I introduced...

Take a look at this issue -> https://github.com/toniblyx/prowler/issues/815

Awesome, I love these kind of PR :D

I don't think we are, but please do double check. I've cleaned up duplicate dependencies.
Popper is included in bootstrap bundle. And you choose either bootstrap bundle, OR bootstrap. Not both. https://getbootstrap.com/docs/4.0/getting-started/contents/#js-files

I don't think we are, but please do double check. I've cleaned up duplicate dependencies.
Popper is included in bootstrap bundle. And you choose either bootstrap bundle, OR bootstrap. Not both. https://getbootstrap.com/docs/4.0/getting-started/contents/#js-files

That might be it! Thanks!

Thank you both! I´m merging it to devel branch 2.5. Remember I had already   echo '  <td>'$CHECK_RESOURCE_ID'</td>' >> ${OUTPUT_FILE_NAME}.$EXTENSION_HTML in that file in 2.5 so I have left that parameter too.

@nickmalcolm look at this screenshot, severity and service is getting the ascii characters of the new implementation in 2.5, I guess you haven't played with it yet.

Ah, I hadn't seen that. Good spotting! I'll look in to it tonight and create a PR against the 2.5 branch.

@toniblyx I checked out 1229815c04909cfd55cbd529ed5dbc903e90d175 which represents branch 2.5 before my changes were merged in. Running prowler gives output as shown in the screenshot below. The HTML output contains those ASCII characters already. So, in the changes this PR introduced, SearchPanes is just taking the content directly from the table cells.
Is the table content supposed to look different to this?

I'm happy to fix up anything that I might have broken, I just need to understand what that was 😅

Sorry, I didn't explain that properly. I added a couple of changes in 2.5 to those columns header. I need to review it in detail to remove this characters.


Hold shift to prevent falling down from a block

Now when flying is disabled I realized the need for a function I was missing from Minecraft, the ability to hold down shift to prevent the character from falling of a block edge. This do not necessity need to be the shift key, but, it's a convenient and well known key so I think we use that as well :)

I have implemented this in #182. I have noticed that in most other games the player is allowed to hang outside of the block both normally and in sneak mode, allowing to build blocks below yourselves when standing on an edge. This has not been implemented. Maybe we should open a new issue regarding this?

@petterarvidsson possible, I think we consider this one closed and if we feel the need to implement that functionality we will open a new issue like you suggested.


Address missing license

Many other places are missing. This should be address automatically or maybe add a unit test to detect missing places.

I can add a check. Thanks!

Can be replaced with https://github.com/microsoft/onnxscript/pull/1589


Menu Component/XCharts/Check For Update can't be checked because doesn't exist

用了最新版的版本，经常报下面的错误
Menu Component/XCharts/Check For Update can't be checked because doesn't exist

unity具体版本发一下

unity具体版本发一下

2018.1.0f2

已处理。


Build macros as executables by default

This just flips the feature flag.

@swift-ci please smoke test


Can't create a new draft in v2.19.0

Link to reproduction
https://github.com/wkentdag/payload-draft-test/commit/6dc361458e2e29f6f271dd41427b3c06d74a4068
Describe the Bug
When creating a new versioned document in v2.19.0, the "save draft" button stays disabled until you hit "publish", effectively preventing users from creating a new draft document.
Before (v2.18.3):
https://github.com/payloadcms/payload/assets/3254957/91332a41-5a5e-4a3d-83a9-5e12444515d3
After (v2.19.0):
https://github.com/payloadcms/payload/assets/3254957/7df3ab7f-11e1-4503-b7d3-1bb4c7c86f87
To Reproduce
To repro, just run npx create-payload-app, add a versioned collection, and try to create a draft in the admin panel.
You can check out my repo where I successively update the deps and narrow in on<EMAIL_ADDRESS>as the culprit.
import { CollectionConfig } from "payload/types";

const Posts: CollectionConfig = {
  slug: "posts",
  versions: {
    drafts: true,
  },
  admin: {
    useAsTitle: "title",
  },
  fields: [
    {
      name: "title",
      type: "text",
    },
  ],
};

export default Posts;

Payload Version
2.19.0
Adapters and Plugins
No response

I think this change needs to get reverted: https://github.com/payloadcms/payload/commit/8f03cd7c789eda7613ddced0d45a32afe49b1e01#diff-b7c978f47b1f3beff95c78ad95078e600624cbcd7ac10f9378cc4ad6803db244L75-R79

@denolfe @JessChowdhury this regression breaks our workflow for content editor. I see there's a https://github.com/payloadcms/payload/pull/6672 PR waiting for approval, is there any due to date on this, it looks minor, and we don't want to downgrade Payload version? Highly appreciated.

Great, thanks!


FLO-123 Update README.md

This PR's title doesn't match our requirement.
Please make sure your title includes the corresponding Jira id.
@juntao, please update it.

Thank you for raising a PR! We will review it shortly!


Generic Swaps using Templates

Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #271
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

Please Review

@agamgupta2015 please place it inside data structure folder

@agamgupta2015 do u use any text editor??

no only notepad

labels are also not assign to my program

@agamgupta2015 Please place it in Data Structurs Folder

That what i am asking please tell me how to do it now


Conflicting advice

Issue in ./help/c-activities/automated-traffic-allocation/automated-traffic-allocation.md
Issue in ./help/c-activities/t-test-ab/sample-size-determination.md
This page says to not use the calculator which is the opposite of the calculator page
Calculator page:
https://docs.adobe.com/help/en/target/using/activities/abtest/sample-size-determination.html
See this paragraph:
Target Sample Size Calculator: If you choose to use a manual A/B test rather than Auto-Allocate, the Target Sample Size Calculator helps you determine the sample size needed for a successful test. Continue reading for more information about how to use the calculator.
As opposed to:
https://docs.adobe.com/content/help/en/target/using/activities/auto-allocate/automated-traffic-allocation.html
Can I use the sample size calculator when using Auto-Allocate to estimate how long the activity will take to identify the winner?
You can use the existing sample size calculator with Bonferroni correction appropriately applied to get an estimate of how long the test will run. In our experiments, we’ve seen the Auto-Allocate activity end much sooner than this sample size.

Updated both files:
https://docs.adobe.com/content/help/en/target/using/activities/abtest/sample-size-determination.html
https://docs.adobe.com/content/help/en/target/using/activities/auto-allocate/automated-traffic-allocation.html


LOGROTATE_INTERVAL=hourly rotates on a daily basis

I have the fallowing docker compose that is launched within a docker swarm. The rotation interval is set to hourly, but the logs are rotated daily.
version: '3.3'

services:
  log-roate:
    image: blacklabelops/logrotate
    environment:
      - LOGS_DIRECTORIES=/var/lib/docker/containers
      - LOGROTATE_COPIES=100
      - LOGROTATE_COMPRESSION=compress
      - LOGROTATE_INTERVAL=hourly
      - LOGROTATE_DATEFORMAT=-%Y-%m-%d-%s
    volumes:
      - type: bind
        source: /var/lib/docker/containers
        target: /var/lib/docker/containers
    deploy:
      mode: global

Same to me, the log shows that it is setting cron job as 1 0 0 * * * which is daily.

Setting LOGROTATE_INTERVAL does not have any influence on the cron schedule. Bug, will be fixed shortly!

Okay it's actually no bug but configuration issue. You have to adjust cron schedule and interval. For example: If you cron schedule is set to "every hour" but your interval is daily then logrotate will be executed every hour but does only rotate if your log file is older than one day (since last rotation).
Your cron schedule must at least match the interval. In your case just add the environment variable LOGROTATE_CRONSCHEDULE with a matching schedule.
Example:
LOGROTATE_INTERVAL=daily
LOGROTATE_CRONSCHEDULE=@daily

or
LOGROTATE_INTERVAL=hourly
LOGROTATE_CRONSCHEDULE=@hourly

LOGROTATE_INTERVAL now automatically adjusts cronschedule. Setting both cron and interval is not required anymore.


No license declared

There's no license text present in this repo, nor does the PyPI metadata declare any license. Is this project supposed to be under Apache 2.0 like all the other Google Fonts projects? Could you please add the missing license text and PyPI classifier?

@danc86 thanks for pointing this out, its Apache indeed. I've added the files needed :)


feat(ci): add postinstall override

Current dependencies on/for this PR:

main

PR #88

PR #89   👈

This comment was auto-generated by Graphite.

@MickVanDuijn queued this pull request to merge with Graphite.

Graphite rebased this pull request as part of a merge.

@MickVanDuijn merged this pull request with Graphite.


Set up API access infrastructure (HTTP client)

Jira Description
API access infrastructure (HTTP client wiring)
Microsoft has made some improvements to the .NET HTTP client but for performance reasons, it is recommended to make it a singleton instance.
As part of this ticket, we need to research this a bit for updated knowledge and implement a pattern for calling an API endpoint.
(phase 2)
*Acceptance:
Correct instance is available on Razor pages so that they can use it to call API endpoints. It also needs to have at least one passing and one failing test.
Jira Metadata
Key: LP-18
Epic: n/a
Created: 2020-11-15T14:22:43.000-0600
Reporter: Ashley Toscano

Jira Comment
It is covered by LP-24. Please close this ticket.
Jira Metadata
Created: 2020-11-20T14:00:23.133-0600
Commenter: Yogiraj Aradhye