Android integration

This is the initial work for the Android support mentioned in #4
It supports:

registerIdentifiedUser
registerUnidentifiedUser
reset
updateUser
logEvent

Hope this can be merged in soon. :dancer:

@ajwhite any tips on how to integrate this without the PR being merged yet? appreciate the work!

Sure, you can just npm install my branch in the meantime
npm install git://github.com/ajwhite/react-native-intercom.git#android-integration --save

Thanks! Any tips on how to proceed after that heh? I've tried the rnpm linking techniques etc, and following some of the actual intercom steps, but it's not quite panning out. Admittedly I'm not very familiar with Android. Do you have a recommended way for setting this up?

npm link has some known issues if that's what you are referring to.
A few steps you'll want to take for the Android configuraiton:
settings.gradle
Add
include ':react-native-intercom';
project(':react-native-intercom').projectDir = new File(settingsDir, '../node_modules/react-native-intercom/android')

app/build.gradle
Add
compile project(':react-native-intercom')

MainActivity.java
Add
// add import
import com.robinpowered.react.Intercom.IntercomPackage;
import io.intercom.android.sdk.Intercom

// add initialization to onCreate
Intercom.initialize(getApplication(), 'INTERCOM KEY', 'INTERCOM PROJECT');

// add to the `ReactInstacneManager.builder()`
.addPackage(new IntercomPackage())

heroic! thank you very, very much :zap:

I don't believe so - if it's not part of this PR, then nope! I haven't had a need for it, so this onky really includes the reporting pieces.

Turns out that it already works! One more request, how about configuring the setSecureMode for android? I'll try to get at it, if I can figure it out.
:D
https://docs.intercom.io/configuring-for-your-product-or-site/enabling-secure-mode-on-intercom-for-android

Oh wow this is awesome, thank you.


examples/stacks/drupal: fix and unskip from tests

Fix the drupal example and add it back to the examples test suite. There were a few errors, some probably due to the example drifting too far from the most recent Devbox version.

Add curl to devbox.json so that run_test works.
Increase the sleep duration (2 seconds wasn't long enough on my M1).
Symlink devbox.d/web -> ../web so that nginx serves the drupal site instead of a static index.html.
Update the curl command to hit localhost:8081, which is what nginx is listening on.
Set MYSQL_UNIX_PORT via the env field in devbox.json. I think otherwise the plugin overrides it back to its default value.
Update some composer dependencies to address dependabot security issues.

I put back the skip for the test in CI. It runs locally, but I don't have time to figure out the filesystem permissions issues that are going on in CI.


Moving Shortcut retypes them as Part

If a part with type Shortcut is moved the type is improperly changed to Part with no available interface to fix aside from direct model editing on the server.

Fixed


Add context manager

Would be nice to be able to do something like
with EmissionsTracker() as tracker:
	...

Do you have an idea how you would like this to work? It looks like the cleanup the context manager would need to run is the stop method, but the return value from this method is needed so I'm not sure how you could use a context manger. Or maybe I'm wrong and something else needs to be run for the cleanup?

Hey @sanders41 thanks for pitching in!
A few ideas:

we don't need the return value: iut has been written to a file or pushed to a http endpoint
if we wanted to keep this possibility looks like (2 mins of googling so there may be a better way) the easiest would be to store that return value as an attribute to the Tracker, something like:self.final_emissions = emissions_data.emissions
return emissions_data.emissions

This return value looks fine to me, as it can be used to check the state of the emissions tracking outside out the context.
From the API side any acknowledgement of run completeness would be a useful information, so maybe a call to something like '/run/report/'  could be made in the stop method, if the run is remotely tracked?

report would be what, a summary?

I still am unsure about its responsibility.
My guess is that this report could ensure :

out() have been performed correctly all along the run. For distant output (/run/report) that could mean sending a 'stop_run' message / total number of data points. If there is a discrepancy, the context manager state could be useful to resolve it. Locally, the implementation seems already fine to me.
Total energy / emissions value is coherent. The stop method could also be used to filter/correct outlier values before saving outputs. This will involve the loss of data points but avoid to compute incoherent aggregations (as it could have been with this example run, the total sum would be pretty incoherent)


pull request for e2e test at 11/08/2016 01:15:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add Subgraph Radio to Graph namespace

Add preconfigured Subgraph Radio instance to the Graph namespace. Use existing Subgraph Radio chart in Launchpad Charts.

done by @chriswessels


Check whether constraints have changed before calling getUserMedia

The "if" condition could never be true, as we don't ever receive an
"options.constraints" object which is (reference equality) this.constraints.
Instead, prepare the target constraints by merging the current and new
constraints, and do a deep comparison with what we currently have.

We like what you did with Object.assign and assigning the passed constraints over the default constraints then comparing. We should take this approach over all the calls into the Session Description Handler, and then we can call checkAndDefaultConstraints in just one place, right before we call getUserMedia. This is not necessary for this PR, but we figured it was worth noting for future cleanup.
Overall this looks good on our end. We are going to let it sit for a few days to get feedback from the community. The plan is to merge it before our next release (barring any issues cropping up).
Thanks for the contribution.

Awesome, thanks Eric!


Chisel template

We (me) should have a Chisel template ready from the start of TT07. What about having it a bit more official and hosting it  at the TinyTapeout GitHub organisation? I’d be happy to transfer it to there.

Sure, go ahead. As long as you maintain it and answer questions (expect many of those near TT deadline, since people always wait to the last minute) - we'd love to have the repo under the TT org

Thanks. I will prepare it. Just a question: is there any difference between the tt06 and tt07 Verilgo templates I should be aware of?

Thanks. I will prepare it. Just a question: is there any difference between the tt06 and tt07 Verilgo templates I should be aware of?

No breaking changes. The only significant change is https://github.com/TinyTapeout/tt07-verilog-template/commit/3bb2b5b21192a77f44151806d722d07c82787591, which is mostly for making our life easier.

OK, I have it ready and would be happy to transfer it to TinyTapeout: https://github.com/schoeberl/tt07-chisel-template
However, it probably needs to be done by you, as I don't have the access right.

Thanks! You can transfer - inside the repo settings. Once you did, I have the permission to accept the transfer.

I tried, but I cannot, as I do not have permission to create a repo on TinyTapeout. Maybe you can grant me (temporary) access.

Added you - did you get the invite?

Yes, thanks. And I transferred the repo.

Lovely! Can you also share the link on TT discord?

done


Find Sonatype lift replacement

As sonatype is retiring find code checking replacements.
Here are some maybe interesting tools:
https://help.sonatype.com/lift/included-analyzers

Seem to be the tools used currently by sonatype


desktopvirtualization release

https://github.com/Azure/sdk-release-request/issues/3871

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-desktopvirtualization


Smart Editor - Highlight selected template

Widget
Smart Editor
Version of widget
1.0 beta
Bug or Enhancement
Bug
Repo Steps or Enhancement details
When you select a template in the template picker, there is not indication of which template is selected.
In this screen shot, hydrant is selected.

Verified.

resolved.


Feature request: predicate on CHECK_THROWS

Description
The current assertion macros can only assert on either exception type or exception message. However, in my use case, I need to assert that it has a specific exception code.
Can we have

Either an assertion macro that returns the captured exception
Or an assertion macro accepting a lambda as a predicate to further distinguish an expected exception from an unexpected one

Can you write an example? It sounds like you have a custom exception class with some attached data that you want to verify.

Yes, I have a custom exception with error_code method.
I'm thinking of either
const auto& e = CHECK_THROWS_AS(func(), const MyException&);
CHECK_EQ(e.error_code(), 3);

or
CHECK_THROWS_WITH_PREDICATE(func(), [](const auto& e) {
  const auto* p = dynamic_cast<const MyException*>(&e);
  CHECK(p != nullptr);
  CHECK_EQ(p->error_code(), 3);
});

I like the idea of being able to further examine the exception.
If this is to be implemented I think the second version with CHECK_THROWS_WITH_PREDICATE is more viable since it's a macro and not a function call. Small improvement on how it would work below
CHECK_THROWS_WITH_PREDICATE(func(), MyException, [](auto& e) {
  CHECK_EQ(e.error_code(), 3);
});

Out of curiosity, is it possible for you to encode the error code using types instead? Or can the code be any number generated at runtime? If you have a finite number of error codes you can solve it with existing methods.

If this is to be implemented I think the second version with CHECK_THROWS_WITH_PREDICATE is more viable since it's a macro and not a function call.

I think this can be worked around if CHECK_THROWS_AS expands as a lamdba call, e.g.
CHECK_THROWS_AS(func(), ExceptionType) => [&](){ MACRO_CONTENTS }();

Out of curiosity, is it possible for you to encode the error code using types instead? Or can the code be any number generated at runtime? If you have a finite number of error codes you can solve it with existing methods.

I have three major exceptions, PosixException with all possile errno codes, WindowsException with all possible GetLastError() codes, and NtException with all possible NTSTATUS values. It should be plain to you why your suggestion is infeasible in my case.

I see, that makes this feature more important.
Here is a workaround draft
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include <doctest/doctest.h>

struct PosixException : std::exception {
    int code;
    PosixException(int code) : code{code} {}
};

struct WindowsException : std::exception {
    int code;
    WindowsException(int code) : code{code} {}
};

#define REQUIRE_THROWS_WITH_PREDICATE(Expression, ExceptionType, Predicate) \
    try {                                                               \
        Expression ;                                                    \
    }                                                                   \
    catch (const ExceptionType& doctest_e) {                            \
        Predicate(doctest_e);                                           \
    }                                                                   \
    catch (...) {                                                       \
        FAIL("Unexpected exception, expected " #ExceptionType " but something else happened"); \
    }

void throwPosixException() {
    throw PosixException(1337);
}

TEST_CASE("846") {
    REQUIRE_THROWS_WITH_PREDICATE(throwPosixException(), PosixException, [](auto& e) {
        REQUIRE(e.code == 1337);
    });
    REQUIRE_THROWS_WITH_PREDICATE(throwPosixException(), WindowsException, [](auto &e) {
        REQUIRE(e.code == 1337);
    });
}

gives me
[doctest] doctest version is "2.4.11"
[doctest] run with "--help" for options
===============================================================================
main.cpp:29:
TEST CASE:  846

main.cpp:33: FATAL ERROR: Unexpected exception, expected WindowsException but something else happened

===============================================================================
[doctest] test cases: 1 | 0 passed | 1 failed | 0 skipped
[doctest] assertions: 2 | 1 passed | 1 failed |
[doctest] Status: FAILURE!

That's very close to what I'm doing now, but it is better if it is in the library, isn't it?

Yes I think it is a good feature, and this issue clearly demonstrate the need for it.
It might take some time before that happens so I always try to document workarounds for other people to use before it's in the library.


Add type information?

Some values (like ticker.ask, ticker.bid, card.currency) should be parsed as floats, but the API currently makes no distinction
We should probably have a way to make the conversion. For example, instead of using attr_reader directly, we could do something like:
module Entities
  class SomeEntity
    attributes balance: Float, currency: String
  end
end

Sure, let's with virtus for instance.


support for {{>relative/partial}} paths, with tests

Jan, here's a pull request for relative partials, with tests.  I had to modify mustache_spec.rb a little to support the new tests.
Cheers,
Nate

I wasn't able to pull this directly because the merge would not have been a clean one. I did however pull in the modified regex in this commit and gave you credit in the commit message. Thanks @nateware!


&globe issue

Command that caused the error
Post the exact command that caused the error.
&globe
Image that caused the error
If the error is regarding an image command, please post a direct link to the image here.
https://media.discordapp.net/attachments/836324681975070842/851961858856452096/image0.gif
To Reproduce
Steps to reproduce the behavior:

post image
&globe
See error

Self-hosted instance?
Did the error occur on a self-hosted instance (e.g. not the main esmBot or esmBot Dev instances)?
I don't know
Error file
Message: FetchError: request to http://<IP_ADDRESS>:8081/status failed, reason: read ECONNRESET

Stack Trace: FetchError: request to http://<IP_ADDRESS>:8081/status failed, reason: read ECONNRESET
    at ClientRequest.<anonymous> (/home/esmBot/esmBot/node_modules/node-fetch/lib/index.js:1461:11)
    at ClientRequest.emit (node:events:365:28)
    at Socket.socketErrorListener (node:_http_client:447:9)
    at Socket.emit (node:events:365:28)
    at emitErrorNT (node:internal/streams/destroy:193:8)
    at emitErrorCloseNT (node:internal/streams/destroy:158:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

Additional context
Add any other context about the problem here.

Seems like it was a server issue, should be fixed now.


Course statistics: Leave the Pass-% cell empty in case of NaN

Currently "NaN %" is displayed if all values are set to 0. Leaving the cell empty instead would be a better solution.

Displaying a dash instead.
f6b73ae2d984aa4aceea171e2847545fbd1dffb2


Cannot get current and power -data from new version of power plug

I have previously six power plugs, and I'm polling those manually.
I bought couple new power plugs and these are little bit newer versions with last state -memory function.
I linked these with Smart Life app to my account and got the keys. First notice was that there are much more DP ID's with these new socket. Ok, that is not the issue. Issue is that for example power and current are all the time as value 0. Seems that only "Switch" is changing after pressing the power button on socket.
Same thing with from calling from cloud.
Strangest thing was that while testing local calling and looking the data what I got, I got values while I was looking the power consumptions from Smart Life -app from phone ?!? I think usually the app should be closed that local polling is working at all.
This is the data I got: {'dps': {'1': True, '9': 0, '17': 12, '18': 0, '19': 0, '20': 2386, '21': 1, '22': 563, '23': 24975, '24': 13594, '25': 3060, '26': 0, '38': 'memory'}}
So power and current are "0"
What I'm missing with this new version of socket?
Is the device now with 22 character IDs..? Well I tried this:
import tinytuya
a = tinytuya.OutletDevice("bfcb8bcf586201cc2f2nxx", "192.168.2.xx", "y)0n;hp@'o*e/*xx", "device22")
a.set_version(3.3)
a.set_dpsUsed({"1": None})  # This needs to be a datapoint available on the device
data =  a.status()
print(data)

and as result got only this:
{'dps': {'1': True}, 'type': 'query', 't':<PHONE_NUMBER>}
EDIT: triple checked that Smart life -app need to be open on phone that current and power will be updated. How to solve this issue?

Have you tried calling .updatedps(...)?
https://github.com/jasonacox/tinytuya/blob/7d8922ee096b5519018fa068ffb698ef43a213cc/examples/monitor.py#L39-L43

Thank you, that was the case. DSP Update was needed


After upgrading from 4.0.2 -> 4.0.4 scripting addition fails to load with connection failed!

I've run through the wiki and reconfigured the scripting addition. Also made sure to disable system integrity protection again. I couldn't find any info on how to get more information on how it is failing, all I have is the text from the notification.

The wiki is updated for the current master branch (and upcoming release, hopefully by the end of this weekend).
If you have followed all the SIP steps, do the following:
1. stop yabai
2. remove some tmp files: `sudo rm /tmp/yabai-sa_<USERNAME>.socket`
3. sudo yabai --install-sa
4. sudo yabai --load-sa
5. start yabai

That did the trick. Thank you.  Excited to try out the new update :)


Blazor html meta tags

This is in reference to #10450.
Goal: Set meta tags (title, description etc) for SEO and Open Graph purposes with data coming from the page itself. Using the Javascript interop won't help as pages won't be able to be crawled.
I have used a suggestion by @honkmother and moved the base component further up the tree to encapsulate the  tag but for some reason this has affected routing. All links are prepended with ~/ and I can't seem to understand why.
I have created an example repo here if anyone is intersted in taking a look.
_Hosts.cshtml
@page "/"
@namespace BlazorMetaTags.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
    Layout = null;
}

<!DOCTYPE html>
<component type="typeof(AppBase)" render-mode="ServerPrerendered" />

AppBase.cs
using BlazorMetaTags.Shared;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Rendering;

namespace BlazorMetaTags
{
    public class AppBase : ComponentBase
    {
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            builder.OpenElement(0, "html");
            builder.AddAttribute(1, "lang", "en");

            builder.OpenElement(2, "head");
            builder.OpenComponent(3);
            builder.CloseComponent();
            builder.CloseElement();

            builder.OpenElement(3, "body");

            builder.OpenElement(4, "app");
            builder.OpenComponent<App>(5);
            builder.CloseComponent();
            builder.CloseElement();

            builder.OpenComponent(6);
            builder.CloseComponent();

            builder.AddMarkupContent(7, " ");
            builder.CloseElement();
            builder.CloseElement();

        }

    }

    public class MetaTags
    {
        public string Title { get; set; } = "";

        public string Description { get; set; } = "";
    }
}

Head.razor component to set the meta tags
@inject AppState _appState

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

<EMAIL_ADDRESS>    <meta name="description"<EMAIL_ADDRESS>
    <base href="~/" />
    <link rel="stylesheet" href="/css/bootstrap/bootstrap.min.css" />
    <link href="/css/site.css" rel="stylesheet" />

@code {

    protected override async Task OnInitializedAsync()
    {
        _appState.OnChange += StateHasChanged;
    }

}

Body.razor

    <environment include="Staging,Production">
        An error has occurred. This application may no longer respond until reloaded.
    </environment>
    <environment include="Development">
        An unhandled exception has occurred. See browser dev tools for details.
    </environment>
    Reload
    🗙

AppState.cs
using System;

namespace BlazorMetaTags
{
    public class AppState
    {
        public MetaTags MetaTags { get; private set; } = new MetaTags();

        public event Action OnChange;

        public void SetMetaTags(MetaTags metatags)
        {
            MetaTags = metatags;
            NotifyStateChanged();
        }

        private void NotifyStateChanged() => OnChange?.Invoke();
    }
}

Startup.cs
public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();
    services.AddServerSideBlazor();
    services.AddScoped<AppState>();
    services.AddSingleton<WeatherForecastService>();
}

@thewebchameleon I'm not sure rendering the script tag from a component is going to work. It's required to bootstrap Blazor Server. That said, as you pointed out, the linked issue - https://github.com/aspnet/AspNetCore/issues/10450 - already tracks the work to be done here. If you need specific help using using Blazor, please use StackOverflow with the asp.net-core-blazor tag.


Only Scans Characters

It took, MANY, MANY, MANY attempts to even get the scanner to work. it would just go on, get out of escape menu, attack, then the scanner would just crash/exit. i had left it on menu, then i had even left it where it was. it probably took me about 5 to 10 times till it actually worked and when it finally did... It only did the characters.

The reason why you are having issues. Is cause the scanner to moving too fast. Use the scanner delay slider to make the scanner move slower and in time with your program.

i just put to 200ms, still did same thing. Just slower.

i do have a good computer so it should keep up with 200ms for sure. Right when i see the mouse go to where my name is above (No signature), that's when the scanner stops.

If your character just attacks I can only assume you have your inventory key rebound. I've pushed code that has an option to rebind your inventory and character screen keys but it doesn't look like that included in a release yet. In the meantime make sure your inventory key is bound to the default B and character screen bound to default C.

That seemed to have worked. lol. i totally didn't think about that cause I've had that changed for SO darn long. Thank you very much!
I just went to the setting, keybinds and hit Default real quick to see.


fix: adds next-auth and react as peerDependencies

Fixes "[next-auth]: useSession must be wrapped in a " when there is a version mismatch

@TomFreudenberg I've used yarn during the install process since I haven't found any lock file.

Please drop file yarn.lock as well.
I use pnpm some yarn some ... - so I like to leave it to everyone

Please drop file yarn.lock as well.
I use pnpm some yarn some ... - so I like to leave it to everyone

Done

And please add yourself also to the new CONTRIBUTORS.md file in root

And please add yourself also to the new CONTRIBUTORS.md file in root

Do you have any example of how this file should look like?

I have already created that for you
https://github.com/TomFreudenberg/next-auth-mock/blob/master/CONTRIBUTORS.md
you only need to pull once from my master

Looks great - merge now !!!

@emiliosheinz Thanks a lot for help and figure out the bug!
It's online as release 0.5.6 on npmjs.
Looking forward to next conversation 👍🏻

@TomFreudenberg It would be nice to have the "Discussions" session opened in this repo. So we can discuss the improvements before actually working on them and the issues session doesn't get crowded.

If it is OK for you, let's stay with issues please. I find that the discussion are often have a missing focus. If you check the issue labels (not sure if I have to set as maintainer) we can mark the issues as discussions and improvements. I can open a project-map (kanban) so that we put all relevant tickets at one place.

@emiliosheinz you should have now write permissions to the project board.

Ok. I'll be opening some discussions (or issues 😅) within the next weeks so that we can discuss them. Thank you for your attention and quick responses!

Thank you too!


multiple reference times

problem when reference time change between months
I'm having some problems creating a subset form some netcdfs. Mainly I have to open some netcdfs from a global database, make an spatial and temporal subset and create a new netcdf to store the information in my local machine.
The problem appears when my temporal range goes from one month to another one. I load de dataset ussing ds = xr.open_mfdataset() everything is ok and i obtain a variable ds.time.values with all the correct times. The problem is when i tried to export this information to a new one netcdf. I use the comand ds.to_netcdf(filename, mode='w') but the resulting netcdf presents a mistake in the time values. it takes the reference time of the first netcdf but it doesn't have into account that the netcdf's of the following month have a diferent reference time.
I suposse that i'm missing something, Any idea?

Without more details, it's very hard to answer your question.
Could you please share the output of ds.info() for each of the datasets, plus the full code you are writing, plus the full output of xr.show_versions()?

Thank you for your answer @rabernat, i totally agree, more information is requiered but afortunately I found my stupid mistake.
I was duplicating some files in my file_list variable driving crazy to the xr.open_mfdataset().
I solve this issue with this line and now xarray works properly:
# Delete repeated elements
file_list=list(dict.fromkeys(file_list))
Thank you!


Unhandled Exception: Unhandled error type 'Null' is not a subtype of type 'String' calling getDetailsByPlaceId

Calling getDetailsByPlaceId it throws this:
E/flutter ( 7283): #0      _$PlaceDetailsFromJson (package:google_maps_webservice/src/places.g.dart:136:37)
E/flutter ( 7283): #1      new PlaceDetails.fromJson (package:google_maps_webservice/src/places.dart:710:7)
E/flutter ( 7283): #2      _$PlacesDetailsResponseFromJson (package:google_maps_webservice/src/places.g.dart:294:26)
E/flutter ( 7283): #3      new PlacesDetailsResponse.fromJson (package:google_maps_webservice/src/places.dart:838:7)
E/flutter ( 7283): #4      GoogleMapsPlaces._decodeDetailsResponse (package:google_maps_webservice/src/places.dart:528:29)
E/flutter ( 7283): #5      GoogleMapsPlaces.getDetailsByPlaceId (package:google_maps_webservice/src/places.dart:126:12)
It seems that adr_address could be null.
version: 0.0.20-nullsafety.2

I just published a new version.
Let me know if you have any other issue

Hi, thanks for the new version but the same error occurs for utc_offset.

I experienced the same now when calling GoogleMapsPlaces.searchByText. It fails in the following:

PlacesSearchResult _$PlacesSearchResultFromJson(Map<String, dynamic> json) {
  return PlacesSearchResult(
    id: json['id'] as String,

there is no id field in json.
I'm on version: ^0.0.20-nullsafety.3

Maybe PlacesSearchResult.id should be made optional..?

Hi, thanks for the new version but the same error occurs for utc_offset.
I edited places.dart manually in my project making nullable this field and it works for me.
I don't know if there are other similar problems.

I can confirm that this is present in the latest null-safe version: 0.0.20-nullsafety.4


Changed ` with  in Workbox install-cli.html

Since this is an HTML file, not Markdown, the inline command should be wrapped in <code> rather than backticks.
CC: @petele

:tada: This has been pushed live to https://developers.google.com/web/


AsyncAPI native support

AsyncAPI is an open specification meant to be an industry standard for defining asynchronous APIs. Its design is very close to OpenMessaging but has more complete API lifecycle support. It could help unify documentation automation and code generation and manages, testing, and monitoring asynchronous APIs. The specification provides a language for describing event-driven systems' interfaces regardless of the underlying technology and supports event-driven architecture's complete development cycle. I think we need to work more on programming interfaces in the next step, so we don't have too many migration costs later on.

Good suggestion, I was keep paying attention to this technology.

So far, we've had so many choices that we've made less progress in multi-language supports. Whether to use GRPC to meet this requirement based on the AsyncAPI spec, also we could refer to the structures of CloudEvents and OpenSchema are used.


Add support for file's builtin magic module

file's builtin magic module has a somewhat different API, and it's not
co-installable with pypi:python-magic as both has the same name. Adding
a fallback logic here makes mocket work with either one.
All related tests are passing here.

Hi @felixonmars, my main concern is about how to test the two solutions, since they have the same namespace import magic. Fixing the issue you opened (#119) does not seem the most difficult part of the change.

I was having a look at https://pypi.org/project/filemagic/ and I thought it was the module you are trying to support but I see it implements a slightly different API. Is that what you used?

I was having a look at https://pypi.org/project/filemagic/ and I thought it was the module you are trying to support but I see it implements a slightly different API. Is that what you used?

Actually, it's yet another. The one I use is bundled inside upstream "file" project and unfortunately not available from PyPI: https://github.com/archlinux/svntogit-community/blob/packages/python-magic/trunk/PKGBUILD#L12
So projects like s3cmd has implemented a quite complex compatibility check for the three versions:
https://github.com/s3tools/s3cmd/blob/3d4a4caf91582c2a674deaa837a5e07d96510059/S3/S3.py#L55

The one I use is bundled inside upstream "file" project and unfortunately not available from PyPI
So the question is: how to test it in a CI environment if not available in PyPI?

So the question is: how to test it in a CI environment if not available in PyPI?

I see no easy answer either. Since the Arch repository version is the "file" one, and I always run tests during packaging, would you feel okay if I report back in a timely manner if the tests are not passing?

In that case I will have to exclude that block from mocket's test coverage. Could you try to see if the other flag I suggested is available in the library you are testing?

@mindflayer Indeed, that's the problem. I have updated this PR to use MAGIC_MIME_TYPE instead and reverted the test change, all tests are now passing.

OK, let me finish what I am doing for my job and I'll release a version of mocket with the changes you need for make it work on Arch.
By the way, I used to be an Arch user, so I am really happy to help.

Thanks a lot :)

@felixonmars Here you are: https://pypi.org/project/mocket/3.8.7/

Thanks!


Refactor/prometheus helm addon

What does this PR do?

Refactors Prometheus addon to use helm-addon
Removes IRSA from nginx, fixes #280
Standardizes use of irsa_role_path across all addons that use irsa
Variable cleanup from kubernetes-addons/variables.tf

Motivation
All our addons should look consistent.
More

[ ] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[ ] Yes, I have updated the docs for this feature
[ ] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs required examples and docs except a new pattern or add-on added.
For Moderators

[x] E2E Test successfully complete before merge?

Additional Notes

It think it's a good idea to use just one IAM role path and IAM permission boundary variable to all the IRSA Roles. This reduces unnecessary variables and simplifies customers usage.

Yeah agreed. I will make that change.


wow64 support, more unit tests, jit stub

Replaced how the syscall stubs are used

Rather than calling NtProtectVirtualMemory on the stub to make it RX and flip back to RW, a sacrificial method is jitted which contains enough space for the syscall stub to be written into.
The jitted method address is RWX, so no protect calls are needed
unsafe code is used to copy the stub bytes directly so no need for Marshal.Copy or w/e. only tested on .net framework.

Added wow64 support

Added a wow64 stub Wow64IndirectSyscallStub in Syscalls.cs and added questionable (but working) logic to GetSyscallStub to account for wow64
Wow64 has only been tested for the syscall related stuff and not the generic class

Added more unit tests

Added more unit tests. in x64 1000 runs went cleanly but in x86 would GenericTests.GetUnloadedLibraryAddress would fail after 20 or so iterations.
unit tests changed to .net framework instead of .net 8

wow

Hi @susMdT, thanks for the awesome PR.  What's the reason for the Unit Tests needing to be .NET Framework?

Ah fair enough, I don't anticipate many .NET (core) projects using this, (sorry @checkymander).  I was more asking because the project didn't want to load for me in Rider 😅

Oh, I've been using visual studio and had to do some manual work to make the project files work, so that might explain the jank, sorry about that. Yeah I didn't expect many .net (core) projects using this since I thought most tooling is done in framework(?), but idk much 🤷

Ah fair enough, I don't anticipate many .NET (core) projects using this, (sorry @checkymander). I was more asking because the project didn't want to load for me in Rider 😅

Despite this statement I'm still using it 😂
Couldn't you target it for .net standard? That way both could use it easily

The code generator itself is .NET Standard 2.0, so it will codegen for both Framework and Core.  The question would be if the actual JIT magic code that it generates is actually useable on both.  Based on what @susMdT has experienced, we can expect it to work for any(?) .NET Framework version, as well as .NET 5/6, but nothing above.

I'll do more testing, but at least for .net 5/6 and framework 4+ it works fine. As a fallback, I can add a check to see if the jit tech is possible and fall back on the original ntprotect call if its not possible.


New manpage format

Changes
This PR changes the way the asciidoc source of manpage is processed, by adding the "synopsis" paragraph style and reworking the backtick format.
Context
The style change has been pushed to master and will be applied to git-clone and git-init in the next version.

I just triggered a pair of workflow runs to update the manual pages and to update the translated manual pages, fetched the result and rendered it locally. Here are two examples:

language
before
after

English

French

Personally, I cannot spot any difference, apart from the version number (because this here PR branch is based on v2.46.2 while the updated manual pages include v2.47.0) and the incorrect =<regexp> on the "before" side of the French version (fixed on the "after" side).
Even looking at the HTML of the synopses (taking the French version, so that there is a known difference), I only see this:
diff --git a/before b/after
index 1a87d1348..6185fb72b 100644
--- a/before
+++ b/after
@@ -1,5 +1,5 @@

git config list [<option-de-fichier>] [<option-d-affichage>] [--includes]
-git config get [<option-de-fichier>] [<option-d-affichage>] [--includes] [--all] [--regexp=<regexp>] [--value=<valeur>] [--fixed-value] [--default=<default>] <nom>
+git config get [<option-de-fichier>] [<option-d-affichage>] [--includes] [--all] [--regexp] [--value=<valeur>] [--fixed-value] [--default=<default>] <nom>
 git config set [<option-de-fichier>] [--type=<type>] [--all] [--value=<valeur>] [--fixed-value] <nom> <valeur>
 git config unset [<option-de-fichier>] [--all] [--value=<valeur>] [--fixed-value] <nom> <valeur>
 git config rename-section [<option-de-fichier>] <ancien-name> <nouveau-name>

@jnavila what am I missing?

The manpage of git-config has not been converted yet.
I pushed a branch "test-refactor" on git-html-l10n, where I hand-edited fr/git-add.txt.
After importing, here is the result:

I'm not satisfied with the styles, particularly when dealing with inline formats:

you can test by yourself locally, and tell me your judgment.

@dscho I updated the CSS, so it is ready for review.


[CI] Hotfix Jenkinsfile

Due to the current setup jenkins file changes needs to go through docker staging branch
cc @driazati @areusch

Yeah the recent jenkins change brought a lot of cool features that we all like a lot. Not sure why this regression is introduced, but will be great if we could follow the convention that we test jenkins in this branch

Thanks @driazati , no worries about the break, all for The Greater Good.


AQCU-1179: handle values of zero in field visit measurements

Zeros in field visit measurements would break the log axis
functionality.  Fix was two-fold: added a check for zeros in field visit
measurement data when excludeZeroNegative was false or missing. Then
stripped zeros/negatives from field visit measurement data when
excludeZeroNegative was true.

Coverage increased (+0.003%) to 98.68% when pulling 8eb9a974fa9e6ca93db9b392bce904ba6fa61f83 on kmschoep-usgs:AQCU-1179 into ba8d786ce0f4257de77825d8e9e3cb750e748ab6 on USGS-R:master.

Coverage increased (+0.02%) to 98.702% when pulling 4da2b2b0f4006ba6d77ffbcc273550963277006b on kmschoep-usgs:AQCU-1179 into ba8d786ce0f4257de77825d8e9e3cb750e748ab6 on USGS-R:master.


Including jupyter notebooks as means of how to setup/run is unnecessary

Just provide a script.

Resolved


owners: Add nhlfr to reviewers

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks pending.

Comments from Reviewable


Printing the output of a bash script executed by a goss test

I have a goss test that is running a bash script. The bash script is printing some output with echo.  The output of the bash script is not visible in goss' output or anywhere in the console/terminal.
Is it possible to see that output somehow? Browsing through the documentation I couldn't find anything helpful.
Thank you

Currently no, command output us treated like file content. Goss loops over it line by line and fails or succeeds depending on if it's found.
This would be an interesting feature request to evaluate if this is something you want.

I think it'd be an interesting failure, especially when debugging failing tests. When that happens I'm forced to get into the container myself to run the failing tests manually. Something like a --force-output option to enable it on demand would be really nice I think.
:+1:

Being tracked here now: https://github.com/aelsabbahy/goss/issues/483


AAD not issuing token again api-server generated token

Describe the bug
The API servver sends the token to AAD but AAD is rejecting it. API server needs to get an AAD token
Steps To Reproduce
Run the tutorial in the quickstart
Expected behavior
Logs
E1027 23:39:22.893319       1 token_credential.go:62] "failed to acquire token" err="FromAssertion(): http call(https://login.microsoftonline.com/78f9c33e-5b36-4730-93a8-9416d43ee1b3/oauth2/v2.0/token)(POST) error: reply status code was 400:\n{"error":"invalid_request","error_description":"AADSTS70021: No matching federated identity record found for presented assertion. Assertion Issuer: 'https://kubernetes.default.svc.cluster.local'. Assertion Subject: 'system:serviceaccount:default:workload-identity-sa'. Assertion Audience: 'api://AzureADTokenExchange'. https://docs.microsoft.com/en-us/azure/active-directory/develop/workload-identity-federation\r\nTrace ID: 30b6df93-efd2-459c-ae6a-bad0838f6f00\r\nCorrelation ID: dffc6012-a4af-4f00-80ab-3e831069b3cc\r\nTimestamp: 2022-10-27 23:39:22Z","error_codes":[70021],"timestamp":"2022-10-27 23:39:22Z","trace_id":"30b6df93-efd2-459c-ae6a-bad0838f6f00","correlation_id":"dffc6012-a4af-4f00-80ab-3e831069b3cc","error_uri":"https://login.microsoftonline.com/error?code=70021\"}"
E1027 23:39:54.188948       1 token_credential.go:62] "failed to acquire token" err="FromAssertion(): http call(https://login.microsoftonline.com/78f9c33e-5b36-4730-93a8-9416d43ee1b3/oauth2/v2.0/token)(POST) error: reply status code was 400:\n{"error":"invalid_request","error_description":"AADSTS70021: No matching federated identity record found for presented assertion. Assertion Issuer: 'https://kubernetes.default.svc.cluster.local'. Assertion Subject: 'system:serviceaccount:default:workload-identity-sa'. Assertion Audience: 'api://AzureADTokenExchange'. https://docs.microsoft.com/en-us/azure/active-directory/develop/workload-identity-federation\r\nTrace ID: 105533fc-c40d-4aed-813d-86e5fc768c00\r\nCorrelation ID: ae6b4cd7-616a-4c09-b46c-5e094ffb05ec\r\nTimestamp: 2022-10-27 23:39:54Z","error_codes":[70021],"timestamp":"2022-10-27 23:39:54Z","trace_id":"105533fc-c40d-4aed-813d-86e5fc768c00","correlation_id":"ae6b4cd7-616a-4c09-b46c-5e094ffb05ec","error_uri":"https://login.microsoftonline.com/error?code=70021\"}"
E1027 23:40:54.860238       1 token_credential.go:62] "failed to acquire token" err="FromAssertion(): http call(https://login.microsoftonline.com/78f9c33e-5b36-4730-93a8-9416d43ee1b3/oauth2/v2.0/token)(POST) error: reply status code was 400:\n{"error":"invalid_request","error_description":"AADSTS70021: No matching federated identity record found for presented assertion. Assertion Issuer: 'https://kubernetes.default.svc.cluster.local'. Assertion Subject: 'system:serviceaccount:default:workload-identity-sa'. Assertion Audience: 'api://AzureADTokenExchange'. https://docs.microsoft.com/en-us/azure/active-directory/develop/workload-identity-federation\r\nTrace ID: 8dd718a9-dec1-40b5-9c78-f6deacf44d00\r\nCorrelation ID: bd002412-be3f-41ae-8a83-0ef8c6a2cd46\r\nTimestamp: 2022-10-27 23:40:54Z","error_codes":[70021],"timestamp":"2022-10-27 23:40:54Z","trace_id":"8dd718a9-dec1-40b5-9c78-f6deacf44d00","correlation_id":"bd002412-be3f-41ae-8a83-0ef8c6a2cd46","error_uri":"https://login.microsoftonline.com/error?code=70021\"}"
Environment

Kubernetes version (use kubectl version):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Network plugin and version (if this is a network-related bug):
Others:

Additional context

https://kubernetes.default.svc.cluster.local/ is not a valid issuer. For workload identity, the issuer needs to be reachable on the internet.
No matching federated identity record found for presented assertion. means no federated identity credential exists for the given issuer, service account name and namespace. Please refer to https://azure.github.io/azure-workload-identity/docs/topics/federated-identity-credential.html for setting up federated identity credential.

Here is our troubleshooting guide: https://azure.github.io/azure-workload-identity/docs/troubleshooting.html#aadsts70021-no-matching-federated-identity-record-found-for-presented-assertion

Thank you for your input. I will try that.

Do I need to set these variables also (documented here)? I am using minikube and when I set these variables minikube does not boot up?
[--service-account-issuer]
[--service-account-signing-key-file]
[--service-account-key-file]
[--service-account-private-key-file]

If you are using a self-managed cluster, you do need to set those. You would need to check the logs on apiserver or controller-manager for reasons.

Here are the logs from the pod
E1029 05:55:04.865996       1 token_credential.go:62] "failed to acquire token" err="FromAssertion(): http call(https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/token)(POST) error: reply status code was 401:\n{\"error\":\"invalid_client\",\"error_description\":\"AADSTS7000272: The certificate with identifier  used to sign the federated credential could not be found in the metadata of identity provider https://oidcissuerpd5678.blob.core.windows.net/oidc-test/. Please validate that your Identity Provider's metadata exposes the key used to sign the incoming token.\\r\\nTrace ID: 3f8cdd58-37a9-4f3f-8b22-4402c58f1900\\r\\nCorrelation ID: 8e54011d-d256-480a-bc7d-04022991c1fc\\r\\nTimestamp: 2022-10-29 05:55:04Z\",\"error_codes\":[7000272],\"timestamp\":\"2022-10-29 05:55:04Z\",\"trace_id\":\"3f8cdd58-37a9-4f3f-8b22-4402c58f1900\",\"correlation_id\":\"8e54011d-d256-480a-bc7d-04022991c1fc\",\"error_uri\":\"https://login.microsoftonline.com/error?code=7000272\"}"
and here is the minikube command
minikube start --extra-config="apiserver.service-account-issuer=${SERVICE_ACCOUNT_ISSUER}" --extra-config="apiserver.service-account-signing-key-file=./sa.key" --extra-config="apiserver.service-account-key-file=./sa.pub" --extra-config="controller-manager.service-account-private-key-file=./sa.key"
Above sa.key is the private key and sa.pub is the public key. The above command just hangs and minikube times out after a few minutes. Here are the logs
😄  minikube v1.27.1 on Ubuntu 22.04 ✨  Using the docker driver based on existing profile 👍  Starting control plane node minikube in cluster minikube 🚜  Pulling base image ... 🏃  Updating the running docker "minikube" container ... 🐳  Preparing Kubernetes v1.25.2 on Docker 20.10.18 ...     ▪ apiserver.service-account-issuer=https://oidcissuerpd5678.blob.core.windows.net/oidc-test/     ▪ apiserver.service-account-signing-key-file=./sa.key     ▪ apiserver.service-account-key-file=./sa.pub     ▪ controller-manager.service-account-private-key-file=./sa.key

The minikube problem will have to be handled in the minikube forum


Merge and persist with reference

This is an unusual use case where the association is with an entity
column instead of the identifier. It's a specific case and the current
mapping, as it is, fails using regular Hibernate ORM anyway.
I've added a test with the persist that seems to work as expected.

Replace the previous PR: https://github.com/hibernate/hibernate-reactive/pull/1497
Here's the test for ORM: https://github.com/DavideD/hibernate-orm/commit/a4b444845b39bf67f6626be43b24b1c736d3fed8
Test fails with error:
org.hibernate.AssertionFailure: non-transient entity has a null id: org.hibernate.orm.test.embeddable.MergeWithReferenceTest$Bar$HibernateProxy$2WSQf5sQ

Same as the Hibernate Reactive one

I've created an issue: https://github.com/hibernate/hibernate-reactive/issues/1504


Issue Parsing Talos Feed

Not sure if anyone still maintains this, but there appears to be an issue pulling the Cisco Talos feed (https://www.talosintelligence.com/documents/ip-blacklist).  My guess is the fact that the URL redirects to an Amazon S3 bucket is the issue.

Not sure if anyone still maintains this, but there appears to be an issue pulling the Cisco Talos feed (https://www.talosintelligence.com/documents/ip-blacklist). My guess is the fact that the URL redirects to an Amazon S3 bucket is the issue.

Not a list I use, but in testing just now, I have no issue accessing that URL which directs to (as you mentioned) to
https://snort-org-site.s3.amazonaws.com/production/document_files/files/000/019/195/original/ip_filter.blf
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
and on
I show the default list having it commented out, which is why I may not be using it...
Talos Reputation Center IP Blacklist
Also see https://www.talosintelligence.com/reputation
#https://www.talosintelligence.com/documents/ip-blacklist

It may be an artifact of how my implementation is parsing the site (I'm using VyOS).  When I manually run the script, I can see where the Talos site is fetched, but it is not processed into the final list.  I was actually able to get it to work by adding a "-L" option on line 458 of updBLackList.sh which informs cURL to follow redirects.

This seems to be a semi-recent change in that list location.  This doesn't appear to be a traditional redirect either (but isn't broken).  This had been a separate Cisco Talos list but is now just a redirect to a snort list.
I intentionally did not include a -L option to curl.  The ultimate target URL for this list appears to be dynamic so if this is is desired a -L would be required unfortunately.
I'll probably look to add a comment to an updated reference list after looking into this one further.


feat: support i18n

@stayhpjinng this is amazing! Thank you for the contribution.
I will review and merge ASAP.


[single-instance]The callback is not executed after the new instance is closed

With tauri 1.5, the callback is not executed after the new instance is closed, for example:
.plugin(tauri_plugin_single_instance::init(|app, argv, cwd| {
            println!("{}, {argv:?}, {cwd}", app.package_info().name);

            app.emit_all("single-instance", Payload { args: argv, cwd }).unwrap();
        }))

when I build with --debug, nothing is printed on console. I believe this plugin works with previous versions, I don't know when it breaks.

same

Sorry, I made a mistake. The callback won't be triggered during "cargo run," but you can install and run the current program first, and then use "tauri dev" to trigger it properly. And this callback will be triggered within the first program, not the second one. I'm using tauri 1.5.2

Sorry, I made a mistake. The callback won't be triggered during "cargo run," but you can install and run the current program first, and then use "tauri dev" to trigger it properly. And this callback will be triggered within the first program, not the second one. I'm using tauri 1.5.2

my code:
#![cfg_attr(
all(not(debug_assertions), target_os = "windows"),
windows_subsystem = "windows"
)]

use tauri::Manager;
use window_vibrancy::apply_mica;

#[derive(Clone, serde::Serialize)]
struct Payload {
    args: Vec<String>,
    cwd: String,
}

fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_single_instance::init(|app, argv, cwd| {
            let window = app.get_window("main").unwrap();
            window.unminimize().unwrap();
            window.set_focus().unwrap();
            println!("{}, {argv:?}, {cwd}", app.package_info().name);
            app.emit_all("single-instance", Payload { args: argv, cwd }).unwrap();
        }))
        .plugin(tauri_plugin_upload::init())
        .setup(|app| {
            let window = app.get_window("main").unwrap();
            #[cfg(target_os = "windows")]
            match apply_mica(&window, None) {
                Ok(_) => (),
                Err(_) => ()
            }
            window.set_decorations(true).unwrap();
            Ok(())
        })
        .invoke_handler(tauri::generate_handler![
            // page::start::start::start_yunzai_and_api,
        ])
        .run(tauri::generate_context!())
        .expect("error while running tauri application")
}

@bling-yshs Install the exe file automatically for the first time, click on the shortcut, single_ Instance does not have a callback, closing exe and reopening shortcut is sufficient to solve the first single issue_ Instance callback issue No, thank you


Documentation is outdated

In the documentation to setup lsp-zero with rust-tools, it says to use the skip_server_setup function, but when starting neovim, lsp-zero warns that the function has been removed.

The link you posted points to the v2.x branch.
This is documentation for v3.x:
https://github.com/VonHeikemen/lsp-zero.nvim/blob/v3.x/doc/md/guides/quick-recipes.md#setup-with-rust-tools


Unit tests / Book & Label

Hello team, in this branch, I've created unit tests for the Label and Book classes.
All tests are passing as you may see in the screenshot below:

You can run tests by installing the bundle first and then running rspec in the following way:
bundle install
bundle exec rspec

thanks!


Fix #2621: Dev15: interactive tests are broken

Assembly resolution is unified for all test assemblies
MEF catalog is constructed from assemblies that are loaded or can be loaded into load context

Ping

👍


remove download directory from progress-bar

Currently the full download path is shown in the progress bar line. If the download path given by "-d" is pretty long, this leads to a "flickering" for longer filenames. To reduce this I suggest removing everything given by "-d" from the path and only show the directory sub-structure+filename and omit the base dir as it is given out  on INFO the line before anyways.
I'd like some opinions before implementing

Would like to give this a shot.
Another suggestion I saw implemented on some shell prompts was to to use prefixes from directory names, so something like /path/to/my/directory/filename would turn into /p/t/m/d/filename

I have found that iCloudPD will always detect live photos as requiring download. This triggers an unnecessary download run, as all files will then be attempted to be downloaded, but obviously the log shows "file already exists"
In my docker container, I use the --only-print-filenames option to create a list of file destinations. I then use that list to compare against the files that exist on the HDD. If all the files exist already, I don't kick off a download run.
I would like the current functionality to remain as it is so that I can trigger downloads, only if new files actually exist, and therefore reduce the load I put on the Apple servers as this helps with the Apple throttling issue.

I would like the current functionality to remain as it is. That way, I can trigger downloads only if new files actually exist and therefore reduce the load I put on the Apple servers as this helps with the Apple throttling issue

I'm just talking about the progress bar which should not interfere with the way you use the program, or do I miss your point here?

I just have a vague recollection that using --no-progress-bar suppressed displaying filenames... Maybe that's not the case?

Here's a log snippet showing what I mean
2020-10-19 13:31:44 INFO     ***** boredazfcuk/icloudpd container for icloud_photo_downloader started *****
2020-10-19 13:31:44 INFO     ***** /usr/local/bin/sync-icloud.sh script version: 2020/10/19_01:02 *****
2020-10-19 13:31:44 INFO     Alpine Linux v3.12
2020-10-19 13:31:44 INFO     Python version: 3.8.5
2020-10-19 13:31:44 INFO     icloudpd version: 1.6.0
2020-10-19 13:31:44 INFO     pyicloud-ipd version: 0.10.1
2020-10-19 13:31:45 INFO     Interactive session: False
2020-10-19 13:31:45 INFO     Local user: user:1000
2020-10-19 13:31:45 INFO     Local group: group:1000
2020-10-19 13:31:45 INFO     Force GID: False
2020-10-19 13:31:45 INFO     LAN IP Address:
2020-10-19 13:31:45 INFO     Apple ID:
2020-10-19 13:31:45 INFO     Apple ID password: usekeyring
2020-10-19 13:31:45 INFO     Authentication Type: 2FA
2020-10-19 13:31:45 INFO     Cookie path: /config/
2020-10-19 13:31:45 INFO     Cookie expiry notification period: 7
2020-10-19 13:31:45 INFO     Download destination directory: /home/user/iCloud
2020-10-19 13:31:45 INFO     Folder structure: {:%Y}
2020-10-19 13:31:45 INFO     Directory permissions: 750
2020-10-19 13:31:45 INFO     File permissions: 640
2020-10-19 13:31:45 INFO     Syncronisation interval: 43200
2020-10-19 13:31:45 INFO     Time zone: Europe/London
2020-10-19 13:31:45 INFO     Additional command line options: --auto-delete --set-exif-datetime
2020-10-19 13:31:45 INFO     Telegram notifications enabled
2020-10-19 13:31:45 INFO     Telegram token 123
2020-10-19 13:31:45 INFO     Telegram chat id 123
2020-10-19 13:31:45 INFO     Telegram notification URL: https://api.telegram.org/123123/sendMessage
2020-10-19 13:31:45 INFO     Sending Telegram startup notification
2020-10-19 13:31:45 INFO     Telegram startup notification sent successfully
2020-10-19 13:31:45 INFO     Download notifications: Enabled
2020-10-19 13:31:45 INFO     Delete notifications: Enabled
2020-10-19 13:31:45 INFO     Group, group:1000, already created
2020-10-19 13:31:45 INFO     User, user:1000, already created
2020-10-19 13:31:45 INFO     Correct owner on config directory, if required
2020-10-19 13:31:45 INFO     Correct group on config directory, if required
2020-10-19 13:31:45 INFO     Using password stored in keyring
2020-10-19 13:31:45 INFO     Set owner, user, on iCloud directory, if required
2020-10-19 13:31:45 INFO     Set group, group, on iCloud directory, if required
2020-10-19 13:31:45 INFO     Correct owner on icloudpd temp directory, if required
2020-10-19 13:31:45 INFO     Correct group on icloudpd temp directory, if required
2020-10-19 13:31:45 INFO     Correct owner on config directory, if required
2020-10-19 13:31:45 INFO     Correct group on config directory, if required
2020-10-19 13:31:45 INFO     Correct owner on keyring directory, if required
2020-10-19 13:31:45 INFO     Correct group on keyring directory, if required
2020-10-19 13:31:45 INFO     Set 750 permissions on iCloud directories, if required
2020-10-19 13:31:45 INFO     Set 640 permissions on iCloud files, if required
2020-10-19 13:31:45 INFO     Sync user
2020-10-19 13:31:45 INFO     Check 2FA Cookie
2020-10-19 13:31:45 INFO     Cookie exists, check expiry date
2020-10-19 13:36:45 INFO     Valid two factor authentication cookie found. Days until expiration: 89
2020-10-19 13:36:45 INFO     Check download directory mounted correctly
2020-10-19 13:36:45 INFO     Check for new files using password stored in keyring...
**/home/user/iCloud/2020/IMG_2111.HEIC**
2020-10-19 13:37:15 INFO     Check successful
2020-10-19 13:37:15 INFO     Check detected 1 files requiring download. Verifying list accuracy
2020-10-19 13:37:15 INFO     Ignoring 0 files which have already been downloaded
2020-10-19 13:37:15 INFO     New files detected: 1
2020-10-19 13:37:15 INFO     Starting download of 1 new files for user:
2020-10-19 13:37:15 INFO     Downloading new files using password stored in keyring...
2020-10-19 13:37:15 DEBUG    Authenticating...
2020-10-19 13:37:20 DEBUG    Looking up all photos and videos from album All Photos...
2020-10-19 13:37:20 INFO     Downloading 839 original photos and videos to /home/user/iCloud/ ...
2020-10-19 13:37:23 INFO     Downloading /home/user/iCloud/2020/IMG_2111.HEIC
2020-10-19 13:37:23 INFO     /home/user/iCloud/2020/IMG_2109.HEIC already exists.
...
2020-10-19 13:37:45 INFO     /home/user/iCloud/2019/IMG_7806.JPG already exists.
2020-10-19 13:37:45 INFO     /home/user/iCloud/2018/IMG_6824-68203.JPG deduplicated.
2020-10-19 13:37:45 INFO     /home/user/iCloud/2018/IMG_6029-106914.JPG deduplicated.
2020-10-19 13:37:45 INFO     /home/user/iCloud/2018/IMG_6824-68203.JPG already exists.
2020-10-19 13:37:45 INFO     /home/user/iCloud/2018/IMG_6029-106914.JPG already exists.
2020-10-19 13:37:45 INFO     All photos have been downloaded!
2020-10-19 13:37:45 INFO     Deleting any files found in 'Recently Deleted'...
2020-10-19 13:37:50 INFO     New files downloaded: 1
2020-10-19 13:37:50 INFO     Sending Telegram downloaded files notification
2020-10-19 13:37:51 INFO     Telegram downloaded files notification sent successfully
2020-10-19 13:37:51 INFO     Convert HEIC files to JPEG
2020-10-19 13:37:51 INFO     Convert HEIC to JPEG...
2020-10-19 13:37:51 INFO     Converting /home/user/iCloud/2020/IMG_2111.HEIC to /home/user/iCloud/2020/IMG_2111.JPG
File contains 1 images
Written to /home/user/iCloud/2020/IMG_2111.JPG
2020-10-19 13:37:51 INFO     Syncronisation complete for user
2020-10-19 13:37:51 INFO     Web cookie expires: 2020-12-18 @ 12:32:43
2020-10-19 13:37:51 INFO     Two factor authentication cookie expires: 2021-01-17 @ 12:32:53
2020-10-19 13:37:51 INFO     Next syncronisation at 01:37

The line I've highlighted in bold is the output of the progress bar that I tee to a log file, and stdout. If the filenames are no longer displayed as part of the progress bar, or if the prefixed directory names that andrewawni suggested are implemented, then I'll not be able to grab the full file names for my check.

@boredazfcuk your log output resembles results of --no-progress-bar option or some other mechanism of disabling progress bar. This suggestion is about progress bar output only and is not expected to affect output without progress bar.
Btw progress bar output today is shortened in the middle, as progress bar is a visual progress, not an exact representation of what happened (as the case with logs).

I don't disable the progress bar, all I do is redirect stderr to stdout so that I can capture errors too... But that should still show the progress?
The exact command is:
su "${user}" -c '(/usr/bin/icloudpd --directory "/home/${0}/iCloud" --cookie-directory "${1}" --username "${2}" --folder-structure "${3}" --only-print-filenames 2>&1; echo $? >/tmp/icloudpd/icloud_check_exit_code) | tee /tmp/icloudpd/icloudpd_check.log' -- "${user}" "${config_dir}" "${apple_id}" "${folder_structure}"

Actially I noticed that the "flickering"  I'm seeing is probably not because of the long path itself but because of some longer filenames:
/tmp/flat/2020/08/02/IMG_9227.JPG /tmp/flat/2020/08/02/61804231335__BB8380FF-96E4-4C79-A78F-8886C7C88945.JPG /tmp/flat/2020/08/01/IMG_9225.HEIC
Somehow the truncate_middle does not capture it. Maybe the "96" is just to long for my terminal. I'll check that later. How was this 96 decided? I guess that change is from you, @AndreyNikiforov ?

The exact command is:
...

If you only print the filenames this disables the progress bar. So changing the progress bar behaviour does not affect your scripts.

If you only print the filenames this disables the progress bar. So changing the progress bar behaviour does not affect your scripts.

Ah OK. I didn't know that was happening when specifying that option.

Somehow the truncate_middle does not capture it. Maybe the "96" is just to long for my terminal. I'll check that later. How was this 96 decided? I guess that change is from you, @AndreyNikiforov ?

@menkej I don't think changed anything in file name truncation logic.


Reporting/Dispting banner

Check figma design for right copy
https://www.figma.com/file/csVtbWhGCAYe3nVe2LI1UEPM/v1---updates-to-the-UI?node-id=321%3A849
banner shows up on reporting and disputing forms for markets that have an expiration date after the cut off

@cillianhunter0 approved of this


updated Readme

Updated the readme file with known information. Please review the same.
Resolves https://github.com/mirage/irmin/issues/981.

@pascutto  . I Updated. Please check the same.

Thanks for your contributions!


Build with 1.58.1

What type of PR is this?

/kind dependency-change
What this PR does / why we need it:
as we need it to build on RHEL 8
Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?

Downgrade packages to support MSRV 1.58.0

Codecov Report

Merging #724 (0365345) into main (f3f06ac) will increase coverage by 0.53%.
The diff coverage is n/a.

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

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #724      +/-   ##
==========================================
+ Coverage   32.91%   33.45%   +0.53%
==========================================
  Files          13       13
  Lines        1124     1124
  Branches      416      416
==========================================
+ Hits          370      376       +6
+ Misses        474      466       -8
- Partials      280      282       +2

hm do you have any insight @saschagrunert https://github.com/containers/conmon-rs/actions/runs/3068048702/jobs/4955032084

hm do you have any insight @saschagrunert https://github.com/containers/conmon-rs/actions/runs/3068048702/jobs/4955032084

Yes we just have to change the grep text since we exchanged compilers.

/lgtm

/lgtm


HDDS-1802. Add Eviction policy for table cache.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
67
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 2 new or modified test files.

_ trunk Compile Tests _

0
mvndep
63
Maven dependency ordering for branch

+1
mvninstall
521
trunk passed

+1
compile
259
trunk passed

+1
checkstyle
63
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
847
branch has no errors when building and testing our client artifacts.

+1
javadoc
177
trunk passed

0
spotbugs
315
Used deprecated FindBugs config; considering switching to SpotBugs.

+1
findbugs
515
trunk passed

_ Patch Compile Tests _

0
mvndep
38
Maven dependency ordering for patch

+1
mvninstall
507
the patch passed

+1
compile
274
the patch passed

+1
javac
274
the patch passed

+1
checkstyle
80
the patch passed

+1
mvnsite
0
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
671
patch has no errors when building and testing our client artifacts.

+1
javadoc
154
the patch passed

+1
findbugs
523
the patch passed

_ Other Tests _

-1
unit
325
hadoop-hdds in the patch failed.

-1
unit
231
hadoop-ozone in the patch failed.

+1
asflicense
41
The patch does not generate ASF License warnings.

5531

Reason
Tests

Failed junit tests
hadoop.hdds.scm.container.placement.algorithms.TestSCMContainerPlacementRackAware

hadoop.ozone.om.request.volume.TestOMVolumeCreateRequest

hadoop.ozone.om.request.volume.TestOMVolumeDeleteRequest

hadoop.ozone.om.response.bucket.TestOMBucketSetPropertyResponse

hadoop.ozone.om.request.file.TestOMFileCreateRequest

hadoop.ozone.om.response.volume.TestOMVolumeSetOwnerResponse

hadoop.ozone.om.response.bucket.TestOMBucketCreateResponse

hadoop.ozone.om.request.key.TestOMKeyCommitRequest

hadoop.ozone.om.response.volume.TestOMVolumeCreateResponse

hadoop.ozone.om.request.bucket.TestOMBucketCreateRequest

hadoop.ozone.om.TestBucketManagerImpl

hadoop.ozone.om.TestKeyDeletingService

hadoop.ozone.om.request.key.TestOMAllocateBlockRequest

hadoop.ozone.om.request.volume.TestOMVolumeSetQuotaRequest

hadoop.ozone.om.request.key.TestOMKeyCreateRequest

hadoop.ozone.om.request.volume.TestOMVolumeSetOwnerRequest

hadoop.ozone.om.TestS3BucketManager

hadoop.ozone.om.request.file.TestOMDirectoryCreateRequest

hadoop.ozone.om.request.bucket.TestOMBucketSetPropertyRequest

hadoop.ozone.om.ratis.TestOzoneManagerDoubleBufferWithOMResponse

hadoop.ozone.om.response.volume.TestOMVolumeSetQuotaResponse

Subsystem
Report/Notes

Docker
Client=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1099/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1099

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux dc94130e6b0d 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 1411513

Default Java
1.8.0_212

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1099/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1099/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1099/1/testReport/

Max. process+thread count
1380 (vs. ulimit of 5500)

modules
C: hadoop-hdds/common hadoop-ozone/ozone-manager U: .

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1099/1/console

versions
git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.


Allow users to specify the user agent string...

...and/or use a default that is specific to the taxii client.

_HTTPConnection.post() already allows custom headers (it has a "headers" parameter).  _HTTPConnection.get() does not.  So there is inconsistency there.  If there is a user_agent param to the _HTTPConnection constructor, should it override the headers given in _HTTPConnection.post()?  I'm thinking not.  Perhaps a constructor param should act as a default in that case.

Expanding on the above a bit: I'm unclear as to how this should behave.  E.g. you could envision four possible situations: user opts for a taxii2-client user-agent (something built-in to the library); user opts for a custom user-agent; user opts to leave it unspecified; user forces the user-agent header to not exist.  In the third situation, it looks like requests will insert its own, for example: python-requests/2.19.1.  Should a default taxii2client-specific user-agent be forced, so that the "requests" user-agent never appears?  Do we allow user-agent to be omitted from requests?
Btw, the format I am using is "taxii2-client/" + __version__, e.g. taxii2-client/0.3.1.  Hope that's okay.

I agree, _HTTPConnection.post() and .get() should be consistent and headers passed to them override any defaults set in the constructor.
IIRC, this feature request came up at the plugfest as a way to help tell who was connecting to whom. As such, I think it's okay to always send a user-agent, defaulting to a taxii2client-specific one. We can allow omitting it later if we need to.
That format looks good to me.


added support for saving a preset

should handle #6
At this time, it only supports a single preset (config.json), but this would be easy to expand upon.  Should continue working as it did if no config.json or bad config.json file found.
Also, loading in a config will replace all args passed in because it essentially replaces the entire argv object.

just looking at this on mobile, but it looks like this will break the -c flag as you are only calling handleArgs() within the argv.__.length = 0 if block.
Additionally, I don't think this is useful unless allows you to overide some but not all options.

It shouldn't be broken. -c was one of the options I was testing. It's not added to the argv._ array. Only non prefixed arguments are.

Based on what I've seen as far as valid arguments go, I think the code would have worked, but I added an else and called handleArgs in there as well.


how to change background?

how to change then background on the left?

@kawre , For this issue, please help me solve it. Thank you very much.


Bump year in copyright to 2023

Ultra trivial. This should be automated by a bot. @jorgepiloto, this is just begging for an action...

@akaszynski @jorgepiloto  it seems it already exists:
https://github.com/marketplace/actions/update-license-copyright-year-s
Not sure if applicable to our case, but it might be!


Bugfix: Handle errors on dnd model quiz generation gracefully

Checklist

[x] I run yarn run webpack:build:main: the project builds without errors.
[x] I run yarn lint: the project builds without code style warnings.
[x] I updated the documentation and models.
[x] I tested the changes and all related features on the test server https://artemistest.ase.in.tum.de.
[x] ~I added (end-to-end) test cases for the new functionality.~

Motivation and Context
Previous changes to the FileUpload service made generation of Drag and Drop Model Quizzes fail.
Description
Fixed the issue with the FileUpload service and implemented mechanism to handle errors thrown on the generation modal gracefully in the Apollon diagram details component.

please fix the merge conflict, then I will merge this PR


chore(exchange-io-erc1888): Move supply watching functionality from e…

…rc1888 watcher exchange using eventbus

Based on the changes this PR does 2 things:

declares events in the exchange package
moved code to handlers in the exchange-io-erc1888
but this does not achieve the goal of the PR which is to move the "logic" of post for sale from exchange-io-erc1888 to the exchange package. Note that post for sale is not dependent on the method of "discovering" the deposit thus can be reused in case of other exchange-io-* packages.

Based on the changes this PR does 2 things:

declares events in the exchange package
moved code to handlers in the exchange-io-erc1888
but this does not achieve the goal of the PR which is to move the "logic" of post for sale from exchange-io-erc1888 to the exchange package. Note that post for sale is not dependent on the method of "discovering" the deposit thus can be reused in case of other exchange-io-* packages.

Send out a new clean PR (https://github.com/energywebfoundation/origin/pull/1931) with all the changes as per comments here.

Send out a new clean PR (https://github.com/energywebfoundation/origin/pull/1931) with all the changes as per comments here.


Add "currently xyz" section

The blog should list what I'm:

Currently reading
Currently learning (or curious about)
Currently building

Fixed in 24d725c55e954c3e94dba3f48547649f11401dc4


How to fix Invalid filepath

autosub -S zh-CN -D zh-CN -F srt [/Users/VictoriaWang/Desktop/t.mp3]
this is what I typed in. I updates pip and ffmpeg, but sometimes it said permission denied. How to fix it？

fine I fix it, I shouldn't put in brackets for file path。。。


让子命令更易用

让子命令更易用. 使用子命令结构体里只实现SubMain会自动帮你调用(当这个子命令在命令行被设置时)
package main

import (
	"fmt"
	"github.com/guonaihong/clop"
)

type add struct {
	All      bool     `clop:"-A; --all" usage:"add changes from all tracked and untracked files"`
	Force    bool     `clop:"-f; --force" usage:"allow adding otherwise ignored files"`
	Pathspec []string `clop:"args=pathspec"`
}

func (a *add) SubMain() {
// 当add子命令被设置时
// clop会自动调用这个函数
}

type mv struct {
	Force bool `clop:"-f; --force" usage:"allow adding otherwise ignored files"`
}

func (m *mv) SubMain() {
// 当mv 子命令被设置时
// clop会自动调用这个函数
}

type git struct {
	Add add `clop:"subcommand=add" usage:"Add file contents to the index"`
	Mv  mv  `clop:"subcommand=mv" usage:"Move or rename a file, a directory, or a symlink"`
}

func main() {
	g := git{}
	clop.Bind(&g)
}

Codecov Report

Merging #85 (286d5ef) into master (9e0b469) will decrease coverage by 0.10%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master      #85      +/-   ##
==========================================
- Coverage   81.81%   81.71%   -0.11%
==========================================
  Files          11       11
  Lines         858      864       +6
==========================================
+ Hits          702      706       +4
- Misses        103      104       +1
- Partials       53       54       +1

Impacted Files
Coverage Δ

clop.go
86.02% <75.00%> (-0.26%)
:arrow_down:

Continue to review full report at Codecov.

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


[Feature Request]: Support Chroma v0.4.21-22

Describe the problem
It would be nice to catch up with Chroma version
Describe the proposed solution
Versions 0.4.21 and 0.4.22 to be supported
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

@tazarov thanks for your work on this chart.
I started using it this week, I'm currently using the 0.4.22 client libraries.
I was wondering if you'd be open to contributions on this?  If so I'm happy to pick up this enhancement.
Regards,
Damian.

@tazarov let me know if your happy with the above PR, if so I'll do a separate one for .22


Firefox addon version needs updating for manifest permissions for x.com update

The firefox version has not been updated for a while (still on 1.6), and due to the url change to x.com now version 1.6 does not work. Are there any intentions from the developers to update the firefox version? I can import it locally on firefox and it works, so it should work as such.

If people are not interested/have time to update it, I can submit it as an addon in mozilla myself.


TLS Versions and Ciphers enumeration support

Flag description:
   -ve -version-enum	enumerate and display supported tls versions (false)
   -ce -cipher-enum	enumerate and display supported cipher (false)

CLI Output:
echo tls-v1-0.badssl.com | tlsx -port 1010 -ve

tls-v1-0.badssl.com:1010 [TLS1.0,TLS1.1,TLS1.2]

JSON Output:
{
   "version-enum":[
      "TLS1.0",
      "TLS1.1",
      "TLS1.2"
   ],
   "cipher-enum": [
      "ECDHE-RSA-AES256-GCM-SHA384",
      "ECDHE-RSA-AES256-SHA384",
      "ECDHE-RSA-AES256-SHA",
      "DHE-RSA-AES256-GCM-SHA384",
      "DHE-RSA-AES256-SHA256",
      "DHE-RSA-AES256-SHA",
      "DHE-RSA-CAMELLIA256-SHA",
      "AES256-GCM-SHA384",
      "AES256-SHA256",
      "AES256-SHA",
      "CAMELLIA256-SHA",
      "ECDHE-RSA-AES128-GCM-SHA256",
      "ECDHE-RSA-AES128-SHA256",
      "ECDHE-RSA-AES128-SHA",
      "DHE-RSA-AES128-GCM-SHA256",
      "DHE-RSA-AES128-SHA256",
      "DHE-RSA-AES128-SHA",
      "DHE-RSA-CAMELLIA128-SHA",
      "AES128-GCM-SHA256",
      "AES128-SHA256",
      "AES128-SHA",
      "CAMELLIA128-SHA",
      "ECDHE-RSA-DES-CBC3-SHA",
      "DES-CBC3-SHA"
    ]
}

note: testing with available go libraries require to loop through each hex code that represents the cipher and test via brute-force. However, it may give false negative as I was able to test, so you'll need to add an error handling process that account for that


Add integration test for helios-solo

This test brings up helios-solo in Helios using TemporaryJobs, and then
deploys some jobs to that helios-solo (also using TemporaryJobs).
We test that the following helios-solo functions work:

Starting helios-solo
Creating and deploying jobs
Service registration & discovery

This also contains a bugfix for TemporaryJobs.configureEnv, wherein the
"hostFilter" specified in a profile wasn't being respected if a Helios
endpoint wasn't also explicitly specified.

:+1:


Digital clock in C++

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

This closes #3281

I would like to review this article
@ahmadmardeni1
The other one I was reviewing got published .
Thank you
cc @louisefindlay23 @hectorkambow

@Dawe-7 only if you have completed any outstanding reviews 👍

Hi @sabin254
Upon running your article through our 3rd party plagiarism checker it seemed to raise a few flags and the % was higher than we typically accept. Please see attached PDF - and revisit the article to ensure we are contributing wholly unique and original content. Be sure to see our resources page to see more info on plagiarism and what is considered as such.
Digital clock in C++ #4275 Copyleaks Report.pdf


Please python3-pygments to the docker image

Is your feature request related to a problem? Please describe.
If using minted for code listings, github actions will always fail due to missing python3-pygments
Describe the solution you'd like
Please add python3-pygments to the docker image generation
Describe alternatives you've considered
N/A
Additional context
N/A

@felipebalbi could you please verify it all works for you now? The updated image is available in version 1.1.1.

@hspaans Thanks, works perfectly. Closing the issue.


Feature/mx 1537 extract voxco data

Added

extract voxco data

Changes

consolidate mocked drop connector into one general mock

Look good, just few quick tiny fixes.

done, just had to lint on top of your suggestions


Constants update

Update to remove several global constants and generally rework how we store/utilize certain constants that appear across many files in both rancher/rancher and rancher/shepherd.

Note to reviewers:
For this PR I have validated that the changes should be fine by doing a go build ./... in my local shepherd branch.
When reviewing please keep the following in mind:

There should be NO logic changes
Any constant that can be exported should NOT be deleted in this PR since it might be exported to rancher/rancher. I will make 2 follow up PRs: 1 for removing constants from repos that depend on shepherd and then another to remove the constants from shepherd.
If there are constants that you know of that I have missed or you want added to these files feel free to send them my way and i'll add them.

I will make a final pass through shepherd and update any new consts that get merged in before this PR.

@susesgartner can you also add the globalconstant linter as well? And see if it passes that?

The globalconstant linter was what sparked my interest in creating this PR. While I have removed most of the global constants there is 1 remaining that I am currently looking into.

The globalconstant linter was what sparked my interest in creating this PR. While I have removed most of the global constants there is 1 remaining that I am currently looking into.

I know, what I'm saying is can you add this to our GHA linter? Since you're already doing the work it would be a great time to add it our configuration and have it pass the official verify

Sure!