Data sent as Query String after upgrading

Hello there,
1- By upgrading the ng-file-upload from version 6 to the version 10.1.11, I got a problem in the server side:
Let's say I want to send this data with the file:
test = {A: "X", B: "Y", C: "Z"}
In the frontend I send it like this using the old version:
Upload.upload({
url: '/api/upload/',
file: file,
data: test,
});
In the server side I receive this string:
{data=%7b%22A%22%3a%22X%22%2c%22B%22%3a%22Y%22%2c%22C%22%3a%22Z%22%7d}
And this is good
By upgrading I got a query string like this: {A=X&B=Y&C=Z}
Like Im using the GET method, even I force it to use POST and change to the new format(with the version 8)
$upload.upload({
url: '/api/upload/',
method: 'POST',
data: {test, file: file}
});
And still getting the same result.
2- Im doing my upgrade to be able to send the file in chunks
Im wandering if this is the good syntax to do it:
$upload.upload({
url: '/api/upload/',
data: {test, file: file},
resumeChunkSize:1000000,
});

Read the docs about chunk upload and see the demo page code.
The get request is to know how much of the file is already uploaded.
Also data: {test, file: file} is a wrong json format.

I deleted the second point about chunks.
Could you explain more? What should I do (without changing the backend) with the new version to send my data(test) like the old version?

If you want to send the file in chunks you need to change the server code. It needs to be able to receive chunks and assemble them on the server side.

I meant after upgrading to the last version from the version 5, Im receiving a different type of data as "Query String" (something like that: {A: "X", B: "Y", C: "Z"}) and this brake my code in the server side.
what should I change in the client side?

post your code

In the old version(I used the version 5), I send the data and file as fallows:
Upload.upload({
    url: '/api/upload/',
    file: file,
    data: test
});

in the new one, with your upgrade Im sending the data + file as fallows:
Upload.upload({
    url: '/api/upload/',
    data: {test: test, file: file}
});

try
test.file = file;
Upload.upload({
    url: '/api/upload/',
    data: test
});

Same problem

Create a jsfiddle showing steps to reproduce.

I dont have a problem in my client side, I'm sending my data this way:
Upload.upload({
    url: '/api/upload/',
    file: file,
    data: test
});

As I told you the data that I'm sending(the extra data or the arguments, in this case test) from the js client received in the server(C# with web API ) as different format not like before(with the version 5).

so is the data being sent the same way as version 5? You can compare them in he browser's network tab.
If they are the same then the problem is server side which is not an issue with this plugin, you can ask it on SO.

I have some news:
The data are not sent the same way, I checked the the network tab, under the Headers.
Let's say I want to send this object:
test = {A: "foo", B: 0, C: null"} and the file is: text.txt
The request Payload  contain in the version 5.0.9:
------WebKitFormBoundaryxNFyB3Vv5Cw2FJNm
Content-Disposition: form-data; name="data"
{"A":"foo","B":0,"C":null}
------WebKitFormBoundaryxNFyB3Vv5Cw2FJNm
Content-Disposition: form-data; name="file"; filename="text.txt"
Content-Type: application/octet-stream
The request Payload  contain in the version 11.2.2:
------WebKitFormBoundary7dfVMOOigis96tQA
Content-Disposition: form-data; name="A"
"foo"
------WebKitFormBoundary7dfVMOOigis96tQA
Content-Disposition: form-data; name="B"
0
------WebKitFormBoundary7dfVMOOigis96tQA
Content-Disposition: form-data; name="C"
null
------WebKitFormBoundary7dfVMOOigis96tQA
Content-Disposition: form-data; name="file"; filename="text.txt"
Content-Type: application/octet-stream
So what I can conclude that the arguments are sent separately in your latest versions.
I will try to make a jsfiddle for each one.

Here you go:
Plunker with Angular file upload 5.0.9
Plunker with Angular file upload 11.2.3

Use Upload.json() to convert your data to json before sending if you want to send them in one form data element.

Interesting..
That fix the problem, I added a plunker  with the fix.
Thank you.


JOIN with subquery (SELECT * FROM (...) AS X LEFT JOIN...)

I'd like to execute sql command:

SELECT * FROM(
	SELECT
		p.Id,
		p.Name,
		(SELECT TOP 1 pm.ImageId
			FROM ProductImage AS pm
			WHERE p.Id = pm.ProductId
			ORDER BY pm.OrdinalNumber) AS ImageId
	FROM Product AS p
) AS x
LEFT JOIN Image on Image.Id = x.ImageId

There is no problem with sql command like this:

SELECT * FROM(
	SELECT
		p.Id,
		p.Name,
		(SELECT TOP 1 pm.ImageId
			FROM ProductImage AS pm
			WHERE p.Id = pm.ProductId
			ORDER BY pm.OrdinalNumber) AS ImageId
	FROM Product AS p
) AS x

baceuse I can write

var query = sql.select('*').from(productQuery)

or even

var query = sql.select('Id', 'Name', 'ImageId').from(productQuery)

But I can't leftJoin because I don't have Table prototype methods. There is no possibilities to run:

var query = sql.select('*').from(productQuery).leftJoin(image).on(productQuery.ImageId.equals(image.Id));

or

var query = sql.select('*').from(productQuery.leftJoin(image).on(productQuery.ImageId.equals(image.Id)));

+1
I'd really like for .subQuery() to also expose leftJoin. join is there, but leftJoin seems to be missing. Unfortunately, I'm not at all familiar with the codebase or I'd submit a PR :-/


Add terraform-format-buffer to terraform-mode-map

I've added terraform-format-buffer to terraform-mode-map after a colleague asked why I had settled for calling terraform-format-buffer via SPC + : each time I needed it. SPC + m + f ought to do nicely.
I thought maybe doing a (cmd! (compile "terraform fmt")) like the others in this mode-map might have been nice, but the experience of calling terraform fmt on the directory left me with a stale buffer. Using the function for updating only the buffer works just fine, though.

@mjburling
:editor format already supports terraform fmt (SPC c f).
https://github.com/hlissner/doom-emacs/blob/develop/modules/editor/format/README.org
https://github.com/lassik/emacs-format-all-the-code

:editor format already supports terraform fmt (SPC c f).

Hey, that's handy! I wasn't aware of :editor format. Closing this PR after all. Thanks very much, @sei40kr!


Provide more information about verified_primary_email and verified_secondary_email

Looking for more information around these optional claims and how consumers should relying on them.
https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims-reference?source=docs#v10-and-v20-optional-claims-set

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

ID: 3450bf5a-b689-4ea7-d4bd-67dcb6013a1e
Version Independent ID: 75ccb0b2-4ca7-8761-c50e-8bc75b1b25a1
Content: Optional claims reference - Microsoft identity platform
Content Source: docs/identity-platform/optional-claims-reference.md
Service: active-directory
Sub-service: develop
GitHub Login: @cilwerner
Microsoft Alias: *cwerner

@rmCredly
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@rmCredly It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

I've updated my post. Thanks for the quick reply

@rmCredly
Thank you for bringing this to our attention.
I've delegated this to content author @cilwerner, who will review it and offer their insightful opinions.

Hi @rmCredly, I'll get clarification on this. Can you be more specific on "more information". Is it only for how customers should be relying on these claims or is there another thing you need to know about them?

@cilwerner Taking into consideration that these are optional claims, should app owners expect that these values are returned every time these claims are used? And specifically, when these claims are requested, and either is true, is it safe for app owners to trust the email during account creation within our apps?


Clean up module

[x] Cleanup code using wieni/wmcodestyle
[x] Normalise composer.json
[x] Add LICENSE in case it's missing. Also add the license to composer.json.
[x] Add CHANGELOG.md (and UPGRADING.md, if applicable)
[x] Add issue & pull request templates
[x] Update repo description & tags
[x] Update README
[x] Update .gitignore
[x] Check dependencies: ensure composer.json has a php & drupal/core version requirements and add missing requirements to the .info file

Released in 8.5.0


Update instructions for apt packages. [#621]

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli-apt.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

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


must I have a openai key to run the project ?

hi,dear
I see the "openai" in the requirements.txt ,
if I has no ID of openai ,could I run this project ?

if you are not generating the data and using the data provided in repo you do not need openai.
train.py does not use openai package in any case.

if you are not generating the data and using the data provided in repo you do not need openai.
train.py does not use openai package in any case.

But it does use utils.py, which seems to use openai

Personally I avoided the openai dependency in train.py in the following way:
https://github.com/filippobistaffa/alpaca/commit/264462a52bf48e6a08b23499473b3da0b955f382


Improve zap

Codecov Report

Merging #152 (f388af2) into master (4f390a9) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #152      +/-   ##
==========================================
+ Coverage   89.69%   89.77%   +0.07%
==========================================
  Files          64       64
  Lines        4232     4234       +2
  Branches      639      638       -1
==========================================
+ Hits         3796     3801       +5
+ Misses        436      433       -3

Impacted Files
Coverage Δ

contracts/IndicesSupplyRedeemZap.sol
94.83% <100.00%> (+0.04%)
:arrow_up:

contracts/PowerIndexPoolController.sol
76.71% <0.00%> (-1.37%)
:arrow_down:

contracts/balancer-core/BPool.sol
99.46% <0.00%> (+<0.01%)
:arrow_up:

contracts/bactions-proxy/BActions.sol
52.94% <0.00%> (+2.23%)
:arrow_up:

contracts/PowerIndexPoolActions.sol
93.75% <0.00%> (+5.51%)
:arrow_up:

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 4f390a9...f388af2. Read the comment docs.


refactor: migrate collapsible tree component to signals

#927  👈 (View in Graphite)
main

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


can't import transpose

import transposer

File "C:\Users\P2JOHNS\AppData\Local\Programs\Python\Python35-32\lib\site-pack
ages\transposer_init_.py", line 1, in
from transposer import transpose
ImportError: cannot import name 'transpose'
code is:
import transposer
transposer(i='jira.csv', o='jira2.csv')

this is the code
import transposer
transposer.transpose(i='jira.csv', o='jira2.csv')


Syntax error: conflicting action statements on Ansible 2.10.x

After upgrading to Ansible 2.10.x, there are many ansible-later errors. Demo playbook:
---
- name: demo
  hosts: localhost
  roles:
    - role1
    - role2
  post_tasks:
    - name: This is a post task
      shell: /bin/true

Here is the ansible-later output:
ERROR: [ANSIBLE0001] Standard 'Single tasks should be separated by empty line' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [ANSIBLE0003] Standard 'Tasks and handlers must be uniquely named within a single file' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [ANSIBLE0006] Standard 'Tasks and handlers must be named' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [ANSIBLE0008] Standard 'Commands should not be used in place of modules' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [ANSIBLE0011] Standard 'Commands should be idempotent' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [ANSIBLE0015] Standard 'become should be combined with become_user' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line
ERROR: [LINT0008] Standard 'Use YAML format for tasks and handlers rather than key=value' not met:
... playbook.yml:8: syntax error: conflicting action statements: shell, line

This is related to upstream changes in ModuleArgsParser class. Injected metadata to the raw task dict will no longer be ignored and resulting in the conflicting action statements issue.


issue #86: refactor validation register done and adjustments

Coverage remained the same at 100.0% when pulling 5a47c6d4b22cdd850d0ed4df30437216e4143cd3 on ts10_refactor_validation_register into 1a86f03c612309f944d736eb14a5daa5af542c83 on development.


Integrate Web Monetization on Select Pages

We're going to start the first phase of experimenting with Web Monetization.
The tag needs to be put in the <head> of the website, and is
<meta name="monetization" content="$ilp.uphold.com/edR8erBDbRyq">
For CC.org, we'll do these three pages initially:
https://creativecommons.org/about/program-areas/arts-culture/arts-culture-resources/legalmusicforvideos/
https://creativecommons.org/share-your-work/
https://creativecommons.org/use-remix/

@hugosolar Coil does have a WordPress plugin for this:
https://wordpress.org/plugins/coil-web-monetization/
I don't know if it's preferred to use the plugin, or code this directly into the <head>. Also, if this is something that I can do (e.g. by installing the plugin and making settings) I am happy to help with this, but I defer to you.

We probably do not want to use the plugin; integrating web monetization directly will allow us to support all web monetization providers, not just Coil.

Yes! I agree with @kgodey, I added a PR with a short function that should do the trick


UX/UI, chapter 2, Sunday Roll Call

Leave a comment with these two things:

A summary of your last chapter using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

🤓  🖥  🤯

:zany_face:
:thinking:

😊🤩😵💫😃🎉

😕 👍

😄 :confused:

😀💬🧐💭🤔🗯

👍
🙂

:factory_worker:

👍

💀

:upside_down_face:
:raised_eyebrow:

:smile:


Allow Quiesce/Unquiesce of multiple domains

Hi,
Knowing that UCD doesn't support for-each loops it would be nice to have the DataPower plugin to provide the option to  Quiesce/Unquiesce multiple domains in one step.
Functionality would be simular to the backupdomains step.
Thanks,
Jeroen

Hi,
In the context of UCD and DataPower this request does not make sense and can be handled in a different manner. As you have identified, UCD does not allow loops as we think of them in coding. Because we generally believe one component should map one tool-object, we handle a multi-request in a different way.
Ideally, we suggest mapping one DataPower domain to one UCD component. This means, all component processes are applied to a single component/domain. Therefore, multiple domain [un]quiesces can occur through an Application Process and then the use of the Install Multiple Components step.
If configured correctly, this step can run a "Unquiesce/Quiesce" component process against each tagged component. In this sense, it would be looping through all domains and running the quiesce command as you requested.
-Nick


testing: Encryption with multiple keys

Multiple keys require key wrapping alg. (Eg not ecdh-es but ecdh-es-...)

[ ] test for RSA and EC keys
[ ]  test for multiple recipients sane headers
[ ] Test for multiple recipients with differen headers
[ ] test for multiple recipients with different key types and headers
[x] verify that mixing key types is not allowed.

This is only feasible with the encrypt tool if all recipients use the same keytype and alg.


Wrong repo on npm

First of all, thanks a lot for this fork and for keeping the lib alive, been using it since the guy from original library disappeared. The issue is that npm links to the wrong repo and so finding this one is really hard. The only direct link is in the issues for original lib.

I have the same problem as @Limonische


Fix sed command in DEVELOPER_GUIDE.md to append a new line character '\n'.

Description
This PR is to fix the sed command listed in DEVELOPER_GUIDE.md to append a new line after addition.
In the guide, it is recommended to use sed command to append a new line having libomp related CXX arguments in Mac.
However, since the added new line does not end with '\n' making its following sentence to be located right behind the closing parenthesis, resulting in CMake processing failure.
In DEVELOPER_GUIDE.md

...
// In case of linking issues with the external libraries and clang, you can try setting the CMAKE compiler to gcc/g++ instead through the following commands:
export CC=gcc
export CXX=g++
sed -i '' '/set(CMAKE_CXX_STANDARD_REQUIRED True)/a\'$'\n''set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fopenmp -L/opt/homebrew/opt/libomp/lib -I/opt/homebrew/opt/libomp/include -lomp -arch arm64 -fexceptions")' CMakeLists.txt
...

Changes
Before: You can see option(... is right behind the closing parenthesis of set(.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fopenmp -L/opt/homebrew/opt/libomp/lib -I/opt/homebrew/opt/libomp/include -lomp -arch arm64 -fexceptions")option(CONFIG_FAISS "Configure faiss library build when this is on")

After: New line '\n' will be added after the closing parenthesis of set(.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -fopenmp -L/opt/homebrew/opt/libomp/lib -I/opt/homebrew/opt/libomp/include -lomp -arch arm64 -fexceptions")
option(CONFIG_FAISS "Configure faiss library build when this is on")

Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

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.

Back port PR : https://github.com/opensearch-project/k-NN/pull/2184


Please remove "ws://"

Also tried global IPv4, failed too.

Only succeeded by adding the prefix "ws://".This is weird, is there a way to remove it?

This warning will not show up when "ws://" is missing.
Also, what's the difference between "ws" and "wss"?Users won't know it's difference between http and https.
The offical server used "wss", but connection failed to establish when I tried to connect localhost.Only "ws" works.
Also, when connecting offical server with "ws", No warning will show up.

In one word,pls make it more user-friendly :)

当使用HTTPS协议时，受到浏览器安全限制，只能以WSS协议（可以理解为WebSocket的SSL版），也就是wss://连接到后端，同时也需要为后端配置ssl证书以链接，您可以在index.html的javascript代码中自行添加 "ws://"+ 字段来让前端不显示ws://，此操作也会导致无法连接至wss服务器，官方演示demo中为确保兼容性则默认需要在地址中自带ws://或者wss://，您可通过修改HTML代码的方式修改默认后端地址。
When using the HTTPS protocol, it is restricted by the browser security. You can only connect to the back end using the WSS protocol (which can be understood as the SSL version of WebSocket), that is, wss://. At the same time, you need to configure the ssl certificate for the back end to link. You can add a ws://"+ field in the javascript code of index.html to prevent the front end from displaying ws://. This operation will also result in failure to connect to the wss server, In order to ensure compatibility in the official demo, ws://or wss://should be included in the address by default. You can modify the default backend address by modifying the HTML code.


Safety 2 use without a subprocess

The issue

The pipenv new Safety implementation is using a subprocess.

There isn't a non-verbose output.

This pull request is related to https://github.com/pypa/pipenv/pull/5218
The fix

pipenv check uses Safety directly, replacing the Safety implementation with a subprocess.

Added a new minimal output, a non-verbose output.

@yeisonvargasf your vendoring stage is failing because you started off with an outdated branch.
Please cherry-pick this commit onto your branch;
https://github.com/pypa/pipenv/commit/6f8831316c21aeeb6929bfbb1b4460bd3731d4e5

@yeisonvargasf can you please rebase your changes on top of the current main branch?

Thanks, @oz123! I rebased my changes on top of the current main branch.
The PR base branch is the @matteius branch; do we need to change the base branch to main?
On the other hand, running the tests in my local environment fails because Safety detects a vulnerability in the tested environment. Could you help to review that?
After the test issue is solved, we'll need vendoring the latest Safety version that PyUp will release next week; it fixes an issue related to ruamel and its use in pipenv check.

@yeisonvargasf we don't have base branch, it's just main. Currently, your PR isn't mergeable. Please rebase again.

@yeisonvargasf I don't know if you could go back to the way this branch was before the attempted rebase?  It probably would have worked smoother to have merged main branch changes into this fork/branch instead of how this rebase was done.

I can update my branch with the latest main changes now if that helps, you can continue to target that branch, but right now the commit history here seems corrupted from the rebasing, perhaps you can cherry-pick your original commits to a new branch off my updated branch?

I have pushed the updated changes from main to my branch vendor-latest-safety2

I think the same, so sure, @matteius; I'll create a new branch and make a new PR with the vendor-latest-safety2 as a target.


Brother, can you support unofficial OpenAI API?

https://gptgod.site/api/v1/chat/completions,

To add on, the unofficial OpenAI API endpoint is [POST]https://gptgod.site/api/v1/chat/completions, the interface format refers to OpenAI's completions API。

Try replacing the existing OpenAI Endpoint value with https://gptgod.site/api/v1.


digestabot update references in shell scripts

I'm working on a test that references the ghcr.io/wolfi-dev/apko image from within a bash-based test, and it'd be great if these were bumped by digestabot.
Not sure if this would break anything 🤔
cc @cpanato

@mattmoor do you have any examples?

The reproducibility test I added in images yesterday.-M(obile)On Jun 27, 2023, at 12:48 AM, Carlos Tadeu Panato Junior @.***> wrote:
@mattmoor do you have any examples?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Proposed changes to <context>.cbuild.yml files

The Problems To Be Solved

Problem: Clangd based Intellisense needs the location of compiler include files.
Solution: add information about the compiler toolchain path used.

NOTE: Problem 1. can be solved differently; no action in CMSIS-Toolbox

Problem: <context>.cbuild.yml files contain information about the build process on the local compiler, all other files of this category are in the out directory.
Solution: locate <context>.cbuild.yml files in the releated out directory. Make paths absolute (see next item).

Problem: paths are relative, hence files are harder to locate as the base directory is somewhat dynamic in solutions that contain multiple projects.
Solution: initally the plan was to use these files to achieve reproducible builds, however this is now achieved by *.cbuild-pack.yml. Therefore these files need no longer to be part of a repo commit.  The need for relative paths is therefore diminished.

Some observations:
The <context>.cbuild.yml file together with *.cbuild-idx.yml and *.cbuild-set.yml contain input information for the build stage, where the outdir directory as the name suggests is intended for storing the build output files such as build artifacts. Storing the <context>.cbuild.yml in the outdir would mix the scopes, for example making it harder to clean build files.
The location of generated files is well defined taking as entry point the *.cbuild-idx.yml.
I strongly advise against absolute paths in <context>.cbuild.yml because it spoils portability and separation of concerns between project and build stages.
In addition portable <context>.cbuild.yml files are much easier to compare for debug purposes and are largely used as golden references in test cases.

Analyzing the fundamental clangd problem
It seems that for header files outside the file tree in VS Code, for instance files in packs, the clangd server is not able to find the configuration file .clangd and/or compile_commands.json.
From https://clangd.llvm.org/config#files:

project configuration: a file named .clangd in the source tree. (clangd searches in all parent directories of the active file).

This is the VS Code clangd's OUTPUT window when for example the cmsis_os2.h is opened:
Failed to find compilation database for [...]\ARM\CMSIS\6.0.0\CMSIS\RTOS2\Include\cmsis_os2.h

Possible solution: when adding the --compile-commands-dir argument with the path to compile_commands.json in the clangd settings, intellisense works as expected.
Example of clangd settings in .vscode/settings.json:
{
    "clangd.arguments": [
        "--compile-commands-dir=c:/csolution-examples/Hello/out/Hello/AVH/Debug"
    ]
}

VS Code clangd's OUTPUT window:
Loaded compilation database from c:/csolution-examples/Hello/out/Hello/AVH/Debug\compile_commands.json
ASTWorker building file [...]\ARM\CMSIS\6.0.0\CMSIS\RTOS2\Include\cmsis_os2.h version 1 with command inferred from [...]\ARM\CMSIS\6.0.0\CMSIS\RTOS2\Source\os_systick.c

As I have explained in my previous comment I strongly advise against item 3 and I also disagree on item 2.
If the goal of moving generated *.yml files is to keep the user workspace clean, in my opinion a better approach is to follow the behavior of the --output command line option where almost all generated files can be stored elsewhere, similarly to out-of-tree CMake builds that keeps source (-S) and build (-B) directories separately.

is tracked in MCUTO-317

Leave this ticket open for now.

Could all cbuild generated files, such as .cbuild-idx.yml, .cbuild-pack.yml and .cbuild-set.yml, be put in a subfolder .cbuild to keep project root clean?

I'm working on a proposal for Run/Debug configuration.  This should be perhaps synchronized as I propose to add a folder .cmsis.

Remain issue covered in https://github.com/Open-CMSIS-Pack/devtools/issues/1857
Hence I'm closing this issue.  No changes in CMSIS-Toolbox 2.7 planned


How can you run the tools on RancherOS?

RancherOS doesn't have by default pip installed and it can't not be installed unless you put it in a container how will be the best way to run this tool on RancherOS systems?

Other issue I'm having it's how I can get the API key and secret if I don't have access to Rancher UI yet
I'm trying to automate the creation of Rancher Server a few Hosts using vagrant

I can create a container with this tool in (+pip) for use on RancherOS.
But it is only for the Rancher Agent registration, not for Rancher server.
For the first server you must run Rancher server, and get an API key for your user. Then you would use this tool for bootstrapping other RancherOS servers that you want to connect to your existing Rancher infrastructure.

So you basically create a container like from python:alpine on the hosts (running on RancherOS) and then install this tool and run it? from where? from inside the container? or from RancherOS? how it will create the rancher/alpine container if you run it from inside the container?

@zot24 You can put any key and secret, it will work, because when you start rancher server from scratch it is completely open. This is how I did it with SaltStack: https://github.com/komljen/rancher-salt/blob/master/salt/docker/rancher/agent/init.sls

docker run -it --name toolbox -v /:/media/root --ipc=host --net=host --pid=host ubuntu
Then you can install tools like tcpdump, curl etc. Just restart when you need by running
docker start -ia toolbox


Use monads instead of nullable types

interface ANullableThing() {
    public fun doSomething()
    public fun doSomethingElse()
}

class TheAbsentOption(): ANullableThing {
    public fun doSomething() {
        Log.i("tag", "It's broken")
    }
    public fun doSomethingElse() {
        throw Exception("Look, it's really really broken")
    }
}

class ThePresentOption(); ANullableThing {
    public fun doSomething() {
        val really = "doing it"
    }
    public fun doSomethingElse() {
        val really = "doing it"
    }
}

sealed class Either {
    class TheAbsentOption(val value: TheAbsentOption): Either<TheAbsentOption, Nothing>()
    class ThePresentOption(val value: ThePresentOption): Either<Nothing, ThePresentOption>()
}


PIpeline steps keep regenerating outputs

As per doc caching & reusing I am:

storing each step in its folder to avoid uploading (modified) data not related to the specific step
setting in each step allow_reuse=True
using OutputFileDatasetConfig to store intermediate data between steps
submitting the pipeline with regenerate_outputs=False

yet the the pipeline is regenerating all outputs regardless of any modification (I ran the pipeline multiple times without changing anything):
Created step xxx [f11f78a0][4308027b-b6de-4ed5-bec4-3117a0ec98f7], (This step will run and generate new outputs)
Created step yyy [02b10d14][19e5b3b7-3b4d-490d-922d-acf1a8a11b46], (This step will run and generate new outputs)
Created step zzz [cf929b52][a71ffee9-e541-407f-bce1-bc70e2ec5003], (This step will run and generate new outputs)

Is there a way to display the files that have been modified and force the pipeline to run all steps again? Or, is there any other way to debug this issue?

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

ID: c99cbeb4-d519-dfcf-c3fc-d3828d4c6f4d
Version Independent ID: a4658aec-a0e6-174c-5264-2a11eb41b6fb
Content: Create and run ML pipelines - Azure Machine Learning
Content Source: articles/machine-learning/how-to-create-machine-learning-pipelines.md
Service: machine-learning
Sub-service: core
GitHub Login: @NilsPohlmann
Microsoft Alias: nilsp

@JackCaster I think the

The pipeline is structured as 1) datastore Datastore.get(...) => 2) dataset Dataset.File.from_files(...) => 3) multiple pipeline steps PythonScriptStep() that transfer data using folders defined by OutputFileDatasetConfig in upload mode. Also each step is within its own folder. Although neither the datastore, nor the dataset, nor the code has changed, the pipeline runs all steps all the time.
I think I am following all the directions in the page you linked (https://docs.microsoft.com/en-us/azure/machine-learning/how-to-debug-pipelines#troubleshooting-tips). In particular:

Unable to pass data to PipelineData directory

In my pipeline I am using OutputFileDatasetConfig instead, which seems to be the recommended way nowadays. Unfortunately, the doc is a bit spotty on this topic.

Pipeline not reusing steps

All steps have allow_reuse=True

Pipeline is rerunning unnecessarily

As suggested, I decoupled the source-code directories for each step.
Any idea on how to identify what are the files that trigger a code rerun?

I tried again by registering the input dataset Dataset.File.from_files().register() and the datasets created in between the steps OutputFileDatasetConfig(...).register_on_complete() but all steps are run again every time.

@JackCaster I have tried some scenarios to check the reuse scenario, according to the steps mentioned in this notebook which is similar to the steps you might be following but the only difference might be the input is mounted on the compute in the prep step. I have run this notebook a couple of times and noticed the reuse functionality seems to be working.
Run1:

Run2:

Could you please check if you can run this config with a new experiment and check if this helps?

OK, I solved it, BUT the way it works does not seem to be the intended behavior. The solution is to set the input name:
data = OutputFileDatasetConfig(
        name="my-name", ... # <- this is the name I set when I create the dataset
        ...
    )

then, when I supply the dataset to a PythonScriptStep, I need to named the input, otherwise the steps are run again (despite no change in code/data)
data.as_input(
        name="my_name", ... # <- this is YET another name I need to set otherwise the pipeline run everything again.
    )

If you look at the step graph, when you do not set data.as_input(name=...), the name is auto-generated:

If you, instead, name the input:

Here's what I think is a problem:

I would expect the datasets transferred between steps to use the name set when creating OutputFileDatasetConfig. Why do I need to name (again) the input?
I would expect the actual data in the blob storage to be hashed somehow and that hash code would be used to determine if any step is needed to run again. It seems, instead, that we are only checking the name of the OutputFileDatasetConfig dataset (not the associated data or other properties). This creates a critical issue (see next point)
I deleted the data from the blob storage and added a new step that depended on that data. The pipeline failed because Source of the dataset is either not accessible or does not contain any data. That means that the pipeline does not verify the actual existence of the data (or modification of it), and the only check is on the OutputFileDatasetConfig name. If the initial dataset used as input to the pipeline does not change, and the name of the OutputFileDatasetConfig does not change, the pipeline assumes that all is fine and some steps can be skipped. Is this expected behavior?

@JackCaster I have reached out to he product team on the following queries. Here is the response from the team.

I would expect the datasets transferred between steps to use the name set when creating OutputFileDatasetConfig. Why do I need to name (again) the input?

What is the SDK version that is used?

I would expect the actual data in the blob storage to be hashed somehow and that hash code would be used to determine if any step is needed to run again. It seems, instead, that we are only checking the name of the OutputFileDatasetConfig dataset (not the associated data or other properties). This creates a critical issue (see next point)

I deleted the data from the blob storage and added a new step that depended on that data. The pipeline failed because Source of the dataset is either not accessible or does not contain any data. That means that the pipeline does not verify the actual existence of the data (or modification of it), and the only check is on the OutputFileDatasetConfig name. If the initial dataset used as input to the pipeline does not change, and the name of the OutputFileDatasetConfig does not change, the pipeline assumes that all is fine and some steps can be skipped. Is this expected behavior?

This behavior in the current implementation is 'by design'.  The pipeline backend does not track the contents of output data in the customer's blob storage.  If you delete or modify that data, it will break the reuse scenario for pipelines.

Thanks for getting back.

What is the SDK version that is used?

azureml-sdk version 1.28.0. Is this issue something that has been addressed in the latest version (currently 1.29.0)? In the changelog I do not see anything related to it.

Yes, the changelog does not contain details of this fix. Our team is still investigating this issue. I will keep you posted.

#assign:@lobrien

#assign @lobrien

Created a doc workitem to describe the behavior. https://dev.azure.com/mseng/TechnicalContent/_workitems/edit/1858218

Fixed in https://github.com/MicrosoftDocs/azure-docs-pr/pull/167886
#please-close


Proposed charter amendment for community elections.

Modify and clarify community representative election.

Modify the timeline to provide more time to prepare during ROSCon rush.
Give specific dates for milestones and process details.
Lengthen the election period.
Decouple actions from ROSCon.
Extend makeup period.

@clalancette my intent here is to have most of the heavy lift items done two weeks before ROSCon so we're not contending with them in the run up to the event when everyone is scrambling / traveling. Once the voting commences very little should have to be done on the Chair's part. Finalizing the election should consist of closing the voting mechanism and reporting the results.
I believe it should be a simple vote to ratify this item.

This modification was approved at the November 2022 ROS 2 TSC meeting today. It is ready to merge at any time.

This pull request has been mentioned on ROS Discourse. There might be relevant details there:
https://discourse.ros.org/t/ros-2-tsc-meeting-minutes-2022-11-17/28457/1


Unable to fetch thread

After transition to pydantic I am no longer able to fetch threads. It might very well be a user error, but I can't see where.
Running:
bsky.app.bsky.feed.get_post_thread(params={"uri": uri})
and getting response:
 File "/home/linus/.local/lib/python3.8/site-packages/atproto/xrpc_client/namespaces/sync_ns.py", line 403, in get_post_thread
    return get_response_model(response, models.AppBskyFeedGetPostThread.Response)
  File "/home/linus/.local/lib/python3.8/site-packages/atproto/xrpc_client/models/utils.py", line 98, in get_response_model
    return get_or_create(response.content, model)
  File "/home/linus/.local/lib/python3.8/site-packages/atproto/xrpc_client/models/utils.py", line 64, in get_or_create
    raise e
  File "/home/linus/.local/lib/python3.8/site-packages/atproto/xrpc_client/models/utils.py", line 57, in get_or_create
    model_instance = _get_or_create(model_data, model, strict=strict)
  File "/home/linus/.local/lib/python3.8/site-packages/atproto/xrpc_client/models/utils.py", line 89, in _get_or_create
    raise ModelError(str(e)) from e
atproto.exceptions.ModelError: 1 validation error for Response
thread.`app.bsky.feed.defs#threadViewPost`.viewer
  Extra inputs are not permitted [type=extra_forbidden, input_value={'canReply': True}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.3/v/extra_forbidden

I'm not sure what "extra inputs" it's receiving.

That's strange because I have tests for it here https://github.com/MarshalX/atproto/blob/main/tests/models/tests/test_thread_view_post_with_embed_media.py
Probably lexicon has been updated and I need regenerate models
Or you found specific thread with custom lexicon...

API schema has been changed. fixed in #150

fix version is 0.0.28. pls update


Conflict with other before request middlewares

My error logs are getting filled with a
line 62, in after_request_handler
    lat = time.time() - request['__START_TIME__']
KeyError: '__START_TIME__'

and I suspect it is some kind of conflict with sanic-limiter by bohea (https://github.com/bohea/sanic-limiter). When I disable my limiter sanic-prometheus handles fine.
I can fork and try to patch this but I thought I'd bring it to your attention first to see if you've had any problem.
Sample code to run with sanic-limiter and sanic-prometheus installed. Latest version of both from git (sanic-limiter is a bit out of date via pip). Run this and go to localhost:8000/home then try localhost:8000/. After going to an endpoint that will throw a 404 you'll see the prometheus error.
from sanic_prometheus import monitor
from sanic import Sanic, response, Blueprint
from sanic_limiter import Limiter, get_remote_address

app = Sanic()
test_bp = Blueprint('test')

limiter = Limiter(
    app,
    global_limits=['10 per second', '500 per day'],
    key_func=get_remote_address)

@test_bp.route('/home', methods=['GET'])
async def home(request):
    return response.json({'success': 'you are home'})

if __name__ == '__main__':
    monitor(app).expose_endpoint()
    app.blueprint(test_bp)
    app.run(host='<IP_ADDRESS>', port=8000, access_log=True)

+1
I think this is actually a design issue with Sanic itself - there's no way to control the order in which middlewares run, if any MW aborts, there's no guarantees about which MW actually ran.
As a workaround, we can just test in after_request_handler:62 that __START_TIME__ exists, and...? not report the call? report with null latency?


Flutter Web crash in IOS mobile if greater than version of IOS 15

I am developing one website in flutter web and that crash randomly in IOS device if device version is greater than 15. I am investing more time in that and i can't find any proper solution.
I have checked with different different way like clear cache and controller delete and many more.

Hi @VishalUndhadeww
When opening an issue, please try to provide all information indicated in the template so that we can address this issue properly (See bug issue template here)

That web site is working fine in local. But when I deploy in live server the crash randomly in mobile browser. So, I can't get any logs.

You can try running your project in release mode to see if it occurs or not.
In case the crash only occurs on mobile browser, you can try connecting with Macbook by cable and inspecting mobile browser console from Macbook's Safari browser (check this video for details). The crash might be in the Console tab.
Also, please provide the output of flutter doctor -v and affected device information (OS, model).

Yes, I tried with release mode with render HTML and auto.
Yes, this crash only occurs on mobile browser. That works fine in laptop and desktop. So, not sure what the issue.
Please find the below screenshot for flutter doctor -v command.

Please find the below screenshot for flutter doctor -v command.

Please provide the output in text format instead of a screenshot for better readability. (You may want to refer to writing and formatting syntax for beautifully formatted text)

this crash only occurs on mobile browser.

Please try to get the crash log from browser as the method I shared above. Without more information, we are not sure what the issue you are having is.


Document (or make easier) how to have Python code log to SQLite

Question came up here: https://discord.com/channels/823971286308356157/1128504153841336370/1148406576739254363
Currently there isn't a documented way of having prompts run through the Python code get logged to SQLite.
The undocumented way is to do this:
db = sqlite_utils.Database("logs.db")
response = model.prompt("prompt goes here")
response.log_to_db(db)

But that's a) not documented and b) not much fun to have to remember to do every time.

I noticed this when I added the feature to https://github.com/simonw/llm-cluster that uses an LLM to generate a summary of each cluster - I would have liked to have captured my experiments with that tool, since it took some iterating on the prompt to get to something that worked OK.

Hi @simonw,
I've been perusing around the issues to give back to the project and I came across this issue,. After reading your blog post regarding capturing experiments with the llm-cluster tool, led me to the below possible solution.
This plugin ought to automatically log every prompt and its corresponding response to an SQLite database. Here's a 90% solution (I haven't written any tests yet). I simply followed the idioms in your llm-cluster plugin:
import sqlite_utils
from datetime import datetime

@llm.hookimpl
def register_commands(cli):
    @cli.command()
    @click.option(
        "--log_db",
        type=click.Path(
            file_okay=True, allow_dash=False, dir_okay=False, writable=True
        ),
        envvar="LLM_PROMPT_LOG_DB",
        help='SQLite database file for logging')
    def log_prompt(log_db):
        db = sqlite_utils.Database(log_db or 'logs.db')
        db['logs'].create({'timestamp': str, 'prompt': str, 'response': str}, pk='timestamp', if_not_exists=True)

        def log_to_db(prompt, response):
            timestamp = datetime.now().isoformat()
            db['logs'].insert({'timestamp': timestamp, 'prompt': prompt, 'response': response})

        original_prompt = llm.get_model().prompt

        def new_prompt(user_prompt):
            response = original_prompt(user_prompt)
            log_to_db(user_prompt, response)
            return response

        llm.get_model().prompt = new_prompt

This plugin adds a new CLI option --log_db to specify the SQLite database file for logging. It also overrides the prompt method of the language model to include the logging functionality. This ensures that every interaction with the model gets logged.
Best regards, and thank you for the llm project.

I was looking for some way to log my conversation results from llm's Python API to a database -- the exact same way that the CLI version does, same schema and FTS, etc. I'll try the shortcut you've written in the first comment on this topic, and maybe I can help bring that into the Python API proper.
@ealvar3z's code looks like a good starting point as far as overriding the prompt method, but that's written as a plugin and not as a new option within the core functionality of the library, which I think is warranted here -- unless I'm misunderstanding how much power plugins can have.
It could be a keyword option on model.prompt and model.conversation which causes requests/responses to get logged before being returned.
(What brought me here: yesterday I started working on a program that's a training ground for role-playing game Game Masters, which uses the LLMs as individual pseudo-players in an RPG group. All my LLM interactions are through your library as a Python package. So far, it feels Pythonic, comprehensive, and easy to use. Thank you for making it.)


Parallels: Ctrl+Tab is no longer working nor assignable for me

VSCode Version: running out of sources or 1.13
OS Version: Windows 10 or Linux Ubuntu 17 (inside parallels on macOS)
Keyboard: Apple Keyboard (german locale)

Steps to Reproduce:

on a fresh install without keybindings modified type Ctrl+Tab
this should open the next editor in the editor group but does nothing

Furthermore I cannot even type this key into the keybindings box in the keybindings editor.
The keybinding is associated though:

I can reproduce and confirm that VS Code is not receiving ctrl+tab when being run inside Windows inside Parallels. Perhaps a Google Search of the Parallels issue might reveal something. And ... it does -- http://kb.parallels.com/en/124069


CHP 2 Tensorboard attribute error

Hello,
I've been searching all over for a solution to this and can't come up with anything. In Listing 2.16 there is an issue. When I copy from the example I get this error:

AttributeError                            Traceback (most recent call last)
 in ()
17 with tf.Session() as sess:
18     sess.run(init)
---> 19     sess.add_graph(sess.graph)
20     for i in range(len(raw_data)):
21         summary_str, curr_avg = sess.run([merged, update_avg], feed_dict={curr_value: raw_data[i]})
AttributeError: 'Session' object has no attribute 'add_graph'

@BiceCold Did you figure it out? seems like this book is filled with typos and no one bothered to check the code before printing=(((

@ilyaperepelitsa @BiceCold Yeah, it's a mistake. You need to change sess.add_graph(sess.graph) to writer.add_graph(sess.graph). If you Google around, the add_graph() method exists on the FileWriter class.


Quick Capture - append date to added task

Describe the bug
Not sure if this could be parsed appended text or needs to be a new configurable feature - I tried to append the date using {{date({locale: 'sv-SE', dateStyle: 'short'})}} but it didn't parse. Goal would be to have the added inbox task look like - [ ] buy milk - 2021-09-03 09:04

This triggers an architecture alert for me. Namely: is this particular request just one example of a wider need to be able to include or trigger these sorts of "extension function calls" (to coin a phrase)?
We currently have two forms of substitution:

the complex {{function({params})}} currently available in templates
the simpler *|TITLE|*, *|START|* etc. set available in Event lists

(BTW, I'm still really not keen on either syntax; the first is difficult to read, and the second makes documentation difficult. I really wish nmn had borrowed from Obsidian's syntax, as I recommended at the time.)
I've added ability to have pre-defined @mentions and #tags to the quick capture commands already (#57).  It wouldn't take long to add another helper function to process extension function calls in any passed text, and use that to satisfy @brokosz's request.
But I wonder if there's a wider picture to consider first? For example I can imagine these new use cases:

Allow user to type out an extension function calls in a note, and immediately process it, replacing the function call text
Allow user to type out an extension function calls in a note, and execute it via a new plugin command 'processExtensions', replacing the function call text
Allow user to type out an extension function calls in a note, and execute it via a new plugin command 'processExtensions', leaving the function call text in some way, so that it can be re-run later (to update lookups or calculations).

The latter is takes us close to advanced functionality in Obsidian that allows users to effectively make database-like queries, with the results embedded in the note. This could be a different way of addressing event lists, or lists of all notes with open tasks etc. etc. etc.
What do we think, @weyert @mikeerickson @dwertheimer @EduardMe ?

Spot on, @jgclark - I made an assumption about function transclusion and I think it's the right way to go long term; seems like it would add to the flexibility of plugins but my concern would be up and downstream dependencies. I would think each plugin should be as atomic and idempotic as possible. So either there needs to be a base library of certain plugin functions as part of the NotePlan app bundle or each plugin developer would need to implement duplicative functions. I definitely don't know the right answer here.

Thanks, @brokosz. I quite agree about keeping things as separate as possible. I see it was early June I raised #11 worrying about the linkage I was finding particularly as we add more "extension functions". We didn't resolve that then, nor at the first plugin-dev-meetup with Eduard.

hey gang,
i have some thoughts on this and will be preparing a more verbose reply in the coming days.  I have some household items to take care of this morning, but i will be back on computer this afternoon and i will provide with my thoughts 😎

DISCLAIMER: This may go deeper than expected 😴
@jgclark Do you happen to have any reference material you can point me to on how Obsidian handles this type of situation?  I am keen to implementing what they have done (based on your desires, I am sure it is a logical approach).  I will give more context after I have reviewed this information (but again, I trust that your recommendation is a solid direction)
@brokosz I agree that it should be idempotent as it already a standard across the industry, thus no need to deviate from that whatsoever.  With regards to a common set of libraries, this is something that I have thought about quite a bit. If we think in terms of writing C++ type code, we could have standard libraries (stdlib) that we would import in ALL plugin calls (no need to worry about bloated plugins, as they will be tree shaken accordingly at build time). This way, we do have to replicate code, just import the library and boom (we are already doing this in large part with the common helpers so this would not be a big mind shift.

NotePlan Standard Library
In general, I think we should create a standard library stdlib which would be an isolated JavaScript library (or libraries if need be) so that it can evolve as we realize more and more what types of functions should be available (this is a similar approach used by VSCode and their extension development, see below for an example).
I do think however, that we need to be a bit more explicit with versioning and a single entry point or default export so that we keep a proper CHANGELOG for all the commands and reference to specific version when addressing an issue.
import np from ‘./lib/noteplan’
…

const config = np.getConfig(…)

Or using standard destructuing
import { getConfig } from ‘./lib/noteplan’
…

const = getConfig(…)

VSCode Extension Example
This is the standard extension.js header which in this case imports an npm package (another angle we could consider and would make versioning and maintaining that much easier (but that can come at a later time after our library API stabilizes).

// const values = config.get('configurations');
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below

const vscode = require('vscode');

Conclusion
OK, that is enough to nibble on for the time being, and more discussions will occur, but I think we are headed in the right direction, and the consensus seems we all want some “standards”, and this will evolve.  I will give my strong vote to having a standard library (something like /lib/noteplan.js or an npm module down the road.
I am wide open to suggestions, just sharing some of the approaches I have done in my “day job” as we face these types of situations on a regular basis with all of our development groups (we have an average of 40+ developers). We maintain a dozen or so libraries, which are used across all of our applications, so some of it may be overkill for what we are trying to accomplish.

I've enjoyed munching on that, @mikeerickson, and happy to head this way.
On the specifics of Obsidian, I admit that I've not used it extensively, but in particular it's the Templater extension/plugin that I was hoping we could learn from.
Here's a simple case, cribbed from their getting started:

The following template file, that is using Templater template syntax:

---
creation date: <% tp.file.creation_date() %>
modification date: <% tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss") %>
---

<< [[<% tp.date.now("YYYY-MM-DD", -1) %>]] | [[<% tp.date.now("YYYY-MM-DD", 1) %>]] >>

# <% tp.file.title %>

<% tp.web.daily_quote() %>

Will produce the following result when inserted:

---
creation date: 2021-01-07 17:20
modification date: Thursday 7th January 2021 17:20:43
---

<< [[2021-04-08]] | [[2021-04-10]] >>

# Test Test

> Do the best you can until you know better. Then when you know better, do better.
> — <cite>Maya Angelou</cite>

You can immediately see the similarities. I liked that it:

has a fairly readable syntax
has namespacing for functions, to help manage growth
already includes the ability to embed JavaScript directly (though naturally that's an advanced concept that would need great care)

I've not attempted to build plugins in this system, so I don't in detail what its standards are, other than seeing they hold to CommonJS which we're not.

@jgclark Yea, this is definitely a nice plugin and I think we could provide something very similar for NotePlan, while maintaining the current variable syntax already in use ( or we could move to the same templating engine used by Templater eta if we want maintain consistency with those who may come from Obsidian
It is really just a matter of using {{ }} versus <% %>
From reading the example from Templater plugin, we could implement the same sort of templates using GitHub - janl/mustache.js: Minimal templating with {{mustaches}} in JavaScript
If I would take the example Templater template you supplied, it could be formatted as such using Mustache (some of this is pseudo code)

const Mustache = require('mustache')

const mustacheTemplate = new Mustache()

const { format } = require('date-fns')

const dailyQuote = (/* whereever we are getting quotes */}

// format dateTime using optional user defined format
// uses `format` from `date-fns`

const formatDateTime = (formatStr = "yyyy-mm-dd HH:ss") => {
  return format(formatStr)
}

const mergeData = {
  file: {
    title: 'Hello World',
    creation_date: function(formatStr = null) {
      return formatDateTime(formatStr)
    },
    last_modified_date: function(formatStr = null) {
      return formatDateTime(formatStr)
    }
  },
  date: {
    now: function(formatStr = null) {
     return formatDateTime(formatStr)
    }
  }
  web: {
    daily_quote: function() {
     return dailyQuote()
    }
  }
}

const templateData = /* read from NotePlan template */

const result = mustacheTemplate.render(templateData, mergeData)

Template Objects

To access mergeData variables, use {{ file.title }}
To access mergeData function, use {{ file.last_modified_date() }}

Example Template Contents
The following example could use the standard NotePlan Template (using the same object syntax as existing templates)
￼
creation date: {{ file.creation_date() }}
modification date: {{ file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss") }}
￼

<< [[ {{ date.now("YYYY-MM-DD", -1) }} ]] | [[ {{ date.now("YYYY-MM-DD", 1) }} ]] >>

 {{ file.title }}

{{ web.daily_quote() }}

@jgclark Sorry this is multiple replies, writing this on iPad is sometimes difficult :-)
OK, so we could then provide a series of namespaces objects which users could then use in their templates (objects with or without namespace as necessary)
title (variable)
daily_quote (function)
date.today (function)
file.create_date (function)
file.modified_date (function)

Note:  My example was CommonJS format, but could just as easily been in ES6 format

Sorry for not participating too much in the plugin channels these days. I’m again deep into NotePlan coding.
However, I like the suggested templating “language”.
Some thoughts from my side:

I could add a standard library to NotePlan shipped with the bundle, if that helps (maybe one to process templates). Only problem is that updating it would be a pain.
For the Meeting Notes feature, I wanted to get right away into templating. Means we got an event in the right sidebar and now we want to create a meeting note for that. Instead of taking one fixed version, I thought of using templates directly, so you can change it as you wish. For example, if you don’t want to have the attendees listed, then remove the template text. So, whatever we arrive at, I would like to use it later and integrate also in the main code. Or meeting notes could be also possibly a plugin in itself, just called from a context menu.

Eduard, this is interesting. I shipped a plugin over the weekend called
/qtn which allows you to create a quick note from a template with
{{templateTags}} in the title. It would not be hard to create a plugin even
now to do much of this. Something like:

/createNoteFromCalendarEvent (title TBD)
if there's only one event on your calendar happening right now, it gives
you a choice:

Create event for "Morning Meeting w/ @eduardme" ?
Select another event from the calendar
… then asks "Use default template or pick a template below:"
Of course some things to think through on field replacements in the
template, but maybe worth doing the plugin first. @jglark is this something
you might be up for trying?

BTW, I don't want to derail the discussion of the templating engine, which
would be amazing.
On Tue, Sep 07, 2021 at 7:35 AM, Eduard Metzger @.***>
wrote:

Sorry for not participating too much in the plugin channels these days.
I’m again deep into NotePlan coding.
However, I like the suggested templating “language”.
Some thoughts from my side:

I could add a standard library to NotePlan shipped with the bundle,
if that helps (maybe one to process templates). Only problem is that
updating it would be a pain.
For the Meeting Notes feature, I wanted to get right away into
templating. Means we got an event in the right sidebar and now we want to
create a meeting note for that. Instead of taking one fixed version, I
thought of using templates directly, so you can change it as you wish. For
example, if you don’t want to have the attendees listed, then remove the
template text. So, whatever we arrive at, I would like to use it later and
integrate also in the main code. Or meeting notes could be also possibly a
plugin in itself, just called from a context menu.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NotePlan/plugins/issues/72#issuecomment-914359113,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACEI6VAFSOTCBABGU6CYJETUAYPKPANCNFSM5DL577JA
.

Very cool idea, that would be almost all we need for that feature! I’ll add later some proper “linkage” to it. Plan is that NotePlan check for an x-callback-url in the notes field of the event and then displays a note icon, so the user can directly jump into the note from the event. The plugin could add this as well.

Just a quick update, @brokosz, to say that I haven't forgotten about your original feature request here.
Since the architectural conversation it spawned here, in #11 and in our first GH 'discussion', @mikeerickson is now underway with #89 which will implement a richer templating language for plugins.
My hope is that this will mean it's a simple configuration change to add dates in the way you want, without requiring specific plugin coding.  So please hold on, and I hope to use it within a week or so as a useful test case.

@jgclark what's your thinking about this one? can it be closed?


Use pipes to communicate between broker and host

Using websockets the way we do now presents a potential security issue in a multi-user environment, since it is possible for one user to connect to a socket that is intended for another by racing against the original connection.
Instead, we should use a transport mechanism that does not offer an attack window between process start and establishing the connection. It seems that using stdin/stdout for this purpose would fit the bill, and could also simplify the host code significantly, as there's no websocket dependency anymore.

how is jupyter doing this with their protocol (which i assume they've done
& redone & addressed some of the same types of issues)?
On Fri, Jul 15, 2016 at 9:58 AM, Pavel Minaev<EMAIL_ADDRESS>wrote:

Using websockets the way we do now presents a potential security issue in
a multi-user environment, since it is possible for one user to connect to a
socket that is intended for another by racing against the original
connection.
Instead, we should use a transport mechanism that does not offer an attack
window between process start and establishing the connection. It seems that
using stdin/stdout for this purpose would fit the bill, and could also
simplify the host code significantly, as there's no websocket dependency
anymore.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/RTVS/issues/2081, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtUVLiOnBQEaOSzyqXm9cd-MxO5PplMks5qV7wygaJpZM4JNmDV
.

On a multi-user system, they have the same problem, potentially. It may be mitigated by using authentication - the problem is that there's no websocket library for C++ that supports it.
There are also various schemes utilizing one-off generated auth tokens. The problem is that there's no good way to transmit them from the broker to the host. Command line and environment variables can both be inspected by other processes, so they do not constitute a secure transmission channel.


'make all' only builds stage 1

It's not obvious from the makefile why this is

To expound: the target all should build rustc-H-${HOST_TRIPLE} which should build rustc-stage3-H-${HOST_TRIPLE} which ought to build stage3.  But somehow this doesn't happen.  Typing make rustc-stage3-H-x86_64-apple-darwin seems to work fine.


invalid ELF header when using flask-bcrypt

Context
ran zappa update in which the only thing I changed was adding "cors": true to zappa_Settings.json and now im getting invalid ELF header because of Bcrypt? causing the deployment to fail
Expected Behavior
normal update
Actual Behavior
[1545000508959] Instancing..
[1545000512152] bcrypt is required to use Flask-Bcrypt
[1545000512153] /var/task/bcrypt/_bcrypt.abi3.so: invalid ELF header: ImportError
Steps to Reproduce

import bcrypt into a flask project?

Your Environment

Zappa version used: 0.47.1
Operating System and Python version: OSX Mojave, Python 3.6

Things I've tried
removing the offending "cors": true
undeploying and deploying
adding bcrypt to my pipfile

another solution that allows using the current bcrypt version is compiling your own packages by adding "use_precompiled_packages": false to your zappa_settings.json
this compiles the packages on your machine (or ci environment) and does not use the old versions from Miserlou/lambda-packages
make sure to compile the stuff on a suitable python version and with glibc, musl libc didn't work for me...

It appears bcrypt 3.1.5 and above does not provide pre-compiled wheels for manylinux. I had the same issue, and had to revert bcrypt back to 3.1.4 :-/
See:

https://pypi.org/project/bcrypt/3.1.4/#files
https://pypi.org/project/bcrypt/3.1.5/#files
https://pypi.org/project/bcrypt/3.1.6/#files

I had pinned bcrypt to 3.1.4 but this came up again... Not sure why.

Still having this problem.

I've just updated a previously working python3.6 zappa deployment to python3.7 with the latest zappa and i'm now getting this error too... i'm assuming the version of bcrypt packaged has been updated and we will need to pin a different version

My solution was to use a dockerized env to deploy from... This way I don't need to pin packages anymore.

@charlax that seems more like a workaround than a fix, but I may have to do that

You're right, but I'm not sure providing prebuilt up-to-date packages is a core feature of Zappa, so it might make sense anyway, depending on your needs.

I've spent hours trying to properly configure Docker and there are just too many package problems that I cannot fix. Add on top of that, I keep getting:
Warning! AWS Lambda may not be available in this AWS Region!
Warning! AWS API Gateway may not be available in this AWS Region!
If providing prebuilt up-to-date packages is what Zappa needs to actually work, then I'd argue that it should be a priority of Zappa. Because otherwise, it's not worth the configuration effort.

I've spent hours trying to configure Docker to work properly with Zappa. The current implementation by Zappa is a hack at best, making it unreasonable to use. Really wanted Zappa to just work instead of causing more headaches than its worth 👎

Python 3.7.3 with pipenv
zappa==0.48.2
tried
bcrypt==3.1.3
bcrypt==3.1.4
bcrypt==3.1.5
bcrypt==3.1.6

For anyone who's having these problems, I finally got an implementation that I'm happy with using Docker and PyCharm.
Dockerfile:
`FROM lambci/lambda:build-python3.7
WORKDIR /var/task
Fancy prompt to remind you are in zappashell
RUN echo 'export PS1="[\e[36m]zappa>[\e[m] "' >> /root/.bashrc
Additional RUN commands here
RUN yum clean all && \
yum -y install
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
SHELL ["/bin/bash", "-c"]
ENTRYPOINT source /entrypoint.sh
`
entrypoint.sh:
`#!/usr/bin/env bash
Enter the virtual environment
echo "CREATING VIRTUAL ENVIRONMENT... PLEASE WAIT..."
python -m venv /var/env
source /var/env/bin/activate
Install required Python packages (via pip)
echo "INSTALLING PIP PACKAGES..."
pip install -r requirements.txt
Add source to bash
echo 'source /var/env/bin/activate' >> /root/.bashrc
Start a new shell
$SHELL
`

Finally got an implementation that I'm satisfied with using Docker and PyCharm. It creates the virtual environment outside of the bind mount because I was having issues whenever the container was killed while the virtual environment was still running. This alleviates those headaches, and all the other headaches I've been running into quite frankly.
Dockerfile:
FROM lambci/lambda:build-python3.7

WORKDIR /var/task

# Fancy prompt to remind you are in zappashell
RUN echo 'export PS1="\[\e[36m\]zappa>\[\e[m\] "' >> /root/.bashrc

# Additional RUN commands here
# RUN yum clean all && \
#    yum -y install <stuff>

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

SHELL ["/bin/bash", "-c"]
ENTRYPOINT source /entrypoint.sh

entrypoint.sh:
#!/usr/bin/env bash

# Enter the virtual environment
echo "CREATING VIRTUAL ENVIRONMENT... PLEASE WAIT..."
python -m venv /var/env
source /var/env/bin/activate

# Install required Python packages (via pip)
echo "INSTALLING PIP PACKAGES..."
pip install -r requirements.txt

# Add source to bash
echo 'source /var/env/bin/activate' >> /root/.bashrc

# Start a new shell
$SHELL

still have the same error. anyone found any solution?

Finally got an implementation that I'm satisfied with using Docker and PyCharm. It creates the virtual environment outside of the bind mount because I was having issues whenever the container was killed while the virtual environment was still running. This alleviates those headaches, and all the other headaches I've been running into quite frankly.
Dockerfile:
FROM lambci/lambda:build-python3.7

WORKDIR /var/task

# Fancy prompt to remind you are in zappashell
RUN echo 'export PS1="\[\e[36m\]zappa>\[\e[m\] "' >> /root/.bashrc

# Additional RUN commands here
# RUN yum clean all && \
#    yum -y install <stuff>

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

SHELL ["/bin/bash", "-c"]
ENTRYPOINT source /entrypoint.sh

entrypoint.sh:
#!/usr/bin/env bash

# Enter the virtual environment
echo "CREATING VIRTUAL ENVIRONMENT... PLEASE WAIT..."
python -m venv /var/env
source /var/env/bin/activate

# Install required Python packages (via pip)
echo "INSTALLING PIP PACKAGES..."
pip install -r requirements.txt

# Add source to bash
echo 'source /var/env/bin/activate' >> /root/.bashrc

# Start a new shell
$SHELL

I have tried this solution but when I run my docker image I get the following error: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
although I do have the file in the directory.


A typo in chapter 01 introduction

In the second paragraph of sequence learning section, there is a typo:

What how wuold we deal with video snippets?

Guess it should be

How would we deal with video snippets?

Also, in the Automatic Speech Recognition section,

Tese are seq2seq problems where the output is much shorter than the input.
should be

These are seq2seq problems where the output is much shorter than the input.

Another one is in the Serialization part:
http://gluon.mxnet.io/chapter03_deep-neural-networks/serialization.html
Guess it should use cpu as it used to be?

Typo:

What how wuold we deal with video snippets?
has been fixed.

Typo:

Tese are seq2seq problems where the output is much shorter than the input.
has been fixed.

Typo in Serialization part:
couldn't find it.
As such - suggest @zackchase can close this issue.

Thanks @sebg


Can I map across differently named attributes?

An example could be that I want to map source_class.myName to  destination_class.name
This is different from overriding (value in source) or missing (value from source) attribute

Yes, I am thinking the same about this mapping because source and destination 's fields are not always the same.

Sorry for the late reply, currently this is not possible, but I can add this feature shortly.

Done. Please check README.md: https://github.com/anikolaienko/py-automapper#different-field-names


First row of the dataset turn off sort

Hello,
i have a question of i can do this with your plugin i have this list as below:
id, name, prisindex
1 , hans, 10,
2 , lars  , 13,
3 , tokil , 14,
4 , bo    , 9
Then i sort prisindex, but i want alwas id 1 to be at the top.
id, name, prisindex - decs
1 , hans, 10,
4 , bo    , 9
2 , lars  , 13,
3 , tokil , 14,
id, name, prisindex - asc
1 , hans, 10,
3 , tokil , 14,
2 , lars  , 13,
4 , bo    , 9
This i need for you can sort in all users, but you own accoount need to be at the top at alwasy for compare your own user the top with the sort users below.

I don't think I would recommend this approach. Why don't you display the current account information above the grid? It creates visual separation, results in better usability and would be easier to implement than what you suggest.

you have to implement your custom sorting strategy.
Check the DOC

@rammi987, yes, this is possible. As @maurorulli advised you need to implement your custom sorting strategy.


feat: subscription logging

Adding the last subscription timestamp so we can prune off channels that nobody is listening to to reduce bandwidth and database writes.

The idea would be to periodically look at the subscribed channels time stamp to see if old and then disconnect? From the agent?

The idea would be to periodically look at the subscribed channels time stamp to see if it's "old" and then disconnect? From the agent?

Yes, we'll add a cronjob that will delete subscribed channels if they haven't been pinged in some amount of time, maybe a week or so.


HIVE-23989: Read isMetastoreRemote flag from system var in StartMiniS2Cluster

What changes were proposed in this pull request?
Read isMetastoreRemote flag from system var when running testRunCluster test in StartMiniS2Cluster.java

Why are the changes needed?
In order to access ACID tables created using MiniHS2, spark-acid requires to access the same HMS which MiniHS2 uses.
In StartMiniHS2Cluster, while initializing MiniHS2, isMetastoreRemote is set to false.
Hence the metastore cannot be accessed from Spark or any other application per se.
Due to this limitation, spark-acid cannot be tested on ACID tables created using MiniHS2.

Does this PR introduce any user-facing change?
No

How was this patch tested?
Ran the test locally with -DminiHS2.isMetastoreRemote=true flag.

change has been committed. Thank you for the patch @sumeetgajjar


Change retain policy to Delete for local-path storage

Saving as draft, pending further verification. @osowski
Description
Change the reclaimPolicy of the local path StorageClass to Delete, from Retain. Note that delete is the default policy for dynamic provisioner storage classes, and also the default for the Local Path Provisioner.
Using a Retain policy means the cluster administrator needs to manually clean-up the backing data for k8s volumes, after a user deletes their PVCs and PVs. In development usage the local node partitions can easily run out of space without active management, causing deployments to fail. In comparison, if the policy is Delete, the provisioner will automatically remove the backing data on the nodes when the PVCs are deleted (and PVs are unbound). This is the behavior that makes sense as a default for users of the deployment scripts.
Breaking change
No, this changes the configuration of the local path provisioner, but only applies to future deployments, not existing ones.
It's useful for users to be aware of the default change in behavior. Running the destroy script will result in all data being removed from the cluster nodes.
Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[X] New feature (non-breaking change that adds new functionality)
[ ] Breaking change (bug fix or new feature that breaks existing functionality)
[ ] Third-party dependency update
[ ] Documentation additions or improvements
[ ] Code quality improvements to existing code or test additions/updates

Applicable issues

This change is related to an issue: CORTX-31536

In debugging 31356 I wanted to ensure that no left over Pod data was influencing repeat runs. Switching to the Delete policy makes sure the left-over data is automatically cleaned up.
How was this tested?
Deploy and destroy. I see all node data removed after the destroy.
Saved files into S3 bucket, confirmed after stopping and starting the cluster (stop/start scripts) the data is still accessible.
Additional information
If users prefer to keep the Retain policy, PVs can be modified after they are created. https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/
Note that future plans include allowing the use of any StorageClass, not just our specific local-path provisioner.
Checklist

[X] The change is tested and works locally.
[ ] New or changed settings in the solution YAML are documented clearly in the README.md file.
[X] All commits are signed off and are in agreement with the CORTX Community DCO and CLA policy.

If this change addresses a CORTX Jira issue:

[ ] The title of the PR starts with the issue ID (e.g. CORTX-XXXXX:)

I did a loop of deploy/destroy. I've noticed that some of the data directories are still left over. In the local-path-provisioner log, I see some messages like:
E0523 20:42:58.647690       1 controller.go:991] volume "pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a" in work queue no longer exists

pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a was the PV which corresponds to a left-over data directory.
In the destroy script, we manually delete the PVs:
Removing pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a
persistentvolume "pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a" deleted

My guess is that deleting the volume manually is confusing the provisioner, and it doesn't handle a volume being removed while it's in its work queue.

I did a loop of deploy/destroy. I've noticed that some of the data directories are still left over. In the local-path-provisioner log, I see some messages like:
E0523 20:42:58.647690       1 controller.go:991] volume "pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a" in work queue no longer exists

pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a was the PV which corresponds to a left-over data directory.
In the destroy script, we manually delete the PVs:
Removing pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a
persistentvolume "pvc-94f74a9f-f308-473a-bd88-705ca7f64e5a" deleted

My guess is that deleting the volume manually is confusing the provisioner, and it doesn't handle a volume being removed while it's in its work queue.

As we're moving towards handling as much k8s functionality as possible, this makes sense to me to remove the manual removal of PVs when we have the underlying StorageClass and dynamic provisioner taking care of some of that. It will help with separation of roles, as long as we're able to still run atomic deploy/destroy loops.


ci: rebase branch on master

we're not using merged codebase from jenkins and didnt rebase mnanually before
Testing

Trade-offs

Dependencies

Screenshots

:tada: This PR is included in version 2.67.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


feat(doc): add component description

What's changed and what's your intention?
Make kubectl explain rw.spec.components a bit more useful
Checklist

[ ] I have written the necessary docs and comments
[ ] I have added necessary unit tests and integration tests

Refer to a related PR or issue link (optional)

Hey, I appreciate the work. However, please add these comments on the go structs and the corresponding changes to the YAMLs can be done with make manifests.

Thanks for pointing this out @arkbriar. I changed it.


Navigation from "Manage My Packages" to Edit/Delete

Current behavior:
Under "Manage my package" you have two options per package: Edit and Delete.

Both options have a Save and Cancel option:

I doesn't matter what you click you will be redirected to the package detail page.
I was a bit suprised that - at least - the cancel button didn't go back to the previous page (Manage My Package).
So, as an idea:
Option a) When you navigate to Edit/Delete from the Manage My Package page you will be redirected back to it when the user clicks on "Cancel"
Option b) ... "Cancel" and "Save" will redirect the user to the "Manage My Package" page (if this was the "previous page).
Enhancement to b) If the user clicks on save and he will be redirected to the "Manage My Package" page a small hint will be displayed like "Package XYZ now has a pending edit..."
Result of this change:
Hopefully managing existing packages on NuGet.org will be more intuitive.
What do you think?

There are a number of usability edits like this that we should consider as
we work on the look and feel of the public gallery.
You can also consider the inconsistency of the buttons at the bottom of the
Edit package page, Edit and Cancel should either both be buttons or both be
action links.  My preference: two buttons.
Jeff
On Sun, Jan 10, 2016 at 4:29 PM, Robert Muehsig<EMAIL_ADDRESS>wrote:

Current behavior:
Under "Manage my package" you have two options per package: Edit and
Delete.
[image: image]
https://cloud.githubusercontent.com/assets/756703/12224118/dd84ba4c-b7e8-11e5-9899-5c65fdfd1392.png
Both options have a Save and Cancel option:
[image: image]
https://cloud.githubusercontent.com/assets/756703/12224106/b27aae1a-b7e8-11e5-8607-f8b2336092c7.png
I doesn't matter what you click you will be redirected to the package
detail page.
I was a bit suprised that - at least - the cancel button didn't go back to
the previous page (Manage My Package).
So, as an idea:
Option a) When you navigate to Edit/Delete from the Manage My Package page
you will be redirected back to it when the user clicks on "Cancel"
Option b) ... "Cancel" and "Save" will redirect the user to the "Manage My
Package" page (if this was the "previous page).
Enhancement to b) If the user clicks on save and he will be redirected to
the "Manage My Package" page a small hint will be displayed like "Package
XYZ now has a pending edit..."
Result of this change:
Hopefully managing existing packages on NuGet.org will be more intuitive.
—
Reply to this email directly or view it on GitHub
https://github.com/NuGet/NuGetGallery/issues/2854.

Would you accept a PR that changes the redirect behavior on Save/Cancel like i mentioned in Option b) ? If you navigate to Edit/Delete from "Manage My Packages" and hit save or cancel you will be redirected to the "Manage My Package" page?
Next question: Would you accept a PR where I change the "Cancel"-links to "Cancel" buttons?

Yes to option B, if the navigation can be done reliably. E.g. if I switch between editing various versions, cancel still should go back to where you'd expect it to go.

All right - I will see what I can do.

Hi I have started working on this. However my check at the moment is something like the below, as we only want to redirect if it's from the Manage Packages page.
if (returnUrl == "http://nuget.org/account/Packages")
Is this the right way to go about it? returnUrl is just a @Request.Url.AbsoluteUri passed through.

You may want to parse it as a Uri and check just the path part - the host part should not matter here as other people may also run a gallery outside of nuget.org where we'd want this to work.
Also when redirecting use SafeRedirect() at all times.

My basic idea was this:
When you navigate from the MyPackage site you could attach a GET-Parameter to the URL:
e.g. https://www.nuget.org/packages/Sloader.Crawler/Edit/?fromMyPackages=true
If you are on the Edit-Page you need to ensure that all other links are also enhanced with this GET-Parameter. When someone hit Save or Cancel, then the redirect should happen.
Never less how you implement it: Awesome @AlexBHarley :+1:

He @AlexBHarley - any updates on this? If you are busy I would try to take a look at it this week.

Hi @robertmuehsig - sorry I should have updated this. No, I am no longer working on it. Good luck!

The "manage package" page changed. This is no longer relevant.


Support for .mdx files

Hey all, we'd like to use this tool to generate TOCs in a bunch of .mdx files, though it seems like out-of-the-box it only supports .md and .markdown. How does adding .mdx to the list of valid markdown extensions sound? Or, alternatively, a way to pass in user-defined file extension(s) via some CLI flag? (--ext=mdx ?)
In the meantime, as a workaround, we've been using something like find . -name "*.mdx" | xargs doctoc ..., though it'd be nice to have it handled & supported via doctoc itself.
Thanks!

Hey @malouro, definitely no objections! .mdx seems enough like in the markdown family to include it.
Since we advertise as editing markdown files, let's start with passing an option like --ext=md, that seems like a good first step.

FWIW, I'm actually running this tool on .mdx files (for Storybook stories) and it seems to work...
doctoc src/stories/**/*.mdx src/components/**/*.mdx --gitlab --maxlevel 3 --notitle

The "problem" I have is that the <!-- START | END --> comments break my highlighting in VS Code because .mdx files don't support HTML style comments.
So, I wonder if there can be a configuration option to change the commentStyle from HTML to JSX like {*\ START | END /*}?

@AndrewSouthpaw is this still open for contribution?

Yep I can review contributions, just tag me as a reviewer and @ me.


update: documentation

Current state
The cdm_reader_mapper documentation is just a sequence of mdf_reader and cdm_mapper documentation.
Possible solution

Make documentation up to date
Need some more input

Hi @aanderss, should we leave the Author list in the documentation as it is:
David Berry, Irene Perez Gonzalez, Beatriz Recinos, Andreas Wernecke and Ludwig Lierhammer
or should we adjust it to the pypi author list? If so, with or withour the previous authors?

We took Pypi author list.


[BugFix] Restore the deleted GlobalFunctionPEntryObject object to avoid deserialization failure of the development branch

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

@mergify carport branch-3.0

@mergify backport branch-3.0


spirv-fuzz: Make the spirv-fuzz inliner more aggressive

Currently, the TransformationInlineFunction does not inline functions containing OpKill / OpUnreachable instructions. This is to guard against making the module invalid when the caller is inside a continue construct. However, it could allow functions that use OpKill / OpUnreachable to be inlined if the function call is not part of a continue construct.

Duplicate of #3717


refind: bumped to 0.13.2

Existing package

[x] I am the maintainer of this package.

Resolved that! @dilyn-corner


Upgrade to<EMAIL_ADDRESS>and use bundled decorators.

Once https://github.com/salsify/ember-css-modules/pull/118 gets merged and released.

Fixed in latest ember upgrade. https://github.com/CenterForOpenScience/ember-osf-web/blob/master/package.json#L161


Grid: allow multiple values for reversed prop

Steps
Trying to create a grid whose columns are reversed on Mobile and Tablet.

Version
0.75.1
Testcase
https://codesandbox.io/s/w0n3wp9j48
See also my question on SO

which syntax is supported
<Grid reversed="computer tablet">

<Grid reversed="computer,tablet">

<Grid reversed="computer|tablet">

<Grid reversed={["computer","tablet"]}>

<Grid reversed="computer tablet"/>

https://react.semantic-ui.com/collections/grid#grid-example-reversed-multiple


Remove cron schedule on build job

Remove this scheduled job as changes are made very infrequently, and whenever changes are made they are triggered anyway. Avoids more annoying notifications than necessary.

Why?

A fair question, I've updated the description to explain a little


[ERROR] request canceled while waiting for connection

i get this 2 errors while running the tool and it stops scanning the other subdomains:
2019/11/29 18:09:21 [ERROR] Get: asda.asde.com => [Get http://asda.asde.com/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)] 2019/11/29 18:09:21 [ERROR] Get: asda.asde222.com => [Get http://asda.asde222.com/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)]
Am i doing something wrong? i'm running the tool with go run subover.go -l subs.txt

Also running go run subover.go -l subdomains.txt -v sometimes just doesn't give me any output and at the end gives me:
``SubOver v.1.2              Nizamul Rana (@Ice3man)
[~] Enjoy your hunt !`
Is the tool working properly and i shouldn't see anything for a reason or there is something wrong?


sea level errors per file

atm the sea level is determined across the whole project.
the result of the check looks like
 ------ ---------------------------------------------------------------------------------------------------------
  Line   N/A
 ------ ---------------------------------------------------------------------------------------------------------
  -1     Out of 1295 possible param types, only 57 % actually have it. Add more param types to get over 99 %
  -1     Out of 1582 possible return types, only 32 % actually have it. Add more return types to get over 99 %
  -1     Out of 873 possible property types, only 0 % actually have it. Add more property types to get over 99 %
 ------ ---------------------------------------------------------------------------------------------------------

wouldn't it make more sense to report this error per file (like we do with the complexity rules)?
that way it would also be easier to define share the rule settings across projects, as the configuration would say somethink like "each file must have a type coverage of X percent". atm the error gives us a error like "the whole project has X percent type coverage".
I am not sure either which of these 2 results would be better.. just opening for discussion

Just fyi:
https://github.com/phpstan/phpstan/issues/8334#issuecomment-1309030603

Yes, I'm aware. The report here is a similar to test coverage, single generic metric.
You could go for full list of files and places that could be improved as well.


node-problem-detector 0.8.14 arm64 image issue

node-problem-detector 2.3.11 chart
updated by
https://github.com/deliveryhero/helm-charts/commit/2ba53be34c5d826395892fe9f56096c9fe8aabec
has this problem in 0.8.14 arm64 image
https://github.com/kubernetes/node-problem-detector/issues/797
/bin/sh: 1: exec: /node-problem-detector: Exec format error

This was reported in the upstream "node-problem-detector' GitHub https://github.com/kubernetes/node-problem-detector/issues/827. Looks like they have just fixed the issue with a new release of node-problem-detector 0.8.15. Hopefully we will get an updated helm chart with this fix soon from Delivery Hero.

We can just bump the default app version to be v0.8.15 this could fix the issue. I did this on my side and worked.


Cherrypick callback manager improvement fix.

https://github.com/istio/istio/issues/25909
Cherrypick of the original fix as in https://github.com/envoyproxy/envoy/pull/11751.
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

@lambdai @PiotrSikora PTAL, thanks.

@incfly: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-release_envoy_release-1.6
d6c9e8ffbbd9c25af1c81c94ac0d1f797ef951ce
link
/test test-release_envoy_release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-release_envoy_release-1.6
d6c9e8ffbbd9c25af1c81c94ac0d1f797ef951ce
link
/test test-release_envoy_release-1.6

test-tsan_envoy_release-1.6
3f33b4a26f591e3692c671738973967eae3a3d42
link
/test test-tsan_envoy_release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-release_envoy_release-1.6
d6c9e8ffbbd9c25af1c81c94ac0d1f797ef951ce
link
/test test-release_envoy_release-1.6

test-tsan_envoy_release-1.6
3f33b4a26f591e3692c671738973967eae3a3d42
link
/test test-tsan_envoy_release-1.6

test-asan_envoy_release-1.6
3f33b4a26f591e3692c671738973967eae3a3d42
link
/test test-asan_envoy_release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@incfly: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-asan_envoy_release-1.6
3f33b4a26f591e3692c671738973967eae3a3d42
link
/test test-asan_envoy_release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

fails at hot restart at this line.
https://github.com/istio/envoy/blob/3d162074fca24448334e18fb2fa507ffd7819e7e/test/integration/hotrestart_test.sh#L134
  check [ "${CLI_HOT_RESTART_VERSION}" = "${EXPECTED_CLI_HOT_RESTART_VERSION}" ]

log
TEST: Checking for match of --hot-restart-version and admin /hot_restart_version
fetching hot restart version from http://<IP_ADDRESS>:38655/hot_restart_version ...
Fetched ADMIN_HOT_RESTART_VERSION is
     check [  = 11.104 ] ...

/retest


Notice: Array to string conversion in CallableFunction.php - getHash()

Hello!
I've just change Jaxon configuration to export JS code to an external file. Everything seems to work fine, but i'm getting this Notice on every page:
Notice: Array to string conversion in C:\xxx\vendor\jaxon-php\jaxon-core\src\Request\Plugin\CallableFunction.php on line 147
Method: getHash()

My $this->aFunctions contains this Array:
Array ( [uploadFile] => Array ( [upload] => 'file-input' ) )
Thanks in advance

Fixed.


Type annotations to improve the tracing process of tf.function

Users can express that a function argument should be treated as a Tensor using tf.Tensor as the type annotation.
Specify experimental_follow_type_hints=True in tf.function to limit tracing and give a boost to the usability and performance of tf.function.
Usage
With experimental_follow_type_hints=True
@tf.function(experimental_follow_type_hints=True)
def f(x: tf.Tensor):
 return x

f(1)
f(2) # Function is not retraced

With experimental_follow_type_hints=False which is the default.
@tf.function
def f(x):
 return x

f(1)
f(2) # Function is retraced

@rahul-kamat Can you please address Ubuntu Sanity errors? Thanks!

@gbaned could you have a look at the copybara error? Thanks!

@gbaned can you help finalize merging this PR, or assign to someone who can?


Notification icons

Forget my poor english... icons are not taken from the app that generates notification. It is planned to show correct icon? I'm trying to setup AndroidStudio to see if i can contribute but meanwhile I can send you bt packet for a twitter notification, i have a gear fit and a Google Nexus 4.

This a a major request, however I dont think I will be able to create this feature, due to to time. If anyone decides to make it I will merge the feature into the app.


FIX: Fix merge_asof test Jenkins CI

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-NNNNNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

Kicked off daily run here: https://github.com/snowflakedb/snowpark-python/actions/runs/10529512019


migrate most tests to async, drop old testserver & blocking reqwests

This is a bigger refactor that was sitting in a branch for some time, so sorry for the size of the change. This migrates most tests to be async tests following the axum test framework, see also #2634 and the axum test example.
This makes is possible that we don't have to run an actual TCP server for each test any more.
There are only a handful of tests missing to migrate, mostly from sync parts of the code.
A second change in there is that I didn't want the web tests to automatically follow redirects any more. So the tests have to be explicit when they expect the response directly, or via a redirect.
The next improvement will be about the the database setup which hopefully make tests execute.

Will fix the build-test failure, but the rest is ready for review


Implement Display for sgx core types

Motivation

Future Work

Current dependencies on/for this PR:

main

PR #308   👈

This comment was auto-generated by Graphite.


Ensure internal version can be searched for and retrieved

Is your feature request related to a problem?
Data sources can contain internal versions depending on how the data has been added. At the moment only the latest version is available to retrieve.
Describe the solution you'd like
We should allow searching for and retrieval of versions older than the newest version.
Describe alternatives you've considered
No response
Additional context
No response

Version details are stored on each datasource within the Datasource._data_keys attribute as a dictionary. This can be accessed using the Datasource.raw_keys() method or [`Datasource.all_data_keys() method](https://github.com/openghg/openghg/blob/devel/openghg/store/base/_datasource.py#L897) (which both seem to do the same thing?). The `self._data_keys` seems to contain the details of the daterange associated with each version.
The Datasource.get_data(self, version: str = "latest") method should allow the data for a specific version to be extracted?