Allow the user to define an Orbit in any reference frame

🐞 Problem
As has been pointed out many times, it's unclear which reference frame is poliastro using for Orbit objects, and the answer is that it's implicitly assuming an inertial reference frame centered in the attractor (otherwise propagate wouldn't work).
🎯 Goal
The use of reference frames in poliastro should be more explicit and configurable. Reference frame transformations are needed all the time, and now poliastro does not make things easy on this front.
💡 Possible solutions
See https://github.com/poliastro/poliastro/wiki/Orbits-and-reference-frames for further explanation and ideas.
📋  Steps to solve the problem

Comment below about what you've started working on.
Add, commit, push your changes
Submit a pull request and add this in comments - Addresses #<put issue number here>
Ask for a review in comments section of pull request
Celebrate your contribution to this project 🎉

Perhaps I don't really need to define all the frames before I implement this.  So I will probably proceed like this:

Add the ability to use reference frames labeled as "experimental" in 0.11,
Add the rest of the frames and consolidate the API in 0.12

Also notice that I already requested in Astropy to have these kind of frames, see https://github.com/astropy/astropy/issues/5898.

On second thought, not adding the frames might be more difficult than adding them.

I tried to implement frames parallel to ICRS centered in other bodies, but I was stopped by #7770.

Although we started working on this in #439, the real API for defining an Orbit in any frame will have to wait for the next release. At least, the question "which frame does this use" should be settled.

Hi.. I am interested in looking into this.

Hi @hrishikeshgoyal, thanks for your interest! All the information is in the wiki and the issue itself. Where do you plan to start?

Hi @Juanlu001, I am new to astrodynamics.. so first exploring some related concepts.. Is there a prescribed book, blog and/or website which can help me in wrap up this?

You can follow a book titled "Orbital Mechanics for Engineering Students"

Closed in #554!


CMS Menu is only attached in "Draft" mode

I'm experiencing a strange issue with a CMSAttachMenu - the nodes will only attach when the page is viewed in "draft" mode. I'm using Python 3.4, Django 1.7.
Page Settings:

"Service" model change list demonstrating that there are "service" instances present. The is_published field is not being used to limit nodes that are added:

Page in "live" mode. Notice there are no navigation nodes added to the "Additional Services" page:

Page in "draft" mode. Now the navigation nodes are attached:

Terminal output showing navigation node instances:

My menu class is as follows. I have hard-coded the url parameter for testing:
from cms.menu_bases import CMSAttachMenu
from menus.base import NavigationNode
from menus.menu_pool import menu_pool

from .models import Service

class ServicesMenu(CMSAttachMenu):
    name = 'Services Menu'

    def get_nodes(self, request):
        nodes = []
        services = Service.objects.all()
        for service in services:
            node = NavigationNode(service.title, '/', service.id)
            nodes.append(node)
        return nodes

menu_pool.register_menu(ServicesMenu)

What am I doing wrong?

I'm seeing this issue too. I'm only seeing my attached menu in Draft mode.  I'm going to try to publish different ways to see if I can get it to publish.  (The pages that I'm editing has a lot of content, so I don't really want to re-create it)

Looks like I had to publish the page that the menu was attached, and not the subpages ... which is obvious, but less so when the page that the menu is attached had a cms redirect set and is not browseable by the end user.  Visiting the page while already in edit mode, and then publishing did the trick.  Just mentioning in case anyone else encounters this.


fix-2024-migrate-error

Types of changes
Please put an x in the box that applies

[ x] Bugfix
[ ] New feature
[ ] Refactoring
[ ] Breaking change (any change that would cause existing functionality to not work as expected)
[ ] Documentation Update
[ ] Other (please describe)

Description
Describe what the change is
While 2024-migrate on staging worked well after $docker-compose up -d --build, the main branch master did not after origin/2024-migrate was merged.
It caused 502 error after built:

It was caused by the difference between origin/2024-migrate and staging/2024-migrate fixed by this PR.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (267c525) 70.59% compared to head (6b90e35) 70.59%.
 Consider uploading reports for the commit 44cb8ac to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1164   +/-   ##
=======================================
  Coverage   70.59%   70.59%
=======================================
  Files          85       85
  Lines        3394     3394
=======================================
  Hits         2396     2396
  Misses        998      998

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Formula not calculated when opening Sheet after creation of the file.

Using one of the pre-made examples with an extra row.
`Remove-Item ".\Data\functions.xlsx" -ErrorAction SilentlyContinue
$(
New-PSItem 12001 Nails  37  3.99 =C2D2 @("ID", "Product", "Quantity", "Price", "Total")
New-PSItem 12002 Hammer  5 12.10 =C3D3
New-PSItem 12003 Saw    12 15.37 =C4D4
New-PSItem 12010 Drill  20  8    =C5D5
New-PSItem 12011 Crowbar 7 23.48 =C6*D6
New-PSItem 12011 TestCount 1 1 "=COUNTA(UNIQUE(B2:B6))"
) | Export-Excel ".\Data\functions.xlsx"-AutoSize`
The counta formula shows 1 when opening the sheet. The cells above are calculated.
When doing F2 and Enter it calculates the correct number.
What should I do to make sure the formula is calculated when opening the Excel file?
Or is this a bug?
Above is the simplified version of this actual code.
$excelPackage.Workbook.Worksheets['Report'].Cells['A16'].Formula = "=IF(Delta8!A2=""No Delta"",0,COUNTA(UNIQUE(RemovedPolicies[assignmentName]&RemovedPolicies[assignmentScope]&RemovedPolicies[policyName])))"
which has the same behaviour.

On the Export-Excel try the -Calculate switch.

Hi, I forgot to mention I did try that, it did not make a difference.

Ok, not sure, calculate is a best effort. Not much control over that. I will try to take a look at it.

This is now solved as well. Solution is the prefix of the Formula with _xlfn.
First row below does not get calculated when opening the sheet, the second row does get calculated.
New-PSItem 12011 TestCount 1 1 "=COUNTA(UNIQUE(B2:B6))"
New-PSItem 12011 TestCountAuto 2 2 "=COUNTA(_xlfn.UNIQUE(B2:B6))"
Also see #1154


[TASK] Bar Chart - Events

Description
Create events tool for bar chart visualization
Existing
Reference
Tasks

[ ] User must be able to do click events
[ ] User must be able to do brush events

@ehynd
Vega-BarChart branch : feat/Vega_barChart_feature

@ehynd
I am analyzing and working on click events with Echart Bar graph.
Branch: Echart-AIJumpstart-Barchart

Vega Bar chart Events completed

Brush filter
Click (include, Exclude)

@ehynd I am analyzing and working on click events with Echart Bar graph. Branch: Echart-AIJumpstart-Barchart

When I pull this branch and an echart bar chart, I'm seeing the block settings on the right be blank except for one tiny line at the top that's not visible. Are you ever seeing this locally?

@ehynd , As per new changes done for structuring Echart, it is not visible directly. I am able to see the settings, with that I shown demo too. I will commit my recent changes so it will become visible.

@bannaarisamy-shanmugham-kanini  I'm seeing this now - conflict rendering component. Do you know what that could be?

@bannaarisamy-shanmugham-kanini I'm seeing this conflict rendering component with the new pull

@ehynd , I have committed my recent changes with color by value changes also, kindly check once and if anything needed Please let me know


Fix bug in pkcs7 plugin resolving home directories

Previously the pkcs7 plugin was not able to resolve a path like so:
plugins:
  pkcs7:
    public-key: ~/.puppetlabs/bolt/keys/public_key.pkcs7.pem
    private-key: ~/.puppetlabs/bolt/keys/private_key.pkcs7.pem

When running it would produce an error:
Error executing plugin pkcs7 from resolve_reference in dev: No such file or directory @ rb_sysopen - /home/nmaludy/src/puppet-xxx/~/.puppetlabs/bolt/keys/private_key.pkcs7.pem

That's definitely not what we want.
Looking at the way we resolve paths in config.rb shows that we were using File.expand_path() where in pkcs7.rb we were using File.absolute_path().
The fix was to simply make it File.expand_path() lookups and everything seems happy.
NEED HELP  HERE
On the testing side... i'm not sure how to create a spec test that can utilize a home directory to store these temporary keys for testing?
Any other thoughts here on the best way to test this?

@nmaludy We would like to standardize these paths to be relative to the boltdir. https://github.com/puppetlabs/bolt/issues/1162 .

I don't think it's super important that tests try to actually read the files. It's probably sufficient to just test the private_key_path and public_key_path methods and ensure that the paths are what is expected.

@donoghuc i don't mind that, but in this case you're basically specifying an absolute path ~/.puppetlabs/bolt/keys/private_key.pkcs7.pem but bolt isn't resolving it properly.

I think this change is sensible and doesn't conflict with #1162.

if a relative path is specified, i think it will still resolve to being relative to the boltdir (all the tests passed on my box)

Oh, reading the full issue is important. I missed the unless absolute path is specified. I just went through the other week and made sure we were expanding paths (https://github.com/puppetlabs/bolt/pull/1233) but at the time I had convinced myself that we did not want absolute paths. My bad.

@nicklewis i wrote a unit test instead of an integration test for this.
Also, going to bump the build because it looks like the Travis failure is random.

@nmaludy I think its rubocop error.

CLA signed by all contributors.


[Android][Rendering] Elements with "height: stretch" cause other elements to vertically shrink

Platform
What platform is your issue or question related to? (Delete other platforms).

[ ] Android

Version of SDK
main
Details
With the revert of the constraint layout bump, an issue was unearthed in v1.2/Tests/ImageSizing.json. This bug makes some images in columns to use more height space than it should, making other elements in the column  too small (in height) to be visible

Another example:
v1.1\Tests\ColumnSet.VerticalStretch.json:

@golddove / @dipja is this a Teams 1.3 upgrade blocker?

@shalinijoshi19 / @golddove This is regression from the earlier behavior. It would be good if we can fix this. (Currently I do not have any card from Teams where height is stretch inside columns.)

@dipja that card is not affected by this. This bug repros when an element uses height: stretch within a column. Do you have production cards affected by this? That would help with testing.

@golddove I did not find any such card from known apps in Teams Microsoft tenant. There could be number of external apps which might be using this property in their respective adaptive cards which could lead to regression.

@dipja since we are operating on very limited (read 1 :( ) resource for Android if we don't have known cases of Teams customer cards/scenarios that are running into this then I am going to for now remove the 1.3 blocker upgrade tag and move this out to 20.12 to allow us to focus on the first batch of identified blockers at this point --  does that sound good? ?

@dipja since we are operating on very limited (read 1 :( ) resource for Android if we don't have known cases of Teams customer cards/scenarios that are running into this then I am going to for now remove the 1.3 blocker upgrade tag and move this out to 20.12 to allow us to focus on the first batch of identified blockers at this point -- does that sound good? ?

N/m; Looks like #5061 needs this.


Increment versions for healthinsights releases

Increment package versions for healthinsights releases

API change check
API changes are not detected in this pull request.


Add Row potentially not working on IE9

Look into Add Row in IE9 to see if it's throwing errors (may need JS compatibility library added).

@mcailler is this related to #193?

@mrueschman can you test this out at some point to see if it's still an issue?

Looks to be working. Probably related to #193 as mentioned earlier. Closing issue.


Upgrade to aws-sdk v3

This project is already using sqs-consumer v6 which uses aws-sdk v3 under the hood.
sqs-producer needs to be upgraded to v3: #273
Then, the aws-sdk itself in this project needs to be upgraded to v3, additional changes might or might not be needed.

@ybh1760 can you resolve this?

Are there any advances for this issue?

This issue is still important!


Update guid-partitioning-table-disk-faq.yml

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq?view=windows-11
Windows XP x64 Edition can use GPT disks for data only.

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


"editor.gotoLocation.multipleDefinitions": "goto" F12 doesn't work to go to next symbol

Testing #85925 on Windows
I set "editor.gotoLocation.multipleDefinitions": "goto" then in the VS Code repo went to abstractTaskService.ts and did right click -> go to definition on ITaskService in line 198.

A definition was opened ✔
I saw a message in the status bar "Symbol 1 of 2. F12 for next" ✔
I hit F12. Instead of going to the other definition it just repainted the status bar message with no other visible result. 🐛

Similar but different problem with "editor.gotoLocation.multipleImplementations": "goto".
I tested with IViewZone in editorBrowser.ts and after successfully going to the first symbol and showing the status bar message, F12 then ran a References Peek.


Representation of tuples

Discussing how tuples are laid out.

Is tuple layout equivalent to some corresponding struct? If so, what struct exactly?

that struct definition might in turn have undefined layout, of course

Some things that might be useful if they were defined:

Is it possible to inter-convert a (T, T, ..., T) tuple with a [T; N] memory representation?

I also lean towards "tuples are just structs", but there's a subtle consequence that I want to record because it has only now occurred to me: tuples have to have the same layout in all compilation units, so if tuples and structs are laid out identically that forces us to answer this question from #11 ...

Do we ever say anything about how a #[repr(rust)] struct is laid out
(and/or treated by the ABI)?

e.g., what about different structs with same definition
across executions of the same program?

... with the relatively restrictive choice (for the compiler) that all structs' layout must only depend on the ordered list of field types, not on anything else. That might very well be what we end up deciding anyway, but it's something to consider – we basically have to choose between struct-tuple layout compatibility and more advanced (e.g. PGO-based) layout optimizations for structs.

with the relatively restrictive choice (for the compiler) that all structs' layout must only depend on the ordered list of field types

I do not agree.
I think of tuples as being sugar for using the following infinitely many types defined in libcore:
struct Tuple0;
struct Tuple1<T0>(pub T0);
struct Tuple2<T0, T1>(pub T0, pub T1);
// and so on

So, tuples are structs, but all tuples of the same length are instances of the same struct.

Ok, good point, I think I misunderstood what you meant by "(A, B) [should behave] the same as struct Foo(A, B);".

So I agree that tuples should align with some Rust struct -- but not necessarily all Rust structs. It is plausible to imagine though that said struct might be (e.g.) #[repr(C)] -- in which case, for example, the array interconversion might work. Not arguing for this per se, just saying.
In any case I think that the main job of this thread probably is to define precisely which Rust struct tuples map to.

However, the array question becomes interesting then, because it'd mean that in
struct Foo<T> {
  field1: T,
  field2: T,
}

we guarantee that field1 is before field2. I do not see any harm in that, but it is something to be aware of.

Accessing the first element of a struct is (slightly) more efficient. I'd prefer to give that ordering option to the compiler, unless there is a clear need to put it under user control.

we basically have to choose between struct-tuple layout compatibility and more advanced (e.g. PGO-based) layout optimizations for structs.

Wouldn't this just mean that if we were to use PGO to optimize layout we would have to do so that the layout of layout-compatible structs and tuples match ?

@ChrisJefferson Keep in mind that load and store instructions have generous immediate offsets, even in the most fantaically RISC architectures. Thus extra instructions or extra cycles are usually only required if you want to take the address of a field or if further accesses to the field require an addressing mode that the architecture doesn't support or which isn't as fast (e.g. struct.some_array[variable_idx] is reg+reg+imm). CPU architects know very well that programs spend lots of time accessing struct fields (and stack slots!). Cache effects are much more likely to be relevant, but there the absolute offset is irrelevant, you just need the fields that are frequently accessed together to be close to each other.
@gnzlbg Access patterns tend to vary by struct, so different structurally-identical structs would probably have different layouts. But @RalfJung's reply resolved this anyway.

One feature which would quasi-require tuples and structs to have different representations is https://github.com/rust-lang/rfcs/pull/1582. That is, with tuples it is conceivable that given &(A, B, C, D), one might want to support taking "subslices" of the tuple: &(A, B, C) (prefix) and/or &(B, C, D) (suffix) and/or &(B, C) (falls out from supporting both). But this would, AFAIU, require tuples to have more padding than their "equivalent" structs. (I wrote "quasi" earlier because in theory one could "just" add the same extra padding to structs as well, but in practice that seems out of the question.)
The logical justification for the different representations would be that tuple fields are ordered while struct fields are unordered, so just as it makes sense for 'dynamic' collections likeBTreeMap (ordered) and HashMap (unordered) to have different representations, so too would it make sense for 'static' ones like these. (That is, tuples are adding an additional requirement -- orderedness of their fields -- which normal structs do not have.)
(By "struct" here I mean "struct with named fields" throughout: tuple structs are an interesting in-between case which could conceivably go either way, but that question only becomes relevant as a follow-on.)

The existence of tuple structs is a real thorn in the side of this reasoning, not just a follow-up: just as it would be extremely surprising for a tuple to behave differently from a tuple struct, it would be extremely surprising (and an efficency footgun) for a tuple struct to behave different from one with named fields. So far the difference is entirely stylistic, we even formalized the notion that tuple structs are just normal structs with fields names 0, 1, etc.
Combine that with other problems the representation proposed in that RFC has (the killer one for me is the need for a size/stride split which I don't believe can be introduced backwards compatibly) and I find it hard to care for it.

Given two independent structs A and B with the same number of fields of the same types, do these have the same layout if the fields are

in the same order?
in the same order?

Possibly silly question: Before specifying the layout of any tuple or struct, what are the usecases for wanting to be able to know the layout for an arbitary type?
I can imagine some people want to control the layout for some specific type (to align with an existing in-memory layout of data). They can always use repr(C), or we could introduce other reprs.
Once someone is fixed, it's fixed forever. I could imagine (for example) a profiler deciding if it should represent an (int8, int8, int8) as a 3 byte structure (which makes alignment trickier) or a 4 byte structure with padding (and then where put the padding?).

You may not always control the type you want to do layout-dependent tricks on.
Besides, in practice people make mistakes and transmute (see e.g. https://github.com/rust-lang/rust/issues/50842) or type pun repr(Rust) types, all else being equal I'd rather provide a safety net for that than make it UB (and the sort of UB that miri can't really pin point to boot).
Reordering or padding tuples based on profiling information seems extremely implausible to me, because they are so widely used that you likely won't have a single dominant usage pattern. It's a more interesting question for nominal types, which may be used very narrowly, but that belongs in #11 so let's move that discussion there (and once I have time I will elaborate over there on my other reasons for being skeptical of profile-guided layout optimizations).

For the record, there's a compromise solution: special casing structs and tuples with homogeneous contents (and making them equivalent to arrays) without guaranteeing much about the layout of either tuples or structs that have heterogeneous contents.

I had never thought of that.

Given two independent structs A and B with the same number of fields of the same types, do we want to guarantee that these have the same layout if the fields are

This is probably a better fit for discussion in https://github.com/rust-rfcs/unsafe-code-guidelines/issues/11 .. my guess is though that we will not =)

TBH I think this is both the easiest and most expected answer. If (A, B) ever does not behave the same as
#[repr(Rust)]
struct Foo(A, B)

then something is seriously wrong.

It's notable that generics affect layouts here (due to unsized tuple coercion):
// unsafe w.r.t. synchronization
unsafe fn dump<T: ?Sized>(p: &T) -> Vec<u8> {
    use std::slice;
    use std::mem;
    let s = slice::from_raw_parts(p as *const T as *const u8, mem::size_of_val(p));
    s.to_vec()
}

fn main() {
    struct Foo(u16, u32);
    println!("{:?}", unsafe { dump(&(1u16, 2u32)) }); // [1, 0, 0, 0, 2, 0, 0, 0]
    println!("{:?}", unsafe { dump(&Foo(1u16, 2u32)) });  // [2, 0, 0, 0, 1, 0, 0, 0]
    // Basic rule: large align to small align
    // Exception 1: repr(C)
    // Exception 2: enum tag
    // Exception 3: the last element that can be a candidate for unsized coercion
}

However, the difference seems removable. We can just apply the "last element rule" regardless of generics.

@rkruppe

For the record, there's a compromise solution: special casing structs and tuples with homogeneous contents (and making them equivalent to arrays) without guaranteeing much about the layout of either tuples or structs that have heterogeneous contents.

This is a good point. I actually find this kind of appealing. I guess I just think that being able to "index" into a tuple is potentially quite useful, and I can't think of a strong motivation for laying out homogenous tuples in any other way (particularly if that layout must apply to all tuples).
I suppose in theory one could imagine laying out some individual tuples differently than others (eg., if you saw from PGO that one particular tuple was used across threads and you wanted extra padding, and you knew somehow that references to this tuple didn't escape or get mixed with other tuples) but that seems quite over the top. I can't imagine us really ever doing that.

Follow-up bikeshed: #[repr(as(Type))] for matching a type? Fields could be matched by name or by use of an attribute such as #[repr(as(Type.field))].
Actually, perhaps we could use this for interop between two foreign types, in that two #[repr(as(T))] attributes on the same type amount to a compile-time assertion that the types have the same representation? This would at least mean that an inadvertent or accidental change of layout upstream would clearly result in a compile-time error for downstream code.

I'll echo @gnzlbg's statement in another thread: we're really not in the business of designing new language features here.

I think we should not be in the business of designing new language features, but I think it's important to at least explore the viability of creating ones for addressing specific cases. We need to avoid a false dichotomy of "either we make this guarantee or this use case is unsupported". We can and should also consider "we can say that we don't make the guarantee, but suggest that if the use case is sufficiently important, it should have its own language feature".
Adding a guarantee where none existed is a language feature, anyway.

Maybe we should split those discussions somehow ? I find the threads get hard to follow once we mix them with exploratory work that goes in different directions :(

I opened https://github.com/rust-rfcs/unsafe-code-guidelines/pull/31 which contains my attempt to summarize our tentative consensus here. Please give feedback! (In particular, let me know if there is anything you think is incorrect.)

We've called final-comment-period on #31.


error with audit

Hi, I downloaded PoshPAIG and copied psExec.exe in the folder. When I try to lauch audit patch with domain admins right i receive the following erro: "error with audit".

I got the same error for some machines...
There is any configuration necessary on client side or it needs a code fix?

I found out that if a machine gives me "Error with audit" I just login on that machine with the same user I am running the PoshPiag and it then works normally. On the PS window it logs an HRESULT error, but only if there is no user logged on the remote server.

i believe you might need to clean the cab files on the server that is having error with audit. Once that it done, re-launching poshpaig works.

Hello guys, I know this is an old post but has anyone found the solution to the problem? cause I'm facing the same issue.
Thanks


Force breaks for nested records

Fixes https://github.com/facebook/reason/issues/1556 (partially)
/* before */
let person = {"name": {"first": "Bob", "last": "Zhmith"}, "age": 32};

/* after */
let person = {
  "name": {
    "first": "Bob",
    "last": "Zhmith"
  },
  "age": 32
};

Nested records/bs-obj sugar will always be printed with breaks.
Improves readability/extensibility of the code a lot.
Note that it only works with record or bs-obj sugar which contains another record/bs-obj/objects.
Force breaking for nested objects hasn't been implemented yet, because of some printing challenges.

Thanks!


Put system tests in CI

Until system tests are in CI they're going to be ignored. To get them running in CI we need to do the following:

[x] https://github.com/DiamondLightSource/python-artemis/issues/458
[ ] Create a script that starts up all our system test environment locally using both the above
[ ] Set up a cronjob to run this script
[ ] Get it to email developers / slack (whichever is easiest) with the results

We discussed this with DAQ core, plan is to use @dperl-dls's old machine as a Jenkins node

We think about 3 days

Do you think that the scripts etc. for this belong in the Hyperion repo?

A basic setup to locally run the system tests in an automated fashion is now at https://gitlab.diamond.ac.uk/MX-GDA/hyperion-system-testing
New issues should be made for further improvements


[Snyk] Upgrade @graphprotocol/graph-cli from 0.56.0 to 0.57.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @graphprotocol/graph-cli from 0.56.0 to 0.57.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 16 versions ahead of your current version.
The recommended version was released 23 days ago, on 2023-09-04.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (7e3d3f3) 76.89% compared to head (cf058b7) 76.89%.

:exclamation: Current head cf058b7 differs from pull request most recent head 0584716. Consider uploading reports for the commit 0584716 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1769   +/-   ##
=======================================
  Coverage   76.89%   76.89%
=======================================
  Files          39       39
  Lines        2917     2917
  Branches      584      584
=======================================
  Hits         2243     2243
  Misses        497      497
  Partials      177      177

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


super(Class, self) -> super()

https://github.com/miguelgrinberg/microblog/blob/8f43aadd412cd141effccedf1cfe2bff4e0d1f0d/app/forms.py#L41
Hi Miguel,
many many thanks for creating this absolute masterpiece of tutorial! I cannot tell you how much I appreciate all the work and time put into it.
I'm trying to give back to you and show my appreciation by writing this. I noticed a very minor enhancement that could be done here. If I'm not mistaken super() shouldn't be called with any arguments in Python 3 anymore. So I think this line should be:
super().__init__(*args, **kwargs)

Please feel absolutely free to ignore me on this one or tell me to ignore minor enhancements like this. I love your Mega-Tutorial and all the other great stuff you are doing for the Flask and Python Communities!

You are correct, this is a left over from back in the day when this tutorial had to work on both Python 2 and 3.

Is this open for contribution? I would be happy to make a PR.

Unfortunately I cannot merge PRs in this repository as that creates a problem with the carefully constructed commit history.

Unfortunately I cannot merge PRs in this repository as that creates a problem with the carefully constructed commit history.

😥

Closing as this does not apply to the new edition of this tutorial.


Adding Turbinia scaffolder for generating jobs and tasks.

Adding a new scaffolder to generate jobs and tasks for Turbinia, part of #49

new request for the scaffolder, @aarontp can you take a look


Add emacs volar integration by jadestrong

See https://github.com/jadestrong/lsp-volar
It also has multi server support as can be seen in https://github.com/jadestrong/lsp-volar/blob/main/lsp-volar.el (CTRL+F volar-api, volar-doc, volar-html)

Thanks for the update!


Upgrade our issue templates to use GitHub issue forms ✍

Introduction
GitHub has recently rolled out a public beta for their issue forms feature. This would allow you to create interactive issue templates and validate them 🤯.
Appwrite currently uses the older issue template format. Your task is to create GitHub issue forms for this repository. Please use Appwrite's issue templates as a reference for this PR.
Tasks summary:

[ ] Fork & clone this repository
[ ] Prepare bug report issue form in .github/ISSUE_TEMPLATE/bug.yaml
[ ] Prepare documentation issue form in .github/ISSUE_TEMPLATE/documentation.yaml
[ ] Prepare feature request issue form in .github/ISSUE_TEMPLATE/feature.yaml
[ ] Push changes to master and test issue forms on your fork
[ ] Submit pull request

If you need any help, reach out to us on our Discord server.
Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊
Happy Appwriting!

Hey, can I work on this?

@drph4nt0m Looks like you have some issues assigned to you already. We request you to complete those before requesting assignments on new ones. Also, please consider picking a different type of issue so other contributors can try this one.

Hey @Meldiron , Can I work on this issue under Hactoberfest'21.

@manisha-27  Looks like you have an issue of this type assigned to you already. Please consider picking a different type of issue so other contributors can try this one.

Hey, Can I work on this issue under Hactoberfest'21.

@TechieNK assigned to you. All the best 🚀


IPAM Section

Hi Team,
Opening up a discussion as i am not sure how sensitive this is given that these 2 products are both outstanding but i definitely want to understand your vision moving forward.
I question how we can technically make the jump from phpipam over to netbox within regards to the ipam section, this is the only area that prevents us currently from using netbox as a one stop shop..
What are your intentions with this section, are you looking to be able to provide the same level of functionality and management phpipam does?

I'm not trying to speak for @strech here, but you should probably list out the requirements you have or the specific gaps you think you need addressed before adopting.
Being such a relatively new project, I have to say this IPAM tool has the potential to far surpass PHPIPAM on just the IPAM functionality.
I'll redeploy phpipam and provide some notes tonight or tomorrow.  I used to love it, but I replaced it with device42 given the far superior iPam and additional dcim functionality.

Really?  I like phpIPAM's IPAM far more than any other I have found, even netbox so far. But the ability to have a decent open source DCIM and have it integrate a proper IPAM solution makes me happy enough to see where netbox takes us.
I think NetBox has a good v1 and I'm excited about it. But it'll be a while before I remove phpIPAM from our server.

The best way to answer this question is to first enumerate the functionality you're missing from NetBox, and then compare those items against the (rather lengthy) list of feature requests that are currently open. The roadmap might be best place to start: these are feature requests that will almost certainly be incorporated into NetBox in the future. (Note that just because a feature request isn't on the roadmap right now doesn't mean it won't be soon.)
For any feature you'd like to see that both isn't currently implemented in NetBox and isn't on the roadmap, I invite you to file a new feature request. Please be sure to provide as much detail as you can regarding how you'd like NetBox to function. There's no guarantee that we can implement each feature, of course, but it gives us some data to help steer the development of NetBox overall.

HI Ryan/Everyone,
Thanks for getting involved in the discussion from our side we use phpipam as follows
We have network and services in 70+ datacentres globally and our requirements may not be the same as everyone else using netbox and phpipam

Setup sections based on region, for example AU-VIC, AU-NSW, NZ-AKL, US-SJC
Use a VLAN Layer2 Group and theoretically assign it to each section.
Setup a master subnet for example could be <IP_ADDRESS>/22 under a section.
Create a subnet under the master subnet of <IP_ADDRESS>/24, <IP_ADDRESS>/24 etc

Once this is setup we then allocate smaller nested subnets under each /24 for customers. So if a customer signs up with a new colocation service they would typically get a /29 ipv4 and a /64 ipv6.
When we create a new customer as a nested subnet the following things happen

Autocreation of PTR records which talks to our PowerDNS AnyCAST Platform
Assigning customer VLAN from our Layer2 VLAN Domain for that region
Provisioning of customer prefix on our routers (this is a custom script we wrote and not expecting netbox to do this automatically)

What we personally would like to see out of it?

Allowing us to utilise netbox to manage the ipam much like what we do now in phpipam
Following a style of management with subnets/sections for interface flow on usability.
Adding in support for AS Numbers so we can include BGP customers and be able to allocate the prefixes in netbox to know exactly which device in which rack is advertising them.
Adding in support for integration via API preferably or via SQL not preferred into PowerDNS.
Auto creation of PTR records when adding subnets, for example <IP_ADDRESS>.au-vic.rackcentral.com the .au-vic could be taken from the section name and then the .rackcentral.com could be a default value that be entered in the DNS section for each netbox user to use their own domain name.

I am sure there are more to add on top of this and am interested in the discussion to see if others would benefit from this as well. I know that having the above would allow us to use netbox as a one stop shop for management.

Specific feature requests broken out:

Region Support #164 (feel free to further add to this I get your section usage, but IDK if its useful to exactly mimic that setup as it can get confusing for some users)
AS Support #127
Add multitenancy support #16
Route Advertisement Support #165
Basic DNS Support #166
PowerDNS support (you'll need to list out the integration as I do not use the tool) - It feels like something that comes on the roadmap later on with other integrations.

Anything I missed, I would recommend you raise individual feature requests with an explanation of the basic functionality along with future roadmap of additional complexity.

Here is the PowerDNS API Docs
https://doc.powerdns.com/md/httpapi/README/#powerdns-api
Very common DNS platform used in hosting industry.

Going to close this issue out as it's a bit too broad to be actionable. It looks like other feature requests have already been opened for most of what was covered. Feel free to open additional feature requests for specific functionality (but please remember to search existing issues first).