Script 'bails out' when multiple packages are added to the BIOS package list

If there are multiple BIOS packages available for a single hardware model in my site, the script fails when trying to determine which BIOS package to use. The final line in the log file is 'Unable to determine a matching BIOS package from list since an unsupported count was returned from package list, bailing out.' I'm attaching a screenshot from the log file, thanks!

Got same problem with HP Bios packages.
Because some baseboards share the same SKU, it seems to detect multiple packages. It's maybe OK for drivers, but shouldn't bios look for specific model instead?

Got same problem with HP Bios packages.
Because some baseboards share the same SKU, it seems to detect multiple packages. It's maybe OK for drivers, but shouldn't bios look for specific model instead?

same problem with HP Bios packages

same problem with HP Bios packages

Same with any bios in fact, it doesn't check for the latest version when there's multiple

Same with any bios in fact, it doesn't check for the latest version when there's multiple

I've check the script and I understand the problem. Problem is here:
$PackageList = $PackageList | Sort-Object -Property SourceDate -Descending | Select-Object -First 1
							}

							if ($PackageList.Count -eq 1

Problem is after the select-object, the array doesn't exist anymore thus .count is null. I myself changed it to:
if ($PackageList.Count -lt 2 -and $PackageList[0] -ne $null) {
I'm still in the testing phase to see if that add another problem.
There's also other problem at the same place that I'll post another issue

Hello, I troubleshooting this situation about 4 hour and can verify @nodiaque issue. It's a casting error.
Have made some changes, tested and works as desired.
The fast solution is too change code from line 1167 until 1187 with this:
`
Determine the latest BIOS package by creation date
						if ($ComputerManufacturer -match "Dell") {
							$PackageList = , $($PackageList | Sort-Object -Property SourceDate -Descending | Select-Object -First 1)
						} elseif ($ComputerManufacturer -eq "Lenovo") {
							$ComputerDescription = Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty Version
							# Attempt to find exact model match for Lenovo models which overlap model types
							$PackageList = , $($PackageList | Where-object {
								($_.Name -like "*$ComputerDescription") -and ($_.Manufacturer -match $ComputerManufacturer)
							} | Sort-object -Property SourceDate -Descending | Select-Object -First 1)

							If ($PackageList -eq $null) {
								# Fall back to select the latest model type match if no model name match is found
								$PackageList = , $($PackageList | Sort-object -Property SourceDate -Descending | Select-Object -First 1)
							}
						} elseif ($ComputerManufacturer -match "Hewlett-Packard|HP") {
							# Determine the latest BIOS package by creation date
							$PackageList = , $($PackageList | Sort-Object -Property PackageCreated -Descending | Select-Object -First 1)

						} elseif ($ComputerManufacturer -match "Microsoft") {
							$PackageList = , $($PackageList | Sort-Object -Property PackageCreated -Descending | Select-Object -First 1)
						}
						`

Hope it's help you all. I try to make a pull request with solution.

Writing to confirm that the amendment that @mstraessner suggested is currently working for HP systems. I have no had the chance to test this with other manufacturers.

I had to do multiple additional changes to get it to work with Lenovo.
`
Determine the latest BIOS package by creation date
						if ($ComputerManufacturer -match "Dell") {
                            [Array]$PackageList = , $($PackageList | Sort-Object -Property SourceDate -Descending | Select-Object -First 1)
                        } elseif ($ComputerManufacturer -eq "Lenovo") {
                            $ComputerDescription = Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty Version
                            # Attempt to find exact model match for Lenovo models which overlap model types
                        [Array]$PackageListExactModelMatch = , $($PackageList | Where-Object {($_.Name -like "*$ComputerDescription") -and ($_.Manufacturer -match $ComputerManufacturer)} | Sort-Object -Property SourceDate -Descending | Select-Object -First 1)

                        If ($PackageListExactModelMatch[0] -eq $null) {
                            # Fall back to select the latest model type match if no model name match is found
	                            [Array]$PackageList = , $($PackageList | Sort-Object -Property SourceDate -Descending | Select-Object -First 1)
                            } elseif ($PackageListExactModelMatch[0]) {
                                    # If match is found update Packagelist with correct model
                                    [Array]$PackageList = $PackageListExactModelMatch
                                }
                        } elseif ($ComputerManufacturer -match "Hewlett-Packard|HP") {
                            # Determine the latest BIOS package by creation date
                            [Array]$PackageList = , $($PackageList | Sort-Object -Property PackageCreated -Descending | Select-Object -First 1)

                        } elseif ($ComputerManufacturer -match "Microsoft") {
                            [Array]$PackageList = , $($PackageList | Sort-Object -Property PackageCreated -Descending | Select-Object -First 1)}

`
And changed this:
}  elseif ($ComputerManufacturer -match "Lenovo") { Compare-BIOSVersion -AvailableBIOSVersion $PackageList[0].Version -AvailableBIOSReleaseDate $(($PackageList[0].PackageDescription).Split(":")[2]).Trimend(")") -ComputerManufacturer $ComputerManufacturer }
To this:
 } elseif ($ComputerManufacturer -match "Lenovo") { 									Compare-BIOSVersion -AvailableBIOSVersion $PackageList[0].Version -AvailableBIOSReleaseDate $(($PackageList[0].Description).Split(":")[2]).Trimend(")") -ComputerManufacturer $ComputerManufacturer 								}

I got it to work with Lenovo ThinkCentre series after applying the fixes from @HermanGB - thanks everyone


Support for human-readable duration comparison

Some placeholders return durations, in milliseconds.
My proposal is to be able to compare durations with human-readable strings along with integers, such as 2 minutes or 28 days, which internally resolves to milliseconds.
The choice of supported formats is left for the implementation.

Related to #28

Oops, interval does support that. I might close that issue and update my PR for certificate expiration support.

I made a basic patch using time.ParseDuration in https://github.com/Exagone313/gatus/commit/c7aa01f8228283263b3cb2b69436759117e4e0ff (after certificate-expiration patches), but unfortunately it doesn't support days as per https://github.com/golang/go/issues/11473

@TwinProduction you can discuss my proposal here.
The thing missing is to implement strings such as 7d, and add tests.

Yeah, I'm thinking that we'll have to make a custom parse duration method that supports h and d
Everything else feels a bit too verbose
Honestly, I don't even think mixing them is necessary (i.e. 7d12h), just supporting 7d and 12h separately is sufficient


Increase the movement speed of unit just a tiny bit

It's almost perfect.

It is perfect on my main computer, but it slows down when testing on my tablet.
I still need to add a setting to skip frames in order to make the unit movement faster...

This was probably also an issue 25 years ago, but still I do remember even from back then that the movement was just a bit faster. Just deal with this when you sort out other issues, this has a very low priority.

I was just about to post to say I thought it was actually too fast, but I checked it again and it was just a smidge too slow as axx says.  Then, I switched back and forth between the civone window and it sped up again.

With Dosbox, it runs quick on one computer and slow on another. I'm not even sure if there is a fixed speed at which it should run.
CivOne tends to slow down sometimes though... I'm not sure if I can really fix that. All I can do is add an option to skip frames so it doesn't slow down too much on slow computers. I've got an old netbook that I started testing on and that system really needs a frameskip patch.

Speed is optimized now, I will not change it any further.


[Blood] sometimes ignores floor and goes through, or stays in the air (may be related to #26)

This is actually pretty major visually-like. Check if it happenned in early releases

Cause: this was because the dynamic platform updated the object pos, and then updated the collider using his own pos isntead of the new object pos


Directory Scope is not respected when creating a eligible role assignment using Graph API

Hi,
Background:
We are trying to automate the creation of Administrative Units and assignment of eligible roles to those.
Problem
When creating a administrative unit from AzureAutomation and assigning it a eligible role with a DirectoryScope, the DirectoryScope is not respected and instead gives access to the complete directory ( "/" ) instead of failing the command or scoping it correctly.
Example/Reproduction
The following is run in AzureAutomation using the newest 2.0 Graph module previews.

$MgGraph = Connect-MgGraph -Identity

# Create Administrative Unit
$params = @{
  DisplayName                   = "Administrative Unit for Testing"
  Description                   = "Administrative Unit for Testing"
  MembershipType                = "Dynamic"
  MembershipRuleProcessingState = "On"
  MembershipRule                = '(user.userPrincipalName -match "@")'
}
$AdministrativeUnit = New-MgDirectoryAdministrativeUnit -BodyParameter $params
$AdministrativeUnit
$directoryScope = "/administrativeUnits/$($AdministrativeUnit.id)"

$RoleAssignment = $null

while (!$RoleAssignment) {
  try {
    # Create Eligible Role Assignment
    $uri = "https://graph.microsoft.com/v1.0/roleManagement/directory/roleEligibilityScheduleRequests"
    $Json = @"
{
    "action": "AdminAssign",
    "justification": "Assign Administrator eligibility on Administrative Unit",
    "roleDefinitionId": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
    "directoryScopeId": "$directoryScope",
    "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "scheduleInfo": {
        "startDateTime": "2023-03-04T12:42:12.980Z",
        "expiration": {}
    }
}
"@

    "Assigning role to admin unit:"
    $RoleAssignment = Invoke-MgGraphRequest -Method POST -Uri $uri -Body $Json -ErrorVariable err -OutputType PSObject
    $RoleAssignment
  }
  catch {
    "Administrative Unit not Ready - Sleeping 10 seconds"
    Start-Sleep -s 10
  }
}

The end result is that it assigns the correct role as eligible, but the directory scope is not set correctly.
A very strange thing is that, if you first create the Administrative Unit -> Go to the Azure Portal and view it there before running the assignment script. Then it works as intended. It is not related to delay or such as "witnessing" it from the Azure portal always solves it.

@andersidahl - thanks for highlighting this issue.
I have transferred the issue to the SDK repo as this is a product issue for triage.


bpf: Fix revDNAT for IPsec + L7 proxy

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

/test

/test

/test

/test

/test

/test

/test

To test this, we'd need to extend https://github.com/cilium/cilium-cli/pull/2670 correct?

@julianwiedmann yes, I just drafted the pr: https://github.com/cilium/cilium-cli/pull/2759

/test

I don't think I can review this one properly, so I'm handing over to @jrajahalme.

/ci-ipsec-e2e

/test


frontend: llvm: avoid writing multiple YAML modules

This was initially introduced to solve memory exhaustion issues. But I believe the memory exhaustion issues were actually solved in https://github.com/ossf/fuzz-introspector/pull/561
Keeping things in one module should speed up the process, which we have had issues with on-and-off, such as in openssl and binutils: https://github.com/ossf/fuzz-introspector/issues/585

@jonathanmetzman fyi

This will help both when reating the .yamls, but, most importantly when loading in the yaml modules in the post processing here: https://github.com/ossf/fuzz-introspector/blob/302d36bf21ee19ea97d4742711691ed3ba692a31/src/fuzz_introspector/utils.py#L76-L133

Thanks!


The charts took a big step backwards

Issue Type: Bug
Write a query, run it.
Go to the chart view of the results
Expected: several chart types, line, pie, etc.
Actual: Only seeing chart and image as chart type options.
SQL Operations Studio version: sqlops 0.32.9 (8004776eff330e8980b473b6a2f6faf607164005, 2018-09-19T05:11:56.160Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6650U CPU @ 2.20GHz (4 x 2208)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.93GB (8.10GB free)

Process Argv
C:\Program Files\SQL Operations Studio\sqlops.exe

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

agent
Mic
0.32.7

profiler
Mic
0.1.5

whoisactive
Mic
0.1.1

sql-search
Red
0.2.1

Hi Korez73!
I think this is the same issue that I reported here: #2646 .
Have a nice day
Frank

I'll close this as a duplicate of https://github.com/Microsoft/sqlopsstudio/issues/2646.  We're currently working a fix.  Sorry for the inconvenience.


Float16 Argmin/max gives wrong results

import mxnet as mx
from mxnet import np, nd, npx, profiler
import numpy as _np
from mxnet.gluon import HybridBlock

AA = np.random.normal(0, 10, size=(2,5,99999), dtype='float16', ctx=mx.gpu())

BB = np.argmin(AA, 2)
CC = _np.argmin(AA.asnumpy(), 2)

print(BB)
print(CC)

outputs:
[              39904               48736               58816
                2708               36896               11056
               45600<PHONE_NUMBER>854775807                8020
<PHONE_NUMBER>854775807<PHONE_NUMBER>854775807<PHONE_NUMBER>854775807
<PHONE_NUMBER>854775807               34176               30160
               19456<PHONE_NUMBER>854775807               12008
<PHONE_NUMBER>854775807               52640] @gpu(0)
[39904 48728 58812  2709 36908 11059 45615 69962  8019 68762 83795 96961
 89943 34176 30167 19451 65951 12011 75882 52637]

This is reproducible on master and 1.7, both on cpu and gpu. This has not been noticed before because in test_np_argmin_argmax we were only using very small tensors. I added in a large tensor case yesterday and multiple ci failed https://github.com/apache/incubator-mxnet/pull/19359.
This might be a memory alignment issue. We probably also need to see if any other operators are affected too.
@sxjscience @szha @sandeep-krishnamurthy

I can also reproduce.


Remove headless test ignore, move orient_plane_normal test

Description
This moves the test added to napari/layers/utils #3759 that required a manual skip added to the headless tests in tox.
I added a comment to tox.ini to this effect, but the point of headless tests is that we should always be able to run pytest napari/layers or pytest napari/components ... or any tests outside of the _tests, _qt or _vispy folders, and have it work without qt.  Rather than adding more ignores to that line in tox.ini, let's just move the tests when they require a full qt-backed viewer.

Thank you @kevinyamauchi.  Merging as it's breaking my headless tests over in npe2.  Let me know if anyone has concerns after the fact


Add non-throwing next/prev/at alternatives to operator++/--/*/[] to text iterators

Text iterators currently throw exceptions when encode/decode errors occur.  Adding alternative non-throwing member functions may be helpful to allow code bases that cannot use exceptions to still use Text_view.

Since itext_view constructors decode eagerly, alternative non-throwing constructors would be required as well.

Closing this as not-to-be-fixed.  As of commit 4950cdfda13cbfc9a20fcfbf4c85a7a9fcf1f8c6, exceptions are no longer thrown during decoding (e.g., during eager decoding), and error policies can be used to avoid use of exceptions altogether.


feat(linter): add constructor-super.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3780  👈
#3771 : 1 other dependent PR (#3777 )
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rzvxa and the rest of your teammates on  Graphite


Third panel to dock stuff in

I'd like to have a third panel on the right where i can dock outline for example. So have my file explorer on the left, terminal at the bottom and outline+problems on the right and the code editor in the middle.

/duplicate of #26777


Switching auto submit label from waiting for tree to go green to autosubmit

The autosubmit label is ready to use (https://github.com/flutter/cocoon/tree/main/auto_submit). This bug tracks migrating logics from existing waiting for tree to go green to autosubmit.
Context: compared to waiting for tree to go green, autosubmit is more scalable (instead of pulling all PRs every 5 mins, it handles PRs based on github webhook notification).
Details: flutter.dev/go/autosubmit
Progress:

[x] Install autosubmit bot app in all flutter repos
[x] enable autosubmit label for dependabot for all repos

[x] cocoon: https://github.com/flutter/cocoon/pull/1747
[x] framework: https://github.com/flutter/flutter/pull/106082
[x] engine: https://github.com/flutter/engine/pull/34153
[x] packages: https://github.com/flutter/packages/pull/2316

[x] enable autosubmit label for rollers: https://bugs.chromium.org/p/skia/issues/detail?id=13525
[x] deprecate waiting for tree to go green label and the bot

[x] delete waiting for tree to go green label
[x] remove cronjob calling /api/check-waiting-pull-requests: https://github.com/flutter/cocoon/pull/2037
[x] deprecate API: /api/check-waiting-pull-requests

/cc @godofredoc

PST sent. ETA: waiting for tree to go green deprecated on 07/29/2022 at 5:00pm PST.

Several issues have been filed and resolved:
Not not landing PRs: https://github.com/flutter/flutter/issues/107788
Tree status is not handled correctly: https://github.com/flutter/flutter/issues/107558
Autosubmit bot doesn't auto close issues when PRs are submitted: https://github.com/flutter/flutter/issues/106211
The plan remains unchanged: waiting for tree to go green to be deprecated at 5:00pm on 07/29/2022 PST.

This is done.


Add team level info

I'd probably leave this one for a bit, as I'm still trying to gather all the data.

@MitchPleaseAllWorld Do you think we can annotate all the unknown fields as ? rather than leaving them empty? I have marked the unknown player rank up drill requirements as ? but have yet to cover other sheets.

yeah that's a good idea actually, then hopefully people will see it and more readily share the info


refactor(mempool): add test utils for fee escalation tests

Will be used in additional tests, in a subsequent PR.

This change is


Training each cycle from scratch?

Thank you very much for your code!
I have a small doubt.
Are you training each model from scratch for each cycle?
As for each cycle, a new model is being initialized in line 131. And I don't see any checkpoints being loaded after that.

Yes, you can debug deeply. It involves calls the function mmcv.utils.registry.build_from_cfg, which loads the parameters in cfg.model and builds the model from it. The path of the pretrained model is set in cfg.model (torchvision://resnet50), so for each cycle it is trained from scratch.


Uncaught UnexpectedValueException

Env:
PHP 8.1
Psalm 5.19.0
psalm-plugin-wordpress: ~3.0.0

Running GitHub Action, crashed psalm due to an uncaught Throwable:
Uncaught UnexpectedValueException: Unsupported dynamic hook name with type PhpParser\Node\Expr\ConstFetch in /home/runner/work/PATH/vendor/humanmade/psalm-plugin-wordpress/Plugin.php:486
Stack trace:
#0 /home/runnerPATH/work//vendor/humanmade/psalm-plugin-wordpress/Plugin.php(405): PsalmWordPress\Plugin::getDynamicHookName()
#1 /home/runner/work/PATH/vendor/humanmade/psalm-plugin-wordpress/Plugin.php(825): PsalmWordPress\Plugin::getDynamicHookName()
#2 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Provider/FunctionParamsProvider.php(83): PsalmWordPress\Plugin::getFunctionParams()
#3 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/FunctionCallAnalyzer.php(582): Psalm\Internal\Provider\FunctionParamsProvider->getFunctionParams()
#4 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/Call/FunctionCallAnalyzer.php(148): Psalm\Internal\Analyzer\Statements\Expression\Call\FunctionCallAnalyzer::handleNamedFunction()
#5 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(284): Psalm\Internal\Analyzer\Statements\Expression\Call\FunctionCallAnalyzer::analyze()
#6 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(88): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression()
#7 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(567): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze()
#8 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(195): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement()
#9 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(507): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze()
#10 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1822): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze()
#11 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(433): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeClassMethod()
#12 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(202): Psalm\Internal\Analyzer\ClassAnalyzer->analyze()
#13 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(1591): Psalm\Internal\Analyzer\FileAnalyzer->analyze()
#14 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(522): Psalm\Internal\Codebase\Analyzer->analysisWorker()
#15 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(272): Psalm\Internal\Codebase\Analyzer->doAnalysis()
#16 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(556): Psalm\Internal\Codebase\Analyzer->analyzeFiles()
#17 /home/runner/work/PATH/vendor/vimeo/psalm/src/Psalm/Internal/Cli/Psalm.php(373): Psalm\Internal\Analyzer\ProjectAnalyzer->check()
#18 /home/runner/work/PATH/vendor/vimeo/psalm/psalm(9): Psalm\Internal\Cli\Psalm::run()
#19 /home/runner/work/PATH/vendor/bin/psalm(119): include('...')
#20 ***main***
(Psalm 5.19.0@06b71be009a6bd6d81b9811855d6629b9fe90e1b crashed due to an uncaught Throwable)

GitHub Action:
jobs:
  code-checkout:
    uses: ./.github/workflows/reusable-code-checkout.yml
    secrets: inherit

  psalm:
    name: Psalm
    runs-on: ubuntu-latest
    needs: [ code-checkout ]

    steps:
      # The source is shared between workflows, so we need to fetch it.
      - name: Fetch shared source
        uses: actions/download-artifact@v4
        with:
          name: code-artifact

      # The shared source is compressed to avoid artifact rate limiting, extract it first.
      - name: Extract shared source
        working-directory: ./
        run: tar -zxf code-artifact.tar.gz

      - name: Setup PHP environment
        uses: shivammathur/setup-php@v2
        with:
          php-version: '8.1'
          tools: composer:v2
          extensions: gd, zip

      # Create cache locations that work across action containers to speed up testing if and when possible.
      - name: Cache composer dependencies
        uses: actions/cache@v3
        with:
          path: ~/.composer/cache
          key: dependencies-composer-${{ hashFiles('composer.lock') }}

      # Run the Composer installer, but this time including developer tools.
      - name: Install Composer Dev-dependencies
        working-directory: ./
        env:
          COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH }}
        run: |
          composer install --no-progress

      - name: Setup Psalm cache
        uses: actions/cache@v3
        with:
          path: ~/.cache/psalm
          key: dependencies-psalm-${{ hashFiles('composer.lock') }}

      - name: Run Psalm analyzer
        working-directory: ./
        run: |
          composer run psalm

      - name: Upload Security Analysis results to GitHub
        uses: github/codeql-action/upload-sarif@v2
        with:
          sarif_file: psalm-results.sarif

composer.json:
	"scripts": {
		"psalm": [
			"Composer\\Config::disableProcessTimeout",
			"psalm --output-format=github --no-diff --no-cache --taint-analysis --report=psalm-results.sarif"
		]
	}
}

Still relevant in v3.0.0 :(
Is there any workaround?


feat: supported Gemini Pro 1.5

Resolves #63

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review

/deploy-review


Create high level command set

Create simple high level commands for moving the robot:
Move forward - move a minimal distance forward (i.e. 1 inch)
Move backward - move a minimal distance backward (i.e. 1 inch)
Crab left - move a minimal distance left without turning (i.e. 1 inch)
Crab right - move a minimal distance right without turning (i.e. 1 inch)

current goal is to store some persistent groups of flow commands, which we'll call a sequence. The MQTT flow commands that make up the sequence are sent via MQTT to the robot, and stored for future execution. In the simple case, this execution happens at the end of the sequence definition. We're making the sequence persistent, and allowing it to be executed in another higher level sequence later.
when the robot processes the commands in a sequence, it builds a series of arrays in memory. Each command's information occupies the same index in each array, and they are used sequentially.
We now want to keep the rows associated with a particular sequence around, rather than always restarting from row 1, and associate a name with this group of rows so we can request that it be executed from another sequence.
To support this we need to track the names (single letter for now) of each persistent sequence, and the table indices where it starts and ends. We also need to modify the DO_FLOW command to have an indication that a sequence is to be persistent, and what its name is. For persistence sequences, the start and end indices associated with the name are stored.
For now, this persistence will not survive power cycles, but in the future we can investigate using NVM, external SD cards, or compile time sequence inclusion.
Scribbly notes:

check for running out of array space
sequence execution must be queued, but maybe it already is
collision detection becomes important
initial set of commands means robot is always facing the same direction. To get more generality, we could add a "turn 45 degrees (right, left)" command
need an abort sequence capability, maybe including capacitance sensor checked in frame processing
have initially expanded sequence data storage from 200 to 500 rows
need to allow using a named sequence within a named sequence

Work list:

do_flow stays as is, with the sequence being overwritten
new command save_flow preserves the sequence that has been defined
-- specifies a one letter name for the sequence
-- saves a pointer in an array indexed by name, to the first row. similarly, the last row is stored. similarly, the sequence name is remembered.
-- updates the NEXT_SEQ pointer that shows where the next sequence's data should start
initialization
-- NEXT_SEQ = 1 so first sequence starts at beginning of arrays
-- clear sequence control tables
new command DO_SEQ to execute a named sequence: DO_SEQ

Pondering what toe positions start and end each of the macro movements(MM). One simple approach is to require that each MM start and end in the neutral stance where all servos are centred. We'll implement this approach initially. Another approach is to have  start and end positions that are convenient for the MM, and facilitate it being repeated, which will often be the case. To support having an arbitrary start position, the code for each MM will have to analyse the current position of the toes (as recorded by software, since we can't sense it) and generate appropriate leg movements to get to the planned starting point of the MM. It might be better to go to a position part way through the MM if the legs are already there, or close to there. Hmm - that gets complicated quickly. For now, all MM's start and end at the neutral stance.
For standard naming, I'll use the names (also MQTT commands with the same names):
MMF - macro movement forward
MMB - backward
MMR - right
MML - Left
These MQTT commands will need parameters such as:

step height
elapsed time per MM (equivalent to speed)
repeat count

created SAVE_MACRO MQTT command, working on DO_MACRO command. Oops, DO_MACRO isn't an MQTT command, it's a script command, like FLOW.
It would be nice to have variations on macros, like go forward vs. go forward at twice normal speed. Right now, the timing control is embedded in the FLOW commands in the macro sequence, and can't be altered by a macro.
There's a bunch of implied compiler work needed as well

Addressed this need by implementing macros - the ability to define named macros, or high level commands, consisting of an arbitrary number of regular FLOW commands. This can be forward, backward, left and right or any other functions that can be implemented as a group of flow commands. These are defined in a script, and can be called later in that script, or in subsequent downloaded MQTT scripts, up until a reset. (To be extended later.)
Four new operations are available for the FLOW command to support macros:
BOM  - Beginning of Macros. Indicates the portion of the MQTT script, usualy right at the beginning, where macro definitions start. This is necessary so the robot does not execute the commands that are part of the definition while the macro is being defined.
EOM - End Of Macros. Indicates that macro definitions have ended, and normal FLOW command execution should resume
SM -  Save Macro. Tells robot to save the accumulated FLOW commands as a macro with the given name. These are the commands that have been given since the robot started, or since that last macro SM command, whichever happened latest.
DM - Do Macro. Tells robot to execute the commands that were previously saveed as the named macro.
A MQTT script using macros has a form like this:

NEW_FLOW
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
flow,1,bom
Flow,0,SM,h
Flow, 1000,MLRH,10,0,0,0, 5.9,10,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
Flow,0,SM,a
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 5.9,10,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
Flow,0,SM,b
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 0,0,0, 5.9,10,0, 0,0,0, 0,0,0, 0,0,0
Flow, 1000,MLRH,10,0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0
Flow,0,SM,c
flow,1,eom
flow,1,dm,a
flow,1,dm,b
flow,1,dm,c
flow,1,dm,b
flow,1,dm,a
DO_FLOW,1,25

...where the lines in the script have these functions:

normal start of script flag. This will not cause previously defined macros to be overwritten
a"go to home position" command to get us to a known starting point
a command to flag the beginning of macro definitions. This is needed so the robot knows that it shouldn't actually execute the commands that are part of macro definitions while the definition is taking place.
a dummy macro definition, so we have a clean start on the next one. probably unnecessary
a regular command that is part of a macro definition - raises leg 1
a regular command that is part of a macro definition- lowers leg 1
Save Macro command. Tells robot to save the accumulated commands into the named macro - A
a regular command that is part of a macro definition - raises leg 2
a regular command that is part of a macro definition- lowers leg 2
Save Macro command. Tells robot to save the accumulated commands (since last SM) into the named macro - B
a regular command that is part of a macro definition - raises leg 3
a regular command that is part of a macro definition- lowers leg 3
Save Macro command. Tells robot to save the accumulated commands (since last SM) into the named macro - C
End Of Macros - robot resumes executing commands as it encounters them
a call to execute Macro A, which raises and lowers leg 1
a call to execute Macro B, which raises and lowers leg 2
a call to execute Macro C, which raises and lowers leg 3
a call to execute Macro B, which raises and lowers leg 2
a call to execute Macro A, which raises and lowers leg 1
normal DO_FLOW command which ends script definition, and starts its execution

The script above can be found in ..../performance/scripts/01__hb-macro-demo.js
I'll define other issues for:

defining real time commands to executed macros that are already defined. This would be similar to how the Quick Go Home (QGH) command runs immediately, not requiring a script to trigger its execution
creating & using persistent macros, which are stored in NVRAM, a micro-SD card, or compiled cource code


downselect name for FSW repo

This issue entails renaming the repo to something more original than FSW or flight-software.
Contending candidates include:

DilophOS
DeCoSatOS
F'' (F Double Prime). i.e., a derivative of F Prime

settling on DilophOS as per Aug 4th meeting

closed as of https://github.com/ODU-CGA-CubeSat/dilophos/commit/4abd8764964f03ba43ed59fc2afde4debbbbdb07


Speeding up training/testing

Hi,
I have access to a big server with 6 GPUs and 64 CPU's. I'm using three of the GPUs in a docker container to run some images through this.
Currently my config train file looks like:
    "datasets": {
        "train": {
            "name": "FFHQ",
            "mode": "HR", // whether need LR img
            "dataroot": "dataset/ffhq_64_512",
            "datatype": "img", //lmdb or img, path of img files
            "l_resolution": 64, // low resolution need to super_resolution
            "r_resolution": 512, // high resolution
            "batch_size": 2,
            "num_workers": 16,
            "use_shuffle": true,
            "data_len": -1 // -1 represents all data used in train
        },

where num_workers was changed from 8 to 16 in the default settings. However, training doesn't seem to noticeably have sped up (it's still about a minute per 50 iterations).
When I try to raise the batch_size, I start getting out-of-memory errors.
Is there a good way to speed up training by using the power of this server?
Thanks!

During the training process, I feel that the main bottleneck is the number of parameters in the model. Maybe you can tweak the model structure and train with multiple GPUs.

@loftusa Hi - Did you end up figuring out a good way to speed up training?


WIP Issue with casting afer fill.

In code like this:

					$tmp = (new $this->returnType());
					$tmp->fill($data);

					$this->insert($tmp);

i've got an issue related to valid_json cuz array has not been casted to json string.
my change allows to force fill method to cast properties according to declaration from $cast property.

I'm not against this change - but at the very least it needs to be documented. Should also have tests.

@lonnieezell could so help me with tests/docs?

Your PR alludes to a JSON casting problem, but I don't see anything JSON in the description or PR changes. Your code change appears to use the undescribed "$casted" parameter to either set object attributes in an entity, or else array elements in an entity's "$attributes" array. The connection to JSON isn't clear.
Apart from the confusing change, it sounds like you still have issues with testing and docs.
The user guide has a description for using Vagrant to host your app for testing, and it sets up unit testing too IIRC. Not sure if it is setup for building the documentation, but that could hopefully be added if necessary. Would something like this help you get a test environment working?

This is appears to introduce a way to skip casting yet still map key names and use setXXXX() methods. Entity.php already has the setAttributes() method which allows directly applying attribute values without intervention, so in my opinion this PR offers a very niche and largely unnecessary change. I'm closing it for now but if you really believe there is a case for it please resubmit with User Docs, tests, and a case for this niche functionality.


Error: failed to generate container "..." spec: no command specified

I'm receiving this while trying to deploy Krustlet alongside GKE but I recall also receiving this error (ocassionally) when running with MicroK8s too.
Why does this error arise? Or, what does it mean? [So that I may debug the issue]
KUBECONFIG=${PWD}/kubeconfig-sa \
./krustlet-wasi \
--node-ip=${IP} \
--node-name=krustlet \
--pfx-password=password \
--pfx-path=./krustlet.pfx

NB No errors are reported by the Krustlet.

Then:
kubectl apply --filename=https://raw.githubusercontent.com/deislabs/krustlet/master/demos/wasi/hello-world-rust/k8s.yaml
configmap/hello-world-wasi-rust created
pod/hello-world-wasi-rust created

kubectl get pods
NAME                    READY   STATUS                 RESTARTS   AGE
hello-world-wasi-rust   0/1     CreateContainerError   0          3s

kubectl describe pod/hello-world-wasi-rust
Name:         hello-world-wasi-rust
Namespace:    default
Priority:     0
Node:         gke-cluster-default-pool-9eff5757-jvh2/<IP_ADDRESS>
Start Time:   Wed, 06 May 2020 12:41:30 -0700
Labels:       <none>
Annotations:  Status:  Pending
IP:           <IP_ADDRESS>
IPs:
  IP:  <IP_ADDRESS>
Containers:
  hello-world-wasi-rust:
    Container ID:
    Image:          webassembly.azurecr.io/hello-world-wasi-rust:v0.1.0
    Image ID:
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       CreateContainerError
    Ready:          False
    Restart Count:  0
    Environment:
      FOO:             bar
      POD_NAME:        hello-world-wasi-rust (v1:metadata.name)
      CONFIG_MAP_VAL:  <set to the key 'myval' of config map 'hello-world-wasi-rust'>  Optional: false
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-fctpg (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-fctpg:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-fctpg
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     krustlet/arch=wasm32-wasi:NoExecute
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                From                                             Message
  ----     ------     ----               ----                                             -------
  Normal   Scheduled  15s                default-scheduler                                Successfully assigned default/hello-world-wasi-rust to gke-cluster-default-pool-9eff5757-jvh2
  Warning  Failed     15s                kubelet, gke-cluster-default-pool-9eff5757-jvh2  Error: failed to generate container "62327f82f3c82c7e0bfe609983e9c5e0b8141c96024c3020b3579e41fa9d41cb" spec: no command specified
  Normal   Pulled     14s (x2 over 15s)  kubelet, gke-cluster-default-pool-9eff5757-jvh2  Container image "webassembly.azurecr.io/hello-world-wasi-rust:v0.1.0" already present on machine
  Warning  Failed     14s                kubelet, gke-cluster-default-pool-9eff5757-jvh2  Error: failed to generate container "eeb455ae3b51961bca3b320d846b17fc3b9f21c19975d024579ae781a9d51595" spec: no command specified

So this happens when it gets scheduled to a normal node, my fixes in #232 should fix this with a node selector on the architecture.
For some reason, the tolerations don't always work

Gosh you respond quickly! :-) Thank you.
I just deleted the GKE cluster but will try again tomorrow.

Your suggestion worked, thank you!
I added the nodeSelector and the network-unavailable toleration:
apiVersion: v1
kind: ConfigMap
metadata:
  name: hello-world-wasi-rust
data:
  myval: "cool stuff"
---
apiVersion: v1
kind: Pod
metadata:
  name: hello-world-wasi-rust
spec:
  containers:
    - name: hello-world-wasi-rust
      image: webassembly.azurecr.io/hello-world-wasi-rust:v0.1.0
      env:
        - name: FOO
          value: bar
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: CONFIG_MAP_VAL
          valueFrom:
            configMapKeyRef:
              key: myval
              name: hello-world-wasi-rust
  nodeSelector:
    kubernetes.io/arch: "wasm32-wasi"
  tolerations:
    - key: "krustlet/arch"
      operator: "Equal"
      value: "wasm32-wasi"
      effect: "NoExecute"
    - key: "node.kubernetes.io/network-unavailable"
      operator: "Exists"
      effect: "NoSchedule"


GROOVY-10543 Publish groovy-all as library

This is done by updating the attributes of the configurations
created by the Gradle java-platform plugin to match the
attributes of regular libraries.

Hey folks,
I opened this as a draft PR as it currently contains 0 tests. I could not find tests related to the published Gradle Module Metadata. If I missed them, could you point them out?
@melix Wondering what you think of that simple solution.

Sounds like a reasonable fix

Merged. Thanks!
We will add tests separately. I have just tried a few manual tests in the meantime and it seems to be behaving as expected.


Add QuickSelect algorithm

There's not any other crate that I can find that implements this, at least in a useful way. I figured I'd add it here instead of publishing my own just for a couple functions.
Addendum: add versions of the new functions which take ordering functions.

Thank you for the pull request!
I am not sure about making median_of* and in_order* public. Do you use them outside?

I didn't see much harm in making them public since they could be useful to someone. They might be better off moved up to the select module, though. Maybe also a median convenience function (and variants for inplace and providing an ordering function):
pub fn median<T: Ord>(data: &[T]) -> &T {
    qselect(data, data.len())
}

Can you please move them to select module then? If you want you can add the median function but I am ok to merge without it and implement it myself later.

@aleksandrpak new commits pushed.


[CP Staging] fix pdf not displaying on native

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/33626
PROPOSAL: https://github.com/Expensify/App/issues/33626#issuecomment-1869835988
Tests

Go to any chat.
Tap on the "+" button.
Tap on "Add attachment".
Tap on "Choose document".
Select any PDF.
Tap on "Send".
Wait for it to upload.
Verify that PDF preview is displayed in chat after upload success.

[ ] Verify that no errors appear in the JS console

Offline tests
N/A
QA Steps
Same as Tests

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/97676131/dee1eb00-471b-4c01-8c09-b9c5aace45c7

Android: mWeb Chrome
https://github.com/Expensify/App/assets/97676131/9cdd5b2d-9547-4c81-8f14-3303ceb72967

iOS: Native
https://github.com/Expensify/App/assets/97676131/f459d00c-c0ee-4e15-b75e-1f2116d85390

iOS: mWeb Safari
https://github.com/Expensify/App/assets/97676131/f4ca3907-4753-4e21-9c9e-3b3021bc9665

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/97676131/98e7bad9-8a90-4a21-b063-a2b0f74378e6

MacOS: Desktop
https://github.com/Expensify/App/assets/97676131/008df00a-04bb-4688-9dfb-cb21f96c11fe

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

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 1.4.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 1.4.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 1.4.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 1.4.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Login Error Message

From<EMAIL_ADDRESS>on March 08, 2012 17:18:22
What steps will reproduce the problem? 1.Connect to the CS Internet but do not sign in to CS account (No signal should be received)
2.Try to log in with a valid user name and password
3. Or try to create a new account that has a unique username What is the expected output? What do you see instead? Expected to show that connection isn't connected, but instead shows that user/password doesn't match, or when registering an account, it shows that the username/password has already been created. (even though it hasn't)  This is only when we try to log on when internet is connected but we can't get internet access.
Original issue: http://code.google.com/p/robotium/issues/detail?id=230

From<EMAIL_ADDRESS>on March 10, 2012 02:26:15
Status: Invalid


NEW: Ability to override SS_TemplateManifest via Injector (v3)

This is an alternative approach for addressing my other issue relating to #4738 (PR: #4739). Basically, instead of trying to tackle my functionality by modifying SS_TemplateManifest core, I can alternatively just override this class and use the Injector to instantiate my custom version of the class. This, however, still requires some minor modifications to Core.php in v3.
Side note: This may affect v4 (i.e. use Injector there too instead of new keyword), but I'm really not sure how to interpret this i.e. does developer have the ability to remove/change 'sets' here? It looks like it's done by another call to ->addSet() and simply overriding the original but that semantically seems odd to me :man_shrugging: But I've digressed.
Anyway, a quick fix to this as documented originally in https://github.com/silverstripe/silverstripe-framework/pull/4739#issuecomment-305286345
// Load template manifest the main "Layouts" directory.
SS_TemplateLoader::instance()->pushManifest(Injector::inst()->create('SS_TemplateManifest',
	BASE_PATH, project(), false, $flush
));

Merged, closing.


Parse tuple field reassignments

This is a partial fix for #905. Tuple field reassignments are now accepted by the parser and the parse tree converter, however they are still rejected by the semantic analysis phase of the compiler.

but why is it called a Projection?

That's the terminology I'm familiar with for the operation of extracting a field from a tuple. eg. see here: https://ncatlab.org/nlab/show/dependent+sum+type#as_a_negative_type


Increasing protobuf read size

Fix for https://github.com/combust/mleap/issues/164

@hollinwilkins here is the fix for #164
along with this also adding changes for my previous MR. My bad I had to change a class name and has an update for the transformer to work with Spark serialisation.
If you found this needs to be in different MR, let me know.

Looks good, will merge in after tests pass.


Fix panic in long item completion in ide menu

Ide menu uses ... for items that are very long, and if the prompt already contains some string inside of ... it will panic. It can be reproduced by completing the largest item in the ide_completions, then deleting one or two characters, and hitting Tab again.
The panic was found in #821

This is how I was able to repro the bug and test this fix.

cargo run --example ide_completions
h
the longest entry should now be selected with ... at the end
hit enter
hit backspace
hit tab

Thanks for fixing this. Let's go!


add a etcd monitor

This monitor is cleaner than redisMonitor because of how etcd works, using watchers is just simpler.
There should be a big improvement in networking usage on big clusters using this monitor because it only traffic data when it's necessary.
The etcd lib used already supports specifying many etcd nodes(for clustered etcd setup) and automatically handle reconnects.
Example usage
app.configure('development', function() {
  app.set('monitorConfig',
    {
      monitor: pomelo.monitors.etcdmonitor,
      etcdNodes: ["localhost:2379","localhost:2389","localhost:2399"],
      period: 2000,
      prefix: "pomelo-1"
    })
})

New constants
DEFAULT_ETCD_PERIOD
The default period that the servers will use to refresh ttl on their keys @ etcd.

awesome! thanks!


How to get Meta if there is no data retrieved

Hi,
Is there any way to get the meta value if a JSON is returned like that:

{
"data": [],
"links": {
"self": "http://foo.example.com"
},
"meta": {
"total-objects": 5,
"deleted-ids": []
}
}

Thanks

@heliomartins is it possible? how?


Android Applcation development tutorials

It is the repository that contains all of my working android application projects and it will help fellow learners to learn android fastly

[ x] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[ x] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Hi @Kapil706,
Thanks for this pull request (PR).
Unfortunately I will be closing it, as it does not conform to the style guide for new articles.
Feel free to open another PR.


blog: Migrating NDT clients to ndt7

Adds the blog post and resources for migrating ndt7.
http://website.mlab-sandbox.measurementlab.net/blog/migrating-ndt-clients-to-ndt7/

This change is

Greg's last name has two l's :)


comment api view export temporary

There is some issue for the api view rest api for go. Wait for fix and revert temporarily.

/check-enforcer override


Question: Why does Optimizely plugin get called for each track call?

Hi there,
First, allow me to say that I may just completely misunderstand how things work with Segment destinations. So, this question may come from a place of ignorance. But pressing on...
Why does OptimizelyFullStack call the iOS Optimizely plugin itself?
My understanding of DestinationPlugin is that the plugin is given an opportunity to modify the TrackEvent (for example) by passing back a different TrackEvent than what was passed in (usually by making a copy of the original, and adding new properties to it). Then, that modified TrackEvent gets sent to the Segment service online, and then that event is sent to the Optimizely destination. If that's true, then why would we need to call the iOS Client's Optimizely library here?
Just curious. Not trying to criticize the choice here, just trying to fill in my understanding.

Hi @skydivedan Thanks for reaching out, no worries at all.
The flow you are describing is correct for Destination Actions. The only one that the mobile libraries support is Amplitude Actions.  Unless otherwise stated, Destination Plugins in Analytics-Swift are the equivalent of a Device-Mode destination.
Destination Plugins
A Destination Plugin includes the given destination's SDK as a dependency. When an event is invoked in the Segment SDK we map a copy of the event to the partner-SDK's event structure the best we can but ultimately it is the partner-SDK that sends the event directly from the device to their own endpoints (ie these do not get sent from Segment's servers). This means you also have access to all of the partner-SDK functionality you would otherwise have if you were using it as a standalone product.
Choosing a Connection Mode
You'll notice some destinations offer both Cloud and Device Mode connections (ie Mixpanel), while some only have one or the other (ie Firebase). If a given destination has both options, your choice depends on what you need. If you just need data collected by Segment then you would want to choose a Cloud Mode connection. If you need additional information that is not collected by Segment but is collected by a destination's stand-alone SDK, you would would choose a Device Mode connection.
In cases where we only offer a Device Mode connection it is typically because the partner does not have an accessible API we can hit from our server's, or because it simply can't function as would be expected if the SDK isn't included (ie Firebase).
I have included a link to our docs here if you would like to read about this further. I hope this helps! Feel free to re-open if you have any other questions.


Add text back to logs page.

The text was missing because the Polymer filter was not defined in logs.html
Tested manually

:thumbsup:

Review status: all files reviewed, all discussions resolved, some commit checks pending.
Reviewed files:

src/generic_ui/polymer/logs.html @ r1

Comments from the review on Reviewable.io


Apply checksum after removing empty lines instead of before

I noticed the checksums on these lists were impossible to reproduce. After digging through the build script, it looks like the file has some empty newlines removed after the checksum is calculated. That means the checksum can only be reproduced if the empty newlines are added back again, but it's impossible for clients to know where to put those newlines. If clients cannot reproduce the checksum, they cannot use it to verify the integrity of the published files.
I reordered the build steps so that the checksums are calculated after removing the empty newlines. With that change, all that is required to reproduce the checksum is to remove the ! Checksum: ...\n line and take the base64-encoded md5 hash of the rest of the list, which is in-line with how other lists' checksums can be verified.

@antonok-edm Yes, this is a super old build script that should be refactored. Thank you, nice catch


Is it possible sync with Firestore?

I have to write lot of CRUD lately.
It maybe a  much better approach then using CRUD event in the Flutter Bloc
Then all I have to do is keep track of the uid, I think
Please advice.

Hi @cyrsis 👋
Thanks for opening an issue!
You can definitely hook it up to Firestore. All you need to do is write your own HydratedBlocFirestoreStorage class which implements HydatedBlocStorage and use it instead of the shared preferences storage.
Let me know if that makes sense or if you have additional questions. 👍

I think I am good, Thanks
somehow I ran into out of sync but I choose local state as true state save me a lot hours.


Replace web-console with better_errors + binding_of_caller

@lexi-lambda @taboularasa #42

Needs alphabetization.

Thanks @lexi-lambda — fixed

:shipit:


feat: change node version

:tada: This PR is included in version 3.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Segfault during glfwDestroyWindow (Linux)

OS and version: Arch Linux fully updated (2017/12/05)
Release or commit: glfw-3.2.1
Error messages: (none)
CPU: Intel Core i5-6200U
GPU: Intel HD Graphics 520
mesa version: 17.2.6-1
xf86-video-intel version: 1:2.99.917+800+g37a682aa-1
Call stack:
#0  0x00007ffe232574a0 in ?? ()
#1  0x00007f53af847a52 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#2  0x00007f53af7a746f in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#3  0x00007f53af6ad8d7 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#4  0x00007f53af6adb80 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#5  0x00007f53af6adbff in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#6  0x00007f53af686162 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#7  0x00007f53af6b069f in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#8  0x00007f53af5e4b1e in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#9  0x00007f53af940028 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#10 0x00007f53af904733 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
#11 0x00007f53b532f871 in ?? () from /usr/lib/libGLX_mesa.so.0
#12 0x00007f53b52fffbb in ?? () from /usr/lib/libGLX_mesa.so.0
#13 0x000055f263d77a94 in destroyContextGLX ()
#14 0x000055f263d7417e in _glfwPlatformDestroyWindow ()
#15 0x000055f263d6b6df in glfwDestroyWindow ()
#16 0x000055f263d6739e in glfwTerminate ()
#17 0x000055f263d60cfe in main(argc=1, argv=0x7ffe232576a8)

The example above shows glfwTerminate() but I was able to reproduce the same segfault by calling glfwDestroyWindow() from my code as well.
Anyone run into this before?

#1146; try master.

Scratch that. This does not happen when I roll back my code to a previous commit. I must be smashing the stack or something.


Fix $(realpath ...) substitution on OSX.

On OSX, if the target path does not exist, $(realpath $(includedir)) will return an empty string, which makes the pkg-config template somewhat useless.
This change ensures that the path exists before the template is substituted.

This will make make py3c.pc fail if includedir (/usr/local/include) doesn't exist and the user doesn't have permissions for it. But I guess that's acceptable.

Pushed as https://github.com/encukou/py3c/commit/e452f93e5095dfc0a5cb2f47ff59c716cd1c5a7c
Thank you!


[SPARK-48759][SQL] Add migration doc for CREATE TABLE AS SELECT behavior change behavior change since Spark 3.4 (branch-3.5)

What changes were proposed in this pull request?
This PR is a follow-up to #47152 against branch-3.5.
Add migration guide for CREATE TABLE AS SELECT... behavior change.
SPARK-41859 changes the behaviour for CREATE TABLE AS SELECT ... from OVERWRITE to APPEND when spark.sql.legacy.allowNonEmptyLocationInCTAS is set to true:
drop table if exists test_table;
create table test_table location '/tmp/test_table' stored as parquet as select 1 as col union all select 2 as col;
drop table if exists test_table;
create table test_table location '/tmp/test_table' stored as parquet as select 3 as col union all select 4 as col;
select * from test_table;

This produces {3, 4} in Spark <3.4.0 and {1, 2, 3, 4} in Spark 3.4.0 and later. This is a silent change in spark.sql.legacy.allowNonEmptyLocationInCTAS behaviour which introduces wrong results in the user application.
Why are the changes needed?
This documents a behavior change starting in Spark 3.4 for CREATE TABLE AS SELECT
Does this PR introduce any user-facing change?
No.
How was this patch tested?
doc build
Was this patch authored or co-authored using generative AI tooling?
No.

thanks, merging to 3.5/3.4!


Upgrade to linter v1.31.0

Description
Upgrade to linter v1.30.0
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #443
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

Please, resolve conflicts.

UTs will be added by a separate issue #423

Thanks for making this change & clean up the code :).
I've noticed that the CodeCov/patch marked the PR as broken (red ❌). I sent https://github.com/dapr/cli/pull/482 to fix that. If you want to merge with a green ✅ you can wait until that PR is merged and pull from master


Need to add #if UNITY_EDITOR in DependenciesHunter.cs

It would be necessary to add a #if UNITY_EDITOR before the first line and #endif after the last line, otherwise it would fail when making a build in unity.

Alternatively you can put it in a folder named Editor which I think is a more common approach to Editor only features like this one


Publish Microsoft Authored templates to azure samples browser

Publish azure-sql-db-session-recommender-v2 template to azure samples browser.
@hemarina and @yorek for notification.

@yorek  Could you review this PR and merge it if it looks good? Thanks a lot.

@yorek Could you review this PR and merge it if it looks good? Thanks a lot.


Update emissary from 3.6.0 to 3.8.1

Issue #, if available:
Description of changes:
Upgrading to use the latest version
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherry-pick release-0.17

/lgtm

/cherry-pick release-0.18
/approve

/lgtm
/approve


Can't detect msFullscreenEnabled in Windows 8.1

I have a Cordova hybrid app that works fine on iOs/Android and now I'm trying to make it work on Windows 8.1 desktop. The issue I ran into was that in the vgFullScreen service it wasn't detecting msFullscreenEnabled and so wasn't setting up the polyfill correctly. I got around it by forcing it to use ms if it couldn't detect anything else but I'm wondering if that is the best way.
// in case can't detect ms
if (polyfill == null)
    polyfill = APIs.ms;

BTW, the MSDN doc for msFullscreenEnabled says:-
"Because this property only returns true when an element is currently in full-screen mode, it shouldn't be used for feature detection."

Can you confirm that this hack works?
Open vg-full-screen-api.js and below the loop add this:
// In case can't detect ms
if (polyfill == null && APIs.ms.onchange in document) polyfill = APIs.ms;

Anyway, maybe is better to detect feature through request instead of enabled.

Hi, thanks for the response. Unfortunately onchange doesn't seem to be defined either so this code doesn't work for me. if I force the polyfill to ms then I can play the video ok but when I try and enter fullscreen i get an exception in the request method of the vgFullscreen service.
"Object doesn't support property or method 'msRequestFullscreen'"
If I use the vg-plays-inline then I can get it (almost) fullscreen but I would prefer to use the native controls.

BTW, which version of IE are you using? Fullscreen api is only available in IE11.

This is a Cordova app built with Ionic and the Intel XDK. I'm running it on a Surface Pro 3 with Windows 8.1 so that's IE11.

Still can't get this to work on Windows so as a work-around I'm using vg-plays-inline but then I loose the controls. How do I keep those visible?

Ok nvm, i found them. They were hiding under another element that I need to hide when it goes fullscreen. Still love to know why its not working native in windows so any suggestions gratefully received.

Confirmed in IE10.
I know your are focusing Videogular for mobile devices, but a little support on 'last 2 browsers" versions on desktop could be cool.

IE10 doesn't have support for fullscreen: http://caniuse.com/#search=fullscreen
Also, help is welcome, I don't have an IE11 to test, if you have one it would be great to see a PR.

I know the lack of support. Meaning "2 last versions" support for IE was IE11 and IE10.
I will try to find some time this weekend for a PR ;)

Thank you!
Probably you should take a look to this loop here and see what API is getting:
https://github.com/2fdevs/videogular/blob/master/app/scripts/com/2fdevs/videogular/services/vg-fullscreen-api.js#L74


feat(lang): add zh-TW,vi-VN language

add zh-TW and vi-VN language into univer

Pull Request Checklist

[ ] Related tickets or issues have been linked in the PR description (or missing issue).
[ ] Naming convention is followed (do please check it especially when you created new plugins, commands and resources).
[ ] Unit tests have been added for the changes (if applicable).
[ ] Breaking changes have been documented (or no breaking changes introduced in this PR).

You need to rebase onto origin/dev to ensure that your PR does not include other people's commits.


Startup problems

Hi,
I keep getting startup errors and I don't know what I'm doing wrong.
Could you guys help me out?
Thanks!

I've updated node/npm to the latest version thinking that was the Problem, but now homebridge won't start at all.. Little bit of panic right now. Anyone who can help?

try this:
sudo npm r homebridge -g
sudo npm i homebridge -g

Another question.
Where can I find the logs with the HEX codes after learning?
i'm on MacOS.
Patrick

they should appear in your terminal window.

It works like a charm!! Great app and works perfectly with my RM mini.
Another question: Is it possible for the RM to check the status of my television.
The remote has a universal on/off button. Now if my tv is off and the RM/homebridge thinks it is on and I ask Siri to turn off all my devices it turns my tv on.

no, it's not possible because ir can't get back current status of your tv. time to get a new smarter tv?
i've tv on smart plug so it makes 9yr old tv a bit smarter.
@lprhodes luke has done brilliant work!

I've got a 2015 LG OLED SmartTV which is smart enough with WebOS 3 but I can only turn it on with the Broadlink because wake on lan doesn't work

cool!
i used to work for company that originally designed webOS.

Cool!! Any ideas for making it easy to control the LG tv? Would love to have a reliable way to power on the tv, switch to a particular app/Chanel or input (HDMI) with the push of a button or activating a Apple Home Scene.

@Patrick1610 you' be better off talking to the guys at https://www.npmjs.com/package/homebridge-lgtv2 if you need to get the power status - you won't find that kind of thing through broadlink


made directory depth configurable

This is a first implementation to make the directory depth configurable. Please comment what you like/dislike. Will try to improve till you like it 😉

Hey, it's great to have dir depth configurable, but would it be better setting default to check to the 'bottom', instead of 1 level depth, and what's the point to hardcode MAXDEPTH :)

Sorry, don't understand what you mean. Can you explain it in more detail? Thanks!

I can see you set default directory depth to 2, just suggest making the default depth to 'max' i.e. search all sub directories no matter how deep they are (if -m is not specified in the command). Actually I submitted another pull request for that today :)

I did that on purpose to keep the old behavior and not break that

@bitboxer thanks for the PR but it doesn't seem to be working

Hm...interesting. Let me try to figure out what is wrong there . What directories do you have in your /Users directory? What is 11.27.45?

(And sorry for the late reply, I am on vacation right now ☀ )

Not sure, where it picked that up. There is nothing like this in there.

Hm...strange. What happens if you do find . -name .git -type d -maxdepth 2 in that directory? Do you see that 11.27.24 there?

Nope.

And it still happens?

Strange but yes. Here http://i.imgur.com/YRKQEry.png

Wait. I guess, I found the cause. Seems like some repositories in my trash were causing it.
./.Trash/ikes 11.27.45 PM/.git

Can you make it not look into my trash
Plus it doesn't seem to be working when you have spaces in the project directory name.

Yes, I should do the spaces thing. But I don't wanna exclude directories as default in there. That could lead to problems.

Okay fine. Fix the spaces issue and we are good here.

@kamranahmedse can you check if the whitespace issue is resolved? If yes, I will rebase this to the current master.

Yes it seems to be working fine now.

Perfect. It is now rebased.

Cool. Thanks :)


*: Replace “user-specified code” with “user-specified program”

In #466, I'd proposed replacing our old “user-specified process” with “user-specified code” to help distinguish between create (cloning the container process) and start (signaling the container process to execve or similar the user-specified $STUFF_FROM_THE_process_CONFIG).  That PR was rejected, although the renaming proposed there had already landed via #462.
This PR attempts to find a common ground between “process” (preferred by maintainers in #466, but which I consider incorrect) and “code” (which maintainers found confusing).  The Linux execve(2) says “program” and unpacks that to “a binary executable, or a script starting with a [shebang]”.  proc(5) documents /proc/[pid]/exe by talking about “the executed command”.  The POSIX exec docs call this the “process image” and talk about loading it from the “new process image file” (although they also sprinkle in a number of “program” references, apparently interchangeably with “process image”).
POSIX formally defines “command”, “executable file”, and “program”.  The only reference to “process image” in the definitions is in the “executable file” entry.  The “command” definition is focused on the shell, the “executable file” definition is focused on files, and the “program” definition talks about a “prepared sequence of instructions to the system”, so “program” seems like the best fit.

LGTM

LGTM

LGTM


[Intermediate][Demo]Code modules are split into separate C demo code

like transcode.c, quick_info.c...

I would like to work on this issue.


runtime: pin ed25519-dalek dependency

1.0.0-pre.3 is incompatible due to rand_os/rand_core transitive deps

What exactly is the problem with the rand crates? Is it a problem with SGX builds or in general?

Not specific to SGX builds. This is the error I get when compiling oasis-core-runtime outside of oasis-core:
   Compiling oasis-core-runtime v0.3.0-alpha (https://github.com/oasislabs/oasis-core#a7d41660)
error[E0277]: the trait bound `rand_os::OsRng: rand_core::CryptoRng` is not satisfied
  --> /root/.cargo/git/checkouts/oasis-core-d1e566606c486e34/a7d4166/runtime/src/common/crypto/signature.rs:41:20
   |
41 |         PrivateKey(ed25519_dalek::Keypair::generate(&mut rng))
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rand_core::CryptoRng` is not implemented for `rand_os::OsRng`
   |
   = note: required by `ed25519_dalek::ed25519::Keypair::generate`

error[E0277]: the trait bound `rand_os::OsRng: rand_core::RngCore` is not satisfied
  --> /root/.cargo/git/checkouts/oasis-core-d1e566606c486e34/a7d4166/runtime/src/common/crypto/signature.rs:41:20
   |
41 |         PrivateKey(ed25519_dalek::Keypair::generate(&mut rng))
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `rand_core::RngCore` is not implemented for `rand_os::OsRng`
   |
   = note: required by `ed25519_dalek::ed25519::Keypair::generate`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
error: Could not compile `oasis-core-runtime`.

If it is just that, it looks like something that would be simple to fix?


Fix query helper unit tests

This is wrong since the query helper file should have all methods private.


Merge FAQ entries risk_encounter_different_devices & dissimilar_indication_of_risk_status (Addresses #2536)

Description
This PR removes the FAQ entry risk_encounter_different_devices & adds a redirect to the FAQ entry dissimilar_indication_of_risk_status instead.
What was changed

https://www.coronawarn.app/de/faq/#risk_encounter_different_devices was deleted
https://www.coronawarn.app/en/faq/#risk_encounter_different_devices was deleted
A FAQ redirect from risk_encounter_different_devices to dissimilar_indication_of_risk_status was added

Screenshots
Nothing to see here, move along.

Fixes #2536

Due to technical difficulties caused by using the GitHubs "Rebase Branch to update this branch" feature, this PR is closed and replaced by https://github.com/corona-warn-app/cwa-website/pull/2674.


Memory Leak

I'm experiencing a memory leak directly related to the number of logs written. Implementation is....
public static class Program
    {
        public const string APP_NAME = "App";

        public static IConfiguration Configuration { get; } = new ConfigurationBuilder()
            .SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))
            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
            .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", optional: true)
            .AddEnvironmentVariables()
            .Build();

        public static void Main(string[] args)
        {
            LoggerConfigurationExtensions.SetupLoggerConfiguration(APP_NAME, Configuration);

            try
            {
                Log.Information("Starting up");

                CreateHostBuilder(args).Build().Run();
            }
            catch (Exception ex)
            {
                Log.Fatal(ex, "Host terminated unexpectedly");
            }
            finally
            {
                Log.CloseAndFlush();
            }
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.CaptureStartupErrors(true);
                    webBuilder.UseStartup<Startup>();
                })
                .UseSerilog((context, services, loggerConfiguration) =>
               {
                   loggerConfiguration
                       .ConfigureBaseLogging(Program.APP_NAME, context.Configuration)
                       .AddApplicationInsightsLogging(services);
               });
    }

    internal static class LoggerConfigurationExtensions
    {
        public static void SetupLoggerConfiguration(string appName, IConfiguration config)
        {
            Log.Logger = new LoggerConfiguration()
                .ConfigureBaseLogging(appName, config)
                .CreateLogger();
        }

        public static LoggerConfiguration ConfigureBaseLogging(this LoggerConfiguration loggerConfiguration, string appName, IConfiguration config)
        {
            loggerConfiguration
                .ReadFrom.Configuration(config)
                .Enrich.FromLogContext()
                .Enrich.WithProperty("AppName", appName)
                .WriteTo.Async(a => a.Console(theme: AnsiConsoleTheme.Code))
                .WriteTo.Debug();

            return loggerConfiguration;
        }

        public static LoggerConfiguration AddApplicationInsightsLogging(this LoggerConfiguration loggerConfiguration, IServiceProvider services)
        {
            loggerConfiguration
                .WriteTo.ApplicationInsights(services.GetRequiredService<TelemetryConfiguration>(), TelemetryConverter.Traces);

            return loggerConfiguration;
        }
    }

Stats from linux container.

Dump comparison over 12 hour period. If logging is turned up it's significantly worse.

Logging method isn't anything special. Inject ILogger and write some stuff to it. Remove the ApplicationInsight sink removes the leak. Application Insights is still writing it's normal telemetry however. I'm having difficult diagnosing. Any help/guidance appreciated.
It does appear that TelemetryClient is never getting disposed?

Maybe related ? https://briancaos.wordpress.com/2020/05/07/c-azure-telemetryclient-will-leak-memory-if-not-implemented-as-a-singleton/

We're not in control of TelemetryClient as it's part of the sink. It does look like it's a singleton

Closing as this seems to be unrelated to this sink itself, but if you can track this to a bug in the sink, do please let us know. Thanks!


Add support for GA4

GA4 support added for Hugo internal templates officially - https://gohugo.io/templates/internal/#google-analytics
Modified layouts/_default/baseof.html to support GA4 officially.

All the new Google Analytics use GA4, would love to see this merged.

I created #408 to support both GA4 and UA

Is this project still actively maintained?


core: increase version to 0.15.3

Category

Version change

Overview

Increased version to 0.15.3, this should be used to create a new release once the related pull requests are merged

Pull Request Numbers

Related issue: #2002 #1984

Could you also include #2012 with the release? Just a minor tweak to the proxmox widget that could help if people have issues.


cannot modify files

Environment (please complete the following information):

OS (e.g., Windows 10):
Extension version (e.g., 1.2.3):

Describe the bug:

Repro steps:

Expected behavior:

Additional context:

files cannot be modified

Closing as incomplete. Please feel free to add more information if you have any and we can re-open the issue.


Adds license information to the setup function

As suggested in https://packaging.python.org/distributing/#license

Don't think that's the right value


Inability to grant permissions to some users' credentials

In at least one instance, a user who belongs to a group (and is even a group owner) cannot grant read and write permissions to that group's topics to a credential. Symptoms are that the web UI allows the relevant check boxes to be checked, but the changes vanish later, e.g. when reloading the credential management page. This suggests that the permission is not actually being stored in the backing database. The same problems occur hen an admin tries to add the permissions on the user's behalf.

There are at least two distinct bugs here:

If a CredentialKafkaPermission with operation==All exists, the manage_credential page incorrectly displays it as having neither read nor write permission, and it is unclear how to alter it (or whether there is any working way to do so).
If an admin uses the manage_credential page and attempts to alter permission settings on another user's credential, whether those changes are valid is incorrectly checked based on the admin's permissions (permissions granted to groups of which the admin is a member), rather than the target user's permissions

https://github.com/scimma/scimma-admin/pull/72


Data bag item hash can have name key

This PR resolves https://github.com/chef/chef/issues/4392
In cases where the data bag item is loaded with json that does not have the canonical knife format (with the user fields in "raw_data"), then the loading code was explicitly deleting the "name" key.  It is not clear whether the deletion of the "name" key actually served any purpose (in the case where the raw_data IS present, deleting "name" is a no-op), so removing it.
@chef/client-core @thommay @tas50 @lamont-granquist

seems odd that was ever there, still kinda wonder how that happened...  but :+1:

:+1:


[live] <= [master] Merged additional validation

Docs Build status updates of commit 40b72b0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

advocates/cecil-phillip.yml
:white_check_mark:Succeeded
View

advocates/chloe-condon.yml
:white_check_mark:Succeeded
View

advocates/nina-zakharenko.yml
:white_check_mark:Succeeded
View

advocates/thomas-lewis.yml
:white_check_mark:Succeeded
View

validation/Program.cs
:white_check_mark:Succeeded

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


Implementing custom blocks into vanilla recipes

So, I've made a custom wood block in my mod and now I can't find any way to make it work with all vanilla recipes. Do I have to create a lot of JSON files for each of  standard items like crafting table, chest, boat, sticks etc.. or is there any better method for that?

As of 1.12, you cannot really do this. With 1.13, you could add your custom block to the minecraft:planks tag.

Oh, I see. Is modding in 1.13 going to be changed a lot or it'll add just a bunch of useful commands?

In the modding way, I don't really know. But for sure, most of every objects will be renamed.

It doesn't sound like you are using forge for modding anyways, so no, modding won't change a lot. The new additions are some functions and the new tags. Those tags are basically the same as forge's oredictionary entries, registering your wood under the entry "planksWood" should make it available and you should be able to craft chests, sticks etc with it.

Anyway thanks for information


Add ASCII art visualization for DAG, use this in failure reporting, and success reporting with --verbose

Super important for @ihortom

It's the ASCII art part that's hard here (using backslashes or pipes for edges etc). This is mainly because of complications such as font width etc (th is shorter than W etc).
Printing a topologically sorted version of the file like:
                                       A
                                B          C
                                D          E

would probably complete the use-case, and be a bit less complicated to implement?

I think here, let's not get stuck on the ASCII Art aspect. If we have to pipe the output from Factotum into another tool like dot2png, so be it.

This could also be like:
A -> B
C -> D

The important thing here is to see which tasks have dependencies set up - so you can catch it if one is missed.

We could store these images with the Factfile - as we do with makefiles currently

This is completed in https://github.com/snowplow/factotum/commit/2536f98e809baa11553c696dee9fe7384f77cd7d which introduces a new command factotum dot job.factfile to generate a graphviz dot file representation of the DAG (which can then be plugged into a standard toolchain)

Super cool!

@ninjabear - below is the output I got when running one of the factiles:
    "check-lock"
    "emr-etl-runner"
    "storage-loader"
    "run-dedupe-sql"
    "check-lock" -> "emr-etl-runner"
    "emr-etl-runner" -> "storage-loader"
    "storage-loader" -> "run-dedupe-sql"

I thought the DOT syntax would be rather like
    1 [label="check-lock"]
    2 [label="emr-etl-runner"]
    3 [label="storage-loader"]
    4 [label="run-dedupe-sql"]
    1 -> 2
    2 -> 3
    3 -> 4

Otherwise, I see no point in the top section (extra noise)
    "check-lock"
    "emr-etl-runner"
    "storage-loader"
    "run-dedupe-sql"

Just the below will suffice
    "check-lock" -> "emr-etl-runner"
    "emr-etl-runner" -> "storage-loader"
    "storage-loader" -> "run-dedupe-sql"

Hey @ihortom, are you using a tool to read these? Check out http://www.webgraphviz.com/ for an example, there's also a command line utility called dot which can generate images of the DAGs.

@ninjabear - ah, great! Thanks for that.


I tried to recapture the experiments in the Asm2Vec paper using this implementation yet my results are really bad - what is the problem?

I attempted to use this library to figure out the cosine similarity between the O0 and O3 optimized functions in coreutils version 8.30  (taken from https://github.com/yueduan/DeepBinDiff). In order to try to replicate the results, I used the same options for training as in the paper - embedding dimension 200, learning rate 0.025 - and changed the number of random walks to be 10 as in the paper.
I found the average cosine similarity to be 0.128. Given that the results in the paper show that Asm2Vec should correctly match around 80% of O0 and O3 functions, the score is very poor. Do you have an explanation?

Hi, have u solved ur problem?
I find its strange that whatever dataset I use to train the model, it shows a quite bad performance, about only 30% accuracy after 100 epochs.
So I think there is something wrong with this implement.