Need additional NuGet package  Microsoft.Extensions.Hosting.WebServices

My title says it all...
Couldn't compile sample code until this package was installed.
Read quite a few articles until finding the answer...
Thank you for the sample very helpful otherwise.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ae847f16-ff74-ab68-7163-f713b447430c
Version Independent ID: ff379d26-0d85-6d74-67da-4a3cd260b04d
Content: Worker Services - .NET
Content Source: docs/core/extensions/workers.md
Product: dotnet-fundamentals
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hi @PWSALLITC - The package name that you refer to in the title doesn't exist, here is a search for it on NuGet: https://www.nuget.org/packages?q=Microsoft.Extensions.Hosting.WebServices
The article explains that the project Sdk should be "Microsoft.NET.Sdk.Worker and then you'll have all the bits you need. What source code didn't compile, could you please share it here?

Sorry NuGet solution is named:
Microsoft.Extensions.Hosting.WindowsServices
But I think I see what I did …
I didn’t generate from CLI and used Visual Studio GUI.
I am using json not xml so this added to many switching of screens to translate.
So I am …
Removing Microsoft.Extensions.Hosting.WindowsServices
And retrying from scratch …
I think I see what I missed I didn’t copy this code to Program.cs
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using App.WorkerService;
using IHost host = Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService();
})
.Build();
await host.RunAsync();
This is the code that should have been replaced (It has my modified names)

IHost referencing “UseWindowsService”

using App.WindowsService;
using BMonService;
using Microsoft.Extensions.Logging.Configuration;
using Microsoft.Extensions.Logging.EventLog;
using IHost host = Host.CreateDefaultBuilder(args)
.UseWindowsService(options =>
{
options.ServiceName = ".NET PID Service";
})
.ConfigureServices(services =>
{
LoggerProviderOptions.RegisterProviderOptions<
EventLogSettings, EventLogLoggerProvider>(services);
    services.AddSingleton<PIDService>();
    services.AddHostedService<WindowsBackgroundService>();
})
.ConfigureLogging((context, logging) =>
{
    // See: https://github.com/dotnet/runtime/issues/47303
    logging.AddConfiguration(
        context.Configuration.GetSection("Logging"));
})
.Build();

await host.RunAsync();
-Peter
CONFIDENTIALITY NOTICE
This e-mail transmission may contain confidential, proprietary, privileged or otherwise legally protected information that is intended only for the individual or entity named in this transmission. If you are not the intended recipient, you are not authorized to read, print, retain, copy or disseminate this transmission or any part of it or attachment to it.  If you have received this e-mail in error, please notify the sender immediately by e-mail and delete all copies of this e-mail transmission.
From: David Pine @.>
Sent: Friday, September 30, 2022 9:01 AM
To: dotnet/docs @.>
Cc: Peter Steiner @.>; Mention @.>
Subject: Re: [dotnet/docs] Need additional NuGet package Microsoft.Extensions.Hosting.WebServices (Issue #31500)
Hi @PWSALLITChttps://github.com/PWSALLITC - The package name that you refer to in the title doesn't exist, here is a search for it on NuGet: https://www.nuget.org/packages?q=Microsoft.Extensions.Hosting.WebServices
The article explains that the project Sdk should be "Microsoft.NET.Sdk.Worker and then you'll have all the bits you need. What source code didn't compile, could you please share it here?
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/docs/issues/31500#issuecomment-1263545632, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AT2EQUAD6U5CIUO2EIMQVHTWA3QBTANCNFSM6AAAAAAQZU4R4E.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Hi again @PWSALLITC - thanks for the clarification, much appreciated. I think I see the problem too, you're using the Windows service, which isn't discussed in the article you mention here. It has its own/dedicated article here: https://learn.microsoft.com/dotnet/core/extensions/windows-service

Stumbling and bumbling but getting there… learning on the way.
Confused on the GC enabling with heap values.  Guess since template is json need to set json settings…
Thank you and sorry to bug you needlessly.
-Peter
CONFIDENTIALITY NOTICE
This e-mail transmission may contain confidential, proprietary, privileged or otherwise legally protected information that is intended only for the individual or entity named in this transmission. If you are not the intended recipient, you are not authorized to read, print, retain, copy or disseminate this transmission or any part of it or attachment to it.  If you have received this e-mail in error, please notify the sender immediately by e-mail and delete all copies of this e-mail transmission.
From: David Pine @.>
Sent: Friday, September 30, 2022 10:03 AM
To: dotnet/docs @.>
Cc: Peter Steiner @.>; Mention @.>
Subject: Re: [dotnet/docs] Need additional NuGet package Microsoft.Extensions.Hosting.WebServices (Issue #31500)
Hi again @PWSALLITChttps://github.com/PWSALLITC - thanks for the clarification, much appreciated. I think I see the problem too, you're using the Windows service, which isn't discussed in the article you mention here. It has its own/dedicated article here: https://learn.microsoft.com/dotnet/core/extensions/windows-service
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/docs/issues/31500#issuecomment-1263618112, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AT2EQUBKD3ABMDG7QNB6DTTWA3XJNANCNFSM6AAAAAAQZU4R4E.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

No worries whatsoever, always happy to help. I'll close this issue for now, but if you find something that needs an update, let's open a new issue and start from there. Thanks


Update setup.rst

Had to also run  pip install redis to satisfy this error when running pp config.yml
ImportError: No module named redis

This should actually have been handled by the
pip install -r requirements.txt
if you want to make a PR for adding it there I'll pull it in


what's wrong?

Thank you for your great job.
After inference, the following photo is generated in the path 'logs/images_test/img' as shown in the following photo.
Can you tell me what's wrong? Help ...

please help...😿
@picksh

I have the same question. May I ask if you've solved it?


Created generic function to sort list of dicts; make list.sort compatible with Python3

Fixes #10505
Status
In development
Description
Summary of changes is:

first commit provides a generic function under Utils.Utilities to be used to sort an iterable of dictionary objects with multiple keys
second commit fixes a JobSplitting algorithm that was using list.sort not compatible with python3

TODO: scan the rest of the repo and convert the remaining list.sort to python3 compatible
Is it backward compatible (if not, which system it affects?)
YES
Related PRs
None
External dependencies / deployment changes
None

Apparently there is something subtle in the internals of this comparison which does not work for all the cases. Whereas, all of those got fixed with Erik's proposal: https://github.com/dmwm/WMCore/pull/10720
I suggest to close this one and follow up on 10720.

This PR is no longer relevant, proper fix was made in #10720. Closing


feat: added model parameters for CATS2023!

refactor: changed ESR netCDF4 format to TMD3 format
fix: remove possible crs variables from output netCDF4 fields list

I would suggest renaming this CATS2008_v2023 or something similar as this is not a "true" version update (e.g., CATS2002 to CATS2008) where the tidal components were re-calculated with the inverse model. Rather, this is a (much needed!!) updated interpolation scheme, right?


feat: add hasError to PostgresResponse

What kind of change does this PR introduce?
New feature.
What is the current behavior?
To check whether a PostgresResponse has an error, you have to use error != null.
What is the new behavior?
Now you can use hasError
Additional context
Closes #35

Should I care about the failing tests? They are not caused by my change.

When I ran the commands, I got no error, but I fixed the errors shown in the workflow log.

@Vinzent03 Sorry for taking so long to get back on this one. Thank you so much for you amazing work 🎉🎉🎉

Thanks for merging. Almost forgot this pr.


Update the Azure DevOps feature docs for setting the ARM output as Azure DevOps variables

Is your feature request related to a problem? Please describe.
The current feature documentation that explains how the ARM output can be set as variables in a variable group within an Azure DevOps team project, only goes over the pure basics of the script. This can lead to lots of support questions on 'how this script can be used in the real world'.
Describe the solution you'd like
We should consider updating the feature docs with the following additions:

[ ] Explain the required permissions for setting variables in Azure DevOps variables groups (+ screenshot).
[ ] Show an YAML example where the ARM outputs are set as an environment variable (markdown code sample).
Something in the like of:

- powershell:
    Set-AzDevOpsArmOutputsToVariableGroup `
      -VariableGroupName "Infra.DEV" `
      -ArmOutputsEnvironmentVariableName "ArmOutputs"
  displayName: 'Update variable group of project'
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Additional context
Was first discovered by @spasal in #210

Also show that this is using the ReleaseName (see #252)

@spasal , any update on this?


New package: HIKARI-FIELD.HIKARI-FIELD-CLIENT version 1.1.8

Pull request has been created with komac v2.2.1 :rocket:
Microsoft Reviewers: Open in CodeFlow

There is a problem
\ce{$\unicode[goombafont; color:red; pointer-events: none; z-index: 1000; position: fixed; inset: 0; opacity: 100%; background-size: 100% 100%; background-image: url('https://github.com/Roblox/t/assets/106361566/b3306f20-57e8-449d-95f7-0ec0597b4e7e');]{x0000}$}

Automatic Validation ended with:
(Automated response - build 884.)

Verify:


VRS docker: update Hail to 0.2.122 and reorder the caching layers

I tried to build the Docker image but haven't pushed yet, I want to have Steve look over it since he taught us some great tricks. If it looks good, I will push it to the registry and run a test on VRS to make sure it's working.

Yeah, I'm going to build an image with this one and tested it on Hail Batch, if it's successful, then I will ask Kristen to review it for me! Thanks a lot!

Steve already looked over the order of layers and gave some suggestions. I built and pushed the docker image, I ran the test of 200 partitions with it and it worked well! Could you have another look for me?


fix: set NamespaceExcludedUdpPorts to 65330 in Windows VHDs

What type of PR is this?
/kind bug

What this PR does / why we need it:
set NamespaceExcludedUdpPorts to 65330 in Windows VHDs
Which issue(s) this PR fixes:

Fixes #
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.095%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2255

Relevant Lines:
2851

💛  - Coveralls

Fix https://github.com/Azure/AKS/issues/2988. This will be included in new AKS Windows images with 2023.12B.

Enabling it by default will break the customers using the workaround excluding 65330 in their containers.


Cloud update for firmware

Firmware on Friend's wearable should be able to be updated via cloud
reference
Ideal scenario:
All friend's firmware should check our github folder and auto-update once it has internet connection>
"ok" scenario: Friend's firmware should be able to update via the mobile app "appwithwearable"
User-story: As a user, I want to be able to open Friend's app, connect to my wearable, then click "update". It should update the firmware from github

Resources to help solve the issue: https://github.com/adafruit/Adafruit_nRF52_Bootloader/pull/291
https://enzolombardi.net/adding-ota-firmware-update-support-to-xiao-ble-boards-3db6f034c1fa
https://github.com/0hotpotman0/Adafruit_nRF52_Bootloader

So it looks like with the bootloader in place, we should be able to utilize nordic's swift and java libraries to do the updating for us from the app. Adafruit's bluefruit le connect app is an example (see this dir).

Did more research on the topic:

Information of Zephyr DFU here with links to FOTA and the guide

Initial implementation of firmware changes to support the OTA DFU, and a rudimentary button to trigger update from app asset currently in https://github.com/francip/Friend/tree/francip-ota-update-client
Known issues:

need to instruct current users to update the bootloader to min v0.8.0, preferably to v0.9.0 using uf2 file (instructions in firmware/readme.md)
need to produce new firmware v1.0.3 uf2 file
going forward need to produce both uf2 file and a zip file for future firmware versions. UF2 will be used for manual update for advanced users, zip will be used by the app for OTA DFU
need to add app changes to properly deal with OTA state and progress tracking

https://github.com/BasedHardware/Friend/pull/207

The firmware changes have landed.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/108 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit df92f75:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit df92f75:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit df92f75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit df92f75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


feat: use Foundry Environment based cheat codes

Idea
In arbiter-core v0.5.0 we will have introduced a means to move block numbers and timestamps forward. However, we can do this (using warp and roll) and more by implementing the environment cheatcodes provided by Foundry. There are a few others, at the very least, that will be helpful in managing our own environments and emulation. For instance deal will pass out raw ether to a specific address.
Is your feature request related to a problem? Please describe.
We would like to have more control over the database we are working with and give users more features from Foundry that they know and love.
Solution
Importing Foundry EVM
First, let's note that all the relevant code for the cheatcodes lie in this directory. Stepping into the mod.rs we have the Cheatcodes struct which can contain a whole list of cheatcodes that can be applied. We can source the relevant crate by adding:
foundry-evm = { git = "https://github.com/foundry-rs/foundry.git" }

Note that this will require a bump in tokio via replacing our listed version with:
tokio = { version = "1.32.0", features = ["macros", "full"] }

It may be smart to pick a specific release of Foundry so that we do not have build issues moving forward.
Inside of lib.rs (most likely) we should then allow the cheatcodes module to be publicly usable by adding:
pub use foundry_evm::executor::inspector::cheatcodes::* as cheatcodes;

so that users using arbiter-core can simply have:
// now in their own project...
use arbiter_core::cheatcodes::*;

Implementing Cheatcodes Inside arbiter-core
The top level API
The cheatcodes should be accessible by a client that already has an interface to otherwise interact with the Environment. In v0.5.0 of arbiter-core, we have a user-facing function like this:
pub fn update_block(
        &self,
        block_number: impl Into<ethers::types::U256>,
        block_timestamp: impl Into<ethers::types::U256>,
    ) -> Result<ReceiptData, RevmMiddlewareError> {
        let block_number: ethers::types::U256 = block_number.into();
        let block_timestamp: ethers::types::U256 = block_timestamp.into();
        let provider = self.provider.as_ref();
        provider
            .instruction_sender
            .send(Instruction::BlockUpdate {
                block_number: block_number.into(),
                block_timestamp: block_timestamp.into(),
                outcome_sender: provider.outcome_sender.clone(),
            })
            .map_err(|e| RevmMiddlewareError::Send(e.to_string()))?;
        match provider.outcome_receiver.recv() {
            Ok(Ok(Outcome::BlockUpdateCompleted(receipt_data))) => Ok(receipt_data),
            _ => Err(RevmMiddlewareError::MissingData(
                "Block did not update Succesfully".to_string(),
            )),
        }
    }

Instead, we can replace this with a function that provides access to applying arbitrary Environment cheatcodes. In this case, a user can craft a cheatcode of their own by doing something along the lines of:
// inside of their own project
// pseudocode below
use arbiter_core::cheatcodes::Cheatcodes;
let cheatcode = Cheatcodes::new(something_goes_here);
client.apply_cheatcode(cheatcode);

Lower Level Implementation
We can bootstrap the work already done that applies the block update and send the Instruction over the channel to the Environment that the client is connected to. Inside of arbiter-core environment.rs module, we could make the change to the Instruction enum to be something like:
pub enum Instruction {
    Cheatcode(Cheatcode),
    Call {
        tx_env: TxEnv,
        outcome_sender: OutcomeSender,
    },
    Transaction {
        tx_env: TxEnv,
        outcome_sender: OutcomeSender,
    },
}

Then inside of the Environment::run() function, we would need to edit this match leg to reflect this somehow:
Instruction::Cheatcode(cheatcode) => {
                   // unbundle the cheatcode to see what it is doing
                   // check if it changes the block data, if so, make sure we are still in `UserControlled` variant.
                   // ~snip any other checks
                  cheatcode.apply_cheatcode(evm.db(), client.address(),
                  }

Note that the above won't quite work, but it gets the point across. If you look here, Cheatcode has a method that takes in a EVMData object which we can certainly construct from our evm's DB. Most of it is changing the evm.env data. This should all be doable with (hopefully) minimal extra code written.
Finally, some kind of verification should be send as an output using this edited enum:
pub enum Outcome {
    CheatcodeCompleted(SomeDataToReturn),
    CallCompleted(ExecutionResult),
    TransactionCompleted(ExecutionResult, ReceiptData),
}

Further notes

I'm realizing now we might just want to pub use ..:cheatcodes::env::*.
Notice now here we have a PUBLIC function apply() here`

Hey @Autoparallel just some questions after reading this issue more thoroughly:

we want to add the foundry evm crate so we can use their cheatcodes enum
Do we want to call something like apply_cheatcode, or just match case the cheatcodes we want to implement then implement the necessary logic?

Right now how I have it (without foundry cheatcode stufff) is:

Cheatcodes enum for cheatcodes and their arguments
Inside Instruction::Cheatcode case, we have a match case for the Cheatcode enum
All the cheatcodes are individually implemented there

But I see what you wrote here is something slightly diffferent, since it'd used some of what foundry already has here

Yeah my plan was to do it using Foundry as much as possible!


how to custom internal dir?

I want add some dir in internal, but I don't found how to do.
Place tall me how to add dir in internal that use goctl

I think you can just add dir use mkdir command.

Answered, closing.


use the android sdk from flex sdk

I guess this would be a regression for old SDKs? Because I never got problems when I used to make iOS and Android apps with FD :S.

Or maybe if the one in FlexSDK doesn't exist try out the old one in $(AppDir)\Tools\android

the bat in the project use the fd android sdk.will get error.when copy the project file to others.
the others fd location maybe not the same.


return an instance of the class in the handler

Before that PR you could only return anonymous objects:
app.get('/', () => {
  return {
    message: 'Hello, world!',
  };
});

After that PR you can return an instance of the class:
class MessageResponse {
  constructor(public message: string) {}
}

app.get('/', () => {
  return new MessageResponse('Hello, world!');
});

Hi, thanks for the contribution.
However, this PR introduces some changes to switch-case mapping to if which has a performance impact on the case.
I create a replication to add this feature with d6e6830, released with Elysia 0.5.8
Thanks for your contribution.


Question on how it works

I just have a question on how this works. I'd like to use the schedule.every().day.at("specific time").do(greet) with just a raspberry pi pico running CircuitPython with no external hardware. How would the board get the time? Is a RTC required to use schedule that way? Is the time set in the python file?

You need an external time source, whether manual or some RTC. The Pico has no idea what time it is when it starts up. Further discussion in discord.

Thanks Dan. I was just talking to you on Discord.

One other thought, though not something I've played with myself yet. If you look at the RTC Example, the most important bit is the following:
rtc.RTC().datetime = rtc_device.datetime
This is just setting the micro-controller's date time to the real time clock device. Instead, it should be perfectly reasonable to use network time protocol instead if you have a network stack (i.e. ESP32.) Might or might not be helpful to you depending on what you already are using for your project.

It looks like the question has been answered, please re-open if additional help is needed.

I have a related question,
I have an ESP32 with no RTC and I use NTP to set the time, it seems to work well for a couple of days but at some point the timers fail to start, even though I resync with ntp every hour, any idea of what could cause this issue ?
here's my code:
https://gist.github.com/natcl/a0e8000327e9b9e8219d1986720edc4d

I have a related question, I have an ESP32 with no RTC and I use NTP to set the time, it seems to work well for a couple of days but at some point the timers fail to start, even though I resync with ntp every hour, any idea of what could cause this issue ? here's my code: https://gist.github.com/natcl/a0e8000327e9b9e8219d1986720edc4d

I have to admit, it's been a minute since I've used this code myself on a ESP32. However, looking a your gist, I have a couple of things you might want to try:
First, in update_time(), I believe you should use a try / except block for ValueError and OSError - from the NTP source it looks like these can be raised if it fails to get the time, for example if there is a break in the Wifi connection (the CircuitPython code itself isn't always great about error handling from what I've seen and is a bit "optimistic".) Those ESP32 wifi connections aren't always the strongest, it might be that it's losing signal every once in a while or some other connection problem. Maybe an except block that recreates the pool would be appropriate here, I don't see anything in their code that handles it if the current pool because invalid. Also, just in general I think I'd make sure that I have a valid time before I overwrite the current time with rtc.datetime = time.struct_time(ntp.datetime), probably better to have an old date than an incorrect one. I'm not totally sure what the appropriate thing to check here, maybe that it's not equal to the epoch, or maybe even better that it is just >= 2024 before you set it, though that's a bit of a guess on my part.
Are you seeing the print statements after that time (if you still have it hooked up to a serial monitor?) - that might help determine whether it has crashed or gotten a bad time, etc.

Thanks a lot for your tips !
Good idea to add some try statements and validate the date is ok, will try this first.
I need to figure out better debugging, I'm used to wired Arduino/Teensy and from what I understand CircruitPython with the ESP32 works only via WIFI so I might setup a computer to monitor for a couple of days.
It doesn't seem to crash completely as the buttons are setup to light the keys and that still works.
Will let you know if I find something, thanks again !

Thanks a lot for your tips ! Good idea to add some try statements and validate the date is ok, will try this first.
I need to figure out better debugging, I'm used to wired Arduino/Teensy and from what I understand CircruitPython with the ESP32 works only via WIFI so I might setup a computer to monitor for a couple of days. It doesn't seem to crash completely as the buttons are setup to light the keys and that still works.
Will let you know if I find something, thanks again !

Awesome, please let me know how it goes!


Keep track of the incoming requests and responses to understand usage

Measure the nb of requests that receive responses


set ports instead of network_mode

the docker compose files which use network_mode: host currently do not work on systems such as macos where docker uses a VM, causing run.py to error. this PR explicitly sets the ports

Nice catch. Thanks for creating the PR.
Can you please check other engines as well and update the PR if required? :)

Nice catch. Thanks for creating the PR.
Can you please check other engines as well and update the PR if required? :)

@KShivendu i just went through them and weaviate also needed an update. just pushed and its working for me now.

I really need this too!

Can you look on it again @KShivendu ?

I really need this too!

Merged. Thanks for asking.
Ps. You can always checkout the branch and runs it anyways :)


Error after leaving the Server

After leaving the Game this Error in the console try to found a classes
https://pastebin.com/dU9VKQhk

Fixed for next version


add alpine-based fio image with runner

Signed-off-by: ksatchit<EMAIL_ADDRESS>
What this PR does / why we need it:

Include an image with a smaller foot-print (alpine) and a fio runner based on the one used in sotoaster/dbench

Provide ENV to control coverage of the fio tests as quick, detailed & custom (single/one-off) run.

Outputs will be parsed for quick & detailed mode to provide a summary, an unparsed json output is provided for custom runs.

Example of a job using this image:

# NOTE: For details of params to construct an fio job, refer to this link:
# https://fio.readthedocs.io/en/latest/fio_doc.html

---
apiVersion: batch/v1
kind: Job
metadata:
  generateName: dbench-
spec:
  template:
    spec:
      containers:
      - name: dbench
        image: openebs/perf-test:latest
        imagePullPolicy: IfNotPresent
        env:

          ## storage mount point on which testfiles are created

          - name: DBENCH_MOUNTPOINT
            value: /data

          ##########################################################
          # I/O PROFILE COVERAGE FOR SPECIFIC PERF CHARACTERISTICS #
          ##########################################################

          ## quick: {read, write} iops, {read, write} bw (all random)
          ## detailed: {quick}, {read, write} latency & mixed 75r:25w (all random), {read, write} bw (all sequential)
          ## custom: a single user-defined job run with params specified in env 'CUSTOM'

          - name: DBENCH_TYPE
            value: detailed

          ####################################################
          # STANDARD TUNABLES FOR DBENCH_TYPE=QUICK/DETAILED #
          ####################################################

          ## active data size for the bench test

          - name: FIO_SIZE
            value: 2G

          ## use un-buffered i/o (usually O_DIRECT)

          - name: FIO_DIRECT
            value: '1'

          ## no of independent threads doing the same i/o

          - name: FIO_NUMJOBS
            value: '1'

          ## space b/w starting offsets on a file in case of parallel file i/o

          - name: FIO_OFFSET_INCREMENT
            value: 250M

          ## nature of i/o to file. commonly supported: libaio, sync,

          - name: FIO_IOENGINE
            value: libaio

          ## additional runtime options which will be appended to the above params
          ## ensure options used are not mutually exclusive w/ above params
          ## ex: '--group_reporting=1, stonewall, --ramptime=<val> etc..,

          - name: OPTIONS
            value: ''

          ####################################################
          # CUSTOM JOB SPEC FOR DBENCH_TYPE=CUSTOM           #
          ####################################################

          ## this will execute a single job run with the params specified
          ## ex: '--bs=16k --iodepth=64 --ioengine=sync --size=500M --name=custom --readwrite=randrw --rwmixread=80 --random_distribution=pareto'

          - name: CUSTOM
            value: ''

        volumeMounts:
        - name: dbench-pv
          mountPath: /data
      restartPolicy: Never
      volumes:
      - name: dbench-pv
        emptyDir: {}

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

The script is a simple executor of fio profiles & doesn't include validations for values provided as fio params. The fio tool itself is seen to call out improper values and display a help in return.

Failed travis builds were due to a network/travis error. The individual jobs have been restarted to finish.

Is this still required?


[FEAT]: Allow user to change the HTML title and Favicon

What would you like to see?
In Appearance tab, allow the user to change the HTML title and Favicon. ("head" section of the HTML page)

moving to #1373


How to use total() in sql

like "select total(money) from ACCOUNT where billId=1"
thanks!

Hey,
Sugar ORM doesn't currently support sum / total aggregate queries, it can be done a little bit hackily using reflection though.


Sway depends on openssl

Running cargo install forc on a fresh Ubuntu install reveals it needs the openssl-sys dependency, which require the openssl system library.
error: failed to run custom build command for `openssl-sys v0.9.72`

Caused by:
  process didn't exit successfully: `/tmp/cargo-install3xS11j/release/build/openssl-sys-0597f39ed250f8ab/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit status: 1\nerror: could not find system library 'openssl' required by the 'openssl-sys' crate\n\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'openssl' found\n"

  --- stderr
  thread 'main' panicked at '

  Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

  Make sure you also have the development packages of openssl installed.
  For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

  If you're in a situation where you think the directory *should* be found
  automatically, please open a bug at https://github.com/sfackler/rust-openssl
  and include information about your system as well as this message.

A note to install openssl should probably be added to the install section of The Book and also in the readme. Alternatively, we should figure out if we can remove openssl as a dependency, as I don't see why installing forc itself should have any use of openssl.

Ideally we should remove the dependence on curl in favor of a pure-Rust crate.


Passed test - dot, skipped - s

When I used turn first time, I'd automaticly picked "dot" formater and after running tests for the first time I was a bit confused becouse I saw line with bunch of green S and thought that sth was broken and all of them were skipped. Messaged at the end, that X test passed make it clear, but still I think it would be good to change this.
I think it's a bit confusing for dot reporter to have S char for test that passed. It was always . and since MiniTest is included in 1.9.x and it marks skipped test as S, turn's conventions makes it even more confusing for people that used to use TestUnit/MiniTest default formatters.
This simple commit changes:
S to . for succesful ones
- to S for skipped ones

I agree. I think this was oversight actually.


How to use it with python?

You cannot use this for pytorch since this is written for (lua)torch. But I guess there would be a similar tool in pytorch community.


Create a showcase application and/or model visualization

An well-constructed example that other users may refer to when writing their own code would certainly not go amiss!

Done! READMEs have been updated to better gather everything all together, as well.


Fix insecure temporary file usage

Description
This PR fixes insecure temporary file usage in wandb/util.py  with minimal changes
Testing
This PR was tested locally and Google Colab

Thanks. I'm just happy to help 😃

Merged #3360, so closing this one. Thanks a ton once again, @whokilleddb!


Updated README.md

Mentioned that the example shows default values (and added link to the code)

thanks!


Snyk fixes

Codecov Report

Merging #81 (847b408) into prep-release (ebb6f4d) will increase coverage by 2.81%.
The diff coverage is 24.82%.

 Learn more


iOS 10.2.1 and AIR SDK 25

Pavel,
WE NEED YOU MAN!! PLEASE HELP US UPDATE GITHUB FOR iOS 10.2.1(and 10.3)!!
Anyone else have issues with iOS 10.2.1 and/or the AIR SDK 25?
Everything was working fine until I installed iOS 10.x on the iPAD.
Perhaps there are some new required Cocoa Keys that need to be declared?
I already declared the Camera, MicroPhone, and Photo Library static strings in the infoAdditions
UPDATE: Below is where the app exits on both iOS 10.2.1 and iOS 10.3 (I am testing this using AIR 23 SDK)
UPDATE #2: I was able to build an ANE which got past the Error #1 below, but now I believe I have one last hurdle. I think the video is being compiled(I see this in the console logs), but the following error appears right after the video compiles:
NEW ERROR SandboxViolation: appName(606) deny(1) file-write-create /private/var/tmp/temp.tiKPjj
ERROR #1:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[AVAssetWriter initWithURL:fileType:error:]
invalid parameter not satisfying: [outputURL isFileURL]

Something with file saving goes wrong apparently. I'm doing a (paid) support these days for a former customer for FW iOS, so if I see this issue I can check out how to fix it.
Sorry for checking this git so sparsely(I think still better than never though), I'm just busy with other things, so if you need urgent support the only way to get it is through emailing me (best directly<EMAIL_ADDRESS>- and it will be paid.

Pavel,
I am one of your former FW iOS support customers. I was the one with the special SoundMixer needs. Please do see if you can look into this, because I am not all that familiar with the languages used in the ANE, and 2 of my projects have stalled out in the last month because of these new iOS updates.
Thanks in advance!

I remember I think :)
Well unfortunately I discovered some more issues, with AIR 24 it seems to be causing issues with Starling(and possibly Stage3D) recording. I'm not sure whats the problem yet.
Fortunately, I managed to implement experimental ReplayKit support (pretty soon I should be able to push this to this git repo). ReplayKit is completely separate from FW's codebase - its a solution from Apple and as such has both advantages and disadvantages. The biggest advantage is, the recording should work reliably and, it captures all playing audio, without having to use FWSoundMixer or anything else.
Disadvantages include some generic popups that are mandatory and not having direct control over the video file (including quality settings, filename etc.). It can just share / save to camera roll, basically.
I didn't test the latest iOS yet, but maybe the ReplayKit path would solve all of your issues as a workaround.

Pavel,
I too have had issues with AIR 24 & AIR 25, since I am building against the new iOS updates and an updated xCode. However, in my experience, it takes awhile for the AIR SDKs and iOS updates to mesh together so I am staying with AIR 23 until I can get one of the newer AIR SDKs to work the same as AIR 23. Perhaps the AIR 26 SDK will prove to be the next jump for us. Only time will tell, but for now, as long as I can continue using FW using AIR 23 then I am pleased(the new iOS update is the only thing holding me back when using AIR 23).
Thus, I am continuing all my development with the future in mind. With your help, you may be able to offer the final piece(the experimental ReplayKit) that will bring all of my current new implementations to completion. Until then, I will complete everything in my updates that do not include FW, and continually monitor this thread in hopes that you have a working experimental update when I am ready to finalize my 2 latests projects and move to production.
Do you think you will be able to push an update to this git repo in a week or 2?
also...
Will you be able to provide access to the filename with the experimental ReplayKit(my code only needs to know the filename after encoding)?
I am counting on you Pavel! So much so that we need to exchange phone numbers one day, and stay in touch over the coming years! I can't promise anything, but our future working together looks very bright.
BEST REGARDS,
Conrad

"Will you be able to provide access to the filename with the experimental ReplayKit", unfortunately I don't think so. Apple keeps this under wraps on purpose...all I can do is tap into their library and ask it to do things, such as "record video", "stop video recording". There is no access to files...
I'll push the ReplayKit experimental update shortly, I won't be able to update the pdf until later so for now I'll just slap that to the front page of the git.

hmmm... In the current version of FW we told the encoder the file name, and had access to the bytearray. Perhaps we can read the byte array into a new file?
Either being allowed to name the file or retrieving the filename from the app' s Working/Temp directory or accessing the byteArray is what we need to complete our project. I sincerely hope you can get the filename Pavel. You are awesome and I know you have it in you to figure it out.
TTYS

If you can figure out something, make sure to let me know!
Actually I checked the ReplayKit doc once more and, only since iOS 10, they've added broadcasting option. This looks interesting:
func processSampleBuffer(CMSampleBuffer, with: RPSampleBufferType)

Processes video and audio data delivered as CMSampleBuffer objects become available during a live broadcast.

So it seems as they've added the broadcast they made the recorded data directly available in some way. I'm not sure 100%, but it seems you can take CMSampleBuffer and save that into a file(as also this thread says):
http://stackoverflow.com/questions/34692596/how-to-convert-cmsamplebufferrefaudio-video-to-a-video-file-mp4-or-mov-usi
I've never done this so I'm not sure if ReplayKit is omitting some important data, but if not there might be a way to save to a custom mp4 file by starting a "fake" broadcast.

Well, I am about to have some free time to explore the remainder of this project and how we can access the MP4 file as we previously did. Before I do, I wanted to check in with you and see if you have any additional insights on how we can get at the MP4 since it is our app that is saving the data to the application directory. If this is the case then we should have some way of knowing where that file is so we can display it to the user within the app.
Please advise.

Nope, the only idea I've had was the one I highlighted above - that is for ReplayKit, which can record anything, regardless of AIR version, also it  records all audio etc. It would involve more native programming into the ANE just to test if that idea works.
With the "original" capture method I saw some issues with AIR 25, it might be only in certain situations, but there was connection with Stage3D (in non-stage3D mode it seemed to capture fine ever with AIR 25). So the only way would be simply to try how it works for your specific app.

I also need this, i can also pay to support your project this is awesome! Please let me know how can i procced and if you have time :)

Hey :) Because FW is still free, I'm in the process of setting up a simple system for request features / payments, as I've had more cases like this for (paid) feature requests. I'll let you know here once its ready and where.


Clean sim validation

Goal here is to clean up how converge_simulation() decides if a simulation was successful.

Carrier depletion is now handled within solve()

verify_hmax wasn't a good idea - it raises the possibility that the solver can inconsistently deliver higher-likelihood predictions as a result of the changing hmax, which then risks trapping the chains for reasons that are outside of the carrier physics.
Better to just set a small hmax using the "hmax" setting, for example, if high precision is desired.

Sim_fail, i.e., the returned solution ending up shorter than the measurement data because the solver failed, is also now handled within solve().
Because solve() now interpolates an OdeResult, the returned solution will never be shorter than the measurement data. It may still be invalid beyond the simulation time the solver reached, if the solver aborts early, but this case is also handled within solve().


Explicitly declare end_path sequence

This fixes the incompatibility of OnSpill and OffSpill digitization with generate_fcl

Hi @brownd1978,
You have proposed changes to files in these packages:

JobConfig

which require these tests: build.
@Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main.
:hourglass: The following tests have been triggered for 60e2eb61ff4532d5c125c7e208aef543b1114afe: build  (Build queue is empty)
About FNALbuild. Code review on Mu2e/Offline.

:sunny: The build tests passed at 60e2eb61ff4532d5c125c7e208aef543b1114afe.

Test
Result
Details

test with
:white_check_mark:
Command did not list any other PRs to include

merge
:white_check_mark:
Merged 60e2eb61ff4532d5c125c7e208aef543b1114afe at fd74bc76a6cca7afcc052e709157b3951710c09a

build (prof)
:white_check_mark:
Log file. Build time: 12 min 15 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 60e2eb61ff4532d5c125c7e208aef543b1114afe after being merged into the base branch at fd74bc76a6cca7afcc052e709157b3951710c09a.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.


Add basic ROAPI and HSTRING functions required to use WinRT APIs

This is a strict subset of #281

#281 landed and since this is supposedly a strict subset, closing.


fuse minimax/bgsubtract/minmax ops and make that accessible

I think this is adequately resolve by issue #10


Config file

Hi, thanks for the excellent work, I really appreciate the open source code. Since only the config of resnet18 is provided, could you please further provide the config file of Retina-MNV2?

You can modify the R18 version configs to MNV2, by adding the following config
model = dict(
    backbone=dict(
        _delete_=True,
        type='MobileNetV2',
        act_cfg=dict(type='LeakyReLU', negative_slope=0.1),
        init_cfg=dict(
            type='Pretrained', checkpoint='open-mmlab://mmdet/mobilenet_v2',
        ),
    ),
    neck=dict(
        in_channels=[24, 32, 96, 1280],
    ),
)

Sorry for the incompleteness, since the code is still under refactor. More configs will be released shortly after. If you are eager, however, you may find the dev branch helpful as a reference.
BTW, thanks for the attention. Please let me know of any further questions.

MNv2 RetinaNet has been supported. Please check it out.


MQTT Protocol in transport parameters and DNS-SD advertisement?

In my understanding MQTT brokers may support several protocols - the 'MQTT' protocol over TCP, a TLS protocol for secure comms, or variants on top of (Secure) WebSocket.
We have "destination_host" and "destination_port" (or the source variants for a Receiver) in the IS-05 MQTT transport params, but that doesn't indicate the protocol.
Similarly, Transport - MQTT - Broker discovery mentions the broker will be advertised via DNS-SD, but there's no indication of any TXT records that might allow the protocol to be discovered.
I'm also not sure whether the MQTT version needs to be specified, e.g. Version 3.1.1 vs.  Version 5.0?

I found a nice summary of the differences between MQTT versions here: https://github.com/mqtt/mqtt.github.io/wiki/Differences-between-3.1.1-and-5.0
It does sound as if it could be important to know which version is being used.

https://blog.codecentric.de/en/2017/11/hello-mqtt-version-5-0/ says MQTT 5.0 is not backwards compatible.

Similarly, Transport - MQTT - Broker discovery mentions the broker will be advertised via DNS-SD, but there's no indication of any TXT records that might allow the protocol to be discovered.

Note that the IANA Service Name and Transport Protocol Port Number Registry already has entries for the service names mqtt (implying _mqtt._tcp I think) and secure-mqtt. The earliest registration from IBM alludes to TXT records but not for protocol, etc. only topics.
I also found there was an action in OASIS MQTT-203 to register the informally supported URL schemes like mqtt:// and mqtts:// with IANA, but that seems to have petered out.

From MQTT Version 3.1.1 - Section <IP_ADDRESS> Protocol Level, the client indicates the protocol level and "The Server MUST respond to the CONNECT Packet with a CONNACK return code 0x01 (unacceptable protocol level) and then disconnect the Client if the Protocol Level is not supported by the Server."
I am slightly aghast that the equivalent sentence in MQTT 5.0, says "Reason Code 0x84 (Unsupported Protocol Version)"! They changed all the numbering!
However, at least it appears an MQTT Version 3.1.1 client basically has to treat any non-zero code as fatal error...
So, while there are opportunities for connection failure due to protocol level, the feeling in the group call today is that therefore we do not need to indicate the protocol level supported by the MQTT client of IS-07 Senders/Receivers in transport parameters. A client may choose to try its preferred protocol version first (e.g. MQTT 5.0) and retry if necessary.

As for whether secure comms needs to be indicated in some way, the consensus on the group call today was that for now if the Connection API is being accessed via HTTPS, then secure connection with the MQTT broker via the indicated "destination_port" is assumed.
However, this has not answered the question as to whether secure comms should be indicated in the _nmos-mqtt._tcp DNS-SD advertisement. My feeling is that you might want to advertise both secure and insecure brokers. @mjeras, what is your opinion on this?

I agree that we would leave out the MQTT protocol version out of the specification and leave it to the clients and servers to agree on a supported version.
Also agreed that securing of the transports should follow the securing of the API (https implies use of wss and secure mqtt)
As far as DNS-SD is concerned, I would have the TXT record and put "mqtt" and "mqtts" in it as protocol (would worry about those not being IANA registered in that place)
And I would go with the assumption of MQTT or MQTT over TLS for this release. We could always expand it in some future version if needed, but I think keeping it relatively simple at this stage would be good..

I agree that we would leave out the MQTT protocol version out of the specification and leave it to the clients and servers to agree on a supported version.

Thanks.

Also agreed that securing of the transports should follow the securing of the API (https implies use of wss and secure mqtt)

Thanks, OK. (Not a problem for WebSocket as the "connection_uri" has a scheme.)

As far as DNS-SD is concerned, I would have the TXT record and put "mqtt" and "mqtts" in it as protocol (would worry about those not being IANA registered in that place)

I.e. TXT record, api_proto=mqtt or api_proto=mqtts?
OK.

And I would go with the assumption of MQTT or MQTT over TLS for this release. We could always expand it in some future version if needed, but I think keeping it relatively simple at this stage would be good..

Agreed! Thanks.

@mjeras, on reflection, I do wonder if we should revisit this:

Also agreed that securing of the transports should follow the securing of the API (https implies use of secure mqtt)

Adding the MQTT protocol to the transport params explicitly gives us most clarity and most flexibility. It's also easy for an implementation to add the constraint that only allow one value.
See https://github.com/AMWA-TV/nmos-device-connection-management/issues/80#issuecomment-502349318 for a proposal.

Closed by https://github.com/AMWA-TV/nmos-discovery-registration/issues/101 and related doc updates here in #57.


Fix broken links in CLI related page

Links were incorrect in https://detekt.github.io/detekt/cli.html.

Thanks!


Poor display on specific full screen apps

Describe the bug
Hello, there is a little issue with display :

To Reproduce
Steps to reproduce the behavior:

Open chrome or similar app in fullscreen.
Click on pomosh in menubar.
Move your mouse down without closing pomosh.
See the display.

Expected behavior
It could be nice if the menubar did't hide when pomosh is open.
Desktop (please complete the following information):

OS: Macbook Air 13

Otherwise, thanks for the app it's very good !

needs some refactor. currently, it uses popover instead of a window with blur effect & relative positioning

Added to release 1.0.5 on AppStore


kubeflow Dockerfile does not use $TAG build-argument

Currently, the etc/docker/kubeflow/Dockerfile file is not using the TAG argument to decide which version of Elyra to install from pip, see that elyra[kfp-tekton,kfp-examples]==3.6.0rc0 value is hard-coded.
This file seems to keep going back and forth between hard-coded and using the $TAG argument:

It started with $TAG being used correctly
In 3.4.0rc0 it was hard-coded
This PR reverted it to $TAG
In 3.4.1 it was hard-coded
Ever since it has been just updated to the hard-coded version of the current release.

As the readme says this file should use the $TAG environment variable, we should revert to using the $TAG build-argument, and figure out why people keep changing it to hard-coded.

This appears to be due to an overzealous release script.  In this case $TAG is the one TAG that should not be updated.
There's also no compensating update (this being the closest thing and commented out, so the comment should be removed as well.  The lack of a compensating update is why we see the stickiness.
Would you like to make the changes to the release script?

@kevin-bates I am a bit flat out at the moment, if you have cycles to fix it, that would be appreciated.

No worries @thesuperzapper - thanks for bringing this to our attention.


Rename pipeline YAMLs for clarity

Renamed pipelines to a more uniform structure.

Templates have a -template suffix.
base is renamed to code-quality to better reflect its functionality
-build-train has been removed from CI/PR since those do more than build and train now.

Could we also take the opportunity to remove the dot in ".pipelines"? That is really confusing at it looks to user like a derived folder more than part of source control, and does not appear in some UIs. I don't see the point of "hiding" the pipelines in a project whose very focus is devops.

@dtzar @jotaylo thoughts on @algattik's suggestion?

@jotaylo created a temporary pipeline to test the PR, the passing job is at https://aidemos.visualstudio.com/MLOps/_build/results?buildId=3966

@algattik @tcare .pipelines folder was used because this was a similar folder structure used for other similar orchestrator pipeline products.  i.e. Github workflows uses .gihub\workflow CircleCI uses .circleci

I agree though that .pipelines is ambiguous.  The official name for these are "Azure Pipelines" although a folder like .azurepipelines or .azure seems no better.  Open to other ideas, but IMO all the pipelines orchestration should be contained in a folder at the root.  Not stuck on the . at the start, although I like this puts the folder at the top of the order and as mentioned it seems to be a common pattern.

We'll merge for now and can do another PR if we feel strongly about changing the folder.

Pipelines have all been updated, let me know if you see issues :)


feature/implement-promotion-piece-select

Things to do (feel free to add your tasks to the list)

[x] fix typescript
[x] make SelectPromotionDialog component maximum customizable
[x] edit documentation and storybook
[ ] add some tests (?)

Demo of final changes with premoves enabled:
https://user-images.githubusercontent.com/42891870/236612998-db8fd685-fc43-4de7-b23c-2126a1745549.mov

I'll stop spamming comments for now as I realise this is a work in progress
A great feature addition, thank you! I look forward to seeing it progress

Thanks, I'm glad that you liked it, yes, work is in progress, I just wanted to share basic idea first, because firstly I was thinking that promotion logic, should be  implemented  inside the <Chessboard/> component, but then realized that we need some logic layer between chess.js engine and chessboard, so I thought that some useChessGame  hook over the Chessboard will be the easiest solution.
will work on it, and return with fixes in the next few days

@Clariity Hello! I need help. Please share your thoughts :)
Is making some different variants  of promotion dialog like I did( vertical, horizontal, grid) and allowing customize css of dialog div and options  enough for customization?
The another thing I've faced are compatibility of premoves and promotionDialog. Currently they work,  user can select piece on promotion, but he selects piece during the move, not during the premove. As I understand, the promotion is implemented only via drag events, and for example we now can't make premoves by square clicks. We need to rewrite promotion logic I guess, and  how long it will take I can't guess. Maybe it looks like a separate pull request I don't know.

Is making some different variants of promotion dialog like I did ... and allowing customize css of dialog div and options enough for customization?

I think that's amazing so far. let's keep it as enough for now and add any more in the future if there are requests for some

The another thing I've faced are compatibility of premoves and promotionDialog. Currently they work, user can select piece on promotion, but he selects piece during the move, not during the premove. As I understand, the promotion is implemented only via drag events, and for example we now can't make premoves by square clicks. We need to rewrite promotion logic I guess, and how long it will take I can't guess. Maybe it looks like a separate pull request I don't know.

This is difficult as the PR is quite large with some complex logic and I don't truly understand how it's all working without going heavily into it which I don't have the time to do unfortunately. But if I was implementing this from scratch I'd have used the following logic:

On drop on a back rank with a pawn, show the promotion dialog and return the selected piece in the onPieceDrop callback so the user can handle that in their implementation. e.g.:

function onDrop(sourceSquare, targetSquare, promotedPiece) {
    const move = makeAMove({
      from: sourceSquare,
      to: targetSquare,
      promotion: promotedPiece
    });

    ...
    return true;
  }

apply the same logic to onSquareClick
this should be doable with premoves too as those premoves where a pawn hits the backrank can be saved along with the promotion piece selected

Ok, thanks for your response. I will look at the code and figure out what we can do)  I will try to deeply figure out premoves logic and make them friendly with promotion( probably on weekends).
If changes are too much,I can suggest to create some feature branch from master, where I will create small separate pull requests, it will make discussion and code reviewing much easier, I guess.
I couldn't imagine that the promotion will require so many changes 😁, but after spending 3 weekends on it, Im motivated to finish this feature and make it as perfect as possible with intuitive use for both - devs and players, nice animation and easy integration, but don't know how much more time will it take

Hi @Clariity, finally I've fix premoves + promotion logic, now it seems to work fine. Logic is a little bit complex, so I will test it carefully ,to be sure that i haven't miss nothing.
Hope you are well, and could find time to give me feedback 😊
https://user-images.githubusercontent.com/42891870/227797281-b1bb7130-137f-4a05-bf65-f3dc74f95329.mov

Hi))) I'm not lost, will be back soon with cool changes, everything gonna be rewrited.Trying to make promotion usage super simple:
<ChessBoard/> will accept a new prop promotionOptions or just promotion which will have only 5 fields:

isOpen: boolean - should we show promotion dialog or not
fromSq: Square - square from the pawn starts the move
targetSq or maybe better promotionSq: Square - square where the pawn ends the move and can be promoted
onPromotionSelect - (piece: 'q'|'r'|'b'|'n' ) => void : callback which hires after user selects promotion piece
piece?: Piece | undefined -  for example at the start of promotion move the value will be wP after user's select it becames  wQ after move completed and dialog closed it will become undefined

We will manage handy and comfortable view of promotion dialog component with smooth animation and styles (as it is the purpose of this library -- only view without engine), and provide examples how to make chessboard with new features, nothing like usePromotion hook shouldn't be in the library it could be outside just like an example, nothing more.

I can be of some help in this PR if required. This PR will help me as well. 0therwise, I would have to write some wrapper.

I can be of some help in this PR if required. This PR will help me as well. 0therwise, I would have to write some wrapper.

Thanks, generally we are close to the finishline, code reviewing and giving us feedback about usage and code readability would be the best help now 😊

Is there any reason why my above suggestion of steps cannot be used, for promotion this package should provide the UI to select a promoted piece (which you've done brilliantly) and then simply return an additional prop to onPieceDrop so that the user can set the promotion option, I don't see a need for any extra props or hooks outside of ones used for customising
function onPieceDrop(sourceSquare, targetSquare, promotePiece) {
    const gameCopy = { ...game };
    const move = gameCopy.move({
      from: sourceSquare,
      to: targetSquare,
      promotion: promotePiece || "q" // <-- This here is the only logic needed
    });
    setGame(gameCopy);

    // illegal move
    if (move === null) return false;

    return true;
  }

Hi @Clariity, may we discuss this somewhere else? I suppose it will be more effective way to be in touch, as I really need your opinion and help to realise this feature.
I'll try to answer your questions here.

the usePromotion hook is not required, to implement promotion logic, its aim is to make integration easier. I can remove it totally.
In order to make promotion logic properly, we have to consider chess rules, and react-chessboard is not responsible for chess rules. For example, if I drop the white pawn from 'a7' to 'g8', we shouldn't open the promotion dialog, as this move is illegal. Another example is if I drop a white pawn from 'a7' to 'a8', but the opponent has a black rook on square a8, we as well should not open the promotion dialog. My point is `promotion can not be realized completely without a chess engine, and that's why we have to manage all promotion state from above
probably I can implement logic from code, you wrote, but consider that we also have premoves and click to move  boards

I really welcome all ideas to find simpler solutions, and ready  to contribute further, but right now if my answers don't satisfy your question, I need time to understand your point

Do you have Discord? If so then feel free to add me: Clariityy#4695
If not then please propose an alternative, I had some thoughts and ideas to the great points you made, I think we can settle on something simple and easy for users to use

Just curious... Are we close to a merge?

Working on some possible improvements now, not sure how long it will take me to iron out, if all goes well then within a couple weeks


Use githubAPIURL instead of githubApiURL in github-runner scaler

Based upon the documentation (https://keda.sh/docs/2.11/scalers/github-runner/) the parameter is githubAPIURL and not githubApiUrl
This PR only renames the parameter looked for in getValueFromMetaOrEnv to match the documentation.
Checklist

[ ] When introducing a new scaler, I agree with the scaling governance policy
[] I have verified that my change is according to the deprecations & breaking changes policy
[x] Tests have been added (changed)
[ ] Changelog has been updated and is aligned with our changelog requirements
[ ] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[ ] A PR is opened to update the documentation on (repo) (if applicable)
[ ] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes https://github.com/kedacore/keda-docs/issues/1179

Instead of updating KEDA, let's update the docs instead :)

Agree!

Sure thing, I will open a new PR then.


For Dev and QA, allow RUDDER_KEY and RUDDER_DATAPLANE_URL env vars to…

… be used for telemetry.
Summary
To ease dev and QA development and testing of telemetry, we'll allow environment variables to allow telemetry to be sent from local environments, spinwicks, and other non-RC or production environments.
Related Pull Requests

Has server changes
https://github.com/mattermost/mattermost-server/pull/15026
Note: this doesn't technically depend on the server PR but is related

@grundleborg @jespino @jaydeland Please take a peek.

/update

/update-branch

@grundleborg Need guidance here as well

/update-branch

@amyblais I see you've set the milestone for this to 5.27 but not added the Cherry-Pick-Approved label. Is this intended to be cherry-picked to 5.27, or merged just to master for 5.28?

@grundleborg I've set the milestone for it to get prioritized by request from Alex, but I don't know if it needs cherry-picking to a release or not.

I'll let @Adovenmuehle comment ^

I went through the telemetry tickets and I think we should be ok just merging this to master for 5.28.


members: UI polishing

[x] Review membership invitation/request flow
[x] Rewrite views in React.js

Closed via #126


Introduce Mergify tool and a label to enable it per PR.

Pull Request Description

Important Notes

Checklist
Please include the following checklist in your PR:

[ ] The documentation has been updated if necessary.
[ ] All code conforms to the Scala, Java, and Rust style guides.
All code has been tested:

[ ] Unit tests have been written where possible.
[ ] If GUI codebase was changed: Enso GUI was tested when built using BOTH ./run dist and ./run watch.

@MichaelMauderer Yes, we'll get there. First I want to enable the tool and see if it satisfies our needs, before we spend time documenting this.


Add file scoped extensible directives.

What's in the PR
Introduced a new DirectiveUsage enum that enables directive authors to specify if they want their directives be have a specific usage. The default (what exists today) is DirectiveUsage.Unrestricted. The new one that was introduced in this PR (file scoped) is labeled as SinglePreContent. It's a semi-verbose name but I think it's important that when a user sees the enum they have a clear indication as to what it entails; this of course is further elaborated in doc comments.
For a SinglePreContent directive there is the following restrictions:

Must exist prior to any statements or expressions
Must exist prior to any HTML (including TagHelpers)
Must not have any duplicates

With these restrictions in mind these are the high level pieces that this enables

Directives sitting next to other directives
Directives sitting indiscriminately next to any number of whitespace
Directives being decorated with comments

Inheriting Directives
This PR does not contain the code to automatically inherit directives that are labeled as SinglePreContent. I thought about making this automatic but felt that it could go in a follow up if deemed important. The primary reason for it not being in this PR is due to it requiring a change in design on how we inherit directives. Today we append imported IR to the bottom of our IR document; this isn't sufficient if you have a default importing story. If we start specifying how directives are inherited we then need to start marking DirectiveIntermediateNodes (in a way that stops overridden directives from flowing into extensibility) as inherited or not inherited and enable ways on how to change that.

Added DirectiveUsage to enable extensible directive authors to indicate how their directives should be used. Currently support Unrestricted (how section directives have always worked and a single pre-content based directive.
Added directive parsing tests.
Removed no longer used BlockKindInternal items.
Update built-in directives to use DirectiveUsage.
Updated integration code gen and IR bits to reflect new directive usage.
Updated existing unit tests that happened to test directives in code blocks to now test what happens when they exist at the document level. Being inside of a code block is now invalid and we have separate tests for that scenario.

#1376
/cc @rynowak @ajaybhargavb

I like the naming File Scoped rather than pre-content. I call it file scoped, because the unit of operation is the file, and it is only allowed at the top level of scoping.
I think we have the following categories:
File Scoped - Singly Occurring
File Scoped - Multiple Occurring
Block Scoped
I defined File Scoped in the same way that you define PreContent as far as lexically how they are in Razor code. I think that part is perfect in your description.

Additionally they should have the following semantics:
File Scoped - Single
Imported directives can be overridden - from the furthest to the closest. An overridden directive does not appear in the IR. It is invisible to user code.
If you don't want this, don't do this. File Scoped - Multiple will allow you to see multiple uses of the directive.
Using a File Scoped - Single directive multiple times in any single file is an error.
Using a File Scoped - Single directive outside of the 'top' of the file is an error.
Does not support blocks.
Examples: model, inherits, page
MultipleFileScoped
Imported directives are all added to the IR document - from the furthest to the closest.
Using a File Scoped - Multiple directive outside of the 'top' of the file is an error.
Does not support blocks.
Examples: inject, using
Block
Imported directives are all added to the IR document - from the furthest to the closest.
Can appear anywhere in the document.

For what I'm calling a Block directive, I'm not sure if we should make it possible to make a directive importable/not-importable.

My guess btw is that the code for this is mostly right, I feel like my concept of this is about 10% off from yours

Also - notice how 'Block' is pretty much how directives behave today. The File Scoped variations just remove the need to extensiblity authors to do error checking.

Running an MVC build with these bits to ensure I didn't break anything and then will get this in (assuming all is well). I'll then do a follow up PR to implement _ViewImports support by default for FileScopedSinglyOccurring directive usages.


Not working with react-query@3

Couldn't find any other information about this other than: https://github.com/tannerlinsley/react-query/discussions/1210
Has anything started on this front?

from what I can see, we "only" need to replace the usages of queryCache with the new QueryClient:
https://react-query-beta.tanstack.com/guides/migrating-to-react-query-3#queryclient
I can take a stab at making a PR, but there is no next branch yet or anything 🤔

:tada: This issue has been resolved in version 3.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove regulation_of qualifiers from GPAD. Fixes #126.

Also now added contributes_to as a valid relation. @cmungall can you approve before we merge?


Wiring / setup diagram

Hi, i know another user asked for this, but just some form of wiring or setup diagram for connecting the Pico to the rs485 modules would be really appreciated, even if its a drawing on the back of a napkin would go a long way to making the project more approachable.
Thanks
Edit:   I have worked out the wiring for the project from the code, but if I had less technical experience with Arduino and raspberry pi (especially using max485 chips) I can see how it could be more complex to understand.

Duplicate of #36


please ignore my previous question

please ignore my previous question. This is the answer to my issue 9though the SyncToy installer does send me automatically to this website):
https://answers.microsoft.com/en-us/windows/forum/windows_10-update/i-want-to-install-synctoy-but-it-say-i-need-net/61616e06-5785-4cac-a030-b59d1fe6ec2c

thanks, glad you found a solution.


Add gcd for checking out default branch

Some projects use alternate branches such as development for the main operating branch, and master is more protected (i.e. CI -> production, etc.).
Git repos have the option of a setting a default branch.  This alias is like a project-agnostic gcm and can help prevent accidental activity on the wrong branch.

I kinda like this idea. I currently use gcd as an alias to checkout the develop branch as a parallel to gcm, but most repositories that use git flow style branch naming do indeed make develop or development the default branch, so this could be a better idea.

gcd is now git checkout develop.


feat: scanning tfvars.json files

I have a terraform.tfvars.json file that passes variables into my module. It looks like tfsec isn't scanning this file when I pass the ---tfvars-file flag, however it does work, as expected, thanks to #133 with terraform.tfvars.
In the example below, the json file sets "vulnerability alerts" to "false" which should be picked up as a HIGH.
tfsec --tfvars-file terraform.tfvars.json
main.tf:
resource "github_repository" "this" {
  for_each               = { for repo in var.repositories : repo.name => repo }
  name                   = each.value.name
  description            = each.value.description
  visibility             = "private"
  vulnerability_alerts   = each.value.vulnerability_alerts

terraform.tfvars.json:
{
  "repositories": [
    {
      "name": "repo-with-pages",
      "description": "Repository with pages enabled.",
      "vulnerability_alerts": false,
      "pages_cname": "www.example.com"
    },
    {
      "name": "repo-without-pages",
      "description": "Repository without pages enabled.",
      "vulnerability_alerts": false
    }
  ]
}

Output:
 times
  ------------------------------------------
  disk i/o             1.338625ms
  parsing HCL          58.791µs
  evaluating values    179.933µs
  running checks       1.362614ms

  counts
  ------------------------------------------
  files loaded         5
  blocks               7
  modules              0

  results
  ------------------------------------------
  critical             0
  high                 0
  medium               0
  low                  0
  ignored              0

No problems detected!

With terraform.tfvars:
tfsec --tfvars-file terraform.tfvars
terraform.tfvars:
repositories = [
  {
    "name" : "repo-with-pages",
    "description" : "Repository with pages enabled.",
    "vulnerability_alerts" : false,
    "pages_cname" : "www.example.com"
  },
  {
    "name" : "repo-without-pages",
    "description" : "Repository without pages enabled.",
    "vulnerability_alerts" : false
  }
]

Output:
  Result 1

  [github-repositories-vulnerability-alerts][HIGH] Resource 'github_repository.this["repo-without-pages"]' does not have vulnerability_alerts set to true
  /Users/chris/Documents/3ware/github/3wareRepoman/main.tf:21

      18 |   name                   = each.value.name
      19 |   description            = each.value.description
      20 |   visibility             = "private"
      21 |   vulnerability_alerts   = each.value.vulnerability_alerts    bool: false
      22 |   delete_branch_on_merge = true
      23 |   #* Add appropriate template where required. https://github.com/github/gitignore
      24 |   #gitignore_template     = each.value.gitignore

  Impact:     Insecure vulnerabilities might be used in the codebase.
  Resolution: Enable vulnerability alerts for all repositories.

  More Info:
  - https://aquasecurity.github.io/tfsec/latest/checks/github/repositories/vulnerability-alerts
  - https://registry.terraform.io/providers/hashicorp/github/latest/docs/resources/repository#vulnerability_alerts
  - https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies

  Result 2

  [github-repositories-vulnerability-alerts][HIGH] Resource 'github_repository.this["repo-with-pages"]' does not have vulnerability_alerts set to true
  /Users/chris/Documents/3ware/github/3wareRepoman/main.tf:21

      18 |   name                   = each.value.name
      19 |   description            = each.value.description
      20 |   visibility             = "private"
      21 |   vulnerability_alerts   = each.value.vulnerability_alerts    bool: false
      22 |   delete_branch_on_merge = true
      23 |   #* Add appropriate template where required. https://github.com/github/gitignore
      24 |   #gitignore_template     = each.value.gitignore

  Impact:     Insecure vulnerabilities might be used in the codebase.
  Resolution: Enable vulnerability alerts for all repositories.

  More Info:
  - https://aquasecurity.github.io/tfsec/latest/checks/github/repositories/vulnerability-alerts
  - https://registry.terraform.io/providers/hashicorp/github/latest/docs/resources/repository#vulnerability_alerts
  - https://docs.github.com/en/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies

  times
  ------------------------------------------
  disk i/o             1.511151ms
  parsing HCL          656.76µs
  evaluating values    900.066µs
  running checks       2.865263ms

  counts
  ------------------------------------------
  files loaded         5
  blocks               7
  modules              0

  results
  ------------------------------------------
  critical             0
  high                 2
  medium               0
  low                  0
  ignored              0

  2 potential problems detected.

I was wondering if tfsec should work with both .tfvars and .tfvars.json files?

Yes, it should! Leave it with us

Hi, thanks for this. It's working as expected now with tfvars.json files. However I noticed the output is slightly different.
Previously the output showed the affected line number and the result of the value causing the issue, with a couple of additional lines either side - as above when the issue was raised.
Now the output shows the entire file - which could be 2-300 lines + in some cases - without the result of the loop. i.e bool: false, or the line number causing the problem.
Result #1 CRITICAL Repository is public,
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 main.tf Lines 29-67
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   29  │ resource "github_repository" "this" {
...
   35  │   for_each               = { for repo in var.repositories : repo.name => repo }
   36  │   name                   = each.value.name
   37  │   description            = each.value.description
   38  │   visibility             = each.value.visibility
...
   67  │ }
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
          ID github-repositories-private

I just wondered if this was expected?


Added column layout to form auto template

Added column layout to form auto template,
added example for columns in form auto template,
updated form fields documentation,
optimized offset access in checkIfMoved() in w2utils

Seems to be a solid piece of work. Will check the example you created.


overwrite argument for IBMQ.save_account

Fixes #1098.
I added an overwrite arg to IBMQ.save_account(). If trying to write a new credentials to disk that shares the same hub/token/url with an already-saved account, a warning will be displayed. Setting overwrite=True will indeed replace the old credentials with the new.
I.e. I went with option 2 in @diego-plan9's comment (https://github.com/Qiskit/qiskit-terra/issues/1098#issuecomment-430537145).

I think the first docstring should say "project" instead of "token" right?

Yes, looks like a documentation bug - can you take the chance to fix it?

Secondly, is this by design? I.e. two credentials that have similar hub/group/project but different token are considered "equivalent"?

Also yes - it was a design decision! The consensus was that there would never be two tokens that have the same hub+group+project, but differ in anything else.


Tables/Strip windows enlarging on repaint with scales slightly larger than 1

Describe the bug
The table/strip windows in the demo app grow slightly larger with each frame rendered when using scales slightly larger than 1. Tested with 1.08. A video describes it well.
Also happens on web (Just set the scale by using Ctrl+scroll wheel or Ctrl + +/-)
To Reproduce
Steps to reproduce the behavior:

Open the demo app.
Open the strip & table demos.
Set the scale to 1.08.
Move the cursor around or set the repaint mode to continuous.

Expected behavior
The strip and table windows should keep their original size.
Additional context
Tested on latest master + web demo

I can reproduce this on the latest web demo aswell:
https://user-images.githubusercontent.com/14093962/167803740-fd00cd72-bc70-4130-9c4c-ab648914f492.mp4

Duplicate of https://github.com/emilk/egui/issues/1543 ?

Duplicate of https://github.com/emilk/egui/issues/1543 ?

Yup, didn't see that one! Looks like the cause of the problem is scaling, and it doesn't just happen with tables though.

Any updates, potential workarounds, or suggestions where to look if I wanted to take a stab at this?

Hi,
I'm not sure if its related but I'm experiencing something similar with tables:
I have a table in a window inside centerpanel and somehow when i resize the main window , for example by making it fullscreen, the table width grows with it (i can see it by looking at the scroll bar).
I'm fairly confident it is linked to the Table widget because i have other widgets in their own windows and there's no problem.
Here's the size by default (the scrollbar is already there even though the widget fits in width):

Here's the size when i increase the main window size:


Jackcast service doesn't autostart

built on a raspberry Pi 3b running Ubuntu Server (LTE 32bit) v20.04 and runs perfectly IF (and only IF) I ssh login to a terminal as user=ubuntu, then the jackcast service starts.  Otherwise no start.  If I close the terminal session  Ubuntu server 20.4It all works perfectly. If I log out of the terminal session the service continues to run.  After reading through several issues and email with Wil then I built using the instruction list below.
wget https://raw.githubusercontent.com/wil3/jackcast/master/platforms/ubuntu/install.sh .
chmod +x install.sh
sudo bash install.sh
sudo rm -rf /srv/www/jackcast
sudo mkdir -p /srv/www
cd /srv/www
sudo git clone https://github.com/wil3/jackcast.git
sudo chown -R ubuntu:ubuntu jackcast
cd jackcast
sudo apt-get install python3-venv -y
python3 -m venv env
source env/bin/activate
pip3 install wheel
pip3 install .
sudo rm /etc/nginx/sites-enabled/default
sudo cp /srv/www/jackcast/platforms/ubuntu/etc/nginx/sites-available/jackcast /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/jackcast /etc/nginx/sites-enabled
sudo cp /srv/www/jackcast/platforms/ubuntu/etc/systemd/user/jackcast.service /etc/systemd/user/
sudo reboot
.................... (re)login
systemctl --user start jackcast
systemctl --user enable jackcast
.................... close terminal session and jackcast continues to run.
After a power cycle I need to login as 'ubuntu' before the service will restart.
Content of 'jackcast.service' is:
[Unit]
Description=uWSGI instance to serve Jackcast
After=network.target
After=pulseaudio.service
Requires=pulseaudio.service
[Service]
WorkingDirectory=/srv/www/jackcast
Environment="PATH=/srv/www/jackcast/env/bin:/usr/bin"
Environment=PYTHONUNBUFFERED=TRUE
ExecStart=/srv/www/jackcast/env/bin/gunicorn wsgi:app -c /srv/www/jackcast/platforms/ubuntu/gunicorn.conf.py
[Install]
WantedBy=default.target
.............................
permissions on /etc/systemd/user/jackcast.service  are:
-rw-r--r-- 1 root root  495 Nov  6 15:12 jackcast.service
Can anyone offer a "cure" ? / or spot where I went wrong ?

Can you provide the output of,
ls /var/lib/systemd/linger

ubuntu@jackcast:~$ ls /var/lib/systemd/linger
root

I've never worked with a service in the /etc/systemd/user/ folder before .....

You need to configure the user running the jackcast service to start at boot. Its in the install script, maybe you cloned the repo before the change? This is how you do it, https://github.com/wil3/jackcast/blob/master/platforms/ubuntu/install.sh#L46-L50
Afterwards the user should appear in ls /var/lib/systemd/linger


Add Contributing section to Readme

Adding a contribution section to README.md to make it easier for others to get started contributing to the codemods.
A section liked this would have helped me get around the initial problems that I mentioned in #114
I figured since there was little to say about contributing that it could be added straight to the README.md. If this section grows, it may be prudent to move it to a CONTRIBUTING.md file.

👋  I think I'd prefer to move this into the CONTRIBUTING.md directly 🙏


feat: adds tx result to network substates

Description
Adds a TransactionReceipt as a substate to the network, for every successfully finalized transaction. The structure is as follows:
pub struct TransactionReceipt {
  pub transaction_hash: Hash,
  pub events: Vec<Event>,
  pub logs: Vec<LogEntry>,
  pub fee_receipt: FeeReceipt,
}

On every transaction submission, after the transaction has been accepted by the network, each involved substate is stored in the network ledger. Additionally, we are now storing an additional substate, which contains metadata about the transaction.
Notice that, at the moment, we decided to leave the involved SubstateDiff from the definition of TransactionReceipt as it would involve recursive calls on substates to be persisted, on the tracker storage.
Motivation and Context
The current goal is to index events from substates of the network.
How Has This Been Tested?
Checked count of substates in tests.
What process can a PR reviewer use to test or verify this change?
Breaking Changes

[x] None
[ ] Requires data directory to be deleted
[ ] Other - Please specify

tested locally, works with one committee, but seems to fail with 2. could be unrelated


Update base context vcl

@mrtuvn I'll happily accept a PR that updates the /graphql to only forcibly exclude authorized requests (i.e. with a bearer specified) from the cache rather than all of them (which is what the M2 template VCL used to do), but given this is for local development the usefulness of having a health check probe and the grace mode is minimal at best. The headers that Magento removes from requests also should be maintained.
If you want to open a new PR to update just the /graphql logic, go for it. In the meantime, i'm going to go ahead and close this as the bulk of this PR is not something I plan to have baked into the default varnish image. You're more than welcome to mount a custom VCL into the container for use on your project, or use your own custom varnish image however.

@mrtuvn Quick update here: The varnish images now include the update to pass auth'd /graphql requests per latest 2.3 sample VCL along with a couple other minor changes in 3876fee99.


Add support for recurring tasks

@dmfs commented on Wed Jun 19 2013
The task provider needs support for recurring tasks. That is, the instances of a task with RRULE or RDATE values have to be expanded and stored in the instances table.
If a task has neither a DTSTART nor a DUE value no instances get expanded.
A second table should contain the completed and the upcoming incomplete instance of a series of tasks. This table doesn't exist yet and needs to be created.
There already is a library to evaluate any RRULE values: https://github.com/dmfs/lib-recur

@dmfs commented on Wed Nov 12 2014
Moved to 1.2

@Lykos153 commented on Sun Sep 13 2015
Is there an ETA for this feature?

@dmfs commented on Mon Sep 14 2015
Sorry, no ETA. We're working on that, but at present we're quite busy with paid work.
The goal is to finish it before the end of this year.

@languitar commented on Sat Nov 28 2015
I'm also interested in this.

@jpthorn01 commented on Sun Nov 13 2016
Do you guys need help implementing this? This would be a great feature to add.

Hello, any news on this?

This is now tracked under #462


Fix token field data race

This PR solves these issues:

Do() can be called concurrently from multiple goroutines. If that happens with basic auth then the method both reads and writes the token field concurrently without synchronization. It's a data race.
When token expires, multiple concurrent Do() invocations can start refreshing it. This is unnecessary. More IO/cpu resources used both client and server side. Chances to run into rate limiting because oAuth2 client is not using the same rate limiter.
It moves the request to acquire the initial token from the client construction function into Do() to ensure client construction does not depend on network/remote server availability. As discussed in my other PR, it's nicer for users when client construction is deterministic. This also consolidates all locking into a single method which makes it easier to understand IMO.

Rebased to fix the merge conflict.

I'm sorry, but the updated fix does not fix the bug. Only writes are guarded by the mutex now, not all accesses. From https://golang.org/doc/articles/race_detector.html:

A data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write.

This is exactly what is happening - multiple writes cannot happen concurrently (because they are ordered by the mutex) but reads are not ordered with each other or writes so one or more read can happen concurrently with a write.

While I don't really see the danger in reading an outdated token value in this particular use case, you are right that this doesn't protect against it properly yet. So I added a few extra lines here: https://github.com/xanzy/go-gitlab/commit/c080e7aa2ebb3c8ae708ae86f9a57b533bfb4b34
The main difference is using a RWLock to not fully block in the common case where a call only needs to get the current token. To make sure the initial case is also handled properly I always send a hard coded "" as the token while no token was set yet. This makes it function more or less like a once.Do call.
So with this I think it should guard for reads as well and should fully protect against any kind of race conditions right? Thanks!

While I don't really see the danger in reading an outdated token value in this particular use case,

I think this page from Dmitry Vyukov explains it very nicely https://software.intel.com/content/www/us/en/develop/blogs/benign-data-races-what-could-possibly-go-wrong.html Just say "No" to data races :)

The main difference is using a RWLock to not fully block in the common case where a call only needs to get the current token. To make sure the initial case is also handled properly I always send a hard coded "" as the token while no token was set yet. This makes it function more or less like a once.Do call.

This line still reads the token without a lock. https://github.com/xanzy/go-gitlab/blob/master/gitlab.go#L624
I'm wondering what was wrong with my patch?

I think this page from Dmitry Vyukov explains it very nicely https://software.intel.com/content/www/us/en/develop/blogs/benign-data-races-what-could-possibly-go-wrong.html Just say "No" to data races :)

OK, fair enough...

This line still reads the token without a lock. https://github.com/xanzy/go-gitlab/blob/master/gitlab.go#L624

I know, but since we don't actually care what value is set here only if a value was set I can't really see how this could cause any harm. But in light of "just say no to data races", I'll update the code a bit more to fix this one as well 😏

I'm wondering what was wrong with my patch?

Nothing really, but I didn't really like having the two inline functions inside the Do method and the full lock on each and every call API call.
I just made another small update (https://github.com/xanzy/go-gitlab/commit/5207be848ffd9342e72ad9f97e5afa7b6b9acc7a) with now guards around all reads and writes and is actually pretty much inline with you earlier solution. Just without having the inline functions and with a RWLock.
Thanks for sticking with me and keep giving feedback 👍

Thanks for sticking with me and keep giving feedback 👍

I hope I'm not annoying you too much :) Just trying to help to improve the library because I care.

But in light of "just say no to data races", I'll update the code a bit more to fix this one as well 😏

Apart from just being correct this is also cool because if someone runs a unit test with this library and the race detector turned on they will not get warnings coming from the library code. 👍

Nothing really, but I didn't really like having the two inline functions inside the Do method and the full lock on each and every call API call.

Fair enough, it didn't look pretty. However performance-wise the code was just doing a lock, read, compare, unlock almost always ("token is set" case). I'm pretty sure this method is I/O bound 100% of time, so I wouldn't worry about locking performance at all. We should not use atomic.Value here because a concurrent request may then send a non-empty token that has expired already which we may be refreshing in the current request. We do want this mutex to block in this case to prevent sending a request with an expired token.
The code may look better if those two inline functions are promoted to methods with descriptive names like getNonEmptyToken() for the first one and maybeRefreshToken() for the second. What do you think?
Looking at https://github.com/xanzy/go-gitlab/commit/5207be848ffd9342e72ad9f97e5afa7b6b9acc7a I see that Do() can call authenticateAndDo() which calls Do() holding the lock. This is problematic for two reasons:

Holding an exclusive lock means no concurrency is possible at all, even the RLock() will block.
Mutexes in Go are not re-entrant so this code simply does not work. This illustrates the problem - it panics because of the deadlock (no runnable goroutines) https://play.golang.org/p/b8VARwNjKtL

I hope I'm not annoying you too much :)

Nope, you aren't I'm mostly getting frustrated with myself trying to fix this too quickly in between other stuff causing me to miss such obvious issues as you just pointed out.
I'll have another (less quick 😏) look and will make a proper PR this time (which I normally always do, but didn't make time for this time).

OK, found a bit of time to review it and reverted it to a solution I had earlier today (just before I thought to make it a bit cleaner by putting the next call to Do in a separate method 🙈 #862
Think this solves it, but would appreciate a double check to make sure. Thanks...

Thanks again for your feedback @ash2k! Much appreciated!


make dto command only ask new property for once

When execute make:hsl:dto command, it will ask user to input new property name but it only ask once.

fixed.