Make homepilot jarvis compatible

The user lustig29 wants to switch his shutter  (Rollotron Gurtwickler) with jarvis.
The module needs 3 Datapoints:
https://zefau.gitbook.io/jarvis-de/geraete/functions/blind
level, activity and stop
Perhaps it is easier to make it in this adapter possible?
https://forum.iobroker.net/topic/30668/jarvis-v2-2-0-just-another-remarkable-vis/4580
Perhaps you can communicate with @zefau?
Thank you.

You can try this new alpha version 1.2.0a
https://github.com/Pix---/ioBroker.homepilot/tree/1.2.0a
I have added a new state stop (type) button. Works great in ioBroker scripts, scenes an vis.

This is how it looks in jarvis

Homepilot gives us command ID (CID) to control the blinds movements. So pressing this button just makes the adapter write "2" ("Stop") into its cid datapoint.
Pix


Sentry incorrectly captures "safe" exceptions raised by Celery tasks

How do you use Sentry?
Sentry Saas (sentry.io)
Version
1.5.6
Steps to Reproduce

Add Celery integration to the SDK init:

sentry = sentry_sdk.init(
    dsn='...',
    integrations=[
        sentry_celery.CeleryIntegration(),
        ...,
    ],
)

(If it makes a difference, we are also integrating with Flask, Redis and SQLAlchemy. Celery is set up during Flask's init using an app factory pattern.)

Create a Celery task with a throws tuple of allowable exceptions:

@celery.task(throws=(TaskParseError,))
def process_stuff(input):
    if something_is_wrong_with_input:
        raise TaskParseError('Unexpected format for input')

Execute an instance of the task with any standard Celery mechanism:

result = tasks.process_stuff.delay(input=...)

Expected Result
Sentry does not capture or log TaskParseError.
Actual Result
Sentry captures and logs TaskParseError. If it helps, it appears as if Sentry is capturing the exception as raised during worker execution (as opposed to capturing the exception on calling result = ...), which makes sense since Celery is not re-raising this "safe" exception.
It also appears there was an integration step required for this scenario (ignore_expected=True) in the legacy client, but I can find no reference to such configuration in the modern client, so I assume this is meant to be handled automatically?

Hi @willcroft, we in fact still check for throws(https://github.com/getsentry/sentry-python/blob/b63b5ae32d254771cbd027009d0b6def7e2e07fb/sentry_sdk/integrations/celery.py#L247-L248) and even have a test case.
If you can provide with a repro sample, I can try to take a look at why your particular problem occurs.

Thanks for confirming @sl0thentr0py! That definitely helps narrow it down. I see now the "exception" has lost its type when I compare the Sentry issue to others, and there is no top-level exception attribute in the issue JSON payload.
Of the attributes that are present in the JSON, the title is Unexpected format for input rather than TaskParseError: Unexpected format for input (as per the example above). I imagine this is the format used for generic logging, so I'll check for any double logging that is happening for exceptions in our set up.

Uh, yeah... so our workers were also pushing exceptions to the error logger:
[2022-03-03 17:13:22,657: ERROR/ForkPoolWorker-8] Unexpected format for input

Sorry about that! And thanks for pointing us in the right direction, much appreciated!


firefox syncserver service: run as non-root user by default

Motivation for this change
For security reasons, it is better to run services under a non-privileged user.
Things done
The syncserver service now runs as a user by default. This is a breaking change since there might be permission problems for people migrating. I have updated the release notes accordingly.
Also, the service has been broken for a few months (see https://github.com/NixOS/nixpkgs/issues/25530), so it might be a good time for a breaking change.

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Considering you have an interest in this service, would you be up for adding yourself as maintainer for it?

@FRidh I'd be happy to :) What should I do to become maintainer ?

What should I do to become maintainer ?

Add your-self to the meta.maintainer field of the module.
Which also require you to add your-self to the https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix file.

Should I make a separate PR or should I include it in this PR ?

@Nadrieril I think you can include it in this PR. Do as you prefer.


[✨] It is possible to use Deno with ssr?

Is your feature request related to a problem?
If you create a qwik application with the deno adapter, the compilation output is static without the advantages of SSR. Similar to getInititalProps in Nextjs. If you have some api request and so on, at compile time it will only make the call to that api once and that will be the output of the build.
Use cases: infinity Scroll or Render on Demand. Render an overly large list of products in a lazy way in an ecommerce.
Describe the solution you'd like
I was reading the adapter code and the error is in line 1326 of the adapter:
Image of the error in console

Image of the line that creates the error

As we can see, in line 1326 you add index.html without seeing if the path is an api endpoint only, that is, it exports the methods onGet, onPost, etc. that the same qwik documentation points out that can be used as endpoints without the need to export any component.
Conclusion
Is there any chance that the result of the build with the deno adapter is SSR? How does the vercel-edge adapter do it?
Describe alternatives you've considered
vecel-edge adapter.
Additional context
No response

@krishna-santosh What you mention is fine, but the problem itself, is when you create a route that responds only to requests, e.g. when you have a route /api/user and this route responds to GET requests (which is the problem I present right now) the deno adapter takes it as if it were a static request, since it uses the GET method (or so I suppose). So it makes the build and take the route as static. A clearer example of what I am trying to do is:
// the route is: /api/perfums/index.ts
import type { RequestHandler } from<EMAIL_ADDRESS>import perfums from "~/db/perfums.json";
import type { Perfum } from "~/types";

export const onGet: RequestHandler<Perfum[]> = ({ query, json }) => {
  // this code is to make a infinity scroll just to not render a lot of unnecesary images
  const init = Number(query.get("skip")) || 0;
  const end = init + 15;

  const perfumsArr = perfums.slice(init, end);

  json(200, perfumsArr);
};

if you try to build this page the output in the server folder is: dist/api/perfums notice the file not have a .html or .js or some extension, is a file without a file extension and the console show that deno try to concat to /api/perfums the index.html string as I show in the server/entry.deno.js file

Ah yes, I get it now. I was confused by the title. Maybe someone from the Team could help us with this.


Swagger docs say payments list >= 0

Context
When you try to create a tx with just withdrawals (and no payments) wallet returns:
{"code":"bad_request","message":"Error in $.payments: parsing NonEmpty failed, unexpected empty list"}

But swagger docs show payments is a list >= 0. @KtorZ confirmed the behavior is correct but docs are wrong.
Steps to Reproduce

...

Expected behavior

Actual behavior

Resolution

QA

:+1:


Question: New-tableheader --> cell-border-style

Hello,
is it possible to set a cell-border-style in new-tableheader? The same what you can do in excel? Then it is little bit easier to see which cells are belongs together. At the moment I set a background color to show this.
Here an example from excel what i mean

It's not yet possible. But it could be done, with some effort.

It's not yet possible. But it could be done, with some effort.

Here's some new functionality in 0.0.130. But it's not exactly what you wanted, but maybe sufficient.
$Table = Get-Process | Select-Object -First 3
New-HTML -ShowHTML -HtmlData {
    New-HTMLTable -DataTable $table -HideButtons {
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Yellow -TextColor Aquamarine -TextAlign center -Type RowOdd
        New-HTMLTableStyle -BackgroundColor Red -TextColor Aquamarine -Type Button
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type RowEven
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type Row
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type Header
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Orange -TextColor Aquamarine -TextAlign center -Type Footer
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Orange -TextColor Aquamarine -TextAlign center -Type RowSelectedEven
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Green -TextColor Aquamarine -TextAlign center -Type RowSelectedOdd
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Yellow -TextColor Aquamarine -TextAlign center -Type RowHover
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Red -TextColor Aquamarine -TextAlign center -Type RowHoverSelected
        New-HTMLTableStyle -Type Header -BorderLeftStyle dashed -BorderLeftColor Red -BorderLeftWidthSize 1px
        New-HTMLTableStyle -Type Footer -BorderLeftStyle dotted -BorderLeftColor Red -BorderleftWidthSize 1px
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle solid
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle solid
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle none
    } -DisablePaging
} -FilePath $PSScriptRoot\Example7_TableStyle.html -Online

It should now work fine with the new version. I've also added multiple other customization options.

Here's some new functionality in 0.0.130. But it's not exactly what you wanted, but maybe sufficient.
$Table = Get-Process | Select-Object -First 3
New-HTML -ShowHTML -HtmlData {
    New-HTMLTable -DataTable $table -HideButtons {
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Yellow -TextColor Aquamarine -TextAlign center -Type RowOdd
        New-HTMLTableStyle -BackgroundColor Red -TextColor Aquamarine -Type Button
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type RowEven
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type Row
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor DarkSlateGray -TextColor Aquamarine -TextAlign center -Type Header
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Orange -TextColor Aquamarine -TextAlign center -Type Footer
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Orange -TextColor Aquamarine -TextAlign center -Type RowSelectedEven
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Green -TextColor Aquamarine -TextAlign center -Type RowSelectedOdd
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Yellow -TextColor Aquamarine -TextAlign center -Type RowHover
        New-HTMLTableStyle -FontFamily 'Calibri' -BackgroundColor Red -TextColor Aquamarine -TextAlign center -Type RowHoverSelected
        New-HTMLTableStyle -Type Header -BorderLeftStyle dashed -BorderLeftColor Red -BorderLeftWidthSize 1px
        New-HTMLTableStyle -Type Footer -BorderLeftStyle dotted -BorderLeftColor Red -BorderleftWidthSize 1px
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle solid
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle solid
        New-HTMLTableStyle -Type Footer -BorderTopStyle none -BorderTopColor Red -BorderTopWidthSize 5px -BorderBottomColor Yellow -BorderBottomStyle none
    } -DisablePaging
} -FilePath $PSScriptRoot\Example7_TableStyle.html -Online

It should now work fine with the new version. I've also added multiple other customization options.

Wow, goooood job. Looks good for the first tries.
3 problems what i see at the moment.

i made a new-htmltablestyle in new-htmltable but is is applied to all tables (here i tried to apply it only on the second table)
-borderbottomstyle seems to be not visible correctly, when before the real table starts
border right is set for column 1, border left is set for column 2. in the middle you have the double size then

i still playing around a little

Wow, goooood job. Looks good for the first tries.
3 problems what i see at the moment.

i made a new-htmltablestyle in new-htmltable but is is applied to all tables (here i tried to apply it only on the second table)
-borderbottomstyle seems to be not visible correctly, when before the real table starts
border right is set for column 1, border left is set for column 2. in the middle you have the double size then

i still playing around a little


How can I sort KeyValues alphabetically?

I'd like to sort the following KeyValues alphabetically, specifically by the Orange, Apple & Banana keys. Is that something I can accomplish with this library? I've tried to deserialise them, turn them into a dictionary, use Linq but I can't get anything to work correctly.
"TopLevel"
{
	"Orange"
	{
		"Key1"	"Value1"
		"Key2"	"Value2"
	}
	"Apple"
	{
		"Key1"	"Value1"
		"Key2"	"Value2"
	}
	"Banana"
	{
		"Key1"	"Value1"
		"Key2"	"Value2"
	}
}

I'm not familiar with ValveKeyValue, what about using SortedDictionary?

Hi bored,
This library was written with immutability in mind. You can't sort a collection of KeyValue objects in place, but you can create a new set of them in your desired order.
Ideally I'd like some Visitor objects that can do the heavy lifting for you, but for now it can be a tedious, fiddly process.
Here's an example that works for me:
using System;
using System.IO;
using System.Linq;
using System.Text;
using ValveKeyValue;

namespace VKVSandbox
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var input = new MemoryStream(Encoding.UTF8.GetBytes(InputText)))
            using (var output = Console.OpenStandardOutput())
            {
                SortTopLevelNodes(input, output);
            }
            Console.ReadKey();
        }

        static void SortTopLevelNodes(Stream input, Stream output)
        {
            var serializer = KVSerializer.Create(KVSerializationFormat.KeyValues1Text);

            var oldRoot = serializer.Deserialize(input);
            var newRoot = new KVObject(
                oldRoot.Name,
                oldRoot.Children.OrderBy(c => c.Name));

            serializer.Serialize(output, newRoot);
        }

        const string InputText = @"
""TopLevel""
{
    ""Orange""
    {
        ""Key1""    ""Value1""
        ""Key2""    ""Value2""
    }
    ""Apple""
    {
        ""Key1""    ""Value1""
        ""Key2""    ""Value2""
    }
    ""Banana""
    {
        ""Key1""    ""Value1""
        ""Key2""    ""Value2""
    }
}";
    }
}


Certificates should be signed

Generated certificates should be signed in some way. I always tend to think in terms of PGP signatures, but I'm sure there are many sensible ways of doing it. We should use the most standard and open, I guess.

Nice idea but this is very low priority. Closing this for now.


Struct pack error

apdu_data = struct.pack('B B B B B B B %is B B' % size,0, ins, p1, p2, l0, l1, l2, data, 0x04, 0x00)
It shows that struct.error: required argument is not an integer

If this is still a problem for you, please re-open the issue and provide more information on what you are actually doing that causes this error.


[v0.1.14 blocker] Should Port<'a> have a different name?

In #173, which is now in master, we added a Port<'a>, which includes not only the u16 port number, but also the &str of the port. This allows efficiently asking for the "port" part of a Uri as a string, without needing to get a u16 and allocate a new String by calling port_num.to_string().
In #219, also in master, a uri::Builder was introduced. The idea is to allow for easily building up a Uri from fallible parts. It seems like it could be nice to add a port setter, which takes a generic P where Port: HttpTryFrom<P>. This would allow a user to pass a u16, a &str, or a Port from a different Uri.
However, with Port<'a>, adding this API to uri::Builder would be impossible. So, should Port<'a> be renamed to something else? It'd be useful to find other precedents, but until they are found and listed, if renaming is desired, some possible names are:

PortRef<'a>
PortSlice<'a>
PortPart<'a>

As this type isn't released yet (only on master), and it affects whether we can add to the uri::Builder API, I believe finding an answer should block releasing v0.1.14.

What about:
struct Port<T> {
   parsed: u16,
   repr: T,
}

That could work nicely.


Add into report full link to the file with secret

Describe the solution you'd like
I suggest adding a full link to the secret file to the report. This will allow you to quickly open the secret file instead of looking for it in Git
Like this:
`"Match": " *** ",
"Secret": " *** ",
"File": " *** / *** / *** /file-with-secret.***",
"FileURL": "Https://git.domain/* / *** / *** /file-with-secret.*",
"Commit": " *** ",`

@sergiomarotco that could be useful but I don't see an easy way to do that. How do you suggest that be accomplished?

I suppose git remote get-url origin could be used. However, there would need to be some translation from ssh to https if users cloned via ssh

I'd like to respectfully argue that this shouldn't be gitleaks' responsibility :) .
Indeed, since release 8.0.0, gitleaks is no longer responsible for cloning git repositories, so to be consistent, gitleaks should remain unaware of where the repository was cloned from.
Besides, the file URL may not be a well-defined concept:

what if the repository has multiple remotes ?
what if none of them is named origin ?
what if the repository has no remotes ?
as you said, is there a systematic translation from {any protocol other than HTTPS} to HTTPS ?

Finally, repeating the URL in each secret seems quite redundant: unless I am mistaken, the base URL will be identical for all files, only the file path will change. The former is a repository-level piece of information, while the latter is a finding-level one (already provided by gitleaks) ; this would further suggest that gitleaks findings aren't the right place to host that piece of information.

Okay, I understand you. Now I am adding the repository path to the report from the power shell. I also call Gitleaks from the power shell


choose Instrument

Hi Alex,
I'm working on a little project and your android-midi-lib is helping out a lot!
I think that there is an important feature missing though, which is the ability to specify a midi-instrument for a chanel. Or did I just miss the right method?
Anyways thanks a lot for your effort :)
Kind regards

Sorry I found it. Didn't notice the ProgramChange class -.-
Thanks anyways

Hi @daStroob ,
I'm facing up to specify a midi-instrument for a channel. I want to specify midi instrument and write to file. And I need your help how to use ProgramChange class to solve this problem as you mentioned above.
Thank you very much


Select subcategory as the default spend category

Details

This PR fixes a deploy blocker where the user is unable to select subcategory as the default spend category/
Fixed Issues

$ https://github.com/Expensify/App/issues/48690
$ https://github.com/Expensify/App/issues/48676
Tests

Create a fresh workspace (make sure Categories feature is enabled)
Go to workspace settings > Categories.
Add a category in X: Y format.
Click Settings.
Click on any spend category.
Select the subcategory (Y).

Verify that the subcategory can be selected as the default spend category.

Go to workspace settings > Categories.
Tap Settings.
Scroll down to the bottom of the list.
Tap Utilities.

Verify that the Category Selector opens up
Offline tests

Same as above
QA Steps

Same as above
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/21176ed0-8ce5-4e86-a52e-e57e2685b81f

Android: mWeb Chrome

https://github.com/user-attachments/assets/0289eca7-561f-41e9-8ad4-443764715753

iOS: Native

https://github.com/user-attachments/assets/50b7f3ff-67b6-41a9-a406-482d37ce4ca0

iOS: mWeb Safari

https://github.com/user-attachments/assets/657b38c9-bfff-4d0c-9f7e-b0be8eb5d3a5

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/da7689e3-7abe-4732-b0da-6a84ce131dbe

MacOS: Desktop

https://github.com/user-attachments/assets/4c74ca2c-e886-4424-8282-a921a28e5ebc

Assigning @ishpaul777 for context here

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


[Feature]: Developer can apply a minimal space manifest to push an app with a default route

Blockers/Dependencies
#354
TODO: add specific app name DNS validation and default behavior when routes already exist for the app
Background
As an App Developer
I want to be able to omit route configuration for my App as a declarative manifest
So thatI can have routes automatically configured for my App
For this story, we focus on the default-route field of the manifest spec.
---
version: 1
applications:
  - name: my-app
     ...
     default-route: true

Acceptance Criteria
Scenarios
The happy path scenarios will mirror those specified in #354 with the assumption that the generated default route ends up is a valid FQDN for the existing CFDomain.
Happy Path (Route does not exist)
GIVEN I have a cluster with a cfdomain already created for "example.com" and a manifest that specifies default-route: true
WHEN I send it to the CF API Shim with the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the filepath refers to a file of the form:
---
version: 1
applications:
  - name: app1
    default-route: true

THEN I I see a CFRoute created in the appropriate namespace with the specified FQDN mapped to app1.
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Happy Path (Route exists but is not mapped to app)
GIVEN I have a cluster with a cfdomain already created for "example.com" and a manifest that specifies a route that already exists
WHEN I send it to the CF API Shim with the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the filepath refers to a file of the form:
---
version: 1
applications:
  - name: app1
    routes:
    - my-host.example.com

THEN I I see the CFRoute with the specified FQDN updated to be mapped to app1.
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Unhappy Path
GIVEN I have a cluster and a manifest that specifies an invalid route (E.G. no domain is yet created; note we will eventually have error cases with no-route and random-route here as well)
WHEN I send it to the CF API Shim with the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the filepath refers to a file of the form:
---
version: 1
applications:
  - name: app1
    default-route: true

THEN I I see the CFRoute with the specified FQDN is NOT created.
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
   "errors": [
      {
         "detail": "Manifest contains invalid attributes",
         "title": "CF-UnprocessableEntity",
         "code": 10008
      }
   ]
}

Dev Notes

We want the manifest to function the same as the individual endpoints for various actions it can take. Try and factor out logic into reusable pieces where possible. The main difference here should be in the request parsing layer.
Much of the logic for route manifest apply is in https://github.com/cloudfoundry/cloud_controller_ng/blob/a63cfe80d92e8f153db89d10963f10f9173a2f69/app/actions/app_apply_manifest.rb#L88-L121
Only support the first route in the routes field for now and ignore related unsupported fields. We will follow up with further field support in separate issues.
Only support the first cfDomain as the default app domain for now. We will follow up with explicit configuration of the api for default app domains.

From CCNG docs:
**default-route** | _boolean_ | If true, a route for the app will be created using the app name as the hostname and the containing organization's default domain as the domain; if `routes` is specified, if the app already has routes, or if `no-route` is specified, this field is ignored regardless of its value

So default-route is only in-play if other route fields in the yaml are not present, or if the app has any routes already

For now we punted on determining the default domain.
The current implementation assumes it to be the oldest created Domain.


OS-independent concatenation of PYTHONPATH in .env file

Issue Type: Feature Request
Assume I would like to define the equivalent of the following command line command in the .env file:
export PYTHONPATH=./mymodule:$PYTHONPATH
My solution was to add the following to the .env file:
PYTHONPATH=./mymodule:${PYTHONPATH}
Running this on a Windows system a problem occurs: When I print sys.path in python, I now find:
[..., 'Z:\\myproj\\mymodule:', ...]
Note the trailing : character in the path. Of course python will not find the required module.
To make this work on Windows, I need to change the : in the .env file to ;.
Is there a way to define environment variable concatenation in the .env file in a platform-independent way to make vscode projects portable?
Extension version: 2019.4.12954
VS Code version: Code 1.33.1 (51b0b28134d51361cf996d2f0a1c698247aeabd8, 2019-04-11T08:27:14.102Z)
OS version: Windows_NT x64 10.0.17763

Thanks for the suggestion! However general definition of .env files doesn't support this, and we'd rather not write our own custom solution for this.

@luabud I understand. Thanks for the update.
How about a big fat warning in the docs instead? This can really catch people out when they copy your (or other) examples.

@ARF1 sure thing! Just out of curiosity, were you following a tutorials or using a specific example when you came across this issue?

@luabud I am pretty sure I googled "vscode pythonpath".  It leads here:
https://code.visualstudio.com/docs/python/environments#_use-of-the-pythonpath-variable
But unfortunately also here:
https://stackoverflow.com/questions/53653083/how-to-correctly-set-pythonpath-for-visual-studio-code

@luabud On re-reading, the problem IS already documented:

The value of PYTHONPATH can contain multiple path values separated by os.pathsep (semicolons on Windows, colons on Linux/macOS).

Given the importance, this really should be highlighted much more: It breaks the vscode cross-platform approach users have come to expect.
So maybe some bold text or an attention grabbing box around this would be a solution to prevent readers from skipping over it like I did?

@luabud On the other hand the following warning in the docs seems false / outdated:

Note: you must set the PYTHONPATH variable through your operating system as VS Code doesn't provide a means to set environment variables directly.

Agreed. I opened an issue on the docs GitHub page to update that and include a warning to highlight this problem: https://github.com/microsoft/vscode-docs/issues/2766


Can't update chroot as per #3375 due to script termination?

Please paste the output of the following command here: sudo edit-chroot -all
chronos@localhost / $ sudo edit-chroot -all
name: trusty
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/trusty...
crouton: version 1-20170831074915~master:d11442d5
release: trusty
architecture: amd64
xmethod: xorg
targets: xfce,keyboard
host: version 9901.66.0 (Official Build) stable-channel auron_paine
kernel: Linux localhost 3.14.0 #1 SMP PREEMPT Tue Oct 31 22:04:48 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...
name: trusty1
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/trusty1...
crouton: version 1-20171109145451~master:35a16889
release: xenial
architecture: amd64
xmethod: xorg
targets: xfce
host: version 9901.66.0 (Official Build) stable-channel auron_paine
kernel: Linux localhost 3.14.0 #1 SMP PREEMPT Tue Oct 31 22:04:48 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/trusty1...```

#### Please describe your issue:
I am unable to update my chroot using the latest version of crouton.
The update is interrupted with an error due to skypeforlinux (which had stopped working with a Microsoft message that it is no longer supported) but I never removed the package.

Had been using trusty OK but now I am unable to initialize ubuntu as described in #3375. It would appear to me that my chroot is not properly fixed due to the skypeforlinux error?

This is causing the script to terminate and I assume the desired updates were not applied?
I did try to resume the script but am still unable to start ubuntu.

Maybe deleting that skype package prior to the crouton update would help, but I don't know how.
Any help is greatly appreciated by this rookie.

thanks,
Frank

crosh> shell
chronos@localhost / $ ls /usr/local/chroots
trusty
chronos@localhost / $ sudo sh ~/Downloads/crouton -u -n trusty
/usr/local/chroots/trusty already exists; updating it...
Preparing chroot environment...
Installing brightness into the chroot...
Installing croutonpowerd into the chroot...
Installing croutonversion into the chroot...
Installing host-dbus into the chroot...
Installing host-wayland into the chroot...
Installing volume into the chroot...
Installing pulseaudio-default.pa into the chroot...
Installing croutoncycle into the chroot...
Installing croutontriggerd into the chroot...
Installing croutonxinitrc-wrapper into the chroot...
Installing setres into the chroot...
Installing xinit into the chroot...
Installing xbindkeysrc.scm into the chroot...
Installing xorg-intel-sna.conf into

.....

libxslt1.1:i386 linux-libc-dev login logrotate multiarch-support
mysql-common ntpdate openssl passwd poppler-utils python-libxml2
python-samba python3-apport python3-problem-report
python3-software-properties python3-update-manager remmina remmina-common
remmina-plugin-rdp remmina-plugin-vnc rsyslog samba-common samba-common-bin
samba-libs skypeforlinux smbclient software-properties-common
software-properties-gtk sudo systemd-services tzdata udev
unattended-upgrades update-manager update-manager-core update-notifier
update-notifier-common vlc vlc-data vlc-nox vlc-plugin-notify
vlc-plugin-pulse wget xserver-common xserver-xorg-core xul-ext-ubufox
176 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 253 MB of archives.
After this operation, 124 MB of additional disk space will be used.
**WARNING: The following packages cannot be authenticated!
skypeforlinux**
E: There are problems and -y was used without --force-yes
Failed to complete chroot setup.
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...

chronos@localhost / $ sudo startxfce4
Entering /mnt/stateful_partition/crouton/chroots/trusty...
A chroot setup script still exists inside the chroot.
The chroot may not be fully set up.
Would you like to finish the setup? [Y/n/d] y
Preparing chroot environment...
Installing target core...
Preparing environment...
Preparing software sources...

.....

Ign http://ppa.launchpad.net trusty/main i386 Packages/DiffIndex
Ign http://ppa.launchpad.net trusty/main Translation-en
Ign http://ppa.launchpad.net trusty/main Translation-en
Err http://ppa.launchpad.net trusty/main amd64 Packages
403 Forbidden
Err http://ppa.launchpad.net trusty/main i386 Packages
403 Forbidden
Fetched 4486 B in 10s (416 B/s)
W: GPG error: https://repo.skype.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1F3045A5DF7587C3
W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-amd64/Packages 403 Forbidden

W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-i386/Packages 403 Forbidden

......

Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
Unable to set master
(EE)
Fatal server error:
(EE) AddScreen/ScreenInit failed for driver 0
(EE)
(EE)

note: After the update failure, I installed a new chroot named trusty1. But I haven't figured out yet what option would allow me to startxfce4 in that chroot. I was trying to verify that the new crouton download worked correctly. My goal is to fix the original trusty since it has many packages and shortcuts installed.

#### If known, describe the steps to reproduce the issue:

@duranzaf,

Maybe deleting that skype package prior to the crouton update would help, but I don't know how.

I think that might be your best way forward. I'm not that well versed with Linux package installation & removal but I'll try to help, try the following -

enter-chroot -n trusty
If prompted to finish the setup enter n

sudo apt remove skypeforlinux

If that doesn't work try -

sudo apt remove skype*

You may also have to manually remove the skype sources file in /etc/apt/sources.list.d

cd /etc/apt/sources.list.d
Then look for and remove any file name containing the word 'skype'

Once that's done you may be able to re-run the prepare.sh script -

sudo /prepare.sh

Hopefully, it will finish the setup without error and you can then exit the chroot and do a crouton update.
Hope this helps,
-DennisL

Thank you DennisL for your time and effort.
It is very much appreciated.
I was able to make progress after following your suggestions.
The remove skypeforlinux worked, but I also had to remove skype*
I then also removed two files with skype from sources.list.d
I was not able to find a 'prepare.sh'.
So I exited and closed the terminal.
Then went back into the shell and tried the crouton -u update.
But still encountering errors, first with references to

Preparing software sources...
W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden
W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-i386/Packages  403  Forbidden
E: Some index files failed to download. They have been ignored, or old ones used instead.

I tried to capture all the screen output - but it doesn't all end up in the file.
I used this command
crosh> shell
chronos@localhost / $ sudo sh ~/Downloads/crouton -u -n trusty > ~/crouton-u.txt
This is the output on the terminal window...
/usr/local/chroots/trusty already exists; updating it...
Preparing chroot environment...
Installing brightness into the chroot...
Installing croutonpowerd into the chroot...
Installing croutonversion into the chroot...
Installing host-dbus into the chroot...
Installing host-wayland into the chroot...
Installing volume into the chroot...
Installing pulseaudio-default.pa into the chroot...
Installing croutoncycle into the chroot...
Installing croutontriggerd into the chroot...
Installing croutonxinitrc-wrapper into the chroot...
Installing setres into the chroot...
Installing xinit into the chroot...
Installing xbindkeysrc.scm into the chroot...
Installing xbindkeysrc.scm into the chroot...
Installing xorg-intel-sna.conf into the chroot...
Installing xserverrc into the chroot...
Installing xserverrc-xorg into the chroot...
Installing xserverrc-local.example into the chroot...
Installing startxfce4 into the host...
Installing crouton-noroot into the chroot...
Installing startxfce4 into the chroot...
Installing enter-chroot into the host...
Installing delete-chroot into the host...
Installing edit-chroot into the host...
Installing mount-chroot into the host...
Installing unmount-chroot into the host...
Installing crash_reporter_wrapper into the host...
Installing target core...
Preparing environment...
Preparing software sources...
W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden
W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-i386/Packages  403  Forbidden
E: Some index files failed to download. They have been ignored, or old ones used instead.
Ensuring system is up-to-date...
Syncing timezone...
Installing target audio...
Fetching CRAS (branch 8979ddbd6756877f7963479293addfe24d74a683)...
Compiling CRAS (i386)...
Installing CRAS...
Compiling CRAS (native)...
Installing CRAS...
Installing target xorg...
Installing dependencies for /usr/local/lib/croutonfreon.so...
Compiling /usr/local/lib/croutonfreon.so...
ar: creating /tmp/crouton.oYm40M/crouton-xserver-xorg-legacy.deb
Installing dependencies for /usr/local/bin/croutonxi2event...
Compiling /usr/local/bin/croutonxi2event...
Installing target x11...
Installing target gtk-extra...
ar: creating /tmp/crouton.1r3r59/crouton-network-manager.deb
Installing target xfce...
E: There are problems and -y was used without --force-yes
Failed to complete chroot setup.
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...
the attached file has the redirected output.
crouton-u.txt
At the end of the file is this:
....
0 upgraded, 36 newly installed, 0 to remove and 0 not upgraded.
Need to get 13.4 MB/13.4 MB of archives.
After this operation, 37.2 MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
libxfcegui4-4 mousepad xfburn xfce4-clipman xfce4-clipman-plugin
xfce4-cpugraph-plugin xfce4-dict xfce4-mailwatch-plugin xfce4-mount-plugin
xfce4-netload-plugin xfce4-notes xfce4-notes-plugin xfce4-places-plugin
xfce4-quicklauncher-plugin xfce4-smartbookmark-plugin xfce4-timer-plugin
xfce4-verve-plugin xfce4-xkb-plugin xfce4-screenshooter xfce4-taskmanager
Would you or someone know if all these packages (mostly web browser plug-ins) would have to be removed as well as with the skype package? hopefully not..
thanks much,
Frank

@duranzaf,

W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-amd64/Packages 403 Forbidden

W: Failed to fetch http://ppa.launchpad.net/xubuntu-dev/xfce-4.12/ubuntu/dists/trusty/main/binary-i386/Packages 403 Forbidden

The two errors above look to be repositories offline for some reason, you may want to remove those ppa's and review others you've installed. Take a look at this help article for more on that: How can PPAs be removed?
Hope this helps,
-DennisL

great news for me! so i commented out the entries in the parent xubuntu.. PPA list file and I was able to update the chroot and initialize ubuntu.
When I first encountered the problem (underlying display server problems due to Chrome OS revisions, more or less?) not knowing what it was I reverted to a three month backup which contained 90% of what I now see.
I do notice some gadgets missing and when I switch back to chrome - I see a number of errors that seem to be display-related as in
........................................................
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLXrror org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist
xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
crouton: version 1-20171109145451~master:35a16889
release: trusty
......
DennisL so bailed me out.. I had forgotten how this is all on a non-supported product and am so grateful that dnschneid and Dennis are kind with their time.
I will try to research the errors  a bit more (and I did figure out  startxfce4 -n Trusty1 option) but am attaching file with all the terminal output just for reference.
Is there some other update I should be doing due to the chrome os revision?
thank you so much.
Frank
startxfce4 errors.txt
I do not understand the open and close protocol, so please excuse if I should not have re-opened.

@duranzaf,
If this issue is resolved to your satisfaction then you can close it or let me know and I'll close it.
If you still have questions or concerns then give us more detail and we'll go from there.
Hope this helps,
-DennisL

That's what I thought,  but somehow this issue was closed and I had not consciously done it.
So I believe there is still an issue related to other components still calling the old dbus method calls.  I see some similar reports in #3442
Can someone offer a suggestion on how to address these errors showing up when I switch back to the chrome bash.. to determine what is using glx or the mentioned interface.
(A similar entire capture is attached to the posting 'great news' above.)
chronos@localhost / $ sudo startxfce4
Entering /mnt/stateful_partition/crouton/chroots/trusty...
/usr/bin/startxfce4: Starting X server
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
X.Org X Server 1.15.1
Release Date: 2014-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-97-generic x86_64 Ubuntu
Current Operating System: Linux localhost 3.14.0 #1 SMP PREEMPT Tue Oct 31 22:04:48 PDT 2017 x86_64
.....
Initializing built-in extension DRI2
Loading extension GLX
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist
xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
crouton: version 1-20171109145451~master:35a16889
I will try updating any packages from Synaptic that may be showing updates available.
thank you.
Frank


[Question] Is it possible to fetch text between two given nodes?

The library has been powerful! However, I am stuck on resolving a little caveat.
Given the below minimal example, how can I retrieve the text "Get me!"?
The given methods like .Text yields all the text in a given node, as shown here the first node  might contain a lot of other parts of the document, however I can be certain it will end with the next
.

Title

 Get me!

... truncated

Hello Federico,
You're correct about the Text() method, that's how it works. There's no direct method to do what you want, but you can use the solution mentioned in #287 .
Hope this helps!
Martin

Hello Federico,
You're correct about the Text() method, that's how it works. There's no direct method to do what you want, but you can use the solution mentioned in #287 .
Hope this helps!
Martin

Thanks, it somewhat worked but I am afraid the page I am trying to parse is simply badly written.

Thanks, it somewhat worked but I am afraid the page I am trying to parse is simply badly written.


Out of memory compiler errors with Github actions

Description
Making an issue in case this happens again so it's searchable.
We had problems with the rtools 3.5 compiler running out of memory on Github actions in the pull over here: https://github.com/stan-dev/math/pull/2336#issuecomment-783608330
Current Version:
v4.0.1

Looks to be fixed for now.


net/ip/dhcpv4: Set source IP address in DHCP Request

The source address in unicast DHCPv4 Request packets was found out
to be all zeros address <IP_ADDRESS>. This address is only acceptable if
the destination is a multicast one, where the host in question is
acquiring a DHCP address lease. This is true for the DHCP Discover
and the initial DHCP Request message from the client towards the
server. As subsequent DHCP Request renewal messages are sent as
unicast to the server, the server will drop such packets.
Fix this issue by explicitely specifying what source IP address is
to be used, if none is specified, the all zeros address <IP_ADDRESS> is
used in multicast addresses. The source address in the other
unicast cases is identical to the 'ciaddr' in the DHCP message.
Signed-off-by: Patrik Flykt<EMAIL_ADDRESS>

To clarify: Linux user space never sees the DHCP Request messages sent with source address <IP_ADDRESS>. It will eventually work, as the Zephyr DHCP client restarts the address acquisition procedure with a DHCP Discover, but depending on the situation and DHCP servers involved, Zephyr might loose its address in between or get a new one assigned due to restarting of the DHCP procedure.

It would probably be a good idea to get this merged, I'd guess users would need this fix in the LTS anyway later.


Don't use temporary directory for $HOME

Revert mkdir -d substitution for $HOME
Document how to map the needed files instead of $HOME
Add documentation to the README.md for binding just the files we need
for K2 instead of the entire home directory. This prevents the K2
processes from writing potentially overwriting files in the user's home
directory when running as a container.
Fixes #181 and is associated with #97
Similar changes to k2cli should be done, https://github.com/samsung-cnct/k2cli/issues/51

Go go Jenkins!

retest this please

Closing for now since we do not yet have a do not merge label and I've found another problem with this that needs addressed first.

Yes it does.

I should change the Jenkins keyword to "banana" in hopes that if you give the test monkey enough bananas he'll eventually let your PR pass.

Please retest this

Please retest this

retest this please

CI testing are still failing due to terraform being unable to teardown the cluster: ``` 20:16:35 FAILED - RETRYING: TASK: /kraken/ansible/roles/kraken.provider/kraken.provider.aws : Run terraform destroy (10 retries left).

retest this please

retest this please

LGTM if it passes tests

retest this please

Go go Jenkins!

LGTM


Searchgui setup failing with singularity

Description of the bug
When using the singularity profile, the workflow fails at the PREPARE_SEARCHGUI step. The error appears when trying to save the parameters file, despite the '--writable-tmpfs' singularity run option being enabled in nextflow.config.
Command used and terminal output
$ nextflow run main.nf --parameters test_params.yml --raws 'raws/*' --fasta uniprot_contaminant_yeast_ups_prot_03022023.fasta --sdrf sdrf_proline_ed.tsv -profile singularity

Relevant files
No response
System information
nextflow 23.04.2 build 5870
singularity-ce version 3.11.4-focal
Ubuntu 22.04
wombat-pipelines 0.9.1

The specific error output is in COMPOMICS:PREPARE_SEARCHGUI
Command executed:
mkdir tmp
mkdir log
searchgui eu.isas.searchgui.cmd.PathSettingsCLI -temp_folder ./tmp -log ./log
searchgui eu.isas.searchgui.cmd.IdentificationParametersCLI -out searchgui \ .....
Command output:
An error occurred when saving the path preference to /usr/local/share/searchgui-4.2.9-0/resources/conf/paths.txt.

I checked the docker container. There the respective folder is only writable by root. This could be issue.
As far as I oversee it now, the problem is that any change of user rights seem to be overwritten when installing the package via conda and then automatically making a docker container. We might need a specific container for searchgui and peptideshaker, where these rights are provided.

This solved the issues when running with singularity:

Create new docker containers veitveit/searchgui... and veitveit/peptideshaker... with these folders made writable.
The process call of flashLFQ needed specific setting of some environmental variables as they were overwritten by nextflow.

This fixes work but are a bit dirty so far.
@flevander


Please provide requirements.txt file(s) with pinned versions

... it's somewhere between a pain and impossible to get things to run if it's unknown which combination of dependencies worked for you.
At the very least, provide the output of "pip freeze".

Hi,
Thanks for reporting the issue.
Will update the repo with versions of dependencies for my working environment later today when I have 10 minutes.

I added a conda yml file of my virtual environment to the danspeech_training repo and a small installation description in the readme.md. This environment also includes the danspeech package. See danspeech_training repo. Hope this helps. :)
I am able to install danspeech with pip in a fresh virtual conda env with python==3.6.10 without any trouble. So for now, I think we'll keep the requirements.txt as is. I did however create a new issue for the annoying warning that comes when using a newer version of pytorch (#14).
If installing danspeech with pip fails in your setup, then let me know with more specifics about your setup and I might be able to update the requirements.txt and bump the pip package. :)
Best
Rasmus

Awsome.  Looking at it now.  Hope to have something to report back soon.


Escape all special characters when emitting GTKWave strings

Fixes #17.

Thanks for taking on this change. Looks good. Merged.


Feature/wireframe

Learners, PR Template
Self checklist

[ x ] I have committed my files one by one, on purpose, and for a reason
[ x ] I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
[ x ] I have tested my changes
[ x ] My changes follow the style guide
[ x ] My changes meet the requirements of this task

Changelist
Briefly explain your PR.
Questions
I finished this task need to be reviewed.

Have you really fulfilled all 5 items in the checklist in the PR template?


Update create-database-scoped-credential-transact-sql.md

Hi If you are using a database scoped credential (or possibly more than 1) the name of the credential needs to be the path to the blob storage
If you just use a random identifier it will not work - took me way to long to find out what was wrong - so updating the example as proposed in BoL would be very helpful
[https://MyStorageAccount.blob.core.windows.net/MyStorageContainerSqlEvents]

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

Note that publishing in this repository is suspended until Tuesday, May 25. Merging will resume Tuesday. Authors can still review and sign off on PRs in the interim. Thanks.

Hi @stevepmo - Thanks for your contribution. Can you please elaborate on this change as we're getting different results. The credential_name does not need to be the URL of the Azure Blob storage when creating the Database Scoped Credential for an external data source. Please see our example: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql?view=sql-server-ver15&tabs=dedicated#i-create-an-external-data-source-for-bulk-operations-retrieving-data-from-azure-storage

Hi
yes I think I misinterpreted the documentation / mainly followed an incomplete blog post
my apologies - you should close the issue
/Stephen

From: Van To @.>
Sent: 11 June 2021 21:03
To: MicrosoftDocs/sql-docs @.>
Cc: stevepmo @.>; Mention @.>
Subject: Re: [MicrosoftDocs/sql-docs] Update create-database-scoped-credential-transact-sql.md (#6426)
Hi @stevepmohttps://github.com/stevepmo - Thanks for your contribution. Can you please elaborate on this change as we're getting different results. The credential_name does not need to be the URL of the Azure Blob storage when creating the Database Scoped Credential for an external data source. Please see our example: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql?view=sql-server-ver15&tabs=dedicated#i-create-an-external-data-source-for-bulk-operations-retrieving-data-from-azure-storage
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/sql-docs/pull/6426#issuecomment-859909943, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN3OALZRPRCYZXX7A66MF63TSJ235ANCNFSM45GU5NIA.

Thanks for follow-up, @stevepmo!


Test ngen cal with geopackage inputs and update documentation

Should be able to use geopackage hydrofabric inputs for ngen.
This may require some adjustments to the ngen model module, so it likely won't work out of the box.  These updates should be minor yet helpful, and would allow using geopackage inputs for calibration and calibration runs of ngen.
Need to test this out, make the adjustments require, and update any relevant documentation for how to use geopackages.

closed by #128


[BUG] The status of system-upgrade-controller is not updated actively in Rancher

Describe the bug

One Harvester cluster is upgrading from v1.1.2 to v1.2.0, and it stucks in starting the NODE upgrade.

From the log/yaml, we observed:
(1) 3 Rancher related objects have such error:
namespaced/fleet-local/cluster.x-k8s.io/v1beta1/clusters.yaml:      message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
namespaced/fleet-local/rke.cattle.io/v1/rkecontrolplanes.yaml:      message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
namespaced/fleet-local/provisioning.cattle.io/v1/clusters.yaml:      message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
namespaced/fleet-local/provisioning.cattle.io/v1/clusters.yaml:      message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
namespaced/fleet-local/provisioning.cattle.io/v1/clusters.yaml:      message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting

e.g. Cluster CR:

  - lastUpdateTime: "2023-09-12T10:23:32Z"
    message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
      for system-upgrade-controller bundle roll out'
    reason: Waiting
    status: Unknown
    type: Provisioned
  - lastUpdateTime: "2023-09-12T10:23:32Z"
    message: 'waiting for system-upgrade-controller helm chart reconciliation: waiting
      for system-upgrade-controller bundle roll out'
    reason: Waiting
    status: Unknown
    type: Updated
It can’t go further until they are ready.

(2) But the system-upgrade-controller was already rolled out, the bundle shows:
from : ./namespaced/fleet-local/fleet.cattle.io/v1alpha1/bundles.yaml
- apiVersion: fleet.cattle.io/v1alpha1
  kind: Bundle

    name: mcc-local-managed-system-upgrade-controller
    namespace: fleet-local
    ownerReferences:
    - apiVersion: management.cattle.io/v3
      blockOwnerDeletion: true
      controller: true
      kind: ManagedChart
      name: local-managed-system-upgrade-controller
      uid: 83e16fbe-0a84-40b3-a8f4-63acf6fd529e
...
  status:
    conditions:
    - lastUpdateTime: "2023-09-12T10:23:34Z"
      status: "True"
      type: Ready
    - lastUpdateTime: "2023-09-12T10:23:34Z"
      status: "True"
      type: Processed
    display:
      readyClusters: 1/1
    maxNew: 50
    maxUnavailable: 1
    maxUnavailablePartitions: 0
    observedGeneration: 6
    partitions:
    - count: 1
      maxUnavailable: 1
      name: All
      summary:
        desiredReady: 1
        ready: 1
    summary:
      desiredReady: 1
      ready: 1
    unavailable: 0
    unavailablePartitions: 0

and the POD logs also looked OK.
note the time gap:
bundle: lastUpdateTime: "2023-09-12T10:23:34Z"

rancher objects: lastUpdateTime: "2023-09-12T10:23:32Z"

(3) After check the code, we suspect this commit:
https://github.com/rancher/rancher/commit/4097e8bb454ba0542d1d5df713f4e22eb416a5a6
// syncSystemUpgradeControllerStatus queries the managed system-upgrade-controller chart and determines if it is properly configured for a given
// version of Kubernetes. It applies a condition onto the control-plane object to be used by the planner when handling Kubernetes upgrades.
func (h *handler) syncSystemUpgradeControllerStatus(obj *rkev1.RKEControlPlane, status rkev1.RKEControlPlaneStatus) (rkev1.RKEControlPlaneStatus, error) {

could have a bug:

it cann't actively update the system-upgrade-controller's bundle status , as it is not base on bundle's change, but on rkecontroleplane's  change, which causes the upgrade stuck currently:  the suc is ready, but rancher does not think so

(4) The upgrade plan object looked normal, it was waiting the system-upgrade-controller to trigger further node upgrade plan. But even replaced the system-upgrade-controller, still had no luck.
:~ # kubectl -n cattle-system get plan hvst-upgrade-pxw5j-prepare -o yaml
apiVersion: upgrade.cattle.io/v1
kind: Plan
metadata:
  creationTimestamp: "2023-09-11T15:01:55Z"
  generation: 1
  labels:
    harvesterhci.io/upgrade: hvst-upgrade-pxw5j
    harvesterhci.io/upgradeComponent: node
..
  name: hvst-upgrade-pxw5j-prepare
  namespace: cattle-system
  resourceVersion: "81709373"
  uid: 42a372d0-0491-462d-a8c0-f4122c098351
spec:
  concurrency: 1
  nodeSelector:
    matchLabels:
      harvesterhci.io/managed: "true"
  serviceAccountName: system-upgrade-controller
  ...
  upgrade:
    args:
    - prepare
    command:
    - do_upgrade_node.sh
    envs:
    - name: HARVESTER_UPGRADE_NAME
      value: hvst-upgrade-pxw5j
    image: rancher/harvester-upgrade:v1.1.2
  version: hvst-upgrade-pxw5j
status:
  conditions:
  - lastUpdateTime: "2023-09-13T06:58:52Z"
    reason: Version
    status: "True"
    type: LatestResolved
  - lastUpdateTime: "2023-09-13T06:58:52Z"
    reason: PlanIsValid
    status: "True"
    type: Validated
  latestHash: 0524853b1b7848a67d3c08ced99da2d33db7471efa9d3d14af84578a
  latestVersion: hvst-upgrade-pxw5j

To Reproduce
Steps to reproduce the behavior:
Have chance to reproduce.
Expected behavior

Upgrade successfully.
Support bundle

Environment

Harvester ISO version:  Harvester v1.1.2 -> v1.2.0 upgrade
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): bare-metal servers

Additional context
Add any other context about the problem here.
Observed after the workaround against issue https://github.com/harvester/harvester/issues/4519

Following updates:
(1) RKEControlPlane get SystemUpgradeControllerReady at 2023-09-12T20:14:18Z, and then, the new error:
 - lastUpdateTime: "2023-09-12T20:14:18Z"
  message: 'configuring bootstrap node(s) custom-18f4ec0eb29e: waiting for probes:
   kube-controller-manager, kube-scheduler'

susemanager:~ # kubectl get rkecontrolplanes.rke.cattle.io -n fleet-local local -oyaml
apiVersion: rke.cattle.io/v1
kind: RKEControlPlane
metadata:
...
 conditions:
 - lastUpdateTime: "2022-06-30T08:42:54Z"
  status: "True"
  type: Provisioned
 - lastUpdateTime: "2023-09-12T20:14:18Z"
  message: 'configuring bootstrap node(s) custom-18f4ec0eb29e: waiting for probes:
   kube-controller-manager, kube-scheduler'
  reason: Waiting
  status: Unknown
  type: Ready
 - lastUpdateTime: "2023-09-11T15:52:20Z"
  message: RKEControlPlane has not been fully reconciled yet
  reason: Waiting
  status: Unknown
  type: Reconciled
 - lastUpdateTime: "2023-09-11T15:52:20Z"
  status: "True"
  type: Bootstrapped
 - lastUpdateTime: "2023-09-12T20:14:18Z"
  message: eyJQc3BFbmFibGVkIjpmYWxzZX0=
  status: "True"
  type: SystemUpgradeControllerReady
 initialized: true
 observedGeneration: 18
 ready: true

update:
/var/lib/rancher/agent/rancher2_connection_info.json <- here we have https:// and I just changed it to FQDN on harvester1/harvester2/harvester3
and the new errors:
2023/09/13 12:34:29 [ERROR] rkecluster fleet-local/local: error while retrieving management cluster from cache: management cluster cache was nil
2023/09/13 12:34:29 [INFO] [planner] rkecluster fleet-local/local: waiting: configuring bootstrap node(s) custom-18f4ec0eb29e: waiting for probes: kube-controller-manager, kube-scheduler
2023/09/13 12:35:13 [INFO] [planner] rkecluster fleet-local/local: waiting: configuring bootstrap node(s) custom-18f4ec0eb29e: waiting for probes: kube-controller-manager, kube-scheduler
2023/09/13 12:35:13 [ERROR] rkecluster fleet-local/local: error while retrieving management cluster from cache: management cluster cache was nil

apply this workaround: https://github.com/rancher/rancher/issues/41125#issuecomment-1506620040
the upgrade continues:


⚠ Spryr has degraded performance

In b09432d, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3954 ms

Resolved: Spryr performance has improved in 10addef after 10 minutes.


How to effectively sync multiple directories ?

I am trying to sync content from multiple directories from the same repository, however, when I use the following yml configuration, it fetches the repository all over again. Is there a better way to handle this?
# PS: https://carvel.dev/vendir/docs/latest/vendir-spec/

apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: docs/modules
  contents:
  - path: ROOT/partials
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - modules/*
    newRootPath: modules/
  - path: ROOT/images
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - images/*
    newRootPath: images/
  - path: ROOT/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - welcome/*
    newRootPath: welcome/
  - path: _files
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - files/*
    newRootPath: files/
  - path: architecture/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - architecture/*
    newRootPath: architecture/
  - path: backup_and_restore/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - backup_and_restore/*
    newRootPath: backup_and_restore/
  - path: cli/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - cli/*
    newRootPath: cli/
  - path: configuration/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - configuration/*
    newRootPath: configuration/
  - path: installing/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - installing/*
    newRootPath: installing/
  - path: integration/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - integration/*
    newRootPath: integration/
  - path: operating/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - operating/*
    newRootPath: operating/
  - path: release_notes/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - release_notes/*
    newRootPath: release_notes/
  - path: support/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - support/*
    newRootPath: support/
  - path: upgrading/pages
    git:
      url: https://github.com/openshift/openshift-docs
      ref: rhacs-docs
    includePaths:
    - upgrading/*
    newRootPath: upgrading/

The source repository is at https://github.com/gaurav-nelson/rhacs-docs

@gaurav-nelson we currently did not include any optimization for fetching same repo multiple times. would be ideal but probably requires a bit of writing down how to best achieve it. do we just see that config is the same across multiple directories or do we introduce top level key called source that could be referenced by each directory?

sources with a top level key seems like a right idea imho, though with slight modifications:
apiVersion: vendir.k14s.io/v1alpha1
kind: Config

sources:
- name: source1
  git:
    url: https://<repository-address>
    ref: <branch-name>

directories:
- path: docs/modules
  contents:
  - path: ROOT/partials
    source: source1
    includePaths:
    - modules/*
    newRootPath: modules/

This would be a good addition


Cvxpy

Motivation for this change
Add cvxpy + dependencies
Finishing off the cvxpy packaging mentioned in https://github.com/NixOS/nixpkgs/pull/45047
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Heads up, this PR can fail at test time, possibly due to bad seeds:
======================================================================
FAIL: test_ch8_mcsdp (test_examples.TestExamples)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/cvxopt-1.2.3/tests/test_examples.py", line 48, in test_ch8_mcsdp
    self.assertAlmostEqualLists(list(z[::n+1]),n*[1.0],5)
  File "/build/cvxopt-1.2.3/tests/test_examples.py", line 19, in assertAlmostEqualLists
    for u,v in zip(L1,L2): self.assertAlmostEqual(u,v,places)
AssertionError: 3.1962078445048556 != 1.0 within 5 places
----------------------------------------------------------------------
Ran 39 tests in 172.236s
FAILED (failures=1, skipped=6)

This is the second time I've run this build. The first time the value was ~1.2

That's pretty bad! cvxopt isn't part of this branch, it's been in master for a while. Not sure why it got triggered as build-from-source for you. I tried this (as a trusted user, e.g. root):
nix-build -A python3Packages.cvxopt --option repeat 10 --option substitute false  --no-out-link
these derivations will be built:
  /nix/store/wh6ikia2ck8xqwl2ljnifibrldsbpbvy-cvxopt-1.2.3.tar.gz.drv
  /nix/store/x9c5sc969yfwg2yjzi01m8w8x6dp2hrf-python3.7-cvxopt-1.2.3.drv
building '/nix/store/wh6ikia2ck8xqwl2ljnifibrldsbpbvy-cvxopt-1.2.3.tar.gz.drv'...
...
building '/nix/store/x9c5sc969yfwg2yjzi01m8w8x6dp2hrf-python3.7-cvxopt-1.2.3.drv' (round 1/11)...
...
building '/nix/store/x9c5sc969yfwg2yjzi01m8w8x6dp2hrf-python3.7-cvxopt-1.2.3.drv' (round 11/11)...
...
OK (skipped=6)
/nix/store/47x71dgcpf7h9214wr8hkjmz1pma3sk7-python3.7-cvxopt-1.2.3

And can't reproduce. Can you share your build command?

Oops! cvxopt works fine on unstable, actually. The problem was that I was pulling cvxopt into a shell from this PR (which is broken) and I was too rushed to tell the differentiate between the suffixes. Unfortunately, I am still getting a test error with cvxpy : /
======================================================================
ERROR: test_psd_nsd_parameters (cvxpy.tests.test_expressions.TestExpressions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/cvxpy-1.0.21/cvxpy/tests/test_expressions.py", line 265, in test_psd_nsd_parameters
    p.value = a2
  File "/build/cvxpy-1.0.21/cvxpy/expressions/constants/parameter.py", line 60, in value
    self._value = self._validate_value(val)
  File "/build/cvxpy-1.0.21/cvxpy/expressions/leaf.py", line 428, in _validate_value
    "%s value must be %s." % (self.__class__.__name__, attr_str)
ValueError: Parameter value must be positive semidefinite.

----------------------------------------------------------------------
Ran 1882 tests in 12.856s

FAILED (SKIP=2, errors=1)
Error in AA type 1, iter: 39, info: 0, norm 4.22e+04
Error in AA type 1, iter: 39, info: 0, norm 4.22e+04
Error in AA type 1, iter: 10, info: 0, norm 1.24e+04
builder for '/nix/store/i9y43yq923acwvxl3xamp1pczagw9mc4-python3.6-cvxpy-1.0.21.drv' failed with exit code 1
cannot build derivation '/nix/store/mlbl4p4a5vy99dans7zkhsiw85j6szwj-python3-3.6.8-env.drv': 1 dependencies couldn't be built
error: build of '/nix/store/mlbl4p4a5vy99dans7zkhsiw85j6szwj-python3-3.6.8-env.drv' failed

I pinned my nix-shell to your PR. Here's a compressed shell file:
# shell.nix
{ ... }:

let
  hostpkgs = import <nixpkgs> {};
  srcDef = builtins.fromJSON ''{
    "url": "https://github.com/NixOS/nixpkgs",
    "rev": "0115285de38b27ed9c3cf900ec3abff0a7a37632",
    "date": "2019-04-19T11:38:25+01:00",
    "sha256": "05yb5ww7wl68v4fwq0fg6k6sdf49ykfr7yckhlyx2a1glzpdzs1h",
    "fetchSubmodules": false
  }'';
in

with (import (hostpkgs.fetchFromGitHub {
  owner = "NixOS";
  repo = "nixpkgs";
}) { });

mkShell {
  buildInputs = [
    (python36.withPackages (ps: with ps; [
      cvxpy
    ]))
  ];
}

With the nixos commit being this PR: https://github.com/NixOS/nixpkgs/pull/59518/commits/0115285de38b27ed9c3cf900ec3abff0a7a37632
I also copied your default.nix, placed it explicitly in the withPackages section and bumped the sha256+version to 1.0.25, but still got the same error.

I did a rebase against master and several rebuilds / tests and still can't reproduce. One thing that's a bit confusing is that you got numerical errors first on cvxopt and now cvxpy.
The only similar incident I can remember recently was related to an openblas bug. What's your CPU architecture (/proc/cpuinfo)? I'm on Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz

Quick followup -- I just built this on an Intel i7-8665U (8) @ 4.800GHz successfully, but got the above error when building on Intel i9-7900X (20) @ 4.500GHz. Both were built on NixOS, as well as x64 architectures.
Let me know if I can help debug this further. I'm not quite sure what to do next.

I think this was superseded by #78898, which was just merged. Feel free to close @jonringer @FRidh @costrouc @teh


Mark repo as [DEPRECATED] and "abandoned" on GitHub

No public repos depend on this, and it has only been downloaded 15 times ever, and doesn't appear to be maintained?

@Nyholm wdyt? i vote for deleting the repository.

What is the reason for deleting it? It has not been a super high maintaining cost for this repo.
It is a client like others but very unpopular.

it seems essentially unused, adding noise when doing things on all the php-http repositories. but if you want to keep it, i see no big harm either and would be fine with it. and maybe some people find it useful as an example to do their own stream wrapper things...

So, it should be marked as abandoned, but not deleted?

Ping. :)

marking as abandoned seems the right course of action to me. @Nyholm ok for you if i do that?

Sure

see #4