Connection

Hi, you do an amazing work. It is possible to modify the library to can receive my custom TCP Client and TCP Server? I would like to use Ethernet W5500 and ENC28J60 with ESP32.
Thanks you....

Hi, I don't quite understand what you want. if you are using something other than esp32, you can add support for your device. if you want to add a wired connection to esp32, then you don’t really need to modify anything, as far as I understand

This is my Hardware configuration.

Is possible to modify  the library to accept my ethrnet socket ?
Ex.
Now with your library i need to initialize WiFi and after that i do this :
const unsigned short mqttPort=1883;
broker.init(mqttPort);
I wolud like to initialize my ethernet and after that do like something this :
const unsigned short mqttPort=1883;
broker.init(mqttPort,EthTCPServer,EthTCPClient);

Your device like WT32_ETH01?

nope
WT32_ETH01 use Chip LAN8720A , i use Chip W5500 or ENC28J60.... I have an idea of the change you should make to the library .... can I suggest it?

oh yes, I understand that there is a different chip, but I'm in terms of software connection. did you watch this topic #19? If the library to connect is the same, then you don't have to add anything. In any case, it is interesting to hear your suggestion for the code.

i try to make a pull request. let's me knwo if you can see it

done

Now you can add your client and server. Let me know if it helped or not.

Yes, in part.
i created my file smqtt_user_socket.h and put this code insde:
#include <Ethernet.h>
class TCPClient: EthernetClient {
public:
bool isConnected() {
if (Ethernet.linkStatus() == LinkON) return true;
return false;
}
};
class TCPServer: EthernetServer {
public:
void stop() {}
bool isConnected() {
if (Ethernet.linkStatus() == LinkON) return true;
return false;
}
};
but after i initialize the broker i get this error:
<IP_ADDRESS>
[   730][V][WiFiServer.h:42] WiFiServer(): WiFiServer::WiFiServer(port=1883, ...)
assert failed: tcpip_send_msg_wait_sem IDF/components/lwip/lwip/src/api/tcpip.c:455 (Invalid mbox)
Backtrace:0x400834f9:0x3ffb25200x40087ff5:0x3ffb2540 0x4008cd6d:0x3ffb2560 0x400dedba:0x3ffb2690 0x400e93d5:0x3ffb26c0 0x400e9408:0x3ffb26e0 0x400dec31:0x3ffb2730 0x400d2266:0x3ffb2750 0x400d22dc:0x3ffb27a0 0x400d21e9:0x3ffb27c0 0x400d1ad3:0x3ffb27e0 0x400d45ee:0x3ffb2820
ELF file SHA256:<PHONE_NUMBER>000000
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1344
load:0x40078000,len:13836
load:0x40080400,len:3608
entry 0x400805f0
I don't understand why it says this: : [   730][V][WiFiServer.h:42] WiFiServer(): WiFiServer::WiFiServer(port=1883, ...)
can you help me?

Show how you init Ethernet

Insert define before include

the problem remains....
Now to avoid conflicts I have modified the file 'sMQTTplatform.h' like this:
#if defined(SMQTT_USER_SOCKET)
// create and write your client and server
//#include "smqtt_user_socket.h"
#elif defined(WIN32)
ecc....
and my .ino like this :
#include <Ethernet.h>
#define SMQTT_USER_SOCKET
#include "smqtt_user_socket.h"
#include"sMQTTBroker.h"
#define ETH_SPI1_CS 5
byte mac[] = { 0xBE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
sMQTTBroker broker;
ecc.

Work? Write compiler log with conflict

If i do not remove '#include "smqtt_user_socket.h"' from sMQTTplatform.h the compiler says :
C:\Users\AS\Documents\Arduino\libraries\sMQTTBroker\src/sMQTTplatform.h:8:10: fatal error: smqtt_user_socket.h: No such file or directory
then i remove #include "smqtt_user_socket.h" from sMQTTplatform.h and write
:
#include <Ethernet.h>
#define SMQTT_USER_SOCKET
#include "smqtt_user_socket.h"
#include"sMQTTBroker.h"
....ecc
in my .ino files
and the compiler works good but i still recive an error from esp32 in run time
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1344
load:0x40078000,len:13836
load:0x40080400,len:3608
entry 0x400805f0
<IP_ADDRESS>
[   728][V][WiFiServer.h:42] WiFiServer(): WiFiServer::WiFiServer(port=1883, ...)
assert failed: tcpip_send_msg_wait_sem IDF/components/lwip/lwip/src/api/tcpip.c:455 (Invalid mbox)
Backtrace:0x40083535:0x3ffb25200x40088089:0x3ffb2540 0x4008d185:0x3ffb2560 0x400e3316:0x3ffb2690 0x400ef81d:0x3ffb26c0 0x400ef87c:0x3ffb26e0 0x400e304d:0x3ffb2730 0x400d56ea:0x3ffb2750 0x400d5760:0x3ffb27a0 0x400d2705:0x3ffb27c0 0x400d1f33:0x3ffb27e0 0x400d7812:0x3ffb2820
ELF file SHA256:<PHONE_NUMBER>000000
Rebooting...

change in sMQTTPlatform.h
#if defined(SMQTT_USER_SOCKET)
// create and write your client and server
//#include"smqtt_user_socket.h"
#include<Arduino.h>
#include <Ethernet.h>
#define TCPClient EthernetClient
#define TCPServer EthernetServer
#define SMQTT_LOGD
#elif defined(WIN32)

Also check that this EthernetServer is working without a sMQTTBroker.

I checked the build on my esp in arduino id 2, unfortunately you can’t set SMQTT_USER_SOCKET globally, if you enable the build log in the settings, you can see that it will first compile the libraries and then the sketch. I suggest trying the following:
in sMQTTPlatform.h
#define SMQTT_USER_SOCKET
#if defined(SMQTT_USER_SOCKET)
#include <Ethernet.h>

class _EthernetServer :public EthernetServer
{
public:
	_EthernetServer(uint16_t port):EthernetServer(port) {}
	virtual void begin() { EthernetServer::begin(); }
	virtual void begin(uint16_t port) { EthernetServer::begin(); }
	void end() {}
};
typedef _EthernetServer TCPServer;
typedef EthernetClient TCPClient;
#define SMQTT_LOGD

I have everything assembled and there were no errors when debugging. I hope this helps you.

nothing is happening, i still have the same problem....

Did you modify in smqttplatform.h ?

yep

i will change the library so you can add your server but it will take some time

I'm also surprised that the code I wrote didn't work for you

#include<sMQTTplatform.h>
#include<sMQTTBroker.h>

sMQTTBroker broker;
int main(int argc,char **argv)
{
	sMQTTOSServer *server = newsMQTTServer(1883);
	broker.init(server);

	int time = GetTickCount();
	for (;;)
	{
		broker.update();
		if (GetTickCount() - time > 1000)
		{
			broker.publish(std::string("test"), "test",0);
			time = GetTickCount();
		}
	}
	return 0;
}

For your own platform, you need to write your own class for the server and client, as an example, you can look at sMQTTWIN32.h or sMQTTESP32.h

Can you make an example ?


Alt codes do not produce expected characters

Describe the bug
When using alt codes to enter special character into a TextBox, AvaloniaUI produces character different than those expected.
Examples:
Alt+4 produces , (44) rather than ♦
Alt+5 produces 7 (55) rather than ♣
Alt+19 produces ⌂ (127) rather than ‼
Alt+128 produces ò or ¢ rather than Ç
Alt+132 produces P (80) rather than ä
If the code is entered quickly, it can produce the correct character - however I've been unable to do this with values higher than 9
To Reproduce

Starting with the VS Avalonia Template
Add a TextBox to the MainWindow
enter a altcode

Expected behavior
Alt codes produce the usual characters
Avalonia version
11.0.6 - 11.1.0-beta2
OS
Windows
Additional context
In Versions 11.0.0 and 11.0.5 this works as expected, 11.0.6 and upwards do not work.
Tested with .NET 6.0 and 8.0 on Windows 11

Sounds like it's just using unicode character codes to me.
https://en.wikipedia.org/wiki/List_of_Unicode_characters


ESP8266-OCPP integration

Hi @matth-x ,
First of all, congratulations on your work. I'm interested in using your development for a proof of concept where I would like to provide an OCPP functionallities to a simple EV charger. My charger is now controlled by switches connected to a GPIO.
But I have no clue how you integrated OCPP-enabled ESP8266  into a ClipperCreek Inc. charging station. Does the ClipperCreek loader have an API that allows you to send primitives to it?
Cheers,
EG

Hi Henry,
thank you for the nice comment!
The ClipperCreek EVSE of my work provides a UART interface (see https://www.clippercreek.com/cosmos/). To integrate it, I wrote a file that looks similar to EVSE_empty_stub.cpp (inside the examples) folder. In my custom EVSE*.cpp I inserted all commands to send UART messages to the EVSE and to receive messages from it.
In your case, you have to customize the EVSE_empty_stub.cpp as well and insert the respective GPIO calls to implement the functionality. I hope this helps!
Kind regards,
Matt


System.LimitException: Apex CPU time limit exceeded on DLRS_CampaignMember

We are frequently getting this System.LimitException: Apex CPU time limit exceeded error while loading Campaign members to our system and below is the debug :
ERNAL]|01q24000000TqWr|dlrs_CampaignMemberTrigger on CampaignMember trigger event AfterInsert|__sfdc_trigger/dlrs_CampaignMemberTrigger
12:57:04.716<PHONE_NUMBER>1)|USER_DEBUG|[23]|DEBUG|#dlrs_OpportunityTrigger#checkDeployment
12:57:04.716<PHONE_NUMBER>9)|SYSTEM_MODE_ENTER|false
12:57:04.716<PHONE_NUMBER>7)|FATAL_ERROR|System.LimitException: Apex CPU time limit exceeded
Class.dlrs.RollupService.handleRollups: line 677, column 1
Class.dlrs.RollupService.triggerHandler: line 319, column 1
Trigger.dlrs_CampaignMemberTrigger: line 27, column 1
12:57:04.716<PHONE_NUMBER>3)|FATAL_ERROR|System.LimitException: Apex CPU time limit exceeded
Class.dlrs.RollupService.handleRollups: line 677, column 1
Class.dlrs.RollupService.triggerHandler: line 319, column 1
Trigger.dlrs_CampaignMemberTrigger: line 27, column 1
It's a bummer that we cannot check the dlrs classes from our side.
Steps we followed from our side:
We converted all of the Campaign members DLRS's from real-time to scheduled.
We also added many filters to our CM flows so that they don't cause the DLRS to fail still, it is failing.
Is this a known bug?
Please help us with the same.

DLRS errors CPU time limit 4824.log

I do not believe there is a known bug.  There are limitations with how many records and how many rollups on a single object you can have.  You should not do a nightly Schedule full-recalculate, you should do the scheduled job that you can run hourly. There is documentation in the readme/wiki about different schedule types.
If you are beyond the limits you may not be able to use DLRS for this problem, and may have to write your own solution.  Please reply back with how you decided to resolve this issue to help others. thanks!

Its odd that you have converted all to schedule and still get this, as DLRS does very little CPU in this mode, just logs a record on a queue for the schedule job to do the actual rollup. So it makes me think there is some other Apex code running. The CPU limit is shared by ALL apex code that is run, DLRS code plus another other packages or custom code on related objects. What other triggers are on the parent and child objects or ones that might fire as a result of those being updated?


Is this compatible with hostlists dns block?

URL of the website
yes.com
Reason
Cannot open a normal issue so I used the site removal one, but I wanted to ask if there is a list provided for blocking these websites at the hosts file level

As the title of the repo suggest, those filters are made for uBlock Origin.
hosts file blocking isn't, and won't be supported.


Add Cell Count - GompertsAirwatCfCells

Make sure Cell Count is both in Ingest and Staging area
Add cell count and export
https://contribute.data.humancellatlas.org/projects/detail?uuid=e526d91d-cf3a-44cb-80c5-fd7676b55a1d
Acceptance criteria for the task:
Cell count is present in ingest and the staging area

[ ] Ingest
[ ] Staging area

Closing as UCSC is already looking into it


Rescript incompatibility

Hi!
I just installed these bindings in a Rescript project, unfortunately I am getting the following error:
  It's possible that your build is stale.
  Try to clean the artifacts and build again?

  Here's the original error message
  The files<EMAIL_ADDRESS>  and<EMAIL_ADDRESS>  make inconsistent assumptions over interface React

FAILED: cannot make progress due to previous errors.
>>>> Finish compiling(exit: 1)

My code:
// Main.res
@react.component
let make = () => {
  open MaterialUi
  <Container>
    {React.string("Hello World")}
  </Container>
}

package.json
{
  "scripts": {
    "re:build": "bsb -make-world -clean-world",
    "re:watch": "bsb -make-world -clean-world -w"
  },
  "dependencies": {
    "@jsiebern/bs-material-ui": "2.0.2",
    "@material-ui/core": "4.11.3",
    "@rescript/react": "0.10.1",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "reason-react": "^0.9.1",
    "snowpack": "3.0.11"
  }
}

bsconfig.json
{
  "name": "rescript",
  "reason": { "react-jsx": 3 },
  "bs-dependencies": ["@rescript/react", "@jsiebern/bs-material-ui"],
  "bsc-flags": ["-bs-super-errors"],
  "sources": [
    {
      "dir": "src",
      "subdirs": true
    }
  ],
  "package-specs": [
    {
      "module": "es6",
      "in-source": true
    }
  ],
  "suffix": ".bs.js",
  "namespace": true,
  "ppx-flags": [],
  "refmt": 3
}

It is there anything I can do to make it work? Thanks!

One of the minor breaking changes here must be affecting the package. I'll get on that this weekend, thank you for bringing it up. In the meantime, please just use<EMAIL_ADDRESS>instead of @rescript/react. You should not feel any difference working with the "older" version at the moment I think.

Thanks, got it working by doing:

Installing npm i -S -E<EMAIL_ADDRESS>Update bs-dependency from @rescript/react to reason-react.

That's great. Just don't foget to eventually switch it back when I find the time to fix it with the bindings, the @rescript/react package is surely the one to move forward with :-)

@jsiebern Thank you!


Ci Input tool has narrow table

The table in the Input Tool pop-up is narrow, which looks silly and also means a lot of scrolling to find the relevant chant

cf Old Cantus:

Which browser are you using? I've tried this in Chrome, Firefox and Safari, on both Staging and Production, and all of them default to a fairly wide window, with a table that spans the full width of the window.

This is in Firefox! Hmm.


Updated docs with Discord references in addition to IRC

Trac ticket number

ticket-XXXXX
Branch description
There are references to the IRC chat, and it would be better if Discord were also mentioned.
Checklist

[ ] This PR targets the main branch.
[ ] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[ ] I have checked the "Has patch" ticket flag in the Trac system.
[ ] I have added or updated relevant tests.
[x] I have added or updated relevant docs, including release notes if applicable.
[ ] I have attached screenshots in both light and dark modes for any UI changes.

@felixxm @thibaudcolas


Remove all variables before execution inconstitently applied

Issue Report Checklist

[ ] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[ ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[ ] Restarted Spyder
[ ] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
If the Remove all variables before execution option is enabled, the variables are removed before executing a script with runfile. If runfile is run from the console however, this option is not applied.
What steps reproduce the problem?

Activate Remove all variables before execution
Set a variable in the console
Run a script from the console / editor
See that the variable is preserved when the script is run from the console but not from the editor.

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

Versions

Spyder version:
Python version:
Qt version:
PyQt version:
Operating System name/version:

Dependencies

PASTE DEPENDENCIES HERE

If runfile is run from the console however, this option is not applied.

So it should be applied, right?

I think it might make sense to have a new argument to the run file function. This would then be similar to the run in new namespace option.

Yes. that makes sense to me. Would you like to implement it?


DRILL-1162: Fix OOM for hash join operator when the right input has a much larger actual number of rows than the left one

Please see the problem description in DRILL-1162.

@paul-rogers @jinfengni  can you please review this one?

@jinfengni, I think you are more familiar with this part of the code, can you take a look?

@jinfengni, have you been able to take a look at this PR?

This OOM problem exposes two problems. The first one is in planning time, where we choose a sub-optimal plan, due to the inaccurate estimation of row count because of missing of appropriate statistics. The second one is in execution time, where we may need understand whether Drill uses too much memory and whether spill to disk is an option. I think the two are complementary to each other; even when we have spill to disk for hash join, if planner choose a sub-optimal plan, the query still could take long, long time to complete.
Looks like the PR is addressing the 1st issue. I agree that the root cause is row count estimation, which is more appropriate to defer to the enhancement of statistics support. For swapJoin logic, the proposal of getMaxRowCount() seems to be in the line of adjusting row count estimation. I like better the idea of combining row count + column count, which was essentially adopted in swapInput() by LoptJoinOptmizeRule.
For HashTable build side cost, hash table only has to hold the join key. However, since hash join is a blocking operator, it has hold all the records in the build side, meaning total memory requirement (for both hash table + non-join key columns) depends on row count and column count. Therefore, the cost model of hash join should reflect that. Can we use similar idea in SwapHashJoinVisitor?
One further improvement would be to modify HashJoinPrel.computeSelfCost(). Today we only consider join key width, and it makes sense to adjust that logic, by considering the total column counts in build side. Such logic could be extracted into a common places, then SwapHashJoinVisitor could call the same shared logic to decide whether it's cost-wise optimal to swap the input sides. Thoughts?

@jinfengni thanks for looking into this. Completely agree with you that it would be better to consider both row and column count.
Unfortunately, it does not help to fix this issue, since the ratio of column count of tables very often much smaller than the ratio of row count (actual row count). (c1/c2 << r2/r1)
So I guess it makes sense to implement your proposal to consider the column count together with the row count in another pull request.

@vvysotskyi , what I'm thinking is not just comparing the ratio of column count vs ratio of row count.
Let's take a step back. This SwapHashJoinVisitor is trying to correct the join decision made by either VolcanoPlanner or HepPlanner, in the sense the original join order might need put bigger dataset on the build side. The swap is needed because we want to avoid high memory requirement on hash join operator. The question is how do we define "big dataset". For now, SwapHashJoinVisitor simply uses rowCount, which is not sufficient.
In stead, we probably should add a method getSelfMemCost to all Prel node. For non-blocking operator, it's simply returning either 0 or some constant (to hold one single batch). For non-blocking operator such as HashJoin, it will return a value proportional to rowCount X columnCount (more precisely, total number of bytes per row, considering different column data type).
Same as existing method of computeSelfCost, we need getCumulativeMemCost which will return the cumulative cost for child nodes rooted at one Prel node.  With this getSelfMemCost and getCumulativeMemCost defined for HashJoin, and a HashJoin with input1, input2 as inputs, we could estimate cumulative memory cost for HashJoin(input1, input2), and HashJoin(input2, input1), and use that as criteria to decide whether we have to switch them.
This idea is not trying to adjust the row count estimation. In stead, it's trying to change the criteria where we may think it's necessary to swap, based on the observation that we want to do swap only when we want to reduce memory requirement for a query.
Will the above idea work? If it could not address this issue, it's probably fine to go with what you proposed. Before we go that option, please give some thoughts about the above idea.

@jinfengni, the idea is very interesting for me. More appropriate memory cost estimation will cause to choosing better plans, that will cause the less time execution and memory costs.
Writing about the comparing the ratio of column count vs ratio of row count I meant that the multiplying of row count and column count does not help to choose which input needs more memory in the case when the ratio of actual row count is much greater than the ratio of column count. getCumulativeMemCost implementation will not help for this case.
To show that, let's consider an example. We have three tables:

a(has 5 columns and 5 rows with the same values);
b(has 5 columns and 10 rows with the same values as in the table a);
c(has 5 columns and 35 rows with the same values as in the table a).

For the query
select count(*) from a
inner join b on a.col1=b.col1
inner join c on b.col1=c.col1;

Drill will build plan
	HahJoin[1]
	/    \
       c   HahJoin[2]
	   /    \
	  b	 a

getCumulativeMemCost for HahJoin[1] will return a value proportional to
(HahJoin[2] row count) * (HahJoin[2] column count) + HahJoin[2].getCumulativeMemCost() = Max(aRowCount, bRowCount) * (aColumnCount + bColumnCount) +  aRowCount * aColumnCount = 5 * (5 + 5) + 5 * 5 = 75.
Actual row count for build side of HahJoin[1] in this case is 50.
For the plan, that will be more suitable for this particular case:
	HahJoin[1]
	/     \
  HahJoin[2]   c
   /    \
  b	 a

getCumulativeMemCost for HahJoin[1] will return a value proportional to cRowCount * cColumnCount = 35 * 5 = 175.
Actual row count for build side of HahJoin[1] in this case is 35.
Smal information about this pull request.
This pull request addresses only the case of large row count. It checks that OOM may happen and if swap allows avoiding this potential OOM, the swap will happen.

@amansinha100, can you give this one a review?

@vvysotskyi , the example you listed (three tables a,b,c all have same values) seems to be essentially cross-join. For such cases, clearly the current rowCount estimation is way off from the real number, which would impact the estimation of hash join memory cost, and hence the proposed idea would not work. However, I feel it's not a very common case to have two tables joined like a cross join. The question is : does it make sense to modify cost estimation for seemly uncommonly use case?

@jinfengni it was an inflated example, but considering the case of multiple joins and when tables have several repeated values, the result will be the same.

Since Drill does not have enough information about tables in the planning time to avoid this OOM and since without using the getMaxRowCount() for ScanPrel, current approach could not be used and it would be better to defer the fix for this issue until the table statistics is implemented.


Silent renew with refresh token not working

Hello,
As oidc-client-js got archived, I was looking for an alternative that can be used with any provider, and I jump into your project. So I played a bit with it testing, various configurations and I have some questions:
Currently the function OIDCClient.getIdToken returns the raw idToken do you think it could be meaningful to add a way to get a parsed idToken ? Or maybe adding parseJwt to the list of exported function, in order to be able to decode it if needed ?
I tried the library with response_type="code", autoSilentRenew=true, and useRefreshToken=true. However during the silentLogin it was silently not working. After logging SILENT_RENEW_ERROR event error, I was able to get the error:
TypeError: Cannot read property 'nonce' of undefined
    at OIDCClient._callee23$ (plusauth-oidc-client.es.js:9460)
    at tryCatch (plusauth-oidc-client.es.js:4566)
    at Generator.invoke [as _invoke] (plusauth-oidc-client.es.js:4796)
    at Generator.next (plusauth-oidc-client.es.js:4621)
    at fulfilled (plusauth-oidc-client.es.js:5428)

The issue comes from the fact that in the function silentLogin calls the function handleTokenResult with the second parameter being undefined, because the variable finalState is equal to an empty object.
And then in the handleTokenResult, it tries to access nonce of undefined.
Best regards

Hello, thanks for your detailed feedback as this library is still in alpha.
Id token is actually parsed and merged into user. But you are right, it might be confusing so I will create another method for retrieving id_token in raw.

silentLogin error fixed in 13edacfe71b832626dcfa9d46965b437db4aa04c

I have created one more method for id token retrieval. Now we have two methods
getIdToken which retrieves parsed id token and getIdTokenRaw which returns raw id token.
I hope it fits in your need.
Please feel free to reopen the issue or a new one
Released v0.10.0


fix: keyboard not dismissed

Explanation of Change

Fixed Issues

$ https://github.com/Expensify/App/issues/53196
PROPOSAL: https://github.com/Expensify/App/issues/53196#issuecomment-2507231123
Tests

Open a chat that has some messages
Tap on compose box to open keyboard.
Tap anywhere outside keyboard area
Verify that: Keyboard is dismissed

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open a chat that has some messages
Tap on compose box to open keyboard.
Tap anywhere outside keyboard area
Verify that: Keyboard is dismissed

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/cfdddc51-fcd8-4ad7-8df3-e05d3cf4ff03

Android: mWeb Chrome
https://github.com/user-attachments/assets/8c61c082-0e1f-4da1-b692-7436f79d117a

iOS: Native

https://github.com/user-attachments/assets/30fd9a30-4e4f-4b05-8e3a-c7a80e6d548f

iOS: mWeb Safari
https://github.com/user-attachments/assets/2e809de7-6290-4581-a65b-387515597ce5

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/5f42fd8d-ed13-4d92-8582-bf9bb774b160

MacOS: Desktop
https://github.com/user-attachments/assets/3df07fd8-89c2-4bc7-b064-e43cfab36d1f

@daledah Can you resolve conflicts

Wow, this is a lot of changes, I think it is too much for one PR, and is way beyond our scope. I believe this much change might come with a lot of regressions.
@daledah As I said above, we should have only changed files that are related to our original change. Sorry if I misunderstood you, I didn't know you meant the count of files when you said
-we need a lot (20-ish) of file changes
Anyways, I am not sure what our next step should be. @AndrewGable what do you think of whole situation?

I'd be curious how this PR will relate to this P/S

@AndrewGable Do you think we should continue with these changes which includes dozens of files?


Insertable! fails to compile with slices + array columns

Unsure if it's true for all slices, or just this type specifically. To reproduce:
struct NewPost<'a> { tags: &'a [&'a str], }
Insertable! { (posts) struct NewPost<'a> { tags: &'a [&'a str], } }

I'm not sure if this is the same issue, but diesel_codegen fails to compile on the latest nightly builds (for roughly a week now):
/tmp/cargo_393z/.cargo/registry/src/github.com-88ac128001ac3a9a/diesel_codegen-0.6.1/src/insertable.rs:86:46: 86:54 error: no associated item named `empty` found for type `syntax::ptr::P<_>` in the current scope
/tmp/cargo_393z/.cargo/registry/src/github.com-88ac128001ac3a9a/diesel_codegen-0.6.1/src/insertable.rs:86         cx.typaram(span, str_to_ident("DB"), P::empty(), None),

@CryZe That was fixed by #312


Support for more image types

Currently image models such as Llava only support png and jpeg. Add support for more such as webp, avif and others.

It would be nice to have tiff support too.


no longer export any distributional functions which clash with other packages

just have permitted set #191 that all internal

done


parsing the itm.txt data

Hi, I am working with The Discovery Book and almost completed it. The task I am working on is to get the sensors readings from the itm.txt file and POST those readings on a server.
Now I am successfully able to get the readings from the sensor in the itm.txt but as told in the book the data is combined with the frames(Headers, payload). Now the problem is when I am taking this data from the itm.txt all unwanted data is coming with it.
And I am getting readings like this.
"\u0003x = \u0001-\u000230\u00013\u0003 y =\u0001 \u000218\u00012\u0001 \u0002z \u0002= \u0001-\u000231\u00010\u0002 t\u0003heta\u0001 \u00012\u0001.\u00016\u000200\u000268\u00018\u0001",
Whereas I want data to be in this form

x = -303 y = 182 z = -310 theta 2.600688
x = -297 y = 181 z = -312 theta 2.59427

How I can do that using the itm crate. I am stuck here and finding no way. I am expecting an answer to solve this. Thanks.

Hello @NitinSaxenait,
it looks like you are dealing with the raw ITM data sent from the target on the SWO pin. I assume that this data got dumped from the serial port directly into the .txt file. In this case the suffix .txt might be a red herring.

How I can do that using the itm crate. I am stuck here and finding no way.

You can extract the payload (you printed to ITM on the target) with a tool like itmdump from the crate itm. When using your example data from above as test.itm
$ xxd test.itm
00000000: 0378 203d 2001 2d02 3330 0133 0320 7920  .x = .-.30.3. y
00000010: 3d01 2002 3138 0132 0120 027a 2002 3d20  =. .18.2. .z .=
00000020: 012d 0233 3101 3002 2074 0368 6574 6101  .-.31.0. t.heta.
00000030: 2001 3201 2e01 3602 3030 0236 3801 3801   .2...<IP_ADDRESS>.

this gives plain ASCII output (ignoring a warning on an unterminated ITM packet in this example data)
$ itmdump -f test.itm 2> /dev/null
x = -303 y = 182 z = -310 theta 2.600688
$ itmdump -f test.itm 2> /dev/null | xxd
00000000: 7820 3d20 2d33 3033 2079 203d 2031 3832  x = -303 y = 182
00000010: 207a 203d 202d 3331 3020 7468 6574 6120   z = -310 theta
00000020: 322e 3630 3036 3838                      2.600688

@sirhcel thanks for the reply but I think you got the question wrong. I already got the readings without the raw ITM data on the itmdump console using this itmdump -F -f itm.txt as explained here. The thing is I am reading the itm.txt file directly using my code to get readings from there and from there only I am getting this unwanted data on my  "server and terminal"  On Server ->  UnscaledMeasurement { x: 310, y: -71, z: -562 Reading the itm.txt file to get the readings. ```
pub fn notify() -> String {
let (tx, rx) = channel();
let mut watcher = watcher(tx, Duration::from_secs(10)).unwrap();

watcher
    .watch("/tmp/itm.txt", RecursiveMode::NonRecursive)
    .unwrap();

loop {
    match rx.recv() {
        Ok(event) => {
            let mut file = File::open("/tmp/itm.txt").expect("Error");
           /* let mut buffer = Vec::new();
            file.read_to_end(&mut buffer).expect("Error");
            let print = std::str::from_utf8(&buffer).unwrap();
            let t = print.replace(|c: char| !c.is_ascii(), "");
            println!("{}", print);
            return buffer;*/
            let mut buf_reader = BufReader::new(file);
            let c= buf_reader.lines().last().unwrap().expect("error");
            println!("{:?}",c);
            return c
        }
        Err(error) => println!("watch error: {:?}", error),
    }
}

@sirhcel How I can read only the useful data from the itm.txt file in my code?

You can use the itm crate to decode the stream. See the code of itm-decode for an example on how to use it.


Optimized Version Movie

I don't see "Optimize version" anywhere.
Is it possible to optimize films via this interface API?

??

Hey @vincenzogianfelice,
I don't think I have documented those endpoints yet, I welcome contributions for it though!


Fixed merge issues

Fixes

Fixes #_____

Proposed Changes/Todos

[ ] Todo 1

Pull Request checklist:

[ ] I've named my PR in the form of "Fixes #issue. Terse description."
[ ] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[ ] My code follows the Terminal.Gui library design guidelines
[ ] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[ ] My changes generate no new warnings
[ ] I have checked my code and corrected any poor grammar or misspellings
[ ] I conducted basic QA to assure all features are working

Closing this per https://github.com/gui-cs/Terminal.Gui/pull/3811.


When running in HTTP2 mode: if a worker dies the connection becomes stale

Please answer these questions before submitting your issue.

What did you do? If possible, provide a simple script for reproducing the error.

Running HTTP Server in PROCESS mode with HTTP2 enabled. If a worker dies (e.g. due to unhandled exception) the HTTP2 connection becomes stale and it's not possible to do a reload in Google Chrome.
<?php
Swoole\Coroutine::set([
    'trace_flags' => SWOOLE_TRACE_HTTP2,
    'log_level' => 0,
]);
$key_dir = __DIR__ . '/../ssl/';
$http = new swoole_http_server("<IP_ADDRESS>", 9501, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$http->set([
    'open_http2_protocol' => 1,
    'enable_static_handler' => TRUE,
    'document_root' => __DIR__,
    'enable_coroutine' => true,
    'ssl_cert_file' => $key_dir . '/example.com+4.pem',
    'ssl_key_file' => $key_dir . '/example.com+4-key.pem',
]);

$http->on('request', function (swoole_http_request $request, swoole_http_response $response) {

        $response->header('Access-Control-Allow-Origin', '*');
    $response->header('Content-Type', 'text/event-stream');
    $response->header('Cache-Control', 'no-cache');
    $response->header('X-Accel-Buffering', 'no');

    while(1) {
        $response->write("event: ping\n\n");
        $r = $response->write("data: {\"time\": \"" . date(DATE_ISO8601) . "\"}\n\n");
        if(!$r) return;
        co::sleep(1);
        throw new \Exception();
    }

    $response->end(__DIR__);
});

$http->start();

What did you expect to see?

The HTTP2 connection should be aborted if the worker dies.

What did you see instead?

I guess it tries to multiplex with the still open but invalid HTTP2 connection. Running the same code with HTTP1 closes the connection correctly.

What version of OpenSwoole are you using (show your php --ri openswoole)?

openswoole
Open Swoole => enabled
Author => Open Swoole Group<EMAIL_ADDRESS>Version => 4.10.0
Built => Jan 25 2022 13:16:13
coroutine => enabled with boost asm context
kqueue => enabled
rwlock => enabled
sockets => enabled
openssl => OpenSSL 3.0.1 14 Dec 2021
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
zlib => 1.2.11
mysqlnd => enabled
async_redis => enabled
postgresql => enabled

What is your machine environment used (show your uname -a & php -v & gcc -v) ?

21.3.0 Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_ARM64_T6000 arm64
PHP 8.1.2 (cli) (built: Jan 21 2022 04:34:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
Apple clang version 13.0.0 (clang-13<IP_ADDRESS>)
Target: arm64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

HTTP2 connection should be closed when the worker handling the connection is crashed.


Output format.

So from your sample output,  the format looks very good, I mean did the model format this for you or you manually separated the paragraphs?
LEONTES:
Why, my Irish time?
And argue in the lord; the man mad, must be deserved a spirit as drown the warlike Pray him, how seven in.
KING would be made that, methoughts I may married a Lord dishonour
Than thou that be mine kites and sinew for his honour
In reason prettily the sudden night upon all shalt bid him thus again. times than one from mine unaccustom'd sir.
LARTIUS:
O,'tis aediles, fight!
Farewell, it himself have saw.
Becuase mine was like this(without any structure)
LEONTES:Why, my Irish time?And argue in the lord; the man mad, must be deserved a spirit as drown the warlike Pray him, how seven in.KING would be made that, methoughts I may married a Lord dishonourThan thou that be mine kites and sinew for his honour

You can't have structure with a print() function. You have to do it yourself with a text treatment software like Microsoft Word.

You can print new lines. Other rnn-tensorflow models do learn new lines too…


C binding for tensorflow 2.0

Is there a release date for c binding for tf2?

We are currently building libtensorflow by ourselves, but it would be great if the official one would appear.

@sjamesr is the Java SIG taking ownership of the libtensorflow releases?

I am taking ownership of libtensorflow packages, as it looks like all of the previous owners left the team.
We have noticed some issues with the current packages we have. We will look into fixing them and publishing them again.

Yay!

@foxik Could you please share how you are building them yourself. We have tried, but it errors when making predictions. Thanks in advance.

Does anyone know what version of TensorFlow 2 will have libtensorflow in it?

2.3 will have libtensorflow. Additionally we have nightly packages on GCS. You can find the links on the main README.

For everyone who's subscribed, it's arrived: https://www.tensorflow.org/install/lang_c

I saw that, awesome, thanks everyone!
On Thu, Jul 30, 2020 at 2:38 AM Andrew Kane<EMAIL_ADDRESS>wrote:

For everyone who's subscribed, it's arrived:
https://www.tensorflow.org/install/lang_c
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/33599#issuecomment-666157941,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAQ4TMIDOR7VLJ2HWA3IY3R6EIOLANCNFSM4JDMMLBQ
.

@oak-tree,
Closing this issue as it has been resolved, as per this Comment. Please refer this Tensorflow Documentation for more information. Thanks!


Porting to Mac and improve performance

This is a really good project. I'm learning from it.
I just did some dirty hard-code and make it work on my Macbook Air (Intel model). It runs pretty slow.
Could you share any solution to optimize? (Yes, I"m asking Google and ChatGPT at the same time)
Thanks!
p.s. I'm trying to on an ARM Linux SBC as well, hope it works.

Thanks! If the transcription is slow, most likely culprit would be if this shown in this logging message:
print(f"[INFO] Whisper using GPU: " + str(torch.cuda.is_available()))
If its false then Whisper cannot transcript with the GPU and will use the CPU instead, which is way slower.
Outside of using whisper, none of the code should run noticeably slow on any OS or computer.

Agree.
torch.cuda.is_available() is only true with Nvida CUDA system, any AMD, Intel or other embedded GPU would not by default support it.
Would you consider integrate Whisper online API to not rely on local resource? Consider LangChain?

I've been using whisper with a M2 with good results using this: https://github.com/openai/whisper/pull/382

You can check out this branch https://github.com/SevaSk/ecoute/tree/29-add-option-to-use-speech-to-text-api-rather-than-transcribing-locally
use the command
python main.py --api

it honestly way faster and better then the local model

Thanks for sharing and the work, on my way to try.


grafana not accepting ./metrics as prometheus source

Version

Karpenter Version: v0.20.0

Kubernetes Version: v1.23.0
Expected Behavior
Expect the when I create a new grafana data source using the URL:
http://karpenter.karpenter.svc.cluster.local:8080/metrics
It would not return a 404.
Actual Behavior
Trying to create a datasrouce in grafna, ver 9.3. Using data source type prometheus using URL
http://karpenter.karpenter.svc.cluster.local:8080/metrics
When I lick "save & test" i et the error "Error reading Prometheus: client_error: 404"
I am forward the karpenter metric and in my local browser I see. Small smaple:
HELP certwatcher_read_certificate_errors_total Total number of certificate read errors
TYPE certwatcher_read_certificate_errors_total counter
certwatcher_read_certificate_errors_total 0
HELP certwatcher_read_certificate_total Total number of certificate reads
TYPE certwatcher_read_certificate_total counter
certwatcher_read_certificate_total 0
HELP controller_runtime_active_workers Number of currently used workers per controller
TYPE controller_runtime_active_workers gauge
controller_runtime_active_workers{controller="counter"} 0
controller_runtime_active_workers{controller="node"} 0
controller_runtime_active_workers{controller="node-state"} 0
controller_runtime_active_workers{controller="pod-state"} 0
controller_runtime_active_workers{controller="podmetrics"} 0
controller_runtime_active_workers{controller="provisioner-state"} 0
controller_runtime_active_workers{controller="provisionermetrics"} 0
controller_runtime_active_workers{controller="provisioning"} 0
controller_runtime_active_workers{controller="termination"} 0
HELP controller_runtime_max_concurrent_reconciles Maximum number of concu
Steps to Reproduce the Problem
In grafana create new data source.  Choose prometheus as type.
Give URL http://karpenter.karpenter.svc.cluster.local:8080/metrics
Leave everythng else default.
When I lick "save & test" i et the error "Error reading Prometheus: client_error: 404"
Resource Specs and Logs
NA - URL works.
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

@mpechner-akasa i have the same problem, what was your solution?


Power BI integration with Oracle Transportation Management Cloud

Hi, Just wondering since Oracle Transportation Management Cloud services do not allow access to it database through ServerName/SID/ServiceName which is prevalent on on-premise. How is this integration possible now? Thanks, Rohan

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

ID: 382f269e-2072-ec03-7c88-335cbd5df919
Version Independent ID: 46a896f9-4707-adc3-72cd-5444a5d0f802
Content: Connect to an Oracle database - Power BI
Content Source: powerbi-docs/desktop-connect-oracle-database.md
Service: powerbi
Sub-service: powerbi-desktop
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @rohankrr. This looks like a  product question rather than documentation feedback. You might find a solution in the Power BI Community.


Flutter won't run until iOS 17 is installed with Xcode 15

If you upgrade to Xcode 15 and you haven’t downloaded iOS 17 simulator, you can’t run an app even if you have older and compatible simulators available or a physical device
You get the following error:
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
               		{ id:B1234A5C-67B8-901D-B2CB-FE34F56BDE78 }

               	Ineligible destinations for the "Runner" scheme:
               		{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device, error:iOS 17.0 is not installed. To use with Xcode, first download and install the platform }

iOS SDK is no longer included in Xcode download as of Xcode 15. You have to download the iOS 17 simulator separately. On Xcode launch, it should prompt you to install it. However, Flutter setup guide does not tell you to open Xcode.

This is also going to be an issue when we eventually put Xcode 15 in our CI system. There are some command line tools we can take advantage of: https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes#Install-and-manage-Simulator-runtimes-from-the-command-line
However, not sure if we'll want to use a command to download the simulator or manual uploads to CIPD like we do for Xcode.
cc @keyonghan

I think at the least we need to update the documentation, parse error xcodebuild message and give a more guided and understandable error message, and probably add a check to flutter doctor.
Taking a look at how it's done for Android, in our documentation, we guide them to setup an emulator through Android Studio: https://docs.flutter.dev/get-started/install/macos#set-up-the-android-emulator
We also have a command line tool to launch or create an emulator: flutter emulators
We could potentially automate the downloading and installing of simulators. Also, we could potentially have a flutter command to create/launch an simulator (same as android). These are lesser priorities imo.
cc @christopherfujino
cc @leighajarett

However, not sure if we'll want to use a command to download the simulator or manual uploads to CIPD like we do for Xcode.

We are uploading/downloading simulators via cipd: https://chrome-infra-packages.appspot.com/p/flutter_internal/ios/xcode/ios_runtime/+/

Okay so in previous versions of Xcode, the simulator could be found in this path /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime so when we upload Xcode, it also uploads the simulator runtime.
However, in Xcode 15, the iOS.simruntime is no longer located there and is instead found in /Library/Developer/CoreSimulator/Volumes/iOS_21A5268h/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.0.simruntime (after running xcrun simctl runtime add "~/Downloads/iOS_17_beta_3_Simulator_Runtime.dmg").
I tried manually copying iOS 17.0.simruntime into the /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes directory and Xcode accepted it.
So I think that will need to be a new prerequisites to Xcode CIPD uploads.

All subtasks are complete. Closing.


How to use texttiling with emails?

I want to tile the email text below into the 5 sections LOGISTICS, INTRO, BODY, OUTRO, POST EMAIL DISCLAIMER
email = """    From: X
    To: Y                             (LOGISTICS)
    Date: 10/03/2017

    Hello team,                       (INTRO)

    Some text here representing
    the body                          (BODY)
    of the text.

    Regards,                          (OUTRO)
    X

    *****DISCLAIMER*****              (POST EMAIL DISCLAIMER)
    THIS EMAIL IS CONFIDENTIAL
    IF YOU ARE NOT THE INTENDED RECIPIENT PLEASE DELETE THIS EMAIL"""

tt = TextTilingTokenizer(demo_mode=False)
tiles = tt.tokenize(email)

But when I run the code above, I get the same string back in list form, and un-tiled in any way. I have tried using several parameters in TextTilingTokenizer, including (w=2, k=10, similarity_method=0, stopwords=None, smoothing_method=[0], smoothing_width=2, smoothing_rounds=1, cutoff_policy=1, demo_mode=False), but nothing seems to work. Can anyone please advise?

Sorry @killerT1992 this is not an appropriate issue. Please post on nltk-users or on stackoverflow.


docs: add docs for compaction

What's Changed in this PR
This PR adds docs for compaction and manual compaction.
fixes #1009
Checklist

[ ] Please confirm that all corresponding versions of the documents have been revised.
[ ] Please ensure that the content in summary.yml matches the current document structure when you changed the document structure.
[ ] This change requires follow-up update in localized docs.

LGTM, please copy the content to nightly

done in d64d3866


How to select bson/json in postgres?

New to knex, new to postgres. I'm trying to select a bson/json nested key from my db.
My structure is as follows:
info:{name:.. , id:.. , details: {price:.., somethinglse:.., ..} .. }
so what I like to do is to select info.details.price only --- how is this possible?

There are no specific APIs in knex to do this, but with knex raw this should do:
knex('tableName').select(knex.raw("??#>'{info,details,price}'", ['jsonbColumnName']))

I also wrote while ago blog post about PostgreSQL jsonb features, it might be helpful:
https://www.vincit.fi/en/blog/by-the-power-of-json-queries/

THanks for the response, how can I do the same thing with multiple selects? such as, price, and somethingElse?
Alsı, the results appear as "?column?" - what should I do to name them properly ?

I'm not 100% sure but I suppose the normal as columnName works e.g.
knex('tableName').select(knex.raw("??#>'{info,details,price}' as ??", ['jsonbColumnName', 'price']))

oh very nice, thank you very much!


Feature Request: Build release image using non-root user

Feature Request
Modify the Dockerfile that builds the release image to utilize a non-root user.
Background
Use of pgadapter is being flagged by cloud security vulnerability scans due to the main process running as root. Running containers as a non-root user is also a generally accepted security practice.
Possible Solutions

With the existing image (eclipse-temurin), utilize standard patterns to create a non-root user and use that non-root user as the executor.

Convert to distroless images, similarly to how cloud-sql-proxy is built.

@joshbautista Thanks for the feature request, and sorry for not getting to you earlier. We'll look into it. Things that we need to take into account are:

The Docker container must for most use cases have access to the host file system to read the credentials file that is used to connect to Cloud Spanner.
We need to make sure we don't make any breaking changes to existing users.

(I'm not saying that any of the above needs to be a blocker for this, just that we need to look into it to get an understanding of what it would mean)


Add new workflow action for Android

Describe the feature
There seems to be interest to build this fork for Android. We should have a CI workflow to test the build process, and also to test the not cross compiling scenarios.
Additional context
An example: #33 should have been catch by a workflow.

FWIW, your sonivox fork is used by ScummVM for its Android builds as an alternative to Fluidsynth.
sonivox is less resource demanding than Fluidsynth which is good for low-end devices (and it's the lib which was previously exposed by Android).

FWIW, your sonivox fork is used by ScummVM for its Android builds as an alternative to Fluidsynth. sonivox is less resource demanding than Fluidsynth which is good for low-end devices (and it's the lib which was previously exposed by Android).

Thanks for the info. Yes, in Android this is a private library now. Not only that, but it has also reduced functionality. I've forked it for my own users (mainly for VMPK users under Linux) but I'm glad that it is useful for more people and platforms. One problem may be the availability on many Linux distros.
I'm also a FluidSynth occasional contributor and user, and I have to say that it offers much better features and quality, at  the cost of more demanding computing power. Another difference is that FluidSynth uses SFx soundfonts, while Sonivox uses optional DLS files, which are not very widespread, or the internal samples with very limited quality.


feat: Add pudding space

Hi! What is your PR about?

[x] Add images for your space
[x] Add custom domain for your space
[ ] Add alias for migrate your space
[x] Add or edit a skin
~Edit your space with GitHub?~ (deprecated) Please migrate your space to ENS https://docs.snapshot.page/spaces/migrate
~Create your space with GitHub~ (deprecated) Create your space with ENS instead https://docs.snapshot.page/spaces/create

We have a new method to insert your images without creating a Pull Request. You can now use the Avatar field as your space settings.

Closing this PR for now, feel free to open it again once you've done the changes.


Highlight Lua regexp meta characters

pattern
5.1
jit
5.2
5.3
5.4

^$()%.[]*+-?
x
x
x
x
x

%(any non-alphanumeric character)
x
x
x
x
x

.
x
x
x
x
x

%a
x
x
x
x
x

%c
x
x
x
x
x

%d
x
x
x
x
x

%l
x
x
x
x
x

%p
x
x
x
x
x

%s
x
x
x
x
x

%u
x
x
x
x
x

%w
x
x
x
x
x

%x
x
x
x
x
x

[set]
x
x
x
x
x

[^set]
x
x
x
x
x

%z
x
x
-
-
-

%g
-
x
x
x
x

In usual string, it should be bothersome if regexp meta characters, which are normal characters in the normal string,  are highlighted. We need to highlight these meta characters only in regexp string. But how?


Instance metadata are not updated

Describe the bug
It seems to me that instance spec.metadata are not updated when the discovery agent returns a result with the same id digest, but different properties.
As you know, I'm currently using the properties to pass the information about what are the resource types of a result in CoAP. It may happen that the device changes the available resources (it could be not available) and thus the discovery result properties.
Example:
Spec:
  Configuration Name:  coap-core
  Device Usage:
    coap-core-73f458-0:  kind-control-plane
  Metadata:
    COAP_IP:                 <IP_ADDRESS>
    COAP_RESOURCE_TYPES:     oic.r.temperature,oic.r.light.brightness
    oic.r.light.brightness:  /sensors/light
    oic.r.temperature:       /sensors/temp
  Nodes:
    kind-control-plane
  Rbac:    rbac
  Shared:  false

Kubernetes Version: [e.g. Native Kubernetes 1.19, MicroK8s 1.19, Minikube 1.19, K3s]
Kind v1.20.2
Additional context
A quick look at the source code seems to confirm the issue: https://github.com/deislabs/akri/blob/f37766b68ca2f27ad4eb9de6dce5d8336c0efc6c/agent/src/util/config_action.rs#L431-L456
Only the connectivity is updated.

Hi @jiayihu, great find! This is definitely something we should fix. Seems like we will need to store the metadata in the InstanceInfo struct contained in our InstanceMap. In the new design, Vec is returned by Discovery Handlers. We could store the associated Device in the InstanceInfo.


adding a class to the svg tag?

If I wanted to add a class to the svg tag - is there a way to do it?
currently -

  ...

would like it to be more like

...

ok solved it by trying the obvious :)
adding class="c-icon" put the class in the svg


Don't remove server from active servers if encountering Connection Reset or Broken Pipe errors

@chaudum What do you think? I honestly couldnt find a better way, urllib exposes the underlying exception opaquely. You could always assume the 2nd item in the tuple is the wrapped exception, but I don't know if I'd want to do that.


Add preview in CMS

When editing in CMS, add a preview of how it looks on the web app

https://github.com/netlify/netlify-cms/issues/793#issuecomment-1006141993


Closing this PR. It is now being superseded by #3041


Serialize block count as quantity 2

Sorry, there was an issue with #668
I created the PR too quickly and didn't run cargo check :see_no_evil:. It turns out there was an issue where I was moving block_count when doing block_count.into() and needed to first convert block_count to a U256 to avoid move issues.
Sorry for this!
PR Checklist

[ ] Added Tests (No - but should be covered by existing tests?)
[ ] Added Documentation (No - behaviour shouldn't have been changed)
[ ] Updated the changelog (No - just fixes my broken PR).

Also, make sure to run check commands:
$ cargo check --all-features
$ cargo +nightly fmt --all
$ cargo build --all-features
$ cargo test --all-features

https://github.com/gakonst/ethers-rs/commit/7bd42be0d84b924175275debc32f32c394ae3ac4 I see this is already in master?

Sorry, I got messed up and was looking at my fork. There is a build issue there where I was moving block_count on line 865 and (when calling block_count.into()) and again on line 871 when retrying (when calling block_count.into().as_u64()).
I created the PR too quickly while waiting for cargo check to finish but should have waited :see_no_evil:.


vapor update never ends, hangs on postgresql-driver

Hi there,
I'm following the steps in the readme, but updating never finishes, when I run using --verbose, it seems to hang on:
Updating https://github.com/vapor-community/postgresql-driver.git

This never seems to complete. Am I missing something?
This is my package.json:
// swift-tools-version:4.0
import PackageDescription

let package = Package(
    name: "Manager",
    dependencies: [
        // 💧 A server-side Swift web framework.
        .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"),

        // 🔵 Swift ORM (queries, models, relations, etc) built on SQLite 3.
        .package(url: "https://github.com/vapor/fluent-sqlite.git", from: "3.0.0"),

        // 👤 Authentication and Authorization layer for Fluent.
        .package(url: "https://github.com/vapor/auth.git", from: "2.0.0"),

        // PostgreSQL support
        .package(url: "https://github.com/vapor-community/postgresql-provider.git", .upToNextMajor(from: "2.1.0"))
    ],
    targets: [
        .target(name: "App", dependencies: ["Authentication", "FluentSQLite", "Vapor", "FluentProvider", "PostgreSQLProvider"]),
        .target(name: "Run", dependencies: ["App"]),
        .testTarget(name: "AppTests", dependencies: ["App"])
    ]
)

One fun fact about SPM dying on conflicting dependencies: the last line (which was in this case about postgresql-driver) has no significance. Fetching packages from git typically succeeds, but the version resolution stage gets stuck in an infinite loop - which confusingly doesn't print anything unless it's successful.

In your specific case, you're mixing Vapor 3 with a legacy, Vapor-2 only package: vapor-community/postgresql-provider. This causes the conflict and thus the infinite loop.
Remove that line, and fluent-sqlite too. The file should look like this:
// swift-tools-version:4.0
import PackageDescription

let package = Package(
    name: "Manager",
    dependencies: [
        .package(url: "https://github.com/vapor/vapor.git", from: "3.0.0"),
        .package(url: "https://github.com/vapor/fluent-postgresql.git", from: "1.0.0"),
        .package(url: "https://github.com/vapor/auth.git", from: "2.0.0"),
    ],
    targets: [
        .target(name: "App", dependencies: ["Authentication", "FluentPostgreSQL", "Vapor"]),
        .target(name: "Run", dependencies: ["App"]),
        .testTarget(name: "AppTests", dependencies: ["App"])
    ]
)

Thanks so much! I googled for vapor and postgreql and somehow ended up on old documentation: https://docs.vapor.codes/2.0/fluent/database/.


Remove location as required property for Resource

@markcowl per our discussion, I've added the customized files to avoid the breaking change.

@markcowl can you please take a look at this PR and let me know if it looks good?


MdDialog in another document

Bug, feature request, or proposal:
Feature request.
What is the expected behavior?
The possibility to attach the dialog to another but the current document.
What is the current behavior?
It is attached to the current document.
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: http://plnkr.co/edit/o077B6uEiiIgkC0S06dd
What is the use-case or motivation for changing an existing behavior?
Have different applications in different iframes with different frameworks works fine but if the application with angular and Material is not in the parent frame the dialog backdrop is limited to it's iframe.
Which versions of Angular, Material, OS, browsers are affected?
Is there anything else we should know?

This is not something we'd really want to support any time in the near future (if ever).


End screen not displaying failed hashes correctly

the spacing between these pages of data are so far apart
The spacing should be based off of text content

Thanks for your report, this will be resolved in the next release.


Can I index trimmed fastqs?

A naive question: after I run nanopolish index on trimmed fastqs, how does the downstream software (such as nanopolish call-methylation) match the basecalls in fastq and the signals in fast5? For example, if I clip off 10nt from the 5' ends of the reads in fastq, will the software match the 11th pulse with the 1st base in the fastq? How does it know?

Hi,
This should be fine. There is an internal signal-to-read alignment step that is designed to tolerate light trimming of the reads (like barcodes).
Jared

@jts Thanks!


Vue.js Cheatsheet

Hi,
I can contribute by adding Vue.js Cheatsheet.

Sure, You can start working on it!!

Hey, can I help?

@ultr4nerd Sure, You can work on it too :)

I will create my pull request in the evening today

@protob Sure, Would be waiting for it!

@protob I wait for you so I can add more content

@ultr4nerd You can now work on the updates. the previously assigned user has already contributed their changes a few hours ago!


One click URL blacklist

As an admin I can ban the posting of a URL in all new posts, comments, and dms with one click.
Blacklists links cause auto ban when entered by a user.

Can we please use blocklist/allowlist terminology everywhere instead of blacklist/whitelist?


Library Typography Cleaning

Hello,
This $paragraph = FALSE local variable is declared but never used.

Six years old, nice catch :)


how to simulate genomes with multiple types of variants

I want to simulate genomes with SNP, Indel, and SV simultaneously, how to do it, or is there any pipeline to do it ? thanks~

Hi zhoudreames,
You can first simulate SNPs and INDELs (which can be simulated simultaneously), and then use the output genome to simulate SV afterwards. It was noting that during the INDEL simulation will change the genome coordinates (although not much) of the simulated genome relative to the original one. So keeps in mind when if you want to compare the absolute coordinate of SVs relative to the original input genome.
Best,
Jia-Xing


Accessible DeadZone input handling

What problem does this solve?
DeadZoneShape is not accessibility friendly
What solution would you like?
This discussion is a good read: https://github.com/godotengine/godot-docs/issues/5378#issuecomment-965734470
my conclusions:
there should be two primary modes: circle, and cross. Circle has no amount of axis snapping, because sometimes its not desirable, and cross has some amount of axis snapping. Both circle and cross do range shifting such that all possible inputs are reachable and continuous, (meaning, a small change in input vector causes at most a proportionally small change in output vector. all current deadzones in LWIM do not do this, because crossing the deadzone threshold snaps from 0 to whatever the value is outside the deadzone).
Single axis: if input.abs() < deadzone { None } else { Some(input.sign() * (input.abs() - deadzone)) }
Circle: if input.magnitude() < deadzone { None } else { Some(input.normalized() * (input.magnitude() - deadzone)) }
Cross: handled like single-axis for each axis individually
[Optional] How could this be implemented?
Allow deadzone shapes to mutate the passed-in input by returning an Option<Vec2> instead of a bool. This allows input to be continuous and have unreachable input range, by rescaling/shifting live areas to be zero input on deadzone edges as follows:

This should also be implemented for single axis deadzones, otherwise they will have small unreachable input ranges near zero
[Optional] What alternatives have you considered?

Make users do deadzone handling
this is not ideal because games should be accessible by default. an engine should strive to make it easy for users to get things right, even if they don't know what they are doing.

Axis snapping decoupled from DeadZoneShape
different shapes have different sizes, making snap be a distinct functionality would make it hard to maintain input continuity.

forget about DeadZoneShape and just do single axis deadzones with range shifting on both axes
this works, but we lose the ability to choose different deadzone behaviors. for example, ellipse deadzone should not have any axis snapping but still do range shifting by rescaling input magnitude to zero at the edge of the deadzone.

Related work
Lots of other deadzones that can be supported in the future: https://imgur.com/a/xSfcP (most interesting concepts are Back 4 Blood's unregistered diagonal wedges and Anarchy Reigns' two-threshold central deadzone where once you start moving, a smaller threshold must be returned to to stop moving)

We may even want to make DeadZoneShape be a user-impl-able trait to support custom deadzone logic cleanly tbh

We may even want to make DeadZoneShape be a user-impl-able trait to support custom deadzone logic cleanly tbh

Honestly, I agree with this. It's not performance sensitive and it's very good to add flexibility.


ifacer e2e failed

e2e_test_underlay
https://github.com/spidernet-io/spiderpool/actions/runs/6595143982/job/17919915679
 docker exec -i spiderpool1021041427-control-plane ip link show eth0 | grep 'state UP mode'
  Failed to execute command on the node, error is
  docker exec -i spiderpool1021041427-control-plane ip link show eth0 | grep 'state UP mode'
  Failed to execute command on the node, error is
  docker exec -i spiderpool1021041427-control-plane ip link show eth0 | grep 'state UP mode'
  Failed to execute command on the node, error is

  [FAILED] Timed out after 300.000s.
  Expected
      <bool>: false
  to be true
  In [It] at: /home/runner/work/spiderpool/spiderpool/test/e2e/ifacer/ifacer_test.go:130 @ 10/21/23 04:47:01.52

dual-e2e_test_underlay--debuglog.txt.zip

same as https://github.com/spidernet-io/spiderpool/issues/2502


ACM-13001 - Set CompletionTimestamp when ACM restore is completed

https://issues.redhat.com/browse/ACM-13001

/test unit-tests


Fixing broken link in "Using the Op in Python"

In "Using the Op in Python" section: the load_op_library link is broken.  Changed from ../../api_docs/python/framework#load_op_library to https://www.tensorflow.org/versions/r0.7/api_docs/python/framework.html#load_op_library

Can one of the admins verify this patch?

The broken link is unfortunate, but this PR is bad because it would make all versions of the docs link to the r.07 version.  Cc @martinwicke.

Yes, the absolute path is bad, can you just add a .md after framework? That should fix it as well.

(feel free to comment if you've updated this as above, otherwise closing due to inactivity)


about resolvconf support on linux

running dnscrypt-proxy on raspberrypi,but i need clean /etc/resolv.conf and add nameserver <IP_ADDRESS> every reboot.
/etc/resolv.conf
# Generated by resolvconf
nameserver ISPDNS1
nameserver ISPDNS2

https://packages.debian.org/sid/amd64/dnscrypt-proxy/filelist
/lib/systemd/system/dnscrypt-proxy-resolvconf.service
[Unit]
Description=DNSCrypt proxy resolvconf support
Documentation=man:dnscrypt-proxy(8)
After=dnscrypt-proxy.socket
Requires=dnscrypt-proxy.socket
ConditionFileIsExecutable=/sbin/resolvconf

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/sh -c 'systemctl show dnscrypt-proxy.socket \
                    | grep ListenDatagram \
                    | cut -d "=" -f 2 \
                    | cut -d ":" -f 1 \
                    | awk \'{ print "nameserver " $1 }\' \
                    | /sbin/resolvconf -a lo.dnscrypt-proxy'
ExecStop=/sbin/resolvconf -d lo.dnscrypt-proxy

[Install]
WantedBy=multi-user.target
Also=dnscrypt-proxy.socket

Yes, changing the DNS settings on Linux/systemd is complicated.
If you find how to do that (without chattr +i /etc/resolv.conf), it would be great to write a documentation page about it.

/etc/resolvconf.conf
# Configuration for resolvconf(8)
# See resolvconf.conf(5) for details

resolv_conf=/etc/resolv.conf
# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
# name_servers=<IP_ADDRESS>

# Mirror the Debian package defaults for the below resolvers
# so that resolvconf integrates seemlessly.
dnsmasq_resolv=/var/run/dnsmasq/resolv.conf
pdnsd_conf=/etc/pdnsd.conf
unbound_conf=/var/cache/unbound/resolvconf_resolvers.conf

after search and find uncomment # name_servers=<IP_ADDRESS> works for me.but don't know how to change it via systemd.
/etc/resolv.conf
# Generated by resolvconf
nameserver <IP_ADDRESS>

I might be able to help.
In systemd file:
[Resolve]
DNS=<IP_ADDRESS>
FallbackDNS=(optional, and repetitive because of fallback_resolver in .toml)
Then in your .network configuration file (/etc/systemd/network/.network)
[DHCP]
UseDNS=false
Documentation is found here: https://www.freedesktop.org/software/systemd/man/resolved.conf.html


Add custom sensor to read temperature from in eq3btsmart

Description:
eq3btsmart does not natively provide temperature readings due to the thermostat not transmitting the current temperature. I found this to be rather restricting in my UI and wanted to have current temperature readings in addition to the target temperature, especially so that the graph is populated with accurate data.
Since I already have temperature sensors in most rooms it sounded logical to simply query the temperature from the sensor and include it with the thermostat.In addition, you can now also ask alexa for the correct temperature
Note:
I am not very experienced in developing for homeassistant. My first idea was to simply ask the configured sensor for its current value every time the current_temperature function is called, but I didn't find any examples of how to accomplish this. Instead I went with a callback approach, where the temperature of the thermostat is updated every time the temperature sensor changes.
Any suggestions on how to do it differently are appreciated!
Example entry for configuration.yaml:
climate:
  - platform: eq3btsmart
    devices:
      Room1:
        mac: '00:11:22:33:44:55'
        sensor: sensor.temperature_1
      Room2:
        mac: '00:11:22:33:44:66'

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io
I will update the documentation when I get approval that this functionality is wanted

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Hi @Blueforcer,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

@pvizeli Why was this closed? Because of inactivity?
@Blueforcer Could you please finish this? :) I'm very interested in this...


Improve Aesop page

Remove reference to mainPage.css, since this is not the main page and is not using the _LayoutMainPage.
Add logo-background to main site.css.

again curious on @BillWagner answer on merge commits and then I will accept the PR.
Thanks @glittle for all the work on these!

Merge commits are fine. (same comment on other PR with respect to rebasing)


implementation of non-fungible and non-transferable assets + tests

I agree with you that we could remove the MaliciousHolding example, as it doesn't really test features of the library.

I also removed the tests for the simplistic (and pure) verifySplit and verifyAmountPreserving functions.


Adjust Error messages for Login, APIs definitions and Health check page

[Adjust Error messages for Login, APIs definitions and Health check page]
Reproduction Steps:

[Login error message: Try to login with a Github user which is not authorised ]
[Create a new API page: Navigate to Apis definition > Create New API > Click on Save button without filling any input fields > Click OK button]
[Health check page:  Navigate to Health Check page > Refer to listed APi's description]

Screenshot attached:
http://prntscr.com/h79bq8
http://prntscr.com/h7956y
http://prntscr.com/h6y4gw

~2.~ resolved here

In regards to health check page https://github.com/hellofresh/janus/pull/233


Uncaught ReflectionException: Class config does not exist in  vendor\laravel\framework\src\Illuminate\Container\Container.php:830

i m facing this is on laravel 8 kindly suggest me any solution this issue thanks

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.


JbangBot at GPP needs a logo/avatar

https://plugins.gradle.org/u/jbangbot

whoops missed this - now fixed.


Add missing header tag

The header tag is closed but not opened

Since i didn't found a single use of <header> in the adminlte original example, you probably should remove the </header> instead of adding an <header>.
I also spotted a wrong </nav> inside the previous if (Line 108-110), shoulda have be a </div>.
Can you check that?

I checked my HTML and I can see two opening nav and two closing nav tags so that should be good. Feel free to double check though.

@AdrienPoupa Thanks for fixing this, 😀 may I forgot to remove it while updating to AdminLTE v3 base.


npm js plugin add @swc/core peer dependencies?

for example, loadable plugin update version (rust swc_core v0.78.x dependency version update) , if project don't update @swc/core(rust swc_core v0.76.x). local build failed.
then update @swc/core (same swc_core version v0.78.x with loadable plugin), it works.
is there any auto install process for update npm package for compatiable rust dependency.

This is out of scope question, plugin pkg itself does not have way to control how user installs other pkgs.


Storage Layer Design

This is just a scratch space that I am using for iterating through the storage layer design. Stuff to merge in will be pulled from here as it is completed. The completed pieces will be in separate branches/PRs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Feature Request : Add FAQ Section  in Documentation

Add Section  Frequently  Technical Asked Questions (FAQ) section to the Subspace documentation will serve as a valuable resource for users, contributors, and developers. FAQs provide concise answers to common queries, streamlining the learning process ,  Privacy Questions and troubleshooting efforts

Troubleshooting Aid:
Privacy Question
inDepth Technical Question

Note that we already have a "Common Problems" section here: https://docs.subspace.network/docs/farming-&-staking/farming/common_problems

Note that we already have a "Common Problems" section here: https://docs.subspace.network/docs/farming-&-staking/farming/common_problems

got it


Feature: Add Continuous Integration (part 2)

This is the actual PR that will close when CI is verified.

API rate limit exceeded, it seems. Will just merge this and eventually just fix any CI quirks later.


Automating booking log creation based on RGPro bookings

When a user books through RGPro, can a log file be automatically generated and filled with the location and date? Maybe something to read emails?

Since gyms are no longer using reservation systems moving forward, going to close this issue


Add option --check-status

HTTPie has the option --check-status, which can be used to make HTTPie exit with an return code != 0 if the HTTP request code is in the range [300..600[, which simplifies using HTTPie in shell scripts. httpie-go was lacking this option.
Disclaimer: I'm a golang newby.

Thank you for your PR! Looks good.


Exposes ScopeScheduler to TypeScript

rx-angular/rx.angular.d.ts
to author(@mickdelaney). could you review this PR?
:+1: or :-1:?
check list

[ ] pass the Travic-CI test?

@bytenik thank you for your contributions.
please check with --noImplicitAny options

Fixed! :)

thanks mate!


Display time of video (date-time that a frame was recorded)

When annotating video files with the correct timestamp, we can display the actual date/time of the current video frame as the video plays. Maybe add this to the video playback controls?

This has been added.


CLI arguments: default values always used

I'm currently having troubles with hug v2.1.2 and the cli routing.
Just take your example `first_step_3.py', and add eg. a default value to age:
@hug.cli()
def happy_birthday(name: hug.types.text, age: hug.types.number=23):
    # things here
    pass

If you now run hug -f first_step_3.py matt 10, this will use the age of 23.
Am I doing anything wrong? I'm completely new to hug, and despite the fact I like what I see, the doc is still very poor ;) but this is already an opened issue.
Anyway great piece of software.

Hi @mhavel,
The correct command should be hug -f first_step_3.py -c happy_birthday matt 10 when I run this I correctly get an age of 10. Let me know if you still run into issues running it in this manor.
Glad you like hug!
Thanks!
~Timothy

Thx @timothycrosley, but unfortunately this still does not work. I had a typo in my original message and was indeed typing the -c happy_birthday part.
Here is my full source:
import hug

@hug.cli()
def happy_birthday(name: hug.types.text, age: hug.types.number=23):
    """Says happy birthday to a user"""
    return dict(name=name, age=age)

my command:
hug -f hug0.py -c happy_birthday matt 10

and my output:
{'age': 23, 'name': 'matt'}

Am I running crazy? (very possible :))

Not crazy at all! When you add a default it essentially switches to a forced named parameter (under the hood it's using ArgParse so it has to follow all it's usage patterns) so to call it you would then do:
hug -f hug0.py -c happy_birthday matt --age 10
I hope this makes sense! Thanks!
~Timothy

it does indeed! Thanks, and sorry for the confusion.


Feature request for the 'Trigger Azure DevOps Pipeline' extension: wait for the build/release to complete

Hi Maik,
It would be great we could wait for the triggered (build or) release to finish. This way, we can create single releases to quickly deploy one part of the system, and create one release to group them all if we need to roll out to e.g. a new system with everything on it.
The Trigger Build Task from Benj Huser for example enables to wait on a build. I need it for a release :-)

Hi Maik,
Thanks for your work !
I have the same need here, it will be great if your task could wait the build/release to finish !

Sorry for the late response due to some personal stuff I haven't been able to proccess this hope to be able to do this in august

Hi Maik, no worries, nu rush! Take care of yourself!

Hi Maik. I also have the same request as I have a need to execute pipelines in serial, one right after another and not in parallel. Thank you for this extension.

Hi,
Great plugin and for me very useful.
I have the same need here. The downstream pipeline will work as a sub-pipeline(or a function) if the main pipeline capture its variables.
Thanks in advance.

See https://github.com/dmitryserbin/azdev-release-orchestrator for a plugin that does this for release pipelines today

Just dropping in another request for this feature!

my request is if you will add this feature please give the option to execute parallel release as well

While waiting for this feature, has anyone figured out a different way of doing this, please?

Added a code to wait for the succeeded status of the Release Pipeline in the existing script :
`                        do{
$resultGetRelease = Invoke-RestMethod -Uri $RunEnvUri -Method Get -ContentType "application/json" -Headers $DevOpsHeaders;
                        if($resultGetRelease.status -ne "succeeded"){
                            Start-Sleep -Seconds 5
                        }
                    Write-Host $resultGetRelease.status
                    }while($resultGetRelease.status -ne "succeeded")
                    `

@sanju0001 thanks for the script will see if I can add it to the script. I am on holiday now will check next week

@sanju0001 what are you passing in for the $RunEnvUri variable in your script? How do you know what the Release ID is for the run triggered by the "Trigger Azure DevOps Pipeline" task? In the logs of the trigger task, it does mention the triggered Release ID, but it is not output to an env variable that can be referenced in another task in the pipeline from what I can tell.


Merge collector result with RowReceiver result

Both were basically the same thing just with minor wording difference.

@seut please review

lgtm


Consider changing choices values to uppercase

It might be quite confusing to use lowercase choices in python code and uppercase ones in GraphQL API.
We could consider moving all of the choices to the uppercase

Hi, Happy Hacktoberfest!
I would like to contribute to your project and work on this. Is it still an issue?


call of overloaded ‘bind(const char [13], int64_t)’ is ambiguous

Hi,
I want to compile the example.
Do I need some compile flag for this?
My system:
Ubuntu 16.04
OF 010
/mnt/FILES/CODE/OF/OF_100_64B/addons/ofxMaps/libs/ofxMaps/src/MBTilesCache.cpp:459:56: error: call of overloaded ‘bind(const char [13], int64_t)’ is ambiguous
             selectMap.bind(":tile_column", key.column());

/mnt/FILES/CODE/OF/OF_100_64B/addons/ofxMaps/libs/ofxMaps/src/MBTilesCache.cpp:460:50: error: call of overloaded ‘bind(const char [10], int64_t)’ is ambiguous
             selectMap.bind(":tile_row", key.row());

I can confirm the issue.
The latest version of SQLiteCPP fixes this ambiguous binding issue on linux.  I updated ofxSQliteCPP to include the updated version and it now compiles for me on Ubuntu16.04/oF 010.  Please reopen if there are still issues.

yup, thx, is working now

Cool.  Keep me posted.  Curious to see what you do with it!


CI - Unify github and gitlab job

To make this 2 files a single file that supports init/create:

Gitlab
Github

With some flags passed on the argo submit.

This is no longer relevant.


Run single thread pytest in github actions

Alternative to #751
Instead of re-running the tests as proposed in #751, we simply run a single thread of pytest if we are on GitHub actions (for the pypy env). When run locally, pytest falls back to-n auto.

Why is this only for PyPy and not CPython?

Why is this only for PyPy and not CPython?

PyPy is the only environment that is facing memory issues currently. We don't want to run single thread CI jobs unless we absolutely have to in my opinion. If CPython has similar issues in the future, we can re-visit this at that point.


Autocomplete field options in the SingleChildScrollView remains open even when field goes out of view.

Steps to reproduce

Wrap Autocomplete field in the SingleChildScrollView.
Click on the field as if you are selecting options.
Scroll to make field out of view. Remember to scroll by two fingers (not by clicking and dragging the scrollbar).
You will notice the options overlay remains open and follow the field which is not even visible.

Expected results
Options should close as soon as field goes out of view.
Actual results
It remains open.
Code sample
https://dartpad.dev/?id=61735dfd0bbd1de1211510d4cdab387d
Screenshots or Video

Screenshots / Video demonstration

Flutter Doctor output
Doctor output
Dart SDK 3.5.1 and Flutter SDK 3.24.1

Thanks for the report. I was able to replicate this on web and desktop platforms, as shown below:
https://github.com/user-attachments/assets/27f8aa73-0cd7-4704-a6e9-5e4b47150dbf
Stable : 3.24.1
Master: 3.25.0-1.0.pre.219

 code

import 'dart:async';

import 'package:flutter/material.dart';

/// Flutter code sample for [Autocomplete] that demonstrates fetching the
/// options asynchronously and debouncing the network calls, including handling
/// network errors.

void main() => runApp(const AutocompleteExampleApp());

const Duration fakeAPIDuration = Duration(seconds: 1);
const Duration debounceDuration = Duration(milliseconds: 500);

class AutocompleteExampleApp extends StatelessWidget {
  const AutocompleteExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text(
              'Autocomplete - async, debouncing, and network errors'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(
                  'Type below to autocomplete the following possible results: ${_FakeAPI._kOptions}.'),
              const SizedBox(height: 32.0),
              const _AsyncAutocomplete(),
            ],
          ),
        ),
      ),
    );
  }
}

class _AsyncAutocomplete extends StatefulWidget {
  const _AsyncAutocomplete();

  @override
  State<_AsyncAutocomplete> createState() => _AsyncAutocompleteState();
}

class _AsyncAutocompleteState extends State<_AsyncAutocomplete> {
  // The query currently being searched for. If null, there is no pending
  // request.
  String? _currentQuery;

  // The most recent options received from the API.
  late Iterable<String> _lastOptions = <String>[];

  late final _Debounceable<Iterable<String>?, String> _debouncedSearch;

  // Whether to consider the fake network to be offline.
  bool _networkEnabled = true;

  // A network error was received on the most recent query.
  bool _networkError = false;

  // Calls the "remote" API to search with the given query. Returns null when
  // the call has been made obsolete.
  Future<Iterable<String>?> _search(String query) async {
    _currentQuery = query;

    late final Iterable<String> options;
    try {
      options = await _FakeAPI.search(_currentQuery!, _networkEnabled);
    } catch (error) {
      if (error is _NetworkException) {
        setState(() {
          _networkError = true;
        });
        return <String>[];
      }
      rethrow;
    }

    // If another search happened after this one, throw away these options.
    if (_currentQuery != query) {
      return null;
    }
    _currentQuery = null;

    return options;
  }

  @override
  void initState() {
    super.initState();
    _debouncedSearch = _debounce<Iterable<String>?, String>(_search);
  }

  @override
  Widget build(BuildContext context) {
    return Container(
        color: Colors.red,
        height: 100,
        child: SingleChildScrollView(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(
                  _networkEnabled
                      ? 'Network is on, toggle to induce network errors.'
                      : 'Network is off, toggle to allow requests to go through.',
                ),
                Switch(
                  value: _networkEnabled,
                  onChanged: (bool? value) {
                    setState(() {
                      _networkEnabled = !_networkEnabled;
                    });
                  },
                ),
                const SizedBox(
                  height: 32.0,
                ),
                Container(
                    color: Colors.amber,
                    padding: EdgeInsets.all(5),
                    child: Autocomplete<String>(
                      fieldViewBuilder: (BuildContext context,
                          TextEditingController controller,
                          FocusNode focusNode,
                          VoidCallback onFieldSubmitted) {
                        return TextFormField(
                          decoration: InputDecoration(
                            errorText: _networkError
                                ? 'Network error, please try again.'
                                : null,
                          ),
                          controller: controller,
                          focusNode: focusNode,
                          onFieldSubmitted: (String value) {
                            onFieldSubmitted();
                          },
                        );
                      },
                      optionsBuilder: (TextEditingValue textEditingValue) async {
                        setState(() {
                          _networkError = false;
                        });
                        final Iterable<String>? options =
                        await _debouncedSearch(textEditingValue.text);
                        if (options == null) {
                          return _lastOptions;
                        }
                        _lastOptions = options;
                        return options;
                      },
                      onSelected: (String selection) {
                        debugPrint('You just selected $selection');
                      },
                    )),
              ],
            )));
  }
}

// Mimics a remote API.
class _FakeAPI {
  static const List<String> _kOptions = <String>[
    'aardvark',
    'bobcat',
    'chameleon',
  ];

  // Searches the options, but injects a fake "network" delay.
  static Future<Iterable<String>> search(
      String query, bool networkEnabled) async {
    await Future<void>.delayed(fakeAPIDuration); // Fake 1 second delay.
    if (!networkEnabled) {
      throw const _NetworkException();
    }
    if (query == '') {
      return const Iterable<String>.empty();
    }
    return _kOptions.where((String option) {
      return option.contains(query.toLowerCase());
    });
  }
}

typedef _Debounceable<S, T> = Future<S?> Function(T parameter);

/// Returns a new function that is a debounced version of the given function.
///
/// This means that the original function will be called only after no calls
/// have been made for the given Duration.
_Debounceable<S, T> _debounce<S, T>(_Debounceable<S?, T> function) {
  _DebounceTimer? debounceTimer;

  return (T parameter) async {
    if (debounceTimer != null && !debounceTimer!.isCompleted) {
      debounceTimer!.cancel();
    }
    debounceTimer = _DebounceTimer();
    try {
      await debounceTimer!.future;
    } catch (error) {
      if (error is _CancelException) {
        return null;
      }
      rethrow;
    }
    return function(parameter);
  };
}

// A wrapper around Timer used for debouncing.
class _DebounceTimer {
  _DebounceTimer() {
    _timer = Timer(debounceDuration, _onComplete);
  }

  late final Timer _timer;
  final Completer<void> _completer = Completer<void>();

  void _onComplete() {
    _completer.complete();
  }

  Future<void> get future => _completer.future;

  bool get isCompleted => _completer.isCompleted;

  void cancel() {
    _timer.cancel();
    _completer.completeError(const _CancelException());
  }
}

// An exception indicating that the timer was canceled.
class _CancelException implements Exception {
  const _CancelException();
}

// An exception indicating that a network request has failed.
class _NetworkException implements Exception {
  const _NetworkException();
}

This is most likely related or similar to https://github.com/flutter/flutter/issues/150048

@huycozy Yes it's similar may be a single fix work for both the cases, but the mentioned issue has the field in view which doesn't necessarily cause bad UI. But in my case the UI looks bad as the field goes out of view and still options in the Overlay follow.


Cm dummy version pr

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 5 committers have signed the CLA.:white_check_mark: Shailesh351:white_check_mark: ear-dev:white_check_mark: ericrosenthal:x: Catherine Mangeym:x: catmangCatherine Mangeym seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.