Remove the db from the provisioner logic (and codebase)

Description
DAQ-1412
DAQ-1471
Removes the database code from the provisioner logic, and refactors it a bit, to hopefully make it more understandable.
Also removes the database code from the whole codebase:

The provisioner was the last thing still using it

The linter complained after I removed the database code from there

It was easier to remove the whole code than messing with the linter

How can this be tested?
The provisioner refactor:

It should work as normal, just no more database creation
Look at code, see if it's clear

The database-code/CGO removal:

Image still builds, but faster 😅

codewise I do not have anything to add. LGTM
It also works for me. Building is faster and csi still works as it should.
If all conversations are resolved, I will approve.


[Sprint 45] XD-2837 Admin scripts to include hadoop classpath

Setup and add hadoop classpath into XD-admin JVM classpath

This works (tested the *nix version) and allows one to successfully upload a module to HDFS with xd-admin.
However,

The admin does not need full "distro specific" support, merely the ability to write to Hdfs using HdfsResource. I don't know if this is possible without needing to choose a specific distro
The way this is done (similar to container) is really brittle at the moment. But there is a story dealing with hadoop classpath in the next sprint, so merging this as is
For the same reasons, not worrying too much about the inclusion of hadoopDistro in the usage message

Merged as 47fa882c2fdcf9c1880c044b1035bc78a4f62166


[WIP] Initial draft proposal of the new standard data type set for UAVCAN v1.0

This is my vision of the new data type set design built in accordance with our new approaches. One will notice that this new set is completely devoid of any equipment-specific data types, which is fully intentional. The old approach that we experimented with in v0 turned out to be deeply flawed because it forces one to design their applications in a very particular way, rendering the protocol unusable for use cases that were not foreseen when the set of data types was originally designed. More background info on the subject is available in the forum thread linked above.
The new approach is to provide a set of very generic data types that do not make any assumptions about the nature of the target application. The resulting type system is far less efficient, but the upside is that it is much more flexible and repurposable. Rather than trying to cater to every sensible application out of the box, we are now encouraging equipment vendors to provide custom vendor-specific message definitions for their equipment when higher efficiency or advanced functionality is desired; whereas simpler applications can be handled by using the standard set alone. I expect that there will be equipment that can be interfaced with using both generic data types (in a universal but not-so-efficient way) and vendor-provided data types (in a very vendor-specific but very efficient way). Similar patterns can be found in other systems, e.g. CANopen or USB.
I think it might be sensible to encourage vendors to publish their vendor-specific data types under very permissive licenses permitting other vendors to re-use their data type definitions to reduce fragmentation of the ecosystem. We could also come up with a set of simple domain-specific definitions to be used as a middle ground between the generic standard set and vendor-specific custom messages, although that should belong in a completely separate namespace outside of uavcan.*.
I want everyone involved to evaluate the new data type set carefully and pay particular attention to the following parts:
uavcan.node.GetPorts, uavcan.node.GetPortInfo, uavcan.node.GetPortStatistics - these data types provide a simple yet very powerful API that allows one to reconstruct the computational graph, collect the main communication metrics (input/output/errors) in real time, and verify that all nodes use compatible data types for communication with each other. Eventually, when the new GUI tool is around, it will be able to build things like this, showing the traffic intensity and transport errors in real time:

(regarding the term "port", see https://forum.uavcan.org/t/a-generic-term-for-either-subject-or-service/182)
The dynamic node ID allocation message was moved to a different namespace (named uavcan.pnp, short for plug-and-play). Now we have two versions of it: one legacy for CAN 2.0, and a new one for CAN FD and eventually other transports. The key difference is that the new message allows for much, much simpler allocation logic because it doesn't require the server and the client to engage in complex stateful multi-stage exchanges.
A new namespace uavcan.primitive was added, which contains primitive data types (integers, reals, arrays of those, etc). I expect it will be handy for prototyping, although I don't want to encourage reliance on it because such basic types lack semantic information making them hard to build robust interfaces with. Also, these are needed for the next feature:
The parameter API is gone. Meet its successor: uavcan.register. This is a pair of very simple services that allow the caller to manipulate the configuration parameters on the remote node, request its read-only named values such as calibration data and whatever else defined by the vendor, and trigger actions by writing values into special-function registers. The same interface can also be used to implement direct reads and writes of the target node memory remotely over the CAN bus. We use this approach (although with a completely different protocol over USB/RS485) for high-speed data collection and configuration parameter management elsewhere and it works quite well.
The data type uavcan.node.ExecuteCommand replaces overly specific definitions like RestartNode and BeginFirmwareUpdate. It also allows vendors to define custom commands there. This move should simplify implementation on resource-constrained nodes as one can get by with just one server where three used to be needed.
Finally, the brand new namespace uavcan.si, which is the main innovation here. Just a bunch of physical quantities. I personally think that the concept is solid but its implementation could use some refinement. For example, the data types may require renaming, some of them look clumsy (e.g., uavcan.si.length.WideVector3TS could certainly use a better name). Most types use float32 underneath, but some have to rely on wide integers or float64 because of insufficient precision/resolution/range of float32; such inconsistency is undesirable. As I expect this to be the most critical part of the new specification, I'd like everyone to subject these definitions to maximum scrutiny.
Paging @kjetilkjeka @thirtytwobits @EShamaev @antoinealb @mhkabir @uxvrob @dagar

The CI is broken because the current Python DSDL compiler doesn't understand our new data types yet.

@antoinealb check out this video here please: https://forum.zubax.com/uploads/default/original/1X/3f8b3b136d03e9035ef95ca7928f1ba4a4f746fa.webm (you can skip to 1:20). It demonstrates the user experience that can be built in a very generic way (no assumptions made about the application) using this approach. If you have any specific concerns about generality/UI please share them, perhaps the documentation should be clarified?

yes for parameter enumeration I am quite confident this can be done. I am more wondering about the "save to persistent storage" functionality that was there before. I don't see anything comparable to that in your new protocol ?

@antoinealb added a new standard command to support manual persistence management. I decided to avoid defining the load command as the use cases for that are not yet perfectly clear; interested vendors should rely on vendor-specific commands for now.

How do we represent covariance information in general-purpose standard interfaces using the new data type model? Our options are, as I see it:

Use uavcan.primitive.ArrayOfReal16 or  uavcan.primitive.ArrayOfReal32. These lack semantic information and timestamps.
Define timestamped primitives, e.g. uavcan.primitive.ArrayOfReal16TS.
Any other options?

Some definitions have been moved back to v0. I have posted my answers to the concerns raised by @kjetilkjeka here: https://forum.uavcan.org/t/on-subject-service-id-ranges/195/2

I have temporarily disabled Travis here because we can't really fix it until the DSDL compiler is updated.

The si namespace doesn't really look ergonomic either. Perhaps it is not quite ready to be stabilized directly from this PR?

I would really like to have all namespaces reviewed jointly, as some of them are interdependent (e.g. file and node, register and primitive). However, you are probably right in that the SI namespace is a rather special one as it is the major piece of the new design and I admitted above that it might need refinement. I am open to removing it from this PR, to re-introduce it again in the very next PR.

I accepted most of the feedback and removed the diagnostic namespace from this PR. I intend to re-introduce that in the very next PR.

I followed the discussion where we decided to use aviation inspired words for priority levels?

@kjetilkjeka It's weird, I recall Scott mentioned this somewhere on Github but now I can't find this, not even among my email notifications from Github. We also talked about that briefly at the Stockholm Summit on the first day before you got there.
@thirtytwobits it would really help if you vetted the new health codes we have here. It will also affect the new diagnostic message which I just removed from this PR: once we chose a particular way of representing node health, it would make sense to keep the diagnostic message within that framework too.

@pavel-kirienko - what are the implications for the bootloaders?

I would like to clarify that having all v1.0 data types merged doesn't really mean that they are stabilized yet. The merge target is not master but rather a staging branch. We will have a chance to introduce emergency breaking changes later before finally merging things to master (that would be after the implementations have been updated and some initial feedback has been gathered).

I would prefer the "Dynamic" range to be changed to an "Application-specific" range before merging though.

Done.

Can we also clarify in the README.md that this is currently a draft as well?

Not done -- I'm worried we might forget to remove that before merging to master. The facts that the spec v1.0 is not yet released and that this is neither master nor a release branch should be indicative enough.
I would like @thirtytwobits and @antoinealb to confirm that they accept the changes as well before merging. After that we will continue with diagnostics.

Some thoughts about the file API (just food for thought. You're the architect here so I trust your final judgment): I'm wondering if we have an API that is weird? That is, we could have used something like TFTP over CAN for greater simplicity and standardization. On the other hand, or we could have provided something more complete like HTTP over CAN (e.g. using HTTP verbs for basic operations and RFC7233 range requests for more fine grained file access). With that in mind, is what we have here a happy median or an odd bastard?

@thirtytwobits I would say that what we have here is more of a happy bastard. I seriously dislike conventional file transfer protocols because of their heavy reliance on shared state which makes them extremely fragile; TFTP is a good example of that. Instead, we should be leaning towards client-driven protocols that ideally do not require the server to keep any context whatsoever (although this is probably not possible or not practical to obtain, it is something we should strive towards, like a motivational poster on the wall). Let's discuss that in detail in a separate PR.


Repeatable subcommands problem with programmatic configuration (was: How to run subcommands together)

I need to run subcommands together.
I have three main commands which starts so and which have their subcommands and options

-i --instance ...
-val --validate ...
-g --generate ...
and I need to that they will be together
I tried to write with subcommands of picocli
library but I had such problem. Picocli let me to run commands seperately but not together like this
-i --instance ... -v --validate ... -g --generate
Is it possible run these commands together using
subcommands of Picocli?

You may be looking for Repeatable Subcommands.
You enable this feature like this:
@Command(name = "myapp", subcommandsRepeatable = true)
...

The manual has more details and an example.
Does this meet your requirements?

I have just tried to add subcommandsRepeatable = true to my root command
and It works as I expected
thank you very much for aid

Glad to hear that solved the issue!
Enjoy picocli!
Don't forget to give the project a star on GitHub and tell your friends! :wink:

Picocli doesn't understand subcommand of subcommand
I have such structure

load commnad -l ...
validate command -v .. and this has file validation sub command -fv
generate command -g
I wrote so
CommandLine commandLine = new CommandLine(new MainCommand());
commandLine
.addSubcommand("-l",new LoadCommand())
.addSubcommand("-g",new GenerateCommand())
.addSubcommand("-v", new CommandLine(new ValidateCommand())
.addSubcommand("-fv",new FileValidationCommand()));
everything worked fine till ading -fv sub command for validation command
now it says Unknown options: '-g',.. for all generation command options
please help

I was able to reproduce the issue.
There is a bug in the Repeatable Subcommands implementation that results in subcommands not being copied correctly...
Programmatic configuration does not work correctly, DON'T DO THIS:
        cmd
                .addSubcommand("-l",new LoadCommand())
                .addSubcommand("-g",new GenerateCommand())
                .addSubcommand("-v", new CommandLine(new ValidateCommand())
                        .addSubcommand("-fv",new FileValidationCommand()));

instead, do this:
@Command(name = "myapp", subcommandsRepeatable = true,
   // PLEASE USE DECLARATIVE CONFIGURATION
   // (also for sub-subcommands, see ValidateCommand below)
   subcommands = {
           LoadCommand.class,
           GenerateCommand.class,
           ValidateCommand.class,
   },
   mixinStandardHelpOptions = true, version = "myapp 0.1")
public class MainCommand implements Runnable {
...

Below is a full example. I need to investigate on how exactly to fix this, but this workaround should help.
package picocli.examples.issue1144;

import picocli.CommandLine;
import picocli.CommandLine.Command;

import java.util.Arrays;

@Command(name = "myapp", subcommandsRepeatable = true,
   // PLEASE USE DECLARATIVE CONFIGURATION
   // (also for sub-subcommands, see ValidateCommand below)
   subcommands = {
           LoadCommand.class,
           GenerateCommand.class,
           ValidateCommand.class,
   },
   mixinStandardHelpOptions = true, version = "myapp 0.1")
public class MainCommand implements Runnable {
    @Override
    public void run() {
        System.out.println("Executing MainCommand");
    }

    public static void main(String[] ignored) {
        //System.setProperty("picocli.trace", "DEBUG");
        CommandLine cmd = new CommandLine(new MainCommand());

        // There is a bug in the Repeatable Subcommands implementation
        // that results in subcommands not being copied correctly...
        // Programmatic configuration does not work correctly, DON'T DO THIS:
//        cmd
//                .addSubcommand("-l",new LoadCommand())
//                .addSubcommand("-g",new GenerateCommand())
//                .addSubcommand("-v", new CommandLine(new ValidateCommand())
//                        .addSubcommand("-fv",new FileValidationCommand()));

        String[][] all = {
                {"-l"},
                {"-l", "-g"},
                {"-l", "-g", "-v"},
                {"-l", "-g", "-v", "-fv"},
        };
        for (String[] args : all) {
            System.out.println(Arrays.toString(args));
            cmd.execute(args);
            System.out.println();
        }
    }
}
@Command(name = "-l")
class LoadCommand implements Runnable {
    @Override
    public void run() {
        System.out.println("Executing LoadCommand");
    }
}
@Command(name = "-g")
class GenerateCommand implements Runnable {
    @Override
    public void run() {
        System.out.println("Executing GenerateCommand");
    }
}
@Command(name = "-v", subcommands = {
        // ALSO USE DECLARATIVE CONFIGURATION HERE
        FileValidationCommand.class
})
class ValidateCommand implements Runnable {
    @Override
    public void run() {
        System.out.println("Executing ValidateCommand");
    }
}
@Command(name = "-fv")
class FileValidationCommand implements Runnable {
    @Override
    public void run() {
        System.out.println("Executing FileValidationCommand");
    }
}

thank you for quick answer
This example works so
but When I added one option in FileValidationCommand
and run args so "-l","-v", "-fv","-m","1", "-g"
It didn't recognize -g option again
I need to add sub commands in generate command too yet
Is this a bug too?

No, this is not a bug; this is the expected behaviour.
Please see repeatable subcommands specification, specifically Figure 2, and the explanation following that figure:

Note that it is not valid to specify a subcommand followed by its parent command.

One way to resolve this is to rethink/redesign your command hierarchy. Does -fv need to be a subcommand of -v?
Another idea is to look at Argument Groups. Could your commands be modeled as argument groups instead of subcommands? They do “look like” options a bit since they have a - dash prefix, but perhaps that is just my preconception.

thanks again
I will look at Argument Groups and if I have any question I will write you
thank you very much

No worries!
Please star ⭐ picocli on GitHub 😅
and tell your friends!

Closing this one: the problem of combining repeatable subcommands with the programmatic API is already tracked in a separate ticket: #1010.


Add the ability to specify the client's subnet

It would be nice to add the ability to specify the client's subnet when installing wireguard, since otherwise you have to replace all mentions of 10.7.0. in the script with the necessary client subnet

Duplicate.


Angular Support

Thank you for this awesome library. Keep up the good work!
Do you plan to make it works with Angular?

I don't have any plans to make it work with Angular currently ^^

If it's packaged to npm, I think it will be possible to include in Angular ?

Angular 9 version, if this will help - https://github.com/remodzy/ng-flowy


[OAP-2010][oap-native-sql] Add abs support in wscg

Fixed: https://github.com/Intel-bigdata/OAP/issues/2010

note: the CI failures are not related


[BUG] Checkpoint documentation for writers is ambiguous

Checkpoint documentation in protocol specification is ambiguous and could be more concrete.
Requirements for writers says that each row in checkpoint is an action.
Later, checkpoint schema indicates that every row has all the actions (i.e. it has 5 columns). Also, every action has a different schema.
What is the parquet schema for the checkpoint?
Delta log entries documentation is clear, it says that there are multiple actions in the log separated by newline.
Looks like similar thing is intended for checkpoint after reconciliation. Looking for clarity on the schema.

This seems related to #940

@vigneshc - the checkpoint schema section you linked is correct. Every row has all actions, each action has a different schema, and we expect at runtime all columns (per row) but one to be null, and one column to not be null.
Want to make a PR to update the PROTOCOL.md?


Replace insecure Math.random() with crypto.getRandomValues()

Math.random() is not cryptographically secure, and as such is not suitable for generating passwords. As such, it is replaced with crypto.getRandomValues().
Math.floor(Math.random * length) is also not uniform if length is not a multiple of a power of 2. As such, a secureRandom(count) function was built which uses modulo with rejection sampling to ensure every character or word when building the password or passphrase is uniform. Every instance of the multiply-and-floor method was replaced with this function.
These changes bring the password and passphrase generators up to standard with modern cryptographic best practices.

Thank you for noticing the vulnerability and improving the code.


Fan support

What about adding fan control support similar to this zoltanhosszu/homebridge-web-thermostat.
It's a fork of your project, but I think you could pull in that changes and make the fan control section optional.

That fork does not expose a Thermostat service as my plugin does. Instead, it exposes a HeaterCooler service.
Please look at the HomeKit specification, you will see that under the Thermostat service there are no characteristics that can be exposed relating to fan control and thus there is nothing I can do to this plugin to add the functionality you are describing.
As for the HeaterCooler service, you can see that there are indeed characteristics that relate to fan control. However, my plugin serves my needs and I have no incentive / extra free time at the moment to develop a HeaterCooler plugin from scratch. Of course, you are more than welcome to create your own plugin which exposes your desired characteristics.


Recompile plugin with steampipe-plugin-sdk v4.1.13

Integration test logs

Logs
Add passing integration test logs here

Example query results

Results
Add example SQL query results here (please include the input queries as well)

Closing this PR in favor of SDK v5 release.


issues for table view in mobile

how to adjust this table  header and column problems?

There's not so much we can do as html tables aren't really responsive by design.
You can tweak everything with media queries, or try this solution https://medium.com/@nathankeenmelb/bulletproof-responsive-datatables-in-html-emails-64248b9e18f5


Store downstream Koji builds in DB

TODO:

[x] Openshift tests
[x] TODO in code

Fixes #1889
Fixes #2243
Merge after https://github.com/packit/packit/pull/2146

RELEASE NOTES BEGIN
The downstream Koji builds are now stored in the database as well and exposed via /api/koji-builds endpoint.
RELEASE NOTES END

@lachmanfrantisek thanks! Since I am on PTO on Monday and this also requires changes in the dashboard, I would like to merge this on Tuesday and test this properly on stage.


get_template_part('partials/', 'scripts'); in footer.php not returning anything

get_template_part('partials/scripts'); works ok


Create a contact info block

Add links to social networks (LinkedIn, Facebook, Instagram), phone number, email, Telegram username, etc.

done, it's completed


[bug] Qubino 3-Phase Smart Meter values disappearing after some time

Checklist:

[x] I am not using HomeAssistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog problem was not mentioned there.

Build/Run method

[X] Docker
[ ] PKG
[ ] Snap package
[ ] Manually built (git clone - yarn install - yarn run build )

zwavejs2mqtt version: 4.4.0
zwave-js version: 7.5.2
Describe the bug
I securely added a Qubino 3-Phase Smart Meter.
Values were being reported correctly for each phase for a few hours, after that one phase started to report erratically and the others stopped completely.
I re-interviewed the node and most of the values disappeared.
To Reproduce
Steps to reproduce the behavior:

Securely add Qubino 3-Phase Smart Meter.
Node added, meter values showing and updating, "Secure: Yes".
Wait 3 hours.
Re-interview node.
Values disappear and node is marked "Secure: No".

Expected behavior
Node should still be marked as secure, values shouldn't disappear.
Logs for the re-interview are attached.
node_25.json.txt
zwavejs.log

2021-05-26T15:03:42.877Z CNTRLR   [Node 025] Timed out while waiting for a response from the node
2021-05-26T15:03:42.879Z CNTRLR   [Node 025] The node is not included securely. Continuing interview non-securely.

The node did not respond to the query that's used to find out which commands it supports securely. When that happens we can only assume that it isn't included securely. Because of this, the values are not queried again and disappear.
Interview the node again and hope that it responds this time.

2021-05-26T15:03:42.877Z CNTRLR   [Node 025] Timed out while waiting for a response from the node
2021-05-26T15:03:42.879Z CNTRLR   [Node 025] The node is not included securely. Continuing interview non-securely.

The node did not respond to the query that's used to find out which commands it supports securely. When that happens we can only assume that it isn't included securely. Because of this, the values are not queried again and disappear.
Interview the node again and hope that it responds this time.

thanks for the analysis!
This node is very close to the controller so I guess that rules out bad comms. I already tried re-nterviewing several times and always get the same results. Can it be a firmware issue? I have two other qubino devices with strange results.

This node is very close to the controller so I guess that rules out bad comms.

It doesn't really. Your controller itself could be in a bad spot or be affected by reflections or interference. Try moving it a few cm or putting it on a USB extension cable.

I bit the bullet and shutdown the main breaker to force a device restart and it solved it. I will report this to qubino!

I bit the bullet and shutdown the main breaker to force a device restart and it solved it. I will report this to qubino!

Solved it only for a few mins.


Address "Staying connected" static site page

Description
We have a "Staying connected" page on the static site. This page is not linked in any of our navigation and has a broken YouTube embed to past demo day videos.
The only way this page is accessible is if we search for this page or know the url.
Open questions
A. Do we want to remove this page?
OR
B. Do we want to fix the broken YouTube link and make this page easier to find?
Expected behavior

Depends on above

Additional context

N/A

WRT to the page as it now exists, I would say delete it. We're not really doing "Demo Day"-style videos anymore afaik. The sprint demos are internal. "Demos not Memos" isn't intended for public consumption either.
It's also mission redundant vs https://www.simplereport.gov/using-simplereport/whats-new/


Import: decouple unlit from make_output_nodes

Refactors the unlit importer to make its own node setup instead of using make_output_nodes.
Should have no functional change on the shader nodes, except only one Transparency node gets created, instead of two.

A historical note on make_output_nodes: This function existed to abstract over certain commonalities between the shader node setups for Blender 2.79, pbrSpecularGlossiness, and unlit. It has since become a grab-bag for output node setups with every callsite using disjoint subsets of its features.
2.79 is long gone, and pbrSpecularGlossiness uses a normal Principled node as of #2127. So this moves the alpha node features of make_output_nodes to the only place they are now used, the unlit code.
If both this and #2127 get merged, make_output_nodes can be refactored to serve only pbrMetallicRoughness.

Thanks!
Seems we can now refactor make_output_nodes


Retry-After is returned in seconds, not ms

Fixes #860
cc @bretthoerner @getsentry/javascript

LGTM. I also wanted to be sure that sentry server actually follows the header convention and does seconds; you probably know it does off hand but I found that code path in the rate limiting stuff and verified.

@mattrobenolt – can you confirm we return seconds?

They did confirm for me in Slack.
On Feb 22, 2017 6:05 PM, "Ben Vinegar"<EMAIL_ADDRESS>wrote:

@mattrobenolt https://github.com/mattrobenolt – can you confirm we
return seconds?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/getsentry/raven-js/pull/862#issuecomment-281846684,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAG2MW8AHGFhhVodbghBCTnlbnKHEsBks5rfM1TgaJpZM4MJCqW
.


cc-wrapper: Account for NIX_LDFLAGS and NIX_CFLAGS_LINK in linkType

Description of changes
Without this, pkgsStatic.pkgsLLVM.hello fails with segfaulting binaries
because of the issue described at [0].
In summary, llvm's linker has a different behaviour to GCC's when
supplied with both -static and -Wl,-dynamic-linker=...; GCC copes with
it, but LLVM produces a binary which segfaults on startup. It appears to
be necessary to omit the dynamic linker in this case.
nixpkgs' static adaptor passes -static via NIX_CFLAGS_LINK which was not
accounted for prior to this commit in the checkLinkType logic. For good
measure I put the other NIX_ flags affecting link in the same logic.
Additionally, $NIX_CFLAGS_LINK_@suffixSalt@ is not available until later
than it was originally set, so set $linkType close to its point of use.
I checked for earlier uses by studying the shell trace output and
couldn't find any.
[0] https://github.com/NixOS/nixpkgs/issues/111010#issuecomment-1536424163
Signed-off-by: Peter Waller<EMAIL_ADDRESS>
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

cc @rrbutani for when you're back.

Ping @rrbutani and others, can we progress this one?

In case anybody ends up bisecting to here, your problem might be https://github.com/NixOS/nixpkgs/pull/269429, which was not caused by this PR, just made more prominent by it.


Configure parallelism

I am trying to load a high number of small image files from S3 (each is around 100 kB - 1MB in size) for model training. Currently I achieve 100 image / sec loading from a single AZ bucket using 32 dataloader workers. Overall the issue is that I cannot control the internal parallelism of s3-connector-for-pytorch. So my questions are:

Is there a way to speed up loading small files?
It seems the solution could be to increase the internal connection parallelism within s3-torchconnector. Is there a way to control this?

Hello @tsdev,
The s3-connector-for-pytorch uses the CRT client under the hood. We are exposing CRT's throughput_target_gbps and part_size confiurations. For small files, increasing the part size may not help, but you can try increasing the throughput_target_gbps parameter beyond the default 10 Gbps. This will hint to the CRT clients that you require higher throughput, potentially improving the loading speed for your small image files. Please refer to the documentation for more information on these parameters and their usage.
Additionally, if possible, you can preprocess your dataset to combine small files into larger shards. The section "Training data formats for Amazon S3" in documentation provides guidance on accessing sharded data, which can improve performance when working with numerous small files. By combining small files into larger ones, you can potentially achieve higher throughput during training.

I am going to close this issue for now, please let us know if you have any other questions.

I am going to close this issue for now, please let us know if you have any other questions.


implemented buyer account and minor optimizations

@obah  When the add listing function is called it throw's this error
revert
	The transaction has been reverted to the initial state.
Reason provided by the contract: "Farmer not registered".
You may want to cautiously increase the gas limit if the transaction went out of gas.


Inam attachments read not working

Hi,
I was trying to read the attachments in my mail server through INMAP/INAMPS but it gets 0 bytes if you don't override protected Properties createSessionProperties() in ImapServer and ImapSslServer setting the following:
ret.setProperty("mail.imap.partialfetch", "false");

as specified in https://javamail.java.net/docs/NOTES.txt

Thanx! Do you thing we should set this property always for Imap servers? I think so, right?

Great! I have set the default value to false, as you said.
Moreover, we added public setProperty methods on Imap servers, so you don't have to override the classes, just to set a property.

Ok thanks for the very quick support! Great!


Add packagingOptions mention and emerger plugin mention

Hi, I would like to add a mention about `packagingOptions' related to extension modules and global transformations. Also want to add a mention to the emerger plugin.
BTW I'm not 100% about the following statement: "Unless you statically
compile classes using extension modules with @CompileStatic they won't
be available at runtime"
I know that by experience, but it would be nice if
@Cedric could confirm I'm not wrong.

You're right. An example of how to use the emerger plugin in that case would help.


[BUG] Multi output not working for Lark

Describe the bug
A clear and concise description of what the bug is.
When running --extras-require-split the extras should be outputted as a separate package but nothing happens
To Reproduce
Steps to reproduce the behavior:

Run grayskull pypi --strict-conda-forge --extras-require-split Lark

Expected behavior
A clear and concise description of what you expected to happen.
The extras_require from upstream is listed as a separate package.
Outputs
If applicable, add the output to help explain your problem.
Environment:

conda list
pip list
grayskull --version

{% set name = "Lark" %}
{% set version = "1.1.4" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/lark-{{ version }}.tar.gz
  sha256: eee86062b149600ef62de0d8dfd38cf85ffc737e16911e7d8c18880f8c5b1333

build:
  noarch: python
  script: {{ PYTHON }} -m pip install . -vv
  number: 0

requirements:
  host:
    - python
    - pip
  run:
    - python >=3.6

test:
  imports:
    - lark
  commands:
    - pip check
  requires:
    - pip

about:
  home: https://github.com/lark-parser/lark
  summary: a modern parsing library
  license: MIT
  license_file: LICENSE

extra:
  recipe-maintainers:
    - BastianZim

Version: 1.8.4
Additional context
Add any other context about the problem here.
Upstream: https://github.com/lark-parser/lark/blob/master/setup.py

that part needs some work, indeed. Thanks for putting an example, that will help to track the issue


Create SharedVM using Orbit

It'd be ideal to have the VM using Orbit-MVI that's used by both iOS & Android.

Orbit MVI isn't quite KMM ready -- closing ticket.


Debug automated deployment to Conda cloud

It appears that Travis is not automatically deploying tagged builds to Anaconda Cloud.

Fixed by @avinson https://github.com/probcomp/trcrpm/commit/00df0aadff156f6e0a2626bae54faac386932d86
Build on Travis: https://travis-ci.org/probcomp/trcrpm/builds/466028171


Implement global fonts and logos

Closes #1752

UPDATE: For now we're going with the first option


cloudflare + drizzle not working by default

Describe the bug
I'm creating a new project with
pnpm create bati --react --tailwindcss --trpc --hono --drizzle --cloudflare
after create the DB and check that everything works on run pnpm run dev
I'm trying to run pnpm run preview but fails with this and other errors.
> wrangler pages dev

 ⛅ wrangler 3.69.1 (update available 3.70.0)
-------------------------------------------------------

✘ [ERROR] Could not resolve "fs"

    ../../node_modules/.pnpm/better-sqlite3@11.1.2/node_modules/better-sqlite3/lib/database.js:2:19:
      2 │ const fs = require('fs');
        ╵                    ~~~~

  The package "fs" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.

✘ [ERROR] Could not resolve "path"

    ../../node_modules/.pnpm/better-sqlite3@11.1.2/node_modules/better-sqlite3/lib/database.js:3:21:
      3 │ const path = require('path');
        ╵                      ~~~~~~

To Reproduce
pnpm create bati --react --tailwindcss --trpc --hono --drizzle --cloudflare
pnpm drizzle:generate
pnpm drizzle:migrate
pnpm drizzle:seed
pnpm run preview

Expected behavior
preview should work out of the box.
if D1 setup is required, the instructions should be part of the read me.
https://orm.drizzle.team/docs/get-started-sqlite#cloudflare-d1
Additional context
I just try to follow the drizzle instruction, but I don't know how to make this works.
db.ts has this
import Database from "better-sqlite3";
import { drizzle } from "drizzle-orm/better-sqlite3";
import * as schema from "./schema";

const sqlite = new Database("sqlite.db");
export const db = drizzle(sqlite, { schema });

and export the db object, but in drizzle example, we have a request that has an env attribute that contains the DB.
export default {
  async fetch(request: Request, env: Env) {
    const db = drizzle(env.<BINDING_NAME>);
    const result = await db.select().from(users).all()
    return Response.json(result);
  },
};

so I can not easly export that db object to be used in the rest of the app.

Solution: replace better-sqlite3 usage with D1 when cloudflare is selected.
I'll probably have time next week to fix this.


Add link to "Getting help" section of the website

Closes #3406

Looks good. I'm ashamed to admit I didn't fully understand what you meant until now, because I never looked to see that it was a direct link to the Zulip.


Handle null value

This further reflects handling properties of type array.
For example:
{
  "id": {
    "type": ["integer", "null"]
  }
}

The example above defines a property named id that can have a value of type integer or null.

Resolved by creating Union type.
See d3e65cc55953d0434783970bd73bea470870e620


Mysterious case of vars dropped in iteration after rewrite

I was hoping to be able to reproduce this in OPA only, but so far I've not been able to do so. Therefore I'll file an issue here, and we can see where to take it later. This is by all means a bug somewhere, but since it doesn't affect Regal as the code currently is shipped, I won't label it as such.
In an effort to reduce the number of walk calls made, I've tried to replace two "static" rules with one dynamic. The code below is found in the search.rego file.
Old
found.refs[rule_index] contains value if {
    some i, rule in _rules

    # converting to string until https://github.com/open-policy-agent/opa/issues/6736 is fixed
    rule_index := sprintf("%d", [i])

    walk(rule, [_, value])

    is_ref(value)
}

found.symbols[rule_index] contains value.symbols if {
    some i, rule in _rules

    # converting to string until https://github.com/open-policy-agent/opa/issues/6736 is fixed
    rule_index := sprintf("%d", [i])

    walk(rule, [_, value])
}

New
found[type][rule_index] contains item if {
    some i, rule in _rules

    # converting to string until https://github.com/open-policy-agent/opa/issues/6736 is fixed
    rule_index := sprintf("%d", [i])

    walk(rule, [_, value])

    [type, item] := refs_or_symbols(value)
}

refs_or_symbols(value) := ["refs", value] if {
    is_ref(value)
    not value.symbols
}

refs_or_symbols(value) := ["symbols", value.symbols]

While this seems to work, the remaining "static" rule now shows some truly weird behavior:
found.vars[rule_index][context] contains var if {
    some i, rule in _rules

    # converting to string until https://github.com/open-policy-agent/opa/issues/6736 is fixed
    rule_index := sprintf("%d", [i])

    walk(rule, [path, value])

    some context, vars in _find_vars(value, regal.last(path))
    some var in vars
}

Storing the result of _find_vars(value, regal.last(path)) shows a few vars found in the input AST. However, printing the value of the context in the some iteration below shows only a few of those.
found.vars[rule_index][context] contains var if {
    some i, rule in _rules

    # converting to string until https://github.com/open-policy-agent/opa/issues/6736 is fixed
    rule_index := sprintf("%d", [i])

    walk(rule, [path, value])

    fv := _find_vars(value, regal.last(path))

    print(fv) # will print all variables as expected

    some context, vars in fv

    print(context) # will only print a few variables from fv

    some var in vars
}

Example input to reproduce:
p.rego
package p

import rego.v1

allow if {
    some x
    input[x]
}

Now run:
go run main.go lint --enable-print p.rego

Before the change, the output of print will be:
{"some": [{"location": {"col": 7, "row": 6, "text": "eA=="}, "type": "var", "value": "x"}]}
some
{"ref": [{"location": {"col": 8, "row": 7, "text": "eA=="}, "type": "var", "value": "x"}]}
ref

As expected. After the change, the output is:
{"some": [{"location": {"col": 7, "row": 6, "text": "eA=="}, "type": "var", "value": "x"}]}
{"ref": [{"location": {"col": 8, "row": 7, "text": "eA=="}, "type": "var", "value": "x"}]}
ref

As seen, the some var that should have been bound to context dissapeared somewhere.

I've been zooming in on what the compiler does to data.regal.ast.found. Without the change (old), we end up with this:
found.vars[__local290__][__local291__] contains __local295__ if {
	__local289__ = data.regal.ast._rules[__local288__]
	sprintf("%d", [__local288__], __local1972__)
	__local290__ = __local1972__
	walk(__local289__, [path, value])
	regal.last(path, __local1973__)
	data.regal.ast._find_vars(value, __local1973__, __local1974__)
	__local292__ = __local1974__[__local291__]
	__local295__ = __local292__[__local294__]
}

found.refs[__local298__] contains value if {
	__local297__ = data.regal.ast._rules[__local296__]
	sprintf("%d", [__local296__], __local1975__)
	__local298__ = __local1975__
	walk(__local297__, [_, value])
	data.regal.ast.is_ref(value)
}

found.symbols[__local301__] contains __local3060__ if {
	__local300__ = data.regal.ast._rules[__local299__]
	sprintf("%d", [__local299__], __local1976__)
	__local301__ = __local1976__
	walk(__local300__, [_, value])
	__local3060__ = value.symbols
}

With the change, we get:
found.vars[__local290__][__local291__] contains __local295__ if {
	__local289__ = data.regal.ast._rules[__local288__]
	sprintf("%d", [__local288__], __local1973__)
	__local290__ = __local1973__
	walk(__local289__, [path, value])
	regal.last(path, __local1974__)
	data.regal.ast._find_vars(value, __local1974__, __local1975__)
	__local292__ = __local1975__[__local291__]
	__local295__ = __local292__[__local294__]
}

found[__local299__][__local298__] contains __local300__ if {
	__local297__ = data.regal.ast._rules[__local296__]
	sprintf("%d", [__local296__], __local1976__)
	__local298__ = __local1976__
	walk(__local297__, [_, value])
	data.regal.ast.refs_or_symbols(value, __local1977__)
	[__local299__, __local300__] = __local1977__
}

Now, we know from looking at this in our zoom call, that for the second eval, this is what failed:
	__local292__ = __local1975__[__local291__]

(it's the some context, vars in fv). So that means when read head rules overlap like this, the evaluator has a problem with scoping thins correctly: it's keeping the previous iterations bindings when it shouldn't.
⚠ None of this is new information, just putting down what we talked about. Maybe @johanfylling has an idea about the eval change there ☝

I spent some time just now trying to narrow this one down somewhat, and while I still haven't got a clue as to what the cause of this is, I've at least found that:

It's not a concurrency issue. Removing all the code launching goroutines for linting doesn't make any difference

Disabling all other rules "fixes" the issue

go run main.go lint --enable-print --disable-all --enable use-some-for-output-vars  p.rego
{"some"}
some
{"ref"}
ref
{"ref"}
ref
1 file linted. No violations found.

Updating the query sent to make a direct reference to data.regal.ast.found.vars "fixes" the issue

i.e. going from this
	lintQuery = ast.MustParseBody(`lint := {
		"violations": data.regal.main.lint.violations,
		"notices": data.regal.main.lint.notices,
	}`)

to this
	lintQuery = ast.MustParseBody(`lint := {
		"violations": data.regal.main.lint.violations,
		"notices": data.regal.main.lint.notices,
		"vars": data.regal.ast.found.vars,
	}`)

go run main.go lint --enable-print p.rego
{"some"}
some
{"ref"}
ref
{"ref"}
ref
1 file linted. No violations found.

I don't know what to make of this, but perhaps it'll help someone else getting closer... CC @johanfylling @srenatus

Starting to really narrow it down now! Turns out there's a single rule that when enabled triggers this, and when disabled things work as expected again.
go run main.go lint --enable-print --disable unused-output-variable  p.rego
{"some"}
some
{"ref"}
ref
{"ref"}
ref
1 file linted. No violations found.

There are many rules that query ast.found.vars, but this linter rule does it differently, and that seems to be the cause of the issue:
➜ ack ast.found.vars
bundle/regal/rules/bugs/unused_output_variable.rego
45:	var := ast.found.vars[rule_index].ref[_]

bundle/regal/rules/bugs/var_shadows_builtin.rego
11:	var := ast.found.vars[_][_][_]

bundle/regal/rules/style/prefer_snake_case.rego
20:	var := ast.found.vars[_][_][_]

bundle/regal/rules/testing/metasyntactic_variable.rego
46:	var := ast.found.vars[i][_][_]

bundle/regal/rules/custom/naming_convention.rego
84:	var := ast.found.vars[_][_][_]

I wonder if this isn't a virtual-cache thing 🤔 ..

Finally able to reproduce this in OPA: https://github.com/open-policy-agent/opa/issues/6926
Since this isn't an issue in any current code used in this project, I'll close this issue. Definitely coming back to this when fixed iin OPA though!

Time to revisit this, perhaps? 🤔

Yes, too much to do right now, but once we have OPA v0.68.0 out and about, let's do that!
And create a new issue about it being much slower than walking twice, lol. But could be that the virtual caching fixed that too.


Cant find cuda

The server has cuda 12.2 but the script says it cant find it.

The installation script will also check the existence of nvcc or libcudart as below:
Function to check CUDA for NVIDIA GPUs
check_cuda() {
if command -v nvidia-smi > /dev/null 2>&1; then
if ! command -v nvcc > /dev/null 2>&1 && ! ($SUDO ldconfig -p | grep -q libcudart); then
fatal "NVIDIA GPU detected but CUDA is not installed. Please install CUDA."
fi
fi
}
Could you also check the output of 'command -v nvcc' and 'sudo ldconfig -p | grep -q libcudart'?

nvidia-smi reports the driver version but the script fails to find the CUDA runtime library. Can you verify if the CUDA runtime works?(example)

There are cases where cuda is installed, but the script generates a false alarm.
To reproduce:

Run grep -l "cuda" /etc/ld.so.conf.d/*
Comment out the config file content by adding #.
Run sudo ldconfig to update cache.
Now install gpustack.

Current workaround: comment out check_cuda in the script(https://get.gpustack.ai/install.sh) then install.

Environment

GPUStack version: main(c8e8485)
OS: Ubuntu 22.04
GPU: NVIDIA GeForce RTX 4080

Test Result:
[WARN]  NVIDIA GPU detected but CUDA is not installed. Please install CUDA.
[INFO]  Installing GPUStack...
pipx >(setup:1083): pipx version is 1.6.0
pipx >(setup:1084): Default python interpreter is '/root/miniconda3/bin/python3.12'
pipx >(package_name_from_spec:378): Determined package name: gpustack
pipx >(package_name_from_spec:379): Package name determined in 0.0s
pipx >(create_venv:162): Creating virtual environment
creating virtual environment...
pipx >(run_subprocess:175): running /root/miniconda3/bin/python3.12 -m venv --without-pip /root/.local/share/pipx/venvs/gpustack
pipx >(run_subprocess:175): running <checking pip's availability>
pipx >(run_subprocess:175): running /root/.local/share/pipx/venvs/gpustack/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
pipx >(run_subprocess:175): running /root/.local/share/pipx/shared/bin/python -c import sysconfig; print(sysconfig.get_path('purelib'))
pipx >(run_subprocess:175): running /root/.local/share/pipx/venvs/gpustack/bin/python --version
pipx >(_parsed_package_to_package_or_url:139): cleaned package spec: gpustack[vllm]
pipx >(install_package:245): Installing gpustack from spec 'gpustack[vllm]'
installing gpustack from spec 'gpustack[vllm]'...
pipx >(run_subprocess:175): running /root/.local/share/pipx/venvs/gpustack/bin/python -m pip --no-input install gpustack[vllm]
pipx >(run_subprocess:175): running <fetch_info_in_venv commands>
pipx >(get_venv_metadata_for_package:349): get_venv_metadata_for_package: 478ms
pipx >(_parsed_package_to_package_or_url:139): cleaned package spec: gpustack[vllm]
pipx >(_symlink_package_resource:132): Force is true. Removing /root/.local/bin/gpustack.
  installed package gpustack 0.2.1, installed using Python 3.12.4
  These apps are now globally available
    - gpustack
done! ✨ 🌟 ✨


The BUPT APIs are out of date.

Need to replace them with new APIs.

You can assign this issue to me @jerrymakesjelly .

Fixed in #4 .


JSON.Parse on primitive type

http://forums.bridge.net/forum/bridge-net-pro/bugs/856

Added tests for int, double, decimal - failing now.
Additionally, I do not see a way how to parse strings as C# code JSON.Parse<string>("some string") throws exception on client-side  Unexpected token H.


nixos/containers: add 'ephemeral' option

Motivation for this change
The new option allows defining completely ephemeral nixos containers that bootstrap themselves on each boot from scratch without leaving any artifacts after shutdown. Useful when all you want is to run stateless, nix-configured services. Some use cases include:

reverse proxy
stateless dns server
gateway/router/firewall
static web page
nix-provisioned grafana (thanks to the recent changes from #53874)

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

[x] 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/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @grahamc @danbst @flokli @arianvp

@GrahamcOfBorg test containers-ephemeral

@uvNikita do you mind adding this test to all-tests.nix?

@mmahut sure, thanks for the input!

@GrahamcOfBorg test containers-ephemeral

Thank you for your contribution.

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/using-nixos-as-an-stateless-workstation/3081/17

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/ephemeral-containers-for-devs/9447/7


⚠ Bofrost.es has degraded performance

In a12c007, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1376 ms

Resolved: Bofrost.es performance has improved in 3babfac after 13 minutes.


android resource extensions

hi, thanks for your lib, just wanted to let you know that i've created a library for loading /res and /assets using your library https://github.com/kibotu/AndroidResourceExtensions
have a nice day :)

thanks :) nice lib !


rhel/centos 8 support

centos 8 was released at 2019-09-24.

https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1905?action=show&redirect=Manuals%2FReleaseNotes%2FCentOSLinux8

The confluent platform hasn't support rhel/centos 8 yet. I couldn't find a plan to support.

https://docs.confluent.io/current/installation/system-requirements.html#operating-systems

Do you have a plan to support rhel/centos 8? It's helpful for me to consider upgrading schedule.

@t2y I would recommend opening a Support Ticket with our Support team to discuss this further, as this is a platform Specific question, and not just related to CP-Ansible.  You can reach our support organization at support.confluent.io.


added delete-multiple-files url mapping back

@mjstealey This is the PR that fixes the deletion of multiple files simultaneously. I have updated beta manually and confirmed it is working now that I added the lost url mapping back. Can you +1 and then merge it before 1.8 deploy? @dtarb You can verify the fix on beta now that I have manually added the lost url mapping back on beta.

+1 (pending Jenkins for completeness purposes)

Jenkins gave a green check, so I am merging it now.


Things that would truly make your library awesome

Hi, I used 2 libraries before switching to yours, one was called the UltimateRecyclerView, and the other one was SuperRecyclerView, I wont be getting into the specifics of what bugs they had and made me jump here but here s what I am trying to accomplish
1)SwipeRefreshLayout functionality at the top
2)A load more at the bottom [infinite scrolling]
3)Expandable items
4)Swipe to dismiss where an item may be dimissed successfully if the background operation such as deleting from a cloud storage service or database succeeded. The item may appear back once again if the operation fails.
5) An empty view to show some view or layout when the recyclerview has no data to display.
I am well aware of DragAdapter in your code and I have seen some samples as well, the doubt I have is whether I can implement all the above mentioned points in Unison together, also can you please guide me on the undo Swipe Dismiss part, thanks for your replies, wonderful library and time in advance.

Hi @islidenerd,
Thanks for your question. I'll try to make a sample code in this weekend :)

@islidenerd Sorry, I have not implemented the sample code yet because it was too busy. I think these no. 1-5 features can be implemented without modifying this library.

this 1-5 features is all that i need to implement but i stock at 1 , 4  and 5


LFS-320: Add support for comments on answers

Jira link
Test branch: LFS-320-test
To test: From the homepage, create a Demographics form. The Family question has comments enabled, which can be added to.
Additional notes: This is configurable from the Questionnaire definition and is off by default. All question components that use an Answer component will have this (optionally) enabled, and for best-looking results I've moved the Answer component to the bottom of every question (it previously was sometimes at the top of the question, and sometimes at the bottom -- its positioning did not previously matter since it had no visible components)

Do table filters take into account the comments? Probably not, we need to think how to handle that
Tested, they do, but we should discuss making it more clear to the user

Does quick search match on comments?
Tested, it does, but the match probably won't show properly (to be confirmed after merging #168 and rebasing this PR.

@sashaandjic @OrdiNeu @k-pace  What is your opinion about "Comments" vs "Notes" for labeling this text field? It started out as "Comments", but I switched it to "Notes" because it seems to make more sense now. Your input is appreciated.

@sashaandjic @OrdiNeu @k-pace What is your opinion about "Comments" vs "Notes" for labeling this text field? It started out as "Comments", but I switched it to "Notes" because it seems to make more sense now. Your input is appreciated.

My vote goes to Notes

I kind of like the clean look of the + icon, and it's consistent with the expand/collapse. I see what you mean about consistency with other (+) buttons, however those are more "global" actions. I would leave this one as is and maybe consider simplifying the filters + button instead.

How about movin the (+) and colapse bttns to the right?

I like 'Notes' best
I like the check on the left side best

Okay, we'll keep it  looking like it does now. @OrdiNeu please rename all variables / components / cas classes to turn 'comments' into 'notes'. Thanks!

Okay, we'll keep it looking like it does now. @OrdiNeu please rename all variables / components / css classes to turn 'comments' into 'notes'. Thanks!

Changes are complete, but I've switched showCommentsContainer to toggleNotesContainer instead of dropping the prefix altogether, since it only affects the button

I'd like to see when the focus is on the Notes button

Does quick search match on comments?

Tested, it does, but the match probably won't show properly (to be confirmed after merging #168 and rebasing this PR).

This is no longer true after rebase. @sdumitriu wdyt, should we handle this now or as part of the indexing fixes?

I'd like to see when the focus is on the Notes button

@sashaandjic I don't follow. This is how it behaves for me (highlight on hover and click):

@marta- when tabbing from Family filed, you will end up with the situation presented in the screeshoot

However it would be nice to autofocus on the textarea when opening the notes.

@marta- when tabbing from Family filed, you will end up with the situation presented in the screeshoot

@sashaandjic I see. This looks like a Material UI limitation, I wouldn't get into fixing it right now. But please create a task so that we can tackle it globally when we have time.

@OrdiNeu with the decision that the quick search issue would be handled in a separate PR, the approval on my side is pending this minor usability improvement:

However it would be nice to autofocus on the textarea when opening the notes.

I'd like to see when the focus is on the Notes button

However it would be nice to autofocus on the textarea when opening the notes.

Both of these should be fixed in  eb30f721.


Add inference of Simulator Process Identifiers

The Process Identifier of a FBSimulator can be inferred from the arguments of the launched Simulator process. This allows FBSimulatorControl to use the PID to find the Windows of Simulator Applications that haven't been launched by the current FBSimulatorControl process.
Also added a test to confirm this.

(Y)


RØDE Cental, Connect, and Unify

RØDE Connect label was broken for appNewVersion and it seems Release Notes pages have moved. But for RØDE Connect and RØDE Unify they are not showing the latest version of showing incorrect version.

Theile: Could you please look again at this PR?
You created or changed appNewVersion code, but left it commented. Was this intentional? The appNewVersion code you wrote for rodeconnect appears to work. Why is it commented out?

I have corrected all the appNewVersion lines now, and they work.


Lower CPU usage

Saves around ~25% of a core on comma two. process replay fails due to calibrationd’s weird callback.
locationd 35% -> 18%
plannerd 18% -> 12%
dmonitoringd 6% -> 1.8%
calibrationd 6% -> 3%

Nice CPU savings!
I don't think this is correct for locationd though. For things like dmonitoringd it doesn't matter what the intermediate messages for controlsState were. However, for locationd all the intermediate measurements need to be put into the filter.


Fade out on pause/stop

In the native app (v2.91) when you pause or stop, the player actually does a very quick fade out. I believe when you resume play (from a paused state) it fades back in.

Issue #458 might be related to this.


Make fails on master

This issue tracker is only for technical issues related to Qtum.
Describe the issue
Make on the master branch does not work, consistently fails
Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:

./autogen.sh
./configure
make

Expected behaviour
make should work
Actual behaviour
Error log:
In file included from /usr/local/include/boost/multi_index/ordered_index.hpp:17:
/usr/local/include/boost/multi_index/detail/ord_index_impl.hpp:1186:26: error: no matching function for call to object of
type 'const key_compare' (aka 'const CompareModifiedEntry')
return y==header()||!comp_(key(y->value()),key(v));
^~~~~
./miner.h:102:10: note: candidate function not viable: 'this' argument has type 'const key_compare'
(aka 'const CompareModifiedEntry'), but method is not marked const
bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b)
^
2 errors generated.
make[2]: *** [libbitcoin_server_a-miner.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
What version of Qtum are you using?
List the version number/commit ID
**commit 11af8adcbf196ea92273647f0023a62f8fdaa1b8 (HEAD -> master, origin/master, origin/HEAD)
Merge: 5be981c44 d8de5333f
Author: qtum-neil<EMAIL_ADDRESS>Date:   2017-12-13
Merge pull request #440 from qtumproject/minsk-team/fix-fd-set

Net: fix for FD_SET buffer overflow**

Machine specs:

OS: Mac OS High Sierra 10.13.2 (17C88)
CPU: 2 GHz Intel Core i5
RAM:8 GB 1867 MHz LPDDR3
Disk size: 250GB

Any extra information that might be useful in the debugging process.
This is normally the contents of a debug.log or config.log file. Raw text or a link to a pastebin type site are preferred.
gcc -v gives:
ontents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-9<IP_ADDRESS>)
Target: x86_64-apple-darwin17.3.0
Thread model: posix

👍 Have same.
Only machine specs vary from above report.
Machine Specs:

OS: 10.11.6 (15G1611)
Machine: MacBook Air (13-inch, Mid 2011)
CPU: 1.7 GHz Intel Core i5
RAM: 4 GB 1333 MHz DDR3
Disk/GFX irrelevant

i resolved same error
edit /src/miner.h at 102 line as follow
bool operator()(const CTxMemPoolModifiedEntry &a, const CTxMemPoolModifiedEntry &b) const
but it is unofficial :)

@yunabsd Thank you! Beautiful girl!


Change connect mixin API

New override methods:

stateChanged(state), no underscore
mapStateToProps(state)
mapDispatchToProps(dispatch)

Closed in favor of #43


Positioning of Camper News posts when searched

As you can see, the position of the first result if a little off. Shows like this only when something is searched, so that should narrow it down maybe?

Thanks @duttakapil,
I'm unable to replicate this so it looks like it must have been fixed.
Feel free to reopen if you still see this issue.


Remove: kevinboss.port version 1.2.2

Reason for removal: This version is older than what has been set in max-versions-to-keep by the publisher.
Pull request has been automatically created using 🛫 WinGet Releaser.
Microsoft Reviewers: Open in CodeFlow

20:09:50: kevinboss.port prVersion 1.2.2 is less than ManifestVersion 1.4.1


Remember vertical position

Vertical carrier orientation is relative to platform but as there is no end marker, calibration is not possible. Do not want to keep motors on all the time, but it may be what needs to be done.

Might want to consider an absolute position sensor that way you don’t necessarily need end stops or homing procedures. AS5048A I added them to my axis and found it to be enough resolution (16,000+ positions at 360deg) even at 600mm.

This is a good idea, thanks. I didn't know these existed. A Hall effect or optical sensor is more cost effective if a 9-axis MPU is also installed, but this position sensor has potential.


Bug (or Enhancement ?) : Use select filter data for rendering rows

For the column :
"status" => [
		        "label" => 'Status',
		        "filter" => [
		            "enabled" => true,
                            'type' => 'select',
                            'data' => ['0'=>'Pending', '1' =>'Processing']
		       ]

The display in rows is 0 or 1. It would be nice if the default presenter took filter.data into consideration, and displayed automatically "Pending" or "Processing" (or empty if null value).
At the moment, we need to do this :
"status" => [
		        "label" => 'Status',
                         'presenter' => function ($columnData, $columnName) {
                            $statuses = ['0'=>'Pending', '1' =>'Processing'];
                            return $statuses[$columnData->status] ?? '';
                        },
		        "filter" => [
		            "enabled" => true,
                            'type' => 'select',
                            'data' => ['0'=>'Pending', '1' =>'Processing']
		        ]

which works, but is quite redundant.

hmmm...why don't you just add the data on your class and use it as such on the grid attributes?
public function getStatuses() {
   return ['0'=>'Pending', '1' =>'Processing']
}

Then on your grid,
[
		        "label" => 'Status',
                         'presenter' => function ($columnData, $columnName) {
                            return this->getStatuses()[$columnData->status] ?? '';
                        },
		        "filter" => [
		            "enabled" => true,
                            'type' => 'select',
                            'data' => this->getStatuses()
		        ]
]

After all, the grid is just a normal class

That's what I'm doing actually (well, I trigger the values from another model, but whatever), I tried to simplify the example.
But even like this, it is redondant and non-intuitive.
I think in 99% of cases, the 'data' of a select filter will be used in the presenter. So why don't make it as default ?
I agree it is a small enhancement for lazy/perfectionist devs :)

Ok, I'll add it as an option.


SCRUM-2784 make short citation show up next to the entry box when selected

I don't see the requirement to be a new column. I just added it underneath the IDs as requested.


Cookie support

I would like to send cookies to server. IE11 native EventSource does not do it.
I`ve modified your code to send cookies via:
// Add cookies if document has them
if (document.cookie) {
xhr.setRequestHeader("Cookie", document.cookie);
}
Is it possible to send cookies using EventSource API?
As far as I understand I can only send something adding it to url (via query string our Authorization header).

Closing this issue.
Passing withCredentials in constructor creates instance which send cookies automatically.
new EventSource("url", { withCredentials: true });


binary_search_tree.py: Added Binary Search Tree Algorithm

This adds a binary search tree algorithm which returns list of elements in order traversal of binary search tree
closes https://github.com/fnplus/interview-techdev-guide/issues/158

@praveenpkg8 : Thanks for Contributing


Use cache in check-dist.yml

Signed-off-by: jongwooo<EMAIL_ADDRESS>Description
Use cache in check-dist.yml #90
AS-IS
- name: Setup Node.js 16.x
  uses: actions/setup-node@v3
  with:
    node-version: 16.x

TO-BE
- name: Setup Node.js 16.x
  uses: actions/setup-node@v3
  with:
    node-version: 16.x
    cache: npm

It’s literally a one line change to pass the cache: npm input parameter.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (add or update README or docs)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Ola

@jongwooo You don't need to add cache separately. Cache is built-in for setup actions. You may add that: https://github.com/actions/setup-node#caching-global-packages-data

@Phantsure, I see. Is it ok if I update other workflows in the same way?

Sure

@Phantsure, I see. Is it ok if I update other workflows(e.g. workflow.yml) in the same way?

Thank you. I'll create another pull request.


Use database transactions in saving proces of Resources and Actions

Description
Currently no transactions are used in the saving process of a Resource and Actions.
When when we database connection errors, memory errors or other application related exceptions or errors occurred during the saving process, the data will be stored only party.
Using Transactions we can be sure the whole saving process is successful before commit the transaction and all the changes to (related) models to the database.
Code style

[x] composer cs command has been run.

Testing

[x] Changes have been tested.

Documentation

[x] Documentation is up-to-date.

Been wanting this since v2 but didn’t get to work on it

@danharrin can you please let me know if there is anything I can do in the PR?

I just need to find time to review it and check there aren't side effects

is there any option implemented to not make begin transaction? I'm asking because there are lots of file changes here.

is there any option implemented to not make begin transaction? I'm asking because there are lots of file changes here.

This is not the merged implementation

Quite the same question for me: how can we choose to use (or not) the database transaction feature?

$action->databaseTransaction( true / false)

I can't find anything related to database transaction in the docs.

if missing in doc

read the actual PR, or
source dive
then PR update the doc

And only create/edit has database transactions enabled by default, everything else is opt in

@wychoong @micraux only the internal saving proces is covered by transactions and it’s not wrapped around events. Just a question out of interest, why would you disable transactions? All default Laravel database drivers should support them.

it has to be a choice that you can make. Any application written by any user maybe needs to create database or schema at the observer level. Which is cannot be doable because of begin transaction.

I'm running into following issue with LazilyRefreshDatabase::class:  SQLSTATE[42000]: Syntax error or access violation: 1305 SAVEPOINT trans2 does not exist
After adding ->databaseTransaction(false) to my CreateAction::make my test works fine.

@danharrin sounds good to me!
I can imagine some database drivers don't like double start of transactions and we should be able to use them when running tests and want to speed-up.
I agree we should take some more time with resolving these issues before we enable them globally indeed! An opt-in solution sounds like a good starting point for now! In my opinion we still need to have transactions in a production environment to make sure the data integrity is correct, but in this way we are able to use them!

Just wanted to chime in here, supporting the feature, but also strongly supporting keeping it optional for quite some time.
The feature as initially merged (without opt-in) broke some of my critical existing code in very bizarre and hard to debug ways.  I extensively use model observers on create/update, in both parent and related models on forms.  Once wrapped in a transaction, some of my code broke in unexpected ways.  First problem was I was using queued event handling, which just doesn't jive with transactions.  But even after removing the queueing and firing the code synchronously it still didn't work right.  I didn't have time to fully debug it, but long story short, changes I was making on the parent record on create were no longer visible to the subsequent create events on the related records, via their relation to the parent.
Another issue that didn't bite me but quite possibly could with transactions is that I use model observers to delete files from S3, as recommended in the Filament docs.  For example when a related record (in a Repeater relationship) with a file upload is deleted from the parent.  If for whatever reason the EditRecord transaction got rolled back, I'd then have a related record with no associated file, and no way to recover it.
So while I totally support implementing transactions, please be aware that there is code out here in userland which flat out breaks, or has unintended / unrecoverable consequences, when wrapped in transactions.  It will take time and understanding for people to adapt their code to support this.
My only other comment is that we should probably add a hook like $this->callHook('transactionRolledBack') (for record create/edit) and $action->callTransactionRolledBack() (for actions), to be called whenever a transaction is rolled back, so users have the opportunity to undo anything they may have done during observer handling.

My issue was as same as yours @cheesegrits. I was using stancl/tenancy implementing to filament as db scheme per tenant. And in observer it triggers the job for creating scheme, because of the pgsql's lack of exception handling, i couldn't understand what did i get at first(it was: "Invalid schema name: 7 ERROR: no schema has been selected to create in at character" it means pgsql doesnt create a new scheme). So after that i change that scheme to database i will see the actual error "CREATE DATABASE cannot run inside a transaction block". Which then i try to search over all code. But no worries thanks for the fix and fast information 🙏


Authentication Service

Pull Request
Finally... Auth...
Description

Altered the login and register flow to include proper authentication (including verify email, reset/change password)
Implement Auth in NextJS Middleware (Frontend) to route users according to their authorisation status
Implement Auth in Express Middleware (Backend) for User Service and Question Service to protect API Routes
Enforce Admin rights on certain operations concerning the Question Service

Related Issue(s)

Closes #31
Changes Made

Frontend:

Login and Register with Email + PW
For Register, users are sent a verification email. Registered users will not be able to log in until they are verified.
For Reset Password, users are sent an email to reset their password.
Authentication is done with JWT tokens stored in HTTP-Only Cookies. Information stored in JWT: User Id, User Role, Expiry Date (Currently set to 24h from issue)
Questions page will look different depending on whether user is an admin
Note: Since authentication is done by setting the cookie in the browser, the user's authentication status will persist through tabs. To test collaboration service, please log in to the other user profile using another browser on Incognito mode 😜
Minor UI Updates: Remove "Sign Up" button on landing page, put bio in Profile Card on dashboard and move "Edit Profile" to NavBar, implement length restrictions for bio/name for UI

Backend:

Auth Middleware has been added to all routes in User Service and Question Service except the health route. (This means that if you want to test the routes on Postman, you have to go through the login endpoint first so that Postman can forward the cookie for subsequent requests)
For Question Service, an additional layer of authentication is implemented for POST/PUT/DELETE routes so that only admins are allowed
For User Service, there is an auth bypass from all calls coming from the Auth Service since the Auth Service needs to call the User Service.
@tryyang2001 @c0j0s You guys might want to take a look at the backend, in case some routes are wrongly affected. 😅

Screenshots (if applicable)

Verification email:

Difference between Users and Admins on Frontend:

Unauthenticated user tries to access protected routes:

Logged in user tries to access admin routes:

Checklist

[x] I have checked that the changes included in the PR are intended to merge to master or any destination branch.
[x] I have verified that the new changes do not break any existing functionalities, unless the new changes are intended and have approved by the team.
[x] I will take care of the merging and delete the side-branch after the PR is merged.

Additional Notes/References

Done with @xingjie99  :D

Err, the PR is too big. It is too time-consuming to go through one-by-one, I think I will just ensure the new changes do not break any existing function. :)

Err, the PR is too big. It is too time-consuming to go through one-by-one, I think I will just ensure the new changes do not break any existing function. :)

Yesyes thank you T___T Sorry!

2. Edit profile button is missing :O

It was actually intended! That area there is now just for the bio, if any. I figured users can probably just use the navbar to edit profile :P


🚧refactor: resize worker.js

Resized worker.js file size by uglifying the function names

pr-workflow has a typo in its step (ubuntu-latesst)


Add travis support

@Adracus Travis is clean with this.
We'll want to get the COVERALLS_TOKEN set on travis so we get coverage

Awesome, thx :+1:


The CRD api-group 'kubean.io' is more make sense maybe

The kubebean has two api-group  kubeancluster.kubean.io/v1alpha1   and kubeanclusterops.kubean.io/v1alpha1
root@kay161:/tmp/kubean/artifacts# kubectl api-resources |grep bean
kubeanclusters                                 kubeancluster.kubean.io/v1alpha1       false        KuBeanCluster
kubeanclusterops                               kubeanclusterops.kubean.io/v1alpha1    false        KuBeanClusterOps

I think it may combine one like kubean.io/v1alpha1 , maybe more make sense

I will optimize that.

fix by #154


Refactor overflow menu, implement redesign.

Implement a redesigned overflow menu and refactor code related to it to make it less verbose and easier to work with in the future.
Notion

[x] Refactor overflow menu

Features

Note:
The menu's background does not currently have Tailwind's background-blur-class applied, due to the blur [not being visible] on Chrome-browsers. Firefox browsers do not have this issue. Until a solution has been found, the background will stay a solid-gray color.

"Semi"-responsive design.

Note:
Does not currently follow planned mobile design, due to limitations with daisyUI.

Enhanced Chip-component with the ability to copy its contents.
Slight design tweaks to Header.

Demo

Overflow menu simulating a user yet to be authenticated with GitHub while having a wallet connected. Their wallet ID can be copied from the Chip.

Noticed that the changes introduced in #90 hadn't been merged into this branch yet. That's why I merged dev into refactor/overflow-menu one last time (21b89f8). It's all good now.


How to deploy on production server?

Hello,
I really like the architecture of JSON-RPC.  The examples are very clear, but they rely on werkzeug.serving.simple_serve which I understand it is for development only.  Is it possible to get an example of how to use json-rpc in production?
Thanks,
Jose

can this http://werkzeug.pocoo.org/docs/0.14/deployment/ be of help?

I'm trying this jsonrpc out as well, I like it so far. I think I'll have to serve also static html pages where some javascript will do requests to populate the ui, so maybe I'll run apache and the python app with http://werkzeug.pocoo.org/docs/0.14/deployment/mod_wsgi/

Hi, @josepablog
This documentation explains an integration with Django: https://json-rpc.readthedocs.io/en/latest/django_integration.html
You could also refer to tests in this repository: https://github.com/pavlov99/json-rpc/tree/master/jsonrpc/tests/test_backend_django, they set up a minimal Django project.
Please let me know if that helps.


Update scalafmt-core to 3.0.6

Updates org.scalameta:scalafmt-core from 3.0.5 to 3.0.6.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, semver-patch

Codecov Report

Merging #149 (8b8c8a8) into master (d4460d8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #149   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines            3         3
=========================================
  Hits             3         3

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d4460d8...8b8c8a8. Read the comment docs.


[m4] add new port

Describe the pull request
Add support for m4 https://www.gnu.org/software/m4/m4.html

Which triplets are supported/not supported?
linux

Have you updated the CI baseline?
yes

Does your PR follow the maintainer guide?
yes

If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?
yes

@AnticliMaxtic Can you address the review suggestions? Thanks!

@LilyWangLL I am happy to address these, but as per @Neumann-A  comment, it seems unlikely that this MR will be approved anyway? The reason I have submitted this request is in an attempt to get libsystemd packaged as it is a requirement for sdbus-cpp (https://github.com/microsoft/vcpkg/pull/20212) so in order to properly complete that request I believe that I need this one as well. I am open to suggestions, and am new enough to trying to contribute to this project that any guidance would be appreciated.
I am coming from a strong background in the use of (forgive my use of a bad word) Conan and these tools/packages are already available there so was attempting to create a parity with that workflow

forgive my use of a bad word

Competing solutions are not bad words here -- we all share the goal of making C++ the best language for developers that it can be!

... I believe that I need this one as well

Unlike some other package managers, vcpkg does distinguish between libraries you need for the target (and therefore need to be built from source using your target toolchain) versus tools that you only use in service of building those libraries. This enables us to use prebuilt tooling either from the system package manager or from some other project (such as MSYS2). This is how we currently acquire m4 for all of the existing autoconf-based libraries in vcpkg.
Assuming your need for m4 is entirely because of autoconf, instead take a look at vcpkg_configure_make()[1] which will automatically find, acquire, and run an appropriate autotools toolchain for any platform (including Windows).
[1] https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_make.md

Ping @AnticliMaxtic for response.

Closing this PR since it seems that no progress is being made. Please reopen if work is still being done.


Set Editor to HTML Mode as Default

Not quite a bug, is there an option to set the default state of the editor to HTML? I cannot locate documentation, could it be viewHTML?
Informations
Browser + version: Chrome Version 57.0.2987.133 (64-bit)
OS: Windows 10
Resolution:
How to reproduce the bug?

That's not possible :/


feature/refactor-cli

This PR:

refactors meta and files cli.  See #34
adjusts unit and integration tests accordingly

Note:

needs to be paired with accompanying changes to documentation site
to_tabular, from_tabular are NOT implemented,  a new tabular.default_columns(resource_type) may help, but ultimately analysts will need to manually review and test
meta pull will be improved with a tweak, see this issue

The command:
(gen3) RNB11295:gen3_util ellrott$ python ./gen3_util/cli/cli.py  files status

returns
[]

Compare with git status output:
git status
On branch feature/refactor-cli
Your branch is up to date with 'origin/feature/refactor-cli'.

nothing to commit, working tree clean

Maybe include some additional stats/config info. And let them know there are no files to be moved.

The command
gen3_util projects ls

returns complex records including:
  /programs/cbds/projects/beckmanl_dev:
    in_sheepdog: true
    permissions:
    - method: '*'
      service: '*'
    - method: '*'
      service: indexd
    - method: create
      service: requestor
    - method: read
      service: requestor
    - method: update
      service: requestor
    - method: '*'
      service: sheepdog

As a default, it should only list the names of the projects, additional information could be added when requested with CLI flags

The command
gen3_util meta pull test-data/data

Returns
Traceback (most recent call last):
  File "/Users/ellrott/workspaces/gen3_util/./gen3_util/cli/cli.py", line 107, in <module>
    cli()
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/miniconda3/envs/gen3/lib/python3.12/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ellrott/workspaces/gen3_util/gen3_util/meta/cli.py", line 42, in meta_pull
    assert project_id, "--project_id required"
AssertionError: --project_id required

Because it's a missing command line argument, we can probably skip the entire stack trace.

The command
gen3_util meta pull test-data/data --project_id cbds-demo

[2024-01-02 12:33:02,939][   INFO] job still running, waiting for 3 seconds...
[2024-01-02 12:33:05,971][   INFO] {'uid': '32f9ddcb-6e2b-45b8-b30c-ef43399fd891', 'name': 'fhir-import-export-ayfjf', 'status': 'Running'}
[2024-01-02 12:33:05,971][   INFO] job still running, waiting for 4.5 seconds...
[2024-01-02 12:33:10,500][   INFO] {'uid': '32f9ddcb-6e2b-45b8-b30c-ef43399fd891', 'name': 'fhir-import-export-ayfjf', 'status': 'Running'}
[2024-01-02 12:33:10,500][   INFO] job still running, waiting for 6.75 seconds...
[2024-01-02 12:33:17,314][   INFO] {'uid': '32f9ddcb-6e2b-45b8-b30c-ef43399fd891', 'name': 'fhir-import-export-ayfjf', 'status': 'Completed'}
[2024-01-02 12:33:17,314][   INFO] Job is finished!
2024/01/02 12:33:17 Profile not in config file. Need to run "gen3-client configure --profile=None --cred=<path-to-credential/cred.json> --apiendpoint=<api_endpoint_url>" first
2024-01-02 12:33:17,859 gen3_util.cli ERROR __exit__:124 CompletedProcess(args=['gen3-client', 'download-single', '--profile', 'None', '--guid', '119c6bc2-778f-5579-ae9e-300de58e4525', '--download-path', 'test-data/data'], returncode=1)
Traceback (most recent call last):
  File "/Users/ellrott/workspaces/gen3_util/gen3_util/meta/cli.py", line 60, in meta_pull
    assert upload_results.returncode == 0, upload_results
AssertionError: CompletedProcess(args=['gen3-client', 'download-single', '--profile', 'None', '--guid', '119c6bc2-778f-5579-ae9e-300de58e4525', '--download-path', 'test-data/data'], returncode=1)
exception: CompletedProcess(args=['gen3-client', 'download-single', '--profile', 'None',
  '--guid', '119c6bc2-778f-5579-ae9e-300de58e4525', '--download-path', 'test-data/data'],
  returncode=1)
msg: FAIL

Probably because I didn't specify the current profile, but the message is unclear

A gen3_util profiles ls to list out possible profiles would be useful.

For the gen3_util meta pull command, add a -f option to force overwrite of a directory. In current version, if the file exists, it will prompt the user for input, which will break under scripting.

files status
Done added "Project {project_id} has {len(records)} files."

gen3_util projects ls

I've added gen3.profiles to the  config ls command.   Let me know and I can implement  profiles ls to separate the output.
log:
  format: '%(asctime)s %(name)s %(levelname)s %(funcName)s:%(lineno)d %(message)s'
  level: INFO
output:
  format: yaml
gen3:
  profile: development
  profiles:
  - development
  - staging
  - production
  - local
  - cbds
  version: N/A
state_dir: /Users/walsbr/.gen3/gen3_util
msg: OK

As a default, it should only list the names of the projects, additional information could be added when requested with CLI flags

Done

@kellrott Items above have been addressed

Per conversation w/ @kellrott

The gen3_util meta pull  command currently downloads a zip file.  That file should be unzipped automatically into the destination directory.

Per conversation w/ @kellrott

The gen3_util meta pull  command currently downloads a zip file. That file should be unzipped automatically into the destination directory.

Done.


Better support for STARTTLS

It's very difficult to understand how to configure SmtpSslServer in order to use STARTTLS.
I managed to find a way by setting the following property mail.smtp.socketFactory.class to empty string. Мoreover everything else throws exceptions. (e.g. javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection). Default value of this property is javax.net.ssl.SSLSocketFactory.
It would be great if you implement more convenient way for setting STARTTLS properly and add documentation for it.

Sure!!
Can you please send me your code, just want to see how did you use it; so we can model the interface in the best way?

This how I my code looks like:
SmtpSslServer smtpServer = SmtpSslServer.create("xxx", 587)
   .authenticateWith("xxx", "xxx")
   .property("mail.smtp.socketFactory.class", "");

According to this post http://stackoverflow.com/a/414396, mail.smtp.socketFactory.class shouldn't be present, and I'm not sure whether you should remove it at all or just set it to empty string.
I see it something like this:
SmtpSslServer smtpServer = SmtpSslServer.create("xxx", 587)
   .authenticateWith("xxx", "xxx").
   .startTlsRequired(true) // Similar to Apache Commons Email
   .setDebug(true) // Should set 'mail.debug' - very useful for debugging.

Just a question - would you mind if TLS is set on by default? Just to keep backward compatibility, so you can use either:

startTlsRequired(false) or
plaintextOverTLS(true)

which one would be better in your opinion?
btw, just added debug flag ;)

After thorough reading of Apache Commons Email sources and Java Mail settings (https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html) I think that it would be nice if you think about the following stuff:

startTlsRequired() - sets mail.smtp.starttls.required which according to Java Mail API means:
If true, requires the use of the STARTTLS command. If the server doesn't support the STARTTLS command, or the command fails, the connect method will fail. Defaults to false.

I saw that Jodd Mail sets implicitly mail.smtp.starttls.enable to true, and I'm not sure if it's good idea do expose only one of the STARTTLS settings.

plaintextOverTLS can do the actual job by just resetting the default value of mail.smtp.socketFactory.class to empty string (Jodd Mail uses javax.net.ssl.SSLSocketFactory for its SmtpSslServer)

Sorry if I have misled you with my previous code proposal.

No problem, I will just add few of these methods... stay tuned, will send some code soon.

Did exactly how you proposed it :) Thank you for your time, I really appreciate!

Thanks for the fast response. I will be glad if you suggest me some nice Java mock mail server :)

I am on the same search as well ;) For now, I think I will use GreenMail in my tests; but havent tried it yet.

Thanks.It looks promising. I will try it along with its the competitors.


Make sure the uploads are correctly categorized as this year or last year

Currently we do nothing with the description, but we definitely need to store this and handle it appropriately.

These are now passed down to Python, up to Python how this is handled


Error finding csc.exe when building iOS Library project

What You Are Seeing?
I have a sln with multiple library projects (PCL, Android, iOS, UWP, .Net4.6), all but the iOS project build fine by just calling DotNetBuild(solutionFile); but the iOS project gives this error
(CoreCompile target) ->
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Roslyn\Microsoft.CSharp.Core.targets(88,5):
    error MSB6004: The specified task executable location "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64\Roslyn\csc.exe" is invalid.

What is Expected?
Build completes successfully
What version of Cake are you using?
0.21.1
Are you running on a 32 or 64 bit system?
64
What environment are you running on?  Windows? Linux? Mac?
Windows
Are you running on a CI Server?  If so, which one?
VSTS (Hosted VS2017)
How Did You Get This To Happen? (Steps to Reproduce)
Build an iOS Library project
Output Log

I tracked it down to this code https://github.com/cake-build/cake/blob/3514e4066245981715d4e66f36c64397f4618ec6/src/Cake.Common/Tools/MSBuild/MSBuildResolver.cs#L104 and my workaround was to stop using DotNetBuild and go back to manually calling MsBuild and XBuild depending on platform in order to set SetMSBuildPlatform(MSBuildPlatform.x86) on MSBuild.
It seems like Cake should either expose MSBuildPlatform on DotNetBuildSettings or provide an additional settings action on DotNetBuild() that takes MSBuildSettings.
Or perhaps I'm just doing something wrong.

I worked around it like this
new MSBuildSettings
    {
        ToolVersion = MSBuildToolVersion.VS2017,
        MSBuildPlatform = (Cake.Common.Tools.MSBuild.MSBuildPlatform)1
    }

Hey @ChaseFlorell, unless I'm forgetting something DotNetBuild takes DotNetBuildSettings not MSBuildSettings

ah, my mistake. I'm just using MSBuild() which takes MSBuildSettings.
I ran into the exact same issue as you using MSBuild(), so that's why I posted the solution. I guess I just didn't read it close enough.
Are you able to use MSBuild instead of DotNetBuild?

Yeah. As per my comment above I'm just calling XBuild & MSBuild directly since DotNetBuild is just a (very) simple abstraction over them. So I pass in DotNetBuildSettings to my build method, then branch on IsRunningOnUnix() and copy the fields from DotNetBuildSettings to the relevant X or MS build settings manually, and also set MSBuildPlatform = MSBuildPlatform.x86 and ToolVersion = MSBuildToolVersion.VS2017

Yip and mono now ships with MSBuild, so that and .NET Core CLI will likely be the recommended way going forward.
DotnetBuild alias came before .NET CLI existed, IMHO it adds more confusion than benefit, so not unlikely it'll be obsoleted in the future.


"has no member" error

I want to use Stellar with my project but I have this Value of type 'UIView' has no member error in my very first attempt to use Stellar on an UIView.
I use Carthage to install Stellar the same way as other libraries. It's like Stellar is not "installed". Installation using Stellar 0.65 is OK, and the usual Carthage installation has been followed.
Then, I used the direct inclusion of Sourcesdirectory and everything is fine.
I have clean project. This is a weird behavior... Any idea? Is there special configuration for Carthage command?

Any idea?

I had update carthage's build just now, you can try it again.

Ok. Still doesn't work.
Does Stellar can have problem on UIView subclass?

What is it error?

It's like Stellar is not "installed": each line of code where Stellar properties/methods are invoked display Value of type 'UIView' has no member" error.
And there is no warning about included Stellar framework.
So using Stellar source code is OK but framework not. That's why I think there is a problem on Carthage configuration.

Yes, you are right, i have rebiuld 'Stellar' for carthage and test it myself, all should be ok. sorry about this.

Check with version 0.66: still the same errors!
:-(

This is a weird bug!
And I have another direction of research: could it be related to access control settings?

OK, i try to rebuild it and create a demo to test it , all is right now. you can try it again.

OK, I made it work.
But I had to manually change the Deployment Target setting  from 9.3 to 8.0 in Stellar Demo project > Target Stellar.

What was the cause of this issue?

I don't think it's this reason,you can checkout my demo for carthage.
StellarCarthageDemo.zip

Sorry my previous comment was not clear: there still is one problem on current version of Stellar. Deployment Target must be set to 8.0 in order to make Stellar installation via Carthage work for iOS 8.
I had to changed it myself to make the installation work!


Bug Make SourceLink the latest version.

This is because the SourceLink data doesn't seem to be uploading properly.
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Updates to the latest SourceLink
What is the current behavior? (You can also link to an open issue here)
Be a older version
What is the new behavior (if this is a feature change)?
Be a newer version
What might this PR break?
Shouldn't unless there is a breaking change in SourceLink.

This is broken at the moment, the Rx 4 project uses the new Microsoft libraries as well.


Support templating in tags

Tags should be able to use templates

Can you give an example of a use case?

@shawn-hurley Lets say I am writing a rule to tag an application based on contents of the LICENSE file, it'd be easier to just do:
when:
  or:
    builtin.filecontent: "Apache 1.0"
    builtin.filecontent: "Apache 1.1"
    builtin.filecontent: "BSD"
tag: "{{ match }}"

Right now, I will have to write 3 different rules to achieve above.

This makes sense, we will have to:
Add custom variable code to the machining text, and I think this may be starting to become a feature that we need to have more rules on so that new providers can provide this feature

@shawn-hurley i think there's already a custom variable to return match