Installation steps ?

Hello,
thanks for sharing this.
I discovered this is based on Docker; I tried a 'make' which made some compilation successfully but not the scripts/discover nor scripts/listen. Could you please provide some additional information on How to install / make it work ?
Thanks !

Docker is optional, you don't need to use it. How to make it work depends on what your use case is. Do you want to use it with Home Assistant?

Closing since no response for > 2 weeks. Please let me know how/if I can help. Best regards.

I have the exact same problem!
Downloaded with git, and run Make with result:
py37: commands succeeded
congratulations :)
Trying to follow the "README.md" file but cant get the examples to work!
tellsticknet]# ./script/discover
-bash: ./script/discover: No such file or directory
I like to make this working with mqtt (working server on localhost) but last example gives me more errors.
./script/tellsticknet mqtt -vv
Traceback (most recent call last):
File "/usr/lib64/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib64/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/root/tellsticknet/tellsticknet/main.py", line 27, in
import docopt
ModuleNotFoundError: No module named 'docopt'
isue 16 says ".... installed with pip ..." is this working or upcomming?
It would be great with a "install manual" in the readme file!
God jul, og godt nytt år!

What about
pip install -r requirements.txt
and then:
./script/tellsticknet -vv discover
I agree the instructions for installing/running could be improved. Feel free to contriubute a fix for this when you get it up and running.
pip install tellsticknet might work as well, but that version has not been updated for a while. I'll fix this in a couple of weeks.

tried it:
pip install -r requirements.txt
WARNING: Running pip install with root privileges is generally not a good idea. Try pip install --user instead.
Collecting docopt (from -r requirements.txt (line 1))
Requirement already satisfied: setuptools in /usr/lib/python2.7/site-packages (from -r requirements.txt (line 2)) (40.4.3)
Collecting requests (from -r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl
Collecting pyyaml (from -r requirements.txt (line 4))
Using cached https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz
Collecting hbmqtt (from -r requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/e6/3c/de08eeef75dc4bd86673f48ca4a97b51c9524cf2a32f1ef8ce0bfae81270/hbmqtt-0.9.5-py2.py3-none-any.whl
Collecting urllib3<1.25,>=1.21.1 (from requests->-r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests->-r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting idna<2.9,>=2.5 (from requests->-r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl
Collecting transitions (from hbmqtt->-r requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/14/4d/26043920085674539495eb3d80162a1ad3c749d2285b1151ab50a3259dc6/transitions-0.6.9-py2.py3-none-any.whl
Collecting websockets (from hbmqtt->-r requirements.txt (line 5))
Downloading https://files.pythonhosted.org/packages/4b/c6/026da2eeed75a49dd0b72a0c7ed6ee5cb2943e396ca9753eabff7359b27b/websockets-5.0.1.tar.gz (68kB)
100% |████████████████████████████████| 71kB 1.1MB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-YD3MDN/websockets/setup.py", line 1, in
import pathlib
ImportError: No module named pathlib
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-YD3MDN/websockets/
./script/tellsticknet -vv discover
18-12-29 18:51.37 DEBUG (MainThread) [asyncio] Using selector: EpollSelector
18-12-29 18:51.37  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
18-12-29 18:51.37 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> :30303
18-12-29 18:51.37 DEBUG (MainThread) [tellsticknet.util] Sending packet to :30303
18-12-29 18:51.37 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 43276)>: b'D'
18-12-29 18:51.37 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 43276)>
18-12-29 18:51.37 DEBUG (MainThread) [tellsticknet.util] No data available on socket yet
18-12-29 18:51.42 DEBUG (MainThread) [tellsticknet.discovery] Discovery timeout

mvh
Ove

Sorry should have been pip3 install --user -r requirements.txt. Also, the discovery process doesn't seem to find any device on your local network.

yes that worked! :-)
./script/tellsticknet -vv discover
18-12-29 19:22.04 DEBUG (MainThread) [asyncio] Using selector: EpollSelector
18-12-29 19:22.04  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
18-12-29 19:22.04 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> :30303
18-12-29 19:22.04 DEBUG (MainThread) [tellsticknet.util] Sending packet to :30303
18-12-29 19:22.04 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 46803)>: b'D'
18-12-29 19:22.04 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 46803)>
18-12-29 19:22.04 DEBUG (MainThread) [tellsticknet.util] No data available on socket yet
18-12-29 19:22.09 DEBUG (MainThread) [tellsticknet.discovery] Discovery timeout
I have 2 tellstick nett version 17 in my LAN (2 locations (Sweden and Norway)with openvpn)
Telldus-R1.Ende-Lie.no	<IP_ADDRESS>	Telldus Technologies AB	AC:CA:54:00:4A:E7
Telldus-B1.Ende-Lie.no	<IP_ADDRESS>	Telldus Technologies AB	AC:CA:54:00:8B:F8

Does your vpn route udp broadcast packets? You can provide a ip to the script to not rely on auto-discovery. However, only one tellstick is supported for each instance currently so I guess you then have to run two concurrently to e.g. use the mqtt gateway.

Yes, my VPN is on an Ethernet bridge (layer 2) and open for all packets except dhcp answers!
Telldus-R1.Ende-Lie.no	<IP_ADDRESS> is not on VPN but actually on my local LAN (<IP_ADDRESS>/21)

Your setup is too complex for the current version. :-) I think it only supports auto discovery on the same subnet. Feel free to contribute a change for this. Or skip the auto-discovery.

I like the idea if "to complex" :-)
Kan you guide me to override the discovery, and putting data into "mqtt" ?

Try passing -? as argument

--help is of course helpful!
I got data from "./script/tellsticknet --ip <IP_ADDRESS> -vv listen"
thanks a lot for your updates!
Ha en fortsatt fredfull jul og et godt nytt år!

Godt nytt år!
Then I got things up and running and can use information from mqtt in node red for automating my switches, mostly lightning, based on the information i get from my motion sensors!
This is perfect for getting information from my sensors and is instant update instead of 30+ seconds later. When I got this working I realy got frustrated when I still got 15+ seconds from sending "light / switch on" using Teldus live service.
I found your comment on how to use command line to get my switch turning in my test lamp, and it successfully turn on/off !
/root/tellsticknet/script/tellsticknet --ip <IP_ADDRESS> -vv send RLS_Taklmape_stearinlys off
19-01-02 18:10.04 DEBUG (MainThread) [asyncio] Using selector: EpollSelector
19-01-02 18:10.04 DEBUG (MainThread) [main] checking for config file /root/tellsticknet/tellsticknet/tellsticknet.conf
19-01-02 18:10.04  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:30303
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:30303
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 59295)>: b'D'
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 59295)>
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] No data available on socket yet
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Data available on socket
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 59295)>
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Got data from sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 59295)>: (b'TellStickNet:ACCA54004AE7:PC6F2CPLZY:17', ('<IP_ADDRESS>', 30303))
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.discovery] Got b'TellStickNet:ACCA54004AE7:PC6F2CPLZY:17' from <IP_ADDRESS>:30303
19-01-02 18:10.04  INFO (MainThread) [tellsticknet.discovery] Found TellStickNet device with firmware 17 at <IP_ADDRESS>
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Created controller<EMAIL_ADDRESS>(acca54004ae7)
19-01-02 18:10.04  INFO (MainThread) [main] Found controller<EMAIL_ADDRESS>(acca54004ae7)
19-01-02 18:10.04  INFO (MainThread) [main] Executing for 1 devices
19-01-02 18:10.04 DEBUG (MainThread) [main] Waiting for tasks to finish
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Sending time 1 of 2
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.protocol] Encoding for protocol arctech
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Sending packet to controller ('<IP_ADDRESS>', 42314) <b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi2ss'>
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:42314
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:42314
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 40174)>: b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi2ss'
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Waiting 1 seconds
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Sending time 2 of 2
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.protocol] Encoding for protocol arctech
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.controller] Sending packet to controller ('<IP_ADDRESS>', 42314) <b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi2ss'>
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:42314
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:42314
19-01-02 18:10.04 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 40634)>: b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi2ss'
/root/tellsticknet/script/tellsticknet --ip <IP_ADDRESS> -vv send RLS_Taklmape_stearinlys on
19-01-02 18:10.07 DEBUG (MainThread) [asyncio] Using selector: EpollSelector
19-01-02 18:10.07 DEBUG (MainThread) [main] checking for config file /root/tellsticknet/tellsticknet/tellsticknet.conf
19-01-02 18:10.07  INFO (MainThread) [tellsticknet.discovery] Discovering tellstick devices ...
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:30303
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:30303
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 45885)>: b'D'
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 45885)>
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] No data available on socket yet
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Data available on socket
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Reading from <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 45885)>
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Got data from sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 45885)>: (b'TellStickNet:ACCA54004AE7:PC6F2CPLZY:17', ('<IP_ADDRESS>', 30303))
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.discovery] Got b'TellStickNet:ACCA54004AE7:PC6F2CPLZY:17' from <IP_ADDRESS>:30303
19-01-02 18:10.07  INFO (MainThread) [tellsticknet.discovery] Found TellStickNet device with firmware 17 at <IP_ADDRESS>
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Created controller<EMAIL_ADDRESS>(acca54004ae7)
19-01-02 18:10.07  INFO (MainThread) [main] Found controller<EMAIL_ADDRESS>(acca54004ae7)
19-01-02 18:10.07  INFO (MainThread) [main] Executing for 1 devices
19-01-02 18:10.07 DEBUG (MainThread) [main] Waiting for tasks to finish
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Sending time 1 of 2
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.protocol] Encoding for protocol arctech
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Sending packet to controller ('<IP_ADDRESS>', 42314) <b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi1ss'>
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:42314
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:42314
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 36712)>: b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi1ss'
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Waiting 1 seconds
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Sending time 2 of 2
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.protocol] Encoding for protocol arctech
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.controller] Sending packet to controller ('<IP_ADDRESS>', 42314) <b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi1ss'>
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 0)> <IP_ADDRESS>:42314
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Sending packet to <IP_ADDRESS>:42314
19-01-02 18:10.07 DEBUG (MainThread) [tellsticknet.util] Wrote data to sock <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('<IP_ADDRESS>', 45378)>: b'4:sendh8:protocol7:arctech5:modelC:selflearning5:housei1040e25s4:uniti0s6:methodi1ss'
part of my tellsticknet.conf

name: FKR_1_2
component: remote
protocol: arctech
model: selflearning
unit: 2
house: 11315622
optimistic: true
name: RLS_Taklmape_stearinlys
component: light
protocol: arctech
model: selflearning
unit: 1
house: 17042981
I tried to check information i got from my sensors and I get information like this example:
tellsticknet/ACCA54004AE7/command/remote/fkr_1_2/state turnoff
I tried to build several lookalike message and now last successfully injected:
tellsticknet/ACCA54004AE7/command/light/rls_taklmape_stearinlys/state turnon
And nothing happens :-(
Can you please help me with a (hopefully for this lamp) mqtt syntax, that wil turn on/off and I can use as a base to build the rest on?

I don't have access to my setup currently, but look for command_topic under homeassistant/# (this should probably be configurable) for your particular device (rls_taklampe), as well as payload_on/off.

Yes, you managed to guide me in the right direction:
Listening to raw mqtt packages at my "mossquit" server I got the config message:
homeassistant/light/tellsticknet_ACCA54004AE7/command_light_rls_taklmape_stearinlys/config {
"name": "RLS_Taklmape_stearinlys",
"state_topic": "tellsticknet/ACCA54004AE7/command/light/rls_taklmape_stearinlys/state",
"retain": true,
"availability_topic": "tellsticknet/ACCA54004AE7/command/light/rls_taklmape_stearinlys/avail",
"payload_available": "online",
"payload_not_available": "offline",
"command_topic": "tellsticknet/ACCA54004AE7/command/light/rls_taklmape_stearinlys/set",
"optimistic": true,
"payload_on": "turnon",
"payload_off": "turnoff"}
So sending topic: "tellsticknet/ACCA54004AE7/command/light/rls_taklmape_stearinlys/set" payload: "turnon" / "turnoff" it worked!
Thanks a lot for your help!


how i can get my custom key for each output of $webPush->flush() ?

i want to use the batch feature for more performance. so i need set the key for each subscription and get that key in the result.
for example
foreach(...) {
  $webPush->queueNotification(..., ['myKey' => myValue]),
}
foreach ($webPush->flush() as $report) {
     $report->customData['myKey']; # <----
}

At first, I thought I had the same need as you. Then I remembered that the endpoint uniquely identifies a push subscription.
From the W3C Push API specification:

A push subscription has an associated push endpoint. It MUST be the absolute URL exposed by the push service where the application server can send push messages to. A push endpoint MUST uniquely identify the push subscription.

So, you can use the getEndpoint method to retrieve the endpoint of the request and then use it as unique key:
foreach($webpush->flush() as $report) {
  $endpoint = $report->getEndpoint();
  //Check if the subscription is invalid or expired.
  if($report->isSubscriptionExpired()) {
    //Delete subscription from db using $endpoint as UK.
  }
}

Hope this can help you!

Hello @ziaratban  and @AndrewGalaz23  are you aware if it's possible that when one clicks on a notification if it's possible that it can open up the browser and go to a specific website and or section on that website?

Hello @ziaratban  and @AndrewGalaz23  are you aware if it's possible that when one clicks on a notification if it's possible that it can open up the browser and go to a specific website and or section on that website?

Yes that's it!

Yes that's it!


firebase_auth_plugin.cpp: Bug in running Windows

Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
Auth, Storage
Which platforms are affected?
Web, Windows
Description
expected to run smoothly as always but after upgrading flutter this error lines appeared
E:\Business\3- Mine\3- Flutter App\import_website\windows\flutter\ephemeral.plugin_symlinks\firebase_auth\windows\firebase_auth_plugin.cpp(1110,39): error C2220: the following warning is treated as an error [E:\Business\3- Mine\3- Flutter App\import_website\build\windows\x64\plugins\firebase_auth\firebase_auth_plugin.vcxproj]
E:\Business\3- Mine\3- Flutter App\import_website\windows\flutter\ephemeral.plugin_symlinks\firebase_auth\windows\firebase_auth_plugin.cpp(1110,39): warning C4996: 'firebase::auth::User::UpdateEmail': was declared deprecated [E:\Business\3- Mine\3- Flutter App\import_website\build\windows\x64\plugins\firebase_auth\firebase_auth_plugin.vcxproj]
E:\Business\3- Mine\3- Flutter App\import_website\windows\flutter\ephemeral.plugin_symlinks\firebase_storage\windows\firebase_storage_plugin.cpp(4,1): error C2220: the following warning is treated as an error [E:\Business\3- Mine\3- Flutter App\import_website\build\windows\x64\plugins\firebase_storage\firebase_storage_plugin.vcxproj]
E:\Business\3- Mine\3- Flutter App\import_website\windows\flutter\ephemeral.plugin_symlinks\firebase_storage\windows\firebase_storage_plugin.cpp(4,1): warning C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition [E:\Business\3- Mine\3- Flutter App\import_website\build\windows\x64\plugins\firebase_storage\firebase_storage_plugin.vcxproj]
Building Windows application...                                   473.8s
Build process failed.
Reproducing the issue
just run the windows platform on flutter with firebase storage plugin and auth plugin
Firebase Core version
2.32.0
Flutter Version
3.24.2
Relevant Log Output
No response
Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
No response

cc @Lyokone


Please invite me to the GitHub Community Organization

Name
Abhinav Kumar
Discord Username (if applicable)
Abhi6722
Additional Context
I want to join JD studio because I am an open-source enthusiast and I have also been a part of many open source communities. I personally like to join the community, meet new people and help others in any way.

Check your email or organisation page
Thank you for contribution 🙂
Please contribute in Unique-Github-Profiles


2.0 - Kotlin Functions with default values are not callable from Groovy

What happened?
plugins {
  id("org.jetbrains.intellij.platform") version "2.0.0-beta1"
}

dependencies {
  intellijPlatform.pluginVerifier() // Workaround: Add "latest" as parameter
}

Relevant log output or stack trace
Caused by: org.codehaus.groovy.runtime.metaclass.MethodSelectionException: Could not find which method pluginVerifier() to invoke from this list:
  public final void org.jetbrains.intellij.platform.gradle.extensions.IntelliJPlatformDependenciesExtension#pluginVerifier(java.lang.String)
  public final void org.jetbrains.intellij.platform.gradle.extensions.IntelliJPlatformDependenciesExtension#pluginVerifier(org.gradle.api.provider.Provider)

Steps to reproduce

Gradle IntelliJ Plugin version
2.0.0-beta1
Gradle version
8.7
Operating System
macOS
Link to build, i.e. failing GitHub Action job
No response

Fixed by involving @JvmOverloads along with helper functions for working with nested extensions: https://github.com/JetBrains/intellij-platform-gradle-plugin/commit/d1bba44eed45ffdf0e51be8415e542fbe794abe8
The fix along with initial Groovy support is now available in 2.0.0-SNAPSHOT release.
To use the snapshot releases, please follow: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html#snapshot-release


fix: bug with processing double-dash arguments

After introducing boolean arguments, double-dash arguments were not correctly processed (the values were always omitted)

Thanks for spotting and submitting a PR!


DllNotFoundException: FirebaseCppApp-6.2.1

Unity editor version: 2019.2.4f1
Firebase Unity SDK version: 6.2.1
Firebase plugins in use : Auth, Database, Functions
Additional SDKs you are using : Facebook
Platform you are using the Unity editor on : Windows
Platform you are targeting : Android
Unity Player sittings: Other sittings:
Scripting Backend: IL2CPP
API compatibility level:  .NET 4.x
Target Architecture:
ARMv 7: true
ARMv64: true
x86: false
all other sittings default.
I used Firebase Unity quickstarts samples for : Auth, Database, and Functions still the same issue
but when i resolve it or force resolve it, it succeeded
THE LOG:
DllNotFoundException: FirebaseCppApp-6.2.1
Firebase.AppUtilPINVOKE+SWIGExceptionHelper..cctor () (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/AppUtilPINVOKE.cs:118)
Rethrow as TypeInitializationException: The type initializer for 'SWIGExceptionHelper' threw an exception.
Firebase.AppUtilPINVOKE..cctor () (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/AppUtilPINVOKE.cs:138)
Rethrow as TypeInitializationException: The type initializer for 'Firebase.AppUtilPINVOKE' threw an exception.
Firebase.AppUtil.SetLogFunction (Firebase.LogUtil+LogMessageDelegate arg0) (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/AppUtil.cs:64)
Firebase.LogUtil..ctor () (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/LogUtil.cs:74)
Firebase.LogUtil..cctor () (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/LogUtil.cs:30)
Rethrow as TypeInitializationException: The type initializer for 'Firebase.LogUtil' threw an exception.
Firebase.FirebaseApp..cctor () (at Z:/tmp/tmp.LXG0TU0ZlU/firebase/app/client/unity/proxy/FirebaseApp.cs:56)
Rethrow as TypeInitializationException: The type initializer for 'Firebase.FirebaseApp' threw an exception.
Firebase.Sample.Auth.UIHandler.Start () (at Assets/Firebase/Sample/Auth/UIHandler.cs:74)

I switched to unity 2019.2.4 and firebase SDK 6.4.0 and all works fine now

I switched to unity 2019.2.4 and firebase SDK 6.4.0 and all works fine now

Still it didnt worked for me. I'm having the same issue.


Bug and crash

Right clicking on a bird bath with a bucket of water transforms the bird bath in a filled cauldron
Right Clicking with a water bottle on a bird bath crashes the game
I'm playing in 1.17 !

Fixed in v4.2.0


laravel optimize generates Symfony\Component\Finder\Exception\DirectoryNotFoundException

The "/home/vagrant/code/dsw.local/resources/views/modules/dsw" directory does not exist.
This is generated on php artisan optimize
Laravel 8, latest version of modules (8).
This is generated by registerViews() from the Service Provider, any solutions for this?

I'm having the same problem!


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 192 ms

Resolved: ClamAV performance has improved in be2595a.


Break out mobile Version

As the mobile version makes more radical changes to the engine it would better live in a fork.

FROST-Mobile is now live at https://github.com/kRITZCREEK/FROST-Mobile.


Start Menu Icon Scaling

Using <IP_ADDRESS> on Win 10 2004 (19041.450).
When adding the app to the start menu, the icon scales very small.  See attached screenshot.

Yeah, good point, the icon artwork is very old where the largest image in the icon is 48x48 pixels, which of course it tiny in today's standards.  How's this version?

:-)

Works for my tired eyes.  If it is ok, going to rapid fire issues.  Got another one to enter.

Is this the MSIX version or the regular version?

Both, the fix is in version <IP_ADDRESS>.  This is the new start icon:

the file icon goes even bigger:

not sure why the start menu doesn't allow bigger icons, but at least it is not tiny any more.


Set max-width for Filters

The filters selector is too big on desktop. It might be better to have a max-width set.
Expected Behavior
I expect the width of Filters to be similar to Show Columns.
Current Behavior
The filters selector is too big on desktop. The typography or maybe just color / capitalization is also different.
Steps to Reproduce (for bugs)
link to a live example: specific example
Here is a screenshot of how it is with default 2.0.0-beta-54
and with max-width: 500px set. but it would probably be best to do something more responsive but I'm not sure how you made the other things responsive so

@jaksco Just curious, if you remove the textField filter and make it only dropdown/checkbox does the issue persist? Have never seen this come up before

With dropdown it is within acceptable range, though it extends outside of the mui datatables div which is something "Show Columns" never does.
Here are some more screenshots: https://imgur.com/a/qqQ0b8i

I guess technically Show Columns does go outside of the datatables div. But it does a much better job at not going too far right
https://imgur.com/a/pMfLpfG


Moved methods to packing utils

fixes #1457

@billonahill Can you please take a look at this? It is some refactoring for the RR repack

Looks good, just one nit.

👍 once ci passes


OLS-413: Make LLMResponse include page titles for referenced documents

Description
LLMResponse now contains referenced documents that are pairs of (docs_url, title). Title comes from the "title" element of metadata in embedding nodes, added in https://github.com/openshift/lightspeed-rag-content/pull/9, which needs to merge first.
RAG content is now based on the sentence-transformers/all-mpnet-base-v2 embedding model, which necessitated RAG_SIMILARITY_CUTOFF_L2 increase and changes to a few asserts about what documents are retrieved for what queries.
Type of change

[ ] Refactor
[x] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #
Closes # https://issues.redhat.com/browse/OLS-413

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

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

Project coverage is 94.84%. Comparing base (2a75f81) to head (573f39c).
Report is 20 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #710      +/-   ##
==========================================
- Coverage   95.25%   94.84%   -0.42%
==========================================
  Files          53       53
  Lines        1895     1880      -15
==========================================
- Hits         1805     1783      -22
- Misses         90       97       +7

Files
Coverage Δ

ols/app/endpoints/ols.py
100.00% <100.00%> (ø)

ols/app/models/models.py
100.00% <100.00%> (ø)

ols/src/query_helpers/docs_summarizer.py
100.00% <100.00%> (ø)

ols/utils/token_handler.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

Response format change LGTM. Merging shouldn't break anything except that the reference docs won't show up until the frontend is updated to match. I'll made that change after this PR merges.

please add an e2e test for the api behavior.
also we should not merge this until @kyoto can confirm it won't break the console

who's confirmation we now have https://github.com/openshift/lightspeed-service/pull/710#issuecomment-2041904910

is there no e2e test we can update that confirms the responses have the full RAG reference (url and title)?
if there isn't one already, then we need to introduce one.

I'll modify https://github.com/openshift/lightspeed-service/blob/25f8fd71fed5549a6440e9007736b0fc4456d292/tests/e2e/test_api.py#L402:L404 and the other places in the e2e test.

/test e2e-ols-cluster

/test e2e-ols-cluster

@bparees PTAL

@asamal4 This is the PR that introduces sentence-transformers/all-mpnet-base-v2 embedding model, so I bumped RAG_SIMILARITY_CUTOFF_L2 changed a few asserts about what documents are retrieved for what queries.


[liblas] use supports expression

@autoantwort Could you please add double quotes to all relative paths in portfile.cmake?


bug/Messages to sign

All messages are only salts without any text introduction. Replace them with action-based messages. This will also require api changes.

[ ] New job
[ ] Login
[ ] Execute deal
[ ] Add deal
[ ] Update job listing


Add test and serializer to show failing tests with ember-data-model-fragments

Addresses https://github.com/danielspaniel/ember-data-factory-guy/issues/313
Shows that after adding a serializer for a data-model-fragment it is being serialized properly in build step but is not being deserialized in make step of parent model.

In this case you would have to avoid using the returns({model}) and use returns({json}) like this:
test("Show employee by make(ing) a model ( with belongsTo fragment added manually ) and using returns with that model", async function(assert) {
  let firstName = 'Joe',
      lastName  = 'Black',
      name      = build('name', {firstName, lastName}).get(),
      employee  = build('employee', {name});

  mockFindRecord('employee').returns({json: employee});
  await visit('/employee/' + employee.get('id'));

  assert.ok(find('.name').text().match(`${firstName} ${lastName}`));
});

This is a really tricky problem, and what I appear to be doing in build is running the data through the serializer to make it look like a payload going to the server.  I seem to be assuming that the server payload going TO the server would be the same as the server payload going BACK to the server.
This might be wrong assumption, but I am not sure how to fix it at the moment.
For now, you can use the style I describe above where you send pure build payload in a mockFindRecord

@danielspaniel True, I added four tests that show inconsistency. I know that for now it's not easy fix - so I think that it might be good idea to put more pressure in documentation about recommended approach.
IMO the docs should recommend using build everytime explicitly with model-fragments and json returning. What do you think? I think that at least couple of people could avoid confusion like me :) I can do it and create another PR if you agree.

That is good idea @jniechcial .. give me a day to try and figure this out though. It kind of bothers me so I am going to see what I can fix up.

I fixed this issue, so closing the PR


[WIP] Preprocessing rcnn

Depends on https://github.com/opencv/cvat/pull/545

I'm just going to combine these pull requests.


Sarkar Embedding and CICD

Overview
This PR has two parts

Sarkar tree embedding for 2 and 3 dimensions
CICD testing and building

Sarkar Embedding
The two main functions are sarkar_embedding and sarkar_embedding_3D.
These are used to embed a (weighted) tree into the 2D or 3D Poincare ball[^1]. The 3D version uses a "fibonacci coding" for distributing points on a 2D sphere[^2].
[^2]: http://extremelearning.com.au/evenly-distributing-points-on-a-sphere/
[^1]: https://homepages.inf.ed.ac.uk/rsarkar/papers/HyperbolicDelaunayFull.pdf
Example usage:
from hyperlib.util.graph import binary_tree
from hyperlib.util.sarkar import sarkar_embedding_3D

T = binary_tree(4) # a depth 4 binary tree
root = 0 # the index to use as the root
tau = 0.4 # the scaling factor for edges
emb = sarkar_embedding_3D(T, root, tau=tau, precision=40)

Note that both of these functions use mpmath for high precision calculations, and return a mpmath.matrix.  I added high precision Poincare math functions in the utils package.
Sarkar's algorithm can be extended to higher dimensions but the "spherical coding" part is more difficult. Will address in the future.
CICD
I added two basic workflows. One runs a linter and tests on push and pull requests to main.
The other triggers when we tag a version on main. It builds wheels and uploads them to PyPI and Test PyPI. I added API tokens for nalex's PyPI account as GitHub secrets on this repo. The wheels are built for linux, windows, and mac on x86_64, amd64, i686 architectures using cibuildwheel. I tested on ubuntu and @sourface94 tested on windows.
To build locally you use
pip setup.py build

Note that you need a cpp compiler to build the treerep part. On linux you need gxx_linux-64 which can be install from conda install -c conda-forge gxx_linux-64.
When developing please run the tests locally first. To run the linter:
python -m pip install flake8
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

and to run the tests just pytest -v tests/.

Thanks for clarifying the comment about the binary tree depth.
One last thing, can you add the sarkar example to the readme under the embeddings heading please Then i'm happy to merge.


traefik Kubernetes self signed.

Hey!
Just watched your treafik vid on yt! thx!
I now switch from nginx to traefik, but im not quite sure where I can implement my selfsigned tls keys in the ingress.yaml? If you just let me know where to put in the ingress.yaml =)
tls:
certificates:
- secretName: tls-cert?

Hi @chopp0r
Here a sample ingress.yaml from my home lab:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  namespace: nginx
  # annotations:
    # (Optional): Annotations for the Ingress Controller
    # ---
    # General:
    # kubernetes.io/ingress.class: traefik
    #
    # TLS configuration:
    # traefik.ingress.kubernetes.io/router.entrypoints: web, websecure
    # traefik.ingress.kubernetes.io/router.tls: "true"
    #
    # Middleware:
    # traefik.ingress.kubernetes.io/router.middlewares:your-middleware@kubernetescrd
spec:
  rules:
  - host: "nginx.apps.dort.sh"  # Your hostname
    http:
      paths:
      # Path-based routing settings:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx  # The name of the service
            port:
              number: 80  # Service Portnumber
  tls:
  - hosts:
    - nginx.example.com # Your hostname
    secretName: nginx-tls-secret  # Your TLS Secret

As you can see the secret is in the last line. I'm also using the cert manager (if you aren't familiar, take a look at this manual from christian boilerplates/certmanager) and the secret will be created like this:
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: nginx-cert
  namespace: nginx
spec:
  secretName: nginx-tls-secret
  issuerRef:
    name: selfsigned-clusterissuer
    kind: ClusterIssuer
  dnsNames:
    - nginx.example.com

Hope this helps with your issue - if it's still open 👨🏻💻

Case gone cold.


Adding enhanced slides example.

It is now possible to format the slide content. The format can be specified in the data section.
DATA color, x-position, y-position, text

You can now navigate between the slides via the arrow keys.

An indicator is displayed in the lower right corner, which shows the current slide and the maximum number of slides.

The example shows the usage of a custom type that is stored in a two-dimensional array.

I signed it!

Thanks for the contribution!


Please extend method Maxwell3D.export_3d_model to *.jpeg format

Description of the feature
Please allow different export formats for the method Maxwell3d.export_3d_model, i.e. *.jpeg format.
Up to now it works only using the old APIs:
M3D = Maxwell3d(designname=dName, solution_type=sType,new_desktop_session=False)
my_oeditor = M3D.oeditor
my_oeditor.ExportModelImageToFile("C:/MyFile.jpg", 1288, 870,
[
"NAME:SaveImageParams",
"ShowAxis:=", "True",
"ShowGrid:="         , "True",
"ShowRuler:="                     , "True",
"ShowRegion:="                  , "Default",
"Selections:="                      , "Coil1",
"FieldPlotSelections:="       , "",
"FitToSelections:="             , "",
"FitToFieldPlotSelections:=", "",
"Orientation:="                    , ""
])
Steps for implementing the feature
No response
Useful links and references
No response

Hi @tizianrot ,
I think this API method is already wrapped:
path =aedtapp.post.export_model_picture(show_axis=True, show_grid=False, show_ruler=True)
Let me know if you see any limitations


[feature request] Modbus TCP device support

Besides the protocols based on SCPI and DLL, there is a large group of devices in the industrial process control field that take Modbus TCP as their primary communication protocol.
I'd like to know if there is any best practice that could adapt the Modbus TCP driver, e.g. https://github.com/riptideio/pymodbus, into Qcodes framework?

Speaking on behalf of the core dev team, this is not something that is very high on our agenda. It simply doesn't come up in our day-to-day life. But if someone from the user community is up for contributing some solution, we can definitely have conversations about it.


Re-implement Amazon AWS SNS Connector

Description:
This is the main task to track the re-implementation of the AWS SNS connector as a part of the Ballerina connector revamp effort

[x] Research into AWS SNS and use cases
[x] Test and familiarize with existing connector
[x] Design documentation for implementation
[x] Implementation & test cases
[x] Documentation
[x] Examples

The implementation is already. Hence closing the issue


Faster EntityKind deserialization

Split the string at the first colon rather than using regular expressions.
I'm using this on a large build unit. Loading the model was taking ~55 seconds--with this change it now takes 10 seconds.

if you rebase on current main (to get #249), that should fix CI

Hi, nice to see someone using this! Looks mergeable, but one nitpick

Thanks for the great tool, it's been very useful helping untangle a rats nest of circular dependencies 🙂

We will need the signed CLA, too

Yes of course, I am working on getting corporate to sign off. Might take a minute due to holidays.

if you rebase on current main (to get https://github.com/lightbend-labs/scala-sculpt/pull/249), that should fix CI

Done, thanks for fixing CI!


Duplicate exercise in 02-bacics and 04-staging-area (incrementally commit)

02-basics has an exercise where you make two changes in different files, stage them separately, and commit ("Exercise: record changes")
04-staging-area has an exercise where you make two changes in different files, stage one of them, examine the situation, and go back. ("Exercise: Using the staging area")
These felt quite similar when doing them, even though the end is different.  Looking back at it, theoretically it feels good but the way I presented felt a bit déjà vu-ish.  Any ideas what to do?
Somewhat related: When preseting 02-bacisc, the very first technical section ("Recording a snapshot with Git") forced me to mention staging in some sense, but then we actually got to it in 04-staging-area.  Ideas?
See also #134,  but I think that's a different issue going by page titles.

I have felt this repetitiveness in a few workshops: "didn't we do this already 30 mins ago?". Since our time is very limited, I think we should condense this to only exercising this once.

Duplicate with #193. Closing this one. Following up in the other one.


remove type hint for options kwargs

Fixes #645
Changes proposed in this pull request:

remove type hints for options kwargs

:+1:


File input control with extensions set as "accept" attribute causes mimetype validation error

Hi all,
Subject of the issue
As in #1258, I will get the "Please enter a value with a valid mimetype" error if I have an input control as follows:
<input type="file" accept=".jks" name="peerCertificate">

I tried to configure validation for peerCertificate to use the extension validation method, but jquery-validation will always display the mimetype error.
Perhaps it's because of the "accept" attribute. If I removed it, then validation by jQuery-validation works correctly. However, I want to get the browser to restrict the file types that the user may select, to make selecting the right file more painless.
Your environment

version of jquery-validate: v1.19.0
which browser and its version: Firefox 66.0.3 64-bit

Steps to reproduce

Create a HTML file with a file input control, which has the accept attribute set to a file extension.
Enable validation for this field.
Select a valid file with the file upload control.
Attempt to submit.

I tried to create a jsfiddle, but could not make it work.
Expected behaviour
If a file with the correct extension(s) is selected, then validation should pass.
Actual behaviour
jquery-validation will complain that the file does not have the right mime type, even though the accept validation is not in use.

Here is a jsfiddle with a potential fix: https://jsfiddle.net/NozomiTypeR/y3scd69p/23/
The problem is that the accept tag (under attributeRules) of an element causes the accept rule to be included ahead of the extension rule (under staticRules).
So my solution here is to add a clause to the accept rule, to check that at least one MIME is part of the accept parameter before attempting to validate:
  if (typeof param === "string" && !/.+\/.+/.test(param)) {
    //Parameter does not have a single MIME.
    //This rule might hence have been included by an accept tag that contains extensions instead. Skip.
    return true;
  }


Poly_commitment: move open SRS into srs.rs

See https://github.com/o1-labs/proof-systems/pull/2626#issuecomment-2376226442


Having issues exporting AWS SSM parameter value to Nuxt environment variable

Environment
Production
Reproduction
No reproduction is required.
Describe the bug
Deployment to production is successful, but I'm having some issues passing a parameter value from AWS SSM to a env file, it's undefined no matter what I do. Thus, my useAsyncData is returning an error.
Here are my codes for the amplify.yml file as well as the runtimeConfig object on my nuxt.config.ts file. Only config.githubSecret is undefined, the public githubBaseUrl is working.
Is AWS SSM not supported for deploying to production? Must I set the environment variables under the build settings on the AWS Amplify console?
Thanks in advance.
amplify.yml
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - nvm install 21.5.0 && node --version
        - corepack enable pnpm
        - pnpm install --frozen-lockfile
    build:
      commands:
        - export NUXT_GITHUB_SECRET=$(aws ssm get-parameter --name "/amplify/d2zk1p9qtbvjcd/main/AMPLIFY_secrets_nuxt_GITHUB_SECRET" --with-decryption --query Parameter.Value --output text)
        - echo "NUXT_GITHUB_SECRET=$NUXT_GITHUB_SECRET" >> .env
        - pnpm run build
  artifacts:
    baseDirectory: .amplify-hosting
    files:
      - "**/*"
  cache:
    paths:
      - node_modules/**/*

nuxt.config.ts
nitro: { preset: "aws-amplify" },
runtimeConfig: {
    /// Tried with githubSecret: "", not working as well
    githubSecret: process.env.NUXT_GITHUB_SECRET,
    public: {
      githubBaseUrl: "https://api.github.com",
    },
  },

Additional context
No response
Logs
# Starting phase: build

196

2024-05-14T14:30:43.692Z [INFO]: # Executing command: export NUXT_GITHUB_SECRET=$(aws ssm get-parameter --name "/amplify/d2zk1p9qtbvjcd/main/AMPLIFY_secrets_nuxt_GITHUB_SECRET" --with-decryption --query Parameter.Value --output text)

197

2024-05-14T14:31:00.963Z [INFO]: # Executing command: echo "NUXT_GITHUB_SECRET=$NUXT_GITHUB_SECRET" >> .env

198

2024-05-14T14:31:00.969Z [INFO]: # Executing command: pnpm run build

199

2024-05-14T14:31:01.368Z [INFO]: > portfolio-vue@ build /codebuild/output/src707491585/src/portfolio-vue

HI, what was the solution? Currently having similar issues getting .env variables into AWS Amplify site. It looks like you've just manually added them to the amplify.yml to get them in there, but this is not mentioned in the Nuxt docs that I can see? thanks

Hello @ash-p-uk, I managed to resolve it by removing quotation marks surrounding the parameter name.
If you're only getting a single parameter from AWS SSM, this is how the code would look like:
build:
      commands:
        - export NUXT_SSM1=$(aws ssm get-parameter --name /amplify/ssm1 --with-decryption --query Parameter.Value --output text)
        - echo "NUXT_SSM1=$NUXT_SSM1" >> .env

whereas if you're getting multiple parameters, it's much better to use get-parameters for better optimization.
preBuild:
      commands:
        # Required to install jq as an admin user with the following command
        - sudo yum install -y jq
build:
      commands:
        - PARAMETERS=$(aws ssm get-parameters --names /amplify/ssm1 /amplify/ssm2 --with-decryption --query "Parameters[*].{Name:Name,Value:Value}")
        - export NUXT_SSM1=$(echo $PARAMETERS | jq -r '.[] | select(.Name=="/amplify/ssm1").Value')
        - export NUXT_SSM2=$(echo $PARAMETERS | jq -r '.[] | select(.Name=="/amplify/ssm2").Value')
        - |
          cat <<EOF >> .env
          NUXT_SSM1=$NUXT_SSM1
          NUXT_SSM2=$NUXT_SSM2
          EOF
        - pnpm run build


GameRegion should use smart pointers

Game Region is currently using manual memory management.
Clean this up for safety.

This issue is no longer needed with that change to GameRegion. Closing.


docs: Add flynn route command in basics doc

Fixes #4280
Signed-off-by: Mriyam Tamuli<EMAIL_ADDRESS>

Thanks!


chore: add warning note to readme

If we confirm that there is no more errors, we just close this.

There should be no errors now. Closing


http api doesn't listen on <IP_ADDRESS> - can't be used in docker container

Issue summary
The built in http api doesn't listen on <IP_ADDRESS> like all of the rest of the services, making it unusable when running inside of a docker container.
Here's some supporting logs. Note how the last log doesn't even show a host that it's listening on 👀
[2023-12-25T07:34:35Z INFO  hls::server] Hls server listening on http://<IP_ADDRESS>:8080
[2023-12-25T07:34:35Z INFO  rtmp::rtmp] Rtmp server listening on tcp://<IP_ADDRESS>:1935
[2023-12-25T07:34:35Z INFO  xiu::api] Http api server listening on http://:8000

Proposed Solutions
Can we update the default host for the http api to listen on <IP_ADDRESS> list the rest of the services?
Please let me know if you'd like me to do this and I can make a PR!
Context
OS: macOS
Platform: Docker
Config:
[hls]
enabled = true
port = 8080
need_record = true

[rtmp]
enabled = true
port = 1935

please go ahead, deploy using docker is very convenient.

Made the PR! This one isn't very big, just adds the <IP_ADDRESS> host instead of <IP_ADDRESS> host 😎


🐛  [cloud_firestore] Flutter Web Doesn't Provide Link for Firestore Index

Bug report
In creating a Firestore query, I am not provided a link for creating an index with Firestore in the way that I am when developing an App or a regular web site with JavaScript.  Nothing comes up in my debug console in Android Studio or the Browser console. In addition, after manually creating the compound index, the filtered stream does return, but it will appear and suddenly disappear.
Primary Issues:

No link provided to create composite Index with Firestore.
There is some sort of double callback where, after an index is manually created, the data appears and suddenly disappears.

Steps to reproduce
How to replicate:

In a flutter web site project, create a query with a double .where filter as below:

return facilityList.doc(facility)
.collection('attendance archive')
.where('dateTime', isGreaterThanOrEqualTo: newDate)
.where('id', whereIn: [childID])
.orderBy('dateTime').limit(20)
.snapshots()
.map(_archiveListFromSnapshot);

Expected behavior
When run, you should return an error prompting to create a composite index in Firestore.  After creating the index, the query should return data, but instead it seems to double call and return data then null.
This is very related to #774 and #18948 of the main Flutter github, however they were not Flutter Web issues, and original App issues. This issue continues for Web. The behavior is nearly identical with the double fire, and data showing and suddenly disappearing.

Additional context

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.7 19H15 x86_64, locale en-US)
• Flutter version 1.23.0-18.1.pre at /Users/bryanhunsberger/Developer/flutter
• Framework revision 198df79 (6 weeks ago), 2020-10-15 12:04:33 -0700
• Engine revision 1d12d82d9c
• Dart version 2.11.0 (build 2.11.0-213.1.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
• Android SDK at /Users/bryanhunsberger/Library/Android/sdk
• Platform android-30, build-tools 30.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.2, Build version 12B45b
• CocoaPods version 1.10.0.beta.2

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (2 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web) • chrome • web-javascript • Google Chrome 87.0.4280.67

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.11.0-213.1.beta
Flutter SDK 1.23.0-18.1.pre
safelystow 1.0.0+1

dependencies:
- auto_size_text 2.1.0 [flutter]
- cloud_firestore 0.14.3 [flutter meta quiver firebase_core firebase_core_platform_interface cloud_firestore_platform_interface cloud_firestore_web]
- cloud_firestore_web 0.2.1 [flutter flutter_web_plugins http_parser meta firebase_core firebase_core_web cloud_firestore_platform_interface js]
- cloud_functions 0.7.0+1 [meta flutter firebase_core firebase_core_platform_interface cloud_functions_platform_interface cloud_functions_web]
- cupertino_icons 1.0.0
- device_preview 0.4.8 [font_awesome_flutter http freezed_annotation json_annotation flutter flutter_localizations meta shared_preferences shared_preferences_macos]
- email_validator 1.0.6
- firebase_analytics 6.2.0 [meta flutter firebase_core firebase_analytics_web firebase_analytics_platform_interface]
- firebase_auth 0.18.3 [meta firebase_core firebase_core_platform_interface firebase_auth_platform_interface firebase_auth_web flutter]
- firebase_core 0.5.2 [firebase_core_platform_interface flutter quiver meta firebase_core_web]
- firebase_image 0.3.0 [flutter firebase_core firebase_storage sqflite path path_provider]
- firebase_remote_config 0.4.2 [flutter firebase_core]
- firebase_storage 5.0.1 [flutter firebase_core firebase_core_platform_interface firebase_storage_platform_interface quiver]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_launcher_icons 0.7.5 [image args yaml]
- flutter_spinkit 4.1.2+1 [flutter]
- get_it 5.0.1 [async meta]
- image_cropper 1.3.1 [flutter]
- image_picker 0.6.7+14 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- package_info 0.4.3+2 [flutter]
- provider 4.3.2+2 [flutter nested collection]
- random_string 2.1.0
- responsive_builder 0.3.0 [flutter]
- shared_preferences 0.5.12+4 [meta flutter shared_preferences_platform_interface shared_preferences_linux shared_preferences_macos shared_preferences_web shared_preferences_windows]
- url_launcher 5.7.10 [flutter url_launcher_platform_interface url_launcher_web url_launcher_linux url_launcher_macos url_launcher_windows]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- archive 2.0.13 [crypto args path]
- args 1.6.0
- async 2.5.0-nullsafety.1 [collection]
- boolean_selector 2.1.0-nullsafety.1 [source_span string_scanner]
- characters 1.1.0-nullsafety.3
- charcode 1.2.0-nullsafety.1
- clock 1.1.0-nullsafety.1
- cloud_firestore_platform_interface 2.2.0 [flutter meta collection firebase_core plugin_platform_interface]
- cloud_functions_platform_interface 3.0.1 [flutter meta firebase_core plugin_platform_interface]
- cloud_functions_web 3.0.1 [firebase_core cloud_functions_platform_interface flutter flutter_web_plugins firebase http_parser meta]
- collection 1.15.0-nullsafety.3
- convert 2.1.1 [charcode typed_data]
- crypto 2.1.5 [collection convert typed_data]
- fake_async 1.2.0-nullsafety.1 [clock collection]
- ffi 0.1.3
- file 5.2.1 [intl meta path]
- firebase 7.3.2 [http http_parser js]
- firebase_analytics_platform_interface 1.0.3 [flutter meta]
- firebase_analytics_web 0.1.1 [flutter flutter_web_plugins firebase firebase_analytics_platform_interface meta]
- firebase_auth_platform_interface 2.1.3 [flutter meta firebase_core plugin_platform_interface]
- firebase_auth_web 0.3.2 [flutter flutter_web_plugins meta http_parser intl firebase_core firebase_core_web firebase_auth_platform_interface js]
- firebase_core_platform_interface 2.0.0 [flutter meta plugin_platform_interface quiver]
- firebase_core_web 0.2.1 [firebase_core_platform_interface flutter flutter_web_plugins meta js]
- firebase_storage_platform_interface 1.0.1 [flutter meta collection firebase_core plugin_platform_interface]
- flutter_localizations 0.0.0 [flutter intl characters collection meta path typed_data vector_math]
- flutter_plugin_android_lifecycle 1.0.11 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- font_awesome_flutter 8.10.0 [flutter]
- freezed_annotation 0.11.0+1 [collection json_annotation meta]
- http 0.12.2 [http_parser path pedantic]
- http_parser 3.1.4 [charcode collection source_span string_scanner typed_data]
- image 2.1.19 [archive xml meta]
- image_picker_platform_interface 1.1.1 [flutter meta http plugin_platform_interface]
- intl 0.16.1 [path]
- js 0.6.3-nullsafety.1
- json_annotation 3.1.1
- matcher 0.12.10-nullsafety.1 [stack_trace]
- meta 1.3.0-nullsafety.4
- nested 0.0.4 [flutter]
- path 1.8.0-nullsafety.1
- path_provider 1.6.24 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- path_provider_linux 0.0.1+2 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 0.0.4+6 [flutter]
- path_provider_platform_interface 1.0.4 [flutter meta platform plugin_platform_interface]
- path_provider_windows 0.0.4+3 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.9.2 [meta]
- petitparser 3.1.0 [meta]
- platform 2.2.1
- plugin_platform_interface 1.0.3 [meta]
- process 3.0.13 [file intl meta path platform]
- quiver 2.1.5 [matcher meta]
- shared_preferences_linux 0.0.2+4 [file flutter meta path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 0.0.1+11 [shared_preferences_platform_interface flutter]
- shared_preferences_platform_interface 1.0.4 [meta flutter]
- shared_preferences_web 0.1.2+7 [shared_preferences_platform_interface flutter flutter_web_plugins meta]
- shared_preferences_windows 0.0.1+3 [shared_preferences_platform_interface flutter ffi file meta path path_provider_platform_interface path_provider_windows]
- sky_engine 0.0.99
- source_span 1.8.0-nullsafety.2 [charcode collection path term_glyph]
- sqflite 1.3.2+1 [flutter sqflite_common path]
- sqflite_common 1.0.2+1 [synchronized path meta]
- stack_trace 1.10.0-nullsafety.2 [path]
- stream_channel 2.1.0-nullsafety.1 [async]
- string_scanner 1.1.0-nullsafety.1 [charcode source_span]
- synchronized 2.2.0+2
- term_glyph 1.2.0-nullsafety.1
- test_api 0.2.19-nullsafety.2 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0-nullsafety.3 [collection]
- url_launcher_linux 0.0.1+4 [flutter]
- url_launcher_macos 0.0.1+9 [flutter]
- url_launcher_platform_interface 1.0.9 [flutter meta plugin_platform_interface]
- url_launcher_web 0.1.5+1 [url_launcher_platform_interface flutter flutter_web_plugins meta]
- url_launcher_windows 0.0.1+3 [flutter]
- vector_math 2.1.0-nullsafety.3
- win32 1.7.4 [ffi]
- xdg_directories 0.1.2 [meta path process]
- xml 4.5.1 [collection convert meta petitparser]
- yaml 2.2.1 [charcode collection string_scanner source_span]

Hi @jbryanh
Could you please provide a minimal complete reproducible code sample?
Thank you

I'm somewhat a novice, so I'm not sure how complete you need it.  It's a pretty straightforward issue that has already been solved for apps.  When the issue was resolved previously for App, the provided example was basically the below.  I hope it will suffice here as well.
The below returns a stream that would provide all docs in a collection that match the ID, and have DateTime in the last 24 hours. When I run this individually for ID or the date, I correctly return the corresponding data.  When I use both .where conditions, there is a single record that should return, and it does pop up, but then disappears instantly.
I did not ever get a prompt with a firebase link to create the composite index.
  List<ArchiveData> _archiveListFromSnapshot(QuerySnapshot snapshot) {
    return snapshot.docs.map((doc) {
      return ArchiveData(
        id: doc.data()['id'],
        childFirstName: doc.data()['firstName'],
        childLastName: doc.data()['lastName'],
        dateTime: doc.data()['dateTime'],
      );
    }).toList();
  }

  Stream<List<ArchiveData>> get archiveList {
    var beginningDate = DateTime.now();
    var newDate = beginningDate.subtract(Duration(days: 1));
    return FirebaseFirestore.instance.collection('CollectionID')
        .doc(DocID)
        .collection('CollectionIdTwo')
        .where('dateTime', isGreaterThanOrEqualTo: newDate)
        .where('id', whereIn: [childID])
        .orderBy('dateTime')
        .limit(20)
        .snapshots()
        .map(_archiveListFromSnapshot);
  }

By complete I mean a code sample I could just paste into main.dart and run. This means it should include all the necessary imports and not throw any errors. There are a lot of missing references in this snippet.
For cloud firestore it would be nice if you add code to set the docs that should be returned in the stream.


Place dirt on grass in area mode

Currently when trying to terraform using the area mode, you cannot just lift the ground because the wand will specifically ask you for grass, when it should really just use dirt.
For anyone wondering, I just noticed that you can put dirt into your off-hand and it will use that instead of the grass.

Yes, that's intended behavior, I'm also working on a way to use the palette as a kind of selection for placement, e.g. if you want to place stone over a wall made of diorite and andesite, you would place andesite and diorite on a palette in the offhand and stone on a wand slot (as a reference block, the same way as the palette, not for storage), and even a second palette to serve as the source


Are there semantic data tags that Word DOCX uses?

The question is if a DOCX version of a semantically tagged article (some sort of micro-data) will retain the semantic tags in MS Word. Can these tags also be edited in MS Word?

This paper point to MS Word products that might have existed once
https://www.sciencedirect.com/science/article/abs/pii/S1071581907000468


Update MANIFEST.in

The .so are still included.

Current coverage is 42.55%

Merging #280 into devel will not affect coverage as of ef7aceb

@@            devel    #280   diff @@
=====================================
  Files         165     165
  Stmts       14984   14984
  Branches     2165    2165
  Methods         0       0
=====================================
  Hit          6376    6376
  Partial       312     312
  Missed       8296    8296

Review entire Coverage Diff as of ef7aceb

Powered by Codecov. Updated on successful CI builds.


Install error

The idea of try is awesome, thanks! Unfortunately I was trying to try try  but I couldn't install it:
$ python -V
Python 3.5.1
$ pip -V
pip 8.1.0 from /usr/local/var/pyenv/versions/3.5.1/lib/python3.5/site-packages (python 3.5)
$ pip install trypackage
Collecting trypackage
  Using cached trypackage-0.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/lr/gd0yq9m90rv_gz682gqt7ylc0000gn/T/pip-build-ftxztokx/trypackage/setup.py", line 44, in <module>
        install_requires=list(x.name for x in parse_requirements("./requirements.txt")),
      File "/private/var/folders/lr/gd0yq9m90rv_gz682gqt7ylc0000gn/T/pip-build-ftxztokx/trypackage/setup.py", line 44, in <genexpr>
        install_requires=list(x.name for x in parse_requirements("./requirements.txt")),
      File "/usr/local/var/pyenv/versions/3.5.1/lib/python3.5/site-packages/pip/req/req_file.py", line 79, in parse_requirements
        "parse_requirements() missing 1 required keyword argument: "
    TypeError: parse_requirements() missing 1 required keyword argument: 'session'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/lr/gd0yq9m90rv_gz682gqt7ylc0000gn/T/pip-build-ftxztokx/trypackage/
------------------------------------------------------------
$

Basically my setup is Mac OS X 11 (El Captain), using Python via pyenv.

Thanks for reporting :beers:
The signature of parse_requirements seems to have changed in newer versions of pip.
I fixed it with 4dbbd7dcf3962dc02b3df47af5d0e29714e77675 and release 0.1.2

Awesome! Cheers : )
$ pip install trypackage
Collecting trypackage
  Downloading trypackage-0.1.2.tar.gz
Collecting click (from trypackage)
  Using cached click-6.3-py2.py3-none-any.whl
Installing collected packages: click, trypackage
  Running setup.py install for trypackage ... done
Successfully installed click-6.3 trypackage-0.1.2
------------------------------------------------------------
$


Resolve warnings when targeting .NET 6

Motivation
We'd rather not have warnings.
Modifications
Add .NET 6 targets to .Client libraries so we get the warnings in VS as
well.
Fix various null reference warnings.
Switch to using Uri.EscapeDataString when building a query string.

/merge


Panic on Loading Asset from Absolute Path

Bevy version
0.12.1
Also tested on commit hash: https://github.com/bevyengine/bevy/commit/41c362051cbfc57ecbaca57b8546a5695717b727
Relevant system information
Dell Precision 7670
Windows 11 Enterprise (10.0.22621 Build 22621)
What you did
I've been trying to load assets from absolute file paths (I'm making a small GLTF viewer which does not come pre-packaged with its models). Loading with asset_server.load() (where asset_server is Res) worked okay in Bevy 0.11 but in 0.12 I hit problems.
For example:
commands.spawn((
    SceneBundle {
        // scene: asset_server.load(r"C:\Users\user\my-proj\assets\models\model.glb#Scene0"), // throws error
        scene: asset_server.load(r"models\model.glb#Scene0"), // works!
        ..default()
    },
    ModelInstance {},
));

I also tested this against absolute paths provided from drag-and-drop events.
What went wrong
I expected the two load() lines above to be equivalent, but if I use the one with the absolute path I get the following error and my application panics:
thread 'Compute Task Pool (15)' panicked at C:\Users\koceom0\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_asset-0.12.0\src\path.rs:458:70:
called `Result::unwrap()` on an `Err` value: InvalidSourceSyntax

I don't see anything about this specifically in the migration guide, so I'm assuming this is not expected behaviour.
Additional information
I was able to work around this issue by using the pathdiff crate to convert the absolute path into one which is relative to the current working directory. With this work-around it seems I'm able to load assets from anywhere on the system, confirming for me that issue above is not an access one.

After looking at the line number from the panic message, I believe it is raised in AssetPath::parse_internal.
https://github.com/bevyengine/bevy/blob/4778fbeb65d840eb39bda017fd428ebfc17a1153/crates/bevy_asset/src/path.rs#L138-L150
My guess is that the code does not like the C:\ syntax at the beginning of the path. I think it was designed to extract the :// syntax commonly seen in URLs, but got tripped up when it saw the backslash.

So after some testing, absolute paths still seem to work on Unix-based systems, just not Windows.
use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_systems(Startup, setup)
        .run();
}

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2dBundle::default());

    commands.spawn(SpriteBundle {
        texture: asset_server.load("/Users/bd103/Downloads/random_image.png"),
        ..default()
    });
}

I think an important to ask is whether you should load absolute paths outside of the assets/ folder. I could imagine some code making incorrect assumptions and breaking, such as what you just encountered.
On the other hand, Bevy doesn't really provide any other good way to load user-provided paths (such as through drag-and-drop). It seems to shame to have to manually call fs::open when a lot of useful logic is already pre-defined.


Print logfile when test case crash

Because we run bash with -e,  when a test case crash, the parent process will also exit, without print out the logfile.
This is confusing for run a single crash test case since the printed result is same with a successful one.
Like the "mounts/mounts.t"

Codecov Report

Merging #265 (8c86ef8) into main (7f6bc2c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #265   +/-   ##
=======================================
  Coverage   40.89%   40.89%
=======================================
  Files          15       15
  Lines        1445     1445
  Branches      410      410
=======================================
  Hits          591      591
  Misses        649      649
  Partials      205      205


Module '"../../redis/dist"' has no exported member 'RedisClient'.

Hey,
When I try to use the library I get the following error:
Is there anything that can be done about it?
Thanks in advance for the support.

Environment:

Node.js Version: v16.14.2

Redis Server Version: Redis server v=7.0.0 sha=00000000:0 malloc=libc bits=64 build=fa9ffba7836907da

Node Redis Version<EMAIL_ADDRESS>

Platform: MacOS 12.3.1

I found this as I too was curious how to properly type the return from createClient(). It looks like RedisClientType can be used.
import { RedisClientType } from 'redis';


Next version 4.x

Hi all,
Following the most recent issues on this package, #21, and #20, I've started a new branch for the next version, 4.x.
The goal for now is to implement the same features as in v3.x, but with a more modern codebase, using the latest javascript features.
I'll be glad to have some suggestions on what can be done for this purpose.
From the two latest issues posted here, we already have these:

Use the fetch api for ajax calls.
Get rid of the eval() calls.
Get rid of the deprecated or outdated javascript calls, expressions or constructions.
Add tests.

What else can we do to improve the library?

Use javascript modules?
Use classes?
Use Typescript?
Use some third party libraries instead of implementing the features (DOM, array, string, on page ready) from scratch? Which ones?
Provide a lightweight jQuery-like library?

Your suggestions are welcome.
Thanks,
Thierry

Hi,
I just made the first commit following the @iReserveApps comment on #21.
https://github.com/jaxon-php/jaxon-js/commit/039faae14d18d66b43d647b5c92a45288a79a65b
This commit removes calls to eval() in the jaxon.cmd.dom functions.

Hi,
I've now removed all calls to eval() and new Function in the library.
When the library needs to execute custom js code, it now creates a script tag that saves a function with the js code as body in a dedicated attribute, which is then used to execute the js code.
The script tag can then be safely removed.
For example, if we want to execute console.log("This is a simple message"), the library adds the following tag.
<script>
  jaxon.cmd.script.context.delegateCall = () => { console.log("This is a simple message") }
</script>

And then calls jaxon.cmd.script.context.delegateCall().
I successfully tested on Chrome and Firefox.
@iReserveApps, following your comment on jQuery in #21, I checked and it appears that the calls to jQuery from the PHP response object will use the above technique to execute jQuery code received from the server.
The question that may arise now is whether this can pose performance or security issues.

That looks very promising.
Its beyond my understanding of JS, but the approach makes sense.
I've tried it by executing the example
$response->script('console.log("This is a simple message")');
But something did not add up.
Get a fatal on the delegate function
TypeError: jaxon.cmd.script.context.delegateCall is not a function     execute jaxon.core.js:1835     call jaxon.core.js:2301

Does this makes sense to you?

One more test is giving more clarity.
The step
jaxon.config.baseDocument.body.appendChild(scriptTag);
Is blocked by CSP:
Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). [jaxon.core.js:499:39](https://local/javascript/jaxon-3.3.8/jaxon.core.js)

And another test, following the principle here
https://csp.withgoogle.com/docs/adopting-csp.html

section "Refactor calls to JS APIs incompatible with CSP"

Added this to the CSP: default-src 'self' 'nonce-rAnd0m'
And then this nonce to jaxon:
const scriptTag = jaxon.config.baseDocument.createElement('script');         scriptTag.nonce = 'rAnd0m';         scriptTag.setAttribute('id', scriptTagId);
And voila, the script executes.
Now the next question is how to generate a real nonce, which should be page specific.
Suggestion to put it in a similar way as to the CSRF token?
Also server generated, page specific. So a nonce here makes sense.
Agreed @feuzeu ?

That looks very promising.
Its beyond my understanding of JS, but the approach makes sense.
I've tried it by executing the example $response->script('console.log("This is a simple message")');
But something did not add up. Get a fatal on the delegate function TypeError: jaxon.cmd.script.context.delegateCall is not a function execute jaxon.core.js:1835 call jaxon.core.js:2301

Does this makes sense to you?

I'm sorry but I can't figure out what has happened. The jaxon.tools.dom.createFunction() function is supposed to have defined that variable. May be you can comment the line which delete the script tag in the jaxon.tools.dom.createFunction() function, and then add a breakpoint in that same function.
I tested and Chrome was able to step in the function is the new script tag.

And another test, following the principle here https://csp.withgoogle.com/docs/adopting-csp.html

section "Refactor calls to JS APIs incompatible with CSP"

Added this to the CSP: default-src 'self' 'nonce-rAnd0m'
And then this nonce to jaxon: const scriptTag = jaxon.config.baseDocument.createElement('script'); scriptTag.nonce = 'rAnd0m'; scriptTag.setAttribute('id', scriptTagId);
And voila, the script executes. Now the next question is how to generate a real nonce, which should be page specific.
Suggestion to put it in a similar way as to the CSRF token? Also server generated, page specific. So a nonce here makes sense. Agreed @feuzeu ?

First of all, thanks for the report.
I think we have a clear conclusion now. It is impossible to securely execute a random string of js code in a browser, which is not so surprising, after all.
Thanks also for the tip about the nonce. I don't know how its works yet, but knowing that it can solve that security issue is really great.
As I see it for now , the PHP app could insert an optional nonce in its response, which the js library would insert in the script tag. I need to check how to do that in the PHP library.

Hi all,
I just commited a big change on the new branch.
All the "classes" have been rewritten and are now defined as IIFE (Immediately Invoked Function Expressions).
The biggest advantage is the ability to define local functions and variables, with some kind of private access. No need to use the entire path in the class hierarchy to call each function anymore.
The codebase also uses more modern js code style.
As a result, the size of the minified core library (jaxon.core.min.js) is now 23.6kb, ie an impressive 33,7% reduction from the previous 35.6kb.
Next step, we need to address the CSP security issues, and add tests to the library.

Hi all,
I've finally implemented quite a different solution to the CSP security issues.
The library can now execute some simple js expressions based on a json representation (and not the raw js source code).
The code is still simple (140 lines of code in https://github.com/jaxon-php/jaxon-js/blob/v4.x/src/cmd/json.js), it is secure since no new function can be defined (excepted event handlers which actually can only be wrappers on existing functions), and it has enough features to support the functions in the library that need to run js code.
Documentation, tests and examples are coming soon.

Hi all,
I've moved the latest changes to the main branch. That means the first 4.x release is coming soon.
The next release will include the latest improvments on the library, while keeping compatibility with the previous 3.x releases. The minified file size is now 21.9kb, and I've also started writing tests with the Jest library (https://jestjs.io).
Unfortunately, keeping compatibility with the previous release also means that the CSP issues will not be solved in the 4.x release. I've postponed it to the 5.x release, which will feature a complete rewrite of the ajax response, both in Javascript and PHP.
So the above json.js file is moved to https://github.com/jaxon-php/jaxon-js/blob/v5.x/src/cmd/json.js.

Hi,
I've just started tagging rc of the v5, on both the PHP and Javascript libraries.
Js: https://github.com/jaxon-php/jaxon-js/tree/v5.x
PHP: https://github.com/jaxon-php/jaxon-core/tree/v5.x
I've also upgraded the exemples, which now work with the above v5 branches.
https://github.com/jaxon-php/jaxon-examples/tree/v5.x/web/exp
This version on the js package includes a rewrite of the JSON representation of commands, in addition to the following new features:

Dialogs (modal, alerts): https://github.com/jaxon-php/jaxon-examples/tree/v5.x/web/exp/dialogs
Confirm question: https://github.com/jaxon-php/jaxon-examples/tree/v5.x/web/exp/confirm
Ajax call pagination: https://github.com/jaxon-php/jaxon-examples/blob/v5.x/web/exp/pagination
The mini engine to execute json expressions we have discussed earlier, which will solve the CSP security issues by removing all dynamically generated js code.


fix(plugin-lighthouse): process empty array flags

Closes #612
This PR addresses an issue where the skipAudits flag was being ignored if onlyAudits or onlyCategories were present as empty arrays in the Lighthouse plugin configuration. The normalizeFlags function has been updated to remove any flags with empty array values, ensuring that skipAudits operates correctly.
Context
In Lighthouse, the onlyAudits, onlyCategories, and skipAudits flags are used to determine which audits to include in the report. However, a bug occurred when onlyAudits or onlyCategories were provided as empty arrays. This caused the skipAudits flag to be ignored, leading to all audits being included in the report, even those that were supposed to be skipped.
Source: https://github.com/GoogleChrome/lighthouse/blob/main/core/config/filters.js#L269-L276

Did you reproduce it like here:
https://github.com/code-pushup/cli/issues/612#issue-2234484099

Did you reproduce it like here, or should I do it? #612 (comment)

Of course, how would I otherwise see that it's fixed, then?


question: /Groups: MEMBER as well as READER?

i'm new to uaa, among other things, trying to understand the interactions between users, clients and scopes.
so, i set up a user called with zones.uaa.admin and i set up a client with same,
then i issued the command:
uaac groups

and got zero hits.
after some research i came across this line in ScimGroupEndpoints.
and it turns out that the user has an association with the zones.uaa.admingroup with a "role" of MEMBER and not READER, so it isn't showing up in the result.
it seems like it should show up in the result set, and that the filter by READER should be expanded to include MEMBER as well?
i would be happy to submit a p/r, if someone can verify appropriate behavior.
cheers,
tony.

zones.uaa.admin is not a valid scope. This pattern is only used for zones other than the UAA. If you want to read groups in the UAA zone you will need either scim.read or else you need to make a request to /groups/<group-id> as a READER of the specified group.


Send stream_ids in messages + node cleanup

Merged, thanks @showell!
I think there's probably a sweep we should at some point figure out how to do for having the node tests only construct valid-format objects.  E.g. have a make_test_person function that requires a certain minimum set of parameters (e.g. user_id, etc.) and ensures the result has all the fields of an actual user object by using defaults of things like "not a bot, not an admin", etc., and then convert all of our test currently using people.add_in_realm to use it.


Adding a callback for more flexibility

passport.serializeUser dose not set the user object, req.user is always from convertProfileToUser function. But the seralizer data is set to req._passport.session.user.
I think its will add more flexibility for the developer if there is a callback here.
https://github.com/drstearns/passport-uwshib/blob/master/index.js#L102

Thanks for the suggestion, but I want to clarify a few things to make sure I'm understanding you correctly. The convertProfileToUser() function is called only once after a successful authentication with the UW IdP. It just converts those crazy SAML property names returned by the UW IdP into names that make sense.
The strategy constructs the initial user object just once after authentication. Passport then calls the function you passed to passport.serializeUser() to serialize the user object into the session state. You can do anything you want during this function, and whatever you pass as the second argument to the supplied done function will get serialized into the session state.
On the next request, Passport will call the function you passed to passport.deserializeUser(), handing you whatever you serialized to the session state and a done function. Whatever you pass as the second argument to that done function will be stored on req.user for all successive routes.
If you are storing user information in your database, all you really need from the UW IdP is the user's NetID, as that is the user's unique key. The only thing you need to serialize in that case is the NetID, and your deserialize function should use that NetID to fetch the user record from the database (or an in-memory cache).
So what specifically do you want to do that you can't do now, and how would you like to do it?

I was suppose to say deserializeUser
Actually, I was doing the same as you mentoned seralize only the netID and deseralize the user from database.
But when we create a
saml.Strategy(options, function(){ //callback }

then callback function will set the req.user, when we call done() without seralizing or deseralizing.. So I am just suggesting that if there is a callback at the end of convertProfileToUser() function that can passed when creating the smal strategy instead of passport.use(uwstrategy);  now
passport.use(uwstrategy, function(user){
// findUserById
done(null, user);
});

So we dont need to use the seralize and deseralize user function.. I am suggesting this because most of the other stratagies dosent require us to seralize or deseralize.

Sorry, perhaps I'm misunderstanding you, but the serialize/deserialize functionality of Passport sessions isn't the same as the callback function used with Passport strategies. The strategy callback is called only once after a successful authentication. Passport sessions enable you to keep the user signed in between requests to your web server. If you don't serialize/deserialize to the session, then every request for a protected resource on your web server will trigger a re-authentication. In the case of this strategy, that would mean a redirect to the UW IdP and another redirect back to your web app. Is that what you want?

I think, I understand what you are saying..Which makes sense.. But if you take the library passport-saml or passport-twitter they don't ask the user to seralize seperatley instead in the callback they set the user.
var SamlStrategy = require('passport-saml').Strategy;
[...]

passport.use(new SamlStrategy(
  {
    path: '/login/callback',
    entryPoint: 'https://openidp.feide.no/simplesaml/saml2/idp/SSOService.php',
    issuer: 'passport-saml'
  },
  function(profile, done) {
    findByEmail(profile.email, function(err, user) {
      if (err) {
        return done(err);
      }
      return done(null, user);
    });
  })
);

I think you're confusing the strategy callback with Passport sessions. That callback function you pass to the SamlStrategy constructor is called when the IdP posts back to your login callback route (typically /login/callback). That function has the opportunity to translate the profile data posted by the IdP into something else. But once that /login/callback route finishes, the request is over, and if you don't serialize the user to the session state, the next request to your web server will look like a new unauthenticated user. That means you would redirect to your /login route, which would redirect to the UW IdP server, which would then redirect back to your /login/callback route with the user's profile data, and finally back to the originally requested route. That would be insanely slow and inefficient.
Just because the documentation for passport-saml doesn't mention Passport sessions doesn't mean that you don't need to use them. Passport sessions are a general feature of Passport, and they are unrelated to which strategy you use. Passport sessions allow you to save something about the user to the session state, and reconstitute the user on the next request. Look up any tutorial on how to use Passport and you'll see them using Passport sessions, regardless of which strategy is used in the tutorial.
Does that make sense? Let me know if I'm misunderstanding you.

If you still think I should support a custom callback given what I've explained, let me know. Otherwise, I'll close this.

I think you can close this.

OK thanks for confirming.

I thought about this some more and I can see one scenario where this would be useful: say your server wants to auto-insert a new user record after successful authentication with the UW IdP. You can sort of do this already by adding another middleware function to your login/callback route, but I can see how it might be easier or more intuitive to do this via a callback function passed to the constructor. I'll add this in the near future.
Also, I discovered that the function passed to passport.serializeUser() is called only once after successful authentication. From then on, only the deserialize function is called at the start of each request, until the session is ended with a logout. I originally thought that the serialize function was called at the end of each request, but that wasn't correct.

This is exactly how I am using in my application, my server auto-inserts the new user record.. Thanks for reopening this issue. Actually I can submit a pull request for this feature as I did that for my app.. Let  me know if you are working on it.

Thanks for the offer, but I need to also build a real test case so that I be certain that these changes don't break existing clients. So I'll make this change along with the test case development, and updating the README.
Note that for now, I think you can just add another middleware function to your login/callback route, like so:
function ensureUser(req, res, next) {
    //ensure that the user is in your database
    //reset req.user to database version
    next();
}
//...
app.post(loginCallbackUrl, passport.authenticate(strategy.name), ensureUser, uwshib.backToUrl());

But I haven't tried this myself yet, so I don't know for sure if it will do the trick.


NavigationBarIOS icon tintColor not accurate on device

When using images for the left and right button for NavigationBarIOS I am specifying the tintColor '#FFFFFF' - which displays correctly on the Simulator as white. However when running on the device it appears to be more grey than anything. The image itself is pure white.
Screenshot attached and code below.
 <NavigatorIOS
          ref="nav"
          style={styles.container}
          initialRoute={{
      component: InboxView,
      title: 'Inbox',
      rightButtonIcon: require("./assets/fa-inbox.png"),
      onRightButtonPress: () => {
        this._handleRightButtonPress()
      },
      leftButtonIcon: require("./assets/fa-bars.png"),
      onLeftButtonPress: () => {
        this._handleLeftButtonPress()
      },
    }}
          tintColor="#ffffff"
          barTintColor="#02B491"
          titleTextColor="#FFFFFF"
          translucent={false}
      />

This was my mistake, on my iPhone there is an accessibility setting which named 'Reduce White Point' under increase contrast which I had on, which was causing this.


Prevent return statement from using in block in shader main functions

Fix https://github.com/godotengine/godot/issues/55234

Thanks!


hwdata: 0.313 -> 0.314

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/hwdata/versions.
meta.description for hwdata is: '"Hardware Database, including Monitors, pci.ids, usb.ids, and video cards"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.314 with grep in /nix/store/gcggvzijxsf6nbqjcz8l7fc7284lls58-hwdata-0.314

directory tree listing: https://gist.github.com/c809898a68cd78baeca97575cfc1b003

du listing: https://gist.github.com/5c9da81d52b08917d4e33f7395e0ab89

Test this build with Cachix (click to expand)

One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout e36b4c5894d44647355ce9701262db4d1ece5d1d && nix-shell --pure -I nixpkgs=. -p hwdata

hwdata was modified in #44606

closing as it's easier to redo the bump from current master.


Cache bitfield to disk

Currently every restart will result in all stored data being reverified.
We should cache the bitfield to disk once in while so this is not needed.

It's still needed to make sure the file hasn't been corrupted. I was thinking about this and doing "lazy hashing" only when the piece is requested by the file stream or a client, or when a piece is about to be downloaded.

Lazy verification probably won't work since you need to send the bitfield with your available pieces right away when you connect to another peer (which means you have to verify all pieces right away) :(

Not exactly. The way I've seen other implementations do it (which would work well for us considering TorrentStream's purpose is a streaming implementation rather than a "download" implementation) is they hash progressively as needed and send 'have' messages whenever they hash a new piece. Ideally what you'd do is this:

Background verify the hashes sequentially, probably based on a queue of sorts.
Like is currently implemented with the "critical" pieces in torrent-stream, prioritize certain pieces in the hashing pipeline when they are requested by the client (eg. from the filestorage stream).

This means that in the overall scheme of things, the amount of time to fully hashcheck a torrent would be roughly the same as it is now but it would mean that critical pieces as requested by the storage stream would be hash checked first and could then be used. For example, a lot of video containers store crucial metadata at the end of and between streams meaning in order for you to stream those containers it would require the (currently sequential) hashchecker to fully hashcheck the entire file before it can fulfill the requests for the pieces near the end of the torrent.
With "lazy" hash checking, the storage stream could be available immediately, even before hash checking is complete, when a stream is requested it finds the piece at the offset requested and, if its been hash checked already either passes the data back or sends a request for the piece to the swarm.


ThreadLocal issue

Hi,
I'm using citeproc-java in a Tomcat web app and it works fine until I shutdown my Tomcat. At that time, I get the following error message in the logs:
15-Nov-2018 13:42:04.296 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [MyApp] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@164ff66]) and a value of type [de.undercouch.citeproc.script.JREScriptRunner] (value [de.undercouch.citeproc.script.JREScriptRunner@13558c8]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Any idea?
Thanks,
Benoit

Thanks for reporting this. I just pushed a patch that adds a removeThreadLocals() method to the CSL class. Add a ServletContextListener to your web application and call this new method when Tomcat destroys the context.

Thanks! Is it planned to release a new version of the library including this fix?

Yes. I'm currently working on it but it may take a couple of days/weeks due to lack of time. I hope this is OK. I can publish a snapshot at any time if you wish.

I can wait a new release - no worries. Thanks a lot!

@benoitcoppens I just released version 2.0.0

Thanks a lot!


Toast during missing participant report should be pale but not semitransparent?

If there is text behind the box, it looks messy. The box should be opaque, just a light color. It should probably also have a "dismiss" option?

Currently looks like this:

The code for this is here: https://github.com/Watts-Lab/deliberation-empirica/issues/763

Made opaque and also brought it to the top layer.


add test for toString(bytes)

Codecov Report

Merging #175 into master will increase coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #175      +/-   ##
=========================================
+ Coverage   79.53%   79.6%   +0.07%
=========================================
  Files          40      40
  Lines        2780    2780
=========================================
+ Hits         2211    2213       +2
+ Misses        418     417       -1
+ Partials      151     150       -1

Impacted Files
Coverage Δ

core/toX.go
100% <0%> (+1.9%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4ff0432...e53dd14. Read the comment docs.


Robot framework dependency does not have a fixed version.

Currently this libraries dependency on the main robot framework project is not version specific.
This means that it will sneakily upgrade robot despite us installing fixed versions of both robotframework and robotframework-requests

This is intentional we should always be supporting the latest RF and requests versions


Cleanup/#306 switch to constructor injection

Changes Unknown when pulling 2926d6c0391e23fc89f129cefc4a9efdf4298e01 on cleanup/#306-switch-to-constructor-injection into ** on develop**.

Coverage increased (+1.5%) to 52.615% when pulling e638b35440aab6baf4e3aabe578d6b671c6ef204 on cleanup/#306-switch-to-constructor-injection into 11a5b4b6d437f64f336ce6def77b291c25f45b9d on develop.