Hardcoded pin definitions in pins_me1x.c are inconvenient for some workflows

The hardcoded pin definitions in msdk/Libraries/PeriphDrivers/Source/SYS/pins_me1x.c cause issues when not using all the possible pins for a specific peripheral, like SPI busses.
For example, we are using a MAX32666 with a basic 4-wire SPI bus on SPI1 (CS, SCK, MOSI/SDIO0, and MISO/SDIO1 only). When we call MXC_SPI_Init(...) it initializes all the pins we want, but it also initializes the P0.20/SDIO2 and P0.21/SDIO3 pins as function AF2, which we don't want.
The SPI init call is here: https://github.com/analogdevicesinc/msdk/blob/79af4e9980b6141f2cb9797e6085727e88d7fee3/Libraries/PeriphDrivers/Source/SPI/spi_me14.c#L95
And the pin definitions are here: https://github.com/analogdevicesinc/msdk/blob/79af4e9980b6141f2cb9797e6085727e88d7fee3/Libraries/PeriphDrivers/Source/SYS/pins_me14.c#L92
We are using pins P0.20 and P0.21 for other purposes, and we don’t want their config to be overwritten by initializing an unrelated SPI bus. Since gpio_cfg_spi1 is const we can't easily just edit the fields of the mxc_gpio_cfg_t.
The same thing comes up with the SDHC peripheral, we are using the Write Protect pin P1.6 for something else, but any time we init the SDHC bus it undoes our desired pin config.
This is an issue because we are dynamically turning peripherals on and off and multiplexing some pins, so it gets unwieldy to ensure that we always re-init the pins for an unrelated peripheral when we call a SPI/SDHC init function.
Does this make sense, and is there any guidance on how to manage this?
My first instinct is to create a custom pins_me14.c file that we compile and link instead of the one in the MSDK SYS dir. Is there an easy way we can use project.mk to disable the  msdk/Libraries/PeriphDrivers/Source/SYS/pins_me14.c file from being compiled and linked, and instead sub in our own custom version? Other suggestions are welcome.
I have been messing around with the build system a bit, but I am not sure what is the best way to accomplish the above. We'd rather not make everyone on the team edit the msdk/Libraries/PeriphDrivers/Source/SYS/pins_me14.c file that comes with the installation.
TL;DR how can we stop calls to MXC_SPI_Init(...) from configuring all the QSPI pins when we only want 3-or-4-wire SPI?
Thanks!

Hi @JordanAceto,
One option you have is to define MSDK_NO_GPIO_CLK_INIT in your project.  We added this to support Zephyr, which has its own GPIO and clock configuration system.  If this is defined, the GPIOs will not be configured during peripheral Init routines and you can manage them directly.
# project.mk
PROJ_CFLAGS += -DMSDK_NO_GPIO_CLK_INIT

See here for SPI: https://github.com/analogdevicesinc/msdk/blob/79af4e9980b6141f2cb9797e6085727e88d7fee3/Libraries/PeriphDrivers/Source/SPI/spi_me14.c#L51
Looks like we're missing it for SDHC though...  Will need to add that in.  https://github.com/analogdevicesinc/msdk/blob/79af4e9980b6141f2cb9797e6085727e88d7fee3/Libraries/PeriphDrivers/Source/SDHC/sdhc_me14.c#L47

My first instinct is to create a custom pins_me14.c file that we compile and link instead of the one in the MSDK SYS dir. Is there an easy way we can use project.mk to disable the msdk/Libraries/PeriphDrivers/Source/SYS/pins_me14.c file from being compiled and linked, and instead sub in our own custom version? Other suggestions are welcome.

This is an interesting option and would help avoid cluttering up your application's setup phase with MXC_GPIO_Config calls.
There's no way currently, but I think it could be implemented relatively easily as a PINS_FILE option.  I'll add this as an enhancement option since I think it'd also be useful for users who want to change VDDIO -> VDDIOH, etc.

Np!  One other thing to note is that the clock enable is also skipped.  (UART for example:  https://github.com/analogdevicesinc/msdk/blob/79af4e9980b6141f2cb9797e6085727e88d7fee3/Libraries/PeriphDrivers/Source/UART/uart_me14.c#L82))
So you'll need to add in a MXC_SYS_ClockEnable for the peripherals as well.
Will leave this open to resolve:

[ ] : Add MSDK_NO_GPIO_CLK_INIT to SDHC Init
[ ] : Add some documentation on this to the UG
[ ] : Implement PINS_FILE


The config cluster's east west gateway cannot connect the external cluster

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
I setup the external cluster, remote cluster and the secondary cluster in the tutorial: https://preliminary.istio.io/latest/docs/setup/install/external-controlplane/
But the remote cluster's eastwest gateway cannot connect the external server because the external server failed to get the kube client of the cluster.
Error in the external cluster's istio: Failed to authenticate client from <IP_ADDRESS>:54272: Authenticator ClientCertAuthenticator: no verified chain is found; Authenticator KubeJWTAuthenticator: could not get cluster Kubernetes's kube client
I need some help to diagnostic why this error happens.
Version
1.18.1

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Sounds like the client proxy is configured as clusterName=Kubernetes, but the control plane was configured with its cluster ID as a different name.
So probably when you installed you used inconsistent namings. Its hard to say more since you didn't provide any information about what you did.

Thanks for your quick response. I don't know why the clusterName=Kubernetes as I did not configure that name. I have two remote clusters, one cluster works well while another cluster which is also configured as the config cluster does not. So I made some changes here, use the external cluster as the config cluster instead of use the remote cluster. Now both remote cluster works well now.
I don't know why it behaves like this as I am still new to Istio, I am wondering why the tutorial use the remote cluster as the config cluster, is it recommended to use the application workload cluster as the config cluster?

clusterName=Kubernetes is the default, so if you didn't configure it you would get that


fn: sleeper image is now deprecated

Please use fn-test-utils instead for testing.

Partially fixes: #656


Release Azure.ResourceManager.WebPubSub

dup with https://github.com/azure/azure-sdk-for-net/issues/25070


Added license to package.json

I see that it's listed in the README, but this helps computers know the license too.

This would be quite helpful for tools like nlf.
@jfhbrook Are you able to accept this PR and publish to npm?

@spalger @cbas I just fixed this, the package has a LICENSE file in it now.

Sorry, didn't realize these were actually 2 separate issues.
Thanks!

:+1:


Colorscheme is overriding json highligthing

Color scheme is overriding json highlighting. I am using codecourse and it is overriding this themes json highlighting.

Same problem, with gruvbox colorscheme

Same problem, and the solution I found:

Overriding the syntax highlighting colour fixed it for me. e.g. hi! def link jsonKeyword Identifier
- https://github.com/elzr/vim-json/issues/50#issuecomment-156357803


[bufix] Batch submit jobs needs to filter the input keyword arguments

If we have arguments that are None, then we have not include them as keyword
arguments.
See: https://github.com/vemel/mypy_boto3_builder/issues/30
See: https://github.com/boto/botocore/issues/2075

Codecov Report

Merging #14 into master will increase coverage by 3.8%.
The diff coverage is 76.7%.

@@           Coverage Diff            @@
##           master     #14     +/-   ##
========================================
+ Coverage    73.3%   77.2%   +3.8%
========================================
  Files          11      11
  Lines         428     439     +11
  Branches       52      45      -7
========================================
+ Hits          314     339     +25
+ Misses         94      89      -5
+ Partials       20      11      -9


Authorization of the web development problems

I want a similar Google that look like small Windows authentication but not to jump to a new page, and I use the vue. Js.And dropbox jump back path does not support path there is  #  but vue router must be, what should I do

@LeoMeng1 I'm not sure I understand your question. Can you elaborate? Please feel free to share any code, output, screenshots, etc. that may help illustrate. Thanks in advance!


'terminal.integrated.shell.windows' of workspace is ignored by python launcher

Environment data

VS Code version: 1.44.0
Extension version (available under the Extensions sidebar): 2020.3.71659
OS and version: Windows 10 ver.1909
Python version (& distribution if applicable, e.g. Anaconda): 3.7.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Relevant/affected Python packages and their versions: (None)
Relevant/affected Python-related VS Code extensions and their versions: (None)
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): True
Value of the python.languageServer setting: Microsoft

Expected behaviour
If 'terminal.integrated.shell.windows' is set in XXX.code-workspace file, it overrides the same value of user level setting.
Actual behaviour
Python launches on 'terminal.integrated.shell.windows' of user setting, and it ignores 'terminal.integrated.shell.windows' of workspace setting.
Steps to reproduce:

Set workspace
Create test.code-workspace as the following;

{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {
		"terminal.integrated.shell.windows": "${env:SystemRoot}\\system32\\cmd.exe"
	}
}

Open this workspace from menu [Open Workspace]

Open terminal (i.e. [Ctrl]+[j])

Command Prompt is opened.
Select [Allow], if VSC shows the message about 'Terminal change'.

Change default terminal to PowerShell  in terminal menu 'Select Default Shell'

Open terminal again (i.e. [+] button of terminal window top)

Command Prompt is opened.

Open python code on editor and start debug (i.e. [F5])

Python launches on PowerShell

@Hoshino-Roxy, thanks for letting us know about this.  Sorry about the delay.  Functionality related to the shell is handled by VS Code.  The Python extension is not involved.  It only uses the configuration to determine how to build commands to send to the terminal.  So you will need to open a new issue upstream.
Before you do that, I just want to see what info the Python extension captured for this.  Please provide the contents of the "Python" output panel, as well as the "Developer Tools" console log (Console under the Developer Tools panel;  toggle Developer Tools on under Help).
Also, just so we're clear on how settings get resolved, the VS Code API docs have a good explanation.

Thanks for your reply.
I have no time right now, we will check it and reply to you in a few days.

This problem have been fixed the following version:

VS Code version: 1.45.1
Extension version (available under the Extensions sidebar): 2020.5.78807

Thanks for the improvement!

I made a mistake in the confirmation method.
This problem have not been fixed yet.

This is console logs:
console_log.zip

ps_launch_vsc.log : Launch VSC, default condle is PowerShell
cmd_launch_vsc.log : Launch VSC, default condle is cmd
cmd_debug_python.log : Start debug python script, default condle is PowerShell
cmd_debug_python.log : Start debug python script, default condle is cmd
change_shell_cmd2ps.log : Change default script from cmd to PowerShell

@Hoshino-Roxy, please provide the content of the "Python" output panel as well.  Thanks!

These are logs of "Python" output panels. This file name is the same one as the above logs.
python_log.zip

I'm not seeing anything useful in the extension's logs.  As noted earlier, you'll need to open a new issue against VS Code.  Sorry we couldn't help.

@Hoshino-Roxy -- for future reference & for others also encountering your issue:

The workspace-scoped override of the terminal.integrated.shell settings are disabled by default in vscode.
You can enable this from View -> Command  Palette and selecting "Terminal: Manage Workspace Shell Permissions".


Get a random subnet id from a list of subnet ids

Description of changes:
Our e2e tests are failing with the below error,
InsufficientInstanceCapacity: We currently do not have sufficient t3.2xlarge capacity in the Availability Zone you requested (***a). Our system will be working on provisioning additional capacity. You can currently get t3.2xlarge capacity by not specifying an Availability Zone in your request or choosing ***b, ***c, ***d.

Getting a random subnet id from the string containing multiple subnet ids to fix the above issue.
Testing (if applicable):
Documentation added/planned (if applicable):
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.20
/cherry-pick release-0.21

/cherry-pick release-0.20
/cherry-pick release-0.21

/cherry-pick release-0.21


Support arrays of enums

if I have an enum with Storable as rawValue's type (e.g. String or Int) then it would be nice to be able to pack/unpack that array of enums directly

Ignore this. I enum wasn't properly conforming to the Storable protocol.  I think the documentation should add examples of toDictionary() to make this more clear (the README only shows init?(warehouse: Warehouseable))
But once enum conforms to Storable .pack happily accepts the array

no worries @nickoneill   Made a new issue https://github.com/nickoneill/Pantry/issues/43
The library is really nice to work with.


Login failed with error: Invalid username

Getting this error while setting up the integration:
Login failed with error: Invalid username
Same account works in the app.

Same for me after HA restart:
Podrobnosti dnevnika (ERROR)
This error originated from a custom integration.
Logger: homeassistant.config_entries
Source: custom_components/skodaconnect/init.py:790
Integration: Skoda Connect (documentation, issues)
First occurred: 13:05:03 (1 occurrences)
Last logged: 13:05:03
Error setting up Xxxxxxxxxxxxxxx for skodaconnectTraceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/skodaconnect/connection.py", line 357, in _signin_service for t in responseSoup.find('form', id='credentialsForm').find_all('input', type='hidden'): AttributeError: 'NoneType' object has no attribute 'find_all' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 313, in async_setup result = await component.async_setup_entry(hass, self) # type: ignore File "/config/custom_components/skodaconnect/init.py", line 142, in async_setup_entry if not await coordinator.async_login(): File "/config/custom_components/skodaconnect/init.py", line 790, in async_login if await self.connection.doLogin() is False: File "/usr/local/lib/python3.9/site-packages/skodaconnect/connection.py", line 136, in doLogin return await self._authorize('skoda') File "/usr/local/lib/python3.9/site-packages/skodaconnect/connection.py", line 207, in _authorize location = await self._signin_service(req, authissuer, authorizationEndpoint) File "/usr/local/lib/python3.9/site-packages/skodaconnect/connection.py", line 366, in _signin_service raise SkodaAuthenticationException("Invalid username") skodaconnect.exceptions.SkodaAuthenticationException: Invalid username

Exact same error as dolenec after HA restart.

Me too, cannot Login and car anymore.

I had to reinstall the integration because of a change of IP from Home Assistant. now I can no longer log in. it spins and spins, just doesn't go any further

Since updating to HA  2021.12.10 yesterday :(

Same for me, since yesterday..

Same here after HA restart.

Same here after HA restart. The python script attempts to retrieve the login form from the Skoda Connect web portal, and it seems the form can't be found by its id - perhaps the login form has changed. I'll do some more digging later.

Yes the login form has changed. The library is updated and a new release will be pushed soon.

@craigrouse @kpeson @mze9412 @MarcoGos @dolenec @vBrolin @terriblefox @sondi2003
Please try latest release, 1.0.63. It should also contain minor cosmetic fixes for HA 2021.12+.

@Farfar Working like a charm again. Thanks for the quick response.

Excellent! I have reports from multiple users now stating that it works so I'll close this issue.


Update spamfilter.js

Update spam referral list in rows #18 and #19

Hey,
www.event-tracking.com and all the free-social-buttons.com hostnames are redundant, as they are already excluded with "event-tracking.com" and "social-buttons.com". The RegEx filter is pattern match, so it's enough that a string appears in a hostname to exclude it.


Outdated screenshot for bookmark option

This screenshot ...
https://docs.microsoft.com/en-us/power-bi/collaborate-share/media/service-automate-power-bi-report-export/automate-report-bookmark-url-12.png
... used on this help page ...
https://docs.microsoft.com/en-us/power-bi/collaborate-share/service-automate-power-bi-report-export
... is VERY poor, as it does NOT show what is needed to be entered into that field.
The correct entry is NOT "?bookmarkGuid=D49722...", but rather in the format "Bookmarkf3078817d7c17fa3fd5d" -> so w/o the "?bookmarkGuid=" and starting with "Bookmark..." in the meantime.
It took me significant time to figures this out - so please update your screenshot / documentation to help other users to avoid the same, bad experience.

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

ID: d92e4209-59ef-2aed-dd62-b38c443d96d3
Version Independent ID: ba65faca-8ef1-3cb3-3a32-bc23fbb1e64c
Content: Export and email a report with Power Automate - Power BI
Content Source: powerbi-docs/collaborate-share/service-automate-power-bi-report-export.md
Service: powerbi
Sub-service: pbi-collaborate-share
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks, @schuffa! Checking this and will get back to you.

Hi, @schuffa -- we've updated the article; change will be live tomorrow. Note though that your issue may result from using the word "bookmark" in the bookmark itself, leading to confusion.
Hope that helps!

I have no issues using "Bookmark..." -> works perfectly fine. It's rather the opposite, that what was in the article ("?bookmarkGuid=D49722...") has NOT worked. Looking forward to the changes which are on the way to be pubilshed


it:test and test:test output files clash

I am trying to get it:test to run. I read https://www.scala-js.org/doc/project/testing.html.
When I run test:test, a file named my-project-test-fastopt.js is created. So far so good. But when I run it:test, the compilation output also goes to my-project-test-fastopt.js, and the result is different (as it contains the compilation of different test classes). This does not seem right.
In ScalaJSPluginInternal.scala, I notice that -test is appended. So I tried something like:
.jsSettings(inConfig(IntegrationTest)(ScalaJSPluginInternal.scalaJSTestSettings ++ (Seq(fastOptJS, fullOptJS) map { packageJSTask =>
    moduleName in packageJSTask := moduleName.value + "-it"
  })): _*)

This does create my-project-it-fastopt.js, although I still get a my-project-test-jsdeps.js (which might be right or not, I don't know, and might not be very relevant nowadays anyway).
Using Scala.js 0.6.19.

What setup do you have to configure it with Scala.js to begin with? By default, sbt-scalajs does not configure the it configuration at all.

The setup documented at https://www.scala-js.org/doc/project/testing.html.

Your "workaround" snippet is the right thing to do to give a custom name to the output of

Thanks. I have been struggling with it:test and Scala.js and for now I have reverted to using test:test in a separate sbt subproject as I had to get the test working ;) I hope to get back to it:test once the dust has settled.

Fixed in 111e414557eb8fb041fc5578531b275b0cb9a7cc.


Speed up virtual environment detection in workspace

Fixes #372

This should wait until the next release probably.

No Problem, It was planned for this release, but didn't use the right variable. Will defer the merge until the release.


Modify DADI dadi-p2proxy

My understanding is as follows.
DADI's p2proxy supports downloading back to the source(image registry). For example, vm2 sends a layer block request to vm1, if vm1 has no the block, finally it can get the block from registry.
As for FaaSNet' p2p, assuming there is such a pipeline: registry->vm0->vm1->vm2. So vm2 sends a layer block request to vm1,
vm1 will only responds to the request after downloading from VM0.
So to support for FaaSNet, i use golang's conditional variable to build sync lib.
import (
	"sync"
)

type Synclib interface {
	Wait(key string)
	Broadcast(key string)
}

type syCache struct {
	lock         sync.Mutex
	waitMap      map[string]*sync.Cond
	broadcastMap map[string]struct{}
}

// NewSyCache
func NewSyCache() Synclib {
	return &syCache{
		waitMap:      make(map[string]*sync.Cond),
		broadcastMap: make(map[string]struct{}),
	}
}

// key := filepath.Join(r.path, strconv.FormatInt(offset, 10))
func (sc *syCache) Wait(key string) {
	sc.lock.Lock()
	defer sc.lock.Unlock()

	if _, ok := sc.broadcastMap[key]; ok {
		return
	}

	val, ok := sc.waitMap[key]

	if ok {
		val.Wait()
		return
	}

	// first one
	cond := sync.NewCond(&sc.lock)
	sc.waitMap[key] = cond

	cond.Wait()
}

func (sc *syCache) Broadcast(key string) {
	sc.lock.Lock()
	defer sc.lock.Unlock()

	sc.broadcastMap[key] = struct{}{}

	val, ok := sc.waitMap[key]

	if !ok {
		return
	}

	val.Broadcast()

	delete(sc.waitMap, key)
}

When vm1's p2proxy server receives vm2's request, if vm1 has no the layer block, vm1's p2pHandler goroutineA will invoke Wait() until vm1 fileCacheItem.Fill(fetch)  from vm0. After fetching the layer block, vm1's goroutineB will invoke Broadcast() to wake up goroutineA.
My problem is Creating container takes too long.
Assuming there is such a pipeline.
                      ----> vm2
registry----->vm1
                      ----> vm3

vm1 took 5191ms(commonly takes 2200ms from registry) to create a container, and vm2 and vm3 took 14520ms to create the same container.  time sudo nerdctl run --snapshotter=overlaybd xxx
I cat /var/log/overlaybd.log and find that vm2 and vm3 open dev took ~1700ms(log output).
I have no idea what causes the problem.

/etc/overlaybd/overlaybd.json:
{
    "logConfig": {
        "logLevel": 1,
        "logPath": "/var/log/overlaybd.log"
    },
    "cacheConfig": {
        "cacheType": "file",
        "cacheDir": "/opt/overlaybd/registry_cache",
        "cacheSizeGB": 4
    },
    "gzipCacheConfig": {
        "enable": true,
        "cacheDir": "/opt/overlaybd/gzip_cache",
        "cacheSizeGB": 4
    },
    "credentialConfig": {
        "mode": "file",
        "path": "/opt/overlaybd/cred.json"
    },
    "ioEngine": 0,
    "download": {
        "enable": false,
        "delay": 600,
        "delayExtra": 30,
        "maxMBps": 100
    },
    "p2pConfig": {
        "enable": true,
        "address": "localhost:30000/dadip2p"
    },
    "exporterConfig": {
        "enable": false,
        "uriPrefix": "/metrics",
        "port": 9863,
        "updateInterval": 60000000
    },
    "enableAudit": true,
    "auditPath": "/var/log/overlaybd-audit.log"
}


Remove suppression in try/catch

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
-

That won't work in case Yii error handler isn't used. See how it should be done in https://github.com/yiisoft/files/blob/master/src/FileHelper.php#L43

👍


need pull_request trigger for branch updates

#6155 removed the pull_request trigger, but we need it since it triggers when we update a branch from master, for instance, or push a small change. That way we don't need to ask for reapproval in those cases.
I think types: edited is the correct thing to put. We don't need the workflow to run when the PR opens, or closes, etc.
I also fixed the names of the latest release workflow being the same as the branch release workflow, which then got me carried away to make all the names shorter and more accurate.

I'll merge this after @pavera's merge so we don't have to update branches excessively.


istioctl IST0162 wrong report

install istio default profile
inject httpbin
apply samples/httpbin/httpbin-gateway.yaml
run istioctl analyze, your will receive following warning

Warning [IST0162] (Gateway default/httpbin-gateway) The gateway is listening on a target port (port 80) that is not defined in the Service associated with its workload instances (Pod selector istio=ingressgateway). If you need to access the gateway port through the gateway Service, it will not be available.

but actually this's fake report, gateway listen at 8080 and svc export at 80(with target port 8080).

I will take a look

I checked the code of the analyzer and the report seems intentional given what was changed here https://github.com/istio/istio/pull/45726 (bookinfo samples was already updated due to the analyzer failing on it in istio.io https://github.com/istio/istio/pull/45943)
I'm a bit concerned because if it is indeed intentional then we have to update the samples (httpbin is not the only one) and quite some examples in istio.io
pinging @hanxiaop for his opinion since he was involved in the original changes

@leosarra The samples work as expected: if gateway has 80 and service has targetport 8000, it will indeed listen to 8000. The fix made in #45726 may not be sufficient though, which leads to the false positive result.

The fix made in #45726 may not be sufficient though, which leads to the false positive result.

Then would it make sense to modify the analyzer to verify that the gateway port matches either the target port (if defined) or the port of the service gw?

The fix made in #45726 may not be sufficient though, which leads to the false positive result.

Then would it make sense to modify the analyzer to verify that the gateway port matches either the target port (if defined) or the port of the service gw?

I don't think this is quite right, as if the port and targetport are the same, and the gateway has specified a different port, it will still listen to the targetport.


Transport from Development to Productive System

Hi,
a simple question about transporting abapGit from SYSTEM-Layer to PRODUCTIVE-Layer...
Do I have to install abapGit in each system, or how does it works? When I transport it within STMS there occur errors...

Thanks in advance.
Thorsten.

Transporting abapGit itself with STMS should work, what is the error message?

we have imported with abapGit. After that we would transport it via STMS.
But he cannot find some classes etc. because many were all under $TMP.
And not within the created package. The return code after trying to
transport to Quality or productiv layer is 8.
To transport abapGit into the development layer is not the problem. The
problem is the transport from the developer layer to the quality and
productive layer.
therfore the question: Should I "install" abapGit in each layer or is there
a way to transport it within the layers development, quality and
productive...???
Best regards,
Thorsten Fey
On Mon, Jun 12, 2017 at 12:12 PM, Lars Hvam<EMAIL_ADDRESS>wrote:

Transporting abapGit itself with STMS should work, what is the error
message?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/larshp/abapGit/issues/788#issuecomment-307747836, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYDj0vCfkwhQ8k1aHzHgiQeTGojySaDiks5sDQ8UgaJpZM4N228e
.

Do you want to transport abapGit itself, or a objects that have been installed using abapGit?
In general; if the objects are in the development system, then it should be possible to use STMS for transporting if the objects are not in a local package.
If objects are in a local package, then move the objects to a transportable package.

both. First the objects using my program that it works...
Okay, I think that is the problem. While installing abapGit on the
development system it installed automatically some classes... under $tmp.
I will looking for the classes that have been installed under $tmp to get
it work... Not all are under $tmp.
I don´t know where was my error while installing. Everything should be
under my created package...
Thank you very much. I will try your solution next days...
On Mon, Jun 12, 2017 at 12:43 PM, Lars Hvam<EMAIL_ADDRESS>wrote:

Do you want to transport abapGit itself, or a objects that have been
installed using abapGit?
In general; if the objects are in the development system, then it should
be possible to use STMS for transporting if the objects are not in a local
package.
If objects are in a local package, then move the objects to a
transportable package.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/larshp/abapGit/issues/788#issuecomment-307754332, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYDj0jE04JrZuo9ieniAzfJvWu-dHa3zks5sDRZcgaJpZM4N228e
.

abapGit itself automatically creates EZABAPGIT enqueue object and ZABAPGIT transparent table in $TMP when the program is started. However these are not referenced statically, so it should not cause any problems when transporting the report.
abapGit itself does not use any classes, only code is the ZABAPGIT report, or if using the development version, then the includes are listed under https://github.com/larshp/abapGit/tree/master/src

Install objects using abapGit into your development system and then use STMS for transporting to quality and production. Do not import objects to quality or production using abapGit.
You can use abapGit for exporting objects from quality or production, this will be okay.
(however there might be special cases/landscapes where you need to do something special)

Thank you very much...
a last question: is it the same for abap2xlsx via abapGit? There I have the
problem, that he haven't found some classes. A Program I have created has
not found methods like 'set_title', 'ZCL_EXCEL=====================CP,
Include ZCL_EXCEL=====================CM003' etc...
In the development environment it works very well and I am impressed about
abap2xlsx. But while transporting it to the quality layer it returns with
the error code 8.
On Mon, Jun 12, 2017 at 12:57 PM, Lars Hvam<EMAIL_ADDRESS>wrote:

abapGit itself automatically creates EZABAPGIT enqueue object and ZABAPGIT
transparent table in $TMP when the program is started. However these are
not referenced statically, so it should not cause any problems when
transporting the report.
abapGit itself does not use any classes, only code is the ZABAPGIT report,
or if using the development version, then the includes are listed under
https://github.com/larshp/abapGit/tree/master/src
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/larshp/abapGit/issues/788#issuecomment-307757221, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYDj0sleF7YMfgVyKZ4yYj6WkD0wZqBWks5sDRmBgaJpZM4N228e
.

yes, it is the same
abap2xlsx via abapGit: if you have a online project abapGit will show warnings if the classes are placed in a unexpected package. For offline projects the warning is not shown.
If you had an old version of abap2xlsx installed with saplink, and later moved to abapGit it might have caused some problems.

Okay, thank you very much.
What is the best practice for that? Should I deinstall and then reinstall?
On Tue, Jun 13, 2017 at 12:59 PM, Lars Hvam<EMAIL_ADDRESS>wrote:

yes, it is the same
abap2xlsx via abapGit: if you have a online project abapGit will show
warnings if the classes are placed in a unexpected package. For offline
projects the warning is not shown.
If you had an old version of abap2xlsx installed with saplink, and later
moved to abapGit it might have caused some problems.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/larshp/abapGit/issues/788#issuecomment-308081302, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYDj0lv5uiasqkCzek2Lrj-ZUAe6yUssks5sDmuugaJpZM4N228e
.

Yes, try uninstalling abap2xlsx and installing it again, it should be safe to uninstall abap2xlsx as it does not store any data in the database.
If it does not work then you need to go through all the objects and make sure they are in the correct package, also make sure all objects are active.

closing


Add examples for run:yeoman scaffolder action and improve related tests

Hey, I just made a Pull Request!
Contribution of run:yeoman  examples as part of https://github.com/backstage/backstage/issues/18832

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@vinzscam Please review.

Hi @parmar-abhinav, there are changes in this PR that should not be there based on your title and description. Can you please take a look? Might just be a clean rebase needed 👍

Hi @parmar-abhinav, there are changes in this PR that should not be there based on your title and description. Can you please take a look? Might just be a clean rebase needed 👍

Thank you for your feedback, Updated the PR please check.


Tree shakeable ESM build & fully functional

Here's what I had to do in top of #7400 and #7435 to get everything working.
This needs to be split in parts, but just wanted to share a possible direction. Feel free to MR any parts you agree with, this was quite a huge effort :)
There are multiple workarounds, like registering the core plugins differently so the defaults are registered in root scope and not under plugins.
Defaults are inherited at registration. this was done to avoid the Object.assign when setting the defaults, because it does not shake easily.

This gets outdated fast, so I'll just close it.


Library Request: auto-sklearn

Expected Behavior
auto-sklearn is an automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator.
Actual Behavior
Not supported
Potential Solution
Onboard to QC LEAN foundation
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

auto-sklearn requires scikit-learn<0.25.0 and >=0.24.0, from 2021, causing compatibility issues with other libraries. The library itself hasn't been updated since over 1 year

Closing for now, until auto-sklearn dependencies are soften for scikit-learn, see https://github.com/automl/auto-sklearn/issues/1597


angband 3.5.1

Got in a bit over my head here, and I don't think I did the ncurses stuff right.  Would using homebrew/dupes/ncurses be better?

Updated; probably the Wrong way to detect ncurses-config in a version-agnostic way, but probably better than hardcoding ncurses5.4-config?

Back to ncurses5.4-config and found a mirror also.

Thanks!


Fix window resize cursor icon on Windows

This fixes a Windows specific problem:
Currently windows created by bevy with bevy_egui installed show the default cursor icon when hovering over the edges of the window, although a resize cursor icon for window resizing should be shown instead.
This was implemented in a similar fashion to how egui-winit handles this problem, see here.
Probably partially fixes #126.

Seems like it does fix the issue! Thank you for the PR.


Bump helm charts after v1.6.2 release

Update mainly for our n2n tests which are using helm-chart submodule from this repo for installing.

Codecov Report
Base: 41.52% // Head: 8.39% // Decreases project coverage by -33.13% :warning:

Coverage data is based on head (a1f4a57) compared to base (5d65b3b).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #2072       +/-   ##
==========================================
- Coverage   41.52%   8.39%   -33.13%
==========================================
  Files         181      94       -87
  Lines       14617   10160     -4457
==========================================
- Hits         6069     853     -5216
- Misses       7744    9252     +1508
+ Partials      804      55      -749

Flag
Coverage Δ

acceptance-api
?

acceptance-cli
?

unittests
8.39% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

LGTM but it seems that this one is not the v1.6.2 commit. It should be fine anyway, not sure if you want to update it a bit. :slightly_smiling_face:


Cannot start nuxt:  Cannot use 'import.meta' outside a module

Discussed in https://github.com/nuxt/nuxt/discussions/24507

Originally posted by shayandrg November 28, 2023
Environment
Operating System: Ubuntu 22.04.3 LTS
Node Version: v20.8.1
Nuxt Version: 3.8.2
CLI Version: 3.10.0
Nitro Version: 2.8.0
Package Manager<EMAIL_ADDRESS>jiti: 1.21.0
telemetry: 2.5.3
Describe the bug
i tried to create nuxt module with default template as (nuxt.new) says and i done everything like nuxt module author document said but i got this error when starting nuxt with npm run dev:

i tried to clear npm local and global cache and remove parent folders node_modules and clear and re-installing more than 3 times everything and changing nuxt/kit version to previous but nothing happend.
im not new to nuxt module and i developed some modules for nuxt 2 in the past but I never had such an experience
what should i do?

reproduction: https://stackblitz.com/edit/nuxt-starter-hnmoca
note: it runs fine on stackblitz. also I tested this on 3 computers and it had an error on 2, but it was ok on another computer!
so we can't say it's like this only for me because it happened on other computers as well.

@shayandrg Do you still experience this? I unfortunately cannot reproduce it when opening the Stackblitz project.

Can confirm this is a Nuxt bug. It's a proper .mjs file being imported into nuxt.config.ts but the import.meta call within the .mjs file is not correctly interpreted and throws this error.
Originally posted by @matthew-dean in https://github.com/nuxt/nuxt/discussions/24507#discussioncomment-10318456

Would you be able to provide a minimal reproduction in that case? 🙏


Cancel button fix

@mdamour1976

Looks good at first glance.  Still not sure on the variable names.  I'll review this later this afternoon in more detail.  In the meantime, can you squash the 2 commits?  Ask someone for help if you need y, that can be a tricky proposition the first few times.

Peter was helpful...both commits are squashed and force-pushed back up.


Editor: Update 2D viewport and inspector selection on delete.

Fix #12591.
Also fixes #11560.

Nice, thanks ! :)


Silence update sql log in session upgrade

Prevent logging of the SQL UPDATE statement when upgrading old sessions to
use the new session_id format.

Opened in the wrong place.


Discuss: Change header search paths to look for header files in the Pods directory

Based on the Shoutem team's experience with react-native-create-bridge, they suggested configuring a default option to search for header files in the Pods directory when users are installing their SDKs with Cocoapods.
Here are some things I'd like to discuss before trying to implement:

Carthage vs. Cocoapods: Does this process change if people are using Carthage to manage their dependencies? Would a project use both Carthage & Cocoapods? I'm not sure of best practices here. Ideally, I want create-bridge to make no assumptions about the user's setup.
How do we accomplish this programmatically? It looks like they're setting this option in Xcode. If we can't accomplish this w/ code, then it's definitely an opportunity to improve the README.

Here's what I suggest for these two questions:

Ask the user about his setup. This is how Yeoman generators do it and I've always liked it.

There is an npm package called xcode that let's you modify your XCode project. The RN team uses it for react-native link.

Thanks for your input Mihovil! That npm package is a good find 👍
At this time, I'm going to hold off implementing this feature because it introduces added complexity. create-bridge was originally intended to be a "one size fits all" bridge generator. By implementing, we're making the assumption that the user is using a third-party SDK in their bridge, when they might just be implementing native functionality or linking an existing native view.
I'm going to keep this issue open and will revisit if more users request it.


Tweak dir path for osd after untar

Description
Tweak dir path for osd after untar
Issues Resolved
#676 follow up
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

The snapshot failure is expected and waiting for #681, while #681 waiting for this PR to be merged.


Post request params are empty

Setting up in an apex server:
post "/test" do |request|
p request.params
end
When I post from a web page the params show up properly but Apex reports them back as empty or {}

Checking it out.

This problem appears a bit more than I have time for today, unfortunately. I've dug into it a bit and I think I need to do a bit of a rewrite to make Apex work properly.
I hate to pull this card, but Apex is pretty early/experimental (version 0.1.0), and has implementation issues that I'm going to need to redo. For example, we're adding a default handler to deal with every request and doing our own routing when in fact we should be adding specific handlers. ¯_(ツ)_/¯
I apologize for that. At some point I'll have time to tackle this again.

Seems like for post?, adding arguments to query would be a stopgap?

Good point.


Update README.md

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (master@6ee46c1). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##             master      #85   +/-   ##
=========================================
  Coverage          ?   85.48%
=========================================
  Files             ?       17
  Lines             ?      854
  Branches          ?        0
=========================================
  Hits              ?      730
  Misses            ?      124
  Partials          ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Can't successfully compile with Java 11

Compiling with Java 11 prevents Geyser-Fabric from loading. Will provide a stack trace later, just noting this down

Reported in JellySquid's Discord: Caused by: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found compiled with Java 8.

This is definitely not an issue anymore, heheh.


Do not use native dialog for reset shortcuts

References and relevant issues
closes #6490
Description
Since Qt6==6.5.0 on Macos, the Qt starts using native dialog even if it does not support all buttons (in our case QMessageBox.StandardButton.RestoreDefaults).
This solution is inspired by comments from https://bugreports.qt.io/browse/QTBUG-116757
If someone has time, please try to open the Bug report there. After the last discussions about patching enum, I do not feel fluent enough to write in English to talk with them.
An alternative solution will be to change the button on the supported one. Or change the native flag globally, but the second one may impact File Dialogs.

This fixes the keybinding dialog, but when testing I noticed the overall preferences reset dialog has the same behavior. I made a PR to your branch with the analogous fix to the other dialog which fixes it locally for me--hopefully I didn't mess it up!

Maybe we should switch this into a contextmanager?


Question: Is there a way to specify batch-size.

From the salt man page:
-b BATCH, --batch-size=BATCH               Instead of executing on all targeted minions at once, execute on a progressive set of minions. This option takes an argument in the form of an explicit number of  minions  to  execute  at               once, or a percentage of minions to execute on.
Is this possible at all with salt-api ?

It sure is! Just select the local_batch client interface. That will give you a batch size text box.

@mchugh19 Thanks a lot, it's really awesome that I can specify the batch size.
It works wll when I define batch size, however, when I tryied using a variable {{BATCH_SIZE}} the job failed:
13:38:08 Running in batch mode. Batch size: {{BATCH_SIZE}} seems like the variable is not expadning.
I'm setting the variable earlier in the job (it's determined by enviroment: 100% for staging and 1 for production)
Any ideas ?

Oh gocha! You are correct, that field isn't being expanded. That's a pretty simple fix, so I'll get that out soon.

That's awesome!
Thanks!

This was recently added to the master branch. Will be in the next release.


Feature request: add a table formatter plugin

Like https://github.com/wooorm/markdown-table (just an example).
This would format a selected Markdown table to make it look nice in ASCII.
Thanks, /rb

+1

Fixed in the v5.

Awesome! You and stackedit rock!!!
Thank you, |r:b:
On Wed, Nov 22, 2017 at 6:10 PM Benoit Schweblin<EMAIL_ADDRESS>wrote:

Closed #920 https://github.com/benweet/stackedit/issues/920.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/benweet/stackedit/issues/920#event-1355003409, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAE_ZHVzwTM2M1J9hAhb6AJa62c9hXthks5s5Kn3gaJpZM4Gwb8i
.


Running Algorithms Locally on Bebop Drone?

Is it possible to upload algorithms to a Bebop Parrot 2 drone and have the drone operate independently of a central PC? My goal is to have one drone track a lead drone using visual object tracking without having to communicate with the lead drone or whatever is controlling the lead drone. I am working with ROS.
Thanks,
AJE

I am not aware of any way of doing this right now on only the Bebop 2 without figuring out how to develop your own version of their firmware. However, the Parrot SLAM dunk kit provides onboard ROS computing, so this may work.

You can do it though PaparazziUAV


Add content

In this exercise, I consolidated my knowledge on React, components, props, state, and hooks, by following a tutorial.

Thank you for the review. I will do the corrections

Thank you. I have really learnt a lot from you😊


User Avatar and Video Thumbnails

Description

modified some team member cards and lists plus the header to show user avatar
modified video card to show thumbnail image

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Change Status

[x] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[x] Test A - confirmed local dev render in browser
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

 Modify FE to display avatars and video thumbnails

 Change team dash display based upon logged in user role


Use namedtuple of elements of parts_list

Rather than having the parts_list argument to functions being a list, I think it would be clearer to use a namedtuple.
This can be defined with:
from collections import namedtuple

Part = namedtuple('part', ['glyph_type', 'orientation',  'user_parameters', 'style_parameters'])

Then a tuple can be created with:
part = Part('CDS', 'forward' , {'arrowbody_height':15}, None)

# or, from an array:

part_array = ['CDS', 'forward' , {'arrowbody_height':15}, None]
part = Part(*part_array)

This namedtuple has a more explicit string representation, and components can be accessed by name as well as by index:
>>> print(part)
part(glyph_type='CDS', orientation='forward', user_parameters={'arrowbody_height': 15}, style_parameters=None)
>>> part.orientation
'forward'
>>> part[1]
'forward'

Similarly, the bounds list-of-lists coule be replaced by:
Point = namedtuple('point', ['x', 'y'])
Bounds = namedtuple('bounds', ['lower_left', 'top_right'])

>>> Bounds(Point(1, 2), Point(3, 4))
bounds(lower_left=point(x=1, y=2), top_right=point(x=3, y=4))

paraSBOLv is handling named tuples fine without any changes (from what I can tell) so all that needs to be done is changing the examples -- I'm happy to do this.
just to be sure, do you know of any error-raising cases where code written to handle lists might fail to handle named tuples?

This all sounds fine to me. I assume this is a mature part of the Python standard library? @cclark1e if you are able to update the examples that would be great. If you can link this issue then I'll close once the PR is merged.

I'll PR now -- I made a branch with the updated examples a few days ago


feat: support macOS, Windows and arm64

Introduce a GitHub Actions workflow to run tests on multiple OSs.
Add conditional steps for downloading Coder binaries based on OS.
Include architecture-specific handling.
Adjust path settings and shell usage for Windows compatibility.

closing in favor of #4


[SPARK-26194][k8s] Auto generate auth secret for k8s apps.

This change modifies the logic in the SecurityManager to do two
things:

generate unique app secrets also when k8s is being used
only store the secret in the user's UGI on YARN

The latter is needed so that k8s won't unnecessarily create
k8s secrets for the UGI credentials when only the auth token
is stored there.
On the k8s side, the secret is propagated to executors using
an environment variable instead. This ensures it works in both
client and cluster mode.
Security doc was updated to mention the feature and clarify that
proper access control in k8s should be enabled for it to be secure.

Test build #99402 has started for PR 23174 at commit 0e36a4b.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/5476/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/5476/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5476/
Test PASSed.

Test build #99402 has finished for PR 23174 at commit 0e36a4b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99402/
Test PASSed.

via a mounted file
Also the user should be able to specify their own mounted file

The point is that the user shouldn't need to set this at all. You enable auth, Spark takes care of it. There's no point in specifying a pre-defined file with the secret - in fact that makes things less secure, because you'd be reusing the secret in different apps.

Some users would prefer to avoid propagating sensitive information via environment variables

Why? And how are mounted files better?

Why? And how are mounted files better?

Environment variables leak far more easily than file contents. One can accidentally printenv in a shell attached to the and get the secret contents. System.getenv has a similar effect within the application code itself. For what it's worth I'm also not sure if the secret would be listed under the environment variables in the Spark UI (would have to test this).

if the secret would be listed under the environment variables in the Spark UI

Secrets are redacted in the UI and event logs. We already use env variables in other contexts (e.g. standalone with auth enabled).
Environment variables don't leak unless you leak them. If you do, it's a security problem in your code, since the env is generally considered "sensitive information". They're not written to disk, unlike files, which some people have problems with (really paranoid orgs don't want sensitive information in unencrypted files on disk).
This could be stashed in a k8s secret, but then how does the client mode driver get it? More user configuration? That's exactly what this is trying to avoid.

(In fact, env variables don't even show up in the UI or event logs, as far as I can see. Other configs - Spark config, system properties, e.g. - do show up, and are redacted to mask secrets.)

The issue with requiring the use of secrets is quite a bit of work must be done in order to secure a cluster to ensure that the secrets are themselves secured. Most of the high level concerns are outlined here, but you then need to understand the implications of this in the context of how Spark is used. Its my understanding that Spark's implementation on Kubernetes doesn’t dictate how spark jobs should be run. As an example of where this can quickly break down:

Imagine a scenario where someone runs two drivers in the same namespace, and rely on the default svc token to allow the driver to create its executors.
The driver token will have GET access on the secret for its driver, but also other secrets within the same namespace – such as the secret for driver B.
If the executors in job B can use the same service token as their driver, then they have the ability of launching executors that can use the secret from job A to connect an executor at which point you have a compromise.

There are lots of things that can be done to prevent this kind of attack – run in different namespaces, don’t allow executors to have k8s permissions, etc., but it feels risky for spark to require the use of secrets while leaving it an exercise for the reader to understand how to properly run spark such that the secrets are actually secured.
At Palantir, we rely heavily on an external secret storage and bootstrapping system, built around Vault, to securely pass secrets into pods. Using external systems for these kinds of things, especially those built around Vault, is a common practice.
So really, what we'd like here is to avoid coupling the API for how spark containers read secrets so that alternative implementations can be used that some might consider more secure.

while leaving it an exercise for the reader to understand how to properly run spark such that the secrets are actually secured.

I don't think that's an exercise for the user, but for the admin. If the admin has configured things properly, the user will be able to deploy secure applications without issue. This is not just the case in kubernetes. It's the case in any deployment.
Even your example of using Vault requires that. There's work needed to use it properly and securely.

avoid coupling the API for how spark containers read secrets

There doesn't need to be a single solution. This patch going in does not preclude adding more features later, one of which might be reading this from a pre-defined secret.
And in your example I don't see how Vault would actually solve the client-mode driver case. There's no kubernetes involved in the driver, which may be running anywhere, and it needs to know the secret.

There doesn't need to be a single solution. This patch going in does not preclude adding more features later, one of which might be reading this from a pre-defined secret.

The way it's written now, if the user opts-in to using spark.authenticate with Kubernetes, the application will always automatically generate the secret and use that as the security mechanism. I think we'd prefer to see the various options that are available up front and this patch should probably introduce both the automatic secret creation version (if we agree that this is secure) and the manual provision version. If this change is merged into 3.x without any other changes, users will be forced to use the K8s secret based SASL scheme and this feature will be unusable for other users such as with the vault case discussed above.

The trouble is the API proposed here and how it would have to change for future features. If we wanted to add the optionality to support authentication via mounted files later, then what's the API for that, and how would that change the API for users that were relying on this authentication mechanism? That's why it's important to see the optionality now, so it can be clear to us that  are our options, and this is how we are going to use them.
A proposed scheme is to have spark.authenticate.k8s.secret.provider=autok8ssecret, then document what that does. Perhaps that's the default mode. Then add another scheme, say spark.authenticate.k8s.secret.provider=files and then further options for specifying where that file is located on both the driver and the executors.
It's helpful to put this patch in the context of where we want to go for authentication in general moving forward. Otherwise this feature taken in isolation will make it appear that Spark is being opinionated about using Kubernetes secrets and environment variables for authentication.
if it's not introduced in this patch, then at least we should file JIRA tickets and reference them as future add-ons to this and have a roadmap for what SASL on K8s will look like in the bigger picture for 3.x.

A proposed scheme is to have spark.authenticate.k8s.secret.provider=autok8ssecret

If you're going to add a different way to get the auth secret later, then you can introduce that option with a default value. It does not mean it needs to be done in this change, which is my point.
The only real change being introduced here form the Spark status quo is that you don't need to provide your own auth secret in the configuration (i.e. it would work like YARN), which doesn't even work in k8s today because that is not propagated to the executors in any way. And if you think that is a problem I can gate the generation of the secret based on whether one is already defined in the config.

if it's not introduced in this patch, then at least we should file JIRA tickets

That is fine with me.

I filed SPARK-26239.

Test build #99629 has started for PR 23174 at commit 791b5ee.

So, can we move forward with this and let any future new feature be handled in SPARK-26239?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/5687/

I think as long as we have one alternate mechanism proposed in SPARK-26239 this is ok to merge. I proposed one in this comment.

As I suggested before, any alternative method can be added later. I don't see why does it need to block this PR.

It's just to have the assurance that we will have some way to bypass this for auth at least for 3.x. I'd like to concretely determine this before merging if possible. But I hope that the suggestion proposed in SPARK-26239 could be agreed upon fairly quickly?

I don't understand what you want.
Without this change, auth does not work, period.
With this, users at least have one choice.
If you want to add another choice, you're free to. But I don't see why the lack of another choice has any effect on this PR.

It matters because we're discussing direction - that is, what opinion Spark wants to take regarding how to set up security on K8s. It's not obvious from our discussion on SPARK-26239 that we agree that we should allow such optionality for other authentication schemes. In other words, if we just merge this PR without further discussion and consensus on SPARK-26239, we're effectively communicating that Spark is locked in to the authentication backed by K8s secrets. I want to emphasize that it's important to agree on the direction for the bigger picture early on, and then we say that this patch still fits into the bigger vision.
I also want to intend to take this patch and check that work on SPARK-26239 would work nicely with it, but to the best of my knowledge the additional options should layer on top of this default one just fine. Would like some concrete prototyping to confirm this though.

It matters because we're discussing direction

I'm not, you guys are. I'm adding a missing feature with one particular implementation. If you want to add other implementations that enable different use cases, great.

we're effectively communicating that Spark is locked in to the authentication backed by K8s secrets

We're not locking into anything, and that's basically where I strongly disagree with you. You're free to add new ways, and when that's done, you're not "locked in" anymore.
Locked in would mean that pushing this PR means you cannot make changes to it later, and that's just not true.
Right now you're "locked in" to no auth at all, but somehow that's ok?

check that work on SPARK-26239 would work nicely with it

Anything needed to implement that feature is just code changes. Whether it "works nicely" is just a matter of not breaking this when that feature is implemented.

Ok that's fine. Will merge to master if there are no further comments in the near future.

I looked at the test failure, but the logs weren't super useful. This passed locally, but let me retrigger here.

retest this please

Test build #99634 has started for PR 23174 at commit 791b5ee.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/5691/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/5691/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5691/
Test PASSed.

Test build #99629 has finished for PR 23174 at commit 791b5ee.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99629/
Test PASSed.

Test build #99634 has finished for PR 23174 at commit 791b5ee.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99634/
Test FAILed.


Workspace settings – Name and value are not greyed out when create a new tax rate Offline

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v1.4.66-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4516486
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Go to https://staging.new.expensify.com/
Log in
Create a new Workspace
Navigate to the workspace editor
Navigate to "More Features"
Enable the tax toggle
Navigate to Taxes in the workspace editor
Go offline
Click on the "Add rate" button
Enter a name and a rate
Save the new rate
Open just created tax rate

Expected Result:
Name and value are greyed out when create a new tax rate Offline
Actual Result:
Name and value are not greyed out when create a new tax rate Offline, but greyed out when edit it.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/1c2fded1-8376-4b0e-ad5b-a8e951a84da6

View all open jobs on GitHub

We think this issue might be related to the #collect project.

I can't reproduce this on iOS (native, mWeb) nor Web (Chrome) or Desktop. In all instances the tax rate is added is at 50% opacity while offline and reverts to 100% when coming back online. That's the expected result, so I think we should close this.


[Feature Request] Can we get zip support?

My CD+G collection is zipped in individual zip files for each track, containing the cdg and mp3 file.  KF does not currently see them unless I unzip them, and I don't see zip support in the Road to v1.0, are there plans to implement it?

I agree, it's all about tradeoffs, in this case CPU cycles and program complexity vs storage space.

With the abundance of storage these days, it's a good tradeoff IMO. Not saying it won't happen, but not currently planned.

it would have to unzip to a temp folder then delete it afterwards

It might be better to do this in-memory if possible. The files are streamed to the browser and songs can be paused/skipped, so it's not necessarily easy to know when we're "done" with them. Might come down to whether it's better to have a config for memory limit or temp storage limit - with memory there are no path or permission issues, at least.

No need to unzip when adding a track to the database, just use the zip filename as "Artist - Track Name" just as it currently does with the CDG filename.

FWIW the scanner reads the audio file for duration and ReplayGain, and we pass all tags to the parser (the default parser may currently only use the filename, but a custom parser can use the tags).

Just my 2 cents... All multimedia files, like AVI, MP4, etc, are all containers with included packets of metadata, audio streams, video streams, closed caption streams, etc. All these streams are essentially multiple individual files. The point of having a container file instead of separate files for each stream that all have to be named the same is to make libraries manageable. I see MP3+G files zipped up into a single zip functionally equivalent to an MP4; having a single audio and video stream.
When I wrote a Microsoft Store Windows 8 Karaoke Player app long ago I supported ZIP files and had to deal with the issues inherent in ZIP files such as internal file names being different from each other or different from the ZIP file's name, and errant other files inside the ZIP file. The common naming standard for people running Karaoke shows was "{disc-track} - {artist} - {song}". This was to make it clear which vendor the track came from in case you were ripping actual CDGs to ZIP files using software from TriceraSoft. Remember them? They invented the MP3+CDG(ZIP) format, Anyway, if you were using these ripped files in a show and got audited, you had to prove that you purchased the original CDG disc, hence the disc and track name as part of the file name. So, in my app I needed to support that standard. However, I found that some people had ZIP files with mismatched internal files names or names that didn't match the main ZIP file name, or extra internal files like a text file stating where the track was purchased from. The ultimate solution was to extract the first CDG file and the first ZIP file and ignore the rest. By the time I was testing pitch shifting and a new version, Microsoft had closed the Windows 8/8.1 store, so that project ended.
Anyway, I think ZIP file libraries are still the most common and makes the most sense since a ZIP file is equivalent to other multimedia files, simply a container of the paired audio and video streams.

Found this wonderful app today as a "point and click" option in my QNAP NAS (through a 3rd party index mind you). I, too, am in favor of supporting zip (any maybe also FLAC if possible)? Could you perhaps use a mechanism for watching the queue stack to know what files to extract / close... i.e. something new added to the queue, immediately extract it and store in var. once said song is performed, var.close() and rm?
In any case, thanks for making this! Looks like this will work just as well as LYRX that I have used in the past to server the primary need.

@unRARed Thanks, cool to know it's working on QNAP stuff! Re: FLAC files, yes, the scanner already looks for a .m4a before .mp3, so good first PR maybe? 😉
Definitely in favor of adding ZIP support now that 1.0's out, and there are some good edge cases documented here. One of the design philosophies so far has been to keep the server as simple (read: dumb) as possible, so it doesn't know anything about the playback state of any given room, making some things a little trickier. I'm hoping we could basically unzip to memory, and let Node handle the caching and GC as much as possible.

Support for ZIPs has been merged and will be in the next release (likely v2)
If anyone is interested in testing, ping me in the #dev Discord channel. Thanks!


toml parser barfing on specific syntax

here's some valid toml i'm using in renconstruct.toml
[tasks.unzip]
type = "custom"
enabled = true
priorities = { post_build = 20 }
on_builds = ["win", "linux", "mac"]

[tasks.unzip.extract]
"hello_girl-*-win.*" = "steam/win"
"hello_girl-*-mac.*" = "steam/mac"
"hello_girl-*-linux.*" = "steam/linux"

however, it seems the parser can't handle this
→ renconstruct build hellogirl/ out/
Error: TOML parse error at line 29, column 1
   |
29 | [tasks.unzip]
   | ^^^^^^^^^^^^^
data did not match any variant of untagged enum CustomOptionValue

i can't really figure out why, but removing the [tasks.unzip.extract] section seems to fix it. any ideas why?

Thanks for the report, I'll look into it in the coming days.

Ah, this appears to be a misunderstanding in how the config file works: Valid TOML is a superset of valid config data for renconstruct. Specifically, there can only be one section per task. What you're trying to specify here is a .extract sub-key for the unzip task, but the tool has no concept of that. If you merge the two together, it should work and get passed in properly, i.e.
[tasks.unzip]
type = "custom"
enabled = true
priorities = { post_build = 20 }
on_builds = ["win", "linux", "mac"]
"hello_girl-*-win.*" = "steam/win"
"hello_girl-*-mac.*" = "steam/mac"
"hello_girl-*-linux.*" = "steam/linux"

you mean something like this, right? i don't think what you posted is exactly equivalent to what i want
extract."hello_girl-*-win.*" = "steam/win"
extract."hello_girl-*-mac.*" = "steam/mac"
extract."hello_girl-*-linux.*" = "steam/linux"

To be honest I'm not quite sure what your intention is without knowing your exact setup and how your custom task is structured. You seem to insist on adding data to some kind of sub-task of unzip called extract but in the current system, that does not exist. There is only one level of custom task, there can't be any nested sub-properties.
Could you perhaps post the code for your custom task and what your intention is here, so I can get a better picture of what it is you're trying to accomplish here?

i'm just trying to pass things to the config dict of a custom task. in python, the result would look something like
config = {
  "extract": {
    "hello_girl-*-win.*": "steam/win"
    ...
  }
}

but i think the current grammar currently does not support nested configs. not impossible to work around, but i think for some configs it makes sense to want a deeper hierarchy than a map

Ahh okay, now I get what you were going for, apologies for the confusion. You actually wanted to specify a dictionary-like config value, which was indeed not supported until now. I have now remedied this, so in the next release the original snippet you posted will be valid and end up as a dict value in the Python code.

much appreciated! thank you


Inbound webhook decorators not triggering

We've been running inbound webhooks via djrill decorators for quite some time now. When suddenly they stopped working. Currently the signals are not triggering the decorated webhook functions, but the webhook does return a status 200. Because of this the problem took a while to get noticed.
Unfortunately I can't retrace when this happened, so it could be a regression or just an incompatibility with the latest Django version.
Currently broken for Django 1.9.2 and Djrill 2.0.

Hmm, the webhook signal receiver tests are passing in all supported versions, including Django 1.9. And Djrill doesn't return the 200 response until after it sends the signals. So if you're seeing the status 200, Djrill has tried to notify any registered receivers (and none raised any exceptions).
 If it's not at the top level of a module, python may be garbage collecting it before Djrill gets a chance to call it. (And that behavior would be unpredictable and could be affected by unrelated changes to your code.) See Django's weak option for listening to signals for more info.
If that's not the issue, I'm not sure what's going wrong. It would probably help to see your receiver code.

Your explanation seems to fit with what I'm seeing. When debugging I can see the signals going off, but the receiver functions aren't being called. Maybe the problem is that I have multiple receivers set up.
I'll see what moving them around in the module or disabling them does.

Multiple receivers should be fine.
If your receivers are local functions (defined inside some other function), try using the weak=False option when you connect them to the webhook_event signal. Example:
class SomeExampleView(View):
    def some_example_method(self):
        # The handle_inbound function below is local to the some_example_method function,
        # so must be connected using the weak=False option to avoid garbage collection:
        @receiver(webhook_event, weak=False) # <<<<<<<
        def handle_inbound(sender, event_type, data, **kwargs):
            if event_type == "inbound": ...

Multiple receivers should be fine.

Also, just double-checking: multiple receivers are fine as long as they're different functions. This won't work:
@receiver(webhook_event)
def my_receiver(sender, event_type, data, **kwargs):  # this will never be called
    if event_type == 'inbound':
        print "inbound"

@receiver(webhook_event)
def my_receiver(sender, event_type, data, **kwargs):  # because this has the same name
    if event_type == 'hard_bounce':
        print "hard_bounce"

The first my_receiver will never be called, because it gets overwritten by the second definition of my_receiver below it. (It's an easy mistake to make by copy and paste. Python won't warn you about redefining a function like this, but pylint or an IDE like PyCharm should flag it as a problem.)

No no, none of that.  I'll try again after the weekend. I have a feeling the weak option will probably fix it. Just concerned that it's failing in old , working code after upgrading to Djrill 2 and Django 1.9

OK -- just wanted to double-check.
And yeah, if your receivers are local functions (which weak=False will solve), then it was really only working by luck before you upgraded. Any change, anywhere, might have altered your memory usage and caused python to garbage-collect your receivers out of existence.

@Koed00 hoping you were able to resolve this with the weak option. If not, please reopen and include your code that defines and connects the Djrill webhook receivers that aren't getting called.

@medmunds sorry, I had a crazy release week.
Yes, for future reference, the weak option solved it for us.
Thanks a lot for a great package.


⚠ UdeS website (prod) has degraded performance

In a94092f, UdeS website (prod) (https://www.usherbrooke.ca/) experienced degraded performance:

HTTP code: 200
Response time: 1994 ms

Resolved: UdeS website (prod) performance has improved in 54d6b74.


Create new release

Wanted to formally create an issue to track creating a new release. We've added quite a few new features since the last release. I know last time we took a look at creating a new release, there seemed to be an issue with vendoring, however I'm not seeing that same issue any further.
Thoughts @jjo @jbianquetti-nami @ngtuna ?

Resolved by #107


add quadlet-podman to manage restarts upon system reboot to ansible playbooks

[x] timeseer

[x] timeseer-reverse-proxy

[x] timeseer-data-service

[x] test first run of basic roles

[x] create branch so jeroen can review

[x] traefik

[x] test all roles on first run

[x] test restart speed pod vs service

[x] test if pod restart is enough for changing volumes mount

[x] test the network

@lucasKoeb

The quadlet setup is not on master yet. I tried using the collection but the ports config is generating errors:
With timeseer_ports: "8080:8080"
The service fails to start on the host with:
jul 16 18:21:49 localhost.localdomain timeseer[7516]: Error: parsing container port: port numbers must be between 1 and 65535 (inclusive), got 0
jul 16 18:21:49 localhost.localdomain systemd[1]: timeseer.service: Main process exited, code=exited, status=125/n/a
jul 16 18:21:49 localhost.localdomain systemd[1]: timeseer.service: Failed with result 'exit-code'.
jul 16 18:21:49 localhost.localdomain systemd[1]: Failed to start timeseer.service.
jul 16 18:21:49 localhost.localdomain systemd[1]: timeseer.service: Scheduled restart job, restart counter is at 5.
jul 16 18:21:49 localhost.localdomain systemd[1]: Stopped timeseer.service.
jul 16 18:21:49 localhost.localdomain systemd[1]: timeseer.service: Start request repeated too quickly.
jul 16 18:21:49 localhost.localdomain systemd[1]: timeseer.service: Failed with result 'exit-code'.
jul 16 18:21:49 localhost.localdomain systemd[1]: Failed to start timeseer.service.

And the generated quadlet template that was generated looks like this:
[Unit]
Wants=network.target
After=network.target

[Container]
ContainerName=timeseer
Image=container.timeseer.ai/timeseer
User=1001
Network=timeseer.network
Volume=/opt/timeseer/data:/usr/src/app/data
Volume=/opt/timeseer/db:/usr/src/app/db:z
Volume=/opt/timeseer/config:/usr/src/app/config/:ro
PublishPort=8
PublishPort=0
PublishPort=0
PublishPort=0
PublishPort=:
PublishPort=8
PublishPort=0
PublishPort=8
PublishPort=0

we need to pass port as a list item
    timeseer_ports:
      - "8080:8080"

      let me update the documentantion

Validated. Timeseer was through systemctl. Timeseer was up after a reboot.


How to upgrade to latest version?

Hello,
Just trying to upgrade via pip3 in Terminal passing '--upgrade', but I'm getting an error:
'unrecognized arguments: --upgrade'
What I'm trying: 'instaloader --upgrade'

you are missing the word install i think
pip3 install —upgrade instaloader-master.zip

To upgrade to a newer Instaloader release, do
pip3 install --upgrade instaloader


Create get_tensor_network_state function

Description
Currently, a TensorNetwork object refers to a list of tensors together with a list of weights corresponding to the weight vectors (or diagonal matrices) for every edge in the tensor network. However, when we think of the tensor network as a state, having only a tensor list without a weight list is more intuitive.
Therefore, this issue aims to create a method/function/class that holds the tensor networks state. A way to get the state from the tensor networks would be to absorb all the weight vectors into the tensors in the tensor networks. One way to do that would be to replace each weight vector for each edge with two sqrt weight vectors and then absorb a sqrt weight vector to every neighbor tensor (two for every edge). That way, we end up with a tensor network state with only tensors, and all of its weights have been absorbed by all the tensors (which is precisely what we want).
There are a few ways to implement that in the package.

The simplest one would be to create a function under the SimpleUpdate class that is called SimpleUpdate.get_tensor_network_state(), for example (a different name that makes sense is also acceptable, that would execute the SimpleUpdate.abbsorb_all_weights() function and then returns a copy of the tensors list with a copy of the structure matrix. However, using that method, we cannot return from a state to a tensor network.
Another way would be to try to attack that from the TensorNetwork class side by adding a tensor_state field (or a different name) that would hold a list of tensors that corresponds to the state alongside the original list of tensors and the list of weights. That way, we still "live" under the TensorNetwork class object, which could allow us to use functionalities reserved for the TensorNetwork class, such as drawing the tensor network (or other things). For that approach, one would have to copy some of the weight absorption from the SimpleUpdate class into the TensorNetwork class or move those functionalities from the SimpleUpdate class into a tensor network utility module that both classes could use.

Acceptance criteria

The only acceptance criteria is to have the math right and use PEP8 guidelines in terms of code appearance if possible, but not in the cost of readability.

Another potential method where returning the state might be expected, is the run() method.
Currently run() returns None, but the user might expect some result out of this method, be it the energy of the ground-state or the state itself. Once a SimpleUpdate.get_tensor_network_state() method is added, it's worth considering calling it at the end of SimpleUpdate.run() and returning its result as an output.

Thank you @NGBigField ! Awesome job!


lifecycle events and custom attributes

The customAttribute example uses the element.mounted callback to add a css class. I think this should be a discouraged behaviour. If you define another custom attribute which also uses this lifecycle callback and use both this attributes on the same element, it will overwrite the other.
It would be nice if we could have multiple callbacks for mounted ;)

I fixed the example: https://github.com/pakastin/frzr/releases/tag/v0.18.0
FRZR used to have Observable, but it required extending from the class and was a usual cause for memory leaks. It's safer to always handle lifecycle events inside the View itself..
Makes sense? :)

great, thanks!


Update README.md to add mcp-server-data-exploration

Description
Adding a mcp server to README.md
Server Details

Server:
Changes to:

Motivation and Context

Include additional community mcp servers to the README.md list
How Has This Been Tested?

Verified README.md rendered correctly in Preview
Breaking Changes

No Breaking Changes
Types of changes

[ ] 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 change)
[x] Documentation update

Checklist

[x] I have read the MCP Protocol Documentation
[x] My changes follows MCP security best practices
[x] I have updated the server's README accordingly
[ ] I have tested this with an LLM client
[x] My code follows the repository's style guidelines
[x] New and existing tests pass locally
[ ] I have added appropriate error handling
[x] I have documented all environment variables and configuration options

Additional context

Thank you so much for the comment, updated! :)

Squash the commits, and resolved the merge conflict.


usb: provide different USB product strings in the USB samples

Make it possible to change USB manufacturer, product and
serial number strings by forcing prompt in the kconfig files.
Illustrate this by having different product names in each
of the USB samples.
Signed-off-by: Iván Sánchez Ortega<EMAIL_ADDRESS>

Codecov Report

Merging #6589 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6589   +/-   ##
=======================================
  Coverage   53.46%   53.46%
=======================================
  Files         437      437
  Lines       41391    41391
  Branches     7934     7934
=======================================
  Hits        22128    22128
  Misses      16043    16043
  Partials     3220     3220

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 f3077da...c7c3436. Read the comment docs.


varia : calendars, time_bnds, ...

Here's a few info/considerations linked to xclim

we should take car of passing xarray.DataArray to the different indices and not xarray.Dataset. It may work but there are problems downstream.

Nothing get's done with xarray.resample until we actually read the data. To keep in mind for the benchmark.

xarray.resample does not support 365_day and 360_day calendars. For a reason i ignore yet (raised an issue about it), using xr.open_dataset() on a 365_day netcdf works (but it should not).

if we aim at producing standard netCDF files, we will eventually have to take care of the time_bnds. That implies that we have to compute them and maybe/probably attach them as coordinates to the output xarray.DataArray

Feel free to comment

Time_bnds should be handled by ocgis. I suggest defering this item to later. Calendar support is a problem. Suggestions?

Do we know exactly which calendars are supported by xarray? Perhaps we can implement a check for non-standard calendars that will be handled exclusively in ocgis.
Would there be ways of mapping xclim functions within ocgis's OcgOperations?

xr supports all the calendars, but only standard calendar is supported now for xr.resample. Discussed this with Travis and we are thinking  of bypassing xr.resample and using xr.groupby to mimic xr.resample.

Talking to seb (if understand) the idea is to create a subfunction that tags the data (e.g. 'Year_month','Year_Season') that can be used in .groupby instead of reseample.  Would probably have to limit the number of frequencies available to be used (e.g. 'M','Y','QS-DEC') only for now.

Ok. Maybe resample implementation in xarray is something we could subcontract.

Yes a possibility.  @sbiner  is working on his labeling/groupby method (says to give him a couple of days) but really an xarray library capable of dealing with various calendars would be the ideal long term solution in my opinion...
Note, other than the resample problem, simply opening a 360day nc file gives me a warning when using a 'open_dataset'.  Inspection of dates indicates that they are present but non-monotonic (affects resample but could mess up other things as well most likrly).. xarray seems to use the standard calendar any how which ends up giving me 3 values of march 1 in a row....
So the contract could potentially look at xarray implmentation of non-standard calendars in general?
For now, we may want to consider always applying a decod_times=False flag:
ds = xr.open_dataset(ncfile,decode_times=False). Then building the dates ourselves with cftime..

Uploaded some 360day and 365day .nc to the xclim testdata folder
Did some tests using xr.set_options(enable_cftimeindex=True)
Reading .nc files now seems to create correct dates (cftime instances)
resample throws an error on both datasets using this option
Using the default : enable_cftimeindex=False
data is still loaded using open_dataset (nb* warnings for 360day but not 365)
In this case resample will work with 365 data but 360 give an error of non-montonic (sse my comment above)
Code example
import xarray as xr
import glob
Use enable_cftimeindex
xr.set_options(enable_cftimeindex=True)
test_360 = glob.glob('./tests/testdata/HadGEM2-CC_360day/*.nc')
ds360 = xr.open_mfdataset(test_360)
print(ds360.time)
print(ds360.time.encoding['calendar'])
grp = ds360.groupby('time.year')
rsmp= ds360.resample(time='QS-DEC') # gives error
test_365 = glob.glob('./tests/testdata/CanESM2_365day/*.nc')
ds365 = xr.open_mfdataset(test_365)
print(ds365.time)
print(ds365.time.encoding['calendar'])
grp = ds365.groupby('time.year')
rsmp= ds365.resample(time='QS-DEC') #gives error
Use default options:
xr.set_options(enable_cftimeindex=False)
ds360 = xr.open_mfdataset(test_360) # gives warnings...
print(ds360.time)
print(ds360.time.encoding['calendar'])
grp = ds360.groupby('time.year')
rsmp= ds360.resample(time='QS-DEC') # gives non-montonic ... 3 march firsts (see comment above)
ds365 = xr.open_mfdataset(test_365)
print(ds365.time)
print(ds365.time.encoding['calendar'])
grp = ds365.groupby('time.year')
rsmp= ds365.resample(time='QS-DEC')  # This works but probably shouldn't

Setting xr.set_options(enable_cftimeindex=True) is what xarray is aiming at by default for the next version (read here).

Note that there are two tickets in xarray related to that:

https://github.com/pydata/xarray/issues/2191
https://github.com/pydata/xarray/issues/2481


Broken link in the sentence: "User-mode display drivers can also support the Direct3D version 10 DDI."

In this article, it mentions that the user mode driver needs to support DirectX 9 DDIs and provides a link to the page listing the interfaces.
The link for "Direct3D version 10 DDI" takes you here: https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/
I would have expected it to take me to a similar page as the DirectX 9 DDIs.
Could the link be fixed?

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

ID: b8543272-7482-e484-3294-292cbf6aab90
Version Independent ID: 43074bab-879d-218b-7e8d-991dc6905f87
Content: User-Mode Display Drivers - Windows drivers
Content Source: windows-driver-docs-pr/display/user-mode-display-drivers.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @lorihollasch
Microsoft Alias: loriwhip

@lorihollasch . I am creating PR now.

@wdkbot  @lorihollasch , verify this PR #2466 and merge if it correct.

@shaboinkin , thanks for reporting this. And thanks to @RAJU2529 for the PR to fix it!


[CARBONDATA-4255] Prohibit DROP DATABASE when databaselocation is inconsistent

Why is this PR needed?
When carbon.storelocation and spark.sql.warehouse.dir are configured to different values, the databaselocation maybe inconsistent. When DROP DATABASE command is executed, maybe both location (carbon dblcation and hive dblocation) will be cleared, which may confuses the users
What changes were proposed in this PR?
Drop database is prohibited when database locaton is inconsistent
Does this PR introduce any user interface change?

No

Is any new testcase added?

Yes

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/166/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5759/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4019/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5770/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4033/

Build Failed  with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/175/

retest this please

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5782/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4041/

Build Failed  with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/188/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5792/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4049/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/198/

retest this please

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5793/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4050/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/199/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4055/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5798/

Build Failed  with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/203/

LGTM

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5800/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4057/

Build Failed  with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/205/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5803/

retest this please

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4061/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5804/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/209/

retest this please

LGTM

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbonPRBuilder2.3/5805/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_2.4.5/4062/

Build Success with Spark 3.1, Please check CI http://<IP_ADDRESS>:12602/job/ApacheCarbon_PR_Builder_3.1/210/


update roledefinition filters to be in sync with the filters present in service

update roledefinition filters to be in sync with the filters present in service
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

@mcardosos any update on this pr?

Poking @marstr

Ready for me to merge @darshanhs90?

@marstr Yes you can merge

Automation for azure-sdk-for-node


Use vader for temperature linear variable change

Description
similar to https://github.com/JCSDA-internal/soca/issues/924, except for the linear variable changes

[ ] Modify the SOCA LinearVariableChange class to use VADER
[ ] Modify the insitu T/S yaml in (e.g. 3dvar ctest) to use the generic VertInterp, and therefore use VADER
[ ] make sure everything is working as expected!
[ ] Remove all usage of InsituTemperature observation operator in the ctests, and consider it deprecated
[ ] open issues in skylab/soca-science to do the same yaml changes

Dependencies:

https://github.com/JCSDA-internal/vader/issues/193

Fyi @Dooruk, I should have a branch in soca with the changes needed "ready" to test with your Vader branch

Fyi @Dooruk, I should have a branch in soca with the changes needed "ready" to test with your Vader branch

Tomorrow... I left out the word "tomorrow"


[Lua] Can I import Variables from other scripts?

Describe your problem here.
Can I import Variables from other scripts? If so, how can I do it? I wanted to make a dialogue script that takes the accuracy from the previous song and starts the "bad" dialogue if accuracy is bad, but start the "good" dialogue if the accuracy is good.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No, I just added dialogues

Scripts are destroyed when the song ends, what you want are save files #8286