Shutter that does not want to program itself

I installed this system on an esp32 with a CC1101. It worked really well for 4 of my shutters without any problems.
But for one, it is impossible to jog it when I press PROG. I tried to modify the frequencies but it doesn't change anything.
I then factory reset the shutter but that doesn't change anything.

What can I do to add it?

First, if you are running an E07-M1101 it is only capable of 10dBm transmit power.  If you are running the most recent version press and hold the prog button in ESPSomfy RTS for up to 2 seconds or until it jogs.  Another user had a tardy shade.  Also, try moving the device closer to the motor to see if it pairs.

I tried to hold down the prog button but it didn't change anything. I also brought the esp closer but the same nothing.
I think it must be at the level of the frequencies that I should modify but I don't know what to put

Is there some difference between these motor models?

Oui c'est exactement les meme models. C'est pour ca que je compreds pas pourquoi celui la ne veut pas se synchroniser.
Yes it's exactly the same models. That's why I don't understand why this one doesn't want to synchronize.

That is very odd.  Does your remote list the frequency on the back?  If it does set the Base Frequency slider to that frequency listed on the remote.

no there is no frequency on the back. However it works perfectly with my RFXtrx433XL. Besides, I have 2 terrace blinds that are not even seen by the software, while they also work very well with the RFX

RTS PURE should be picked up readily by ESPSomfy RTS.  Do you see any responses in the radio log for these two terrace blinds?  Can you please select the channel that is controlling one of these blinds that cannot be controlled and copy the log here.

Yes I can ^^ but exactly how can I do that?

Click the copy button on this screen and paste it into a message here.  That will copy all the pulse timings from the frames in the logs into a message.

ESPSomfy-RTS only sees the up, down or stop commands but the PROG command. Here is what I have in log when I wanted to make a prog.
[{"encKey": 172,
"address": 14048562,
"rcode": 2500,
"command": "Down",
"rssi": -75,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 4,
"pulses": [2536,2505,2517,2502,4899,1256,1311,1248,1339,1269,672,609,1316,620,682,1246,693,630,661,616,1345,1224,684,626,1319,1278,667,599,682,637,671,593,1327,622,668,1264,1333,617,680,591,679,637,673,1246,1328,631,687,611,673,601,675,616,709,1226,703,379,505,77,771,243,266,606,673,583,1353,1286,668,619,1325,1267,1306,1243,1360,1251,1334,1245,700,608,662,616,1324,611,688,1267,671,611,1308,615,696,1268],
"time": "2023-09-11T19:03:15.294+0200"
},
{"encKey": 160,
"address": 14048562,
"rcode": 2504,
"command": "Down",
"rssi": -78,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 4,
"pulses": [66297,14396,10260,17753,2514,2507,2557,2489,4893,1269,1298,1271,1328,602,655,631,671,629,653,635,663,1276,679,632,639,612,1327,615,680,635,650,639,656,1280,677,616,676,621,671,631,1310,1263,1307,639,648,633,665,643,647,628,678,1265,1323,608,682,601,673,635,659,629,667,1275,688,590,674,607,705,615,1316,1255,684,628,1293,1291,1298,1289,1307,1265,1306,1286,663,618,672,633,1313,615,698,1252,681,75,125,607,1319,632,673,1263],
"time": "2023-09-11T19:03:57.302+0200"
},
{"encKey": 161,
"address": 14048562,
"rcode": 2505,
"command": "My",
"rssi": -79,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 4,
"pulses": [66061,122856,56327,8721,57847,122840,10504,485,8673,49596,10285,17769,2491,2539,2507,2526,4846,1270,1334,1266,1311,620,649,654,640,644,647,1279,667,646,1308,1283,652,643,1287,1274,1287,26,1315,630,629,1309,1293,653,620,669,638,683,619,1320,603,666,620,671,1281,666,629,664,635,1304,1282,1284,1300,633,653,1320,1274,1302,629,683,601,673,1254,680,608,699,605,707,558,688,625,671,613,686,632,647,25,618,678,630,1319,1273,657,640,1324,616,659,1274,649,639,1328,599,675],
"time": "2023-09-11T19:03:58.061+0200"
},
{"encKey": 162,
"address": 14048562,
"rcode": 2506,
"command": "Up",
"rssi": -69,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 4,
"pulses": [63278,5586,121907,119229,593,581,3517,2254,73,1913,101,7623,10294,17726,2540,2533,2511,2516,4849,1272,1309,1272,1327,616,669,633,657,1281,1319,1262,1321,610,685,621,667,609,689,1251,1322,1272,670,630,1311,619,668,611,684,1276,646,636,1310,618,676,637,657,1268,1330,615,671,628,659,1269,669,629,1311,1272,1306,624,670,1258,1334,622,679,608,681,592,699,1269,650,618,1330,616,672,1276,663,614,1320,1263,676,619,676,613,684,619,668,636,660,616,675,619,680,617,679,611],
"time": "2023-09-11T19:04:01.744+0200"
}]

yes the usual procedure. I have a telis remote

I lower the shutter a little
I press the back of the remote control until the shutter moves
I press several times on prog of the ESPSomfy-RTS
To finish the program I press the button again on the back of the remote control and the shutter starts to move again.

But with all that there is only the moment when I bring down the pane that appears in the logs. No info during programming. I have the exact same pane on another window and it worked straight away.

That is odd.  You do not see the prog commands coming from the remote on that channel?  Which Telis do you have is it a 4 or a 16?

I do not know at all. Behind it says TELIS 1 / RTS PURE

So I stood right next to the esp. I tested the problematic pane and nothing appears.
I tried another remote control and here is the result:
[{"encKey": 163,
"address": 10004534,
"rcode": 803,
"command": "Prog",
"rssi": -25,
"bits": 56,
"proto": 0,
"valid": true,
"sync": 4,
"pulses": [16341,104476,85923,10253,18114,2493,2525,2504,2523,4818,1270,1281,1279,1294,641,664,620,644,1283,653,643,1275,640,667,1273,1280,641,646,1295,638,641,1291,648,634,638,640,1296,1281,640,640,25,1295,1288,1276,1301,640,640,644,647,634,659,640,641,1278,641,648,1295,1265,1290,649,633,1291,643,648,636,638,654,644,1272,641,665,619,669,1260,656,640,1300,1263,646,655,1291,619,670,633,635,640,647,644,654,639,635,643,642,632,660,642,653],
"time": "2023-09-11T20:39:02.194+0200"
}]

It's exactly the same remote control with the same references.

Expand the RX Bandwidth 50kHz at a time until we hear the prog button.  It is so odd that the motor can hear that remote but it clearly isn't transmitting around the center band.   You said if you press and hold the prog button on that remote it causes the shutter to jog (just verifying).

Yes with the remote control, programming takes place without any problem

Great, we're moving forward. Now I see the remote control prog button appear in the logs. I tried to make the esp prog but it still didn't work. I am in 108Kz

Just to be sure you have the TX Power set to 10dBm.  It did send a prog command but it is not being heard by the motor.
First lets verify that you are sending an RTS command.  Check to see that you have set the protocol to RTS on the shutter config and the bit length is 56-bits.

So I checked yes TX on 10db, RTS and 56bits.
When I press the prog button on the ESP, should we see the trace in the logs? because nothing is displayed for me

No you should not see transmitted frames in the log.  It will only reflect output from the receiver side of the transceiver.  If you had two ESPSomfy RTS devices one would show the receive side.  TX output is typically not an issue since the CC1101 can transmit with more power than a remote.

so I tried the prog again.

Did that motor actually jog after only 3 seconds on the remote?

yes he does but he always has. It doesn't move though when I do it with the sp.
Here is what I have in my conf. I checked that I had not put it on another shutter.
https://ibb.co/4NwYfVn

Please continue to respond
So here's what I did. I set the deviation frequency to 1.58khz.
my procedure:

I put the blind on prog
I press the esp program (it doesn't work)
I deprog the pane
add 10khz to the deviation frequency and restart.

I did that up to 180khz but it didn't matter. I don't have a way to see the frequency with software or a device?

I just tried adding and changing remotes. everything works normally. It's really strange that the esp can't do it. I think I must not be far from the solution

Yeah this is weird that it will not respond despite the same frames being sent.  Especially, since all the motors are the same and the remotes are the same.

I do not really know what to do anymore. Is there no way to read the exact frequency of the remote control? I don't even know if it could help me but hey you never know

Not with a CC1101.  There was another user who figured out that their frequency was 433.38 by using an SDR and sniffing the center.  This could actually be the CC1101 not really sending at the 433.42 center.

How can I modify this?
Is there a parameter I can try to see if the blind can finally respond?

That is on the base frequency.

frankly, I don't understand anything anymore and I really don't know what to do. They all work except for this one.
rolling code can't help?

I meant the base frequency on the radio setup.  Right now it should be set to 433.42.   It is very strange that this one motor does not work.  You indicated that you reset it to factory settings so I assume it cleared out all the old addresses.  When you cannot get a Somfy remote to respond you have to reset it to factory settings then start over but it sounds like you did that.
The rolling code only has a bearing for the address that is stored in the motor.  If the said address continues to send frames outside of the window of rolling codes stored on the motor it will lock out that address and not allow it to communicate with it.  Factory resetting clears this.

I factory reset the engine but I didn't do that to the remote control since it works.
Do you know the method to reset it from the factory?
I will try everything

When you reset the motor did you have to re-pair the remote and set the end stops?

yes when I have finished handling the motor, I have 2 minutes to pair the remote control. then I have to do all the end points

Try pairing the ESPSomfy RTS channel first.  There is something very odd about that motor.

Instead of synchronizing the remote control, do you want me to press prog on the esp?

Yes after you factory reset the motor press the prog button to pair the remote if that is what you do to get the initial remote paired.  If it is not how you set the initial remote get the latest release and select the virtual remote tab.  This will allow you to send whatever is required for initial pairing.
In fact the virtual remote will let you set the endstops with ESPSomfy RTS and send any other key combinations that may be required.  Keep in mind that some motors also require closing the initial process before adding any other remotes.  It will remain in a limbo state until that happens.  Unfortunately, it is not always the same based on the model of the motor.

@elpigeondindo did the above steps get you sorted out?

Sorry for my delay, I've been very busy.
So I tried to reset the shutter but this time by pressing the prog button and not the remote control. The shutter does not move when I press the prog key. Nothing is happening.

Finally it's solved!
I bought a new esp32 vroom. I scanned the frequency of my remote control. And you know what?
IT WORKS !
I thank you for your time that you gave me. thank you again very much.

Awesome!  I am going to close this one.  Open a new issue if you have any others (related to ESPSomfy RTS of course).


Node install hangs on run -i

When installing node for a microservice that needs one that isn't currently installed, bosco hangs after installing.  I think this may be related to @cliftonc's https://github.com/tes/bosco/issues/132#issuecomment-205462399 .

It was using node 5.9.1.

Also in node 0.10.38.  Not just on -i, it will hang regardless.

0.10 is unsupported in a few weeks, we can safely ignore it.

I think it hangs on all versions, I was just including the version for completeness.


Add stats window

Added a statistics page which can be accessed from the menu bar or by pressing F2. Closes #41
Currently, the statistics page shows a piechart of the priority tag usage. We will be adding more statistics to the stats page in the future.

Reduced the size of the ResultsDisplay box by 25% as suggested by @Th-429B.
Updated the UG to include Help and Stats.

Codecov Report

Merging #111 (4443eae) into master (7374d8a) will decrease coverage by 1.36%.
The diff coverage is 1.88%.

@@             Coverage Diff              @@
##             master     #111      +/-   ##
============================================
- Coverage     75.30%   73.93%   -1.37%
- Complexity      609      630      +21
============================================
  Files            95       98       +3
  Lines          1879     1980     +101
  Branches        210      225      +15
============================================
+ Hits           1415     1464      +49
- Misses          409      456      +47
- Partials         55       60       +5

Impacted Files
Coverage Δ

...in/java/seedu/fast/logic/commands/HelpCommand.java
100.00% <ø> (ø)

src/main/java/seedu/fast/model/Model.java
100.00% <ø> (ø)

src/main/java/seedu/fast/ui/HelpWindow.java
0.00% <ø> (ø)

src/main/java/seedu/fast/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/fast/ui/StatsWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/fast/model/Fast.java
74.28% <12.50%> (-18.31%)
:arrow_down:

...in/java/seedu/fast/logic/commands/FindCommand.java
100.00% <0.00%> (ø)

.../model/person/RemarkContainsKeyWordsPredicate.java
83.33% <0.00%> (ø)

...ast/model/person/TagContainsKeyWordsPredicate.java
85.71% <0.00%> (ø)

.../main/java/seedu/fast/commons/util/StringUtil.java
95.65% <0.00%> (+0.91%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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


[DO NOT MERGE] Republish orgs. when CIPs change

We embed information from the 'About us' corporate information page
under the organisation listing on pages like this:
https://www.gov.uk/world/spain#/world/trade-and-invest-spain
This change makes it so we republish the corresponding organisation
for a corporate information page whenever that page changes, e.g.
it is published, withdrawn, etc.
This might be a bit heavy-handed, but it's 'cheap' to republish a
document to the Publishing API, so this might help keep things in
sync if things change in the future, e.g. we embed content from
other CIPs on the org. page.
https://trello.com/c/9JFXOc5y/145-worldwide-organisations-are-not-updated-when-their-about-us-summary-is-changed-added

This isn't the right approach because this data is actually served from Rummager on the Taxon pages. Closing this.


Add delay / pause / interstitial to autoplay

Autoplaying in 3... 2... 1... [stop]

We should really add this feature soon along with https://github.com/lbryio/lbry-desktop/issues/2902 - it's a very strange experience when it "randomly" navigates away from the content you are in (happens in pop out mode too)


update connection type event (in the readme)

Starting React-Native v0.48.4 the NetInfo's "change" event is deprecated
The new event type is 'connectionChange'

Coverage remained the same at 99.091% when pulling ea04152ee308c3b1f99a62165f6996a0c985f63d on MehdiAlouafi:remove-deprecated-event-type into f22573044ca25dc941ec4e8651f342ab0a175dc5 on rauliyohmc:master.


Spring Boot 3 Migration: Parsing issue for public key used from java-security-test while decoding JWT token

Hi Colleagues,
In our WebSecuirtyConfig file, we have OAuth2 secuirty filter chain with custom Jwt decoder as shown below:
    public JwtDecoder getJwtDecoder() {
        XsuaaCredentials brokerXsuaaCredentials = brokerCredentials();
        XsuaaAudienceValidator customAudienceValidator = new XsuaaAudienceValidator(customXsuaaConfig());
        customAudienceValidator.configureAnotherXsuaaInstance(brokerXsuaaCredentials.getXsAppName(), brokerXsuaaCredentials.getClientId());
        return new XsuaaJwtDecoderBuilder(customXsuaaConfig()).withTokenValidators(customAudienceValidator).build();
    }

Now for the JWT token when the XsuaaJwtDecoder is invoked from spring-xsuaa-3.2.0 library, it attempts to verify the JWT token which is generated by JwtGenerator from java-security-test-3.2.0 library. The stack-trace shows that eventually the NimbusJwtDecoder is invoked which then attempts to parse the public key for verifying the token and this fails with the error "The modulus value must not be null".
at com.nimbusds.jose.jwk.JWKSet.parse(JWKSet.java:427)
Error Msg: Failed to retrieve JWK set. Invalid JWK at position 0: The modulus value must not be null
Please find attached image of stack trace.

Could you please guide us that how to proceed further from here?
Thank you very much!
Best regards,
Kamran

Hi Kamran,
Unfortunately we do not have the resources for consultation at the moment.
For this reason, we will update our guidelines for consultation support in the next days to move to a different place than GH issues.
Can you please try to pose your question on https://sap.stackenterprise.co/ as you seem to be an employee of SAP with access to this? Maybe someone else can you help you sooner. We will try to get to your question as soon as possible. I'm afraid I do not have an idea right off the bat what could be the issue here.

I have fixed the issue.
First fix: Our oauth/token_keys endpoint was returning the public key without additional attributes which are required by RSAKey.parse(final Map<String, Object> jsonObject) used from nimbus-jose-jwt-9.31 library which is dependency for XsuaaJwtDecoder from spring-xsuaa-3.2.0 library.
Original Response from end point oauth/token_keys which led to parsing issue with the usage of spring-xsuaa with migration however had no issue in previously used spring-security-oauth2 library
{
    "keys": [
        {
            "kty": "RSA",
            "value": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzI7Ysxdqxc9cQU58JYxW\nBeNVMbscuzp3wFrE8BmOt+i7FbijAskHYVo6fPxOcOH5usXc3hyhJvlB69T/+LF9\nkoqdLaTg05H2riYqtslek670MyC0TsCyUdgOAX/Qoj24KaU4JgRPxoApXWg7bVZ7\nPyRq8Nz3nVUGWrtv8+jxWUYEMf7q4N2tpsGKMyMVDUOgwi0vYAPg8PiyrB4gRJSQ\nl6skvE9twbflow9ut1MjywvQEkMLIBXA7TwmUR3IVqYvRvO46WaOTEqGaEgjTrMC\nwHp5sJNsrmH88WaAjMkxh4OLGX9QdZh6rJjFQGlw+COCEEZXB0TCIKL2KyTQNtl4\nEQIDAQAB\n-----END PUBLIC KEY-----"
        }
    ]
}

Partially fixed Response from end point oauth/token_keys - No public key parsing issue but still signature verification failed
..
    {
      "kty": "RSA",
      "e": "10001",
      "use": "sig",
      "kid": "default-kid",
      "alg": "RS256",
      "value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm1QaZzMjtEfHdimrHP3/2Yr+1z685eiOUlwybRVG9i8wsgOUh+PUGuQL8hgulLZWXU5MbwBLTECAEMQbcRTNVTolkq4i67EP6JesHJIFADbK1Ni0KuMcPuiyOLvDKiDEMnYG1XP3X3WCNfsCVT9YoU+lWIrZr/ZsIvQri8jczr4RkynbTBsPaAOygPUlipqDrpadMO1momNCbea/o6GPn38LxEw609ItfgDGhL6f/yVid5pFzZQWb+9l6mCuJww0hnhO6gt6Rv98OWDty9G0frWAPyEfuIW9B+mR/2vGhyU9IbbWpvFXiy9RVbbsM538TCjd5JF2dJvxy24addC4oQIDAQAB",
      "n": "9b541a673323b447c77629ab1cfdffd98afed73ebce5e88e525c326d1546f62f30b2039487e3d41ae40bf2182e94b6565d4e4c6f004b4c408010c41b7114cd553a2592ae22ebb10fe897ac1c92050036cad4d8b42ae31c3ee8b238bbc32a20c4327606d573f75f758235fb02553f58a14fa5588ad9aff66c22f42b8bc8dccebe119329db4c1b0f6803b280f5258a9a83ae969d30ed66a263426de6bfa3a18f9f7f0bc44c3ad3d22d7e00c684be9fff2562779a45cd94166fef65ea60ae270c3486784eea0b7a46ff7c3960edcbd1b47eb5803f211fb885bd07e991ff6bc687253d21b6d6a6f1578b2f5155b6ec339dfc4c28dde49176749bf1cb6e1a75d0b8a1"
    }
..

Second fix: The RSASignature.engineVerify() from java base library (sun.security.rsa) validates the length of signature which uses modulus from the public key that had different length i.e. 384 instead of expected 256. In order to fix this, I had to also encode the modulus using Base64 encoding like public key.
Final Fixed response from oauth/token_keys endpoint
..
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "default-kid",
      "alg": "RS256",
      "value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm1QaZzMjtEfHdimrHP3/2Yr+1z685eiOUlwybRVG9i8wsgOUh+PUGuQL8hgulLZWXU5MbwBLTECAEMQbcRTNVTolkq4i67EP6JesHJIFADbK1Ni0KuMcPuiyOLvDKiDEMnYG1XP3X3WCNfsCVT9YoU+lWIrZr/ZsIvQri8jczr4RkynbTBsPaAOygPUlipqDrpadMO1momNCbea/o6GPn38LxEw609ItfgDGhL6f/yVid5pFzZQWb+9l6mCuJww0hnhO6gt6Rv98OWDty9G0frWAPyEfuIW9B+mR/2vGhyU9IbbWpvFXiy9RVbbsM538TCjd5JF2dJvxy24addC4oQIDAQAB",
      "n": "AJtUGmczI7RHx3Ypqxz9_9mK_tc-vOXojlJcMm0VRvYvMLIDlIfj1BrkC_IYLpS2Vl1OTG8AS0xAgBDEG3EUzVU6JZKuIuuxD-iXrBySBQA2ytTYtCrjHD7osji7wyogxDJ2BtVz9191gjX7AlU_WKFPpViK2a_2bCL0K4vI3M6-EZMp20wbD2gDsoD1JYqag66WnTDtZqJjQm3mv6Ohj59_C8RMOtPSLX4AxoS-n_8lYneaRc2UFm_vZepgricMNIZ4TuoLekb_fDlg7cvRtH61gD8hH7iFvQfpkf9rxoclPSG21qbxV4svUVW27DOd_Ewo3eSRdnSb8ctuGnXQuKE="
    }
..

Happy to hear that, thanks for sharing your solution!


Prettify formatting of symbol types

This completes the work started here https://github.com/fsharp/FSharp.Compiler.Service/pull/431 by @7sharp9

Thanks this is great!


Upgrade deps

There's one last bug but i can't figure it out why it fails...
Close #7
ping @pavjacko

@pavjacko heyyy???


API improvements

Only had a chance to look at the README so far.
I think the API should avoid the use of the 'do' prefix.
Instead of 'doGet' just 'get' or 'visit' or 'page'
Instead of doPost, 'post' or 'postTo'
Instead of byLabel can it just be 'label' ?
Actually, I think the ideal would be to adopt an API similar to: https://github.com/ozataman/shpider
And instead of differentiating with byName, byLabel, and byId, id can require a '#', and we can assume name and fall back to label.

Good idea, I'll move more to a shpider naming convention, and use page
for requests. (or whatever shpider uses for making requests). There
are also some 'under the hood' changes so if you have any
reccommendations on that, now's probably the best time :)
Thanks!
----nubis :)
On Thu, Jan 12, 2012 at 9:56 PM, Greg Weber
<EMAIL_ADDRESS>wrote:

Only had a chance to look at the README so far.
I think the API should avoid the use of the 'do' prefix.
Instead of 'doGet' just 'get' or 'visit' or 'page'
Instead of doPost, 'post' or 'postTo'
Instead of byLabel can it just be 'label' ?
Actually, I think the ideal would be to adopt an API similar to: https://github.com/ozataman/shpider
And instead of differentiating with byName, byLabel, and byId, id can require a '#', and we can assume name and fall back to label.

Reply to this email directly or view it on GitHub:
https://github.com/nubis/TestWaiPersistent/issues/1

CSS Selectors
Text.XML.HXT.TransversingCSS is awesome!
@snoyberg is interested in that functionality for use on type of xml-conduit
There is an existing Haskell library that uses quasi css selectors https://github.com/Twinside/Webrexp/wiki/Webrexp-csscompat
Testing API
I already commented on some aspects.
How about runDB instead of testDB ?
Testing internals
I wish there were some other approach than overriding describe/it
It doesn't seem like it is possible with the current hspec API.
Is there a way we can change it?
The traditional way would be to stick our monad in every it:
describe "My App" $ do
it "does it" yesod $ do
Do you think it is a good idea to declare our monad once:
describe ("My App", yesod) $ do
it "does it" $ do
The advantage of this style is the potential composability rather than forcing a monolith.
For example we could expose different aspects of this stack
describe ("My App", [wai, persistent]) $ do
it "does wai & persistent" $ do
Or is there another way? I can look at the implementation details of the choice we make.

On Wed, Jan 18, 2012 at 9:02 AM, Greg Weber
<EMAIL_ADDRESS>wrote:

CSS Selectors
Text.XML.HXT.TransversingCSS is awesome!
@snoyberg is interested in that functionality for use on type of xml-conduit
There is an existing Haskell library that uses quasi css selectors https://github.com/Twinside/Webrexp/wiki/Webrexp-csscompat
Testing API
I already commented on some aspects.
How about runDB instead of testDB ?
Testing internals
I wish there were some other approach than overriding describe/it
It doesn't seem like it is possible with the current hspec API.
Is there a way we can change it?
The traditional way would be to stick our monad in every it:
describe "My App" $ do
    it "does it" yesod $ do
Do you think it is a good idea to declare our monad once:
describe ("My App", yesod) $ do
    it "does it" $ do
The advantage of this style is the potential composability rather than forcing a monolith.
For example we could expose different aspects of this stack
describe ("My App", [wai, persistent]) $ do
    it "does wai & persistent" $ do
Or is there another way? I can look at the implementation details of the choice we make.

Well, I don't know of any case in which either monad would be useful
on it's own, unless we broaden the scope of the problem being solved.
My main incentive writing this was to have a brain-dead solution for
testing stuff the compiler does not help with. That made me take some
'liberty' in the architecture. But now that you mention it, there is a
case for testing functions dealing with your "business logic",
livining in your models without making requests. There may also be a
point for people testing yesod sites that don't use models. I'll take
a look at it, I guess it's possible to define the monads to use and
have pre-applied 'describe' versions that use either or both of them
for convenience.
I came across Webregexp's hackage entry, from their entry I got the
impression that it was more focused on scrapping, the API was not
clear enough and it had strange dependencies like transformers+mtl and
HaXml+HXT. The rest is lisp syndrome, I thought writing my own in
'pure' HXT would be more straightforward. I'm willing to be called on
it, since I'm always the first one to challenge writing a new library
instead of fixing an existing one. Do you think we should use
Webregexp's? Do you know the author or anyone with any particular
interest in it?
Btw, all my work on this is now going to my 'yesod' branch, since I'm
integrating what I have with the yesod scaffolder to make it more turn
key.
cheers
----nubis :)

Thanks a lot for adding to the Yesod scaffold. I think that is actually the last remaining 1.0 goal that was never tackled.
I do not have more than passing familiarity with Webregexp. It was focused on being an executable for scraping, but they did create some library interface after I requested it. I mention the library mostly in case you were unaware of it and because you might be able to borrow a little bit of the css expression code. It would be nice if there were a common library for parsing CSS selector expressions that could be shared, but just eventually releasing your HXT CSS selector module as a library would be a good.


Scalars in acset transformations

When defining an acset transformation from a domain acset with only 1 element in some Ob's set, sometimes a scalar will sneak into the components rather than a vector. When this hits coerce_component it results in a rather scary method error (see below). Because defining acset transformations can be rather complex, when seeing this kind of error a user might fruitlessly spend time looking for a bug in the mapping, instead of something "simple" like using a scalar rather than a vector in the components.
It would be nice to let coerce_component allow for scalars, or make the necessary conversion somewhere in the call stack, if it doesn't cause any problems with the rest of the code design.
ERROR: MethodError: no method matching (SetFunction{Dom, Codom} where {S, S′, Dom<:(FinSet{S}), Codom<:(FinSet{S′})})(::Int64, ::Int64, ::Int64)

Closest candidates are:
  (SetFunction{Dom, Codom} where {S, S′, Dom<:(FinSet{S}), Codom<:(FinSet{S′})})(::typeof(identity), ::Any...)
   @ Catlab ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/FinSets.jl:186
  (SetFunction{Dom, Codom} where {S, S′, Dom<:(FinSet{S}), Codom<:(FinSet{S′})})(::AbstractDict, ::Any...)
   @ Catlab ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/FinSets.jl:188
  (SetFunction{Dom, Codom} where {S, S′, Dom<:(FinSet{S}), Codom<:(FinSet{S′})})(::ACSets.Columns.Column{Int64, Int64}, ::Any, ::Any)
   @ Catlab ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:88
  ...

Stacktrace:
  [1] coerce_component(::Symbol, f::Int64, dom_size::Int64, codom_size::Int64; kw::@Kwargs{})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:465
  [2] #21
    @ ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:444 [inlined]
  [3] map(f::Catlab.CategoricalAlgebra.CSets.var"#21#24"{…}, t::NTuple{…})
    @ Base ./tuple.jl:294
  [4] coerce_components(S::Type, components::@NamedTuple{…}, X::WorkflowGraph{…}, Y::WorkflowGraph{…})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:443
  [5] (StructTightACSetTransformation{…} where {…})(components::@NamedTuple{…}, X::WorkflowGraph{…}, Y::WorkflowGraph{…})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:376
  [6] macro expansion
    @ ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:0 [inlined]
  [7] macro expansion
    @ ~/.julia/packages/CompTime/Ppb3B/src/CompTime.jl:137 [inlined]
  [8] comptime(::typeof(Catlab.CategoricalAlgebra.CSets._ACSetTransformation), 763::Type{…}, components::@NamedTuple{…}, X::WorkflowGraph{…}, Y::WorkflowGraph{…}, 764::Type{…})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/CompTime/Ppb3B/src/CompTime.jl:137
  [9] _ACSetTransformation
    @ ./none:0 [inlined]
 [10] ACSetTransformation(components::@NamedTuple{…}, X::WorkflowGraph{…}, Y::WorkflowGraph{…})
    @ Catlab.CategoricalAlgebra.CSets ~/.julia/packages/Catlab/77h9f/src/categorical_algebra/CSets.jl:549
 [11] top-level scope
    @ ~/Desktop/git/dssi-dyve-gcsprod/dev/workflow/process-workflows.jl:223
Some type information was truncated. Use `show(err)` to see complete types.

In Julia, unlike in say R, scalars are not identified with one-element vectors and I think we should respect that. OTOH, I agree that that error message is both scary and unhelpful. If it's a common mistake, I would suggest that we catch earlier in the call stack and throw an informative error message with a suggestion about what the user should have typed instead.

@epatters if that's the design convention to stick to, that makes sense to me.
In that case, I could suggest changing coerce_component (defined here https://github.com/AlgebraicJulia/Catlab.jl/blob/b71a5b873920bd1621a9d99193e9927cb51d2af6/src/categorical_algebra/CSets.jl#L465-L466) into two methods coerce_component(::Symbol, f::T, dom_size::Int, codom_size::Int; kw...) where {T<:Integer} and coerce_component(::Symbol, f::AbstractVector{<:Integer}, dom_size::Int, codom_size::Int; kw...), where the first will throw an informative error, assuming that by that point coerce_component` will be getting integers or vectors of integers.

Thanks @slwu89! Happy to accept that PR.


use ts-jest and ts-jest/presets/default-esm in the same monorepo

Version
29.0.3
Steps to reproduce
I have a monorepo that includes some commonjs  and esm projects
I configured the root jest.config.ts to use ts-jest as a preset and added projects property, so each project has its own jest.config.ts file
in esm projects I override the value of preset to 'ts-jest/presets/default-esm', but I got errors when the test encounters an esm feature.
it works when I set preset in the root config file to ts-jest but this makes commonjs projects have issues
Expected behavior
.
Actual behavior
.
Debug log
.
Additional context
No response
Environment
.

If you are using projects property, the root level preset will be ignored. This is the default behavior of Jest config. For monorepo, it's better that you specify preset per project config instead of root level.

the root level preset will be ignored

this is the expected behavior, but the actual behavior is that esm is not being used. I am going to prepare a minimal reproduction to showcase this issue


How to add custom paths to Packs::Rails.config.paths?

I'm trying to add a custom paths to Packs::Rails.config.paths, but I can't figure out the right place to do it.
Here's the relevant part of my application.rb:
Bundler.require(*Rails.groups)

Packs::Rails.config.paths << "app/once"

module MyCompany
  class Application < Rails::Application
    config.load_defaults 7.0

    config.paths.add("app/once", autoload_once: true)
  end
end

I'm trying to set up an app/once directory as a kind of app/lib directory but with autoload_once: true. This fails with the following message:
~/.local/share/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/packs-rails-0.0.3/lib/packs/rails/integrations/rails.rb:31:in `block (2 levels) in inject_paths': undefined method `<<' for nil:NilClass (NoMethodError)

              @app.paths[path] << pack.relative_path.join(path)
                               ^^

This is caused by packs-rails using a config.before_configuration block to set up config.paths, which is run when inheriting from Rails::Application (i.e. before my config.paths.add(...) call). Is there an intended way to add custom paths? Or should I give up on using a custom path for this and find another way to set autoload_once: true?

Hi @TastyPi can you see if this works? https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#config-autoload-once-paths

I haven't tested it, but I'm sure that would work. It's more that it's weird packs-rails allows the paths to be configured, but it's only possible to configure a subset of standard Rails paths. Maybe that's intentional, just seems odd to me.

I'm having a similar issue. I'd like to have an app/services and app/queries for each pack. I'm also trying to figure out where it.
I have the following in my application.rb
config.before_configuration do
      Packs::Rails.config.paths += %w[
        app/api
        app/services
        app/queries
      ]
end

Unfortunately, the Packs::Rails Railtie seems to execute before that.

@sarahsehr I'm pretty sure any app/* pack should automatically be configured with the normal autoloading behavior. Is that not working for you or are you trying to use autoload_once as well?

@sarahsehr I'm pretty sure any app/* pack should automatically be configured with the normal autoloading behavior. Is that not working for you or are you trying to use autoload_once as well?

No, not trying to use autoload_once. I don't mean to hijack this issue, but I think we're experiencing the same behavior.
I'm not super familiar with how autoloading works, but from what I have debugged so far the autoloading is limited to this list:
https://github.com/rubyatscale/packs-rails/blob/ab62d6bb40ceec52d6b5874625976d43719e08ac/lib/packs-rails.rb#L25

Are your packs in the packs folder? e.g. packs/my_pack/app/services? Or are they located somewhere else? Are you getting a NameError due to no initialized constant? You might also want to make sure packs-rails is properly required before boot.

Are your packs in the packs folder? e.g. packs/my_pack/app/services? Or are they located somewhere else? Are you getting a NameError due to no initialized constant? You might also want to make sure packs-rails is properly required before boot.

Yes, that is the location and yes I'm getting a NameError due to uninitialized constant. I have verified that the code has executed via debugger.
I added the following to my application.rb and things seem to load correctly now:
    config.before_configuration do |app|
      additional_paths = %w[
        app/api
        app/services
        app/queries
      ]

      Packs.all.reject(&:is_gem?).each do |pack|
        additional_paths.each do |path|
          app.paths[path] = [] if app.paths[path].blank?
          app.paths[path] << pack.relative_path.join(path)
        end
      end
    end

I copied and tweaked the code from https://github.com/rubyatscale/packs-rails/blob/ab62d6bb40ceec52d6b5874625976d43719e08ac/lib/packs/rails/integrations/rails.rb#L27-L33

Hmm, must be something more at play, because I'm finding app/serializers is loading in my pack even though that is in neither list.

@sarahsehr I normally see this issue when attempting to reference a class in config/initializers. Only classes defined in paths that are autoload_once can be used there (and this is the use case I'm trying to cover) https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#autoloading-when-the-application-boots.

@TastyPi @alexevanczuk
You are correct that it was related to to_prepare. A constant was being set to an array of classes outside of the to_prepare block. Inside the to_prepare block, I was iterating through the array. However the entires in the array were not equivalent to the constants by the same name in the to_prepare block and that was causing the loading issues.
So definitely unrelated to this issue, sorry for hijacking! Thank you for the kind offers of help. :)

No worries! Glad your issue is settled.
@TastyPi When you get a chance, let me know your status on the issue! If you feel like you have a good solution to this that lives outside of packs-rails, we can add to the README!

So we're currently not using packs-rails, I ran into this issue when looking at replacing our manual implementation with it. It is possible to configure it while using packs-rails, you just need to manually add the paths:
  config.before_configuration do |app|
    app.config.paths.add("app/once", autoload_once: true)
    Packs.all.each do |pack|
      app.config.paths["app/once"] << pack.relative_path.join("app/once")
    end
  end

Just seems odd/confusing that packs-rails has a config option for paths but doesn't support non-default Rails paths.

Oh gotcha, sounds like this workaround will work for now.
It sounds like what you'd be looking for (to use packs-rails) is for packs-rails to expose an API for specifying your non-default Rails paths so they can be included as well, does that sound right?

That would be nice, my workaround isn't a particularly big deal though, I was mostly curious how it was expected to work.


Update CNI to 1.3.0

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Are you a user of Cilium? Please add yourself to the Users doc
[x] Thanks for contributing!

Fixes: #issue-number
Update CNI (loopback) to 1.3.0

@anfernee FYI I've pushed a new commit to your branch with the new image tags from your changes.

/test


Story book

Story Book added and functional, to run: npm run storybook, in case of errors try running: npm run tailwind, or npm install.

Delete branch after review.


Mobile push notifications from actions

For example we could use the IMF Push Service in Bluemix so it can be used in mobile solutions.
Use cases are like, when push to git send push notification to phone
blue_#1583
#mobile_raj

I think Sebastian Aschoff is working on that

Thanks @tareqmamari , can you put a name in your profile I can't tell if you are an IBMer.

@tareqmamari Sebastian Aschoff is going to work on Message Hub #400
@nwspeete-ibm is going to work on IMF Push
They can collaborate on IMF push

cc @nauerz-ibm

.sh scripts are ready for installing this push package into open.  One decision to be made is how to integrate the tests from outside packages: https://github.com/openwhisk/openwhisk/issues/562


Fixed AttrGetter bug with fastapi.

Currently getting an attribute from a Singleton provider's attribute with fastapi.Depends raises the following exception:
line 2480, in _signature_from_callable
    raise TypeError(
TypeError: unexpected object <that_depends.providers.attr_getter.AttrGetter object at 0x000001D8C6D32D00> in __signature__ attribute

Here is an example to reproduce the exception in that_depends==1.19.1:
class Config(BaseModel):
    name: str = "test"

class MyContainer(BaseContainer):
    config = providers.Singleton(Config)

app = FastAPI()

@app.get("/config")
async def config(config: typing.Annotated[Config, Depends(MyContainer.config)]):
    return config # {"name": "test"}

@app.get("/config_attr")
async def config_attr(name: typing.Annotated[str, Depends(MyContainer.config.name)]):
    return name #  unexpected object <that_depends.providers.attr_getter.AttrGetter object at 0x000001F9954EED50> in __signature__ attribute

Why does this happen?
When we access an attribute of a provider instance, we get a AttrGetter instance which has the following __getattr__ implementation:
def __getattr__(self, attr: str) -> "AttrGetter[T]":
        self._attrs.append(attr)
        return self # <-- this line is key!

During the dependency resolution in fastapi.Depends tries to resolve the signature of the AttrGetter instance by calling inspect.signature(my_attr_getter). Within that call it also tries to resolve my_attr_getter.__signature__, which , due to above implementation returns and instance of AttrGetter -> raising an exception.
Possible solutions that do not work:

Just handling the .__signature__ case:

def __getattr__(self, attr: str) -> "AttrGetter[T]":
        if attr == "__signature__":
            raise AttributeError()
        self._attrs.append(attr)
        return self

Does not work because during fastapi.Depends dependency resolution because the self._attrs list gets piled with __kwargs__,__random_stuff__ etc.

Just handling attr starting with __:

def __getattr__(self, attr: str) -> "AttrGetter[T]":
        if attr.startswith("__"):
            raise AttributeError()
        self._attrs.append(attr)
        return self

Does not work because fastapi.Depends also calls my_attr_getter._partial.
Resolution:
def __getattr__(self, attr: str) -> "AttrGetter[T]":
        if attr.startswith("_"):
            raise AttributeError()
        self._attrs.append(attr)
        return self

Which of course prevents constructs such as
@app.get("/config_attr")
async def config_attr(name: typing.Annotated[str, Depends(MyContainer.config.name._some_private_attr)]):
    return name

But I would argue this is not the usual use case, nor would it be best practice.
Long term solution:

Rework AttrGetter and surrounding logic?
Create a custom fastapi intergration that does not mess with that_depends dependency resolution, similar to how it was done in dishka here: dishka fastapi integration.

@alexanderlazarev0 good catch!
For long term I'm thinking about something more universal, than adding integrations for every framework

@alexanderlazarev0 hi!
I implemented this feature initially in this framework. You are using it a little differently than it might have been intended due to the design of this framework
But the general question is why do you expect this to work? Depends usually wants to see a Callable object and call it during dependency injection. It is logical that you saw an error, because what you submitted to the Depends input is not Callable. Moreover, here you are not using the inject decorator, with which you can process various input parameters and correctly inject them into the target function
Maximum that could be done in this situation without any fixes in the framework is to move the attribute into the smth like Object provider (see the example here), and successfully inject the provider itself, then your case would work. Obviously this is an awkward case, but for this to work as you'd expect, you have to do more than try to inject the provider attribute directly

@nightblure Thank you for the follow-up!

But the general question is why do you expect this to work?

This package specifies compatibility with fastapi so I would expect most if not all features of the package to work with fastapi

Depends usually wants to see a Callable object and call it during dependency injection. It is logical that you saw an error, because what you submitted to the Depends input is not Callable.

I submitted an AttrGetter Instance and AttrGetter still implements AbstractProvider which implements the __call__ method, therefore what I am passing is technically still a Callable.

Moreover, here you are not using the inject decorator, with which you can process various input parameters and correctly inject them into the target function

Yes I understand, but due to the aforementioned compatibility with fastapi I would expect this to work in one way or another.

In general, I fully understand that the AttrGetter functionality is technically not a core functionality of the that-depends package, it is, to me, more of a quality of life addition that can reduce bloat and help me (and others) write more concise code. Therefore, I think the current relatively simple solution helps support usage with fastapi and I agree that it would be unnecessary to add more complexity to just fix something like this.


Debugging

Hello, i have a begginers question: How may i debug the code, for example, i'am using Visual Studio Code and have the following configuration file

{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Gulp task",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": [
"serve:development", "--colors"
]
}
]
}

with this i can see that for example, the Gulp code inside node_modules is debuggable cause the breakpoint stops there, but the code server.js and server/register are not stoping...
And inside the server/models/my.model.js i have a create:pre function defined, the function is executed as well but the debug is not being fired
Thanks!

Hi @thiagoananias, thanks for your interest. Unfortunately I'm not very familiar with VS Code and its debugging features.  I personally use Webstorm for node.js development, and I'm pretty sure it allows for breakpoints to be set for any code that is executed. I highly recommend it.

Thank you


Migrate encodeCall.ts to web3 per comment

There was a comment at the top of helper encodeCall.ts about migrating to web3. I went ahead and migrated it for my own project. Thought I would submit it here as well.
Web3 handles encoding parameters just a little differently than what was being used before. Web3 wraps around if given a negative for type uint rather than throwing. It also appears to convert empty buffers to nulls rather than keeping them as empty buffers. I had to tweak the test file accordingly.
I also added a helper function in the test to convert from the web3 return value (which is an object) to what was expected in the asserts (which was an array).

Thanks for the contribution, @CallMeGwei! We'll review this in a few days :-)


fix: Merge schemas for AI Agent response and ai_agent request parameter (box/box-openapi#441)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

2 of 129 (1.55%)  changed or added relevant lines in 18 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.0%) to 68.816%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

Box.Sdk.Gen/Managers/Ai/IAiManager.cs
0
1
0.0%

Box.Sdk.Gen/Schemas/AiAgentBasicGenTool/AiAgentBasicGenTool.cs
0
3
0.0%

Box.Sdk.Gen/Schemas/AiAgentLongTextTool/AiAgentLongTextTool.cs
0
3
0.0%

Box.Sdk.Gen/Managers/Ai/GetAiAgentDefaultHeaders.cs
0
4
0.0%

Box.Sdk.Gen/Schemas/AiAgentLongTextTool/AiAgentLongTextToolEmbeddingsField.cs
0
4
0.0%

Box.Sdk.Gen/Schemas/AiAgentLongTextTool/AiAgentLongTextToolEmbeddingsStrategyField.cs
0
4
0.0%

Box.Sdk.Gen/Schemas/AiAgentTextGen/AiAgentTextGen.cs
0
4
0.0%

Box.Sdk.Gen/Managers/Ai/GetAiAgentDefaultQueryParams.cs
0
6
0.0%

Box.Sdk.Gen/Managers/Ai/AiManager.cs
0
7
0.0%

Box.Sdk.Gen/Schemas/AiAgentAsk/AiAgentAsk.cs
0
7
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-1.0%

Covered Lines:
6673

Relevant Lines:
9698

💛  - Coveralls


FOXX Controller file support nested files

Hi
Since controller files get quite large, I'd like to see a feature where I can nest files in my controller.
For example, I could have a controller that simply has include: puts.js and/or includes: gets.js.
Or a more JS version like, loadFile() / includeFile() / loadScript() / includeScript().
That would make code management a lot easier during development and code management.
Thanks

Controllers will be replaced with Routers in 3.0: https://github.com/arangodb/arangodb/pull/1612
These Routers behave more like the routers you may know from node's express framework, i.e. they allow arbitrarily nesting routers inside other routers. Unlike controllers they can also be exported and imported, allowing you to move them into their own files as necessary.
e.g.
const createRouter = require('@arangodb/foxx/router');
const sub1 = createRouter();
const sub2 = createRouter();
const ext = createRouter();

module.context.use('/a', sub1); // mount the router at the given path
sub1.use('/b', sub2); // mount one router inside another
module.context.use(ext); // or just mount it directly

sub1.get('/hello', /* ... */); // will live at /a/hello
sub2.get('/world', /* ... */); // will live at /a/b/world
ext.get('/bananas', /* ... */); // will live at /bananas

I'll leave this issue open until the FOTF branch implementing the new Foxx API is merged into devel.

Fixed via FOTF.


Add TTIR StableHLO conversion for real. [#749]

Real is assumed unary elementwise operation in TTIR/ StableHLO.

I've read the title of this PR in a totally different way, frfr 😅

Hey @ddilbazTT , this change will support stablehlo->ttir conversion, but it would be nice to also add support for ttir->ttnn conversion and runtime so that way we have a full support. You can see this change for example: https://github.com/tenstorrent/tt-mlir/pull/675/files
Though in this case it seems like real op is not even supported by ttnn API. What is the use case where we need this op?

@mrakitaTT I assumed TTNN conversion is out of scope of this issue for a few reasons. real is a unary operator in StableHLO yet TTNN has a "real" implementation (/tt-mlir/third_party/tt-metal/src/tt-metal/ttnn/cpp/ttnn/operations/eltwise/complex_unary/device/complex_unary_op.cpp) which is using a "ComplexTensor" struct. This struct needs to be constructed with the real and imaginary parts of a complex number, instead of calculating the real and imaginary parts of a number from the complex number. This is a bit of a chicken-and-an-egg situation.


Add minimap arrow pointing to the active daeyalt rock

Closes #12314

I've pushed a commit which cleans up this PR to apply with fewer deletions than 6ea82e7 and clean up the flow a bit.

Is anything else required of me to get this merged?


Move to simpler cache

This cache simply evicts as much as possible whenever a checkpoint is set. Data is organised by key, then by checkpoint. With the reduction in functionality, it's now quite simple.
The engine must combine data in the cache with any other data, such as tsm1 files, that may contain data matching a query.
$ go test -run=XXX -bench=Benchmark_Cache -test.benchmem
PASS
Benchmark_CacheWriteSameKeySameCheckpoint           5000            331231 ns/op          423138 B/op          0 allocs/op
Benchmark_CacheWriteSameKeyDifferentCheckpoint     10000            103946 ns/op           82019 B/op          2 allocs/op
ok      github.com/influxdb/influxdb/tsdb/engine/tsm1   2.777s

I need to study the benchmarks more closely, to look for improvements, but this cache should be usable now by the engine.
Note to reviewers: I suggest you simply look at the new files (hit the "view" button), and ignore the diff. The new code is much simpler, and probably easier to to understand that way.

@jwilder @pauldix

@otoolep looks good, but there's one thing missing that I just realized. It's not enough to have a single checkpoint value since the cache has to work for multiple shards. Assuming the checkpoint is just the number of the WAL file, they wouldn't be unique across shards. So you need the combination of the shard ID and the checkpoint.

OK @pauldix -- I believe I see what you are saying. While we imagine 1 in-RAM cache for the entire system, there is a WAL per shard. And WAL segment IDs are not unique system-wide, but only per shard.
(Shard is a logical concept in the sense it maps to multiple WAL segment files and tsm1 files).

To ease development, going to merge this now and open a new PR so that the cache supports shard IDs. I believe @jwilder is already generally happy with the interface, so it just needs tweaking with IDs.

We had also discussed moving to a single WAL as well.  The engine is tied to a shard and the engine is what would have the reference to the WAL and cache.  Making these components support multiple shards might not be straightforward with the other engines in place since we'd have to move the engine up to the tsdb.Store.

@jwilder and I spoke about this, and we understand the requirement @pauldix . However, in the interest of getting to the goal of a refactored tsm1 in 0.9.6, we're going to punt on it for now. In other words the cache will operate like it does now -- on a per-shard basis. It actually requires significantly more refactoring to have a unified cache, and while we both agree it's the right thing to do, it will only get in the way right now of bringing a refactored tsm1 engine online.


getSSID Android 8.1 'unknow'. Help me please!

+1

Hi People, the issue is related to new Android 8.1 security patch. This means you should ask RUNTIME permission to user for FINE_LOCATION or COARSE_LOCATION to get the SSID

Hi People, the issue is related to new Android 8.1 security patch. This means you should ask RUNTIME permission to user for FINE_LOCATION or COARSE_LOCATION to get the SSID

Thank you. Can you guide me?

Thank you, @MarcoTerzoloGit. I have done it.


Add/Document a variant for compiling without images

My current draft takes some non-trivial amount of time (1m54s) to compile (pdflatex, bibtex, pdflatex, pdflatex) if images are included and rendered inline. For iterating to ensure changes in text were interpreted correctly (e.g., formulas, Xref'd figs), I would like a documented option for quicker compilation (currently 8sec for above 4 cmds with below cmd). Currently, prior to applying this template, I use the same class with two different options also containing stylistic differences (for higher information density while reviewing):

Normal compile variant:
\documentclass[10pt,phdthesis,doublespace,oneside,thesisdraft]{my_thesis_style}
Quick-compile variant
\documentclass[9pt,phdthesis,singlespace,oneside,thesisdraft,draft]{my_thesis_style}

A shorter option or toggle as defined within the wsdlthesis class would be useful.

The parent report class has a draft parameter available which can be passed from the wsdlthesis class too. This however, would only put an outline and image file names when figures are included, not the actual figures.
To give it a try, please change the first line of the main.tex to \documentclass[draft]{wsdlthesis} and profile the timing.

@ibnesayeed Will-do once I port my files over the hierarchy in this repo. In the meantime, the effects of the draft option should be documented in the README.

Additionally, at least in the "draft" feature in the class I am using (which I believe has a similar basis as wsdlthesis) is that even figures w/o images get the outline treatment. It would be useful to have a different variant where listings within figures are still displayed when the drafts option is enabled.

I did not add the anything specific to the draft parameter in the documentation, but I did mention this:

Any additional parameters to the wsdlthesis class will be passed on to the parent report class.

Currently, there is a fallback "catch all"-style parameter passing to the parent class. Any custom handling of draft mode would require more investment (which can be done if it is worth the effort).
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}


New version: ImageQuilting v0.9.4

Registering package: ImageQuilting
Repository: https://github.com/JuliaEarth/ImageQuilting.jl
Created by: @juliohm
Version: v0.9.4
Commit: b6f116390c4a835b35074745295f38dc6fbf105e
Reviewed by: @juliohm
Reference: https://github.com/JuliaEarth/ImageQuilting.jl/commit/b6f116390c4a835b35074745295f38dc6fbf105e#commitcomment-39776162

Could you please close this PR? I've submitted the correct version in another PR.


Great work, I have some suggestions

use alias
In this way, there is no need to use relative paths in the code.
- import Box3 from "../core/Box3";
+ import Box3 from "@/core/Box3";

use index.ts

create src/core/index.ts to export all

- import Box3 from "../core/Box3";
- import Version, { Versioned } from "../core/Version";

+ import { Box3, Version, Versioned } from "@/core;

I love three.js,  i am also studying WebGPU.
When I saw your project, I was so excited, I felt like I saw a great project just born.

Thanks for the suggestion ! I just pushed a commit that uses aliases for both srcand examples, as well as adding index.ts files for each directory.


WIP Fix tenant size orphans

Before only the timelines which have passed the gc_horizon were processed which failed with orphans at the tree_sort phase. Example input in added test_branched_empty_timeline_size test case.
The PR changes iteration to happen through all timelines, and in addition to that, any learned branch points will be calculated as they would had been in the original implementation if the ancestor branch had been over the gc_horizon.
This also changes how tenants where all timelines are below gc_horizon are handled. Previously tenant_size 0 was returned, but now they will have approximately initdb_lsn worth of tenant_size.

Interesting test failures. This PR will most likely add similarly flaky tests as https://github.com/neondatabase/neon/issues/2962.

Unrelated regress-tests (release): test_runner/regress/test_tenant_detach.py::test_tenant_detach_smoke
We expected this assert to be flaky in regress-tests (debug):
test_runner/regress/test_tenant_size.py:141: in test_branch_point_within_horizon
    assert flushed_lsn.lsn_int - gc_horizon > initdb_lsn.lsn_int
E   assert (23863688 - 200000) > 23683304
E    +  where 23863688 = Lsn("0/16C2188").lsn_int
E    +  and   23683304 = Lsn("0/16960E8").lsn_int

Thinking now how to fix it.

Oki all tests passed. There's a flakyness suspicion on remaining ones we added so adding the skip annotation in next push. The tests are standalone as examples, but believed to be covered by other tests.

Broke the tests while trying to satisfy mypy, fixing.

Latest regress (debug):

ERROR test_runner/regress/test_tenant_detach.py::test_tenant_detach_smoke - A...
FAILED test_runner/regress/test_ondemand_download.py::test_ondemand_download_timetravel[real_s3]


Multiquery groundwork

This PR lays the groundwork for multiple queries in the same request, by generalizing implement to support publishing multiple named relations. Rather than have a distinguished query and many supporting rules, implementation is done against a batch of rules and a set of identifiers to publish.
fn implement<A: Allocate, T: Timestamp+Lattice>(
    // name: &String,
    // plan: Plan,
    rules: Vec<Rule>,
    mut publish: Vec<String>,
    scope: &mut Child<Worker<A>, T>,
    ctx: &mut Context<T>
) -> HashMap<String, RelationHandle<T>> {

The method now creates a NamedRelation for each rule, creates public traces for each published name, implements each rule, and then binds each to their definition.
In server.rs, we translate traditional queries like so
    // let mut rel_map = register(scope, &mut ctx, &query_name, plan, rules);
    rules.push(Rule { name: query_name.clone(), plan: plan });
    let mut rel_map = register(scope, &mut ctx, rules, vec![query_name.clone()]);

This should be ready (modulo bugs) to support requests that publish multiple rules, thought this may need to be decoupled from registering interest in a query (getting results back).

Some recent changes:
I added a new plan stage
    /// Sources data from a published relation
    NameExpr(String, Vec<Var>),

which grabs (or attempts to grab) a relation published in ctx.queries, which is the QueryMap structure.
In server.rs I've fixed Register handling to actually put something in there (oops), and added two new request modes:
    /// Registers multiple named relations.
    RegisterAlt { rules: Vec<Rule>, publish: Vec<String> },
    /// Expresses interest in a named relation.
    Interest { name: String }

The first registers multiple queries but does not express interest in any of them. The second expresses interest in a specific named query.
If we imagine that interests might be more fleeting than queries, we might want to re-rig things so that we don't have a dataflow per interest, but rather at the creation time of each named relation we rig something up that can handle new interests requests. This .. would be harder than a new dataflow, because differential should give us historical data, but it would mean not setting up and tearing down dataflows each time someone wants to tail -f something.

One potential issue with Interest, which is a differential bug, is that progress is flaky for folks watching arrangements that do not change. That is, empty regions of time (batches with nothing in them) don't get propagated well enough. This could lead to independently registered interests blocking computation because their probes never advance.
It shouldn't be a problem if you don't use it, so "not breaking", but if we can get a test case doing this it is a great motivation to go and fix the issue in differential.

Relatedly, I suppose: the RegisterAlt variant doesn't register any probes, as I wasn't sure what the probe discipline was meant to be. If all of the queries live in the same "realtime" domain, we can just probe everything and spin as long as we haven't made progress. If they are meant to live in a "transaction_id" domain, we'll want to bring things together. If we want to flesh things out and let the different queries progress at different rates, that should be fine but we'll probably want more than a list of probes in that case (perhaps one per registered dataflow?).

Re probing: The intent was that everything within a Register (so query + rules before your changes) is supposed to be probed together. So after the changes, if I register two public plans, I wan't to receive output consistently across the two, but not across other, previously registered relations.
Does that make sense?

Sort of! It may mean we need to be more careful about different "time domains". Previously, everything was keyed to the timestamps associated with the Transact input, and in each iteration we worker.step() until all probes have caught up with the current values. The PR'd code does that at the moment, but in a simpler way (with just one probe).
If we want to exploit the ability to reflect progress separately in different dataflows, we'll want to break apart the probes and give them more interesting names (e.g. when we register a query, hand back some way of distinguishing it from others, e.g. an identifier).
Maybe for the moment it is ok to just have everyone use the same timestamp, the transaction identifier. It shouldn't be too hard to rip up, with a clear sense for how things should be driven.
Btw, with respect to consistency, the multiversioned output of DD should be "consistent", as long as you pay attention to the timestamps. That is, everyone is getting an in-sync view over the same history of the source dataset. What the probes let you do is wait on queries independently, so perhaps if mine is fast and yours is slow, I might want to get notifications of completeness back without waiting for your query to be caught up.


make nodeSelector unconfigured in values?

Hi, the current values.yaml file in gpu-device-plugin is pre filled with intel.feature.node.kubernetes.io/gpu: 'true' and there's no way to override that because it's a mapping and it will just add the user defined one to the map. maybe make the logic to default to intel.feature.node.kubernetes.io/gpu: 'true' if the value is not defined instead?

@budimanjojo all of our *-device-plugin charts have the same limitation. Currently our thinking is we keep it like this and make NFD as the mandatory dependency (see #26). Do you have case where you'd prefer sunning the plugin without any nodeSelector values so that the plugin runs on all nodes?

@mythi okay fair enough. I'm running NFD too but I didn't apply the NFD config patch so I wanted to just do nodeSelector: feature.node.kubernetes.io/pci-0300_8086.present: "true" because I only have one type of gpu. But I just applied the NFD config patch and now I'm good. I'll close this issue now.

@mythi okay fair enough. I'm running NFD too but I didn't apply the NFD config patch so I wanted to just do nodeSelector: feature.node.kubernetes.io/pci-0300_8086.present: "true" because I only have one type of gpu. But I just applied the NFD config patch and now I'm good. I'll close this issue now.

What patch did you need to apply? I can't find any reference to how to make this label automatically apply to nodes.

@2fst4u install GPU plugin helm chart using --set nodeFeatureRule=true


add custom styling for first/second/third blood

reject ctfx embrace becoming fullstack dev and directly editing rctf
https://user-images.githubusercontent.com/45273859/217117944-120942cb-d449-4c4d-8763-8cf416783a7c.mp4

Doing a test build to see how it looks/make sure it works properly


fix: Disable CLI globbing performed by Click on Windows

Relates to #6317
Closes #6311, #6314
Thanks for your work investigating this @visch!

@WillDaSilva  https://github.com/meltano/meltano/pull/6318 just merged 🙂

https://gitlab.com/meltano/legacy-ci/meltano/-/jobs/2658350281  passes :D
Ran it locally as well with the same test we made and it passes
pipx uninstall meltano
pipx install .
cd project
meltano select tap-gitlab tags "*"


Adding a new uniform pseudorandom generator.

Given the same seed and iv, the uniform pseudorandom generator will generate the same pseudorandom sequences.

This change is

I took the liberty of updating the PR title according to https://github.com/world-federation-of-advertisers/cross-media-measurement/blob/main/docs/dev-standards.md#pull-request-description


Changing the default application port.

Often developers get confuse about running two AngularJs applications at same time, it is mandatory for the them to know about changing default application port to another, so they can run as many applications of AngularJs at same time.

Hi @wardbell pls have a look.

This repository is now deprecated. The Angular Quickstart project was a nice starting point for creating Angular applications. Now we recommend using the Angular CLI to create new Angular projects.
Starting from 1 November 2017, all the Angular documentation, at angular.io, is based on the Angular CLI.
Let's get started


Envoy bug stacktrace

Updating documentation as per https://github.com/envoyproxy/envoy/pull/22829

/assign @KBaichoo


node --run

Applied mkpr on package.json
sed s/npm run/node --run/g

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.161%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
54

Relevant Lines:
56

💛  - Coveralls


Load Mcdf IPC command

this change adds the IPC command "MareSynchronos.LoadMcdf" that allows other plugins to trigger the MCDF load and apply steps while in GPose.
A little unsure on the IServiceProvider usage, but it feels like the best way to avoid a circular dependency between the IPCManager and the MareCharaFileManager without adding an event or intermediary, and having access to the IServiceProvider could enable other IPC calls to be added later on that interact with services in a similar way. 🤔

I'll add the implementation myself.
Registered functions are LoadMcdf and LoadMcdfAsync which differ that Async returns a Task<bool> and not a bool. Using the Async Func is preferred since it waits until the application finishes and doesn't return immediately. I'd suggest adjusting your usage to the Async Func and if it is not called through an async method, check the returning Task if it IsCompleted to display loading status and Exception if it fails.
Your implementation also didn't UnregisterFunc during disposal which might've caused issues while trying to register the Func again on Plugin update


Remove version: Google.Chrome.Canary version 128.0.6540.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://dl.google.com/release2/chrome/acbnxw3hrgwcmbve5qapmkvrkdia_128.0.6540.0/128.0.6540.0_chrome_installer.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 912)


Still unable to connect to the Salesforce Metadata API

Hi there, have been through issue 110 and I am still experiencing the same issue, despite following the instructions provided for the fix. I have disabled lockdown for IP addresses and domains; checked the package and I don't have a field for API Enabled. I am able to create the remote site but when I refresh the welcome page I get the same session error:
I have granted subscriber access
DEBUG USE ONLY: Web service callout failed: WebService returned a SOAP Fault: INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session faultcode=sf:INVALID_SESSION_ID faultactor=

Are you running PE edition?

No - enterprise

From: Andrew Fawcett<EMAIL_ADDRESS>Sent: 02 September 2016 20:44
To: afawcett/declarative-lookup-rollup-summaries
Cc: gemziebeth; Author
Subject: Re: [afawcett/declarative-lookup-rollup-summaries] Still unable to connect to the Salesforce Metadata API (#393)
Are you running PE edition?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/afawcett/declarative-lookup-rollup-summaries/issues/393#issuecomment-244482922, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AUXi1rDvR4T3YWp7JbzfVxkPR1jJvgvrks5qmIqdgaJpZM4JxWhp.

Thanks for sharing @gemziebeth.

Hi, ... I do have the same problem - but IP ranges are enabled.
Running Enterprise edition...


Entering openapi path with quotes breaks entry

Is your feature request related to a problem? Please describe the problem.
In Windows 11 in windows Explorer I can right click a openapi document and "copy path".
If I paste this into the input field for the path of the openapi file it breaks the process because the file path has quotes around it.
Client library/SDK language
None
Describe the solution you'd like
I'd like it to support quotes around a file path.
Additional context
No response

Thanks for raising this @jthake
Just to confirm here, does this happen when using the CLI or this is with the VSCode extension?

Thanks for raising this @jthake
Just to confirm here, does this happen when using the CLI or this is with the VSCode extension?

This is in the vs code extension

who told @jthake he could open issues on GitHub? 😱😱😱😱😱

With the changes made to separate input (to browse and search). Can we close this issue as the path input now involves opening a dialog box? cc @maisarissi

Yes, we have removed the option of "pasting the path to the OpenAPI description". So I believe this issue is no longer relevant.

thanks for confirming, closing


Style enhancement of the Conference page

[x] Use capitalized case in the Title, currently, it's in sentence case.

[x] Play with banner fonts and alignment. The current banner looks lame; please play with text alignment. Make the size of Register bigger, make the background more transparent etc etc.

[x] Display all speaker and panelist headshot photos in round shape. The current square share looks untidy. Also, try to decrease the font size of the speaker position and organization name.

[x] Remove the supporter logo and menu from the footer (only for the conference page) and keep the copyright info only. Also, try to decrease the padding.

[x] Bio looks untidy, maybe reduce the font size or add little weight on the font. (playaround on this section)

@nikeshbalami All complete and closed


feat(@vtmn/svelte): add heading level on title + title wraps correctly

Add new input titleElement in order to switch to an heading level (for accessibility and SEO).
In order to not have regression, we have to keep a span on the default element.

As see on the best practices -> https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/heading_role#best_practices
"The best way to use this role is to not use it at all". So I think we have to possibility to switch the element on svelte easily.

Hi @Tlahey, thanks for this PR.
Do you think it could be solved at CSS stage instead of Svelte?

@lauthieb For the fix of the text wrapping it can be resolved by CSS. For the accessibility of the title element, it is not a breaking change, it is a new feature.

@GaspardMathon set heading level to 2 should introduce side effects on the code.
We want to keep the span by default on svelte and offer the possibility to set title as h1 / h2 ...

As we discussed there is 2 options here :

forcing the use of heading with a default heading to 2. The only side effect this could have on former component version is visual and could therefore be anticipated. With the specific title class we have it should be easy to set a fixed font-weight, font-size, margin, etc.
allowing the use of a span for former component. It is not a11y compliant but 1) we make sure to not cause any breaking change or visual regression & 2) the the component will be reworked anyway with the v1 of Vitamin.

I agree with both possibilities, I prefer the first one, decision is yours ;)

Hi everyone,
Thanks for this. I agree with @thibault-mahe & preference for solution 1 mentioned here.
As I can see, it's a global PR for Vue, React, Svelte & CSS. Please, we must not forget any community bookstore and let's avoid the breaking changes.
Thank you :)
Laurent

Hi everyone, there's been no updates on this PR for 6 days.
Since we should exercising extra caution on this subject, let's follow @Tlahey recommendations and allowing the use of span on the svelte version.
@GaspardMathon will you have some times to answering the missing requirements or do you want me to take care of it ?
Thanks :)

@thibault-mahe @lauthieb @Tlahey I am on it. Sorry for the delay, I only work on vitamin subjects on Thurdays :)

Changes made to be sure: all libraries but Svelte have a default h2 titleElement, titleElement that can be chosen between all the HTML title tags possible. Svelte just has a default span tag moreover.


Experience/14810-Small-site-content-edits-per-Phase-2-Comms-Plan

Fixes #14810
This PR includes small content updates across multiple pages.

About ReportStream
-[ ] There was a note in the doc to switch the API and roadmap cards. So the order goes: PDF, roadmap, API:

Security

[ ] Error with the "contact our team" link (see screenshot)

Receiving data

[ ] Link broken under "Facility outreach begins"
[ ] I missed highlighting a change in the doc - I tagged you in a comment here
[ ] Link broken for refer healthcare org card at the bottom