[FEAT] Bind DVB adapter by MAC address, instead of adapterN & device name

Is your feature request related to a problem?

Currently, tsduck only accept DVB adapter values based on adapter number from /dev/dvb/adapterN & device name based on OS.
Not feasible for multiple DVB adapters, especially running the same models.
If there is restart/reset of OS, then adapterN would be randomized based on "first come first serve"
tslsdvb
0: /dev/dvb/adapter0 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
1: /dev/dvb/adapter0:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)
2: /dev/dvb/adapter1 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
3: /dev/dvb/adapter1:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)
4: /dev/dvb/adapter2 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
5: /dev/dvb/adapter2:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)
6: /dev/dvb/adapter3 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
7: /dev/dvb/adapter3:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)
8: /dev/dvb/adapter4 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
9: /dev/dvb/adapter4:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)
10: /dev/dvb/adapter5 ("TurboSight TBS 5520SE DVB-T/T2/C/C2/ISDB-T, TBS-Tech TBS 5521 2.00", DVB-T, DVB-T2, ISDB-T, DVB-C, 2)
11: /dev/dvb/adapter5:1:1:1 ("TurboSight TBS 5520SE DVB-S/S2/S2X, TBS-Tech TBS 5521 2.00", DVB-S, DVB-S2, DSS)

Proposed solution:

DVB Adapters (mostly TBS cards), have unique MAC address attached to them, and dvb-usb is able to identify them.
[   13.317656] dvb-usb: TurboSight TBS 5520SE successfully initialized and connected.
[   13.317719] dvb-usb: found a 'TurboSight TBS 5520SE' in cold state, will try to load a firmware
[   13.317721] dvb-usb: downloading firmware from file 'dvb-usb-id5520se.fw'
[   13.474664] dvb-usb: found a 'TurboSight TBS 5520SE' in warm state.
[   13.474812] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   13.705094] dvb-usb: MAC address: 00:22:ab:c0:63:5e

[   13.754171] dvb-usb: TurboSight TBS 5520SE successfully initialized and connected.
[   13.754191] dvb-usb: found a 'TurboSight TBS 5520SE' in cold state, will try to load a firmware
[   13.754193] dvb-usb: downloading firmware from file 'dvb-usb-id5520se.fw'
[   13.910685] dvb-usb: found a 'TurboSight TBS 5520SE' in warm state.
[   13.910831] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   14.139594] dvb-usb: MAC address: 00:22:ab:c0:62:a3
[   14.204795] dvb-usb: TurboSight TBS 5520SE successfully initialized and connected.

Looking forward for the additional feature to bind adapters by --mac 00:22:ab:c0:62:a3
Alternatives:

Additional information:

Hi @morpig
DVB adapters usually have no MAC address. A MAC address is used in network adapters because each network adapter needs to be addressed from outside. DVB adapters are broadcast receivers and do not need any MAC address.
You see a MAC address in the dmesg output. This means that the driver for this device finds some device-specific MAC address. But this is just very specific to this TBS device. I haven't seen this on any other DVB device (at least the ones I used). This is not a standard property of DVB devices and cannot be used in TSDuck.
You may try to automate the detection of the appropriate device using a script, then determine the corresponding /dev/dvb/adapterX and use it in the tsp command. You may have a look at the description of the device in /sys/devices. Start with:
find /sys/devices/ -path '*/dvb*.frontend*/device'

These are symbolic links to directories which contain the device characteristics. In practice, the pseudo-files here are not all standard. The driver may place device-specific information here. In the case of the TBS driver, you may find here the MAC or pseudo-MAC address.
In all cases, this information is not standard, device-specific or driver-specific,  and hard to integrate into TSDuck. However, in your specific case, knowing your devices, you may write a script to locate each device.

Thanks for the response!
Yes I do understand that MAC address is used for network adapters, this is also a first for me to see DVB adapters using MAC address. I used MyGica DVB devices before, and it does not have any MAC address attached to it.
I found out that MAC address does indeed being supported by the dvb-usb in main kernel, and being used by other manufacturers too other than TBS (Hauppauge, DVBSky, etc)
Looking at /sys/devices, it's useless too.
find /sys/devices/ -path '*/dvb*.frontend*/device'
/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-3/dvb/dvb1.frontend1/device
/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-3/dvb/dvb1.frontend0/device
/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/dvb/dvb3.frontend1/device
/sys/devices/pci0000:00/0000:00:01.2/0000:01:00.0/usb1/1-4/dvb/dvb3.frontend0/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-4/dvb/dvb5.frontend0/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-4/dvb/dvb5.frontend1/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-2/dvb/dvb2.frontend0/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-2/dvb/dvb2.frontend1/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-3/dvb/dvb4.frontend0/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-3/dvb/dvb4.frontend1/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-1/dvb/dvb0.frontend0/device
/sys/devices/pci0000:00/0000:00:08.1/0000:08:00.3/usb3/3-1/dvb/dvb0.frontend1/device

The software (that I know) that can bind DVB adapters based on MAC address is Astra Cesbo, but I prefer using open source software instead of proprietary licenses.

If you have any ideas on how to bind (OS side) based on mac address to /dev/dvb/adapterX, please let me know..

Looking at /sys/devices, it's useless too.

On the contrary. Each line is a symbolic link to a directory. The content of the directory (and subdirectories) is a set of pseudo files. The list of files depends on the driver. Some are standard (idVendor, idProduct), some are optional such as serial. The latter is where the serial number is read from. Please explore those pseudo files in your case and try to find one containing the MAC address. This will be a non-standard file but at least you may get a place where to look for a known MAC address.
For instance, assuming that the directory contains a pseudo file named mac containing the MAC address in the form nn:nn:nn:nn:nn:nn, the following command should build the TSDuck device name from a known MAC address NN:NN:NN:NN:NN:NN:
DEV=$(grep -l /sys/devices/*/*/*/usb*/*/dvb/dvb*.frontend*/device/mac NN:NN:NN:NN:NN:NN | sed 's|^.*/dvb\([0-9]*\)\.frontend\([0-9]*\)/.*$|/dev/dvb/adapter\1:\2:\2:\2|')
tsp -I dvb -d "$DEV" ...

Please test it and adapt it if necessary. I just typed the command here without test, it may contain typos.

Yeah it's too complicated rather than grabbing adapterN/device name.
In short, I was told that DVB adapters (who have MAC address attached to it) will act as a network adapter:
/dev/dvb/adapter0# ls
demux0  dvr0  frontend0  frontend1  net0

you will need to open net0, and grab the MAC address similar to a network device.
if anyone is interested on how to grab DVB mac address: https://gitlab.com/berdyansk/astra-sm/blob/ea54f582bc0b5e15708e0685b91050d40803ffc5/modules/dvb/dvbls.c
going to close for now, @lelegard thx for your help!


chore: add one more static type checker for JavaScript.

Hey @JSMonk,
the tool looks great and I'm looking forward to adding it.
Could you add it to data/data.yml instead? We recently changed the format to be machine-readable. More info in the contributing guidelines.
Thanks! 😊

Thanks! Fixed a typo and I hope it's fine now. BTW, I can't reach the homepage at the moment.
Get redirected to http://hegel.js.org, which can't be opened in Firefox/Chrome on my side.
Maybe it has something to do with this change? https://github.com/JSMonk/hegel/commit/37159e9e0bfa3651055fae55dd860521a3ac113a

@mre, currently we changed the location of the webpage and waiting for the js.org adding our project as subdomain :)

Ah alright. Merging :)


Bug: Enum generation produces MethodFlags.tatic instaead of MethodFlags.static

I got curious about this one and took a look. It turns out that the prefix removal is causing this, because the prefix here is "MethodFlags" and the case is "methodFlagStatic".
This enum (MethodFlags) is a big inconsistently named on the Godot side. At the moment the default case is prefixed with METHOD_FLAGS (plural) while the rest aren't. I would argue that either the name should be singular, and default case changed to match, or the name should stay plural and the other cases should match that.
METHOD_FLAG_NORMAL
METHOD_FLAG_EDITOR
METHOD_FLAG_CONST
METHOD_FLAG_VIRTUAL
METHOD_FLAG_VARARG
METHOD_FLAG_STATIC
METHOD_FLAG_OBJECT_CORE
METHOD_FLAGS_DEFAULT

To resolve our bug here, we could:

Just special case this one string.
Apply the prefix removal before snake casing, so we don't pull in the first letter of "static"
Try to land an upstream change in Godot itself to update these to be consistent.

I'm happy to do the PR in any case, but thought I'd see if there are any preferences on the approach (or alternatives that I haven't considered)

~3. Try to land an upstream change in Godot itself to update these to be consistent.~
I asked here https://github.com/godotengine/godot/issues/82612 but there's no appetite since it would be a compatibility breaking change.


*: expand environment variables in config

Allow users to define config values which are read form environemnt
variables. Helpful for sensitive variables such as OAuth2 client IDs
or LDAP credentials.

LGTM


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/844 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target.git

Docs Build status updates of commit 2951101:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_master_2021-05-26-22-45-36 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
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.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


fix: ues Mono.error instead of throw exception

@timyates I have captured the EmailException while composing and answered with Mono.error if that happens.


[5.6] Non faked events should be properly dispatched

Currently the EventFake can receive an array of events which should be faked. If you specify exactly which events should be faked, I'd expect that all other events should be properly dispatched and their listeners executed. That's currently not the case  as the EventFake listen and subscribe methods do nothing.
I stumbled upon this problem when I was writing some tests:
Event::fake([FoobarEvent::class]);

$user = factory(User::class)->create();

// rest of the test

In this case I have an observer on the User model which creates a "slug" for the model. So when doing User::observe([UserObserver::class]); this gets called
static::$dispatcher->listen("eloquent.{$event}: {$name}", $callback);

As the dispatcher is now the EventFake instance and the listen method in it does nothing my observer listeners weren't registered. This resulted in a
Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1364 Field 'slug' doesn't have a default value
exception when the above test was run which I totally didn't expect since I explicitly told the faker that I want only FoobarEvent to be faked.
I fixed this to behave as expected and I also added a test for it.

Looking at this for a quick 5.6.34 release post on Laravel News, I noticed this message in the documentation which is no longer accurate:

If I have a moment I'll try to update the docs.

Hmm, never mind, I missed that if you call Event::fake() without passing anything it will still fake all events.
It feels a little more nuanced when passing an array of events to fake, which changes the behavior described so perhaps the documentation can clarify a little better now that the Event::fake() behaves differently in some cases.

@paulredmond When doing Event::fake() all events get faked which means that no listeners get executed which means that the documentation that you posted above is still correct.
If you take a look at the EventFake dispatch method you'll see
if ($this->shouldFakeEvent($name, $payload)) {
            $this->events[$name][] = func_get_args();
        } else {
            $this->dispatcher->dispatch($event, $payload, $halt);
 }

So when doing Event::fake() without providing any event to it all listeners are still gonna be faked since the event won't be dispatched. If you call Event::fake(FoobarEvent::class) then FoobarEvent is going to be the only event that is gonna be faked and all other event listeners will be executed normally.

@X-Coder264 thanks, that makes sense now 😆

Maybe a fakeAll() method to be explicit that everything is faked, or fakeAllExcept([])?

@slakbal I doubt Taylor would fancy that, considering there's a couple other facades using ::fake() consistently. Also, fakeAllExcept() (with no arguments) would look bad IMHO.

Docs should be updated after this merge right ?


[DR-1258] Fix bug with translations in billing currency

Overview
Add translations to currency.
Changes

Modify billing view.

👍

English:

Spanish:

On this ticket also https://www.screencast.com/t/SdvHKBWQ2 exists this problem, do you fix in other PR?

Yeah, i'll add it here also and update the Jira ticket.

👍

English:

Spanish:

Great! thanks @mvillaseco, good catch @nreal!


Refactoring background task code to common

Now server and executor components use the shared BackgroundTaskManager for managing their background tasks
This is better code reuse and makes sure improvements are shared between these components

Fixes #320


Add Release Automation workflows

Description
Work in Progress!!! DO NOT REVIEW!
Other changes
No minor changes.
Tested
This will be replacing the manual release process. It will be tested thoroughly to ensure same input equals same output. This will be replaced once testing has been done to explain how it was tested.
How others should test
Please verify the results and report any discrepancies to @noisypigeon.
Related issues

Consolidates #957.
Implements #958.
Implements #959.
Implements #960.

Backwards compatibility
The Release Process document will be rewritten to work along side this automated process. It will still be possible to do releases manually but it would be preferred to reach out to @noisypigeon and debug any issues that arise.

There's a GitHub Actions outage right now so that's where I'm going to stop for today.


Improve the typing of ClientSettings

In which branch or foundry version does the problem occur?
main
Describe the wrong type
The types for register are currently not correct. The connection between the type property and the returned and the stored type are not correct. Also, some of the types that are currently handled (such as bigint and symbol) straight up don't work and cause errors.
Expected behavior
This should probably be simplified, so that we only allow the basic types boolean, number, string, Array<T>, ReadonlyArray<T>, T extends Record<string, unknown>, as these have clear correspondences to the type property (Boolean, Number, String, Array, Object). In theory, custom class constructors also work here, but not sure if that is even intended or if we should support it (it becomes weird because in set, you actually need to provide the value that's stringifiable, and that's the thing you get in onChange, not the instantiated class...).
Additional context
https://discord.com/channels/170995199584108546/811676497965613117/943281494741352498

As of v10, Data Fields and Data Models are both valid options for types.


Feature/docker

attn: @Faedrivin
leverage docker-native as opposed to docker-machine/virtual-box
note: still working on 'wasabi.sh package'

Coverage remained the same at 62.911% when pulling 580aa329c3251510a62d22ff24a1784a3538306f on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Apart from the comments in the code:
./bin/wasabi.sh bootstrap build start test stop remove worked very good.
./bin/wasabi.sh resource:ui failed (notes see inline)
./bin/wasabi.sh resource:doc failed (maybe we need build there)
./bin/wasabi.sh resource:api worked
I haven't tried package as we said we will issue that later.
Individual starts and stops work fine.
Haven't tried release.
Did not yet try the verify/endpoint/sleep parameters - will wait for your changes.

Also there are still multiple hardcoded localhost's which are not using ${endpoint}, I just realized (e.g. bin/wasabi.sh:157, bin/wasabi.sh:161 jip, bin/wasabi.sh:174, (in package bin/wasabi.sh:216)).

Coverage remained the same at 62.911% when pulling c92b1e95a78c0ddc32c7f3fdc2d118d77bc0fd65 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Coverage remained the same at 62.911% when pulling c92b1e95a78c0ddc32c7f3fdc2d118d77bc0fd65 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Coverage remained the same at 62.911% when pulling 9a6cd777e4fabddea65589d7a29473d3792fd9b0 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Coverage remained the same at 62.911% when pulling f4590b53dbea8f513fe7ecf673a782acc6613980 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

To test this I am running:
mvn clean && ./bin/wasabi.sh bootstrap build start test stop package remove
as well as
mvn clean && ./bin/wasabi.sh build start && ./bin/wasabi.sh resource:[...] with [...] being api, ui, doc, mysql, cassandra.
I also tried ./bin/wasabi.sh start:... and stop:....
It worked all fine (start: cassandra and mysql had non-zero return codes although they worked - start:wasabi failed without cassandra and mysql without a non-zero return code which is good).
When chaining multiple commands docker sometimes crashes between build and start. We can still merge it as this doesn't seem to be a breaking issue, more likely a docker issue.
This should also solve #57 (via ./bin/wasabi.sh bootstrap build package).
Maybe one more person can check this before we merge? @longdogz can you check these scripts versus what you have been copying around?
I give it a :ship:.
Some testlines to try at home:
mvn clean && ./bin/wasabi.sh bootstrap build start test stop package remove
mvn clean && ./bin/wasabi.sh build start
./bin/wasabi.sh resource:ui
./bin/wasabi.sh resource:doc
./bin/wasabi.sh resource:api
echo exit | ./bin/wasabi.sh resource:cqlsh
echo exit | ./bin/wasabi.sh resource:mysql
./bin/wasabi.sh status # everything up and running
./bin/wasabi.sh stop:mysql
curl http://localhost:8080/api/v1/ping # reports mysql not healthy
./bin/wasabi.sh stop:wasabi
./bin/wasabi.sh status # only cassandra running
./bin/wasabi.sh stop
./bin/wasabi.sh start:wasabi # should fail
./bin/wasabi.sh start:mysql
./bin/wasabi.sh status # only mysql running
./bin/wasabi.sh start
curl http://localhost:8080/api/v1/ping # everything healthy
./bin/wasabi.sh stop

Coverage remained the same at 62.911% when pulling 65187fc6c09133201b3f4781927cc1f83bbf974d on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Coverage remained the same at 62.911% when pulling 65187fc6c09133201b3f4781927cc1f83bbf974d on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

ok @Faedrivin @longdogz ... this one is ready to test/validate again.

Coverage remained the same at 62.911% when pulling a649f5b1531409cdafc5d0f780ec9b468951b6b7 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

Coverage remained the same at 62.911% when pulling 37bb6b05c3f6777157eda2b51d96eba907997b42 on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.

:shipit:

Coverage remained the same at 62.911% when pulling 60e01749e4d9f9f4562416a08719fc0cc93e700f on feature/docker into d52de577f0aa6c26727eba4e72e66969adc762fb on develop.


Bug #1915 - Remove AddMvc overload with default parameter.

Linking #1915

:watch:

Updated.. Please have a look..

:shipit: from me

Checked in. Thanks! https://github.com/aspnet/Mvc/commit/accf0c76f0bbcca71a1b2faa3532f021a29532fe


Go1.8 is now available via cloudsdk and legacy

Also added a brief instruction on how to use the 1.8 beta.

LGTM


Error calculating dimensions in SimpleDialog

Steps to Reproduce

Create a  SimpleDialog being shown in the showDialog call.
In the title add a row with an expanded widget which holds the AutoSizeText widget

Code sample
Container(
            color: Colors.black12,
            child: Row(
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget>[
                Expanded(
                  child: Padding(
                    padding:
                        const EdgeInsets.only(left: 10, top: 10, bottom: 5),
                    child: AutoSizeText(
                       "Big long huge title here to shrink",
                      style: Theme.of(context).textTheme.title,
                      minFontSize: 14,
                      maxLines: 1,
                    ),
                  ),
                ),
                IconButton(
                  alignment: Alignment.topRight,
                  icon: Icon(Icons.close),
                  onPressed: () => Navigator.of(context).pop(),
                )
              ],
            ),
          ),

Screenshots
If applicable, add screenshots to help explain your problem.
Version

Flutter version: [1.5.4]
auto_size_text version: [2.0.1]

I will look into this as soon as possible...

Same error here, I cannot use AutoSizeText widget inside dialogs

@lucadelc I still haven't had time to look into this :/

Nothing yet?

Sorry, I have exams currently. After that I'll start working on the project again.
If you are in a hurry, maybe you can look into the problem yourself. If you find a solution, please create a pull request :+1:

No problem mate, take your time, btw I'm a flutter developer but i don't know how to create a plugin at all 😂

@lucadelc : you don't need to know how to create a plugin. Fot a quick test: change you local copy of AutoSizeText components and if you succeeded, you can point out your fix here :blush:

@warriorCoder Your code works fine for me. But you have to wrap it in a SizedBox because the dialog itself does not restrict its children.

From the AlertDialog docs:

(However, be aware that since [AlertDialog] tries to size itself using the intrinsic dimensions of its children, widgets such as [ListView], [GridView], and [CustomScrollView], which use lazy viewports, will not work. If this is a problem, consider using [Dialog] directly.)


Revamping "Highlighted Papers" section

As noted in #47 the list of papers in the old manual under "Previous Applications of MITgcm" is quite lengthy, despite not listing any papers published since 2003.
It would be good to include a list of influential papers that have used MITgcm, possibly with a sentence about the paper and why it is important.

At some point, we made a list of key papers to guide users on which papers to cite depending on which capabilities were used (i.e. isomorphism --> Adcroft et al. 20xx). This might still be useful too.


Parallel compile action

Using jobs' ability to run things in parallel may give us a speedup over sequential.

Closes #41


How do we make sure our Baseline definition is tested with devs instead of endless bikeshedding?

This was one of the issues we prioritized during our workshop on Baseline on June 16.

Discussed during the 27 July baseline meeting

Closing the issue as addressed. The group converged on a Baseline definition end of last year, deployed on MDN and Can I Use. The group is actively collecting feedback from devs, both through report forms present in Baseline banners and discussions with libraries maintainers, and expects to refine the definition (at least once per year) based on feedback received.


fix: cherry pick v9.0.8 hotfix (fix Bitcoin amount verification)

Description
zetaclient treat 0-value unspent UTXO as invalid while bitcoin actually allows creating and sending 0-value UTXO to receiver (TSS). Zetaclient had several 0-value unspent UTXOs in its possession and was not able to spend them due to the wrong logic is wrong in getSatoshis function.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Include instructions and any relevant details so others can reproduce.

[x] Tested CCTX in localnet
[ ] Tested in development environment
[ ] Go unit tests
[ ] Go integration tests
[ ] Tested via GitHub Actions

Checklist:

[ ] I have added unit tests that prove my fix feature works

Just a small note: I think it would be better for documentation purposes to use the explicit name of the change instead of cherry pick v9.0.8 hotfix
Like: fix Bitcoin amount verification

Just a small note: I think it would be better for documentation purposes to use the explicit name of the change instead of cherry pick v9.0.8 hotfix Like: fix Bitcoin amount verification

Changed the title of the PR


PR build rarely fails with bash: /sandcastle/script.sh: No such file or directory

These are the relevant logs (we don't have a sentry event for this):
[2019-11-20 13:44:40,632: INFO/ForkPoolWorker-1] GitHub PR#51 comment event. Action: created.
[2019-11-20 13:44:40,632: INFO/ForkPoolWorker-1] Target repo: psss/tmt.
[2019-11-20 13:44:41,043: INFO/MainProcess] Received task: task.steve_jobs.process_message[eef6e609-4d3a-455f-8cfe-75e30a51f2d4]
[2019-11-20 13:44:42,023: INFO/ForkPoolWorker-1] Task task.steve_jobs.process_message[8e609a48-d97a-4fbc-8278-489b4fb0ae10] succeeded in 1.3907240591943264s: {'jobs': {'pull
_request_action': {'success': True, 'details': {...}}}, 'event': {'trigger': 'comment', 'created_at':<PHONE_NUMBER>, 'project_url': 'https://github.com/psss/tmt', 'action': 'cr
eated', 'pr_id': 51, 'base_repo_namespace': 'psss', 'base_repo_name': 'tmt', 'base_ref': None, 'commit_sha': '', 'target_repo': 'psss/tmt', 'github_login': 'packit-as-a-serv
ice[bot]', 'comment': 'There was an error while creating a SRPM. You can re-trigger copr build by adding a comment (`/packit copr-build`) into this pull request.

Output:
\`\`\`
bash: /sandcastle/script.sh: No such file or directory

\`\`\`
Return code: 127'}}

I have zero clue on what's wrong since the logs are so sparse. Race condition?
We should probably start gathering SRPM creation failures in sentry.

AI: if SRPM fails to be created, send it as an event to sentry

Not sure if this is related.

neat, we have logs finally!
Exception while initiating WS Client: (0)
Reason: [Errno 113] No route to host

-_-


missing in documents

i think in installation document something is missing
does need update packages.json dependecies ?
because when i run npm run cms-build throws to error
Emitted 'error' event at:
    at writeAfterEnd (_stream_writable.js:245:10)
    at PassThrough.Writable.write (_stream_writable.js:291:5)
    [... lines matching original stack trace ...]
    at Unzip.write (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib/index.js:284:29)
events.js:167     ░⸩ ⠙ extractTree: sill extractTree<EMAIL_ADDRESS>-> /Users/davood/Desktop/twill/vendor/area17/twill/node_modules/next-tick
      throw er; // Unhandled 'error' event
      ^

Error [ERR_STREAM_WRITE_AFTER_END]: write after end
    at writeAfterEnd (_stream_writable.js:243:12)
    at PassThrough.Writable.write (_stream_writable.js:291:5)
    at PassThrough.Writable.end (_stream_writable.js:579:10)
    at ReadEntry.entry.on (/usr/local/lib/node_modules/npm/node_modules/libcipm/node_modules/pacote/lib/extract-stream.js:19:41)
    at ReadEntry.emit (events.js:187:15)
    at ReadEntry.emit (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:301:25)
    at ReadEntry.[maybeEmitEnd] (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:252:12)
    at ReadEntry.end (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:165:27)
    at Unpack.[consumeBody] (/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js:210:13)
    at Unpack.[consumeChunkSub] (/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js:391:40)
    at Unpack.[consumeChunk] (/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js:362:30)
    at Unzip.(anonymous function).on.chunk (/usr/local/lib/node_modules/npm/node_modules/tar/lib/parse.js:291:59)
    at Unzip.emit (events.js:182:13)
    at Unzip.emit (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:301:25)
    at Unzip.write (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minipass/index.js:102:17)
    at Unzip.write (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib/index.js:284:29)
Emitted 'error' event at:
    at writeAfterEnd (_stream_writable.js:245:10)
    at PassThrough.Writable.write (_stream_writable.js:291:5)
    [... lines matching original stack trace ...]
    at Unzip.write (/usr/local/lib/node_modules/npm/node_modules/tar/node_modules/minizlib/index.js:284:29)
npm ERR! cancel after 1 retries!

npm ERR!       Exit status 1
npm ERR!
npm ERR! Failed at the @ cms-build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/davood/.npm/_logs/2018-07-08T14_20_16_698Z-debug.log

Hi Davood! Thanks for reporting your issue. Which version of NPM are you running?
As noted in #2, we're going to update our documentation with a more detailed requirements section this week.
The npm run cms-build command is actually running npm ci for you behind the scene to install the dependencies used by Twill's frontend.
The npm ci command is a relatively new one (available since NPM 5.7.0) that replace the npm install command to bypasses a package’s package.json to install modules from a package’s lockfile. This ensures reproducible builds.

@ifox thanks for your answer
➜  twill npm doctor
Check                               Value                        Recommendation
npm ping                            OK
npm -v                              v6.1.0
node -v                             v10.5.0
npm config get registry             https://registry.npmjs.org/
which git                           /usr/bin/git
Perms check on cached files         ok
Perms check on global node_modules  ok
Perms check on local node_modules   ok
Verify cache contents               verified 5816 tarballs

Interesting. I'm going to have to investigate this one as this is the first time I see your error with a recent version of Node/NPM.
Can you try to run the following in your project and let me know if you're still getting the same error:
rm -rf vendor/area17/twill/node_modules
rm -rf vendor/area17/twill/public
npm run cms-build

Thanks @DJafari!

sorry, i create new project with laravel and install twill, it will ok now, but how ? i dont know :))

Cool @DJafari. Oh well, NPM, you never know what to expect! Thankfully we have the ci command now, that's better than what it used to be.
Closing this one, feel free to open a new one once you hit another blocker!

I can confirm that I had this problem when I was running an older version of NPM:
Check                               Value                        Recommendation
npm ping                            OK
npm -v                              v5.3.0                       Use npm v6.1.0
node -v                             v8.5.0                       Use node v8.11.3
npm config get registry             https://registry.npmjs.org/
which git                           /usr/local/bin/git
Perms check on cached files         ok
Perms check on global node_modules  ok
Perms check on local node_modules   ok
Verify cache contents               verified 4950 tarballs

Now with NPM 6.1.0, this no longer seems to happen. The npm ci command did not exist in my version of NPM.


Dispatch/return function not running on Windows

What OS are you using (uname -a, or Windows version)?

Windows 11 22H2 V 22621.2134
Edge version 115.0.1901.203
What programming language are you using (C/C++/Go/Rust)?
minGW C
gcc --version
gcc.exe (MinGW-W64 x86_64-ucrt-mcf-seh, built by Brecht Sanders) 13.2.0
What did you expect to see and what you saw instead?
When running any function which calls dispatch, the dispatched function is never called.
I tried following this in the debugger, it will get to the point of calling PostThreadMessage in webview.h, but never to the dispatched function.
A minimal C reproduction:
#include "webview.h"
#include <stddef.h>

#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>

#ifdef _WIN32
#include <windows.h>
#endif

void myFunc(const char *seq, const char *req, void *arg) {
	webview_t w = *(webview_t *) arg;
	printf("Params: %s\n", req);
	webview_return(w, seq, 0, "Successful return");
}

#ifdef _WIN32
int WINAPI WinMain(HINSTANCE hInt, HINSTANCE hPrevInst, LPSTR lpCmdLine,
                   int nCmdShow) {
#else
int main() {
#endif
	webview_t w = webview_create(1, NULL);
	webview_set_title(w, "Webview Example");
	webview_set_size(w, 480, 320, WEBVIEW_HINT_NONE);
	webview_bind(w, "myFunc", myFunc, w);
	webview_navigate(w, "data:text/html, <button onclick='myFunc(\"Foo bar\").then(console.log)'>Click Me</button>");
	webview_run(w);
	webview_destroy(w);
	return 0;
}

The expected response is for the return value to be output in the javascript console, instead the promise never returns.

Your HTML code doesn't appear to be properly encoded. Checking the debug/dev console may reveal some hints.
Another thing is that you may want to call webview_set_html instead of webview_navigate.

I coped most of this from the webview_c repo, it is correctly rendered when I build it.
The code is just a minimal example, the only problem is that the promise from the bound function never returns.

Are you sure that the *(webview_t *) cast is correct? What I can see is that you pass a webview_t to webview_bind but then you treat it as webview_t * in myFunc. I suggest trying webview_t w = (webview_t) arg;.

ah, that was exactly it.
Correctly casting the void argument was all it needed to work correctly.
Thanks for the help!


tee

I want tee. (not tea)
stdin | tee | sock

or
stdin | tee stdout | sock

Streem does not need tee.
stdin | sock
stdin | stdout

will print input lines to both socket and stdout.


Hydrogen Watch Pane could use syntax highlighting

The Hydrogen Watch pane offers an area to input code (such as plt.plot(x, sin(x)); plt.show() as the given example), but these entries do not offer any syntax highlighting.  It would seem both consistent and convenient to offer syntax highlighting on this code with respect to the editor itself.

I think those are a TextEditor object, so it should be possible to add syntax highlighting if we assign a grammar to them? @BenRussert

if we assign a grammar to them?

I thought so when you said this, but it looks like we do this.
@MichaelSchmidt82 Interested in working on this? You could start with that link above if you're interested.

Sounds great!  You'll have to excuse my ignorance, but I haven't actually contributed anything outside my own personal project.  Should I just submit a PR thats a fix for #1558 then?

Sounds great! You'll have to excuse my ignorance, but I haven't actually contributed anything outside my own personal project. Should I just submit a PR thats a fix for #1558 then?

Yep! Please feel free to ask questions here or on slack if you prefer. If you are googling or asking around atom community for info, i'd look for something like "syntax highlighting in a mini TextEditor".
Possible we aren't setting the grammar like intended when constructing the TextEditor that is the first thing I'd check.

Seems like this is still up for grabs, since I don't see a linked PR

@BenRussert that's not the proper way to assign grammars, and that's why it's not working

@MichaelSchmidt82 This will be fixed in the next release 👍


Share datastructures to alexaconnector to avoid additional layer of message transformations

This requires:

Code generation support
Deserialization by InboundEventType() to actual struct

Should be able to do this with infrastructure from pi-security-module

Not necessary now that Alexa connector is written in Go as well


API keys tracking + initialization

📝 Changed routes:

…oard/settings/api-keys
/dashboard/storage

(view full size)
(view full size)

Commit 2ae8d4fc0bd951a3e8ab945b8e42a6af2612cd1c (https://thirdweb-freps2hae.thirdweb-preview.com).


Function declared as capable of handling request of type 'http' but called with a request of type 'json' - .NET Core

Hey @patricoos i was trying to use PortaCapena and works in almost cases, but when i got to procuction environment return the error: Odoo Server Error, 400 Bad Request: <function Website.index at 0x7ff10d0252f0>, /: Function declared as capable of handling request of type 'http' but called with a request of type 'json'.
I have tried to make this post to check odooversion in postman with my production credencials and works too.
Can you help with that?

Hi, I don't quite understand the problem. Please check if the URL is correct, maybe try http or https.


html2canvasproxy php not working in angular2

I'm using html2canvas for generating pdf from html. All working fantastic but the only problem is images from other server.
Tried using html2canvasphp proxy but its not working for me.
Here is my code
html2canvas(element,{"logging": true,)
                    "proxy": "../assets/html2canvasproxy.php"
                }).then(function(canvas) {
              element.appendChild(canvas);
              elem  = canvas.toDataURL();
              return {
               image:elem,
               width:595
             };
           }) )

I'm using this code in one of angular component.
What I'm missing?
Please help

Please share an example on jsfiddle on whats not working


Don't use pytest 5.4

Pytest 5.4.1 is out and we didn't exclude it (still not working).

Thanks @cbrnr


MongoDB connection sharing

👋Hi! Spent most of the yesterday figuring out how to properly connect to MongoDB Atlas from the serverless environment and overnight you are releasing this comprehensive store project! So I have a couple of specific questions.

Have you considered sharing MongoDB connection between multiple invocations? It looks like MongoDB folks recommend declaring it as a global variable, so it may survive multiple invocations of a single lambda instance.

They also mention that for performance it's critical to set callbackWaitsForEmptyEventLoop context's property to false which helps "avoiding closing the database connection". It's a AWS Lambda-specific setting, which tight to how AWS Lambda freezes processes. I believe otherwise AWS Lambda doesn't send the response to the user and waits till the connection is closed. This probably is not applicable to Now, since in Now we can directly write into HTTP response, rather than dealing with event callbacks, but still I would love if you could confirm and dispel any doubts?

@antonmoiseev above recommendations allow to share a single db connection for multiple invocations of one single lambda while container is alive (which is already a huuuge improvement), right ?
But if you have 1000 lambdas, you have 1000 connections to your database, and there is no way to avoid with lambdas, am i correct ? This does not sounds good for perf on Mongodb side ... (CPU and memory usage for authentication on each connection)

above recommendations allow to share a single db connection for multiple invocations of one single lambda container while container is alive (which is already a huuuge improvement), right ?

Correct.

But if you have 1000 lambdas, you have 1000 connections to your database, and there is no way to avoid this with lambdas, am i correct ? This does not sounds good for perf on Mongodb side ... (CPU and memory usage for authentication on each connection)

I don't think it's a MongoDB-specific problem, and it's probably a good sign if your project needs to deal with this kind of challenges :wink:. But according to the docs MongoDB Atlas is capable of handling up to 128000 concurrent connections which reserves plenty of room to grow.

The great thing about SPR (stale-while-revalidate) is that lambda responses are cached on our edge, so the database is not hit very frequently and reusing DB connections between invocations is not necessary 😌. The user is always served data from the cache, so ensuring that we have a fresh connection each time the cache is validated in the background is solid. Hope that clarifies! Will close this issue!

@antonmoiseev Number 2, callbackWaitsForEmptyEventLoop  was implemented in https://github.com/zeit/now-builders/pull/505
You can try it out with @now/node@canary


puppet: support splunk-otel-java v2

Change default for auto_instrumentation_otlp_endpoint to empty
Add auto_instrumentation_otlp_endpoint_protocol, auto_instrumentation_metrics_exporter, and
auto_instrumentation_logs_exporter options

I didn't see anything specific that pulls in the new javaagent, which is weird given the name of the PR, but I guess changing the endpoint protocol defaults supports the new javaagent defaults. 👍🏻

I didn't see anything specific that pulls in the new javaagent, which is weird given the name of the PR, but I guess changing the endpoint protocol defaults supports the new javaagent defaults. 👍🏻

The java, node, and dotnet agents are included in the splunk-otel-auto-instrumentation deb/rpm packages and installed when the with_auto_instrumentation option is enabled.


Fix additional wrapping bug

Hello again, @NathanaelA!
This commit fixes another wrapping bug.  The symptom is similar to what the last commit fixed - where lines would sometimes wrap and overlap onto the line below - but the cause is different.  The _cleanData() process was not taking into account whether the specific cell was bolded, which can result in fewer maxLines being allotted than is actually necessary, if the text being bold pushes it over the cell width.

font() now saves the new font to this._font
_cleanData()now saves the original font before processing cells, using the value saved in font()
Each cell now bolds as necessary, then resets to the original font afterwards

Published v1.2.2 -- Thanks Michael!

Awesome - thank you, Nathanael!   😁


Feature/v2 update from main

/check-enforcer evaluate

@danieljurek @weshaggard Followed the instructions you pointed to in #2550
When clicking on Details for check enforcer, I can see it is complete, however I still cannot complete this PR.

/check-enforcer evaluate


Update winning-clients-discovery.md

Changed links behind Competitor Analysis Worksheet and Proposal Buyers Analysis so no longer broken.

All looks good to me


MouseOverBackground not Set in TitleBar style

Describe the bug
The MouseOverBackground is referenced here
https://github.com/lepoco/wpfui/blob/f59daa02e4c4818989d7f95dbb4bcb95b279b747/src/Wpf.Ui/Controls/TitleBar/TitleBar.xaml#L18
But I find nowhere at latter TitleBar style setting
To Reproduce
Load the gallery project and run the gallery application. We will see multiple (4 in my case) bind failures.
Expected behavior
No bind failures
Screenshots
No response
OS version
Win 10 19045.4170
.NET version
Same as repo
WPF-UI NuGet version
Same as repo
Additional context
Temporary Workaround for user:
<ui:TitleBar>
    <ui:TitleBar.Resources>
        <Style TargetType="ui:TitleBarButton" BasedOn="{StaticResource {x:Type ui:TitleBarButton}}">
            <Setter Property="MouseOverButtonsForeground" Value="Black" />
        </Style>
    </ui:TitleBar.Resources>
</ui:TitleBar>

Got it. By the way, what do you want in your issue? Did you want to change all the TitleBarButton MouseOverButtonsForeground in one time?

Got it. By the way, what do you want in your issue? Did you want to change all the TitleBarButton MouseOverButtonsForeground in one time?

Maybe not, the title buttons have different functionalities. Usually the close button background is red and foreground white when hovered, while the others foreground is black. Not pertty sure since I not good at UI design.
Provide a way to set different button's color should be good.

ThemesDictionary Theme="Dark"     TitleBar  Button   Foreground Is Black

Is this what you want?
  <ui:TitleBar
      x:Name="TitleBar"
      Title="{Binding ViewModel.ApplicationTitle}"
      Grid.Row="0"
      CloseWindowByDoubleClickOnIcon="True">
      <ui:TitleBar.Resources>
          <Style TargetType="ui:TitleBarButton" BasedOn="{StaticResource {x:Type ui:TitleBarButton}}">
              <Setter Property="ButtonsForeground" Value="Red" />
              <Setter Property="MouseOverButtonsForeground" Value="Blue" />
          </Style>
      </ui:TitleBar.Resources>
      <ui:TitleBar.Icon>
          <ui:ImageIcon Source="pack://application:,,,/Assets/wpfui.png" />
      </ui:TitleBar.Icon>
  </ui:TitleBar>


Added Georgian (ka) localization

Added Georgian (ka) localization. Also included unit tests for this language.
P.S. All tests passed and code style is PSR-2

Hm, on PHP 5.6 and older versions is different behaviour with strings generated by $date->format('D j M Y H:i:s')

Could you separate the additional tests into its own Georgian test file?

Yes, I will

I suggest in travis configuration allow failing tests on HHVM environment


librepo: 1.7.20 -> 1.8.1

Motivation for this change
Version bump
Things done

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

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

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

@copumpkin for review
The patchPhase is not necessary anymore thanks to this commit.

Cool, thanks!


SelectionList spec :: need code and style code examples

Code and style code examples are needed for the SelectionList Readme doc.

I'm in the middle of changing the API of the SelectionList and rewriting examples, so we cannot provide any examples at the moment. We'll have something available by Monday.


[security] use of unsafe yaml load.

Recommendation: consider changing yaml.load to yaml.safe_load.
integration/common/openlineage/common/provider/dbt/local.py:
115	        with open(path, "r") as f:
116	            return yaml.load(f, Loader=yaml.FullLoader)
117

#1945 closes this.


Can't read GOST2012 key.

We have private key (GOST3410-2012). But we can't read it using BouncyCastle <IP_ADDRESS>
Here is a key data:
-----BEGIN PRIVATE KEY----- MIGiAgEAMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYIKoUDBwEBAgMEQIXnWrZ6 ajvbCU6x9jK49PgQqCP00T/lW3laXCXueMF8X4Q1y3N9zfOJT2s/IgyPJVrUhgtO 1Akp+Roh8bCPPlqgODA2BggqhQMCCQMIATEqBCi72ZvrBVW6mFL/bQeXeMTf8Jh8 p/diI7Cg8ig4mXg3tsIUf4vBi61b -----END PRIVATE KEY-----
And here is a code to read it:
    const string keyPath = "D:\\testkey\\priv.key";
    using (var textReader = File.OpenText(keyPath))
    {
        var pemReader = new Org.BouncyCastle.OpenSsl.PemReader(textReader);
        var pemObj = pemReader.ReadPemObject();
        var seq = (Asn1Sequence)Asn1Object.FromByteArray(pemObj.Content);
        var keyInfo = PrivateKeyInfo.GetInstance(seq);
        var akp = Org.BouncyCastle.Security.PrivateKeyFactory.CreateKey(keyInfo);
    }

this code provide exception: "DER length more than 4 bytes: 103". Does anyone knows how to read it?
Old GOST keys (GOST3410-2001) works ok.

Wrong place (it's c#code)


ruff: replace isort with ruff +TPU

What does this PR do?
Isort is anyway using black style so we can just stick with black and validate it with Ruff
In several cases, Isoert failed to remove unused import and Ruff seems to perform better

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

Reviewer checklist

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

cc @carmocca @borda @justusschock @awaelchli

in fact the main difference is that you do not need to list fist  party packages but they are determined bu the folder names :flamingo:

the App's failing is unrelated and it is addressed in #18627

LGTM, did you triple-check the emphasize-lines in docs?

revisited and fixed one, the rest was fine :)


03-grid-layout-3: remove empty declaration blocks

Complete the following REQUIRED checkboxes:

[x] I have thoroughly read and understand The Odin Project Contributing Guide
[x] The title of this issue follows the location for request: brief description of request format, e.g. Foundations exercises: Add exercise for XYZ

The following checkbox is OPTIONAL:

[ ] I would like to be assigned this issue to work on it

1. Description of the Feature Request:

Currently both the style.css and the pre-solution portion of the solution.css files for this exercise include empty declaration blocks, e.g:
.logo {
}

These empty declaration blocks are not used in other exercises in this repo and should be removed for consistency, and to avoid leading users towards a specific way of doing things (since this repo emphasizes that there are multiple ways of doing things).
2. Acceptance Criteria:

[ ] Remove empty declaration blocks in the style.css and solution.css files

3. Additional Information:

@thatblindgeye
That was set up purposefully to give learners the selectors they needed to fill in, since some of these weren't obvious. As one of the Hints points out: "You only need to add to the current CSS selectors"
If these blank selectors are removed from the exercise then that hint also needs to be removed and ideally replaced with a note that the learner will need to add missing selectors.

@dm-murphy Ah, I see what you mean. Do you feel strongly about keeping those empty declaration blocks in?

@dm-murphy Ah, I see what you mean. Do you feel strongly about keeping those empty declaration blocks in?

@thatblindgeye No, I'm certainly open to changing it if that would help. Did any learners report being confused by the empty declarations?
I think giving them ahead of time makes this exercise more about practicing the right CSS Grid properties and less about designing a layout. This was really a warmup before the follow-up Dashboard project that has them do everything from scratch.
We could also try removing them and monitor any learner difficulties/questions that come up on Discord. Whatever you think is best!

@dm-murphy  I don't believe there have been any issues raised by users about it. For me it was just more about consistency and feeling users should be able to come up with the selectors for the exercise by the time they reach it. I'd say it could be worth removing the empty declaration blocks and rewording the exercise README to reflect that change, or add some other helpful hints that can sort of replace those empty blocks.

@dm-murphy If you're feeling up for it at some point (doesn't have to be immediate) we could have another PR made to reword those hints.

@dm-murphy If you're feeling up for it at some point (doesn't have to be immediate) we could have another PR made to reword those hints.

Sounds good @thatblindgeye! I can take care of the rewording with another PR.

@thatblindgeye We should be good to go on both PR #173 and PR #175 that would close out this issue. I also just merged PR #183 which had an unrelated fix to the same exercise. I can review both open PRs and close this all out if that's good with you, unless there was anything else you'd like done for this exercise. Thanks! :-)


question about train process

Hi, In #1 you showed your training process. The RAM is only about 6GB. Can you render the whole image in a single training iteration, Or just render a patch like traditional NeRF?

Hi, In #1 you showed your training process. The RAM is only about 6GB. Can you render the whole image in a single training iteration, Or just render a patch like traditional NeRF?

Hi, we rendered 1024 random pixels for each iteration (these pixels may from different images) during training. You can modify the "train_ray_num" in the "network/shapeRenderer.py" accoording to your GPU memory.

Thanks for your reply:>

Thanks for your reply! I want to render a full image in a training iteration, have you tried how much VRAM is needed to do this? And do you have a better solution to this problem?

For a 800x800 image, it's a little bit hard to directly render the full resolution under the TensoSDF or other NeRF variants. Usually we split the image into several chunks/patches, then combining them into a full image, just like what we do during test. If I remember correctly, 4096 pixels per training iteration is the limit in our method, with the GPU 4090 (24 GB). Off course, you can also reduce the number of samples per ray, but may cause lower quality.

I understand. I will follow your advices later.


Add a wrapper for decl traversal

I was thinking about reimplementing decl_iterator class in Julia. Unfortunately, it calls LoadLexicalDeclsFromExternalStorage which is a private API of Clang, so it's inevitable to add a thin wrapper for decls_begin.
specific_decl_iterator is essentially a wrapper of decl_iterator and we could reimplement it in Julia.

We should add a CI setup that builds the main branch of libclangex


feat: add hmac-auth authorization method

Type of change:

[ ] Bugfix
[x] New feature provided
[ ] Improve performance
[ ] Backport patches

What this PR does / why we need it:

#990
Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[x] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?
[ ] Is this PR backward compatible? If it is not backward compatible, please discuss on the mailing list first

Codecov Report

Merging #1035 (ce5333b) into master (9bd4b71) will increase coverage by 0.31%.
The diff coverage is 62.06%.

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

@@            Coverage Diff             @@
##           master    #1035      +/-   ##
==========================================
+ Coverage   31.00%   31.32%   +0.31%
==========================================
  Files          74       74
  Lines        8404     8491      +87
==========================================
+ Hits         2606     2660      +54
- Misses       5520     5543      +23
- Partials      278      288      +10

Impacted Files
Coverage Δ

pkg/kube/translation/apisix_route.go
20.73% <0.00%> (-0.14%)
:arrow_down:

pkg/kube/translation/apisix_consumer.go
67.74% <60.00%> (-1.49%)
:arrow_down:

pkg/kube/translation/plugin.go
86.01% <65.38%> (-13.99%)
:arrow_down:

Continue to review full report at Codecov.

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

This PR affects #989, which one should be merged first (the later one needs to be modified accordingly)?

@lingsamuel I think it's possible to merge #989 first and then merge this. let's move forward

I think I should compatible with the PR above first.

thanks

Please approve the workflows. @tao12345666333

approved. thanks

I have no idea about the failure of the suite-ingress.
Could you help me to see what happened to this error? @tao12345666333


Switchboard does not allow job cancellation while enqueued

Do you have more information about this one? There is code in place that theoretically should be handling cancellation of queued jobs, and looking at it I don't see any glaring errors so I'm rather curious what's going wrong with it.


Update Gradle wrapper to 4.10.2

Just a quick PR to update Gradle wrapper to the latest stable version 4.10.2.

Looks good, thanks.


feat: redux and auth slice

PR Description 📜
I have added the redux store, auth slice for storing the auth state across application.
Fixes #54

Type of Change

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

Mark the task you have completed ✅

[X] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[X] I have performed a self-review of my own code or work.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] My changes generates no new warnings.
[X] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE

@trishanu-init Please review it!!

@trishanu-init Please add labels and assignment

there are conflicts with existing dependencies. please check that @Sid-80


Question for the visualization of the learned feature as  Fig.7

To get the visualization as in the paper, you use t-sne or use a fc(out_channel=2) to do that?
Thanks

Chiese version: 如文中图7，12特征可视化，是对高维embedding用tsne降维；还是设置输出维度为2的全连接层得到；还是选取了高维rpl特征中的两个维度进行可视化？
谢谢！

fc(out_channel=2)

So,  the fc layer is add behind the rpl (dim=latent_size,e.g., 128), or you use the fc layer to the last feature map to form the rpl(latent_size=2)
Thanks

For feature visualization, both feature and RP are set to dimension 2.
For details of the experiment, see the repo below:
https://github.com/KaiyangZhou/pytorch-center-loss
I hope it can help you.

Thanks, I sincerely got your help. As I think that t-sne will break the feature representation.
😊

I have sent the agreement to<EMAIL_ADDRESS>have you received it?
Thanks

@iCGY96


Spectate mode is broken in my client

examples. it was fine previously, what did you change?
http://c0nsume.me/private4.php?ip=<IP_ADDRESS>:24270
http://c0nsume.me/private4.php?ip=<IP_ADDRESS>:443
http://c0nsume.me/private4.php?ip=<IP_ADDRESS>:444
it's weird, but there it's working fine
http://c0nsume.me/private4.php?ip=<IP_ADDRESS>:443

I just enabled serverScrambleLevel = 2 to reduce bots. Some clients reset camera position on border update it's the reason why they have broken spectate mode. You can fix it by remove code which reset camera position and camera scale on border update.

@lulzyyy  you can help me for use skins without [skinName]

@lulzyyy  You can help me for use skins without skins name in the nick

fixed

@lulzyyy: I've found that your client spamming server with invalid messages (20, 111, 112). I recommend to remove these messages from the client. You can send custom commands through chat commands.
There are bad guys which attempting to spam the servers with random bytes, and I will add protection from this. It may also affect your client, because these invalid messages will be detected as spam

it should be fixed now. these messages are from my custom servers (20 - w release, 111 - send skin, 112 - send password)


Texture of garments

First, thank you for providing an amazing garment model with remarkable performances.
In your paper, I saw that HOOD can reflect real-world clothes using 3D scan data (Figure 9)
Can I know how can I apply the texture to the garment mesh?
Thank you!

Hi! I use aitviewer for visualization. You may want to check the docs for their Meshes class to see different ways how can you change the appearance of the mesh (see vertex_colors, face_colors, uv_coords and path_to_texture arguments)


find_package fails in version 4.0.2 with

using Ubuntu 22.04.1 LTS
when executing
cmake .
I get:
CMake Error at /usr/lib/x86_64-linux-gnu/CppUTest/cmake/CppUTestConfig.cmake:11 (message):
  File or directory /usr/lib/include referenced by variable
  CppUTest_INCLUDE_DIRS does not exist !
Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/CppUTest/cmake/CppUTestConfig.cmake:27 (set_and_check)
  CMakeLists.txt:5 (find_package)

fetching CppuTest with Fetch_Content works, but it looks like this particular version is broken
the CmakeLists.txt:
cmake_minimum_required(VERSION 3.16.0)

project(CmakePlayGround)

find_package(CppUTest REQUIRED)

add_library(cpputest main.cpp)

I believe this is a duplicate of #1563 and #1639.

I observe this problem after building master (at 34f8c4548ec55cf1ae5f28824cdd816b60e618cc) on windows using CMake (cmake version 3.26.0-rc2) and CLang (clang version 15.0.6 Target: x86_64-pc-windows-msvc). I built the install target of cpputest. The resulting CppUTestConfig.cmake incorrectly searches CppUTest_INCLUDE_DIRS one folder above the source folder, while I would expect it to search for the includes inside the install folder.
Error log when using said CppUTestConfig.cmake:
CMake Error at [...]/code/cpputest/build/install/CppUTestConfig.cmake:11 (message):
  File or directory [...]/code/include referenced by
  variable CppUTest_INCLUDE_DIRS does not exist !


Issue #74 - move markdown report generator to bundlemon-utils package

Addresses: https://github.com/LironEr/bundlemon/issues/74
Description:
Exporting function that generates markdown report based on Report object will make it easier for projects that use Bundlemon but want to have their own service for storing results and sending notifications.
I moved main part of generating report to bundlemon-utils package, while the part with links is left in the service. I think this make it more universal.

Closing in favor of #77
I would like to move it to a new separate package.
Later I would like to add a plugin system to outputs, meaning users will be able to create output package in npm and other users would use that output more easily. So I separated this package into another one to make the change more easily in the future.
Currently, it can be done with the feature you added (custom output) 👍


Gorouter fails to transmit large request bodies

Thanks for submitting an issue to gorouter. We are always trying to improve! To help us, please fill out the following template.
Issue
This issue was mentioned on the cf networking slack
To summarize, gorouter prematurely closes the reverse proxy connection while there is still data in transit.
Context
This might be the same or similar issue as #212
Steps to Reproduce

Push an app that reads and writes a lot of data ( > 1M). For example, a simple "echo" server like the one I wrote: https://github.com/domdom82/go-echo
Curl the app to make it emit a large response, e.g.

curl -v -X POST --data-binary @largefile.bin https://go-echo.my-app.com/echo > out.bin

Expected result
The file should be uploaded completely and the connection be closed successfully. No errors should show in the app or gorouter logs.
Current result
The upload is aborted prematurely (after varying amounts of bytes transferred) and the following logs show in the app:
ERROR (write):  write tcp <container ip>:8080-><gorouter ip>:58248: write: connection reset by peer

the following log shows in gorouter error log:
httputil: ReverseProxy read error during body copy: read tcp <gorouter ip>:58248-><cell ip>:61002: use of closed network connection

Possible Fix
I've tracked down the cause to https://github.com/cloudfoundry/gorouter/blob/master/proxy/round_tripper/proxy_round_tripper.go#L104
It seems the deferred close happens when the "RoundTrip" function returns which seems to be in a race condition with another go routine that handles the backend transfer. So the function returns early and closes the connection while there are still bytes being sent.
As an experiment I have commented out the deferred close and the problem vanished - I don't know the side effects of that change though! (probably leaked file descriptors)

FYI: I tested the issue by curling my app 100x with a large request body and 1000x with a small body and checked for any leaking connections using netstat and ss on the gorouter machine - did not find any.
So the connections are being reused (if keepalive is used) and closed as expected even with the code commented out.

Hi @domdom82, thanks for submitting this issue. We were able to reproduce the premature connection close and come up with a solution that fixes the issue. If there is a request body and a response body, we should close the request body only after the response body is closed. This should resolve concerns about leaking connections or memory.


Browser build file size increase with version 6.0.0

74K traverson-6.0.0.min.js
55K traverson-5.0.0.min.js

22K traverson-6.0.0.min.js.gz
16K traverson-5.0.0.min.js.gz

With releases 6.0.0, the file size of the minified browser build has increased by 19K, the size of the gzipped minified build by 6K. This is not acceptable.
This was introduced by #85. The reason for the increase is that now Node's url module is included in the build by browserify. We used the resolve function from url before, but it had been shimmed by a smaller lib by using the browser field in the package.json. Now, lib/transform/parse_link_header.js uses parse-link-header from npm, which in turn uses url.parse. Apparently, the browser field in package.json has no effect on transitive dependencies, so browserify includes the (relatively large) url module.
A possible solution might be to find a smaller shim for url parsing and using browserify-shim with {global: true} to avoid including the full url module. Another solution might be to make link-header support an optional plug-in, which is not included in Traverson by default.

Closed via #87


[FEATURE] assert input preceding a train/validation interval is silent

Make a FR of #247.
The root cause was that the training signal went right up to the start of the validation, so the beginning of the output in the validation audio was from the last of the input in the training data (and therefore impossible to predict).
To resolve this Issue, implement a check that the preceding half second of input (or as much as exists) is silent. Apply it whenever a data set is being created (training as well as validation).

Can I take this up?

Hey @karan1508!
Unfortunately (for you) I was working on this for fun during vacation and didn't have a chance to see your offer before it was almost done.
I'll be working on flagging more issues as "good first issues" soon and I hope we can find something for you!
Again, sorry you weren't able to get in on this one but I wanted to touch back since I very much appreciate that you stopped by in the Issue to offer 😄


Razor on linux asp.net core is very slow

I created small asp.net core mvc project to test the speed of the asp.net application on the Linux (Ubuntu 16.04).
I created the CRUD controller that works with the "AspUser" class (stored in the PostgreSQL database). When I call the index method that shows the list of stored users the razor rendering is extremely slow. It takes 2 seconds to render the content (it is not the first call - the first call takes 8 seconds). There are 1000 users in the database. The database request is fast, but the rendering is slow.
The wrk utility wrk -c 256 -t 32 -d 10 http://localhost:5000/aspusers shows 2,6 request per second.
I made the same example in the nodejs the wrk utility shows 20 requests per second.
HW: Amd FX 8150 8 Core, 3.6 GHz, 8 GB RAM
View:
@model IEnumerable<PostgresTest.Models.AspUser>
@{
    ViewData["Title"] = "Index";
}

Index

    Create New

            @Html.DisplayNameFor(model => model.Age)

            @Html.DisplayNameFor(model => model.FirstName)

            @Html.DisplayNameFor(model => model.LastName)

            @Html.DisplayNameFor(model => model.CreatedAt)

            @Html.DisplayNameFor(model => model.UpdatedAt)

        @foreach (var item in Model)
        {

                    @item.Age

                    @item.FirstName

                    @item.LastName

                    @item.CreatedAt

                    @item.UpdatedAt

                    <a asp-action="Edit"<EMAIL_ADDRESS>|
                    <a asp-action="Details"<EMAIL_ADDRESS>|
                    <a asp-action="Delete"<EMAIL_ADDRESS>

        }

Myth

@SajayAntony / @mnltejaswini is this something we see in our cross plat benchmarks?

@rynowak also.
@NTaylorMullen can you start an email thread on this?

@mnltejaswini will be looking into this.

We are trying to repro in our lab. Will get back once I get some results.

I ran the scenario on Ubuntu 14.04, 4 Core , 4GB lab machine using wrk against the similar View with in memory database.
Here are the results
Running 10s test @ http://<IP_ADDRESS>:5000/Home/TestIndexWithTagHelpers
32 threads and 256 connections
Requests/sec:     21.09
Transfer/sec:     24.51MB
We will look into the profiles to understand the behavior.

Could you check the console logs to verify that we aren't recompiling too often?

At least the profile doesn't indicate any compilation stuff. It includes processing of AnchotTagHelper like link generation.

Confirmed from the console logs that the Code generation and compilation happens only once.

We looked into the profiles and found that most of the cost is coming from link generation for the  tag helpers. We identified few optimizations to make it better and we are working on it.

Hello friends,
I played with the source code and changed the index.cshtml like this:
@model IEnumerable<PostgresTest.Models.AspUser>
@{
	ViewData["Title"] = "Index";
}

Index

	Create New

				@Html.DisplayNameFor(model => model.Age)

				@Html.DisplayNameFor(model => model.FirstName)

				@Html.DisplayNameFor(model => model.LastName)

				@Html.DisplayNameFor(model => model.CreatedAt)

				@Html.DisplayNameFor(model => model.UpdatedAt)

		@foreach (var item in Model)
		{

					@Html.DisplayFor(modelItem => item.Age)

					@Html.DisplayFor(modelItem => item.FirstName)

					@Html.DisplayFor(modelItem => item.LastName)

					@Html.DisplayFor(modelItem => item.CreatedAt)

					@Html.DisplayFor(modelItem => item.UpdatedAt)

					<a asp-action="Edit"<EMAIL_ADDRESS>|
					<a asp-action="Details"<EMAIL_ADDRESS>|
					<a asp-action="Delete"<EMAIL_ADDRESS>

		}

The Html.DisplayFor tag helper rapidly slows the page rendering down.

This issue was moved to aspnet/Mvc#6111


Add TF Python Config support to deserialize from Models saved with the TF Engine outside of Java.

Added GELU activation with support in FrameworkOpss
Added maps in Activation interface to resolve to an Activation object via either a TF Engine activation name or from a Map<> config object. TF Python only serializes to the activation name string and does not serialize values passed to activation function, like the GELU approximate parameter.
Added getConfig() to serialize the activation. Added getName() to return the TF Python name for the activation.
Added static methods to call the activation directly, for example
ReLU.relu(tf, input) for default settings
ReLU.relu(tf, input, 2.0f /*alpha*/, 999.0f /*maxValue*/, 0.01f /*threshold*/)
Linear.linear(tf, input)
Note: Python allows a function for the activation  method (similar to 'C' function pointer),
but each function may have its own set of arguments.
It would be nice to handle this in Java, but I could not find a good way to do this with a java.lang.FunctionalInterface.

@karllessard @Craigacp  I just made the changes to bring this branch into sync with master. It is not ready to be reviewed.


Detailed Security Overview

Sometime in the future it would be great if there was a detailed security overview of all the features.
Say and 'All about security page' that a company could effective checkbox.
Possibly more detailed than
https://www.liveswitch.io/ultimate-guide-to-webrtc
https://www.liveswitch.io/blog/webrtc-security-guide-2021
Signal seems to have testimonials on security (https://signal.org/en/).  This might be a good idea. Some form of independent testimonial/audit.
Github sponsorships would be great too.

@ajl000 in progress.  i do also work on the new UI now. :-)


SBE 2.0

What is the plan for supporting SBE v2.0?

AFAIK SBE 2.0 isn't a thing and from the absence of activity in the SBE repo I think it will never be. Even SBE 1.0 was never officially standardized but it's used by various venues.
Do you know someone who's using 2.0? What are the major improvements or changes it introduces? I can only remember alignment attribute.

Right, the 2.0 effort hasn't had much love in a while (personal opinion is that trying to go the ISO route is just strapping on leg irons).
I must confess, the question is rooted in a bit of selfishness and laziness.
There are a number of minor changes and some of what I'd call bug fixes.
However, it does have some more important things which allow more ways of modifying a schema without breaking version portability and for porting non-SBE protocols to SBE.
For example, explicit support for numGroups and numVarDataFields in both messageHeader and groupSizeEncoding.  Version 1 allows you to specify unique types for each of those, so there are ways to do it yourself, but it does not define how clients should use any extra data fields, so it automatically makes your schema non-standard.
I was wondering, because I just discovered your project.
I have my own somewhat similar implementation, which has been in a private repo, and was recently updated to generate C++20 code, which makes the supporting library much nicer and way simpler.  However, ideally, I'd like to not keep supporting it and use something else.  Yours is as close to what I want to use as I've come across.
I thought about fork/change, but that gets old as well, and at that point I may as well just keep using what I've got.

The main reason why I never tried to implement SBE 2.0 is because I don't know if it's used by anyone. AFAIK it was more like a prototype rather than something complete. Have you seen SBE 2.0 being used somewhere? I can start looking at it but there should be a real user demand.

For example, explicit support for numGroups and numVarDataFields in both messageHeader and groupSizeEncoding. Version 1 allows you to specify unique types for each of those, so there are ways to do it yourself, but it does not define how clients should use any extra data fields, so it automatically makes your schema non-standard.

Not sure I fully understand your point here but numGroups and numVarDataFields are basically useless (though my implementation sets them correctly). That's because there's no way to know group/data header type and calculate their memory size. To make them work, SBE 2.0 should introduce a fixed group/data header types for the whole schema or at least per message but this is against SBE 1.0 that allows setting custom header type for each group/data individually.

Must have been on crack...
I'm not sure what I was talking about.  I've been using 2.0-ish since it came out because it addressed issues I had with more flexibility regarding message layout.  However, I just did a side-by-side comparison between the latest ones I could find, and they don't seem much different.


More detail for processes, organisation and infrastructure - by expanding the CRE structure beyond technical application security

Background
OpenCRE was created by application security professionals from a developer perspective, and therefore the first adopted standards were appsec standards and the higher level structure was based on appsec - primarily using SIG’s ISO25010-based model of security as a software quality.
The issue
As more standards were added to CRE, some topics in those standards didn’t really fit where it was outside of software, for example network segregation (network security) but also documentation of assets and their risks (process) and employee security awareness (organisation). Also hardware security didn’t really have a place (e.g. removing descriptions from printed circuit boards). The latter can be compared to removing comments from Javascript code, but it’s a separate countermeasure.
Especially with engineering teams becoming increasingly involved with process improvement and operations, the CRE team believes CRE should go beyond application security in order to fulfill its primary use case: enable software security professionals to find relevant information and the other way around: to allow information providers to deliver it effectively.
By being more comprehensive, it can become clearer for software security professionals that there are countermeasures to certain threats beyond software - for example, apart from protecting an isolated network in a room, one could in addition put an armed guard in front of the door.
The nice side-effect of this scope-increase is that CRE becomes available for more use cases to a larger audience: people who run organisation security programs, people who are more hardware-involved, etc.
In other words: OpenCRE needs to go beyond application security to cover all security measures in order to help software security professionals, and by doing so, this will help other security professionals as well.
The solution
So, OpenCRE needs a more comprehensive structure to hold security topics.

This work is finally done!


Publish: "Edit" still doesn't retain original channel value

Example:

Publish an image under annoymous.
After confirmed, go to /$/uploads and Edit from the context menu.
It now points to whatever the avatar drop-down is pointing, and usually I'll just hit send after my edits without checking, so end up being published in wrong channel.

Issue still happens, and it's kind of random whether it retains the original channel or not during Editing.
Root-cause
state.publish.channel is supposed to be the in-form channel selector value.  Due to a combination of ...

some parts incorrectly using the app-level channel selector value
some parts using state.publish.channel
some parts trying to sync the two
some parts lazily picking one another as fallback
... whichever is active depends on which was last executed.

The lack of a general-purpose ChannelSelector (one that is not always tied to the app-level setting) probably caused this mess.
Suggested change

Always use state.publish.channel only for Publish-related channel-selector.  It does not have to be the same value as the app-level ChannelSelector value.
doBeginPublish -- can grab the current app-level ChannelSelector value to start off form.  Can also just retain last form value (this is the original behavior).
doPrepareEdit -- always copy from original claim's channel value.  User can change channels later if they really want to, but it should start with the correct one.
Augment ChannelSelector to support instances that are not always tied to the app-level setting.


Disable powershell logging

Hi
The above example shows how to start windows PowerShell logging, and then says after the failure occurs "- Disable Windows Powershell logging. Collect the Event Trace Log file", but it is not clear how to actually do this.

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

ID: 43936fc2-1668-ab19-4310-16659b0bcc64
Version Independent ID: 331225d9-d9e1-e0e5-0b71-3167a7ffeea9
Content: Troubleshooting DirectAccess
Content Source: WindowsServerDocs/remote/remote-access/directaccess/Troubleshooting-DirectAccess.md
Product: windows-server
Technology: networking-da
GitHub Login: @eross-msft
Microsoft Alias: lizross

The following users don't have valid GitHub IDs, or are not collaborators on this repo: ingridatmicrosoft
gh issue comment 4208 -b ingridatmicrosoft

#assign:IngridAtMicrosoft

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.