Problem when used with Backstage Techdocs

Hello. This plugin works great outside of Backstage, but if I use it inside of Backstage with the techdocs plugin, it fails.
FYI -- The Github repos are private
This the output from the Backstage app-config snippet
techdocs:
  builder: 'local' # Alternatives - 'external'
  generator:
    runIn: 'local' # Alternatives - 'local'
  publisher:
    type: 'local' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.

This is a snippet of pip3 list from the backstage container.
mkdocs                             1.5.3
mkdocs-material                    8.1.11
mkdocs-material-extensions         1.3.1
mkdocs-mermaid2-plugin             1.1.1
mkdocs-monorepo-plugin             1.0.4
mkdocs-multirepo-plugin            0.6.3
mkdocs-techdocs-core               1.1.7

This is a snippet from the mkdocs.yml
plugins:
  - search
  - multirepo:
      cleanup: true

nav:
  - Overview: "index.md"
  - AWS: "aws.md"
  - Azure: "!import https://github.com/liatrio/poc-argocd-docs?branch=main&docs_dir=src"

This is the trackback output
Traceback (most recent call last):54  File "/usr/local/bin/mkdocs", line 8, in <module>55    sys.exit(cli())56             ^^^^^57  File "/usr/local/lib/python3.11/dist-packages/click/core.py, Opens in a new window", line 1157, in __call__58return self.main(*args, **kwargs)59           ^^^^^^^^^^^^^^^^^^^^^^^^^^60  File "/usr/local/lib/python3.11/dist-packages/click/core.py, Opens in a new window", line 1078, in main61rv = self.invoke(ctx)62         ^^^^^^^^^^^^^^^^63  File "/usr/local/lib/python3.11/dist-packages/click/core.py, Opens in a new window", line 1688, in invoke64    return _process_result(sub_ctx.command.invoke(sub_ctx))65                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^66  File "/usr/local/lib/python3.11/dist-packages/click/core.py, Opens in a new window", line 1434, in invoke67    return ctx.invoke(self.callback, **ctx.params)68           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^69  File "/usr/local/lib/python3.11/dist-packages/click/core.py, Opens in a new window", line 783, in invoke70return __callback(*args, **kwargs)71           ^^^^^^^^^^^^^^^^^^^^^^^^^^^72  File "/usr/local/lib/python3.11/dist-packages/mkdocs/__main__.py", line 286, in build_command73build.build, Opens in a new window(cfg, dirty=not clean)74  File "/usr/local/lib/python3.11/dist-packages/mkdocs/commands/build.py, Opens in a new window", line 277, in build75config = config.plugins.on_config(config)76             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^77  File "/usr/local/lib/python3.11/dist-packages/mkdocs/plugins.py, Opens in a new window", line 527, in on_config78return self.run, Opens in a new window_event('config', config)79           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^80  File "/usr/local/lib/python3.11/dist-packages/mkdocs/plugins.py, Opens in a new window", line 507, in run_event81result = method(item, **kwargs)82^^^^^^^^^^^^^^^^^^^^^^83  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/plugin.py, Opens in a new window", line 310, in on_config84config = self.handle_nav_import(config)85             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^86  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/plugin.py, Opens in a new window", line 180, in handle_nav_import87asyncio_run(batch_import(repos, keep_docs_dir=keep_docs_dir))88  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/util.py, Opens in a new window", line 114, in asyncio_run89    asyncio.run, Opens in a new window(futures)90  File "/usr/lib/python3.11/asyncio/runners.py, Opens in a new window", line 190, in run91    return runner.run, Opens in a new window(main)92           ^^^^^^^^^^^^^^^^93  File "/usr/lib/python3.11/asyncio/runners.py, Opens in a new window", line 118, in run94    return self._loop.run, Opens in a new window_until_complete(task)95           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^96File "/usr/lib/python3.11/asyncio/base_events.py, Opens in a new window", line 653, in run_until_complete97return future.result()98           ^^^^^^^^^^^^^^^99  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/structure.py, Opens in a new window", line 424, in batch_import100await batch_execute(101  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/structure.py, Opens in a new window", line 416, in batch_execute102    repo = await future103           ^^^^^^^^^^^^104  File "/usr/lib/python3.11/asyncio/tasks.py, Opens in a new window", line 605, in _wait_for_one105return f.result()  # May raise f.exception().106           ^^^^^^^^^^107  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/structure.py, Opens in a new window", line 388, in import_docs108await self.sparse_clone([self.docs, Opens in a new window_dir, self.config] + self.extra_imports)109  File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/structure.py, Opens in a new window", line 193, in sparse_clone110await execute_bash_script("sparse_clone.sh, Opens in a new window", args, self.temp_dir)111File "/usr/local/lib/python3.11/dist-packages/mkdocs_multirepo_plugin/util.py, Opens in a new window", line 108, in execute_bash_script112    raise BashException(f"\n{stderr}\n")113mkdocs_multirepo_plugin.util.BashException: 114Cloning into 'azure'...115fatal: could not read Username for 'https://github.com, Opens in a new window': No such device or address116error: Failed to build the docs page for entity component:default/liatrio-kubernetes-overview: Failed to generate docs from /tmp/backstage-cHrMqX into /tmp/techdocs-tmp-HcUNEd; caused by unknown error 'Command mkdocs failed, exit code: 1' {"timestamp":"2024-01-09T14:30:30.088Z"}

I got it to work by adding the environment variable GithubAccessToken to  backstage container.


Update Navbar Figma design as per Round 1 testing

Summary
Update the design of the NavBar for the 'Le Jardin' website on Figma based on feedback received during Design Testing Round 1.
Acceptance Criteria:

Re-design NavBar:

Implement changes as per the feedback provided by manual design testers.

Button Color Change:

Change the NavBar button 'Baker's Club' to a Black button.

Web Accessibility:

Follow the Web Content Accessibility Guidelines (WCAG) to ensure the website is accessible to all users.

Component Library:

Utilize a Component Library such as MUI and NextUI. Refer to the documentation at NextUI Component Library.

Brand Archetype:

Adhere to the Brand Archetype persona 'Explorer' in the NavBar design.

Color Selection:

Use the Adobe color wheel for selecting colors for the website components.

Note: Ensure that the redesigned NavBar not only addresses the feedback but also aligns with accessibility standards, the brand identity, and provides an improved user experience.

Updated design:

figma link: https://www.figma.com/file/puog0pDY0mW5VGzuivGCi1/Final-Group-Project--Bakery?type=design&node-id=1%3A2&mode=design&t=7Ie8TMMu8EvLugrn-1


Fix failed post-process runs

Goal
Current pipeline writes to a files_missing folder where we can see which outputs were expected from the config and weren't able to be generated. This currently include 216 combinations of forecast dates and locations. Many of these are places where the input_ww_data is just a df of 0 rows, but others are places with wastewater data that will run locally.
Tasks

[x] location-forecast-dates without wastewater should not be included in this files_missing list. These are expected missing files.
[x] rerun the remaining failed jobs using larger RAM VMs. If that doesn't work, consider manually downloading necessary raw files to run locally....

Closed with #159


KAFKA-14675: Extract metadata-related tasks from Fetcher into MetadataFetcher

Extract from Fetcher the APIs that are related to metadata operations into a new class named MetadataFetcher. This will allow the refactoring of Fetcher and MetadataFetcher for the new consumer.
This refactoring is one of the first steps in the Fetcher refactoring task for the new consumer threading refactor project.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

cc @hachikuji @rajinisivaram @philipnee


Return_to doesn't seem to work

After some research I've concluded that the current behaviour corresponds with the intended behaviour. AJAX requests don't warrant an return_to because they are not meant to be viewed by the browser directly.


source checksum

hello,
ive noticed a discrepancy between the source checksum on here and in the archlinux pkgbuild.
from both mine and arch tree it results the checksum should be another and it should have not changed since 2023.
my sources are published at
https://github.com/themartiancompany/python-sphinxcontrib-towncrier-ur
both my builds and arch one are from way later source publishing and no change seems have been going on github since then so I was wondering how and why the checksum changed.
im puzzled how the package actually built in the first place.
has there been a forced repo update?

Assuming you're talking about Git archive, this might be related to setuptools-scm. Otherwise, there's not enough context to make meaningful educated guesses.
The distribution can be built using any standard PEP 517 build frontend.

I'm talking about the released source tarball here on Github.
I have changed my sources to use the Pypi one because I remembered it doesn't allow for re-releases and it also reports the checksum as I didn't want to check all the source.
The checksum of the tarball must have changed months after their publication anyway.
I have checked your CI logs and they also report the file should have not changed
I had never stumbled onto such a weird situation myself.

The tarballs on GitHub are auto-generated. They are Git archives. They are not something we attach manually. And they differ from sdists that can be considered the source of truth like those on PyPI.

FWIW https://github.com/sphinx-contrib/sphinxcontrib-towncrier/blob/2f78a42/.git_archival.txt#L4 needs to be deleted to make git archives more predictable but it's not of a huge concern to me. I'll get to it one day.


Test

Change Summary
Summarise your changes in points

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code refactoring (restructing existing code without changing any functionality)
[ ] This change requires a documentation update

Documentation/Release Plan

Problem Statement doc
Feature documentation
Release plan

Testing Checklist
Changes tested on

[ ] development
[ ] production
[ ] MABL Tests Link (if any)
[ ] Successful Workflow Links (if any)

You can not raise the PRs directly on main branch. Follow the below hirearchy:
PRs ---> staging ---> Automated PR on main ---> Merge to main.
Doc Link: https://www.notion.so/atlanhq/Automate-PR-flow-Plan-on-Atlan-Helm-Repository-099754761ce34a45bef68b4fa88e22ee


Update the chainhook readme to remove ordinals

Depends on https://github.com/hirosystems/chainhook/issues/374

@ryanwaits to take this up, removing ordhook / ordinals mention.


Extended logging on startup

Closes #7

Coverage remained the same at 100.0% when pulling 1eccd384e3dcc25a034d45f551ca1bc587a2802b on 7-extended-logging-on-startup into f2f54eb0e8d0ec373b2aebba778fb6d162d1ff6c on master.


Notification when wire closes.

Anyway to get a notification when the wire closes?

You should be able to listen for the standard stream 'end' or 'finish' events:
wire.on('end', function () {})


Cannot cloning taming transformers into repositories/taming-transformers...

It reports that: RuntimeError: Couldn't clone Taming Transformers.

Can you share the full traceback (the entire error, not just the message)?


Expand developer documentation

Description
This MR splits the CONTRIBUTE.md file and expands its content.
It also removes the need to define the $TEST_GITGUARDIAN_API_KEY to run tests. This makes running tests for the first time simpler.
Review
To get a better preview of what the end result looks like, here is a direct link to  CONTRIBUTE.md on this branch.

Codecov Report

Merging #518 (6b83d70) into main (3755c28) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #518   +/-   ##
=======================================
  Coverage   93.85%   93.85%
=======================================
  Files          81       81
  Lines        3811     3811
=======================================
  Hits         3577     3577
  Misses        234      234

Flag
Coverage Δ

unittests
93.85% <ø> (ø)

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


Recursive relationships

Hi there 👋
I'm trying to work with recursive relationships.
TutorialD (master/main): rec := relation{tuple{src 0, tgt 1}, tuple{src 1, tgt 2}, tuple{src 2, tgt 3}}
TutorialD (master/main): :showexpr rec
┌────────────┬────────────┐
│src::Integer│tgt::Integer│
├────────────┼────────────┤
│0           │1           │
│1           │2           │
│2           │3           │
└────────────┴────────────┘

It seems to work ok for a depth 1 traversal:
TutorialD (master/main): :showexpr ((rec where src=0) join (rec rename {tgt as tgt2, src as tgt}))
┌────────────┬────────────┬─────────────┐
│src::Integer│tgt::Integer│tgt2::Integer│
├────────────┼────────────┼─────────────┤
│0           │1           │2            │
└────────────┴────────────┴─────────────┘

Also if I add an edge:
TutorialD (master/main): insert rec relation{tuple{src 1, tgt 4}}
TutorialD (master/main): :showexpr rec
┌────────────┬────────────┐
│src::Integer│tgt::Integer│
├────────────┼────────────┤
│1           │4           │
│2           │3           │
│1           │2           │
│0           │1           │
└────────────┴────────────┘
TutorialD (master/main): :showexpr ((rec where src=0) join (rec rename {tgt as tgt2, src as tgt}))
┌────────────┬────────────┬─────────────┐
│src::Integer│tgt::Integer│tgt2::Integer│
├────────────┼────────────┼─────────────┤
│0           │1           │2            │
│0           │1           │4            │
└────────────┴────────────┴─────────────┘

I can work out a way to do a depth 2 traversal:
TutorialD (master/main): :showexpr ((rec where src=0) join (rec rename {tgt as tgt2, src as tgt}) join (rec rename {tgt as tgt3, src as tgt2}))
┌────────────┬────────────┬─────────────┬─────────────┐
│src::Integer│tgt::Integer│tgt2::Integer│tgt3::Integer│
├────────────┼────────────┼─────────────┼─────────────┤
│0           │1           │2            │3            │
└────────────┴────────────┴─────────────┴─────────────┘

Can this be generalised to a depth n traversal? Also would it be possible to group the result by depth?
Thanks for your time!
Jun

Also unfortunately:
TutorialD (master/main): foreign key src_tgt rec{src} in rec{tgt}
ERR: RelationTypeMismatchError attributesFromList [(Attribute "src" IntegerAtomType)] attributesFromList [(Attribute "tgt" IntegerAtomType)]

Ok what I was really trying to do was:
TutorialD (master/main): nod := relation{tuple{nid 0, lbl "a"}}
TutorialD (master/main): insert nod relation{tuple{nid 1, lbl "b"}}
TutorialD (master/main): :showexpr nod
┌─────────┬────────────┐
│lbl::Text│nid::Integer│
├─────────┼────────────┤
│"b"      │1           │
│"a"      │0           │
└─────────┴────────────┘
TutorialD (master/main): foreign key src_nod (rec rename {src as nid}){nid} in nod{nid}
ERR: InclusionDependencyCheckError "src_nod" Nothing
TutorialD (master/main): insert nod relation{tuple{nid 2, lbl "c"}}
TutorialD (master/main): insert nod relation{tuple{nid 3, lbl "d"}}
TutorialD (master/main): insert nod relation{tuple{nid 4, lbl "e"}}
TutorialD (master/main): foreign key src_nod (rec rename {src as nid}){nid} in nod{nid}
TutorialD (master/main): foreign key tgt_nod (rec rename {tgt as nid}){nid} in nod{nid}

Works nicely

Oh wow, actually this does work if I make the root loop on itself (tuple {src 0, tgt 0}) and map src and tgt attributes to another name x:
TutorialD (master/main): rec := relation{tuple{src 0, tgt 0},tuple{src 0, tgt 1}, tuple{src 1, tgt 2}, tuple{src 2, tgt 3}}
TutorialD (master/main): foreign key src_tgt (rec rename {src as x}){x} in (rec rename {tgt as x}){x}

That's a clever workaround. I suppose it wouldn't hurt to make a utility wrapper command to make this pattern more convenient. Do you have some syntax in mind?
By the way, the foreign key syntax is itself a convenience wrapper around inclusion dependencies which have been proven to be able to represent any database constraint.

I've also been thinking about how to represent n-ary, nested relationships within a relation outside the scope of adjacency lists since we could leverage nested relations. However, the top-level relation type does not seem to be able to represent arbitrarily-nested relation types, so I don't see off-hand how to represent arbitrary levels of nesting.

Sort of broadening the scope quite a bit here, but I was wondering what are principled approaches to model graphs in a relation database. This seems like a very interesting  paper on implementing graph algorithms in RDBMSes using new operations and a while syntax.
https://dsl.cds.iisc.ac.in/~course/TIDS/papers/allinone.pdf

To support graph processing, in this work, we propose 4 new relational algebra operations, MM- join, MV-join, anti-join, and union-by-update.

Thanks for linking to that paper- it proposes new SQL syntax to support said traversals. However, it is still limited by the capabilities of SQL (which Project:M36 is not). For example, Project:M36 supports algebraic data types and relation-valued attributes, both of which can be leveraged to represent graph more effectively.
For example, relation-valued attributes would be a great way to query a database to service an ORM. Here's a sample dashboard using the C.J. Date example. This would typically done by an outer join in SQL, but the Project:M36 representation is quite natural:
:showexpr (s join sp){p#,qty,s#,sname} group ({p#,qty} as parts)
┌───────────────────────────────────────┬────────┬───────────┐
│parts::relation {p#::Text,qty::Integer}│s#::Text│sname::Text│
├───────────────────────────────────────┼────────┼───────────┤
│┌────────┬────────────┐                │"S4"    │"Clark"    │
││p#::Text│qty::Integer│                │        │           │
│├────────┼────────────┤                │        │           │
││"P4"    │300         │                │        │           │
││"P5"    │400         │                │        │           │
││"P2"    │200         │                │        │           │
│└────────┴────────────┘                │        │           │
│┌────────┬────────────┐                │"S1"    │"Smith"    │
││p#::Text│qty::Integer│                │        │           │
│├────────┼────────────┤                │        │           │
││"P4"    │200         │                │        │           │
││"P5"    │100         │                │        │           │
││"P6"    │100         │                │        │           │
││"P3"    │400         │                │        │           │
││"P1"    │300         │                │        │           │
││"P2"    │200         │                │        │           │
│└────────┴────────────┘                │        │           │
│┌────────┬────────────┐                │"S3"    │"Blake"    │
││p#::Text│qty::Integer│                │        │           │
│├────────┼────────────┤                │        │           │
││"P2"    │200         │                │        │           │
│└────────┴────────────┘                │        │           │
│┌────────┬────────────┐                │"S2"    │"Jones"    │
││p#::Text│qty::Integer│                │        │           │
│├────────┼────────────┤                │        │           │
││"P2"    │400         │                │        │           │
││"P1"    │300         │                │        │           │
│└────────┴────────────┘                │        │           │
└───────────────────────────────────────┴────────┴───────────┘

We could consider some syntax addition to TutorialD which would generate graph traversals using RVAs, but I'm not yet sure what that would look like.

I found an article talking about tree structure in sql (in Chinese).
Tree structure in SQL
Basically, it says there are four ways to do that:
Adjacency List: easiest to implement and understand
Path Enumeration: convenient when paths are needed
Nested Sets: good for query frequently but modify occasionally.
Closure Table: flexible, needs extra space.

Thinking about implementation, I don't think RVAs by join and group are an intuitive way to show a depth n recursive relationship. And it may creates attribute names like _1, _2, ....  Sounds redundant.
Maybe graph traversal, like sorted DataFrame, should have its own representation. Or just stay in user system after a plain relational query.

There's actually a more natural way to represent graphs in the relational algebra which I have not seen before. It's not quite possible in Project:M36 because we don't support recursive data types, but it should be possible to support in the future.
Here's an example that works today that hints at what could be possible:
TutorialD (master/main): :showexpr relation{tuple{val 4, children relation{tuple{val 6,children relation{tuple{}}}}},                   tuple{val 10, children relation{tuple{val 1, children relation{tuple{}}},                                                   tuple{val 2, children relation{tuple{}}}}}}
┌───────────────────────────────────────────────────────┬────────────┐
│children::relation {children::relation {},val::Integer}│val::Integer│
├───────────────────────────────────────────────────────┼────────────┤
│┌─────────────────────┬────────────┐                   │4           │
││children::relation {}│val::Integer│                   │            │
│├─────────────────────┼────────────┤                   │            │
││┌┐                   │6           │                   │            │
││││                   │            │                   │            │
││├┤                   │            │                   │            │
││└┘                   │            │                   │            │
│└─────────────────────┴────────────┘                   │            │
│┌─────────────────────┬────────────┐                   │10          │
││children::relation {}│val::Integer│                   │            │
│├─────────────────────┼────────────┤                   │            │
││┌┐                   │2           │                   │            │
││││                   │            │                   │            │
││├┤                   │            │                   │            │
││└┘                   │            │                   │            │
││┌┐                   │1           │                   │            │
││││                   │            │                   │            │
││├┤                   │            │                   │            │
││└┘                   │            │                   │            │
│└─────────────────────┴────────────┘                   │            │
└───────────────────────────────────────────────────────┴────────────┘

If we could define a recursive type for the top-level relation, then we could conceivably enable unlimited levels of nested structures using nested relations. This would allow us, for example, to enable fine-grained constraints on the graph use normal database constraints.
This is certainly more natural than adjanceny lists and less error-prone than number range-based graphs structures.


Improve wiki template editing internals

Improve the code that edits and updates the Map template.
Use bracket counting and better parsing.
Possible research wiki code libraries for best practices.

fixed and in staging with commit 9a7be703e5f8daee737c1bfbaa26f514090e7d66


fix: dialogue title and description to be white on dark ui

Checklist

[x] JIRA - LW-9679
[ ] Proper tests implemented
[x] Screenshots added.

Proposed solution
Fixing the variables for dark UI of the title and description color.
Testing
Run the storybook UI and check the dialogue component in dark UI.
Run the flow and reach the screen.
Note: core doesn't contain dark UI yet.
Screenshots

coverage: 52.044%. remained the same
when pulling e8d5b27af343bf483edc4206bc961b409f69d775 on fix/lw-9679-wrong-menu-background-color
into c3df62700f716b5e2727aecf65e662529d3fce38 on main.

@VanessaPC could you merge the latest main and fix conflicts please 🙏


How to maintain several major releases?

I have to maintain two different versions - v2.* and v1.* (for legacy and bug-fixes).
Now I got "Version can't be lower than last version: v2.0.0" if I try to release into v1:
semtag final -v v1.23.0 -f

Any ideas? Or workarounds?

nope, sadly the versions can only be incremental, only workaround comes to my mind is to maintain a fork of your code with its own versioning each


remove className string from AbstractNode, make a better solution that respects polymorphic principles

move up children from NodeFolder to AbstractFolder - isFolder becomes children.size() > 0

and remove the node type enum! it's useless

uhh it's complicated... will do in next gui


Updated template to include SPC option and digital signature

Closes #97, #91
Go to docs/2965D_YYMMDD_ZEXXX.xltx and have a play to:

Check if changing the SPC works during soaring
Check if changing SPC works during aeros
Enter the last four of your service number into AF initials. See the initials appear in the "Print Copy" sheet. Enter 1234 because SNs have been removed in the template for privacy

@DAbbott99 amazing suggestions, thank you!

Aeros and Soaring tick boxes are within protected cells. Will need unprotected as to allow selection before merging.
Doh 🤦♂ I updated this now

SPC changes as expected without issue. But before further roll out to wider 2FTS the option for all 7 SPCs to be inputted would need to be added (i.e Aerotow). This can still be a down the line fix so doesn't prevent merging
Yep that would need the 2965A, so would be a new document altogether. I am content this is out of scope of this pull request

A/F initials work as expected no issue. Will be an easy fix but has how those without service numbers use this system been disscussed?
That would require a wet signature. We have to get a wet signature from the DS anyway but at least this method stops us chasing half the squadron each day.

Last Q @mjennings061 (playing devils advocate because I do like the idea) to do with the A/F how about visitors? The example I think which started all this was Gary on CFS he would want to sign then and there rather than wait until printed but then not being on the list he wouldn't be able to use a pin.

Last Q @mjennings061 (playing devils advocate because I do like the idea) to do with the A/F how about visitors? The example I think which started all this was Gary on CFS he would want to sign then and there rather than wait until printed but then not being on the list he wouldn't be able to use a pin.

Had a chat with JB. We will add visitors to the INPUT_DATA sheet when they arrive. They can also sign the physical copy so all is well


Imrpove user experience of site. Front end design. Estimated work time: 1 hour or less.

Our site has a few differnt users: Lawyers/Law students, returning citizens (those with criminal or arrest records) and other (case managers, family members etc).
We want to be ask at the beginning of the site  who that person is. For example, it could be 3 buttons and we ask the user to click which one they are. I..e  Option 1: lawyer/law sudent 2) returning citizen/formerly incarcerated, 3) case manager, 4) family member of formely incarcerated.
Our hope is tha thtis will allow us to track who is using the site better. We also will be able to change the language so its more affirming. For example, if the person using the site is a lawyer trying to help a client, we can change the language to ask, "does your client have their criminal record now" as opposed to saying "do you have your cirminal record now).

 Can disclaimer be shrunk/condensed, like a Wikipedia sub page?
Can disclaimer be shrunk/condensed, like a Wikipedia sub page?
Text looks overwhelming, any bolding or formatting to break it up? linking out to affiliated organizations/contact (PDSDC) and menu options
Bold button?
include disclaimer in hamburger
Shorten up language as much as possible on home page
linking out to affiliated organizations/contact (PDSDC) and menu options
Page 1
Mobile
Spacing looks fine. On PC space needs trimming.
Page 2
Mobile
Text gets pretty bulky really quick; The meaning of legal words is a great idea, but the feature needs to define the text NOT in legalese (e.g. Jurisdiction: "the legal authority of the court to hear and decide a certain type of case" &shrug
Would there be a way to contract/expand the information available? E.g. subbing "I was arrested in DC b/c I had a warrant in another jurisdiction" to "I was arrested in DC…" and clicking  "…" to reveal the rest of the text
^^ will reduce scrolling needed, especially if it's click thru, not hover over
Would it be possible to have a main menu that divvies up the users into "Returning Citizen", "Lawyer", and "Social Worker"? Not sure how useful the "Lawyer" portion would be, since we're deciphering their work, but having the Returning Citizen and Social Worker option would lend to a more succinctly crafted webpage
http://www.cleanslatedc.com/#/eligibility/531
Mobile
Eligibility page is horribly confusing/unorganized
confused by filter term option /doesn't work
Filter term option accepts only EXACT search terms (e.g. "Possesison of Pistol" yields correct term,but not "gun" or "posesion gun")
long, long list of misdemeanors and hard to keep track. Could there maybe be a bubble list where you select certain offenses

Change intial menu page that expands when clicked on:

Incorrect criminal record
Seal non-conviction
seal conviction
arrest & warrant in another jurisdiction
seal arrest -no conviction
Marijuana

Resources:
http://blog.templatemonster.com/2014/06/27/click-to-expand-paragraph-text-with-jquery/
http://designgala.com/how-to-expand-collapse-toggle-div-layer-using-jquery/

Accordion javascript: http://www.elated.com/articles/javascript-accordion/

Here is visualization of how it could look. But feel free to use your own creativiity.

Presentation5.pdf

@brianek I'm not sure what needs to be done here. Will you provide clearer instructions, including what links to click on in order to see the defect? What is the "initial menu page" for example? Thanks!

@ParentJA Sorry about the confusion. I made a video that is less than 4 minutes and explains everything. http://youtu.be/yRIG2To4V5U

@brianek I saw in the video where you wanted to move the disclaimer into an accordion menu, so I submitted a pull request with that change.  I'm going to try to help with some of the other UX items this weekend.

@brianek I adjusted the UI to add the new audience question and changed the categories for sealing records from buttons to using the accordion menu.  For the new audience question, I wasn't sure where to add the textbox to capture comments if a user selects "Other" though.  What do you think about making those radio buttons instead?  It would make it easier to add the textbox.  Then, we could add a continue button that could get the next step based on the item selected.

Sure. Radio button would work. @rdeprey

From a UX perspective, I am also thinking about removing the "other" button.

@rdeprey. Whats your opinion on that? If you support use of the "other" option  then feel free to implement the radio buttons.

@brianek Yeah, I'm not sure about the Other option because it will be hard to use it to target the language.  I guess you could collect the data from it though and use it for future improvements.

@rdeprey Sounds like  a plan. So yes to turning tthem into radio buttons.


Fatal error: Attempted to read an unowned reference but the object was already deallocated

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
n/a
A production user of our Flutter mobile issue had this issue occur to them:
https://hunter-industries-mz.sentry.io/share/issue/3ab1168474444fbf8d21435033a97f33/
This was discovered via Sentry production monitoring tool.
AI analysis of the root issue to possibly investigate in Flutter's swift code:
The error message "SIGABRT Fatal error: Attempted to read an unowned reference but the object was already deallocated" is a runtime error in Swift. It occurs when you're trying to access an object that has already been deallocated from memory¹.
In Swift, unowned is a way of creating a weak reference to an object. However, unlike weak, unowned assumes that the referenced object will always be there (i.e., it will not be deallocated during the lifetime of the reference). If the object gets deallocated and you try to access it, you'll get a runtime error¹.
This error often happens when you're using unowned incorrectly. For instance, if you create an object and assign it to an unowned constant, but there's nothing else holding a strong reference to the object, the object will be deallocated immediately. Then, when you try to access the unowned constant, you'll get the error because you're attempting to read a deallocated object¹.
To fix this issue, you need to ensure that there's a strong reference to the object for as long as the unowned reference exists¹. Here's an example:
class Example {}
let oneExample = Example() // properties are strong by default
unowned let theSameExample = oneExample

In this code, oneExample is a strong reference to the Example instance, so the instance won't be deallocated as long as oneExample exists. Therefore, theSameExample can safely be an unowned reference to the instance¹.
I hope this helps! Let me know if you have any other questions. 😊
Source: Conversation with Bing, 11/13/2023
(1) Why can't I give an unowned constant an initial value?. https://stackoverflow.com/questions/48413419/why-cant-i-give-an-unowned-constant-an-initial-value.
(2) c++ - What causes a SIGABRT fault? - Stack Overflow. https://stackoverflow.com/questions/11161126/what-causes-a-sigabrt-fault.
(3) Attempted to read an unowned reference but object was already .... https://stackoverflow.com/questions/60237114/attempted-to-read-an-unowned-reference-but-object-was-already-deallocated-swift.
(4) Fatal error: Attempted to read an unowned reference but object x was .... https://github.com/supabase-community/supabase-swift/issues/13.
Expected results
app not crash
Actual results
app crashed
Code sample
See highlighted swift code in the issue:
https://hunter-industries-mz.sentry.io/share/issue/3ab1168474444fbf8d21435033a97f33/
Screenshots or Video
n/a
Logs
https://hunter-industries-mz.sentry.io/share/issue/3ab1168474444fbf8d21435033a97f33/
Flutter Doctor output
[√] Flutter (Channel stable, 3.13.6, on Microsoft Windows [Version 10.0.19045.3570], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Enterprise 2022 17.6.4)
[√] Android Studio (version 2022.3)
[√] VS Code, 64-bit edition (version 1.83.1)
[√] Connected device (4 available)
[√] Network resources
• No issues found!

Unfortunately without a repro case that stack is not actionable; there's no Flutter code on the stack to work from. All we know from what's there is that something, somewhere, went wrong with an animation completion block. That could be in UIKit itself, it could be in Flutter, or it could be in any plugin used by the application.
If you can provide a reduced test case that reproduces it (even if not consistently), with steps, and with no third-party plugins, please file a new issue and we can investigate from there.


ASCT+B table stats tweaks

[ ] Add padding-right to cells in ASCT+B stats tables to make them more visually aligned to header columns

I'm good with how it is on production now 👍


[WIP} Telemetry: Lvm exporter for Prometheus

What this PR does / why we need it:
This PR is  the  first version of lvm exporter for Prometheus .
lvm exporter creates and http end point for Prometheus/third party to scrape/consume metrics.This uses openSDS lvm metric driver code to collect metrics and expose an endpoint .
This is an independent   binary  where user has to provide the port number for endpoint as command line parameter.
This  port number can be configured in Prometheus config to scrape from  lvm_exporter .
Which issue this PR fixes
Special notes for your reviewer:
This has dependency with https://github.com/opensds/opensds/pull/668 for the driver code
and https://github.com/opensds/opensds/pull/660 for the Prometheus libraries
Release note:

@xing-yang @leonwanghui @kumarashit @skdwriting @rhsakarpos @wisererik

Please refer to this as example, to add thread safety and configuration for LVM exporter (Prometheus needs the exporter to be thread safe too)
https://github.com/digitalocean/ceph_exporter/blob/luminous/exporter.go

Coverage increased (+0.6%) to 32.723% when pulling 7578c7d80a2a4c7fd641f6efd5cff07325419024 on NajmudheenCT:lvm_exporter into 58bde47b3a45b5b3ecf1fb0adfb3aa6a37930305 on opensds:development.

@NajmudheenCT Please refer to this as example, to add thread safety and configuration for LVM exporter (Prometheus needs the exporter to be thread safe too)
https://github.com/digitalocean/ceph_exporter/blob/luminous/exporter.go

Thank you! . I have implemented  mutex lock and unlock to collect method

I'm wondering why there are so many files added, did you use dep ensure to install them?

I'm wondering why there are so many files added, did you use dep ensure to install them?

@leonwanghui , Yes, dep ensure has been run and it added all dependency packages to /vendor

@leonwanghui , Yes, dep ensure has been run and it added all dependency packages to /vendor

But I didn't see any changes on Gopkg.toml, maybe you should update that file first before running dep ensure

@leonwanghui ,
I ran dep init and dep ensure again to update the packages, I hope this operation has created so many copied files. I am closing this PR and opened a new PR https://github.com/opensds/opensds/pull/697


[Chore + Mini-Features] Metis exercise/lecture discussion section improvements

Checklist

[x] I tested all changes and all related features with different users (student, tutor, editor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Client: I followed the coding and design guidelines.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into German and English

Motivation and Context

The discussion section (former "Postings" former "Q&A") on exercise and lecture pages had some improper translations, such as "Postings" (in German and English), which I wanted to change. Thereby, I realized that many other styling issues should be resolved, the structure in general could be improved to a cleaner version and some mini-features should be added.
I decided to go for a "Chore+Mini-Features PR" 😄
Description

Styling and Appearance

change of colors (too many nested grey boxes, icons too black), sizes of icons
introduce different icons for post (bubble) and answer post (two bubbles)
fixed button misalignment in edit mode (cancel and save button)
re-structuring of answers and posts e.g. line divider between posts

Translation and labels

remove labels and tooltips where not necessary (e.g. post, answer above the content -> label, style and placement should be enough to identify a posts and answers)
section name is changed to Discussion
German translation for Post is Beitrag
all Metis related translations were factored out in dedicated translation files

Mini-Features

Input validation: it should not be possible to created or save (after edit) posts or answers without content
Loading feedback: the save-button was changed to a button with spinner indication during loading time (It happened to me sometimes, that I got impatient when I did not receive any feedback of the loading process and clicked on save two times, which led to duplicated posts)

Steps for Testing

Note: I did not change the logic of voting or approving, please focus on reporting issues regarding the style or the wording of the discussion section, or bug related to the mini-features mentioned above.

Log in to Artemis
Navigate to an Exercise or Lecture page and use the discussion section
As student: add posts and answers, edit own posts
As instructor: add posts and answers (automatically approved), edit posts and answers of anybody

Test Coverage

Screenshots

Before:

After:

Tested in testing session on ts1. The styling is a bit broken, if the problem statement is rather wide, the posting section gets moved to the bottom.

Should be fixed with a4ce7a3

I had to commit a fix for the overflow problem. If a UML diagram was rendered in the problem statement of a programming exercise and the screen size was decreased, the behavior of the discussion section was not as intended.
@Reviwers, please check out this scenario and report, if the section is moved below the problem statement as spans over the full page width.

Tested on ts3. For me, in both languages and both as student and instructor the text for most options is not displayed correctly (see screenshots)
@KiraNickel that's most probably a caching issue. Could you please try to empty your browser cache and reload the page before testing it once again?


Solver status: infeasible when using add_sector_constraints

Hi,
I am trying to use the max_sharpe() to optimize my portfolio.
p.s. I am not optimizing portfolio of stock but wine assets.
I have 90 assets in the price df.
return:

risk matrix:

sector_mapper = {...}
sector_lower = {"Bordeaux": 0.2, "Burgundy White": 0.1, "Burgundy Red": 0.1,
                "Italy": 0.1, "Champagne": 0.1, "Rest of France": 0.05, "Spain": 0.0,
               "USA": 0.0, "Rest of World": 0.0}

sector_upper = {"Bordeaux": 0.35, "Burgundy White": 0.2, "Burgundy Red": 0.2,
                "Italy": 0.15, "Champagne": 0.2, "Rest of France": 0.15, "Spain": 0.1,
               "USA": 0.15, "Rest of World": 0.15}

mu = expected_returns.mean_historical_return(df)
S = risk_models.risk_matrix(df, method="ledoit_wolf")

ef = EfficientFrontier(mu, S)
ef.add_sector_constraints(sector_mapper, sector_lower, sector_upper)
ef.add_objective(objective_functions.L2_reg, gamma=0.1)
weights = ef.max_sharpe()      <----- error here

cleaned_weights = ef.clean_weights()
ef.portfolio_performance(verbose=True)

The error occurs in ef.max_sharpe()
---------------------------------------------------------------------------
OptimizationError                         Traceback (most recent call last)
Input In [233], in <cell line: 2>()
     59 ef.add_objective(objective_functions.L2_reg, gamma=0.1)  # gamme is the tuning parameter
     60 #ef.solver = "ECOS"
---> 61 weights = ef.max_sharpe()
     62 #weights = ef.min_volatility()
     64 cleaned_weights = ef.clean_weights()

File ~\AppData\Roaming\Python\Python39\site-packages\pypfopt\efficient_frontier\efficient_frontier.py:288, in EfficientFrontier.max_sharpe(self, risk_free_rate)
    281 # Transformed max_sharpe convex problem:
    282 self._constraints = [
    283     (self.expected_returns - risk_free_rate).T @ self._w == 1,
    284     cp.sum(self._w) == k,
    285     k >= 0,
    286 ] + new_constraints
--> 288 self._solve_cvxpy_opt_problem()
    289 # Inverse-transform
    290 self.weights = (self._w.value / k.value).round(16) + 0.0

File ~\AppData\Roaming\Python\Python39\site-packages\pypfopt\base_optimizer.py:300, in BaseConvexOptimizer._solve_cvxpy_opt_problem(self)
    297     raise exceptions.OptimizationError from e
    299 if self._opt.status not in {"optimal", "optimal_inaccurate"}:
--> 300     raise exceptions.OptimizationError(
    301         "Solver status: {}".format(self._opt.status)
    302     )
    303 self.weights = self._w.value.round(16) + 0.0  # +0.0 removes signed zero
    304 return self._make_output_weights()

OptimizationError: ('Please check your objectives/constraints or use a different solver.', 'Solver status: infeasible')

I have also tried to use min_volatility/efficient_risk/efficient_return instead of max_sharpe, but same error occurs.
When i comment add_sector_constraints(), it is working fine.

Interesting!
It looks like there shouldn't be any problem with your set of constraints. Something that might be worth trying is using very loose sector constraints i.e set all lower to 0 and all upper to 1. If this works, then you can start bringing the bounds towards your desired bounds to try and see where the bug is coming from.
If it doesn't work, then I'll need to think more.
Another thing: could you try running without ef.add_objective(objective_functions.L2_reg, gamma=0.1)? max_sharpe doesn't work well with additional objectives

Thanks.
It is working fine after tuning the sector_lower and sector_upper to different values, and fillna to my price dataset.


Debug API

Hey guys,
I'm trying to debug the API in Eclipse but I can't find a way to do it. If one of you has any idea how to proceed I'll be glad.
Thanks
PS: My maven experience is pretty limited.

@matthiasthomas We use IntelliJ here, but basically you will have to start your api in debug mode instead of run, and then after that basically put your break points, and hit the api if you know the parameters directly via your browser or just navigate the application to hit the api.

Hi @subodhbattina ! Thanks for your answer.
I'm not sure what command line I should use in the debugging configuration though. I installed intellij and imported the project just to see if that changed anything but it doesn't. Could you check what's the configuration you're using to debug it ?
I haven't been able to run it from the IDE either btw, I usually just run the jar from the console using "java -jar api.jar ...", but my knowledge of Java/Maven is pretty limited.


Can cargo build do conservative updates?

Describe the problem you are trying to solve
Currently, if cargo build detects that the lock file is out of date, it does a regular cargo update, i.e. the one described by this line in the help:

If SPEC is not given, then all dependencies will be re-resolved and updated.

For a workspace with a large number of frequently changing Cargo.toml files, the lock file is almost always out of date. This proves to be a problem because of two reasons:

Longer build times, especially if upstream deps get upgraded.
A great number of tricky merge conflicts, and there's no merge tool available to resolve them yet.

Describe the solution you'd like
Instead, we would like to configure things so that:

cargo build does a conservative update by default: it figures out which dependencies are missing from the Cargo.lock and only adds new versions. Of course, if one of those deps causes an update to another dep, it's fine to change that as well.
Separately, we set up a cron job that updates the Cargo.lock file and checks the new version in.

The problem is that there appears to be no way to configure cargo build to do a conservative update. Ideally this would be somewhere in the workspace Cargo.toml file, but an environment variable is also fine.
This won't completely eliminate either problem, but at least greatly reduce its likelihood.

Thanks for the report! This should actually already the be the default (conservative updates) but do you have an example of where a conservative update isn't being done so we can debug?

Thanks Alex!
Hmm, interesting -- that didn't seem to match the behavior I or my coworkers saw. Though I did just run cargo update and saw a large number of updates. I'm going to see if I can get a repro over the next couple of days, but I suspect it might have been PEBKAC on my end :)

I am going to close this for now. If you find a more precise description of the problem please comment so we can reopen.


Xcode 6.3

Fixes #39

Coverage decreased (-0.05%) to 90.88% when pulling c7007453e0b892b6c5a034cac170deadf9a426cf on xcode-6-3 into 3cc0695d9e62dca00cfcfeaf1947a22c866b9c85 on master.

Coverage decreased (-0.05%) to 90.88% when pulling c7007453e0b892b6c5a034cac170deadf9a426cf on xcode-6-3 into 3cc0695d9e62dca00cfcfeaf1947a22c866b9c85 on master.


Support big-endian hardware

Big-endian hardware is currently explicitly unsupported:
https://github.com/paulmillr/noble-hashes/blob/9f9c435db889fbc905ffbaa8f57c085a4ccb83cf/src/utils.ts#L28-L31
As an indirect consumer of this package (via noble-curves), it would be great not have to worry whether consumers of my code want to run on big-endian hardware.

What specific big-endian hardware you want your consumers to be able to run this on?
The issue is not limited to noble. Any JS hashing library doesn't support BE hardware. The different is that they don't even test for it.
It would probably be complicated to support.

The specific hardware I've had user feedback on is s390x.
The issue I have as a consuming package is that I am not making any direct use of @noble/hashes. I am only using @noble/curves, and only using that to create signatures of pre-computed digests with P-256 (and P-384) ECDSA private keys. Apparently just loading (Node.js require) the @noble/curves/p256 (and p384) modules causes error about big-endian support to be thrown from @noble/hashes.
If there is any way to restructure modules to avoid the error on load, and just allow signatures to be created with @noble/curves, that would be fine for my use-case.

Of course, because noble/curves/p256 uses noble-hashes for its hashing functionality. So, we early-error there.
I'm not even sure noble-curves would work correctly on BE arch -- with, or without noble-hashes.
Can this person comment-out the "error" throwing test and run all noble-curves and noble-hashes tests? I'm sure something will fail.

There is no guarantee packages (hashes, curves, indutny-hash) produce correct outputs at all. So, it's better to early-throw instead of providing false sense of compatibility. I also don't see how using curves with nodejs builtins would be better.

This seems kinda fiddly to do with the abstract API

Nothing fiddly, it's easy and takes a few lines of code. README has all the info.

There is no guarantee packages (hashes, curves, indutny-hash) produce correct outputs at all. So, it's better to early-throw instead of providing false sense of compatibility. I also don't see how using curves with nodejs builtins would be better.

Can you explain what you mean by this? The outputs of the indutny ECDSA signing and Node.js hash implementations on big-endian systems both seems to interoperate correctly with signature verification implementations in Golang on big-endian and little-endian systems. Their behaviour seems to match that of equivalent signature generation and hash implementations in Golang and Java, both of which also interoperate (on both big-endian and little-endian systems) with the same Golang signature verification implementation. It seems unlikely to me that they all suffer from identical and compatible broken implementations.

Nothing fiddly, it's easy and takes a few lines of code. README has all the info.

The README says the Hash should take this form:
type CHash = {
  (message: Uint8Array): Uint8Array;
  blockLen: number;
  outputLen: number;
  create(): any;
};

What is the create() and what should it return?

It seems unlikely to me that they all suffer from identical and compatible broken implementations.

Run wycheproof vectors against indutny and noble hashes on BE and you will now. We are not guessing here - we need a real proof.

What is the create() and what should it return?

const sha256 = function(message) {return actualHash(message)}
sha256.create = sha256
sha256.blockLen = ...
sha256.outputLen = ...

It could, however, there are time constraints.
Pull requests are welcome.

Hi @paulmillr I've been looking at this issue with @rposts. I've opened https://github.com/paulmillr/noble-hashes/pull/81 for adding support for big-endian platforms. Looking forward to your feedback when you get a chance and happy to make any changes necessary.

@bestbeforetoday I aim for quarterly cadence for the sake of simplified auditability for users. Last one was in December, so perhaps March or April. For now, it is possible to build a file by cloning a repository, and using build directory.
@jonathan-albrecht-ibm if you are willing to lend us a help with noble-ciphers, which also need BE support, we would be grateful!


Address KillSignal/exiting & sudo in Linux topics

Fixes #8442
Fixes #7641
Fixes #8385

sudo on systemctl calls.
Drop text out of notes: IMO devs should just read these passages in the the normal flow of the text.
Doc TimeoutStopSec.
Add KillSignal=SIGINT to config file.

@shirhatti @Praveen-Rai @harrison314 Consider this a draft ... it needs a touch more work.
@shirhatti, you said ...

systemd defaults to sending SIGTERM

Does setting KillSignal=SIGINT override the default SIGITERM for KillSignal, or are both eligible to act as a kill signal for the app after this setting is made? I think we'd want to relay that info here. If it's a replacement of the default, I'll also specify which one where this says "initial terminate/interrupt signal." It will either remain as "initial terminate/interrupt signal" or go to "initial interrupt signal."
Online docs say that the default for TimeoutStopSec is 90 seconds via DefaultTimeoutStopSec. I say "for most distros" here. Should it flatly say that it's 90s? ... can we assume this? ... or shall we stick with "for most distros" language?

@guardrex Can you also include changes for #8385 in this request ?

Use of PPA was something that @shirhatti wrote into the topic. I'll defer to him on that question/issue.

Adding a link to the official tutorial from Nginx was something you suggested in the past as well 😄 https://github.com/aspnet/Docs/issues/5575#issuecomment-369675875

@shirhatti I think instead of using PPA in the Install Nginx section, we must go with the official package. Which means we should refer to just this section.
That works absolutely fine ( as far as i remember it did for me ) and we already have a hyperlink to it in our document, so the users looking for PPA will get the information about the same on the Nginx page.
Your thoughts ??

@shirhatti ... and I still have those ❓ in the OP :point_up:.

Does setting KillSignal=SIGINT override the default SIGITERM for KillSignal, or are both eligible to act as a kill signal for the app after this setting is made? I think we'd want to relay that info here. If it's a replacement of the default, I'll also specify which one where this says "initial terminate/interrupt signal." It will either remain as "initial terminate/interrupt signal" or go to "initial interrupt signal."

It's a replacement.

Online docs say that the default for TimeoutStopSec is 90 seconds via DefaultTimeoutStopSec. I say "for most distros" here. Should it flatly say that it's 90s? ... can we assume this? ... or shall we stick with "for most distros" language?

I'd stick to the most distros verbiage

... and I still have those ❓ in the OP ☝.

Ahh sorry. Yes let's link to the nginx docs

Ahh sorry. Yes let's link to the nginx docs

Ok ... so stop me if this is incorrect:
I'm going to remove what we have for PPA and link the install section over to the Nginx doc, which has both. I'll get that in shortly here and ping back.
... and I'll also clarify the language for KillSignal.

@shirhatti See if the last commit works.
You only need to look at the install paragraph change.
In the KillSignal paragraph, I only changed ...

it receives the initial terminate/interrupt signal.

... to ...

it receives the initial interrupt signal.

... because KillSignal=SIGINT is a replacement for KillSignal=SIGTERM.

"Distributions" it is ... btw --- Bernie probably would have gone with distros. 👴 :smile:


why keys command not working with proxy.

When I am trying keys , keys * it is not finding keys from cluster.
<IP_ADDRESS>:7000> keys *
(error) ERR unknown command 'keys'

Hi @fortrue thanks for update, we have tried to use SCAN and we are using KEYS with care but SCAN seems to have too slow in production.

Hi, even cluster command also not working
<IP_ADDRESS>:7617> cluster nodes
ERR unknown command 'cluster'
Any idea to support

Hi, even cluster command also not working
<IP_ADDRESS>:7617> cluster nodes
ERR unknown command 'cluster'
Any idea to support

"cluster" is a Predixy inner command.
Inner commands are not added to command map for client command validation and are not recognized.
Refer to Command::init().

Thanks for update..
But java redis cluster client trying to execute cluster nodes/cluster info to verify is redis in standalone or cluster mode while connecting to cluster mode redis server through predixy proxy.
then predixy is throwing error like ERR unknown command 'cluster'.
Is there any way we can solve this issue


Problems encountered when setting pdomOrder

Related to https://github.com/phetsims/geometric-optics/issues/235 ... This issue documents several problems that I encountered when trying to set pdomOrder.  You might want to cover these in documentation, and/or improve API support.
I have GeometricOpticsScreenView, a base class, and I want to set its pdomOrder. At the end of the constructor, I tried:
this.pdomOrder = [ ... ];

which fails with:

Uncaught Error: should not need to set accessible order on a ScreenView
at LensScreenView.setPDOMOrder (ScreenView.js:158)

Apparently you cannot set a Screen's pdomOrder.  I have no idea why that's the case, so I moved on to this solution (which I also used in Fourier):
// @protected
this.screenViewRootNode = [....];
this.addChild( this.screenViewRootNode );
this.screenViewRootNode.pdom = [ ... ];

... and that works fine.
As I mentioned,  GeometricOpticsScreenView is a base class.  So my subclasses will need to augment the pdomOrder.  And this is where I really ran into problems.
My subclass (LensScreenView extends GeometricOpticsScreenView) needs to insert 1 Node into the pdomOrder.  First I tried this:
this.screenViewRootNode.pdom.splice( ..., 0, projectionScreenNode );

This code runs, but projectionScreenNode was not in the traversal order.  Poking around in PDOMInstance.js, I discovered that pdomOrder is an ES5 setter.  So the above code gets the array, adds to it, then the array get's GC'd.
Next I tried this:
const pdomOrder = this.screenViewRootNode.pdom;
pdomOrder.splice( ..., 0, projectionScreenNode );
this.screenViewRootNode.pdomOrder = pdomOrder;

This again did nothing.  Back into PDOMInstance.js , set pdomOrder calls setPDOMOrder, which is a no-op if the array reference is the same.
So I finally had to create a new array instance using the spread operator, like this:
const pdomOrder = this.screenViewRootNode.pdomOrder;
pdomOrder.splice( ..., 0, projectionScreenNode );
this.screenViewRootNode.pdomOrder = [ ...pdomOrder ];

This is very obfuscated, with lots of opportunities for (silent) errors.  I also think this is an unreasonable amount of code to do something this simple.
Questions:

Should these pitfalls be documented for the benefit of other developers?
Is there a better pattern that I'm not aware of?
Can the pdomOrder API be improved to make this easier?

A reminder to update the alternative-input-quickstart-guide.md if anything changes after this issue.

In https://github.com/phetsims/joist/commit/03f264446d2aca5d5f5e52cc615c372154033af5, I clarified the error message of ScreenView to improve this part:

Apparently you cannot set a Screen's pdomOrder. I have no idea why that's the case,

We also have better information in the alternative-input-quickstart-guide.md now.

which is a no-op if the array reference is the same.

This is improved in https://github.com/phetsims/scenery/commit/14a3f3a429734327f0e3f9f9264a94e9609a74ad, the arrays are no longer compared by reference. I added a few unit tests for this (although, since getPDOMOrder returns a deffensive copy, it is pretty rare that you would run into this case - that is likely new since this issue was opened).
For the rest, I will leave as is for now. pdomOrder uses the same pattern as other scenery getters/setters involving arrays. I added a comment to getPDOMOrder describing that it is returning a deffensive copy.
Closing.


I want to add path visualization program using BFS and DFS

I want to add path visualization program using bfs and dfs
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Make  a path visualization program in python using pygame for the BFS and DFS algorithms
Additional context
The user will have the ability to make start and end point and create walls. Once done an key must be pressed for the program to start and will visualize the path from start to end point and then will color the best route according to the algorithm.
Gif

Languages

[x] Python

@listout if you have already implemented it then we don't require copied code. If you can customize this/improve this here then specify how

Yes I have implemented this. I got assigned another one so you can close this one.


multiline parsing values error.

Hi,
With helm 3.0.3, I try to use multiline variables, but if I have a second line that starts with at least 3 minus (---), such as a public key, a parsing error is raised.
deployment.yaml
spec:
  template:
    spec:
      containers:
        - env:
            - name: PUBLIC_KEY
              value: "{{ .Values.app.publicKey }}"

values.yaml
app:
  publicKey: |
    -----BEGIN PUBLIC KEY-----
    ...
    -----END PUBLIC KEY-------

helm template charts --values charts/values.yaml

Error: YAML parse error on templates/deployment.yaml: error converting YAML to JSON: yaml: line 95: found unexpected end of stream

If the last line starts with less than 3 minus, it works.

Hi @lucaspouzac. Can you check and confirm if this might be due to a YAML parser error? It's possible that a YAML parser may treat that as an escape ending. Have you looked into possible workaround?

An alternative option may be to use .Files.Get instead: https://helm.sh/docs/chart_template_guide/accessing_files/#scrollpane

I try also
{{- $publicKey := printf "%s%s" .Values.app.publicKey "-----END PUBLIC KEY-----" -}}

with values.yaml
app:
  publicKey: |
    -----BEGIN PUBLIC KEY-----
    ...

And I have the same error.
I just tested it right now with .Files.Get, and I have the same problem.

The error comes from the YAML parser, which lazily sees --- as a stream separator. Can you please post the results of using .Files.Get? It may be that injecting this into Kubernetes is where the parse error is occurring, in which case we will need to figure out what the right escape sequence is. This should be documented somewhere in the YAML 2 spec. https://yaml.org/spec/

With .Files.get, I have the same problem.
public.key file
-----BEGIN PUBLIC KEY----- abcd abcd -----END PUBLIC KEY-------
secret.yaml
apiVersion: v1 kind: Secret metadata:   name: test-pub-key type: Opaque stringData:   PUB_KEY: {{ .Files.Get "public.key" }}
Result:
Error: YAML parse error on templates/secret.yaml: error converting YAML to JSON: yaml: line 8: could not find expected ':'

If I use data instead of stringData, it seems to work.

closing as stale.

This problem still persists, and the lack of multiline support for 2 years it troublesome.
The problem is not embedded within the values.yaml, or the rendering of the value in the template; but rather, in the template having a pipe "|" character in the plain text portion of the template.  Multi-line values where the template uses a ">" work fine.
For this reason this is probably a bug.
Any template, containing
key: |
Will fail,  even if typing in the value directly
key: |
-----STUFF-----
And I have working examples of passing the values into the templates from mulitline (with the | ) values.yaml files.  Dry run rendering works 100%, but the output YAML is invalid due to the missing pipe character.

The files approach is an ugly hack that is unnecessary.  The better approach, that works for muliline values needing a |
(values.yaml)
path:
value: |
asdf
asdf
value2: yes
(some template)
value: {{ toYaml .Values.path.value | indent 4 }}
the indentation value will have to be adjusted to ensure your multiline value is under the rendered tag indentation.  The toYaml directive will add a pipe character "|" and a newline before the value.

any solution here ... i am so annoyed by this really ..

I had the similar problem of Error: YAML parse error on templates/route.yaml: error converting YAML to JSON: yaml: line 19: could not find expected ':'
The values (tls_crt and tls_key) was base64 encoded and decoded before updating into values.yaml
and adding quote has solved the problem.
  tls:
    termination: edge
    insecureEdgeTerminationPolicy: Redirect
    certificate: {{ .Values.tls_crt | quote }}
    key: {{ .Values.tls_key | quote }}


Respond with boolean bootstrapped field in node health check

cc @xichen2020 @martin-mao @cw9

Coverage increased (+0.1%) to 79.673% when pulling 707d7365b9ed2c4ac7d8e5d5925da4a8e4a6e4bf on add-bootstrapped-result-to-healthcheck into 82e85d6e24dd72f8744cb907a588a41d4db4d456 on master.

Coverage increased (+0.1%) to 79.673% when pulling 707d7365b9ed2c4ac7d8e5d5925da4a8e4a6e4bf on add-bootstrapped-result-to-healthcheck into 82e85d6e24dd72f8744cb907a588a41d4db4d456 on master.

Coverage increased (+0.1%) to 79.673% when pulling 0149c587e29cace4a4e919ecdd8b8cda8a56e3bb on add-bootstrapped-result-to-healthcheck into 82e85d6e24dd72f8744cb907a588a41d4db4d456 on master.


Cargo2Nix in workspace shell

I don't really want to do nix run github:cargo2nix/cargo2nix/release-0.11.0 every time I want to run cargo2nix to update the Cargo.nix file, so I thought it'd probably be in the workspaceShell by default but it wasn't. So I was trying to figure out a good way to add it and after some trial and error I ended up with this which works well:
        devShells.default = rustPkgs.workspaceShell {
          packages = [
            pkgs.jetbrains.rust-rover
            cargo2nix.outputs.packages."${system}".cargo2nix
            ];
        };

However I feel like i'm missing something and this is a bit of a hack. What does your guys' process look like? Is this a valid thing to do?

It's valid to put a cargo2nix tool in the workspace shell for a project if you think it will be consumed by, for example, a team where everyone can run direnv and get a nix shell, but almost nobody has programs installed by nix generally.
Since I use nix generally, i just install it for my system and keep my nix flakes up to date (the cargo2nix overlay in the project's flake.nix and cargo2nix binary must be in sync usually.)

Ah, I see it was just difficult for me since I'm not as familliar with flakes it took a while to figure out how to actually call the cargo2nix package from the flake input.

Also side question:
if I have 2 projects:
flake.nix
engine/Cargo.nix
frontend/Cargo.nix
can I make the frontend depend on the nix crate for engine using nix only? Or do I need to use cargo2nix to deploy a crate then import the crate in my other project?

For the engine and frontend outputs, duplicate the code that takes the Cargo.nix as an argument.

thanks

@psionic-k
this is my quad/Cargo.toml:
[package]
name = "quad"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
macroquad = "0.4"
engine = { path = "../engine" }

it seems to work when I do cargo run, but when I do cargo2nix then nix run its not able to resolve the engine library. Here's the link to my example project:
https://github.com/abueide/lota
what is the way to link two cargo2nix projects where one of them depends on the other?

@abueide any reasons why you can't use a Cargo workspace and have a single Cargo.lock and Cargo.nix on the project root?


New error in 2.4.1 - "Cannot set property latRange of #"

Hi, I started to get this error with the latest release v2.4.1. Everything works on v2.4.0.
Uncaught (in promise) TypeError: Cannot set property latRange of #<ba> which has only a getter
    at e._initMaptilerSDK (leaflet-maptilersdk.js:1:4268)
    at e.onAdd (leaflet-maptilersdk.js:1:1450)
    at e._layerAdd (Layer.js:114:8)
    at e.whenReady (Map.js:1477:13)
    at e.addLayer (Layer.js:172:8)
    at e.addTo (Layer.js:52:7))

I didnt notice any changes that could cause this issue in the changelog. Is there anything i can help with? Im reverting to 2.4.0 for now.

hello @gaspo , so the error you have seems to be related to https://github.com/maptiler/leaflet-maptilersdk , rather than the SDK. Do you confirm?

Hey, version 2.3.x is a mistake I left in the package-lock because I forgot to update it. I'm surprised it led to this kind of error.
I will very probably release version 2.4.2 later today or tomorrow and I cleaned this too (in addition to what this version was supposed to address in the first place)

Thank you, v2.4.2 fixed the issue for me.


Data AOS and D3.js  included

Animation library data aos and d3.js for graph visualization added
Visualizer component folder structure changed a bit (included Button.js)

LGTM 👍


accidently inputing new app key

i accidenly inputing a new app key on recta host, i couldnt open printer on the demo fiddle, i alrdy tried uninstalling the app, restarting pc and i got nothing. how can i get back my app key? thx

nvm ty


Update preprocess_input() to support batches of images

Currently there's an assert on the input dimension to preprocess_input() that implies this function expects a single image; can you make this a bit more flexible, to allow for batches of images in the same way that the usual keras_applications.imagenet_utils.preprocess_input() function allows for a 3D or 4D input array? Thanks.

Ok, I will update it


Change Feed Pull Model Memory Issues

We are continuously addressing and improving the SDK, if possible, make sure the problem persist in the latest SDK version.

Describe the bug
We are trying to update our SDK version from 3.9.1 - preview to the latest preview version.  We use the change feed pull model.  We noticed when we updated our version to 3.15.2 - preview and deployed, our machines quickly ran out of RAM.  Looking at the logs, we got up to about 23gb of RAM in use and then crashed.  I was able to reproduce locally and noticed that the RAM on my machine quickly ballooned.
I put together a console app to verify the behavior wasn't anything in our code, the only dependencies in the console app is to  Cosmos SDK.  In my test, I read off the change feed for 10 minutes and monitored the diagnostics in VS2019.  I tested with various versions and took screenshots of the memory usage in the diagnostic session.  These tests were against a collection that is about ~300GB
3.15.2 - Preview - Ended up at around 1.8gb for the 10 minutes

3.15.1 - Preview - 900mb in 10 minutes

3.15.0 - Preview - 600mb in 10 minutes

3.14.0 - Preview - 150mb in 10 minutes

3.13.0 - Preview - 150mb in 10 minutes

3.9.1 - Preview - 150mb in 10 minutes

Here is the code for the methods I ran:
3.13 and up
public async Task RunFeed()
{
   var connection = "";
   var container = new CosmosClient(connection).GetContainer("", "");
   var totalDocs = 0;
   var options = new ChangeFeedRequestOptions
   {
     PageSizeHint = 5000
   };

   using (var iterator = container.GetChangeFeedStreamIterator(ChangeFeedStartFrom.Beginning(), options))
   {
      var watch = Stopwatch.StartNew();
      while (iterator.HasMoreResults && watch.Elapsed < TimeSpan.FromMinutes(10))
      {
          using (var response = await iterator.ReadNextAsync())
          {
              if (!response.IsSuccessStatusCode)
              {
                 break;
              }

              using (var changes = await JsonDocument.ParseAsync(response.Content))
              {
                  var count = changes.RootElement.GetProperty("_count").GetInt32();
                  Console.WriteLine($"Retrieved {count} documents");
                  totalDocs += count;
              }
          }
      }
      Console.WriteLine($"Found {totalDocs} total documents in {watch.Elapsed.TotalMinutes} minutes");
    }
}

3.9.1 - Preview
public async Task RunFeed()
{
    var connection = "";
    var container = new CosmosClient(connection).GetContainer("", "");
    var totalDocs = 0;

    var iterator = container.GetChangeFeedStreamIterator(changeFeedRequestOptions: new ChangeFeedRequestOptions
    {
        StartTime = DateTime.MinValue,
        MaxItemCount = 5000
    });

    var watch = Stopwatch.StartNew();
    while (iterator.HasMoreResults && watch.Elapsed < TimeSpan.FromMinutes(10))
    {
        using (var response = await iterator.ReadNextAsync())
        {
            using (var changes = await JsonDocument.ParseAsync(response.Content))
            {
                var count = changes.RootElement.GetProperty("_count").GetInt32();
                Console.WriteLine($"Retrieved {count} documents");
                totalDocs += count;
            }
        }
    }

    Console.WriteLine($"Found {totalDocs} total documents in {watch.Elapsed.TotalMinutes} minutes");
}

Environment summary
SDK Version: 3.15.0 - Preview, 3.15.1 - Preview, 3.15.2 - Preview
.Net Core 3.1

Likely caused by https://github.com/Azure/azure-cosmos-dotnet-v3/pull/1933

@abranaugh please contact support if this is impacting your production so a support ticket is created and will ensure the issue is properly prioritized.

@abranaugh any chance you can provide a memory dump or perf trace to help root cause the issue?

@j82w I can provide a memory dump, how would you like me to provide that to you?  When I dumped out the version running 3.15.2 - preview, it was about 1.8gb.  I don't want to post it publicly on github due to potentially exposing our connection strings and whatnot.  I can open up a support ticket and attach it to that if that is easiest.

Please open a support ticket and attach the memory dump as it is the easiest way.

I also encountered this problem using the latest preview version (3.15.2-preview). Based on the findings of this issue, I decided to use 3.14.0-preview, but now I've encountered the issue #1918 and have a difficult version to choose.

I also encountered this problem using the latest preview version (3.15.2-preview). Based on the findings of this issue, I decided to use 3.14.0-preview, but now I've encountered the issue #1918 and have a difficult version to choose.

Fix in PR https://github.com/Azure/azure-cosmos-dotnet-v3/pull/2129


Add a linear interpolation scheme for probability distribution approximation

Linear interpolation scheme for gridding Czjzek/Extended Czjzek/User-defined distributions.
The current implementation of the probability distribution uses np.histogram2d function to grid 400000 samples (default) over a two-dimensional grid. The histogram function generates a discrete non-continuous distribution which is okay for one-time calculation but is not optimal when used iteratively in a least-squares problem.
Proposed Solution
Use linear interpolation approximation to generate a smooth and continuous probability distribution.

Prototyping for a 2d interpolation scheme has been completed and applied towards least-squares minimization of Czjzek and Extended Czjzek models. Although 2d linear interpolation for random sampling on a grid does make a smoother distribution, the nature of random sampling (even with linear interpolation) makes the chi-squared surface non-analytical and discontinuous.
Regardless, it may be useful to include functions for two- and three-dimensional linear interpolation. @deepanshs I have code written to perform these functions, although it still needs further testing to ensure coverage. Other simulation features should be prioritized over this issue.


storage-demo is pending due to FailedScheduling

Hi there,
Based on ceph-cinder-demo to provide OpenShift and KubeVirt, I deployed a ceph cluster and cinder using kubevirt-ansible/storage_demo role. I found storage_demo is always pending due to
FailedScheduling  24m (x8 over 25m)   default-scheduler  0/2 nodes are available: 1 MatchNodeSelector, 2 PodFitsHostPorts
I checked master and node labels, it had label kubernetes.io/hostname=master to match Node-Selectors of storage-demo. Ceph was using 6789. So I have no idea which port storage_demo needs has been occupied.
[root@master ~]# oc get all
NAME              DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
ds/virt-handler   2         2         2         2            2           <none>          3h

NAME                     DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/storage-demo      1         1         1            0           3h
deploy/virt-controller   2         2         2            1           3h

NAME                            DESIRED   CURRENT   READY     AGE
rs/storage-demo-5567db5db6      1         1         0         27m
rs/virt-controller-7888c64d66   2         2         1         3h

NAME                     DESIRED   CURRENT   AGE
statefulsets/ceph-demo   1         1         3h

NAME                                  READY     STATUS    RESTARTS   AGE
po/ceph-demo-0                        7/7       Running   2          3h
po/storage-demo-5567db5db6-cfggg      0/7       Pending   0          27m
po/virt-controller-7888c64d66-jn6kl   0/1       Running   0          3h
po/virt-controller-7888c64d66-mg6dl   1/1       Running   0          3h
po/virt-handler-c2zhm                 1/1       Running   0          3h
po/virt-handler-hmqrj                 1/1       Running   0          3h

[root@master ~]# oc describe po/storage-demo-5567db5db6-cfggg -n kube-system
Name:           storage-demo-5567db5db6-cfggg
Namespace:      kube-system
Node:           <none>
Labels:         app=storage-demo
                pod-template-hash=1123861862
Annotations:    openshift.io/scc=privileged
Status:         Pending
IP:
Controlled By:  ReplicaSet/storage-demo-5567db5db6
Containers:
  kraken:
    Image:  ceph/demo
    Port:   6789/TCP
    Args:
      demo
    Environment:
      MON_IP:               master
      CEPH_PUBLIC_NETWORK:  <IP_ADDRESS>/0
      RGW_CIVETWEB_PORT:    81
    Mounts:
      /etc/ceph from cephetc (rw)
      /var/lib/ceph from cephvarlib (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  mariadb:
    Image:  mariadb
    Port:   <none>
    Environment:
      MYSQL_ROOT_PASSWORD:  password
      MYSQL_DATABASE:       cinder
      MYSQL_USER:           cinder
      MYSQL_PASSWORD:       password
    Mounts:
      /var/lib/mysql from mariadbdata (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  rabbitmq:
    Image:        rabbitmq
    Port:         <none>
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  cinder-api:
    Image:  kubevirtci/cinder:ocata
    Port:   <none>
    Command:
      /scripts/cinder-api.sh
    Environment:
      INIT_DB:  true
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  cinder-scheduler:
    Image:  kubevirtci/cinder:ocata
    Port:   <none>
    Command:
      cinder-scheduler
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  cinder-volume:
    Image:  kubevirtci/cinder:ocata
    Port:   <none>
    Command:
      /scripts/ceph-service.sh
    Environment:
      MON_IP:  master
    Mounts:
      /etc/ceph from cephetc (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
  cinder-provisioner:
    Image:  quay.io/aglitke/standalone-cinder-provisioner:sprint4
    Port:   <none>
    Environment:
      OS_CINDER_ENDPOINT:  http://<IP_ADDRESS>:8776/v3
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from storage-demo-token-4qmv4 (ro)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  cephvarlib:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  cephetc:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  mariadbdata:
    Type:    EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
  storage-demo-token-4qmv4:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  storage-demo-token-4qmv4
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  kubernetes.io/hostname=master
Tolerations:     <none>
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  24m (x8 over 25m)   default-scheduler  0/2 nodes are available: 1 MatchNodeSelector, 2 PodFitsHostPorts.


Use TTY::Cursor.hide instead of constants

Describe the change
fixes issue #38
Why are we doing this?
crashing is not desirable

Coverage increased (+0.1%) to 98.002% when pulling fe6393d050d2b2617ff337d06bd825b01f94cb4f on benklop:master into 876512806d579075434a008f3b6f79a4d4dda25e on piotrmurach:master.

Hi,
Thanks for contributing!
These constants are remnants from my refactorings. In this case, they should be replaced by tty-cursor, you can see it here.

Hey! Thanks for updating your PR. Would it possible for yourself to add a test for this as well so I don't break things in the future? That would be a cherry on a cake!

I'll take a look at creating a test, but I have some other work to complete first

@piotrmurach i'm not really used to the style you're using for your specs, hopefully context blocks are acceptable

Thanks for making this change and adding tests! 🙇


fix(coordinator): prevent panic due to function re-registration

If a particular function gets duplicated and Atmo is running in Headless mode, the double-registration on the server causes a panic. This prevents such panics by tracking the exact handlers added to the server, and skip any duplicates.
Resolves https://github.com/suborbital/scn/issues/282

Is this the behavior we want? I think if I tried to register the same handler twice, the second one would win rather than the first.
The original issue I saw was that the runnable disappeared from disk, and when trying to register a new one in its place that caused Atmo to panic.

Silently overwriting handlers can also cause some unexpected behavior no?
Based on your description the problem might actually be that we need to prune the registered routes based on the current state of the world.
i.e. there is a route conflict, validate existing route is still valid, if so panic if not delete old route, add new.

@ospencer @rnpridgeon there are two things that can be skipped or overwritten: the server handler and the actual Runnable itself.
The server handler one is moot, since if it's identical then it's identical. Skip vs overwrite would have no difference. That's the actual cause of the panic.
The other change I made in this PR is skipping re-registration of duplicated the actual Runnable in Reactr, I think that's the more controversial one.
I would argue that we should skip, since our "spec" (which is only really documented in code) is that a particular runnable at a particular version should be immutable, so replacing it would do nothing (assuming the actual rules are being followed)

I agree that skipping it makes more sense than registering the last request to arrive though it still feels like this is a symptom of a system with corrupted state.
What happens in Oscar's scenario when you call a function with a valid handle which doesn't actually exist in storage?
Will we return a 404 or will something bad happen?
Panicing probably isn't the right move but we may want to consider at least logging the event.

@rnpridgeon yes, this is purely an edge case wherein something was deleted (which would not happen in real life).
If we call a function that doesn't exist, it will 404 and a debug log is written.

(which would not happen in real life)

This will happen, in one or more gloriously unexpected ways.
That said as long as we can handle it gracefully and return a meaningful error to the requester that works for me.


[DC-100] Disable/hide achilles reports that are not yet implemented

Cleaned up achilles report to only display the three reports we generate and default to the person dashboard.

This has been merged. Thanks @cukarthik .


Italian translation

Description

This is the Italian translation.
Don't know if there are other strings to translate.
Documentation

[ ] My pull request requires an update on the documentation repository.

@albertopasqualetto
Thanks for your contribution.


constant<PHONE_NUMBER> overflows int - will not compile on 32-bit?

Running:
$ go get github.com/NullHypothesis/sybilhunter

Returns this to the console:
# github.com/NullHypothesis/sybilhunter
../../NullHypothesis/sybilhunter/uptime.go:90: constant<PHONE_NUMBER> overflows int

Program will not compile, on a 32-bit machine with 3MB of ram.

Thanks for reporting this! I could reproduce the issue. I pushed a patch to the branch 32-bit-compilation. It works for me when compiling with GOARCH=386. Do you want to give it a shot before I merge it to master?

On Thu, May 05, 2016 at 11:50:02AM -0700, Philipp Winter wrote:

Thanks for reporting this! I could reproduce the issue. I pushed a patch to the branch 32-bit-compilation. It works for me when compiling with GOARCH=386. Do you want to give it a shot before I merge it to master?

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/NullHypothesis/sybilhunter/issues/7#issuecomment-217241063

I got the below output, I'm somewhat new to 'go' itself.  Do I have to
do some 'branch' magic with get to pull the new material ?
Jon.
---snip---
[kreator@calculus][~]% cd $GOPATH/src/github.com
<EMAIL_ADDRESS>rm -rf NullHypothesis
<EMAIL_ADDRESS>echo $GOARCH
386
<EMAIL_ADDRESS>go get github.com/NullHypothesis/sybilhunter
github.com/NullHypothesis/sybilhunter NullHypothesis/sybilhunter/uptime.go:90: constant<PHONE_NUMBER> overflows int
<EMAIL_ADDRESS>---snip---
--
(\ /)
( . .)   Jon's website is here:
c(")(")   http://www.securityrabbit.com

On Thu, May 05, 2016 at 11:50:02AM -0700, Philipp Winter wrote:

Thanks for reporting this! I could reproduce the issue. I pushed a patch to the branch 32-bit-compilation. It works for me when compiling with GOARCH=386. Do you want to give it a shot before I merge it to master?

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/NullHypothesis/sybilhunter/issues/7#issuecomment-217241063

I just try this:
$ git cherry-pick ed62bb7
Then ran
$ go install
And it compiled :)
Jon.
--
(\ /)
( . .)   Jon's website is here:
c(")(")   http://www.securityrabbit.com

Thanks, merged to master.


Show how to use BigInt from big-ints library

Description of Problem
Shows how to use BigInt in the following scenarios:

how to do create a value of BigInt and use common operators on it
how to define a constant via FFI and refer to it in PureScript so that one doesn't need to use unsafePartial $ fromJust $ fromNumber 42.0 or something

Proposed Name of Folder/Module
Name: BigInt

Additional context
Uses the big-integer npm dependency

Let's use this recipe request to test and finalize our recipe-adding instructions.

I'll be implementing this recipe. Should have it done by end of tomorrow at the latest.

Closed by #83


structured logging: add trace info discovery from Http request info

Is your feature request related to a problem? Please describe.
If not defined, the trace and spanId fields in LogEntry should be auto-populated when writing log entries to backend
Describe the solution you'd like
When Http request info is available and it has the X-Cloud-Trace-Context header, the tracing info should be retrieved (following the format) and populated.

Related issues #685, #686, #687, #688, #689, #690, #691

The #687 implements capturing the tracing information in the Context class. The tracing info is captured from the Http servlet request based on W3C trace context header or Google Cloud trace context header. Alternatively, the information can be set manually using ContextHandler class.


Commanding (XamlCommanding) project, scenario 8 locks test application

I'm running Windows 10, 2004 19613.1000, reproducible in VS2017 and VS2019. Loading the last scenario, listed as "Command Reflow", freezes the application.  Seems to be in some kind of increasing memory loop; I set and hit a break-point in the Scenario8 constructor but it goes off into the weeds after that.
Edit: Seems to never make it out of the DynamicCommandBar.MeasureOverride source.

My earlier comment is incorrect. The problem is not that program never leaves DynamicCommand.MeasureOverride. The problem is that it gets called repeatedly to infinity. I shut down my process at 2GB.


Provide custom messages for the no-restricted-globals ESLint rule, and refactor the .eslintrc files (PR 9868 follow-up)

Without providing useful (custom) error messages for the no-restricted-globals rule, see https://eslint.org/docs/rules/no-restricted-globals, it's quite likely that the rule will be incorrectly disabled rather than the required globals being imported as intended.
To reduced duplication of the no-restricted-globals rule in multiple .eslintrc files, it's instead moved to the top-level .eslintrc file and disabled as needed on a folder/file basis outside of /src and /web.

Nice find! I didn't know that was possible, but it should help to make it clear why we have this.


Fixes walker lake

Works with pytest and with big version now.
@jlstevens was seeing errors like:
~/miniconda3/envs/earthml-dev/lib/python3.6/site-packages/xarray/core/missing.py in _assert_single_chunk(var, axes)
   382             raise NotImplementedError(
   383                 'Chunking along the dimension to be interpolated '
--> 384                 '({}) is not yet supported.'.format(axis))
   385
   386

NotImplementedError: Chunking along the dimension to be interpolated (0) is not yet supported.
NotImplementedError: Chunking along the dimension to be interpolated (0) is not yet supported.

I will try to get back to helping and reviewing this after Friday.
On Nov 28 2018 3:18 PM, Julia Signell wrote:

Works with pytest and with big version now.
@jlstevens was seeing errors like:
You can view, comment on, or merge this pull request online at:

  https://github.com/pyviz-topics/EarthML/pull/47

-- Commit Summary --

  * Fixed walker lake

-- File Changes --

    M examples/topics/Walker_Lake.ipynb (2)

-- Patch Links --

https://github.com/pyviz-topics/EarthML/pull/47.patch
https://github.com/pyviz-topics/EarthML/pull/47.diff


pick should return tree instead of path

...because when the mouse is over two or more diagrams that are occluding each other, it should let you know that the mouse is over both — this is represented by a fork in the tree.

still need to document :P


fix: Fixing Anvil Section DnD Test cases.

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description
In this PR we are fixing the way events are dispatched and how position values are used to activate a section. This is still not set in stone as I need to write more utils based on alignment. but the current changes would be fail proof for the time being.
PR fixes following issue(s)
Fixes # (issue number)

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Chore (housekeeping or task changes that don't impact user perception)
This change requires a documentation update

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[ ] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

Refactor

Improved app navigation settings and layout validation.
Enhanced widget placement accuracy on the ANVIL canvas.

/ok-to-test<EMAIL_ADDRESS>

/ok-to-test<EMAIL_ADDRESS>


Empty ZIP file

Hey!
I seem to be running into an issue where a generated asset folder/bundle is empty and thus generates an empty zip. Which in turn throws a warning during asset publishing:

Later on this seems to fails the whole deployment (note that this is from a different build so the filename is different I think):

Is there any way I can see exactly what it's trying to bundle or a way to prevent this from happening?
Thanks for setting this up by the way!

Hi @Neicul123,
seems to be a bug. I'll follow up to fix it. Thank you.
Regards
Mike

Any progress on it? I met the exact same problem and don't know how to fix it by myself. Thank you!

I'm working on it. Stay tuned please.


update github scores

resolve https://github.com/codeigniter4projects/website/issues/327

@Arhell I think @kenjis meant "the numbers are lower than they should be". E.g. 117 instead of 1.8k

Yes, I wanted to say the numbers, but the font size also a bit too small.


Filetype unknown

I get the following message every time I start symbols-outline.nvim

configuration: default
NVIM: v0.5.1

This isn't by this plugin, must be some other plugin which is doing this

Hi,
I'm also getting "filetype unknown" as soon as preview is displayed and I'm not sure what is responsible...any ideas?

I also have this error whenever I tried to preview the symbols.

I get the following message every time I start symbols-outline.nvim  configuration: default NVIM: v0.5.1

I have the same problem, have you solved it?

@simrat39 I had the same problem, so I looked at the plugin's source code and I found that I commented a few places in it and the problem went away, so why is it not the plugin's problem? This file is located at ~/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim/lua/symbols-outline/preview.lua


How to filter cloud_cover for EMIT data using pystac?

from pystac_client import Client

url = 'https://cmr.earthdata.nasa.gov/stac/LPCLOUD/?page=2'
collections = ['EMITL1BRAD.v001', 'EMITL1BRAD.v001']
bbox = [-99.65, 18.85, -98.5, 19.95]
date_range = "2022-05/2023-08"

catalog = Client.open(url)

params = {
'collections': collections,
'bbox': bbox,
'datetime': date_range,
'limit': 100,
}

filt = {
    "op": "lte",
    "args": [{"property": "eo:cloud_cover"}, 40]
}

# params['filter'] = filt

search = catalog.search(**params)

print('Matching STAC Items:', search.matched())

It works well without the cloud_cover filter. However, I get this error if I try to add the filter:
    215     raise APIError(str(err))
    216 if resp.status_code != 200:
--> 217     raise APIError.from_response(resp)
    218 try:
    219     return resp.content.decode("utf-8")

APIError: {"message":"If the problem persists please contact cmr-support@earthdata.nasa.gov","errors":["An unexpected error occurred. We have been alerted and are working to resolve the problem.","Unsupported parameter filter"]}

Is this not supported yet? Otherwise, I have to access the cloud_cover properties from the collections:

Hey @zxdawn, the current implementation of the CMR STAC API does not support filtering based on those properties. I think it's an important capability to include, but I can't tell you when or if that would be available. An alternative option would be to use the earthaccess package. I've include a code snippet below.
search_params = {
    "concept_id": "C2408009906-LPCLOUD", # CMR concept ID for EMITL1BRAD.001
    #"day_night_flag": "day",
    "cloud_cover": (0, 10),
    "temporal": ("2022-05", "2023-08"),
    "bounding_box": (-99.65, 18.85, -98.5, 19.95)
}

results = earthaccess.search_data(**search_params)

# Get links to data...  note that EMITL1BRAD.001 contains 2 data files per 'granule'
[x.data_links() for x in results]

Thanks! It works well. Close now ;)

It would be nice to see the support of pystac. It's useful to use pystac to check the RGB data quickly.


Suggest to implement Direct form II transpose

Does implement DF2T possible for fixed point?

Sorry. No plans to do it.


add usil domain

Adding Universidad San Ignacio de Loyola, Lima, Peru.
As you can verify on this link: https://usil.edu.pe/mi-usil

The official link for students redirect to Office 360 with usil.pe as realm.

@claudioUsil I am sorry, the domain usil.pe is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).