Fix invalid transform when skip_vertex_transform used

Fixes https://github.com/godotengine/godot/issues/13010

Citing @reduz from IRC:

I don t understand that one,  the point of using skip transform is to skip the transform

looks like PROJECTION_MATRIX multiplication does not give same result on vertex than direct multiplication on projection_matrix in code, this PR enables the correct usage of code below...

shader_type spatial;
render_mode skip_vertex_transform;

void vertex() {
         VERTEX = (MODELVIEW_MATRIX * vec4(VERTEX, 1.0)).xyz;
        //or:
	//VERTEX = (INV_CAMERA_MATRIX * WORLD_MATRIX * vec4(VERTEX, 1.0)).xyz;
}

but I still not sure, maybe @reduz knows where is problem better than me ?

ah i see, it makes sense it works this way

i would just remove the whole ifdef here and leave:
gl_Position = projection_matrix * vec4(vertex_interp,1.0);
since the other case makes no sense

Done !


[Mobile-GA] Added section metadata for no padding

Added an authoring option in the form of section metadata to remove padding of any sections.
Resolves: https://jira.corp.adobe.com/browse/MWPW-146697
Test URLs:

Before: https://stage--express--adobecom.hlx.page/express/
After: https://section-no-padding--express--adobecom.hlx.page/express/?lighthouse=on

I think it works, but is the removed padding enough?


Remaining issues with the NumberInput for Configuration

CSS is not properly applied to the plus/minus buttons
Numbers aren't clamped

Attachments

https://github.com/code-ready/crc-react-components/blob/675f07b7487ab18fbea67028c8c4127545629225/src/components/Settings.jsx#L69

Even after adding:
import<EMAIL_ADDRESS>
this still does not work as expected.


Allow URLs to be rewritten to server root using external .htaccess

For example, with the following directory structure, Bludit is
installed in its own subdirectory:
web_root
├── .htaccess
└── bludit
├── bl_content
├── bl_kernel
│    ...
├── .htaccess
├── index.php
└── install.php
However, it may be desired that Bludit's URLs are based from the web
root, not /bludit:
Good:	http://example.com/about
Bad: 	http://example.com/bludit/about
The config file web_root/.htaccess includes the following rule to
rewrite requests to web_root/bludit:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) bludit/$1 [NC,L,QSA]
When a page is accessed, Bludit finds that the URL /about doesn't
match the script path bludit/index.php, and assumes that the site's
root should therefore be "/".

@JonathanHolvey rebase your change on the latest master and open a new PR

I'm actually not sure about this one now... I've changed my strategy, so that Bludit is installed at the server root, and the only disadvantage is that I have to keep track of changes I make to .htaccess between Bludit releases (fortunately, Git is good at this).
I feel that adding this special case to the Bludit codebase would be a bit messy, especially if it will not be used.
I will close this PR, but leave my branch available in case other users find it useful. I can always create a new PR later if someone wants it.


feat: add schnorr signatures

Summary
https://app.clickup.com/t/86du9n49v
Requires #73
Checklist

[ ] Documentation (if necessary)
[ ] Tests (if necessary)
[ ] Ready to be merged

I've drafted this until #73 is merged


There's no a way to close an editor tab with a shortcut in a browser based version

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.62.3
OS Version: Google Chrome

Steps to Reproduce:

Open a browser vscode, i.e. https://github.dev/microsoft/vscode
Open README.md
Press Cmd+W
Instead of closing editor tab, it's prompted to close a browser window

This is the native browser behaviour, nothing VS Code can do against, sry.

@egamma But what is your plan for dealing with it? Obviously, people in a browser would want to close editor tabs with a shortcuts. Did you try influencing Edge or Chrome to enable this shortcut?

@egamma I concede that it is unlikely that Google Chrome will allow a web page to override cmd+w. Incidentally, the feature request filed against Chrome in 2010 to allow this (https://bugs.chromium.org/p/chromium/issues/detail?id=33056) appeals to this use case in Comment 6: "I'm developing a completely web-based web IDE..."
That said, we have been experimenting with creating a Chrome extension for VS Code Web that would let users opt-in to a behavior where the background page of the extension would intercept cmd+w as follows:

On a site like vscode.dev or github.dev, the background page of the Chrome extension would do something like the following to pump the keyboard event to the host page where it could be handled "naturally:"

// useMacShortcuts is determined via `chrome.runtime.getPlatformInfo()`
const modifierKeys = {[useMacShortcuts ? 'metaKey' : 'ctrlKey']: true};
document.body.dispatchEvent(
    new KeyboardEvent('keydown', {
    ...modifierKeys,
    key: 'w',
    code: 'KeyW',
    keyCode: 87,
  }),
);

It appears there was a point in time where VS Code Web would not even acknowledge cmd+w under those circumstances, but that has long since been fixed: https://github.com/microsoft/vscode/issues/108788.

On all other sites, the extension would call chrome.tabs.remove() to remove the tab, emulating the native Google Chrome behavior.

The extension has generally been working well for us so far, with two exceptions:

It is a pain to set up. As best we can tell, the user has to manually configure the keybinding in chrome://extensions/shortcuts to be able to take advantage of it. This will become more tedious if we support overrides for more Chrome shortcuts, such as cmd+t and cmd+shift+t.
Users may be confused when cmd+w no longer closes a VS Code Web browser tab: they must click on the X in the Chrome tab with their mouse to do so (arguably an accessibility issue, to boot).

If you have any ideas about other workarounds to make VS Code Web feel more like the desktop version [with respect to keyboard shortcuts], we are certainly interested to help out! The Chrome extension is the best we have come up with thus far.

@bolinfest thanks for chiming in with your insights. I've extracted them into a separate issue https://github.com/microsoft/vscode/issues/137972

Things you can do to prevent the browser from "eating" Ctrl+W:

install the URL as PWA app ("..." > More Tools > Create Shortcut...)
set the website into fullscreen mode


Dev Container link in the Read Me goes to a place holder page.

Description
When you click the Dev Container link in the https://github.com/Azure-Samples/rag-postgres-openai-python?tab=readme-ov-file#vs-code-dev-containers section it takes you to a place holder page: https://github.com/Azure-Samples/rag-postgres-openai-python/blob/main/placeholder
Environment
N/A

Thanks, fixed!


Integrate with nuxt 3

Please! Integrate with nuxt 3
This works only if i write this:
<script setup lang="ts">
  useHead({
      script: [
        {
          src: 'https://telegram.org/js/telegram-web-app.js',
          defer: true
        }
      ]
    })

  onMounted(async () => {
    const VueTg = await import('vue-tg')
  })
<script>

If i write import without onMounted, nuxt throws error "Telegram is not defined"
because nuxt first render in server side

Hello. Telegram Mini App API exists only in Telegram app, so we can't render it on server side. How do you expect it to work?

Hello. Telegram Mini App API exists only in Telegram app, so we can't render it on server side. How do you expect it to work?

As an option on the server, avoid the error and return null so that you don’t have to write constructs using onMounted

Unfortunately, I don't have enough experience with nuxt and not sure how to implement it properly. PRs are welcome!


Add a signal for detecting action toggle states (pressed/released) in Input

Closes godotengine/godot-proposals#1853.

Documentation and further improvements can be written later, if the feature is desired/approved.
To-do:

[x] Rename signal to action_toggled: https://github.com/godotengine/godot/pull/43646#issuecomment-730253012.
[x] Emit signals per action: https://github.com/godotengine/godot/pull/43646#issuecomment-731573721.
[ ] Emit signal upon action_press and action_release methods as well.
[ ] Define a new signal name in CoreStringNames for signal, to optimize for performance somewhat with StringName usage.
[ ] Write documentation.

Works for those "just" pressed/released events. Will also emit signal while simulating action presses.
With GDScript 2.0:
extends Node2D

func _ready():
	Input.action_toggled.connect(Callable(self, "_on_action_toggled"))

func _on_action_toggled(action, pressed):
	if pressed:
		print("Action pressed: " + str(action))
	else:
		print("Action released: " + str(action))

Thats amazing! ❤❤❤
May I asked why it's called "action_state_changed"? This sounds like the action would be "present" even when no input action was performed by the player. Why not just call it "input_action"?

The action_state there represents all actions which has been pressed so far (the initial state is not immediately initialized from the InputMap singleton), so technically you're right.
But one may also say that all actions are in "released" state while the game is started. When a player presses a key, then the state is changed from "unpressed" to "pressed" (pressed = true), and that's where the signal will be emitted. Likewise, when you release the pressed key, this will surely emit the same signal, but now with pressed = false.
It's also totally possible to add separate signals for this:

action_pressed(action)
action_released(action)

I'd personally add two signals, but I'm being conservative with this PR to increase the chances of approval. 😃

Interesting, thank your for the explanation! I had no idea about any of that.
To be honest as someone who is not intimately familiar with the source code and just uses GDScript, and already existing Editor functionality, I find Input "states" more confusing than anything. Input Map "state" is only mentioned here  like a sidenote once. I did not feel like it played any relevant role until now, I actually did not pay any attention to it.

That said, it's also possible to rename the signal to action_toggled, and/or add action_pressed/action_released signals alongside, just like with Button class.

+1 for this approach.
IMO it makes sense to be consistent with Button, since they're conceptually the same thing, with the only difference between the two being that one is physical and the other is on a screen.
(Even though I find kind of redundant to both have a toggled and pressed/released signal available the same time, but i guess that this goes outside of this PR scope.)

Yes, I think can be renamed to action_toggled then.
The only difference with Button's toggle behavior is that if you press the button, it will remain pressed if you release key, unlike with physical keys. But it's actually not quite the same as using Input.action_press for simulation action presses: the action will remain pressed until Input.action_release is called (or a physical key is pressed/released).
But yeah, TODO: emit action_toggled signal on Input.action_press and Input.action_release as well, because this currently only works when the input event is parsed by the scene tree immdediately, or when the input event is emulated with parse_input_event().

To be honest I find the button and Input behaviour quite confusing, and from a beginner perspective unreasonably inconsistent. To my novice mind, a virtual button should not be any different than a physical key button on my keyboard or the buttons on my mouse.
Ever since I first started using Godot I wished everything just worked the same way. Like:
Properties: (used to check for states)
if $Button.is_pressed:
if $Button.is_released:
if $Button.is_toggled(bool):

if Input.is_pressed(action):
if Input.is_released(action):
if Input.is_toggled(action, bool):
if Input.is_strength(action, float):

Signals: (used to check for one_shot events)
_on_Button_pressed():
_on_Button_released():
_on_Button_toggled():

_on_Input_pressed(action):
_on_Input_released(action):
_on_Input_toggled(action):
_on_Input_strength(action, float):

Pressure sensitive Input devices are not common place (yet, aside from music and art), but maybe in future if $Button.is_strength(float) and _on_Button_strength(float) would be requested too.

This seems like a very welcome addition. I have recently been wondering why this doesn't exist as well.
Quick question: Does this allow you to set up a signal per InputAction in the Input Map (so when Move_Up: W is pressed/released, it will send a signal) or will it always send a signal whenever any InputAction is pressed/released (Whenever W, A, S, D or MouseButton1 is pressed/released)?
I often need to know when the Left Mouse Button is released, and it would be most efficient to only receive a signal when that happens, rather than when any Input is released. Either way, this already seems an infinitely better solution than filtering input through _process() or _input().

Quick question: Does this allow you to set up a signal per InputAction in the Input Map (so when Move_Up: W is pressed/released, it will send a signal) or will it always send a signal whenever any InputAction is pressed/released (Whenever W, A, S, D or MouseButton1 is pressed/released)?

If you're asking whether raw keyboard/mouse input events would emit a signal, then no, it only applies to input actions defined in the Input Map (namely, input events caught in _input() won't emit the signal in Input, because that only applies to InputEventAction events).
That said, this will emit a signal for any action indeed, currently there's no way to filter out specific actions, although this is in theory possible to implement.
The way I see it, may be actually possible to dynamically add a dedicated signal for each action in the Input Map. In fact I've come up with Input signal dispatcher which depends on functionality behind this PR:
extends Node2D

func _ready():
	for action in InputMap.get_actions():
		var args = [
			{ "action" : TYPE_STRING },
			{ "pressed" : TYPE_BOOL }
		]
		Input.add_user_signal(action, args)

	Input.connect("action_toggled", self, "_on_input_action_toggled")

func _on_input_action_toggled(action, pressed):
	Input.emit_signal(action, pressed)

You could then connect specific input actions like so (instead of general-purpose action_toggled):
func _ready():
    Input.connect("ui_accept", $AnimationPlayer, "play")

I can try and see whether it's possible to do in C++, thanks for suggestion @Arecher! 🙂

So yeah I've got it working already per action:
func _ready():
	# For any action.
	Input.action_toggled.connect(Callable(self, "_on_action_toggled"))
	# For specific actions defined in InputMap.
	Input.connect("ui_accept_pressed", Callable(self, "_on_ui_accept_pressed"))
	Input.connect("ui_accept_released", Callable(self, "_on_ui_accept_released"))

func _on_ui_accept_pressed():
	print("Pressed: ui_accept")

func _on_ui_accept_released():
	print("Released: ui_accept")

func _on_action_toggled(action, pressed):
	if pressed:
		print("Pressed (toggle): " + str(action))
	else:
		print("Released (toggle): " + str(action))

Those user-defined signals won't be reflected in the documentation, so this behavior will have to be documented in action_toggled signal description (which handles any action).

Closing as this contributor can no longer update this further.

Yet another PR that is worth continuing regardless of any issues that might have happened with this particular contributor...

@Zireael07 We can't in good conscience merge their work now even if we approve the feature, because we have to assume they don't want their code to be included in the project anymore. But if anyone is willing to salvage this work, they are more than welcome to!

we have to assume they don't want their code to be included in the project anymore

You could just ask him, he still exists.

This user has been banned from the Godot community for repeatedly breaching our Code of Conduct, so no, we're not going to ask.


ARROW-9140: [R] Zero-copy Arrow to R where possible

This makes altrep R vectors of type INTSXP or REALSXP from arrow::Array of type Int32Type /  DoubleType that don't have any nulls:
the altrep vector holds an external pointer so that the Array stays around, and its payload is shared. The R vector is marked as not mutable.
library(arrow, warn.conflicts = FALSE)
#> See arrow_info() for available features

create a “big” arrow Array with no nulls (just for testing purposes)
a <- arrow:::Test_array_nonull_dbl_vector(1e7)

turn into R vector, using altrep, sharing the payload
v <- a$as_vector()

verify it’s an altrep with the inspect method
.Internal(inspect(v))
#> @7f9abf8ba470 14 REALSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, double, NONULL> (len=10000000, ptr=0x7f9ab5c8cd18)

it’s marked as not mutable so check that modify -> duplicate
v[1] <- 0
#> Duplicate
.Internal(inspect(v))
#> @7f9ac0000000 14 REALSXP g1c7 [MARK,REF(1)] (len=10000000, tl=0) 0,42,42,42,42,...

timings for double vector
bench::workout({
  a <- arrow:::Test_array_nonull_dbl_vector(1e7)
  v <- a$as_vector()
  .Internal(inspect(v))
  v[1] <- 0
  .Internal(inspect(v))
})
#> @7f9abc122190 14 REALSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, double, NONULL> (len=10000000, ptr=0x7f9aba2109c8)
#> Duplicate
#> @7f9aa5c00000 14 REALSXP g1c7 [MARK,REF(1)] (len=10000000, tl=0) 0,42,42,42,42,...
#> # A tibble: 5 x 3
#>   exprs                                             process     real
#>   <bch:expr>                                       <bch:tm> <bch:tm>
#> 1 a <- arrow:::Test_array_nonull_dbl_vector(1e+07)   70.3ms   70.6ms
#> 2 v <- a$as_vector()                                   13µs   14.3µs
#> 3 .Internal(inspect(v))                                12µs   11.9µs

when a copy is needed, the data is copied entirely:
#> 4 v[1] <- 0                                          53.1ms   53.2ms
#> 5 .Internal(inspect(v))                                20µs   22.6µs

timings for integer vector
bench::workout({
  a <- arrow:::Test_array_nonull_int_vector(1e7)
  v <- a$as_vector()
  .Internal(inspect(v))
  v[1] <- 0
  .Internal(inspect(v))
})
#> @7f9abc5bd780 13 INTSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, int32, NONULL> (len=10000000, ptr=0x7f9ab8997378)
#> @7f9ac0000000 14 REALSXP g1c7 [MARK,REF(1)] (len=10000000, tl=0) 0,42,42,42,42,...
#> # A tibble: 5 x 3
#>   exprs                                             process     real
#>   <bch:expr>                                       <bch:tm> <bch:tm>
#> 1 a <- arrow:::Test_array_nonull_int_vector(1e+07)   54.5ms   54.7ms
#> 2 v <- a$as_vector()                                   12µs   13.2µs
#> 3 .Internal(inspect(v))                                11µs   11.3µs
#> 4 v[1] <- 0                                         851.4ms  854.6ms
#> 5 .Internal(inspect(v))                                17µs   18.8µs

Created on 2021-06-08 by the reprex package (v2.0.0)

An interesting side benefit from this is that we don't get altrep R vectors from slices:
library(arrow, warn.conflicts = FALSE)
#> See arrow_info() for available features

x <- 1:1e3+ 1L
v <- Array$create(x)
x1 <- v$as_vector()
.Internal(inspect(x1))
#> @7face1b4ba18 13 INTSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, int32, NONULL> (len=1000, ptr=0x7facdc27e998)

x2 <- v$Slice(500)$as_vector()
.Internal(inspect(x2))
#> @7facde2bfd80 13 INTSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, int32, NONULL> (len=500, ptr=0x7facdb0a2198)

Created on 2021-06-08 by the reprex package (v2.0.0)

@nealrichardson I've turned off making INT64 arrays with no nulls into altrep bit64::integer64 vectors (i.e. reusing the payload of the array as the data of the underlying double array in R ...) because of the auto downcasting to int vectors when it fits:
library(arrow, warn.conflicts = FALSE)

i64 <- Array$create(bit64::as.integer64(1:10))
.Internal(inspect(as.vector(i64)))
#> @7ff0b2099c38 13 INTSXP g0c4 [REF(2)] (len=10, tl=0) 1,2,3,4,5,...

Created on 2021-06-08 by the reprex package (v2.0.0)
I can altogether remove the int64 altrep code if needed ... ?

This is super cool. We should get some benchmarking on this.
Tangentially related, should we have an options(arrow.altrep) or something to govern whether to use ALTREP? I know vroom has a function argument to enable or disable it (though I don't know why exactly). Might be useful to have in case there are unforeseen issues, or if nothing else it would make it easy for people to test side-by-side the performance.

Interesting, we could make that opt-in. For now it's all happening here so would be easy enough to make conditional:
// [[arrow::export]]
SEXP Array__as_vector(const std::shared_ptr<arrow::Array>& array) {
  auto type = array->type();

#if defined(HAS_ALTREP)
  if (array->null_count() == 0) {
    switch (type->id()) {
      case arrow::Type::DOUBLE:
        return arrow::r::Make_array_nonull_dbl_vector(array);
      case arrow::Type::INT32:
        return arrow::r::Make_array_nonull_int_vector(array);
        // case arrow::Type::INT64:
        //   return arrow::r::Make_array_nonull_int64_vector(array);

      default:
        break;
    }
  }
#endif

  return arrow::r::ArrayVector__as_vector(array->length(), type, {array});
}

Cool, so that would just be if(GetBoolOption("arrow.altrep", true) && array->null_count() == 0)

I've used arrow.use_altrep but I can use arrow.altrep all the same.
I've put GetBoolOption("arrow.altrep", true) after the array->null_count() == 0 because it's cheaper to call null_count().
GetBoolOption("arrow.altrep", true) means that this is opt-out, I'm fine with this but it might be risky.

I've used arrow.use_altrep but I can use arrow.altrep all the same.

SGTM

I've put GetBoolOption("arrow.altrep", true) after the array->null_count() == 0 because it's cheaper to call null_count().

That surprises me, I'd expect that checking an R boolean would be faster than counting nulls in a (potentially long) array.

GetBoolOption("arrow.altrep", true) means that this is opt-out, I'm fine with this but it might be risky.

I think defaulting to ALTREP on is good (particularly if/when we quantify its benefits) but leaving an escape hatch in case of error is nice.

@jonkeane we might be able to deal with a fake ChunkedArrray that has only one array, but otherwise we can't use the same trick with general (more than 1 array) case, because by construction the payload of these arrays is not contiguous, which is what we leverage here.
I believe this can be a follow up pull request with some altrep vectors to wrap chunked arrays, and arrays with nulls. Implementation will be different, e.g. the DATAPTR() will cause materialization (and so be expensive) but for things that are altrep aware and know how to iterate by region, we might be able to only materialize regions as needed.

That sounds good. The faked ChunkedArray with one chunk might be (surprisingly) beneficial, at least in (some? see below) parquet reading situations.
With csv reading, we frequently (with sufficiently large csvs) get multiple chunks, but I've tried reading parquet a few times to get a table with chunked arrays where there are more than one chunk and haven't so far seen it happen. I need to dig more into the parquet reading source code to see if it is ever possible to get more-than-1-chunks-ChunkedArrays from reading a parquet.
tab <- Table$create(x = 1:100)
tf <- tempfile(); on.exit(unlink(tf))
write_parquet(tab, tf, chunk_size = 10)
read_tab <- read_parquet(tf, as_data_frame = FALSE)
read_tab[[1]]$num_chunks

I'll see if I can squeeze in converting chunked arrays with only one chunk into altrep vectors

library(arrow, warn.conflicts = FALSE)
#> See arrow_info() for available features

c_int <- ChunkedArray$create(1:1000)
c_dbl <- ChunkedArray$create(as.numeric(1:1000))
c_int$num_chunks
#> [1] 1
c_dbl$num_chunks
#> [1] 1
.Internal(inspect(as.vector(c_int)))
#> @7fc1314ce2a8 13 INTSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, int32, NONULL> (len=1000, ptr=0x7fc1274a0408)
.Internal(inspect(as.vector(c_dbl)))
#> @7fc131528a90 14 REALSXP g0c0 [REF(65535)] std::shared_ptr<arrow::Array, double, NONULL> (len=1000, ptr=0x7fc12b2b5178)

Created on 2021-06-18 by the reprex package (v<IP_ADDRESS>00)
I think I'll deal with this https://issues.apache.org/jira/browse/ARROW-13114?filter=-1 here as well, and then do a follow up for using RTasks (i.e. https://issues.apache.org/jira/browse/ARROW-13113).

Actually, I now think it is better to do the RTasks thing first https://issues.apache.org/jira/browse/ARROW-13113 and then rework RecordBatch__to_dataframe() and Table__to_dataframe()

I'm not sure why we get this: https://github.com/apache/arrow/pull/10445/checks?check_run_id=2858594249#step:8:2641

I'm not sure why we get this: https://github.com/apache/arrow/pull/10445/checks?check_run_id=2858594249#step:8:2641

Looks like linking the arrow binding failed. There's a cpp11 symbol missing
https://github.com/apache/arrow/pull/10445/checks?check_run_id=2858594151#step:9:5579

@nealrichardson I believe this is ready to go


Improvements to CMake + Introduction of CPack based packages

Base branch : develop (Right after the 2.3.0-alpha release)
This PR introduces significant enhancements to the CMake infrastructure of lib3mf, detailed as follows:

CMake Configuration: It adds a valid CMake configuration file, lib3mfConfig.cmake, enabling the inclusion of lib3mf as a standard CMake-based C++ library.
CPack Integration: The integration of CPack simplifies the structure of SDK package, which, though comprehensive, previously required additional steps like defining libraries and manually including header paths. With the use of the lib3mfConfig.cmake file, CPack facilitates the generation of CMake packages, including ready-to-install packages for Windows, Linux, and OSX, along with Debian and RPM packages for direct installation on the respective operating systems.
VCPKG Foundation: This update sets the groundwork for VCPKG integration, aiming to achieve a VCPKG deployment of lib3mf, which was a primary motivation behind the CMake improvements.

This all looks great!
Tested on windows the CppNew and CPPDynamic new.
CPPDynamic works out of the box.
The CppNew example's CMakeList does not yet take care of copying over the shared library.
We will need to clearly define what the role of the old sdk will be in the future, and how the examples are made available.

I think so. That would make the example run out of the box.


problem to setup HA menu

Hi,
I follower wiki instruction but I don't see any switches and I think there is some problem with connection to my HA instance.
this is UI of HA Menu:

and this is my troubleshooting output:
$ curl -i https://danielevelardi.duckdns.org:8123 -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjNDdiMjRlZGFjODE0MDQ2YWUxYzc4NTZmNjE2MGI0ZCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 3086
Date: Fri, 22 Nov 2019 08:16:53 GMT
Server: Python/3.7 aiohttp/3.6.1
Home Assistant

Related to issue #24
I can now replicate the issue but this is going to take some time.

I found that adding a trailing slash in preferences causes this.  Ensure your server is
http://yourip:8123 only
Added a fix in version 1.6

I have some problem to see output of HA menu:

and some other times I see this error:

I'll have to attend time adding a lot more error handling in this to be able to easily diagnose what issue your having rather than just guessing. I'll work on a new version next week.

Hi,
I update to v.1.7; this is the result:

please re-open this ticket; I'm unable to do it!

That indicates an incorrect URL, see you are using duckdns. Try your direct ip to start with.

I'm seeing the same problem, using my duckdns OR internal ip
http://192.168.xx.54:8123
https://xxxxxxxxxxx.duckdns.org

When pasting those 2 url's in browser

Also when clicking on  Open Home Assistant I get redirected to a login page

I'm on v1.7(7)

That would indicate there's something wrong with the data returned from the API.  The proper curl statement to test the API is as follows.
curl -i http://YOURIP:8123**/api/states** -H "Authorization: Bearer YOURTOKEN" > apitest.txt
This will save the output to a file in your current folder (usually user home folder if new terminal).
That should return json which is in the following structure
https://developers.home-assistant.io/docs/en/external_api_rest.html#get-apistates
Whilst this data probably contains lots of information you won't want to share, if HA is returning something odd in this then that will trip up the parser. If you can save this, obscure sensitive stuff and share then I can read through and try and spot something.

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 411991
Date: Tue, 26 Nov 2019 10:49:26 GMT
Server: Python/3.7 aiohttp/3.6.1

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 411991
Date: Tue, 26 Nov 2019 10:49:26 GMT
Server: Python/3.7 aiohttp/3.6.1

There should be a LOT more than that returned, it's basically acknowledging the API call but returning nothing about state.
I've never seen this not enabled by default but trying adding the API component to configuration.yml
https://www.home-assistant.io/integrations/api

Yes there is a lot more... too much to search for sensitive stuff

if you let me know what to look for.....

Unfortunately the parser has to work through everything, so if something is wrong with an element I'm not even interested in it could still trip it up.
email is<EMAIL_ADDRESS>if you deem it non-sensitive enough to share directly.  It does not contain connection details/secrets, only the names/states of devices.

I've mailed you the .txt file

I've mailed you the .txt file

Thanks, just received.  That's exactly the type of data I'm expecting to be returned so connection URL and token are working fine.
I'll run that data manually through the parser when I'm at home tonight and see what error it throws.
Pretty sure I'll be able to diagnose this weird issue now.

Having that sample data made it trivial to track this down.
V1.8 just released should hopefully finally fix this.
I'll await feedback before closing.

I can confirm v1.8 is working for me

Chiming in another confirmation here too! Thanks @andrew-codechimp

Thanks for confirmations and sticking with this.  My HA instance isn't as complex as others it seems and I'm still learning a lot.  It's taught me a lot solving this one and made the app more defensive/cleaner in the process.

Hi,
I can confirm v1.8 solve all my problems.
thanks


API enhancements

Fix wrong example code
Make types and actor accessible

Oh, I guess I made a few changes in my PR that were present here. I thought I saw some docs examples being fixed, I think I forgot it was a different PR and was on a sea of catching up so it was hard to keep track and keep everything in my mind, sorry about that. I guess this PR needs some renaming and updating the description. Also, tests are failing :(

It wasn't much work, not a problem ;)
Updated description


Filter for isPublished in Admin UI

Sometimes it would be nice if we could filter for only published events in the Admin UI (where events with only the internal publication would not count), e.g. for trying to find scheduled events with live publications, or only published processed events. The Admin UI shows this information, but you can't filter for it currently.

I like that. Currently, I sort by the publication column to group published events.


include-component-in-tag is ignored by action

`### TL;DR
I have a release-please.config.json with include-component-in-tag: false this setting seems to be ignored by the CI action I have configured.
When testing with the CLI I saw that the include-component-in-tag setting was correctly being used.
Expected behavior
Diff links to use tags in the form of v{{SemVer}}
Observed behavior
dif links use tags with a component name of root despite configuration: https://github.com/microsoftgraph/microsoft-graph-toolkit/pull/2611/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edR5
Action YAML
on:
  push:
    branches:
      - main
permissions:
  contents: write
  pull-requests: write

name: Run Release Please
jobs:
  release-please:
    runs-on: ubuntu-latest
    steps:
      - name: Use Node.js 16.x
        uses: actions/setup-node@v1
        with:
          node-version: 16.x
          registry-url: 'https://registry.npmjs.org'
      - uses: google-github-actions/release-please-action@v2
        id: release
        with:
          command: manifest
          token: ${{secrets.RELEASE_PLEASE_TOKEN}}
          default-branch: main

Log output
https://github.com/microsoftgraph/microsoft-graph-toolkit/actions/runs/5582290651/jobs/10201416239

Additional information
.release-please-manifest.json
release-please-config.json

Closing this as setting the action to use version 3 solved the issue.
Sidenote, there's some docs that are still using @v2 which is where I went wrong


Adding new library to console doesn't work

Hey
We're new to jsbin. Trying to add Tangle.js as a new library on browser console, got stuck! Can anyone tell us where we're going wrong?
var mylib = {
text: 'Tangle',
scripts: [
{ text: 'Tangle.js', url: 'http://worrydream.com/Tangle/Tangle.js' }
]
}; // the "My Library" object above
libraries.add(mylib);

Your code works fine overhere (JSBin v3.35.13,  Firefox 47). Do you care to elaborate on the symptoms regarding your stuckiness?

@cazaraghi did you do this in your browser's native console?


[DOCS][MINOR] Remove events banner

Change Logs
remove event banner
Impact
site changes
Risk level (write none, low medium or high below)
none
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Removing the event banner of a previous event.

Tested locally to verify that no event banner is displayed.


Release GeoJSON plugin

Initial version.

The plugin is now on Maven Central: https://repo1.maven.org/maven2/com/mapbox/mapboxsdk/mapbox-android-plugin-geojson/0.1.0/
Thank you again for your contribution, @bkhezry!
cc: @langsmith For help bringing docs up on the site.

I'm so happy with this, @zugaldia
You're welcome :-)


Don't strip px values from some CSS values

This PR stops px being stripped from some CSS values, as this changes the meaning of the value. For example, a numeric value specified for line-height without a unit multiplies by the element's font-size, which is not the same behaviour. For font-size, the specification does not say what would happen if you remove the unit.
Removing units is really only permitted for 0 lengths, so if this behaviour should be removed altogether?
I've also added some (now deprecated but still used) HTML attributes that have to be converted to numbers to satisfy React types.

The added attributes are good, I did not use the React types as a resource for creating the number attributes list IIRC.

Good catch on the stripped CSS values, I did not think about that. The behavior could definitely be removed all together, but I think the code it produces is more desirable.
Most React code I see uses numbers instead of strings for inline styles. At least I'd rather have numbers in my code, so I think if it would always spit out strings with the CSS unit some people would go ahead and convert them into numbers manually, which would be rather annoying.
So if you agree I'd rather merge this as you currently propose, and not remove the number conversion for all properties.

I'm happy to go with it as is, and if i find any others I'll add them. I do think it should be reviewed though for common properties, as the behavior does not seem to be well defined.

I did a quick check on some other common CSS properties - they don't specify what happens when the unit is unspecified, so please merge when it is convenient.

Is there any reason for adding font-size to the list of styles where the px is preserved? It does not seem to accept relative values like line-height, if I understand the MDN docs right.

Good point, font-size should probably be left off, I'll remove this.
From this list of properties that accept unitless values, I will add border-width, flex, flex-basis, mask-border-outset, 'mask-box-outset, mask-border-width` as they all accept unitless and/or length values.

I've created #3 for the above purpose


Preloader Disappears Too Quickly – Increase Display Time

The current duration of the preloader is too short, which causes issues with users noticing or understanding that loading is in progress. To improve user experience, I propose increasing the preloader time.
https://github.com/user-attachments/assets/565750e5-8c1b-4af1-b09e-1f95edc0cd39

I think that, increasing loading time will irritate users.
So this feature is not needed


github: workflows: Add manifest workflow

Add a manifest workflow to detect when a pull request is referencing a west module pull request through the west manifest.

@asmellby @jerome-pouiller it seems like we can't actually enable this until we have an automated account whose credentials (GITHUB_TOKEN) the workflow can use. This is needed since the workflow needs an account to post comments to the pull request in question.
In the case of upstream Zephyr such an account is https://github.com/zephyrbot (take a look at e.g. https://github.com/zephyrproject-rtos/zephyr/pull/79859#issuecomment-2413647563). In the case of NCS it's https://github.com/NordicBuilder (take a look at e.g. https://github.com/nrfconnect/sdk-nrf/pull/17901#issuecomment-2413653695).
@silabs-Tabi do you if it's possible to get such automated accounts for the SiliconLabsSoftware organization?


Science fiction tag shows no results

Currently, https://standardebooks.org/tags/science-fiction yields no results. This is the url that the tags link on book pages uses. Other tags work fine. I suspect this is because science fiction is the only two word tag.
Also, https://standardebooks.org/tags/science+fiction (changing the - to a + in the tag name) seems to work.

This should be fixed now!


Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Other
Brief description of your issue
I am trying to update the manfiest for Kingston.SSDManager to <IP_ADDRESS> using wingetcreate. Wingetcreate successfully created the new manifest files without issues. winget install --manifest <path> works, winget install --manifest <path> -h works (assume I uninstalled the software manually before the silent test) , but winget uninstall --manifest <path> fails with the error message:
Found Kingston SSD Manager x64 [Kingston.SSDManager]
No installed package found matching input criteria.

Steps to reproduce
Below is my install manifest file:
# Created using wingetcreate <IP_ADDRESS>
# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.4.0.schema.json

PackageIdentifier: Kingston.SSDManager
PackageVersion: <IP_ADDRESS>
InstallerLocale: en-US
InstallerSwitches:
  Silent: /VERYSILENT
  Custom: /NORESTART
UpgradeBehavior: install
Commands:
- KSM
Installers:
- Architecture: x86
  InstallerType: inno
  InstallerUrl: https://media.kingston.com/support/downloads/KSM_setup_<IP_ADDRESS>.exe
  InstallerSha256: B3A154A488552C17B22421E9F5B3F9E6210491775276824B717D678F8673A42A
# I added the below to see if it would help winget "discover" the uninstaller for the application, but was of no help
  AppsAndFeaturesEntries:
    - DisplayName: Kingston SSD Manager x64 <IP_ADDRESS>
# end of addition
ManifestType: installer
ManifestVersion: 1.4.0

Below is the command I am running in powershell 5.1 in the same folder as the manifest files (doesn't matter if unprivileged or if as administrator):
winget uninstall --manifest $pwd.path
Actual behavior
winget creates the following output:
Found Kingston SSD Manager x64 [Kingston.SSDManager]
No installed package found matching input criteria.

Expected behavior
Expected behavior is that winget should uninstall the application per the entry in programs and features.
I would also like to the see the manifest spec(s) updated with some explicit instructions to manifest maintainers on how uninstalls are done. Right now there's 0 hits for "uninstall" or "remove" in the installer manifest spec (version 1.4.0). There is productcode but that's only helpful for MSI installers.
Environment
Windows Package Manager v1.5.1881
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.3208
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.20.1881.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

Screenshots and Logs
2023-08-04 14:12:54.067 [CORE] WinGet, version [1.5.1881], activity [{3700F294-01EA-4CE1-9C6D-16791946564D}]
2023-08-04 14:12:54.068 [CORE] OS: Windows.Desktop v10.0.19045.3208
2023-08-04 14:12:54.068 [CORE] Command line Args: "C:\Users\REDACTED\AppData\Local\Microsoft\WindowsApps\winget.exe" uninstall --manifest C:\Users\REDACTED\manifests\k\Kingston\SSDManager\<IP_ADDRESS>
2023-08-04 14:12:54.068 [CORE] Package: Microsoft.DesktopAppInstaller v1.20.1881.0
2023-08-04 14:12:54.068 [CORE] IsCOMCall:0; Caller: winget-cli
2023-08-04 14:12:54.074 [CLI ] WinGet invoked with arguments: 'uninstall' '--manifest' 'C:\Users\REDACTED\manifests\k\Kingston\SSDManager\<IP_ADDRESS>'
2023-08-04 14:12:54.075 [CLI ] Found subcommand: uninstall
2023-08-04 14:12:54.075 [CLI ] Leaf command to execute: root:uninstall
2023-08-04 14:12:54.078 [CLI ] Executing command: uninstall
2023-08-04 14:12:54.080 [REPO] Default source requested, multiple sources available, adding all to source references.
2023-08-04 14:12:54.080 [REPO] Adding to source references msstore
2023-08-04 14:12:54.080 [REPO] Adding to source references winget
2023-08-04 14:12:54.080 [REPO] Multiple sources available, creating aggregated source.
2023-08-04 14:12:54.080 [REPO] Adding to aggregated source: msstore
2023-08-04 14:12:54.080 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2023-08-04 14:12:54.381 [REPO] Response status: 200
2023-08-04 14:12:54.381 [REPO] Sending http GET request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/information
2023-08-04 14:12:54.439 [REPO] Response status: 200
2023-08-04 14:12:54.439 [REPO] Adding to aggregated source: winget
2023-08-04 14:12:54.453 [CORE] Examining extension: PFN = Microsoft.Winget.Source_8wekyb3d8bbwe, ID = IndexDB
2023-08-04 14:12:54.453 [CORE] Found matching extension.
2023-08-04 14:12:54.475 [REPO] Opening SQLite Index for ImmutableRead at 'C:\Program Files\WindowsApps\Microsoft.Winget.Source_2023.804.1947.635_neutral__8wekyb3d8bbwe\Public\index.db'
2023-08-04 14:12:54.475 [SQL ] Opening SQLite connection #1: 'C:\Program Files\WindowsApps\Microsoft.Winget.Source_2023.804.1947.635_neutral__8wekyb3d8bbwe\Public\index.db' [1, 40]
2023-08-04 14:12:54.476 [REPO] Opened SQLite Index with version [1.6], last write [2023-08-04 13:46:46.000]
2023-08-04 14:12:54.705 [REPO] Creating PredefinedInstalledSource with filter [None]
2023-08-04 14:12:54.705 [REPO] Creating new SQLite Index with version [Latest] at ':memory:'
2023-08-04 14:12:54.705 [SQL ] Opening SQLite connection #2: ':memory:' [6, 0]
2023-08-04 14:12:54.753 [REPO] Reading MSI UpgradeCodes
2023-08-04 14:12:54.755 [REPO] Examining ARP entries for Machine | X64
2023-08-04 14:12:54.788 [REPO] Examining ARP entries for Machine | X86
2023-08-04 14:12:54.811 [REPO] Reading MSI UpgradeCodes
2023-08-04 14:12:54.812 [REPO] Examining ARP entries for User | X64
2023-08-04 14:12:55.063 [CLI ] Manifest fields: Name [Kingston SSD Manager x64], Version [<IP_ADDRESS>]
2023-08-04 14:12:55.083 [REPO] Opening SQLite Index for ReadWrite at 'C:\Users\REDACTED\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\StoreEdgeFD\installed.db'
2023-08-04 14:12:55.083 [SQL ] Opening SQLite connection #3: 'C:\Users\REDACTED\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\StoreEdgeFD\installed.db' [2, 0]
2023-08-04 14:12:55.084 [REPO] Opened SQLite Index with version [1.6], last write [2023-05-14 11:47:50.000]
2023-08-04 14:12:55.129 [REPO] Sending http POST request to: https://storeedgefd.dsx.mp.microsoft.com/v9.0/manifestSearch
2023-08-04 14:12:55.189 [REPO] Response status: 200
2023-08-04 14:12:55.196 [REPO] Opening SQLite Index for ReadWrite at 'C:\Users\REDACTED\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Microsoft.Winget.Source_8wekyb3d8bbwe\installed.db'
2023-08-04 14:12:55.196 [SQL ] Opening SQLite connection #4: 'C:\Users\REDACTED\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Microsoft.Winget.Source_8wekyb3d8bbwe\installed.db' [2, 0]
2023-08-04 14:12:55.197 [REPO] Opened SQLite Index with version [1.6], last write [2023-08-04 13:40:17.000]
2023-08-04 14:12:55.254 [REPO] Downloading manifest
2023-08-04 14:12:55.254 [CORE] WinINet downloading from url: https://cdn.winget.microsoft.com/cache/manifests/k/Kingston/SSDManager/<IP_ADDRESS>/5a5a-Kingston.SSDManager.yaml
2023-08-04 14:12:55.268 [CORE] Download hash: c2c44a49e531255136a4161cbb23c62c5c6f72ea7ee7ae400d16bb6667bf03fd
2023-08-04 14:12:55.268 [CORE] Download completed.
2023-08-04 14:12:55.272 [REPO] Downloading manifest
2023-08-04 14:12:55.272 [CORE] WinINet downloading from url: https://cdn.winget.microsoft.com/cache/manifests/k/Kingston/SSDManager/<IP_ADDRESS>/5a5a-Kingston.SSDManager.yaml
2023-08-04 14:12:55.273 [CORE] Download hash: 00542c29be848ae68f0a341209381de811d6662485bbb75ced0e77c57045d0d3
2023-08-04 14:12:55.273 [CORE] Download completed.
2023-08-04 14:12:55.276 [REPO] Downloading manifest
2023-08-04 14:12:55.276 [CORE] WinINet downloading from url: https://cdn.winget.microsoft.com/cache/manifests/k/Kingston/SSDManager/<IP_ADDRESS>/5a5a-Kingston.SSDManager.yaml
2023-08-04 14:12:55.277 [CORE] Download hash: 1e638c8c58215af9d0b111f0b0bf9653615a7f6a44b4718dac30162c1bf3bb19
2023-08-04 14:12:55.277 [CORE] Download completed.
2023-08-04 14:12:55.277 [REPO] Finding installed package from available package using system reference search: Query:[none] Include:NormalizedNameAndPublisher='kingston ssd manager x64'+'kingston technology company, inc'[Exact] Include:NormalizedNameAndPublisher='kingston ssd manager x64'+'kingston technology company, inc.'[Exact] Include:NormalizedNameAndPublisher='kingstonssdmanager'+'kingstontechnology'[Exact]
2023-08-04 14:12:55.278 [CLI ] No app found matching input criteria
2023-08-04 14:12:55.279 [CLI ] Terminating context: 0x8a150014 at D:\a\_work\1\s\external\pkg\src\AppInstallerCLICore\Workflows\WorkflowBase.cpp:395

If it helps, here's the registry data after a successful installation:
HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{53F657CD-C4FC-4DCD-826E-6862917532AC}_is1

DisplayIcon                  : C:\Program Files\Kingston_SSD_Manager\KSM_Gen15.exe
DisplayName                  : Kingston SSD Manager x64 <IP_ADDRESS>
DisplayVersion               : <IP_ADDRESS>
EstimatedSize                : 130548
HelpLink                     : http://www.kingston.com/us/support/technical
Inno Setup: App Path         : C:\Program Files\Kingston_SSD_Manager
Inno Setup: Deselected Tasks : desktopicon
Inno Setup: Icon Group       : Kingston SSD Manager x64
Inno Setup: Language         : english
Inno Setup: Selected Tasks   :
Inno Setup: Setup Version    : 6.2.0
Inno Setup: User             : REDACTED
InstallDate                  : 20230804
InstallLocation              : C:\Program Files\Kingston_SSD_Manager\
MajorVersion                 : 1
MinorVersion                 : 5
NoModify                     : 1
NoRepair                     : 1
Publisher                    : @2021 Kingston Digital, Inc.
QuietUninstallString         : "C:\Program Files\Kingston_SSD_Manager\unins000.exe" /SILENT
URLInfoAbout                 : http://www.kingston.com/us/support/technical
URLUpdateInfo                : http://www.kingston.com/us/support/technical
UninstallString              : "C:\Program Files\Kingston_SSD_Manager\unins000.exe"
VersionMajor                 : 1
VersionMinor                 : 5

Try adding `ProductCode: '{53F657CD-C4FC-4DCD-826E-6862917532AC}_is1' and removing the AppsAndFeaturesEntries

Try adding ProductCode: '{53F657CD-C4FC-4DCD-826E-6862917532AC}_is1' and removing the AppsAndFeaturesEntries

This was successful, thanks! That wasn't immediately intuitive, I didn't know it would support that little "tumor" on the end of the code.
PR #115325.


piVPN and OctoPi - anybody able to run both on one raspberry?

warning, linux noob over here
i have flashed the SD for my Pi 3 with Octopi (3d printer monitoring software - http://octoprint.org/download/) which is a raspian based image and it works great, can remotely log into Octoprint on my network which was the goal. Now when i try run the bash on http://www.pivpn.io to set up a pi as a vpn server as well I get "installation successful" however, whenever i try opening any pivpn commands i received 'directory not found' or 'command not found' when i try to run it via ssh on Terminal.
http://imgur.com/a/NXtez
Then when i go to re-install piVPN i notice a few errors pop up (shown below) as soon as a i run the installation. can anyone help me in determining where ive gone wrong in the installation process? All the youtube tutorials show it to be super simple process and ive triple checked the way they have been doing it but im not getting anywhere. Im suspecting it has something to do with the fact i have it flashed with OctoPi first but i have been told both could work on the same SD.
pi@octopi:/opt/pivpn $ sudo bash -c "$(curl -fsSL https://install.pivpn.io)";
:::
::: You are root.
::: Verifying free disk space...
:::
::: Checking apt-get for upgraded packages.... done!
:::
::: Your system is up to date! Continuing with PiVPN installation...
::: Static IP already configured.

:::
::: Checking for existing base files...
:::    Checking /etc/.pivpn is a repo...:::    Cloning https://github.com/pivpn/pivpn.git into /etc/.pivpn... done!
:::
::: Installing scripts to /opt/pivpn...cp: cannot stat ‘/etc/.pivpn/scripts/makeOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/clientStat.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/listOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/removeOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/uninstall.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/pivpnDebug.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/fix_iptables.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/makeOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/clientStat.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/listOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/removeOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/uninstall.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/pivpnDebug.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/fix_iptables.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/pivpn’: No such file or directory
chmod: cannot access ‘/usr/local/bin/pivpn’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/bash-completion’: No such file or directory
bash: line 409: /etc/bash_completion.d/pivpn: No such file or directory
done.

Sorry for keeping you here without any feedback.do you still have this issue?
As far as I could understand, octopi just run on top of raspbian // debian // ubuntu, so theoretically PiVPN script should work in harmony and have a happy life with octopi.
the error you provide it makes me think that the script failed to create /opt/pivpn/ directory for some reason ... have you tried to re-run the OpenVPN Install script?

Hi, thank you for your reply.
Still have my issue and have tried again and again but still no issue (same issue as before). No matter how careful i am for some reason when i first execute the script, looking in the log it comes up with all those errors shown in the original post.
I have tried posting the issue on Reddit (link here) and someone has said the following which should fix it but i have no idea what it means:
_"Did the installer warn you for a "maybe support" of the host OS? Seems as it has some weird codename checks.
The installer script seemed to have installed some rules into /etc/dhcpd.conf and it seems to only work with static addresses.
Also, check out /opt/pivpn. There are some tools there, like pivpnDebug.sh which seems to be a debug mode for the software.
cd /opt/pivpn;
./pivpnDebug.sh;
pivpn itself should be located at /usr/local/bin/pivpn. If that's not the case you probably missed the sudo before the installer or so."_

definitely, there's something is going wrong there!
Can you try to run the script with the real root user instead of a user that has to sudo in order to scale privileges? ( assuming that you have not did this )
Since I don't have a spare pi right know to test this (planning to get one soon), can you please provide me the output of:
lsb_release
and
cat /etc/os-release
I will try to take it from there ...

i am trying to run the script now as root (even though i think i already tried by typing the command sudo -s and running the script).
heres the output for your commands:
root@octopi:/home/pi# lsb_release
No LSB modules are available.
root@octopi:/home/pi# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
root@octopi:/home/pi#

Update: running the script in root doesnt look great as well! :')
root@octopi:/home/pi# curl -L https://install.pivpn.io | bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0    126      0  0:00:01  0:00:01 --:--:--   126
:::
::: You are root.
100 43750  100 43750    0     0  21246      0  0:00:02  0:00:02 --:--:-- 21246
::: Verifying free disk space...
:::
::: apt-get update has not been run today. Running now... done!
:::
::: Checking apt-get for upgraded packages.... done!
:::
::: There are 17 updates available for your system!
::: We recommend you update your OS after installing PiVPN!
:::
::: Static IP already configured.
::: Using User: leaving blank
:::
::: Stopping OpenVPN service... done.
:::
::: Checking for existing base files...
:::    Checking /etc/.pivpn is a repo...:::    Cloning https://github.com/pivpn/pivpn.git into /etc/.pivpn... done!
:::
::: Installing scripts to /opt/pivpn...cp: cannot stat ‘/etc/.pivpn/scripts/makeOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/clientStat.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/listOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/removeOVPN.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/uninstall.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/pivpnDebug.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/fix_iptables.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/makeOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/clientStat.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/listOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/removeOVPN.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/uninstall.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/pivpnDebug.sh’: No such file or directory
chmod: cannot access ‘/opt/pivpn/fix_iptables.sh’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/pivpn’: No such file or directory
chmod: cannot access ‘/usr/local/bin/pivpn’: No such file or directory
cp: cannot stat ‘/etc/.pivpn/scripts/bash-completion’: No such file or directory
bash: line 410: /etc/bash_completion.d/pivpn: No such file or directory
done.
::: Using protocol: udp
::: Building CA...
Generating a 2048 bit RSA private key
................+++
........................+++
writing new private key to '/etc/openvpn/easy-rsa/pki/private/ca.key.Sz9IzGGd43'
::: CA Complete.

ls -la /etc/ | grep .pivpn
and tell me if that dir exists, please.

root@octopi:/home/pi# ls -la /etc/ | grep .pivpn
drwxr-xr-x  2 root root    4096 Jun 18 11:47 pivpn
root@octopi:/home/pi#

there we go!
For some reason .pivpn is not being created ... before trying any workaround, I would like to try to understand where is the script failing.
Since that folder is created with git when the script clones the git repo into /etc/.pivpn, it makes sense that you git is failing to install and the script fails to detect it!
@0-kaladin @redfast00  am i right? it seems that the script consistently fails to detect a failure in dependencies installation ... it is not the first time that I see this here ... any solution for this?
Please try to install git manually and provide me the output.
sudo apt-get install git

Hi this is the output for that command (tried with both normal and root user):
pi@octopi:~ $ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 24 not upgraded.
pi@octopi:~ $ sudo -s
root@octopi:/home/pi# sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 24 not upgraded.

Ok so seems that everything is fine with Git ...
Let's try to create the .pivpn dir ourselves ...
please do:
sudo git clone https://github.com/pivpn/pivpn.git /etc/.pivpn
if everything goes without any errors, ty to install pivpn again.
I Have now an rpi where I can make some tests when I have some time I will try to install octopi and see if the same error happens to me also.

Thanks for replying, octoprint does not seem to like that command:
oot@octopi:/home/pi# sudo git clone https://github.com/pivpn/pivpn.git /etc/.pivpn
Please run git without sudo, your regular user account is enough :)
root@octopi:/home/pi# git clone https://github.com/pivpn/pivpn.git /etc/.pivpn
Please run git without sudo, your regular user account is enough :)
Some quick Reddit search indicates that Octoprint prevents that command:
https://www.reddit.com/r/pihole/comments/5mheaj/trouble_with_automated_installer/?st=J4HH036O&sh=33b6a0ae
That error is usually seen with OctoPrint. Are you using that disribution? You need to contact OctoPrint and ask them to please unblock git from being used as it was intended.

try with regular user pls ... however it  might not succeed since regular user probably cant write to /etc/ but worth trying.
It might be a octoprint related issue ... if it doesnt work we can also work around it like this
with a regular user:
cd ~/ && git clone https://github.com/pivpn/pivpn.git
Now escalate your privileges with sudo or become root ( vhoose your prefered method)
and then:
cd ~/<regularuser> && mv pivpn /etc/.pivpn
And rerun the script. I am pretty sure it will work like this
Obs: I am on my mobile phone, and I have an horrible relationship with touchscreens so, sorry for some mistakes, and pay extra attention to commands, hope you get the concept of this workaround.

Hi, thanks for all your help, really appreciate it. I did try using the normal user as well and got the same error.
I am at work so will try the work around and let you know tonight. Thanks again

@SmilingSamoyed as I expected usual /etc/ perms are rwxr-x-r-x (755) .. meanwhile I will look through octopi github and check if ther isn't any issue related to this situation, otherwise I will open one.

@SmilingSamoyed there's an easier way to do this ... just
/usr/bin/git clone https://github.com/pivpn/pivpn.git /etc/.pivpn
it should work.
ppl ac Octopi stated their point and it seems that they won't fall back with it, so will think of a better way of pivpn work around it to support octoprint and still keep it's support to other distros.
meanwhile, all users wanting to use octopi should work around like i've mentioned.
@redfast00 can this be marked as an enhancement? what's your opinion about his?

So judging by that reference post I shouldn't be loading pivpn with octopi flashed because 'I should know what I'm doing'?

Oh ok,  never mind, I'll try your suggestion now

Thanks for the tip, seems like it was created successfully:
pi@octopi:~ $ sudo -s
root@octopi:/home/pi# /usr/bin/git clone https://github.com/pivpn/pivpn.git /etc/.pivpn
Cloning into '/etc/.pivpn'...
remote: Counting objects: 728, done.
remote: Compressing objects: 100% (4/4), done.
Receiving objects:  94% (685/728), 164.01 KiB | 319.Receiving objects:  95% (692/728), 164.01 KiB | 319.Receiving objects:  96% (699/728), 164.01 KiB | 319.Receiving objects:  97% (707/728), 164.01 KiB | 319.Receiving objects:  98% (714/728), 164.01 KiB | 319.Receiving objects:  99% (721/728), 164.01 KiB | 319.remote: Total 728 (delta 0), reused 3 (delta 0), pack-reused 723
Receiving objects: 100% (728/728), 164.01 KiB | 319.Receiving objects: 100% (728/728), 175.94 KiB | 319.00 KiB/s, done.
Resolving deltas: 100% (396/396), done.
Checking connectivity... done.

@SmilingSamoyed won't comment that since I don't want to buy any wars around here.
Now that you already have /etc/.pivpn  just run the pivpn install script! and it sould work.

No worries, amazing community with this group, I really do appreciate the help

Good job figuring it out! I don't think we (PiVPN) should provide a workaround for installing: since OctoPrint messes with the git command, they (or the users that use octoprint) should be responsible for cleaning up the git command. If this comes back in other issues,  you can link other users to this issue. Closing this since the issue got fixed.

GREAT !!!! it works, before this it just skip the UDP/TCP part in the grey blue screen box(seen a vid on you tube) . After i follow all the  instructions over here, and type curl -L https://install.pivpn.io | bash, the UDP/TCP part appear in the grey blue box screen. Thanks everyone.. Goodjob!!!

try with regular user pls ... however it might not succeed since regular user probably cant write to /etc/ but worth trying.
It might be a octoprint related issue ... if it doesnt work we can also work around it like this
with a regular user:
cd ~ && git clone https://github.com/pivpn/pivpn.git
Now escalate your privileges with sudo or become root ( vhoose your prefered method)
and then:
cd ~<regularuser> && mv pivpn /etc/.pivpn
And rerun the script. I am pretty sure it will work like this
Obs: I am on my mobile phone, and I have an horrible relationship with touchscreens so, sorry for some mistakes, and pay extra attention to commands, hope you get the concept of this workaround.

cd ~<regularuser> && mv pivpn /etc/.pivpn gives a syntax error for me :/ (I'm also a complete noob so I need step by step instructions)


⚠ ClamAV has degraded performance

In f63f93d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 65 ms

Resolved: ClamAV performance has improved in d81ca4b.


bug: include_size_comparison not filtering correctly

include_size_comparison doesnt seem to be filtering like its supposed to.
I am using this config:
      - name: Analyze esbuild bundle size
        uses: exoego/esbuild-bundle-analyzer@v1
        with:
          metafiles: 'dist/apps/blend/stats.json'
          show_details: false
          include_size_comparison: 'total'
          top_n_largest_paths: 0
          show_no_change: false

With this config, we are not getting a total row, and it only shows Added / Deleted rows. It does seem to filter away No changes correctly.

Thanks.
I'll take a look within a few days

This is fixed in v1.5.2:


[Feature Request]: add solution to lc prob no 2278

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
i would like to add add solution to lc prob no 2278
Use Case
solution addition
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

hey @Ajay-Dhangar
can i know max limit of issues one can raise per day in this repo


Match iOS 7/8 style with little padding between labels

The table view index UI changed in iOS 7 to remove the large padding between labels, allowing the user to swipe a small amount of pixels compared to sliding their finger along the entire display or tapping. The collection index view should behave the same way. :)

I have code for this, but it gets rid of the ability to specify endPadding. Not sure if this should be an option controlled by another public property or if it should just be the new behavior to match the latest OS design standards.

@hipwelljo I'd say let's have this match the latest iOS design standards, and get rid of endPadding. I'll make sure this next release gets a major version bump!

@kreeger Added pull request. When do you think the next release

Cool! When do you think the next release will be, got some other cool updates? :)

Merged and released as v2.0.0!


Move to python3 or specify python version

On Archlinux python3 is the default python interpreter and make html gives errors because of that. I see two possible solutions: switching to python3 (better in my opinion: more recent, etc..), or modifying the build system to specify python2 and not just python.
I just ran every python file through 2to3 and it worked perfectly after that, so that might be an easy option.
I really like this book by the way!

We've decided to go with python 3 and will update the text accordingly. This is tracked in #176 .


Animate.css not active on mobile

Hello, amazing work with this project, it works perfectly well on a PC, but I can't get it to work on mobiles, I tried two different browsers so I'm sure its not a Chrome problem, please what am I missing?
Thank you.

Hello. Can you please share a link, or better yet a pen on codepen with your code? It's probably just a small mistake as animate.CSS works perfectly fine on mobile.

Thanks for the reply, this is the link: https://codepen.io/franciisscott/pen/yjmzKm
I literally copied the exact animate.css I found online (most recent, I believe) and pasted in my folder.
Please let me know if you need any other thing. Thank you.

Sorry, but did you read the readme and the instructions of how to use it? Your pen's empty. There's just the animate.css code which by itself is totally useless...

please what codes exactly should I post? I've got a index.php files and other js and css files in their folders.

2087_kalay 2 2.zip
Hello, I uploaded the template I'm trying to use, I maybe if you could download and extract it it'll be easier for us? Thank you.

Sorry but I can't download an unknown zip. You can publish it and share a link, or you can post it in codepen, jsbin or any service like that.
But first make sure to follow all the instructions in the readme.

Good day, sorry for the stress I've caused so far, I've uploaded the files here on GitHub. The link to where the files are is "https://github.com/franciisscott/franciisscott.github.io", you can see the website at "franciisscott.github.io", animate.css works well on PC, but when you load "franciisscott.github.io" on a mobile, the animation doesn't occur. Thank you.

No need for apologies ;-)
I can't look at your code right now but by the looks of it, this seems to be a problem with the animate on scroll js library. I strongly recommend using AOS these days as it's up to date with current practices.

Sorry I've never even heard of that before, what can I do for now?

Just look at the AOS instructions and switch the libraries. Alright?

Mind if I close this as this seems to be solved and is unrelated to animate.css?

Eltonmesquita- Hello. I actually had a very similar experience, but actually, that's not why I'm writing this. I clicked on your AOS link and it seems that the current build shows as failing. Having followed the conversation you had with franciisscott, if the current AOS is the one being used and it's the same one that is 'failing,' would that be the reason animate.css didn't work for him? I realize that this may seem like a very stupid question but for the fact that it was [according to franciisscott] working just fine on a PC (curious: did he mention the OS of the PC on which animate.css was working fine?). Also wanted to say that even though I couldn't get it to work for me either, I was very impressed with the quality of the coding. Thank you for both taking the time to read this and to make such a great product that I am sure several, SEVERAL thousand people have and are currently enjoying. Thanks again. And to all our fellow Devs out there, Happy Coding!
Michael The Gamer

@MichaelTheGamer, the reason the animations didn't work on mobile was, by the look of it, the use of some outdated libraries. 3 or more years ago, mobile browsers didn't trigger the scroll events, so it was safer to just disable interactions on mobile.
Note that this doesn't mean animations didn't work on mobile, just that it wasn't feasible to trigger them on the scroll event.

I'm closing this as its solved. Feel free to reopen it if necessary.


Automatic validation of NATFIXME markers in specs

A lot of specs have a NATFIXME comment to describe what needs to be done before they can be enabled again. In many cases, it's a dependency on something external. As an example, in spec/core/rational/to_r_spec.rb:
it "works when a BasicObject has to_r" do
  obj = BasicObject.new; def obj.to_r; 1 / 2.to_r end
  # NATFIXME: Implement Rational(String)
  # Rational(obj).should == Rational('1/2')
  Rational(obj).should == Rational(1, 2)
end

This spec tries to test the call to to_r, which works fine, but it tries to validate it using Rational('1/2') which has not yet been implemented. As a result, we had to update that statement to Rational(1, 2) to perform the same test.
Now when we add String support in Kernel.Rational, we would naturally update the spec spec/shared/rational/Rational.rb, but since the first one is pretty much unrelated to the actual change we just made, this will probably be forgotten.
Over the past few weeks, I feel like the majority of the Pull Requests I've made are just updates to the specs because we were skipping a lot of specs that were passing by now.
I think it would be better to add automated guards instead of comments, so we would have an option to find those issues easier. Something like this:
it "works when a BasicObject has to_r" do
  obj = BasicObject.new; def obj.to_r; 1 / 2.to_r end
  NATFIXME(-> { Rational('1/2') == Rational(1, 2) }) do
    Rational(obj).should == Rational('1/2')
  end
  Rational(obj).should == Rational(1, 2)
end

I'm just recycling the name NATFIXME to get a uniform way of finding the FIXME markers in the specs. The method takes a callable argument and a block. If the callable argument returns false or raises an error, the block is skipped. Otherwise, the block is valid and we should probably raise an error to let the user know this spec needs an update.
This should work with including other blocks as well:
NATFIXME(-> { Rational('1/2') == Rational(1, 2) }) do
  it "works when a BasicObject has to_r" do
    # Actual specs
  end
end

We should probably add an envvar to control these blocks, and don't run them by default, so we don't burden people with extra work when they fix something, and one of those NATFIXME blocks would reactivate and then fail again because there is another issue with the block. It's just a way to make it easier to find them.
Does anyone see any problems with this?

Since we're discussing this change in #837 now, I'm closing this issue. It's pretty much a duplicate now.


⚠ Processors has degraded performance

In 713644c, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: Processors performance has improved in 0ee0ae7.


navigation issue when using the app bar

🐛 Describe the bug
The browser's back button does not work after going to a discipline node site.
📜 To Reproduce
Steps to reproduce the behavior:
See video
https://user-images.githubusercontent.com/60993872/125493563-20a9b23d-6b28-489f-bd57-99c44425c2c7.mov
🕵 Expected behavior

The doi ui page should work or display a specific error message with redirection to a working page.
📚 Version of Software Used

branch routing_fixes
🩺 Test Data / Additional context

🏞Screenshots

🖥 System Info

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

** :unicorn: Applicable requirements**

@tloubrieu-jpl This is caused by the solution #64 This is a bug. I'll install an Apache server and debug. Thanks for the video! Let me know how you recorded that in the next meeting!

@eddiesarevalo  the video is shit-command-5 on macos.

@tloubrieu-jpl I think you meant shift in your comment above 🤣

@tloubrieu-jpl I think you meant shift in your comment above 🤣

yes, you're right, i did not mean to be vulgar


Autoload folders and pickle files if already exist (avoid extract)

improved extract(filename) and load(data_folders, min_num_images_per_class) to avoid extractions of .tar.gz if folders already exist and  the creation of already dumped pickle files is also avoided

Can one of the admins verify this patch?

CLA signed

I don't want that behavior. It will silently cause irrecoverable issues if the user aborts the tarball extraction in the middle. If you don't want to re-extract, you can simply skip this cell. Note that this is different from the maybe_download() case since it's easy to check for download size.

How can you skip these cells if you reopen your notebook in a second moment? The train_folders and train_datasets variables are not defined until cells execution.
It's true that if the user aborts the extraction in the middle issues can happen, but this is already happening during the dumping of the pickle files where if the user aborts that operation, the pickle files are incomplete.

Aha, not having these variables defined is indeed a problem.
There are some changes to this notebook that are about to be pushed to the public github, let me think about it in the meantime, it seems to be a problem for several people. Thanks for clarifying.

Can one of the admins verify this patch?

It would not be enough to write a file after the execution of extractall and verify the existence of this file when trying to read from folders? In this way if the user aborts the extraction the file doesn't exist and successive runs will try to extract the files again

A fix similar to yours should be pushed shortly (sorry, my tree was not in a state where I could accept PRs easily). Thanks!


Thanks, didn't realize there was a .transpose method.


Fixing Binford duplicate value error, updating results table/CSV download for Binford data

Kate sent me an updated Binford data file to address the warning about duplicate values for some societies. Run load_all_datasets.sh to fix this.
Related to PR which contains the new data file - https://github.com/SimonGreenhill/dplace-data/pull/6
Also fixed the society results table display for Binford variables with duplicate values, and updated CSV download code to include all duplicate values.

Current coverage is 91.67%

Merging #265 into master will decrease coverage by -0.51% as of dfdb561

@@            master    #265   diff @@
======================================
  Files           32      32
  Stmts         1754    1766    +12
  Branches         0       0
  Methods          0       0
======================================
+ Hit           1617    1619     +2
  Partial          0       0
- Missed         137     147    +10

Review entire Coverage Diff as of dfdb561

Powered by Codecov. Updated on successful CI builds.


#1155: Add support for OpenAI-compatible endpoint in LLM and Embed

Description
Delivers using the OpenAI-specific term base_url for LLM and api_base for Embed. Tested on LocalAI.io for LLM and Embed. Original issued asked for endpoint support, but base_url seemed superior to match OpenAI kwargs.
Fixes #1155
Type of change

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

How Has This Been Tested?

Tested locally against LocalAI.io with the following config:

os.environ["OPENAI_API_KEY"] = "sk-xxxx"
app = App.from_config(config={
  "app": {
    "config": {
      "id": "test"
    }
  },
  "llm": {
    "provider": "openai",
    "config": {
      "model": 'gpt-4',
      "temperature": 0.1,
      "max_tokens": 1000,
      "top_p": 1,
      "stream": False,
      "base_url": "http://localhost:8180/v1"
    },
  },
  "embedder": {
    "config": {
      "api_base": "http://localhost:8180/v1"
    }
  }
})

app.add("https://www.forbes.com/profile/elon-musk")
app.add("https://en.wikipedia.org/wiki/Elon_Musk")
out = app.query("What is the net worth of Elon Musk today?")
# Answer: The net worth of Elon Musk today is $258.7 billion.
print(out)

It appears perfectly functional from LocalAI logs. The RAG operation itself returned "I dont know Elon's net worth", but all the RAG search results and LLM templating looked right in the debug. I personally plan to use EmbedChain with this change for my RAG ingest and search but to use my own template for synthesizing search results since running it against a 7b model looks like it will need a little more tinkering to behave as expected than what default prompt provides (maybe there is an obvious way to change the prompt I am missing??). I did not run any unit tests.
EDIT: I found the prompt override nvm: https://github.com/embedchain/embedchain/blob/9afc6878c82ee71332fa09aebecea93dd7829e7f/configs/full-stack.yaml#L18C5-L28C102
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes XXX (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

LocalAI configs if you wanted to attempt utilization yourself:
gpt-4.yaml
name: gpt-4
mmap: true
parameters:
  # model: huggingface://TheBloke/Mistral-7B-OpenOrca-GGUF/mistral-7b-openorca.Q6_K.gguf
  model: openhermes-2.5-mistral-7b.Q6_K.gguf
  temperature: 0.2
  top_k: 40
  top_p: 0.95
template:
  chat_message: |
    <|im_start|>{{if eq .RoleName "assistant"}}assistant{{else if eq .RoleName "system"}}system{{else if eq .RoleName "user"}}user{{end}}
    {{if .Content}}{{.Content}}{{end}}
    <|im_end|>

  chat: |
    {{.Input}}
    <|im_start|>assistant

  completion: |
    {{.Input}}
context_size: 4096
gpu_layers: 55
f16: true
stopwords:
- <|im_end|>

usage: |
  curl http://localhost:8180/v1/chat/completions -H "Content-Type: application/json" -d '{
      "model": "gpt-4",
      "messages": [{"role": "user", "content": "How are you doing?", "temperature": 0.1}]
  }'

text-embedding-ada-002.yaml
name: text-embedding-ada-002
backend: sentencetransformers
embeddings: true
parameters:
  model: all-MiniLM-L6-v2

Can we merge this PRs? It seems only add more config and change only the OpenAI Chat and Embeding to support the local endpoints.

Failing test is easy fix. Should not require the config or env for base var. Default should be None. Might get around to this this week. One line change imo

yes, Merging this PR for now. Will fix the tests in my follow up PR.


HTTP ERROR 403 No valid crumb was included in the request

Job creation failed.
HttpResponse.statusCode=403
HttpResponse.statusMessage=Forbidden
HttpResponse=
##[debug]submitJob().teamBuildRequestCallback(teamBuildPostData)
##[debug]undefined
##[debug]task result: Failed
##[debug]Processed: ##vso[task.complete result=Failed;]undefined
{"statusCode":403,"body":"\n\n<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>\nError 403 No valid crumb was included in the request\n\nHTTP ERROR 403 No valid crumb was included in the request\n\nURI:/team-build/build/MyShuttle\nSTATUS:403\nMESSAGE:No valid crumb was included in the request\nSERVLET:Stapler\n\n<a href="https://eclipse.org/jetty\">Powered by Jetty:// 9.4.33.v20201020\n\n\n\n","headers":{"connection":"close","x-content-type-options":"nosniff","set-cookie":["JSESSIONID.e140f3b0=node0eqmnsy6ik988d12i143ezn366.node0; Path=/; HttpOnly"],"cache-control":"must-revalidate,no-cache,no-store","content-type":"text/html;charset=iso-8859-1","content-length":"569","server":"Jetty(9.4.33.v20201020)"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"XX.XX.XX.XXX:8080","port":"8080","hostname":"XX.XX.XX.XXX","hash":null,"search":"?delay=0sec","query":"delay=0sec","pathname":"/team-build/build/MyShuttle","path":"/team-build/build/MyShuttle?delay=0sec","href":"http://XX.XX.XX.XXX:8080/team-build/build/MyShuttle?delay=0sec"},"method":"POST","headers":{"Jenkins-Crumb":"ae658cc1185965e7225907c69ced30568eeada0d49099f78e68dec842cf9691c","content-type":"application/x-www-form-urlencoded","content-length":2227,"authorization":"Basic dXNlcjo5THV5dFJoRzh0bTk="}}}
Finishing: Queue Jenkins Job: MyShuttle

[section]: Approach 2: Wrapping Jenkins Job within Azure Pipelines
#341

[section]: Approach 2: Wrapping Jenkins Job within Azure Pipelines
#341

https://stackoverflow.com/a/62957734

https://stackoverflow.com/a/62957734


Can't save changes

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
On https://master--toolpad.mui.com/_toolpad/app/cl4hla83p01949xoizo5uxf2a/pages/cl4hla87800029xoihl7tf4qz, I can't make any changes

The request says pending forever.
On the server side, I see this log:

Expected behavior 🤔
No response
Steps to reproduce 🕹
Steps:

Open https://master--toolpad.mui.com/_toolpad/app/cl4hla83p01949xoizo5uxf2a/pages/cl4hla87800029xoihl7tf4qz
Drap a Paper
💥 It never saves

Context 🔦
I wanted to try https://github.com/mui/mui-toolpad/issues/419 out, to use the MUI X date picker.
Your environment 🌎
No response

@apedroferreira I have added steps to reproduce.

same as: https://github.com/mui/mui-toolpad/issues/1057?


[Usable][FancyZones Editor - Edit layout]: Text 'Distance to highlight adjacent zones' gets overlapped with the increment and decrement arrow keys of edit field when focus navigates to it.

Microsoft PowerToys version
"0.35.0"
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones Editor
Steps to reproduce
Test Environment:
OS: Windows 10 Build 21354.1
App version: 0.35.0
App name: PowerToys
Screen Reader: Narrator
Tool: Accessibility Insight for Windows
Repro Steps:

Launch 'PowerToys' application.
Application will get open with default list item 'General' selected.
Navigate to 'FancyZones' at the left side of the pane and activate it.
Now navigate to 'Launch layout editor button and activate it.
FancyZones editor window will get open.
Navigate to 'Edit layout' button of any layout (say Grid) under Custom and activate it.
Edit layout dialog gets open.
Press 'Tab' key to navigate to the 'Distance to highlight adjacent zones' edit field.
Observe the issue.

User Impact: Priority-3
Keyboard users using the application will get impacted as text 'Distance to highlight adjacent zones' gets hid with the increment and decrement arrow keys.

✔ Expected Behavior
Text 'Distance to highlight adjacent zones' should not get overlap with the increment and decrement arrow keys of edit field when focus navigates to it.
❌ Actual Behavior
Text 'Distance to highlight adjacent zones' gets overlapped with the increment and decrement arrow keys of edit field when focus navigates to it.
Other Software
No response

@Priyanka-Chauhan123 @crutkas this is default behavior of the NumberBox control as defined by the WinUI team

@niels9001 Yes, but for the above field i.e. 'show space around zones' it is not getting cropped. Refer below snippet for the same.

@niels9001 Yes, but for the above field i.e. 'show space around zones' it is not getting cropped. Refer below snippet for the same.

True, but that's because it's not using the Header property of the NumberBox but a seperate CheckBox with increased spacing between the two.
So in short, the issue is that if a Header property is used on a NumberBox that the spinners are overlapping with the Header itself. We should flag this with the WinUI team/repo @crutkas ?

Outdated due to recent UX updates.


Broken Sidebar with macOS 11.3 Beta 1(20E5172i) and newer

Issue is replicable both on Intel and Apple Silicon, both running macOS 11.3 Beta 1(20E5172i) and Beta 2(20E5186d):

Hardware:

Apple Silicon: M1 MacBook Pro
Intel: i9-7920X with RX 5700XT

UTM version: All versions affected(tested 2.0.18-2.0.22)

Creating a new Virtual Machine resolves this issue temporarily for the newest item(s). However when the app is closed for a period of time and then reopened, the UI is broken again:

Creating new VM
Reordering VMs(doesn't resolve)
Creating other new VMs

Once again bitten in the ass by being the only developer to adopt SwiftUI for mac...

This is really frustrating, I can't seem to find a workaround for this bug.

This is fixed in macOS 11.4 beta 1.

Was able to verify this myself, 11.4 Beta 1 on my M1 MacBook Pro is working correctly. Seeing as this is resolved, closing

Since I wasn't able to find this issue in the bug reporter let there be some tags for search: sidebar cropping, crop issue.


Fix warnings introduced by SE-0099

Many "where" and other condition clauses have been replaced by commas. Apply the compiler fix-its to fix the warnings.
For details on the proposal, see: https://github.com/apple/swift-evolution/blob/master/proposals/0099-conditionclauses.md

@swift-ci please test

Cool, thanks for dealing with this!  Will merge when the tests pass.

Thanks @abertelrud! The tests passed, so I took it upon myself to merge :)

Thanks!

Thanks, looks way better now


Update contents.json

Add SwiftWebImage by @geekaurora

[x] Project URL:
[x] Update contents.json instead of README
[x] One project per pull request
[x] Screenshot included
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry

Thx @geekaurora but this is a library, please considering contributing to these instead

https://github.com/vsouza/awesome-ios
https://github.com/matteocrippa/awesome-swift


top_label

The top_label is the number of classes?
My problem has 4 classes, even if I put a top_label=10 it always returns 4

From the source code:
yss = predict_fn(inverse)  # Array of probabilty per class
...
if top_labels:
    labels = np.argsort(yss[0])[-top_labels:]

Not quite, It limits the number of labels you get explainations for. Let's say you have 50 classes and you set it to 10 then you will get the 10 labels with the highest probability based on the prediction for the inverse values.
If you have four classes on the other hand, but you set it to 10, it will only return 4, because there are no more labels in the list.


Add log SQUID code testing to redirect.test.py Au test.

Marked this for 9.2 because it's very low risk, thus allowing easy backport of possible dependent commits.

[approve ic autest]

[approve ci clang-format]

[approve ci autest]

[approve ci Clang-Analyzer]

These changes all look fine. I'm not so sure about the bash dependency but we have that all over the place in autests now as it is.

Hmm what's the alternative you propose?  Only use Python for scripts?  That may be a good idea if it's guaranteed that Au test test runs will use the same Python version as Au test was run with.  Bash seems to have less issues with incompatible versions than Python.


New OpenStack Swift scaler

My team (@sidilabs) and I want to contribute to KEDA by proposing and also implementing a RedHat/OpenStack Swift scaler.
More info about our proposal:

Scaler Source: Swift is the default object-store for OpenStack. It works much like AWS S3 or Azure Blob Storage.

The OpenStack Object Store project, known as Swift, offers cloud storage software so that you can store and retrieve lots of data with a simple API. It's built for scale and optimized for durability, availability, and concurrency across the entire data set.

How do you want to scale: The idea is to scale based on the object count in a certain container. As the object count (number of files, folders, ...) changes, KEDA scales up or down accordingly.

Authentication: for authentication we must use Keystone (another OpenStack project). With Keystone, one can get an access token to be used for authentication/authorization. We've investigated two auth methods for getting a token and then querying the Swift API:

Simple username/password
Using Application Credentials

We understand that both auth methods should be implemented by the scaler.

Looking good! That would be a great contribution.
Just a minor nit, implementing e2e tests with the scaler would be really great: https://github.com/kedacore/keda/tree/main/tests

Ok, I took a note about it, thanks!
Letting the community know about our progress soon :smile:

This was implemented, closing


fix make QueryDetailQueue.queryCapacity configurable

What problem does this PR solve?
Problem:
very large SQLs make FE OOM, here make the capacity configurable.
In branch-2.1 we already removed the usage by pr: https://github.com/apache/doris/pull/29999
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run p0

run buildall


sign

Steps to Reproduce

...
...
...

Target Platform:
Target OS version/browser:
Devices:
Logs

Looks like you may have hit create issue unintentionally.  Please feel free to file a new issue!


World is not doing anything-dont seem to have permission (i am server master)

Information

Server version:

Full output of /mv version -p:

Server log:

Details
I was <able / not able> to reproduce my issue on a freshly setup and up-to-date server with the latest version of Multiverse plugins with no other plugins and with no kinds of other server or client mods.
Description

Steps to reproduce

Expected behavior

Screenshots

Follow the issue template if you wish to get help.