[ITBL-5408]-swift-sdk-static-calls

Use IterableAPI.xxx instead of IterableAPI.sharedInstance?.xxx
Change visibility scope of some classes and methods.

Codecov Report

Merging #9 into master will decrease coverage by 2.47%.
The diff coverage is 37.87%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
- Coverage   50.83%   48.35%   -2.48%
==========================================
  Files          19       21       +2
  Lines        1436     1524      +88
==========================================
+ Hits          730      737       +7
- Misses        706      787      +81

Impacted Files
Coverage Δ

swift-sdk/IterableAPI+Internal.swift
0% <0%> (-61.89%)
:arrow_down:

swift-sdk/IterableAPI.swift
0% <0%> (-27.01%)
:arrow_down:

swift-sdk/IterableDeeplinkManager.swift
83.33% <100%> (ø)
:arrow_up:

swift-sdk/IterableAPIImplementation.swift
27.27% <27.27%> (ø)

swift-sdk/IterableInAppHTMLViewController.swift
10.93% <30.43%> (+2.34%)
:arrow_up:

...wift-sdk/IterableAPIImplementation+Extension.swift
61.88% <61.88%> (ø)

swift-sdk/IterableInAppManager.swift
30.76% <71.42%> (+1.55%)
:arrow_up:

swift-sdk/IterableUtil.swift
89.74% <0%> (+2.56%)
: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 49f1d30...c762669. Read the comment docs.

Fixed suggested by DT. Merging.


Minor fixes and improvements

RTVS daemon installation uses the snakeoil pem and key as the default self-signed SSL certificate.
Fix and updates to container build.

@int19h , can you please take a look?

@int19h This is the same thing I discussed with you over email. Basically using the snakeoil pem and key to generate the PFX. This removes the need for the user to create their own SSL cert.


Training Data

Thanks for your contribution to the community. I have three questions about the training data.

According to the appendix of the NKN paper, they used 1656 motion sequences. Why do you have 1952 motion sequences here? Did I miss any important information?
I noticed that one of the 7 characters used for NKN training, i.e., Malcolm, is no longer available on the Mixamo website. How did you solve this problem?
It seems that your statement on GitHub is different from that in the paper.

We will later upload a list of actions that includes the action names and the corresponding characters, along with the action files, and we will revise the arXiv paper version.

@chenzhike110  hi ,when will you upload the training data?


[backend] tool metadata db

create new table
create tool metadata entries on agent creation
new endpoint to modify tool metadata
unit test

AI Description

This PR introduces the AgentToolMetadata model and its associated CRUD operations, tests, and API endpoints.
The AgentToolMetadata model represents metadata about tools used by agents and includes the following fields:

user_id: A unique identifier for the user.
agent_id: A unique identifier for the agent.
tool_name: The name of the tool.
type: The type of the tool.
artifacts: A list of artifacts associated with the tool.

The changes include:

New files:

src/backend/alembic/versions/11d3e318274c_.py: Alembic migration script.
src/backend/crud/agent_tool_metadata.py: CRUD operations for AgentToolMetadata.
src/backend/database_models/agent_tool_metadata.py: Definition of the AgentToolMetadata model.
src/backend/tests/factories/agent_tool_metadata.py: Factory for creating AgentToolMetadata instances in tests.
src/backend/tests/crud/test_agent_tool_metadata.py: Tests for AgentToolMetadata CRUD operations.

Updated files:

src/backend/alembic/versions/3d60aa423ec6_.py: Alembic migration script updated with the creation of the agent_tool_metadata table.
src/backend/chat/custom/custom.py: The call_tools function now includes agent_id as a parameter.
src/backend/database_models/__init__.py: Import statement added for AgentToolMetadata.
src/backend/routers/agent.py: Added imports, function definitions, and API endpoints for AgentToolMetadata operations.
src/backend/schemas/agent.py: Added AgentToolMetadata and related classes for creating, updating, and deleting agent tool metadata.
src/backend/tests/routers/test_agent.py: Added tests for creating an agent with tool metadata and for creating, updating, and deleting agent tool metadata.

As discussed, alternative design to be more generalized
class AgentToolArtifact(Base):
tablename = "agent_tool_artifact"
user_id: Mapped[str] = mapped_column(Text, nullable=False)
agent_id: Mapped[str] = mapped_column(
    ForeignKey("agents.id", ondelete="CASCADE"), nullable=False
)
tool_name: Mapped[str] = mapped_column(Text, nullable=False)
artifact_id: Mapped[str] = mapped_column(Text, nullable=False)
type: Mapped[str] = mapped_column(Text, nullable=False)

__table_args__ = (
    UniqueConstraint(
        "user_id", "agent_id", "tool_name", "artifact_id", name="_user_agent_tool_name_artifact_id_uc"
    ),
)

@giannis2two
Slight deviation from proposed payload for passing in the artifacts, it is now this:
        "tools_metadata": [
            {
                "tool_name": ToolName.Google_Drive,
                "artifacts": ["folder1", "folder2"],
                "type": "folder_ids",
            },
            {
                "tool_name": ToolName.Google_Drive,
                "artifacts": ["file1", "file2"],
                "type": "file_ids",
            },
        ],

This plays better with the DB schema and a lot easier to parse. I don't imagine it would be a huge issue to parse like this on the client side.

Codecov Report
Attention: Patch coverage is 96.28253% with 10 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@14f5b38). Learn more about missing BASE report.

:exclamation: Current head 16e18b8 differs from pull request most recent head d0ead1b
Please upload reports for the commit d0ead1b to get more accurate results.

Files
Patch %
Lines

src/backend/routers/agent.py
81.63%
9 Missing :warning:

src/backend/alembic/versions/2d766d30a3d2_.py
91.66%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #309   +/-   ##
=======================================
  Coverage        ?   86.13%
=======================================
  Files           ?      172
  Lines           ?     6421
  Branches        ?        0
=======================================
  Hits            ?     5531
  Misses          ?      890
  Partials        ?        0

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


Add less and emacs by request

Ticket
#15869
Problem description
Users of IRD want some extra tools
What's changed
Added less
Added emacs
Sorted the list

can we also make localdev present by default?

@pgkeller thats an IRD change not docker image change.  I can look into that.

looks like this hasn't merged - how about boost?  that is needed to build syseng tools

@pgkeller do you mean libboost-dev?  Or a different piece of Boost?


Add the third event to calendar before start to use plus sign

Considering that the calendar has room to draw up to three events for each day I would like to suggest the following pull request:

if eventList.size() == 3 then draw the third event instead start to use the plus sign.
if eventList.size() >= 4, draw the 1st and 2nd event and the plus sign.

Signed-off-by: Sergio Durand<EMAIL_ADDRESS>

GJ. Please merge it.


Revisit loose primary group check

@jrieken it was a copy paste mistake for me. I will change in debt week to have a more precise check. I want only one primary group.
Originally posted by @isidorn in https://github.com/microsoft/vscode/issues/117456#issuecomment-785118927

Consider to change this so that isPrimaryGroup isn't a callback but just a string with the group name

Started to look into this. I will change that the isPrimaryGroup is not a callback but just a string.

@isidorn There is one other case (which you added) and that's a special 1_run group. It's used in editor titles and I am not sure what that's used for

Yeah that is the only problem here https://github.com/microsoft/vscode/blob/main/src/vs/workbench/browser/parts/editor/titleControl.ts#L227
That was a previous recommendation for extensions how to add run editor title actions.
However since we now have a better recommendation (to use submenus which you introduced) I think we can remove that.
We just need to make sure all the extensions jump on your new approach.
fyi @weinand  in case I am missing something

I have optimistically pushed this. Let's see if I broke somebody, it is first day of debt week so best time to do this...

@isidorn @jrieken I'll add an item to the release notes that deprecates the "group": "1_run@20" stuff in favour of the new "editor/title/run" submenu.
BTW, I've adopted the new feature in Mock Debug and it works great. Only minor issue I see is the missing visual cue for a submenu.

What will happen if I press the play button? "Run" or a submenu?
@isidorn what's about accessibility of the new submenu?

@weinand great, thanks for adding it in the release notes!
I will check it out for accessibility. Once you push to mock-debug let me know so I can just try it out. I think submenus should just work for accessibility, since we already have them in other places.

@isidorn what's about accessibility of the new submenu?

fyi - this the default sub menu as it is used in different places. So if they are accessible than this should be too

But you never know whether there is a submenu behind the run icon...

Yeah, that's a problem with our submenu

Yeah from the accessibility point of view, if there is a submenu behind it we should set
aria-haspopup=true on the item. If it does not have a submenu it should be set to false
@jrieken is it possible to set this up front? Or the menu does not know?

@jrieken I've added this to your release notes item (instead of creating a new item):
https://github.com/microsoft/vscode-docs/commit/10539ca5940b99fd5dc6e7c831a75890c2df2ce1

@isidorn I've pushed the changes to Mock Debug.

Thanks @weinand

I tried it out, and even the aria-haspopup=true is there.
So seems to work great

I am just not sure how to get into a case when there is only 1 action there
@jrieken can you just make sure that in that case aria-haspopup is false

Actually I changed mock-debug to only have one action, and in that case the aria-haspopup is not there. It is not a submenu. So we are good in total

@isidorn thanks for verifying!

Thanks for fixing it in testing as well 🙂


Fix HyperUniquesAggregatorFactory.estimateCardinality null handling to respect output type

Make return type consistent for HyperUniquesAggregator and HyperUniquesVectorAggregator when no value found
Description
This bug was discovered by turning on vectorization. In HyperUniquesAggregator, when a column is empty, collector will be null and the get() method will returns null. In HyperUniquesVectorAggregator, when a column is empty, get() method will still returns a HyperLogLogCollector (from the call to HyperUniquesBufferAggregator.doGet(buf, position);). In HyperUniquesAggregatorFactory#estimateCardinality (called by HyperUniquesAggregatorFactory#finalizeComputation) we return integer 0 if input is null, while we return long/double value. otherwise. Hence, for the above mentioned case, the non-vectorize returns integer 0 while the vectorize returns long/double 0. The test failed since we are expecting integer 0.
This PR, make sure that for the case when the input to HyperUniquesAggregatorFactory#estimateCardinality is null, we still return 0 with the same value type as when it is not null.
This PR has:

[x] been self-reviewed.
[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

FWIW I like that the result type will be consistent after this change, and I can't think of any computations going awry if the returned value is 0d instead of 0L

I consider the existing behavior a bug, it should have always been respecting the output type. Using one of the tests that had to change, it didn't really make sense that null handling mode should change the output type.


Memory Leak when Recompiling Modules and Reinstantiating Runtimes

Describe the bug
We are recompiling modules frequently because our users may change their code.
We're also reinstantiating runtimes as a way to easily clear the module cache and start with a "clean slate" (we think/thought) for isolation purposes.
We're using the python interpreter guest.
We're closing all references to all wazero structs before reinstantiating things.
The memory continues to grow between each close/create cycle.
To Reproduce
Reproducable, just run main.go:
https://github.com/runreveal/wazero_memleak
Expected behavior
We expect memory to not grow when we're not holding any references to wazero objects any longer.
 So, my suspicious was: "some mmap is leaking" and that seems o be the case, but that was odd. Because Wazero uses runtime.SetFinalizer.
However, the releaseCompiledModule is never called. So, I tried to hunt who is holding the reference. Then, I notice the following:
	compiledModule struct {
		executable        asm.CodeSegment
		functions         []compiledFunction
		source            *wasm.Module
		ensureTermination bool
	}

If you take a look at compliledFunction, you get:
compiledFunction struct {
		executableOffset uintptr
		stackPointerCeil uint64

		index           wasm.Index
		goFunc          interface{}
		listener        experimental.FunctionListener

		parent          *compiledModule                          ////  << HERE?!

		sourceOffsetMap sourceOffsetMap
	}

Each compiledFunction holds the pointer to compiledModule. So, I GUESS, that is the reason for the leak.

I patch the wazero with that change: https://github.com/tetratelabs/wazero/pull/1535/commits/7367c2ea24b3127280bf7210be71cb972b55aa00
See if that helps. 👍

This is great!  Thank you!! 🙏
Testing with our contrived test seems to have a stable memory profile and runtime! 🎉

Grrr, fat fingered "enter"...
ANYWAY, I was going to say that we tried it in our environment and actually started getting panics for what seems like a related reference.
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: panic: module closed with exit_code(0) [recovered]
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         panic: runtime error: invalid memory address or nil pointer dereference
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0xf0ac76]
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: goroutine 2911 [running]:
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/tetratelabs/wazero/internal/engine/compiler.(*function).definition(...)

Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/golang/pkg/mod/github.com/tetratelabs/wazero@v1.2.2-0.20230626044151-451a1b63a055/internal/engine/compiler/engine.go:1056 +0x425
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/tetratelabs/wazero/internal/engine/compiler.(*callEngine).call(0xc00c5b14a0, {0x3a84a30, 0xc00f8eb1d0}, {0x0?, 0x0?, 0xc00ff00820?}, {0x0, 0x0, 0x0})
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/golang/pkg/mod/github.com/tetratelabs/wazero@v1.2.2-0.20230626044151-451a1b63a055/internal/engine/compiler/engine.go:754 +0x2e5
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/tetratelabs/wazero/internal/engine/compiler.(*callEngine).Call(0xc00c5b13b0?, {0x3a84a30?, 0xc00f8eb1d0?}, {0x0?, 0x3a84a30?, 0xc00f8eb1d0?})
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/golang/pkg/mod/github.com/tetratelabs/wazero@v1.2.2-0.20230626044151-451a1b63a055/internal/engine/compiler/engine.go:708 +0xd9
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/tetratelabs/wazero.(*runtime).InstantiateModule(0xc00ff20fc0, {0x3a84a30, 0xc00f8eb1d0}, {0x3a8b550?, 0xc00fde8200}, {0x3a92620?, 0xc00fc78ff0})
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/golang/pkg/mod/github.com/tetratelabs/wazero@v1.2.2-0.20230626044151-451a1b63a055/runtime.go:333 +0x41c
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/runreveal/runreveal/internal/wasm/python.WASM.Run({{0x3a8b550, 0xc00fde8200}, {0x3a8c2d8, 0xc00ff20fc0}, {0x3a92620, 0xc00fc78ff0}, {{0x3a7d0e0, 0xc00d76bfe0}}, {{0x3a7d0c0, 0xc00d76bfe8}}, ...})
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/github.com/runreveal/runreveal/internal/wasm/python/wasm.go:180 +0x4f
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: github.com/runreveal/runreveal/internal/transforms.(*TransformEngine).loadTransforms.func1()
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/github.com/runreveal/runreveal/internal/transforms/transforms.go:187 +0xa5
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]: created by github.com/runreveal/runreveal/internal/transforms.(*TransformEngine).loadTransforms
Jun 26 18:15:06 ip-172-30-2-252 rrq[35306]:         /Users/abraithwaite/Projects/github.com/runreveal/runreveal/internal/transforms/transforms.go:186 +0x7b3

on it

There are a lot of errors possible if a file cache is in use and it is closed in the middle of a function call. @abraithwaite is this possible in your case?

https://github.com/tetratelabs/wazero/pull/1537 reproduces the panic

There are a lot of errors possible if a file cache is in use and it is closed in the middle of a function call. @abraithwaite is this possible in your case?

We're not using a file cache to my knowledge, unless one is created/set by default internally by wazero for something.

Thanks @abraithwaite ... hmm I was unable to trigger the panic except yanking the cache. any chance you can share any code that may be custom about below:

This only appears to happen when we're recreating the runtime (calling the Close methods), not on first instantiation, or during routine operation.

Okay, looking at the stack trace and the fix in #1535, I think I understand what's going on.  I don't believe it has to do with any filesystem cache.
What I see in #1535 is a change that, when closing an engine, we're resetting the parent references of the functions to nil.
I believe when we deployed this, it's panicing because we've still got a function running.  Specifically, the start routine of the python interpreter, which doesn't and shouldn't return until close is called (at least that's my understanding of how it's implemented now).
When we're hitting the following code, the error is sys.ExitCode(0):
https://github.com/tetratelabs/wazero/blob/451a1b63a0554a2615cccb4bb424c6e6974105f6/internal/engine/compiler/engine.go#L1056
So the panic is triggered because err != nil despite it being exit code 0 (I understand the reason for this, just context for the next bit).
After that panic triggers, we enter the deferred recover routine on line 739:
https://github.com/tetratelabs/wazero/blob/451a1b63a0554a2615cccb4bb424c6e6974105f6/internal/engine/compiler/engine.go#L733-L745
The deferredOnCall routine attempts to call fn.definition on 831, which attempts to reference the function parent (the module) which is now nil because we set it to nil when first closing the engine.  This triggers the second panic of the nil pointer dereference.
This is our run and our close code:
func (w WASM) Run() error {
	var err error
	_, err = w.runtime.InstantiateModule(w.modCtx, w.module, w.config)
	if errors.Is(err, sys.NewExitError(sys.ExitCodeContextCanceled)) {
		return nil
	}
	return err
}

func (w *WASM) Close(ctx context.Context) error {
	w.modCancel()
	w.stdin.Close()
	w.stdout.Close()
	return w.runtime.Close(ctx)
}

We're setting WithCloseOnContextDone(true) on the runtime config.
Perhaps this is causing a double close unintentionally?  Also something I don't understand is what's actually happening in the close function for the engine.  Is setting everything to nil really all that's necessary to stop the engine?
https://github.com/tetratelabs/wazero/blob/451a1b63a0554a2615cccb4bb424c6e6974105f6/internal/engine/compiler/engine.go#L494-L508
Finally, I see that ensureTermination is actually referenced twice inside call:
https://github.com/tetratelabs/wazero/blob/451a1b63a0554a2615cccb4bb424c6e6974105f6/internal/engine/compiler/engine.go#L723-L732
and here:
https://github.com/tetratelabs/wazero/blob/451a1b63a0554a2615cccb4bb424c6e6974105f6/internal/engine/compiler/engine.go#L749-L752
For my own understanding, why is that?
Thanks again for the great work!  🤩  Love what you all are doing and it's been working pretty great for us.  This stuff is so complex, I can't fathom how hard it must be to keep all these stateful things in your head.  Best of luck and let me know if I can provide anything else!
This is basically our setup still fwiw:
https://github.com/abraithwaite/wazero/commit/ca10894d

I see that ensureTermination is actually referenced twice inside call … why is that?

Since I'm in the "blame" for parts of this I can help explain. The ce.ensureTermination guard on line 723 checks if the context.Context passed in has already finished. This prevents call from doing any work if its been called after some caller up the chain has already decided to stop processing. The one on line 749 sets up a cleanup routine.
I'd have to dig back into this bit but they could probably be consolidated by moving lines 750-751 into the default case of the select on line 730. Without revising the code I can't remember if there was some side-effecty thing requiring the done to be setup later or this is just ripe for a light refactor.

I suspect the issue is that the function that is left running is never given a chance to verify that the module has closed. In fact, I could verify this with a quick and dirty change:
if I modify execWasmFunction by ensuring that ExitCode 0 is ignored:
			case builtinFunctionIndexCheckExitCode:
				// Note: this operation must be done in Go, not native code. The reason is that
				// native code cannot be preempted and that means it can block forever if there are not
				// enough OS threads (which we don't have control over).
				if err := m.FailIfClosed(); err != nil /*&& err != sys.NewExitError(0)*/ {
					panic(err)
				}

and then I add an extra check above:
		case nativeCallStatusCodeCallGoHostFunction:
			if closed := atomic.LoadUint64(&m.Closed); closed != 0 {
				break
			}
                        // leave the rest unmodified

then the reproducer at https://github.com/abraithwaite/wazero/commit/ca10894d won't fail. However, this is not really a fix because it introduces an extra atomic load at every single host function call
🤔

I think this may be related https://github.com/tetratelabs/wazero/pull/1546

oh I see. If that's representative at all (it does panic) it may be enough to apply this small patch https://github.com/evacchi/wazero/commit/f319648dfea58c5b41464292a77d1ac746000783

We'll try this patch.  Looks as if there shouldn't be any major side effects except maybe slightly reduced debugability, is that right?

not really, the error you were seeing was a side effect of #1535: because the fields were cleared but the function was still running, in some specific cases (like yours on the Python interpreter) the method function.definition() would be invoked but the underlying function.parent would be nil, causing a panic. That small patch just avoids the panic and returns immediately; my expectation is that in that case the function is about to terminate anyway.

@abraithwaite I think I figured out what the issue really is. You don't need that patch, but you need to ensure that the module is shut down safely. What is happening e.g. in the example https://github.com/abraithwaite/wazero/commit/ca10894d is that you have a blocking read going on on stdin, and you can't just close the runtime abruptly, otherwise you will be clearing some internal fields while a function is potentially still running.
What you really want to do is:

cancel the context
wait for the context to be actually Done()
close the file handles that are currently open so that you give the chance to the blocking read/writes to unblock
wait for the runtime to exit cleanly (with an exit code)
close the runtime

so, I added to the WASM struct a done chan struct{} that you will close on Run():
func (w *WASM) Run() error {
	var err error
	w.moduleInstance, err = w.runtime.InstantiateModule(w.modCtx, w.module, w.config)
	close(w.done)
	if errors.Is(err, sys.NewExitError(sys.ExitCodeContextCanceled)) {
		return nil
	}
	return err
}

then, your close routine becomes:
func (w *WASM) Close(ctx context.Context) error {
	w.modCancel() // cancel the context
	<-w.modCtx.Done() // wait for Done()
	w.stdin.Close() // close the file handles
	w.stdout.Close()
	<-w.done // wait until the module terminates cleanly
	return w.runtime.Close(ctx) // close the runtime
}

for an example look here https://github.com/evacchi/wazero/pull/24/files
let me know if it works

Hey @evacchi, really appreciate the feedback and advice!  I'm curious if and how this will help with the memory leak mentioned in the OP.
Does closing the module cleanly properly free the resources?
Just trying to reconcile your advice with the original reproducing code I gave in the OP:
https://github.com/runreveal/wazero_memleak/blob/main/main.go
I don't see how this code has any issues. I added context cancellation to match what you've given and it's still leaking memory.  There are no file handles to close in the example I've given.

wait, I thought that #1535 solved the memory issues, and now you had panics for that nil reference, I was trying to address that part of the problem :P

Nope, apologies for the confusion.  I try to stay pretty strict about staying on topic, but this one involved a lot of context in the code.  I was talking about the panic not because the panic itself was a problem, but because I believed that the panic meant that some memory wasn't being freed properly.
The panic only happened after #1535, so I mentioned it because I don't believe it's the right fix.

Gonna call this one resolved!  Thanks everybody!  And huge props to @inkeliz and @evacchi for fixing the bug and helping me understand the panic afterwards. 🚢

Related: #1600 #1608


Augury repeatedly calling function on non-Angular page

Augury version (required): 1.16
Angular version (required): N/A
Date: 2/24/18
OS: OSX 10.13
Description of issue:
I have a line of code like this  in a non-Angular page on my company's website, and the Augury extension was causing it to repeatedly get called multiple times per second. I disabled the extension and that extension only and it caused the problem to stop. Just wanted to let y'all know in case it is happening on other websites.

Got a similar beahviour on: https://www.club-acheteurs.com/

Issue confirmed. Will provide more updates shortly.

This is an interesting edge case.
You have redefined the global window.postMessage() function, which is a built-in browser API.
Augury uses it to communicate with the developer tools.

Wappalyzer uses this API as well.

@santiago-elustondo
Thank you very much for your quick response and analysis of this problem.
And sorry for this "edge case"... going to have a talk with the developer. 😅


KeyError: u'FLASK_AUTH_REALM'

Can't get this to work at all, when I visit a page decorated with @htpasswd.required, I get a crash with the traceback shown in the image: http://imgur.com/IapkLWm.
I followed your basic example to the letter and even included the line
app.config['FLASK_AUTH_REALM'] = 'admin_panel'
where admin_panel is the realm for authentication as far as I understand. I tried several other values for Realm including the default you suggest 'Login Required'. I could not get basic functionality working.

That is strange, I just tried with this code, and it worked:
import flask
from flask.ext.htpasswd import HtPasswdAuth

app = flask.Flask(__name__)
app.config['FLASK_HTPASSWD_PATH'] = '.htpasswd'
app.config['FLASK_SECRET'] = 'Hey Hey Kids, secure me!'
app.config['FLASK_AUTH_REALM'] = 'Hey you'
htpasswd = HtPasswdAuth(app)

@app.route('/')
@htpasswd.required
def index(user):
    return 'Hello {user}'.format(user=user)

app.run(debug=True)

Does it work without that defined, or is it possible the config is set after you initialize the HtPasswdAuth object

Ahh okay, I played around with this a bit more after reading your message. This wasn't a bug, the issue was that I wasn't accepting "user" in my function. It would be nice if that threw some sort of proper error though. Thanks for the help.

I see.  I'll take a look into that.


read float param

Signed-off-by: suchang<EMAIL_ADDRESS>Description

before:

after:

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@storrrrrrrrm
is this a fix PR or you want to restrict value to float in this PR?
I think before cases include  node_->declare_parameter("z_offset", 2); this change so it should die.
but I think if this change is not included z_offset is read int and cast to float, right?

it is a fix,z_offset is defined as a float value, but if you config z_offset=-2.0 in launch.xml,when you
ros2 launch lidar_apollo_instance_segmentation lidar_apollo_instance_segmentation.launch.xml

it crash

@storrrrrrrrm

The sign of z offset is reversed , Do you know better default value? It should be positive or negative both.

@storrrrrrrrm  The sign of z offset is reversed , Do you know better default value? It should be positive or negative both.

-2 is better for default value when you set target_frame='base_link' in launch.xml,  it means the height from target_frame to a fake toplidar frame which i think the apollo model trained from.


etcd no longer uses rewritten import paths

This means we can drop the wackycontext, wackygrpc, etc. import names. Unfortunately, etcd accomplishes this feat by leveraging the vendor dir, which is viral, i.e. anything that imports coreos/etcd must have its own vendor dir AND must flatten transitive dependencies from dependent packages into that base vendor dir.
See https://groups.google.com/forum/#!topic/golang-nuts/AnMr9NL6dtc

https://github.com/peterbourgon/wtf :disappointed:

Running go build against metcd will not work by default. Ways to make it work:

Hack it: rm -rf $GOPATH/src/github.com/coreos/etcd/vendor — done in circle.yml for now
Fix upstream: see coreos/etcd#4913
Use a tool: e.g. govendor build, or glide
Flatten: vendor both metcd and etcd in another repo, and flatten all transitive vendored dependencies — will try this approach in flux

Other ways to solve this problem in the general case:

Never expose external types in your API

Simply avoid it in the first place
Or make a separate copy of the dependency package in your repo

Leave the computer industry, become a carpenter
Others possible


Bump kube-state-metrics to be synced with release-2.0 branch

Taking over https://github.com/openshift/kube-state-metrics/pull/47

We have to carry a temporary patch (https://github.com/openshift/kube-state-metrics/pull/48/commits/3e37e8fc253ba2bfc1b9b49a727d9a4c9a487081) to be able to merge this PR with the current CMO code because Telemetry rules expect some labels of kube_node_labels to be present while kube-state-metrics v2.x requires to configure the allowed labels explicitly with the --metric-labels-allowlist flag. We have a chicken and egg problem because CMO can't use this flag until kube-state-metrics v2.x is merged. To circumvent the issue, the patch adds all labels to kube_node_labels unless a label allow-list is given for node metrics. Once this PR is merged, we can update CMO to pass the full set of labels that need to be allowed for kube_node_labels. The final step will be to remove the carry patch from here.
Note that we could also leverage https://github.com/kubernetes/kube-state-metrics/pull/1403 (once it merged) which adds a wildcard option to --metric-labels-allowlist.

/lgtm


Wrong target reported when using AutoDependencyTracking and HTTP_PROXY environment variable

On our environment we're using request library together with HTTP_PROXY setting. All dependency requests that go through proxy have target of 443 (this are https requests).
As I've debugged through the code, it looks like HttpDependencyParser.getDependencyTelemetry gets the url without protocol in such case. For example host.example.com:443. With such value, the parser treats host.example.com as protocol name, and 443 as host name. This gives useless results as target value and also - if we have multiple hosts - all of them are aggregated into one 443 value.
I'd like to have real host value in the target field, the same as it is in case, when no HTTP_PROXY is used.

Hi, sorry for late response, but I had just chance to review this changes. It looks like they do not work in my case.
Options object is of following structure:
{
  host: "proxy-host",
  port: 3128,
  proxyAuth: null,
  headers: {
    Accept: "application/json",
    host: "destination-host:443",
  },
  method: "CONNECT",
  path: "destination-host:443",
  agent: false,
}

And after url.parse in line 141, the protocol is "destination-host" and host is 443.
Anyway - the result of _getUrlFromRequestOptions function will be in this case still PROXY host, not the real one.
On the other hand, when I debug through public static trackRequest(client: TelemetryClient, telemetry: Contracts.NodeHttpDependencyTelemetry) {
I see requestParser.url set proxy host, but when callback is called telemetry.request.on('response', (response: http.ClientResponse) => { then requestParser.url is already set to target host and port, but without protocol. Can't find place, where it's actually changed.


no ideas are written down for the storyline

I'll start writing a bit, if you want to work on it too you can attach your pull request to this as well
make a new file for each idea to minimize conflicts

however, I don't have anything to add until my other pull request gets approved with the brainstorming folder so I'm gonna wait to solve this and you probably should too

which reminds me, add the ideas as files to brainstorming>storyline once it becomes available


intel_adsp_cavs25: tests/kernel/sched/schedule_api/kernel.scheduler.multiq FAILED Timeout

Describe the bug
The tests/kernel/sched/schedule_api/kernel.scheduler.multiq fails.
INFO    - 2416/2456 intel_adsp_cavs25         tests/kernel/sched/schedule_api/kernel.scheduler.multiq  FAILED Timeout (device: tgl4, 180.638s)
INFO    - <path_to>/twister-out/intel_adsp_cavs25/tests/kernel/sched/schedule_api/kernel.scheduler.multiq/handler.log

To Reproduce
Steps to reproduce the behavior:
scripts/twister -W -p intel_adsp_cavs25 --device-testing --hardware-map <path_to>/cavs/cavs.map -T tests/kernel/sched/schedule_api/kernel.scheduler.multiq -v

Logs and console output
<path_to>/twister-out/intel_adsp_cavs25/tests/kernel/sched/schedule_api/kernel.scheduler.multiq/handler.log
ERROR   - INFO:cavs-client:REMOTE HOST: host_name PORT: host_port
INFO:cavs-client:Monitor process
INFO:cavs-client:Sent:     start_log
INFO:cavs-client:Receive: start_log
INFO:cavs-client:Start to monitor log output...

Environment:

OS: Linux
Commit SHA or Version used: zephyr-v3.5.0-4691-gacfb87dca3e4

seems to be a DUT issue rathert than a problem with the test.


Set mac learning off on pod ifaces

What this PR does / why we need it:
This resolves the intermittent arp learning issues.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #1501
Special notes for your reviewer:
The behavior observed in this issue has been puzzling and through several test iterations on our kubernetes cluster mac learning set to off has resolved all vmi cases seen to error previously.
Release note:

NONE

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically.
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

/cc @booxter @yuvalif @SchSeba
This fixes the issues we were having, but I'm not 100% as to why. I have some theories but would love any insight on this you guys might have.

ok to test

ci test please

@SchSeba I can add a functional test. Before I do I'd like to know your guys thought on disabling learning on the pod interface.

@rmohr In our testing we attempted that a couple times and clearing the arp table did not help solve the problem. Our environment seems to be the only one that was effected (so far). This solves our problem but I do not want to cause other issues effecting environments just to fix ours. 🤷♂
I'll add the functional test later on tonight though when I'm done with day job.

Our environment seems to be the only one that was effected (so far)

What network provider are you using in the cluster? Maybe we can reproduce it.

@rmohr Flannel, there are lots of details in #1501.

I think it's ok to include this patch. There is no real reason for the bridge to learn anything at all because it effectively serves as a wire (just two ports - pod interface and VMI interface). I would perhaps even go further and disable learning for the whole bridge we create, not just on the pod interface side.
AFAIU you are going to add functional tests, we can wait for it before merging then.
Thanks for dealing with the issue!

@yuvalif @SchSeba @fabiand do you see any reason to learn MAC addresses in k6t-br0 on any port? Is it safe to disable learning on pod interface, or even the bridge at all?

I can not really judge this, I don't have enough experience.
But I read that it was an issue for Gage.
Who could help us here?

@fabiand yes it's an issue for OSI. My question is whether we see any argument against adopting their fix which disables learning on the outside port of k6t-br0 bridge. (The fix helps in their environment, I am looking for any reason not to adopt it.)

@rmohr @SchSeba Functional test is in. Can we get this in?
Side note, yesterday I stood up a fresh packet.net coreos stable environment and it suffered from the same issues seen in our lab.

ci test please

@rmohr Should be done. Note that I don't have any linux machines with me currently so can't actually run tests. If not correct will fix further.

ci test please

@gageorsburn could you run make and commit the formatted code to make travis happy?

@rmohr Done!

ci test please

saw some
/bin/bash: /usr/local/bin/ssh.sh: Permission denied provisioning node node01 failed
on the provider scripts.
This is a know issue that was fixed.
I check that the sha images are not the same as on the master branch.
@gageorsburn can you please rebase from master?

ci test please

The failure in CI appears to be a timeout on line:
/root/go/src/kubevirt.io/kubevirt/tests/vmi_networking_test.go:572
Which looks related to this PR.

@stu-gott yeah you're right. I'm not sure why it times out. How do I run only that test?

@stu-gott yeah you're right. I'm not sure why it times out. How do I run only that test?

There exist a few options: https://onsi.github.io/ginkgo/#focused-specs. I prefer temporarily changing the It to FIt to focus on the test.

@rmohr Thanks for all the help. That FIt trick is awesome. Changes should be in now.

ci test please

It doesn't seem like failures are related to the PR


Remove /json from API URLs

See https://github.com/docker/docker/pull/23219

LGTM

FWIW this has a hard dependency on https://github.com/docker/docker/pull/23219, and that has stalled on a design decision.

Moving to code-review as docker/docker#23219 is in code-review

LGTM 🐹

still LGTM

So...this makes this library not work with older docker versions? For example, the latest version offered by CircleCI is 1.10.

@tamird arf, yeah that is pretty bad :sweat:
I'll revert this for now and we'll find a better way to handle it

Tim BL had it right all the way back in 1998 https://www.w3.org/Provider/Style/URI.html

@tamird the old URL won't change (probably for the next… 5 years or eternity) but the client code might… although we didn't do right… Sorry about that :sweat:

This client code should also not change until all docker versions that don't support these URLs are EOL'd.
Making this change now is breaking compatibility for no benefit whatsoever, especially given the state of dependency management in Go.

@tamird see https://github.com/docker/engine-api/pull/263 :bow:

👍  thanks

My bad. I should have closed this while there was still a design decision in https://github.com/docker/docker/pull/23219.
I wonder if we should open the discussion about how to version engine-api. People should presumably be locking to API versions somehow rather than using master. (See also #260.)

Ah, nevermind, I see there is cli.version, so I should have used that in this PR to check what URL to make the request to.
Perhaps we should set the default version to the current stable version of Docker so people using engine-api off master don't get broken by default.

Perhaps we should set the default version to the current stable version of Docker so people using engine-api off master don't get broken by default.

That's a good idea :angel:

@vdemeester I suppose you have to explicitly pass a blank string to client.NewClient if you don't want to set a version, so I guess that's pretty much saying "I expect this to break". I'll add a warning to the godoc that you really should be specifying a version.
It's different for NewEnvClient though: #264


Release sdk automanage

https://github.com/Azure/sdk-release-request/issues/672

We have tested this release, looks good to me.


how to build  two  the graph node in one compute

how to build  two  the graph node in one compute and how to build the graph node with postgres not in docker

If you have Postgres running separately, you can just remove Postgres from the docker compose (you may need to update the connection depending on your Postgres setups).
I believe if you want to run two Graph Nodes on once instance you will need to update the port configuration to avoid conflicts

Closing this - please do re-open if you are still having issues


Execute chunked: chunk size should be chooseable

Describe the new feature you'd like
The execute/chunked endpoint should let you choose the size of chunks
Why do you want this feature?
It would allow for more control over scrolling and less network bandwidth

The chunked endpoint streams data, it is not meant for pagination, so it should just be fine to send results one at a time.
The client that receives the streamed output is in control of how much they consume from the stream at a time.


Fix/lt/impl authclient api

关联的Issues (Related Issues)

close
改动 (Proposed Changes)

附注 (Additional Info)

自查清单 (Checklist)
在你认为本 PR 满足被审阅的标准之前，需要确保 / Before you mark the PR ready for review, please make sure that:

[x] 符合Venus项目管理规范中关于PR的相关标准 / The PR follows the PR standards set out in the Venus project management guidelines
[x] 具有清晰明确的commit message / All commits have a clear commit message.
[x] 包含相关的的测试用例或者不需要新增测试用例 / This PR has tests for new functionality or change in behaviour or not need to add new tests.
[x] 包含相关的的指南以及文档或者不需要新增文档 / This PR has updated usage guidelines and documentation or not need
[x] 通过必要的检查项 / All checks are green

Codecov Report

Merging #296 (b394c44) into master (a0d6cb1) will decrease coverage by 0.15%.
The diff coverage is 0.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
- Coverage   54.47%   54.32%   -0.16%
==========================================
  Files          69       69
  Lines        7051     7071      +20
==========================================
  Hits         3841     3841
- Misses       2910     2930      +20
  Partials      300      300

Flag
Coverage Δ

unittests
54.32% <0.00%> (-0.16%)
:arrow_down:

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

Impacted Files
Coverage Δ

testhelper/mock_authclient.go
46.87% <0.00%> (-21.31%)
:arrow_down:


Add supporting presign for other cloud storage services

We have implemented presign for s3. But haven't implemented it for other cloud services yet.
azblob and gcs are ready for implementing presign, just need some work on the opendal side. Other services may need some extra work at the reqsign side.
Originally posted by @Xuanwo in https://github.com/apache/incubator-opendal/issues/2067#issuecomment-1518656409
What is presign?
presign, which allows users to pre-sign S3 or other cloud storage services' requests,  with operations, expiration time, and HTTP headers. This enables users to execute the request elsewhere, providing greater flexibility and control.
How to implement presign operation for a service?
To implement presign for a service, the service needs to support pre-sign first in order to use it.
For a service that supports presign, we could do the following steps(We will take s3 as an example here):

Find the service related folder.  We place those files in core/src/services/s3.
Implement request builder. We always place the actual request generation function in the core.rs. Currently, we offer three operations for ·presign· - stat, read, and write. You will need to implement those request builders according to the actual capabilities of the corresponding service.

https://github.com/apache/incubator-opendal/blob/fdc8d8d2aea5d725a677244fae2b1a69075f9b25/core/src/services/s3/core.rs#L206
https://github.com/apache/incubator-opendal/blob/fdc8d8d2aea5d725a677244fae2b1a69075f9b25/core/src/services/s3/core.rs#L235
https://github.com/apache/incubator-opendal/blob/fdc8d8d2aea5d725a677244fae2b1a69075f9b25/core/src/services/s3/core.rs#L315

Map the operation to the request builder. In the backend.rs of the service, we will implement the presign method for Accessor. Within this method, we map the operation type in OpPresign to an actual request.

https://github.com/apache/incubator-opendal/blob/fdc8d8d2aea5d725a677244fae2b1a69075f9b25/core/src/services/s3/backend.rs#L1056

Enable presign capability for our service. We are using behavior tests to ensure every service's behavior is the same. To enable testing for presign, simply enable the presign capability for the service. This capability will be checked during behavioral tests. You can achieve this by modifying the Accessor.info function implementation and adding presign: true to the Capability construction. So we will get:
https://github.com/apache/incubator-opendal/blob/fdc8d8d2aea5d725a677244fae2b1a69075f9b25/core/src/services/s3/backend.rs#L910-L940
Finally, make sure the tests pass. Keep modifying your code until all the tests pass successfully.

Tasks:

[x] #2118 @silver-ymz
[x] #2125 @silver-ymz

Waiting for reqsign side tasks finish

[ ] obs
[ ] oss

Hello, I am willing to help this. Could you assign it to me?

Hello, I am willing to help this. Could you assign it to me?

How about take azblob first?

Ok. I will have a try.

Could you open an issue to track gcs presign supporting and assign it to me?

Could you open an issue to track gcs presign supporting and assign it to me?

DONE, have fun!

looks like reqsign supports both obs and oss now, may i pick this up?

looks like reqsign supports both obs and oss now, may i pick this up?

Have fun!


Update kubectl_create_configmap.md

Remove "generic" as that was an unintended carry-over from "kubectl create secret generic"

@pmorie

@ncdc There is also some json error in "docs/user-guide/configmap.md", if you like you can update the doc in this pr too.

some configmap name "special-configmap" need change to "special-config"
"data-1" need change to "special.type"
command: [ "/bin/sh", "cat", "/etc/config/special.how" ] need change to command: [ "/bin/sh", "-c", " cat /etc/config/special.how" ]  or command: [ "/bin/cat", "/etc/config/special.how" ]

thanks so much.

@ncdc  also https://github.com/kubernetes/kubernetes/pull/22627


[FEATURE] Apply new design for table mobile view

Describe how this feature will help us improve
Our design for table mobile view has changed.
Is your proposal related to a problem?
The current table doesn't look good on small mobile devices
The new designs are in figma - molecules

Current table structure has one  and multiple  for every row which is still valid according to https://html.spec.whatwg.org/multipage/tables.html#the-table-element
Mobile table has separated heading for every row. This demands creating multiple tables or multiple  (not valid) in one table.
Maybe we could put  and  tags outside SfTableHeading and SfTableRow components?


using GL_TEXTURE1 in test_mgl fails

Hello Mike,
I figured it would be easy for you to fix this bug, if it's ever a bug.
In test_2D_textures, inserting a call to glActiveTexture(GL_TEXTURE1); just before the creation of the texture will make the test fail:
setup complete. testing...
tex id data update 1
failure -[MGLRenderer bindTexturesToCurrentRenderEncoder]:1151
texture binding failed

I guess/hope that it's perfectly legitimate to use whichever texture unit here, am I right?
This code in MGLRenderer.m is failing (ptris null):
            spirv_binding = [self getProgramBinding:_FRAGMENT_SHADER type:SPVC_RESOURCE_TYPE_SAMPLED_IMAGE index: i];

            ptr = STATE(active_textures[spirv_binding]);

            if (ptr)

It might be related to another bug I have (two different textures displayed with the same content).
Best!

Hello Conversy,
I will try to take a look today, but I am swamped with paperwork and planning.

We are getting ready for a trip to France in a week for a month on the boat. We will be in Port Napoleon the first week of September and the first week of October, but on the water in between… I hope!

Kind Regards
Mike

On Aug 24, 2022, at 12:48 AM, conversy @.***> wrote:
Hello Mike,
I figured it would be easy for you to fix this bug, if it's ever a bug.
In test_2D_textures, inserting a call to glActiveTexture(GL_TEXTURE1); just before the creation of the texture will make the test fail:
setup complete. testing...
tex id data update 1
failure -[MGLRenderer bindTexturesToCurrentRenderEncoder]:1151
texture binding failed
I guess/hope that it's perfectly legitimate to use whichever texture unit here, am I right?
This code in MGLRenderer.m is failing (ptris null):
        spirv_binding = [self getProgramBinding:_FRAGMENT_SHADER type:SPVC_RESOURCE_TYPE_SAMPLED_IMAGE index: i];

        ptr = STATE(active_textures[spirv_binding]);

        if (ptr)

It might be related to another bug I have (two different textures displayed with the same content).
Best!
—
Reply to this email directly, view it on GitHub https://github.com/openglonmetal/MGL/issues/53, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOKD32BMD2JENRZFUR242LV2XHTJANCNFSM57OHQNPA.
You are receiving this because you are subscribed to this thread.

The first weeks of September will be a little frantic here at my place, a lot of lectures to give, I'm afraid I won't be able to make it to Port Saint Louis and have a drink...
I wish you the best for your sailing trip! (Beware, the Mediterranée sea might be quite warm again this autumn, this may trigger a few hurricanes, but more likely after your back on the ground...)
Stéphane


hclfmt: fix build on darwin

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

I'd prefer that we merge https://github.com/NixOS/nixpkgs/pull/182880 as this needs to be fixed upstream, all this PR does is kick the can down the road a bit.

That's fair, but we've also done this for other packages... so not sure if we should start doing that with this one.

so not sure if we should start doing that with this one.

Those were existing packages that we were trying to keep working, this is a new package.
Why not open a PR for the x/sys fix upstream and apply the patch here? Should only need something like this: https://github.com/wagoodman/dive/commit/fe9411c414418d839a8638bb9a12ccfc892b5845

I think it's fixed in v2.13.0 https://github.com/hashicorp/hcl/releases/tag/v2.13.0

I think it's fixed in v2.13.0 https://github.com/hashicorp/hcl/releases/tag/v2.13.0

Yes, it is. I''l bump it in #182880 Thanks @marsam!


chore: update ApplicationServiceDIModule.cls comments related to priority

Updated misleading comment

This change is

@alanjaouen -- Thanks for the update.  Much appreciated!


Support for license request headers in demo app

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.

Some custom content requires license request headers.  The ShakaDemoAssetInfo supports this via the licenseRequestHeaders field, but there is no way to set this in the Custom Content tab.
Describe the solution you'd like

A UI to set license request headers would be nice.  As a quick solution, we could even offer a text field and require the user to type in a valid JSON dictionary instead of offering a more complex UI with an expanding set of key-value pairs.
Describe alternatives you've considered

Not sure.

Here's the workaround I came up with using the JS console.  I can manipulate the stored asset objects in LocalStorage and reload the page.  So long as I don't use the UI to edit the one I modified, the modifications stick.
hack = new shakaDemo.Custom(document.createElement('div'));
assets = hack.loadAssetInfos_();
Array.from(assets)[3].licenseRequestHeaders.set('headerName', 'headerValue');
hack.saveAssetInfos_(assets);


Some who self triggering loop of Ticket Update Notifications

My mailbox was filling it self with "Ticket updated: #15:" over and over ;)
Not sure why - it looks like the messages send for update trigger them self a the next cron.
I was using the dev branch.
_https://github.com/BadChoice/handesk/blob/dev/app/Notifications/NewComment.php_
maybe related to

the ticket updated email is sent to the requester, to team and to admins, so if you are all, you'll get three emails with the same, could it be the thing?
The other thing is that your mail fetcher is not deleting the messages once downloaded (can you check that?)
Or are you using the same mailbox to send the update and to fetch?

The sender is<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Admin Email is<EMAIL_ADDRESS>Team Email is<EMAIL_ADDRESS>Do you think this setup is bad ?

Yes, since it will enter a infinite loop, ticket updated mail, its fetched and sends another mail, fetched again... and so on, you ahould have a email user just for incoming tickets, so all your support is done trough handesk

Ah ok - gracias!
Should we mention this in the read.me as best practice ? If yes i can put it in the next PR ;)

Sure if you want, there is no harm in adding this note
Thank you so much


Consume updated Artillery to pass script directly to run command

@erikerikson Need help to fix the NPM test case. Not sure why it's failing. Presumably, due to the update git+htts reference.

@erikerikson Okay. That should be all the issues. Please have one last look.

Nah. Between the two of us, this was pretty well reviewed, IMO.
Also, since this is a bug fix, I think it should be expedited.


Fix remote runs for web

Some of the recent changes to support Appium on Sauce Labs caused our web Sauce Labs tests to not be able to run anymore. This should make sure the browser configurations are properly pulled from the config file as well as setting the browser in the test context for web.
@babybunnytoto  can you please verify that we can still run the Android tests against Sauce Labs with these changes?

LGTM!


[Python package] Weighted Feature Sampling in LGBM Random Forest Models

Summary
If reasonably feasible, I would like to ask the dev team to add weighted feature sampling to the python lightgbm api. Weighted feature sampling is an integral part of the iterative random forest algorithm defined by Basu et al. .
Motivation
Iterative random forests with weighted weighted feature sampling can improve the overall accuracy of Gene Regulatory Networks derived from Random Forest based algorithms. We would like to use the lightgbm implementation of random forest to implement these networks.
Description
By implementing a feature_weight parameter, users could pass in a probability vector of how often each feature ought to be sampled during the feature sampling stage of the random forest.  A default probability vector would be a uniform random distribution, while subsequent vectors can be user defined.
References
Basu, S., Kumbier, K., Brown, J. B., & Yu, B. (2018). Iterative random forests to discover predictive and stable high-order interactions. In Proceedings of the National Academy of Sciences (Vol. 115, Issue 8, pp. 1943–1948). Proceedings of the National Academy of Sciences. https://doi.org/10.1073/pnas.1711236115
Walker, A. M., Cliff, A., Romero, J., Shah, M. B., Jones, P., Felipe Machado Gazolla, J. G., Jacobson, D. A., & Kainer, D. (2022). Evaluating the performance of random forest and iterative random forest based methods when applied to gene expression data. In Computational and Structural Biotechnology Journal (Vol. 20, pp. 3372–3386). Elsevier BV. https://doi.org/10.1016/j.csbj.2022.06.037

Thanks very much for your interest in LightGBM and for the excellent write-up with references!
But this request is already captured in other feature requests here:

#2542
#4605
#4962
#6087

It seems that what you're asking for is identical to #4605, just more specific (this request is limited to Random Forest mode, where #4605 is asking for general-purpose finer-grained control of feature sampling).
I'm going to mark this as duplicate, close it, and post on #4605 referring to it. Please add any other thoughts (or offers to help, if you'd like to try implementing this!) there.

Ah! When I searched for other implementations I had specifically searched for "weighted feature sampling".
Thanks for linking those other requests @jameslamb!


Document template component usage with eval

Following the path of #36, there should be documentation of the higher level (above html/css) template partial/component usage. This is an example of how it might be done by documenting usage in a string, that is then eval'ed to produce the HTML for the styleguide.

Benefits of general approach

doesn't require separate usage documentation that might become out-of-sync with the implementation

Drawbacks of this specific implementation

eval makes me feed bad and seems insecure
More complex examples that involve ERB capture blocks probably won't work

Future exploration

having a separate directory of <component>_example.html.erb partials that could either be rendered (for HTML output) or File.open.to_s for the documentation.

@bensheldon we just built off of this proposal in this PR: https://github.com/codeforamerica/cfa-styleguide-gem/pull/40. check it out!


TypeError: init() takes 1 positional argument but 2 were given

New to django-pipeline and trying to get it up by following the guide at readthedocs.io and using a vanilla Django 1.10.4 installation, but I'm getting an error "TypeError: init() takes 1 positional argument but 2 were given" and can't figure out what's causing it.
Python 3.5.2
MacOS 10.12.1
Full stacktrace:
System check identified no issues (0 silenced).
December 14, 2016 - 22:43:03
Django version 1.10.4, using settings 'rm_app.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x107c53048>
Traceback (most recent call last):
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 142, in inner_run
    handler = self.get_handler(*args, **options)
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/runserver.py", line 27, in get_handler
    handler = super(Command, self).get_handler(*args, **options)
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 64, in get_handler
    return get_internal_wsgi_application()
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/servers/basehttp.py", line 49, in get_internal_wsgi_application
    return import_string(app_path)
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/utils/module_loading.py", line 20, in import_string
    module = import_module(module_path)
  File "/Users/acer9997/venv-riskminer/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/Users/acer9997/Projects/rm_app/rm_app/wsgi.py", line 7, in <module>
    application = get_wsgi_application()
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
    return WSGIHandler()
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/handlers/wsgi.py", line 153, in __init__
    self.load_middleware()
  File "/Users/acer9997/venv-riskminer/lib/python3.5/site-packages/django/core/handlers/base.py", line 82, in load_middleware
    mw_instance = middleware(handler)
TypeError: __init__() takes 1 positional argument but 2 were given

requirements.txt:
Django==1.10.4
django-filter==1.0.1
django-pipeline==1.6.9
django-pipeline-browserify==0.5.0
djangorestframework==3.5.3
Markdown==2.6.7

settings.py:
import os
from os.path import abspath, basename, dirname, join, normpath

# Replace BASE_DIR with this
DJANGO_ROOT = dirname(dirname(abspath(__file__)))
SITE_ROOT = dirname(DJANGO_ROOT)
SITE_NAME = basename(DJANGO_ROOT)

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ['RISKMINER_SECRET_KEY']

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'pipeline',
    'riskminer',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.gzip.GZipMiddleware',
    'pipeline.middleware.MinifyHTMLMiddleware',
]

ROOT_URLCONF = 'rm_app.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

# Static files (CSS, JavaScript, Images)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'public')
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'pipeline.finders.PipelineFinder',
)
STATICFILES_DIRS = ['static']

PIPELINE = {
    'PIPELINE_ENABLED': True,
    'JAVASCRIPT': {
        'stats': {
            'source_filenames': (
              'js/jquery.js',
              'js/d3.js',
              'js/collections/*.js',
              'js/application.js',
            ),
            'output_filename': 'js/stats.js',
        }
    }
}

# WSGI
WSGI_APPLICATION = 'rm_app.wsgi.application'

# Database
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# Password validation
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

# Internationalization
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

Commented out 'pipeline.middleware.MinifyHTMLMiddleware' for now so error goes away.

Yes, django-pipeline is not yet compatible with Django 1.10. No idea about the roadmap.

I released version 1.6.10 that should bring full Django 1.10 support.

In your urls.py:

Maybe you are missing .as_view()
change it to: view.(name of your apiview class).as_view()

In your urls.py:

Maybe you are missing .as_view()
change it to: view.(name of your apiview class).as_view()

thanks man it took me 2 hours to find this problem....
i was about to cry...

I don't know if it still works, but I had the same problem with a "modelform" of Django and I solved it by changing the name of the form.
It turns out that I had a "New_Exercise" view and the form was called "New_Exercise" ... I don't know why but I conclude that the subject was a "name conflict" issue. I changed the name of the form and everything worked perfect. Well just one opinion, I hope it helps ...

In your urls.py:

Maybe you are missing .as_view()
change it to: view.(name of your apiview class).as_view()

Thank you man


Adding requests to requirements

I missed one :)

I missed one :)

That's why shall look at to remove these duplication


Added Several new features

Added Several new features such as

Custom coloring and shapes for handlers
Support for Icons on handlers
Shadows
Borders
Gradients
Allow decoration and more easy customization
Internal clock numbers

@davidanaya I'm trying to add the following changes but looks like Travis does not want to help me here. any advice?


Character ommited

https://github.com/gthd/pawk/blob/bece2f2ef70a0adcbe852ebdc7f8011f9065f3ec/demo.go#L79
The first character on the last line of the bytestream is ommited.

Has something to do with the number of cores that are being used. When 2 or 4 cores used then same thing happens for the bytestream.

Issue cannot be replicated under Ubuntu environment.

Working under Ubuntu, issue closed.


Addition data layers

[ ] Traffic volumes
[ ] Traffic speeds
[ ] Crossing frequency (linked to critical of crossing per 500 m)
[ ] PCT layer, see https://www.carbon.place/#11.8/51.50321/-0.09312
[ ] Historic LTNs, see bikedata

Speed: https://www.ordnancesurvey.co.uk/products/os-mastermap-highways-network-with-speed-data
Crossing frequency is a coloring per road. Not sure what counts as a good crossing


Add workflow expiration and run timestamps to execution info

READ BEFORE MERGING: All PRs require approval by both Server AND SDK teams before merging! This is why the number of required approvals is "2" and not "1"--two reviewers from the same team is NOT sufficient. If your PR is not approved by someone in BOTH teams, it may be summarily reverted.

What changed?
Add new structure -WorkflowExecutionExtendedInfo
That structure has few fields:

execution timeout time
run timeout time
last reset time
cancel requested

(the last one from https://github.com/temporalio/api/pull/339)

Why?
Per customer request.
Execution timeout timestamp may change after workflow reset, and in this case customers have no idea when it will fire.
WorkflowExecutionInfo is reused in other server calls, like ListWorkflow, etc.
Because of that we either add any new field to ES, or it will be nil which is bad user experience.

Breaking changes
No

Server PR
N/A

Yes, it looks very different from what it was. I wish we started that new WorkflowExecutionExtendedInfo message earlier.


ERROR in Entry module not found: Error: Cannot resolve module 'babel' in /folderwithfb-sleep

npm run build-minified

><EMAIL_ADDRESS>build-minified /folderwithfb-sleep
> webpack --progress --optimize-minimize
                                                                                Hash: ~
Version: webpack 1.12.13
Time: 57ms

ERROR in Entry module not found: Error: Cannot resolve module 'babel' in /folderwithfb-sleep

npm is version 2.14.12
node is version v4.3.1, also tried with v4.0.0 and v5.6.0
This is on Ubuntu 14.04
Also when doing:
git clone git@github.com:sqren/fb-sleep-stats.git
I get:
Cloning into 'fb-sleep-stats'...
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

So I just did a git clone https://github.com/sqren/fb-sleep-stats

I am actualy moron, I forgot I didn't do a npm install after I fixed the error it gave... Working awesome thanks.


Create quiz.cpp

It is a quiz project which chooses random questions from a larger set of questions. The questions are mostly science based.

good work @joeljustin1

Sorry,that was closed by mistake :(

Thanks a lot. So Happy to see you recognize my project.
Joel Justin
On Mon, Oct 4, 2021 at 10:51 PM Viral Vaghela @.***>
wrote:

Merged #112 https://github.com/viralvaghela/hacktoberfest_2021/pull/112
into main.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/viralvaghela/hacktoberfest_2021/pull/112#event-5405527068,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR6IUO62R3ZB263LYSKLIK3UFHPBLANCNFSM5FHXN3EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

keep doing great work @joeljustin1  :)


better-sqlite-pool failed to install | NPM JavaScript

Node Version: Node: v10.13.0 | NPM: v6.4.1
Platform: Windows
Compiler:  idk what this is
Module:  better-sqlite-pool

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\pc\AppData\Roaming\npm-cache\_logs\2018-12-08T02_54_53_483Z-debug.log

I was trying to install the better-sqlite-pool but got the error shown above. Any help would be awesome!
Thanks.
P.S. I'm working on a Discord.js bot soooo :p

As it says: This is probably not a problem with npm.. You should report this in better-sqlite-pool issue tracker.

Fixed. But thank you for letting me know!


Change file permissions to 100644

It seems that somehow all the files were created with mode 755 instead of 644. Since none of them need to be executable, I think that's a mistake (the app can be started without it)

thanks


[Bug] [Module Name] vllm failed on v.0.5.4

Search before asking

[X] I had searched in the issues and found no similar issues.

Operating system information
Linux
Python version information

=3.11

DB-GPT version
main
Related scenes

[ ] Chat Data
[ ] Chat Excel
[ ] Chat DB
[ ] Chat Knowledge
[ ] Model Management
[ ] Dashboard
[ ] Plugins

Installation Information

[X] Installation From Source

[ ] Docker Installation

[ ] Docker Compose Installation

[ ] Cluster Installation

[ ] AutoDL Image

[ ] Other

Device information
RTX A6000, 128G
Models information
LLM: Meta-Llama-3-8B-Instruct
Embedding: bge-large-zh-v1.5
What happened
Traceback (most recent call last):
File "/root/DB-GPT/dbgpt/app/dbgpt_server.py", line 242, in
run_webserver()
File "/root/DB-GPT/dbgpt/app/dbgpt_server.py", line 237, in run_webserver
param = initialize_app(param)
^^^^^^^^^^^^^^^^^^^^^
File "/root/DB-GPT/dbgpt/app/dbgpt_server.py", line 164, in initialize_app
initialize_worker_manager_in_client(
File "/root/DB-GPT/dbgpt/model/cluster/worker/manager.py", line 1061, in initialize_worker_manager_in_client
_start_local_worker(worker_manager, worker_params)
File "/root/DB-GPT/dbgpt/model/cluster/worker/manager.py", line 997, in _start_local_worker
worker_manager.worker_manager.add_worker(worker, worker_params)
File "/root/DB-GPT/dbgpt/model/cluster/worker/manager.py", line 163, in add_worker
worker.load_worker(**asdict(worker_params))
File "/root/DB-GPT/dbgpt/model/cluster/worker/default_worker.py", line 56, in load_worker
self.param_cls = self.llm_adapter.model_param_class(model_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/DB-GPT/dbgpt/model/adapter/vllm_adapter.py", line 43, in model_param_class
parser.add_argument("--device", type=str, default=None, help="device")
File "/root/anaconda3/lib/python3.11/argparse.py", line 1468, in add_argument
return self._add_action(action)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/lib/python3.11/argparse.py", line 1850, in _add_action
self._optionals._add_action(action)
File "/root/anaconda3/lib/python3.11/argparse.py", line 1670, in _add_action
action = super(_ArgumentGroup, self)._add_action(action)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/lib/python3.11/argparse.py", line 1482, in _add_action
self._check_conflict(action)
File "/root/anaconda3/lib/python3.11/argparse.py", line 1619, in _check_conflict
conflict_handler(action, confl_optionals)
File "/root/anaconda3/lib/python3.11/argparse.py", line 1628, in _handle_conflict_error
raise ArgumentError(action, message % conflict_string)
argparse.ArgumentError: argument --device: conflicting option string: --device
What you expected to happen
不知道，该升级的都升级了。
How to reproduce
NA
Additional context
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

parser.add_argument("--device", type=str, default=None, help="device")
comment it in vllm_adapter.py will fix the issue

parser.add_argument("--device", type=str, default=None, help="device")
comment it in vllm_adapter.py will fix the issue

vllm_adapter.py 该文件包含parser.add_argument("--device", type=str, default=None, help="device")该语句，不知道你表达的是什么

Me too meet this problem.
How can I get through it?

The problem of parser has been resolved and the vllm can be loaded.
However, new issue occurs:
LLMServer Generate Error, Please CheckErrorInfo.: 'TokenizerGroup' object has no attribute 'eos_token_id' (error_code: 1)
Any suggestion? Thanks.

The problem of parser has been resolved and the vllm can be loaded.
However, new issue occurs:
LLMServer Generate Error, Please CheckErrorInfo.: 'TokenizerGroup' object has no attribute 'eos_token_id' (error_code: 1)
Any suggestion? Thanks.

mod the return statement of func  load_from_params in vllm_adapter.py
# return engine, engine.engine.tokenizer
return engine, engine.engine.tokenizer.tokenizer


parallel batch get

Signed-off-by: iosmanthus<EMAIL_ADDRESS>

/release

/release

/release


Upgrade to test-templates from algebra

Description

Counterpart of https://github.com/arkworks-rs/algebra/pull/191; will only pass once that is merged.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[X] Targeted PR against correct branch (master)
[X] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[X] Wrote unit tests
[X] Updated relevant documentation in the code
[X] Changelog: n/a, no user facing changes.
[X] Re-reviewed Files changed in the Github PR explorer

(Note: this one is now ready to merge)

(Note: this one is now ready to merge)


Add changelogs

Is your feature request related to a problem? Please describe.
N/A
Describe the solution you'd like
Add changelogs to the actual site. This would probably just be another list at the bottom of the About page. This can literally pull from a JSON file given that it would be edited every push lol.
Describe alternatives you've considered
N/A
Additional context
N/A

Cleaned up old issues


Added University Of Lodz & Faculty of Mathematics and Computer Science

@turson Pull request merged. Thank you!


Joel/features/improved conversation list

Summary
Fixes #815, #924, #925, #931, #932, #933

Also makes several icons more consistent across screens and themes as I saw fit
Unpinning icon is now an empty star

Specifics

#815

Pretty self explanatory

#924

Increased padding on the right arrow and decrease padding on the left of the listtiles. Decreased pin/mute/unread indicators on ios to accommodate the change.

#925

Added unread/read button to the action buttons when chats are selected

#931

Made all bulk action buttons depend on the selected chats

If all selected chats can be pinned, the pin button will show up
If all can be unpinned, the unpin button will show up
etc.
The icons themselves also change based on what action (positive or negative) they are going to do

The archive button is constant on the main chat list
The unarchive and trash buttons are constant on the archived chat list

#932

This one's pretty self explanatory

#933

Added a trash action

@jjoelj Hey, so I see one issue with the typing indicators. Right now, in CurrentChat, we have a stream for what I can only assume is a generic, "hey, the current chat updated in some way". I wasn't the one to set this up, which is why I'm only assuming (though, I'm confident). What I think we need to change it to instead, is a more stateful stream.
For instance, I think within current_chat.dart we need to create an enum for CurrentChatEvent, and then make the stream handle a Map<CurrentChatEvent, dynamic>. That way, when listening on it, we know what type of update event it is, and we can handle it accordingly. Right now, it only handles a few event types, but without the EventType check, we might be updating widgets that we don't need to be updating.
I also think that once this is done, we can actually use the stream within a StreamBuilder instead of using a state variable within ConversationTile. So instead of updating the entire tile when there is a typing indicator, we only change the stream builder.
Make sense?

I think I made all the changes you requested. Lmk if I did everything in an acceptable way.


[Zally-CLI 1.1] Cannot submit file for linting. HTTP Status: 500

I've noticed that the Zally-CLI fails on missing scopes field in securityDefinitions
$ zally lint api-without-scopes.yaml
Cannot submit file for linting. HTTP Status: 500, Response: {"title":"Internal Server Error","status":500}

api-without-scopes.yaml:
swagger: '2.0'
info:
  x-api-id: 1cc9097a-f3bd-4525-a2aa-3deb494efa4c
  x-audience: business-unit-internal
  title: Test API
  version: '0.1.0'
  description: |
      Just to reproduce a bug

schemes:
  - https

produces:
  - application/json

securityDefinitions:
  oauth2:
    type: oauth2
    flow: implicit
    authorizationUrl: https://identity.merchant-center.zalan.do/auth/realms/retailcore/protocol/openid-connect/auth

The following file doesn't produce status 500 response:
swagger: '2.0'
info:
  x-api-id: 1cc9097a-f3bd-4525-a2aa-3deb494efa4c
  x-audience: business-unit-internal
  title: Test API
  version: '0.1.0'
  description: |
      Just to reproduce a bug

schemes:
  - https

produces:
  - application/json

securityDefinitions:
  oauth2:
    type: oauth2
    flow: implicit
    authorizationUrl: https://identity.merchant-center.zalan.do/auth/realms/retailcore/protocol/openid-connect/auth
    scopes:
      uid: "dsfd"

$ zally -v
Zally-CLI version 1.1

Thanks for reporting!

Might be related to #773 .

Not sure @ddufourboivin-zalando. #773 seems to be about the parse failing but that's not what's happening here. The file is syntactically valid swagger and parses correctly as such, where it fails is in the conversion to openapi - the conversion code makes assumptions that simply aren't reliably true.
In this case, we possibly ought to offer a patch upstream, but can work around it with something like this in DefaultContext.kt:
// hack to allow OAuth2 definition with no scopes
swagger.securityDefinitions?.values?.filterIsInstance(OAuth2Definition::class.java)?.forEach {
    if (it.scopes == null) {
        it.scopes = LinkedHashMap()
    }
}


HMR: app.module bootstrapped multiple times

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: 5.3
Cross-platform modules: 5.3.2
Android Runtime: 5.3
NativeScript-Angular: 7.2.3
Angular: 7.2.9

Describe the bug
When using HMR, our Angular-based application gets bootstrapped multipled times. More precisely: the app.module gets bootrapped multiple times in a single HMR run. Looks like a recursion while processing the modules.
I try to reproduce the issue but having diffculties to get to the root cause.
The only thing I can see is that this behaviour starts as soon as code in a @Injectable which is provided by the main app.module is changed or if the @Injectable is in the dependency chain of affected modules.
The multiple bootstrapping does not happen if code in a UI/view is changed, e.g. a regular @Component.
Example #1 - code change in @Component. Works as expected. Resulting log:
HMR: Checking for updates to the bundle with hmr hash 7dac85d1bc298888736a.
HMR: The following modules were updated:
HMR:    ./something/some.component.ts
HMR:    ./something/some.module.ts
HMR:    ./something/some.routing.ts
HMR: Successfully applied update with hmr hash 7dac85d1bc298888736a. App is up to date.
JS: bootstrap: Angular livesync started.
JS: AppModule constructor  <-- as expected
JS: bootstrap: Angular livesync done.

Example #2 - code change in @Injectable. Resulting log:
JS: HMR: Checking for updates to the bundle with hmr hash 0903a733694101ec7f8a.
JS: HMR: The following modules were updated:
JS: HMR:          ↻ ./service/whatever.service.ts
JS: HMR:          ↻ ./app.component.ts
JS: HMR:          ↻ ./app.module.ts
JS: HMR:          ↻ ./components/another.component.ts
JS: HMR: Successfully applied update with hmr hash 0903a733694101ec7f8a. App is up to date.
JS: bootstrap: Angular livesync started.
JS: AppModule constructor                    <-- as expected
JS: bootstrap: Angular livesync done.
JS: bootstrap: Angular livesync started. <-- 2nd run... why?
JS: AppModule constructor                     <-- 2nd bootstrapped AppModule
JS: bootstrap: Angular livesync done.

Following HMR updates/reloads cause even more bootstraps.
What could be the reason for this? Or is this even expected behaviour?

Bump. I am having a similar issue. My app gets bootstrapped according to the number of times Hot Module Replacement has run.
So running it the first time, it is bootstrapped once. Then, if I make a change to the app, the app will then get bootstrapped twice. Make another change, the app will get bootstrapped 3 times.
Using NS angular, 5.3.1.
Any ideas for fixing this?

This issue is still present in the latest release, has there been any news regarding this issue ?

This behavior is intended with HMR. This also happens on the web:
https://stackblitz.com/edit/angular-hotreload-lifecycle?file=src/app/app.component.ts
Things to note:

I've changed how stackblitz hot reload works (check main.ts) to reflect exactly how NS does it.
you can change it back (flip simulateNativescript to false), will only change the order of contruction/destruction (will destroy instance 2 AFTER constructing instance 1)

Check the console.log and see the AppModule construct happens many times (uncheck clear console on reload if you want the full log, as hot reloads count as a "reload").
When running with ng serve you're not using HMR, the whole page is being refreshed (this is like closing and opening the app, but keeping the history stack). See https://levelup.gitconnected.com/hmr-in-angular-cli-project-eb8512ef514b for how you'd configure HMR on a normal angular project.
I'd also like to add that multiple constructs is intended on normal usage too. When you exit the app via back button, the rest of the application is still running (timers, native stuff, etc), but angular is destroyed (there is no frontend to show anymore) so ensure you're clearing up your subscriptions and timers on ngOnDestroy (all modules/components/services/directives/etc can implement this lifecycle hook).

I'm not sure if my app has a problem with HMR, but I can't figure out since many weeks why my app is working as I described it here: https://stackoverflow.com/questions/61253807/possible-memory-leak-in-nativescript-app-if-user-reopens-his-app-multiple-times
@edusperoni, do you think, it can be related to this topic about HMR?
The problem is that when I'm moving my app to the background of my mobile device and then open that app again (for example a few times). Then, when I logout the user subscription emits as many times as I moved the app to the background and back before. So if I move app to the background and open that app 5 times, then if I logout my user, then this.authenticationService.user$ emits 5 console.logs. I use async and try to use ngOnDestroy everywhere, but without success :/

The same problem faced. 😭  The HMR causes all the components and services(singleton provide in root) initialize twice.
Is there any solution to avoid that?


[LICENSE] add ALv2 licenses

Signed-off-by: Sheng Zha<EMAIL_ADDRESS>

@wenbingl do you know what caused linux-conda-ci to not have been triggered?

@wenbingl do you know what caused linux-conda-ci to not have been triggered?

@wenbingl do you know what caused linux-conda-ci to not have been triggered?

I just made a pipeline configuration update, can you push a trivial change to trigger the pipeline again?

@wenbingl do you know what caused linux-conda-ci to not have been triggered?

I just made a pipeline configuration update, can you push a trivial change to trigger the pipeline again?

/azp run linux-conda-ci

/azp run linux-conda-ci


disable_verification not work

Hi, this flag disable_verification not work. That this flag would work, you need to pass the parameter ssl::SSL_VERIFY_NONE to the connector. Something like that:
let mut connector = try!(SslConnectorBuilder::new(SslMethod::tls()));
connector.builder_mut().set_verify(ssl::SSL_VERIFY_NONE);
let connector = connector.build();
Ok(OpensslClient::from(connector))

You'll need to call OpensslClient::danger_disable_hostname_verification as well.

Before writing this post I checked so does not work. Without this connector.builder_mut().set_verify(ssl::SSL_VERIFY_NONE); method SslConnector.danger_connect_without_providing_domain_for_certificate_verification_and_server_name_indication not work.

Sure - you need to do both of those things if you want to totally disable certificate verification.

I have problem with self signed certificate. And this is only way.

I'm not sure I understand what the issue is? This should work just fine:
let mut builder = SslConnectorBuilder::new().unwrap();
builder.builder_mut().set_verify(SSL_VERIFY_NONE);
let mut connector = OpensslClient::from(builder.build());
connector.danger_disable_hostname_verification();

This is not the only way, FYI. You can tell OpenSSL to trust your self signed certificate:
let mut builder = SslConnectorBuilder::new().unwrap();
builder.builder_mut().set_ca_file("my_cert.pem").unwrap();
let mut connector = OpensslClient::from(builder.build());

Thank you @sfackler . This is work
let mut builder = SslConnectorBuilder::new().unwrap();
builder.builder_mut().set_verify(SSL_VERIFY_NONE);
let mut connector = OpensslClient::from(builder.build());
connector.danger_disable_hostname_verification();

You can close issue. Maybe we should add examples?

I would like to keep it hard to disable verification.


".NET Debugging is supported only in Microsoft versions of VS Code" error

Issue Type: Bug
Updated VS Code (1.36.0) and C/C++ extension to latest builds and debugging no longer works in VS Code.
error message:
".NET Debugging is supported only in Microsoft versions of VS Code"
in console:
You may only use the C/C++ Extension for Visual Studio Code with
Visual Studio Code, Visual Studio or Visual Studio for Mac software
to help you develop and test your applications.
VS Code version: Code 1.36.0 (0f3794b38477eea13fb47fbe15a42798e6129338, 2019-07-03T13:11:51.716Z)
OS version: Windows_NT ia32 10.0.17763
Extensions (8)

Extension
Author (truncated)
Version

spellright
ban
3.0.46

togglehs
bbe
0.1.2

nbpreviewer
jit
1.2.2

python
ms-
2019.6.22090

cpptools
ms-
0.24.0

shader
sle
1.1.4

shader-toy
ste
0.8.3

cmake
twx
0.0.17

Uninstalled VS Code and installed 64-bit version instead, now works.


Add video section with youtube video to README.md

solves #112; adding new sub-heading to Community section in README.

Thank you!


python3Packages.sphinxcontrib-autoapi: init at version 1.5.0

Motivation for this change
This adds Sphinx AutoAPI extension, which provides "autodoc" style documentation for multiple programming languages without needing to load, run, or import the project being documented.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Pinging @jonringer , can you please review again? I added the testing as requested.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Customize initial 401 Unauthorized page (in a private setup)

In a private databus setup I'm greeted with a 401 Unauthorized page. For the coypu project we would like to customize the welcome page, even in a private setup to show some helpful information.

can you elaborate on this issue? I want to check this one

Currently it looks like this:

I would like to set the title and some description text below. Also I would like to customize the background color of the welcome page. A bit similar to the dbpedia databus front page, but without the stats and the list of datasets.

for routes that need to be protected with authentication there is a middleware used in the nodejs express setup. E.g:
https://github.com/dbpedia/databus/blob/05ac87f4bf0126b459eb15cae6708ce854ea1536/server/app/api/routes/general.js#L58
protector.protect() is the middleware call that checks authentication and redirects to a 401 in this case.
In private mode, this is slapped on everything:
https://github.com/dbpedia/databus/blob/05ac87f4bf0126b459eb15cae6708ce854ea1536/server/app/app.js#L70
Since this also applied to read-only pages (that are never protected in non-private mode) it also returns an HTML representation of the 401 response.
This is cool, except for the landing page that should still be customizable to some degree. I think it should use the customizable header of the default page. The customizable header is a feature that I am currently still working on. I will rush this, so this issue can be implemented

what should i define in this function to return it for read only pages.?
function isReadOnlyRoute(req) {
return req.path.startsWith('/read-only/');
}
//Here , i updated this to only apply this feature to pages which are not read only
app.all('*', function (req, res, next) {
// Check if the application is in private mode
if (process.env.DATABUS_PRIVATE_MODE == "true") {
// Check if the route is read-only
if (!isReadOnlyRoute(req)) {
// Apply the global middleware for non-read-only routes
return protector.protect(true, function (req, res) {
if (protector.isBrowserRequest(req)) {
var data = {}
data.auth = ServerUtils.getAuthInfoFromRequest(req);
res.status(401).render('unauthorized', {
title: 'Unauthorized',
data: data,
});
} else {
res.status(401).send();
}
})(req, res, next);
}
}
// For read-only routes or when not in private mode, handle the logic accordingly
next();
});

My explanation might have been misleading, there is no change or check needed for "read only". Private mode is supposed to route EVERYTHING to 401, nobody should see what is there except for authenticated users.
The task is about creating an exception for the landing page at the root path "/".
Expected behaviour:

non-HTML requests (e.g. done with curl) return 401 for all routes
HTML requests return the 401 HTML page
HTML request to the frontpage returns a custom 401 HTML page that includes the banner of the normal front page

My next merge will make the banner be contained in its own file banner.ejs that can be included into any other ejs file, such as a special private mode landing page.

Hey, would love to give it a go

Okay, the dev branch has received some updates on this. The banner will now be held in a banner.ejs file (https://github.com/dbpedia/databus/blob/dev/public/templates/banner.ejs)
A custom 401 frontpage could include the banner via the ejs include syntax


Updated MarkovNetwork.py to be consistent with modern NumPy implementations

What does this PR do?
Fixes a bug with NumPy versions for current Python3 (>=3.9). Abandons support for 2.x python.
Where should the reviewer start?
Update only the MarkovNetwork.py class file as the README has been changed only slightly for my personal purposes.  The original README should stand with the exception of some broken links and an unreasonable expectation of Python 3.5 compatibility.
This simply changes the bool datatype to be Python native, rather than np.bool as previously written (probably for good reason for compliance with earlier versions and Python 2.x). This library should be compliant with modern Python and usable for all currently.
How should this PR be tested?
Replace MarkovNetwork.py as needed and avoid applying the entire pull as it changes the original README in essence.
Any background context you want to provide?
Really appreciate the effort put into simulating this NN. The updates are only to keep things current and usable as installed as a PyPI package.
What are the relevant issues?
None known.
Questions:

Do the docs need to be updated?
Possibly, as the support should probably be upgraded to 3.x and support for legacy dropped at this point
Does this PR add new (Python) dependencies?
This reduces dependencies as it should work with all new Pythons and all new NumPy versions, but it restricts installation on Python 2.x version for legacy.
May require dependencies on links in README as CodeHealth is an invalid link on README and Python 3.5 should no longer be reasonably supported for all intents and purposes.
As normally expected, the README should be in the hands of the project originator and maintainer.

Adding another pull with correct README for full integration. Closing this pull as it was found that uint8 numpy type in MarkovNetwork.py had conflicts with tests.py numbers.