During REDCap bulk import, some records experience connection error

Traceback (most recent call last):
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/adapters.py", line 440, in send
    resp = conn.urlopen(
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 785, in urlopen
    retries = retries.increment(
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/predict/utility/import_records.py", line 51, in <module>
    r = requests.post(config['api_url'], data=fields)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/api.py", line 117, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/sessions.py", line 645, in send
    r = adapter.send(request, **kwargs)
  File "/data/pnl/soft/pnlpipe3/miniconda3/envs/dpimport/lib/python3.10/site-packages/requests/adapters.py", line 501, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

This is how we have mostly solved it:
https://github.com/AMP-SCZ/utility/blob/b30cbe9daf4fad5707cffaf59311acafb5ed6b27/import_records_all.py#L5-L32
The rest of the stalemate should be attributed to /data/predict/s slow storage.


like hyperscript that way to add

Hi @imacrayon
First picture is htmx + hyperscript.

Second picture is alpine + alpine ajax

I saw they have difference,  hyperscript seems not use the openmodel function, and add class directly, and you have openmodal this function involved, just wondering whether you need to add modal library as well, just not sure where it comes from, and just wondering if I want to use add class that way, is it possible, if that works, how to do?
Thanks
Eric Xin

Hi Eric, the Alpine AJAX example uses a native HTML Dialog, no extra library is required.
There are a few ways you could add a class with Alpine. If the modal element already has an id I would use ajax:before=“document.getElementById('modal’).classList.add(‘uk-open’)” but you could also use x-ref to select the modal or :class to add the modal class.

Hi @imacrayon
I prefer the modal is got by alpine ajax, and then add the top element downloaded by alpine ajax has 'uk-open' class, so I prefer to use alpine ajax event to add class, not alpine event to add class.
Do you think it is possible?
The htmx && Hyperscript that case is using Hyperscript event to add class, after downloaded.
Thanks
Eric Xin

The htmx && Hyperscript that case is using Hyperscript event to add class, after downloaded.

You can listen for the ajax:after event instead of ajax:before to set your class after the download:
@ajax:after=“document.getElementById('modal’).classList.add(‘uk-open’)”

Hi @imacrayon
This @ajax:after is alpine.ajax has, or alpine has?
Thanks
Eric Xin

Hi @imacrayon
You know @ajax:after then I need to extract the html string from response, then I need to place into the right element, I may need to wait for a bit, is there a wait function or something else I can use to delay 10 or 20ms after @ajax:after?
Thanks
Eric Xin

This @Ajax:after is alpine.ajax has, or alpine has?

It's an event fired by Alpine AJAX, you can see them all here: https://alpine-ajax.js.org/reference/#ajax-events

I prefer the modal is got by alpine ajax

Sorry, i didn't understand this at first but, I get what you are saying now. I put together an example here: https://codepen.io/imacrayon/pen/KKrgmgZ
Instead of selecting the modal after the response, I would add x-init on the modal, the x-init will automatically run when the modal is added to the page.

Thanks so much!
I got the point now.


More channel table errors for raceband

There is already a bug report about the spi table error for raceband channel 5. The deviation leads to a huge frequency error in the RTC6715 frequenzy synthesizer (5967MHz set instead of the correct  5806MHz).
I am working on code to directly control the RitchWave RTC6715 circuit and checked my frequency calculation code against the spiValues table in this repository. It turns out that there are four additional errors in the raceband table that each result in a 2MHz frequency deviation. 2 MHz isn't that much, but it is better to be spot on than slightly off.
Current table:
const uint16_t channelTable[] PROGMEM = {
// Channel 1 - 8
0x2a05 ,0x299b ,0x2991 ,0x2987 ,0x291d ,0x2913 ,0x2909 ,0x289f ,
0x2903 ,0x290c ,0x2916 ,0x291f ,0x2989 ,0x2992 ,0x299c ,0x2a05 ,
0x2895 ,0x288b ,0x2881 ,0x2817 ,0x2a0f ,0x2a19 ,0x2a83 ,0x2a8d ,
0x2906 ,0x2910 ,0x291a ,0x2984 ,0x298e ,0x2998 ,0x2a02 ,0x2a0c ,
0x281d ,0x288f ,0x2902 ,0x2914 ,0x2978 ,0x2999 ,0x2a0c ,0x2a1e
}
Corrected table
const uint16_t channelTable[] PROGMEM = {
// Channel 1 - 8
0x2a05 ,0x299b ,0x2991 ,0x2987 ,0x291d ,0x2913 ,0x2909 ,0x289f ,
0x2903 ,0x290c ,0x2916 ,0x291f ,0x2989 ,0x2992 ,0x299c ,0x2a05 ,
0x2895 ,0x288b ,0x2881 ,0x2817 ,0x2a0f ,0x2a19 ,0x2a83 ,0x2a8d ,
0x2906 ,0x2910 ,0x291a ,0x2984 ,0x298e ,0x2998 ,0x2a02 ,0x2a0c ,
0x281d ,0x2890 ,0x2902 ,0x2915 ,0x2987 ,0x299a ,0x2a0c ,0x2a1f
}

So as a cross check, I ran those numbers through the datasheet SPI mode register code (FLO = 2*(N32+A)(Fosc/R)) and I get the following tuned frequencies - "calc" is what the N and A values would tune in to, "tgt" is the target for that channel in that band, and whether it's off by one.  I believe the math prohibits from getting any closer than 1mhz off on even numbered frequencies - scanning the alternate tuning options shows they're all off by one.

Band A:
hex    calc tgt
0x2a05 5865 5865
0x299b 5845 5845
0x2991 5825 5825
0x2987 5805 5805
0x291d 5785 5785
0x2913 5765 5765
0x2909 5745 5745
0x289f 5725 5725

Band B:
0x2903 5733 5732 off-by-one
0x290c 5751 5752 off-by-one
0x2916 5771 5771
0x291f 5789 5790 off-by-one
0x2989 5809 5809
0x2992 5827 5828 off-by-one
0x299c 5847 5847
0x2a05 5865 5866 off-by-one

Band E:
0x2895 5705 5705
0x288b 5685 5685
0x2881 5665 5665
0x2817 5645 5645
0x2a0f 5885 5885
0x2a19 5905 5905
0x2a83 5925 5925
0x2a8d 5945 5945

Band F:
0x2906 5739 5740 off-by-one
0x2910 5759 5760 off-by-one
0x291a 5779 5780 off-by-one
0x2984 5799 5800 off-by-one
0x298e 5819 5820 off-by-one
0x2998 5839 5840 off-by-one
0x2a02 5859 5860 off-by-one
0x2a0c 5879 5880 off-by-one

Band C / RB:
0x281d 5657 5658 off-by-one
0x2890 5695 5695 (original 0x288f is 5693mhz)
0x2902 5731 5732 off-by-one
0x2915 5769 5769 (original 0x2914 is 5767mhz)
0x2987 5805 5806 off-by-one (original 0x2978 is 5967mhz, I think?)
0x299a 5843 5843 (original 0x2999 is 5841mhz)
0x2a0c 5879 5880 off-by-one
0x2a1f 5917 5917 (original 0x2a1e is 5915mhz)

Thanks for the heads up @Dvogonen and @pfriedel. I'm actually looking into this now as well. The equation gives us float values (XXXX.5) however we can only send whole numbers and depending on the round this could leave us off by one or two MHz.
I put together this function a while back however I never fully trusted it to handle float conversions. Right now I'm giving it the full shake down to see how well it performs.
// calculate the frequency to bit bang payload
uint16_t freq_to_reg(uint16_t f)
{
    uint16_t tf, N, A;
    tf = (f - 479) / 2;
    N = tf / 32;
    A = tf % 32;
    return (N<<7) + A;
}

Using my function i posted above I get about the same results as @pfriedel if I round the result.

// Band A
VM456:58 Freq: 5865, Calc: 0x2A05 (0x2A05) GOOD
VM456:58 Freq: 5845, Calc: 0x299B (0x299B) GOOD
VM456:58 Freq: 5825, Calc: 0x2991 (0x2991) GOOD
VM456:58 Freq: 5805, Calc: 0x2987 (0x2987) GOOD
VM456:58 Freq: 5785, Calc: 0x291D (0x291D) GOOD
VM456:58 Freq: 5765, Calc: 0x2913 (0x2913) GOOD
VM456:58 Freq: 5745, Calc: 0x2909 (0x2909) GOOD
VM456:58 Freq: 5725, Calc: 0x289F (0x289F) GOOD
VM456:51
// Band B
VM456:58 Freq: 5733, Calc: 0x2903 (0x2903) GOOD
VM456:58 Freq: 5752, Calc: 0x290C (0x290C) GOOD
VM456:58 Freq: 5771, Calc: 0x2916 (0x2916) GOOD
VM456:58 Freq: 5790, Calc: 0x291F (0x291F) GOOD
VM456:58 Freq: 5809, Calc: 0x2989 (0x2989) GOOD
VM456:58 Freq: 5828, Calc: 0x2992 (0x2992) GOOD
VM456:58 Freq: 5847, Calc: 0x299C (0x299C) GOOD
VM456:58 Freq: 5866, Calc: 0x2A05 (0x2A05) GOOD
VM456:51
// Band E
VM456:58 Freq: 5705, Calc: 0x2895 (0x2895) GOOD
VM456:58 Freq: 5685, Calc: 0x288B (0x288B) GOOD
VM456:58 Freq: 5665, Calc: 0x2881 (0x2881) GOOD
VM456:58 Freq: 5645, Calc: 0x2817 (0x2817) GOOD
VM456:58 Freq: 5885, Calc: 0x2A0F (0x2A0F) GOOD
VM456:58 Freq: 5905, Calc: 0x2A19 (0x2A19) GOOD
VM456:58 Freq: 5925, Calc: 0x2A83 (0x2A83) GOOD
VM456:58 Freq: 5945, Calc: 0x2A8D (0x2A8D) GOOD
VM456:51
// Band F / Airwave
VM456:58 Freq: 5740, Calc: 0x2906 (0x2906) GOOD
VM456:58 Freq: 5760, Calc: 0x2910 (0x2910) GOOD
VM456:58 Freq: 5780, Calc: 0x291A (0x291A) GOOD
VM456:58 Freq: 5800, Calc: 0x2984 (0x2984) GOOD
VM456:58 Freq: 5820, Calc: 0x298E (0x298E) GOOD
VM456:58 Freq: 5840, Calc: 0x2998 (0x2998) GOOD
VM456:58 Freq: 5860, Calc: 0x2A02 (0x2A02) GOOD
VM456:58 Freq: 5880, Calc: 0x2A0C (0x2A0C) GOOD
VM456:51
// Band C / Immersion Raceband
VM456:58 Freq: 5658, Calc: 0x281D (0x281D) GOOD
VM456:58 Freq: 5695, Calc: 0x2890 (0x288F) OFF BY 1
VM456:58 Freq: 5732, Calc: 0x2902 (0x2902) GOOD
VM456:58 Freq: 5769, Calc: 0x2915 (0x2914) OFF BY 1
VM456:58 Freq: 5806, Calc: 0x2987 (0x2987) GOOD
VM456:58 Freq: 5843, Calc: 0x299A (0x2999) OFF BY 1
VM456:58 Freq: 5880, Calc: 0x2A0C (0x2A0C) GOOD
VM456:58 Freq: 5917, Calc: 0x2A1F (0x2A1E) OFF BY 1

Will need to do a bit more testing to make sure it rounded up vs down correctly.

@pfriedel Do you mind adding your function snippet to convert from hex to frequency?
This is what I came up with but only works for about half the channels for some reason. (it must be way past my bed time :P)
uint16_t function reg_to_frq(uint16_t hex_freq)
{
    uint16_t N, A;
    A = (hex_freq & 0xf);
    N = (hex_freq >> 7);
    return (2 * (N * 32 + A)*(1))+479;
}

Oh, mine was just a hack of a couple of perl for() loops throwing numbers into sprintf() and oct() to make sure the outputs looked appropriate.  I've attached it, but it's idiomatic as hell, just something I knocked out to verify @Dvogonen 's numbers. So some thoughts I had as I was falling asleep:
numcount.pl.zip

There's that mystery meat "479" in the register calculation math.  I assume that's the IF on the module, since that's the only other 479 in the entire datasheet, and that's merely the minimum value, it could be 480.  Which means everything could be up 1mhz from the expected value? Yech.

That said, you could maybe set 0x00 (SYN_RF_R_REG) to 0x10 (up from the default 0x8) and get a by-two divisor, which gets you everything dead on with entirely different counter settings like...

(SYN is the synthesized number after the IF is added..)

That said, you could maybe set 0x00 (SYN_RF_R_REG) to 0x10 (up from the default 0x8) and get a by-two divisor, which gets you everything dead on with entirely different counter settings like...

Initially I'm hesitant to make the change without a lot of testing (field testing that is). Correct me if I'm wrong but it looks like you have already generated all the correct HEX values for the new SYN_RF_R_REG set to 0x10. So testing can begin right away.
In the mean time I'm looking at a quick fix for just the affected channels in the current codebase. I just need to get my reverse function working to see which side of the target frequency it actually landed on from the rounding. This will make sure we are getting closer and not further from the target.

OK final results with corrected my reverse lookup function. Results confirm my speculations that on the channels in question there is now way to hit them dead on. Making any changes will just land you on the other side of the target frequency.
Look below for an example of what I am talking about.
chan = target channel
freq = target frequency
spi = current binary command found in the code
- = columns after this point are calculated values using my functions.
rev_spi = takes spi column and reverse looks up the frequency
spi_syn = takes the freq column and calculates the binary command
freq_syn = takes the spi_syn and reverse looks up the frequency
// Band A
chan	 freq	 spi	 -	 rev_spi	 spi_syn	 freq_syn	 notes
A1 		 5865 	 2A05 	 - 	 5865 		 2A05 		 5865 		 GOOD
A2 		 5845 	 299B 	 - 	 5845 		 299B 		 5845 		 GOOD
A3 		 5825 	 2991 	 - 	 5825 		 2991 		 5825 		 GOOD
A4 		 5805 	 2987 	 - 	 5805 		 2987 		 5805 		 GOOD
A5 		 5785 	 291D 	 - 	 5785 		 291D 		 5785 		 GOOD
A6 		 5765 	 2913 	 - 	 5765 		 2913 		 5765 		 GOOD
A7 		 5745 	 2909 	 - 	 5745 		 2909 		 5745 		 GOOD
A8 		 5725 	 289F 	 - 	 5725 		 289F 		 5725 		 GOOD

// Band B
chan	 freq	 spi	 -	 rev_spi	 spi_syn	 freq_syn	 notes
B1 		 5733 	 2903 	 - 	 5733 		 2903 		 5733 		 GOOD
B2 		 5752 	 290C 	 - 	 5751 		 290D 		 5753 		 freq!=freq_syn off by 1
B3 		 5771 	 2916 	 - 	 5771 		 2916 		 5771 		 GOOD
B4 		 5790 	 291F 	 - 	 5789 		 2920 		 5791 		 freq!=freq_syn off by 1
B5 		 5809 	 2989 	 - 	 5809 		 2989 		 5809 		 GOOD
B6 		 5828 	 2992 	 - 	 5827 		 2993 		 5829 		 freq!=freq_syn off by 1
B7 		 5847 	 299C 	 - 	 5847 		 299C 		 5847 		 GOOD
B8 		 5866 	 2A05 	 - 	 5865 		 2A06 		 5867 		 freq!=freq_syn off by 1

// Band E
chan	 freq	 spi	 -	 rev_spi	 spi_syn	 freq_syn	 notes
E1 		 5705 	 2895 	 - 	 5705 		 2895 		 5705 		 GOOD
E2 		 5685 	 288B 	 - 	 5685 		 288B 		 5685 		 GOOD
E3 		 5665 	 2881 	 - 	 5665 		 2881 		 5665 		 GOOD
E4 		 5645 	 2817 	 - 	 5645 		 2817 		 5645 		 GOOD
E5 		 5885 	 2A0F 	 - 	 5885 		 2A0F 		 5885 		 GOOD
E6 		 5905 	 2A19 	 - 	 5905 		 2A19 		 5905 		 GOOD
E7 		 5925 	 2A83 	 - 	 5925 		 2A83 		 5925 		 GOOD
E8 		 5945 	 2A8D 	 - 	 5945 		 2A8D 		 5945 		 GOOD

// Band F / Airwave
chan	 freq	 spi	 -	 rev_spi	 spi_syn	 freq_syn	 notes
F1 		 5740 	 2906 	 - 	 5739 		 2907 		 5741 		 freq!=freq_syn off by 1
F2 		 5760 	 2910 	 - 	 5759 		 2911 		 5761 		 freq!=freq_syn off by 1
F3 		 5780 	 291A 	 - 	 5779 		 291B 		 5781 		 freq!=freq_syn off by 1
F4 		 5800 	 2984 	 - 	 5799 		 2985 		 5801 		 freq!=freq_syn off by 1
F5 		 5820 	 298E 	 - 	 5819 		 298F 		 5821 		 freq!=freq_syn off by 1
F6 		 5840 	 2998 	 - 	 5839 		 2999 		 5841 		 freq!=freq_syn off by 1
F7 		 5860 	 2A02 	 - 	 5859 		 2A03 		 5861 		 freq!=freq_syn off by 1
F8 		 5880 	 2A0C 	 - 	 5879 		 2A0D 		 5881 		 freq!=freq_syn off by 1

// Band C / Immersion Raceband
chan	 freq	 spi	 -	 rev_spi	 spi_syn	 freq_syn	 notes
C1 		 5658 	 281D 	 - 	 5657 		 281E 		 5659 		 freq!=freq_syn off by 1
C2 		 5695 	 288F 	 - 	 5693 		 2890 		 5695 		 GOOD
C3 		 5732 	 2902 	 - 	 5731 		 2903 		 5733 		 freq!=freq_syn off by 1
C4 		 5769 	 2914 	 - 	 5767 		 2915 		 5769 		 GOOD
C5 		 5806 	 2987 	 - 	 5805 		 2988 		 5807 		 freq!=freq_syn off by 1
C6 		 5843 	 2999 	 - 	 5841 		 299A 		 5843 		 GOOD
C7 		 5880 	 2A0C 	 - 	 5879 		 2A0D 		 5881 		 freq!=freq_syn off by 1
C8 		 5917 	 2A1E 	 - 	 5915 		 2A1F 		 5917 		 GOOD

I think there is no real issue here with the current code as it stand.
Our best course of action to hit the exact frequency is to pursue @pfriedel suggestion about changing the SYN_RF_R_REG command to 0x10 which will give us a more precise tune.

Does not appear that you can set the SYN_RF_R_REG. Register A seems to revert back to default. Not sure what I'm doing wrong.
I created a helper function that sets a register. Give it the (address, data) and it bit bangs out the command.
Function is working because I have tested it with setting Register B (0x01) which is the frequency data.
This is the command i'm trying to send to Register A (0x00)
B0000 - address
B1 - write
B00000000000000010000 - data 0x10 ... default is 0x08

I also looked at Register C (0x02) thinking that I needed to change MOUT which is the "Multi-function output select" (RF R divider output, RF prescaler output, lock in detect)
But I was still unable to get change in operation.
Maybe some one out there has had success setting other Registers or would like to take a try at it. @Dvogonen @pfriedel ??

Hi, I just checked back in to see how things where moving here.
I notice that you are trying to increase the precision of the receiver by changing the frequency divisor in SYN_RF-R_REG. I thought of that myself, but gave up on the idea since I came to the conclusion that it would not work. The frequency calculation according to the data sheet:
2(N32+A)(Fosc/R) + 479
The problem is that all calculations are on integers, not floats.
Whichever way you change N, A and R the result of (N*32+A)(Fosc/R) can only become an integer. This is then multiplied with with 2 and 479 is added.
The circuit is simply not capable of using even frequencies. You will always end up with an odd result.

Your assumption of the TX having the same issue is incorrect. The equation to set the channel on the VTX deals in KHz without a base frequency. This means the transmitter is capable of having a much finer tune and will land on even or odd without floating point.
FRF = 2*(N*64+A)*(Fosc/R)
FRF=5865MHz, Fosc=8MHz, R=400
￼5865=(2*N*64+A)*8Mhz/400=2*(N*64+A)*20
N=2291(=8F3xH), A=1(=01xH)

Back to the RX side of things if we were able to set the SYN_RF_R_REG to 0x10 (16) we would be able to hit the frequency dead on... even or odd. this is because the 0.5 floating point calculations happen to land us exactly on whole numbers when the frequency is even.
2*(N*32+A)*(Fosc/R) + 479
2*(N*32+A)*(8/16) + 479
2*(N*32+A)*(.5) + 479

// Odd example
N=168, A=10
2*(168*32+10)*(.5) + 479 = 5865

// Even example
N=168, A=11
2*(168*32+11)*(.5) + 479 = 5866

I reached out to the company who makes the chip and they suggested using 480 as the base frequency but just reverses the problem making us only able to land on even tune, making odd frequencies off by 1.
We are so close it would be unfortunate to give up now. The only problem I am having is sending the command to set SYN_RF_R_REG to 0x10 (16)

You are right. My mistake was that I did not think of the fact that the result of the frequency division will not become 0.5. It is instead 500000 since the circuit is dividing 8MHz with 16 and get 0.5MHz=500000Hz. And the division is not really a mathematical division, it is an instruction to ignore a specified number of clock ticks.
I have got no really good idea why you can not set the divider to 0x10. The data sheet is very hard to understand. First it says that 0x10 is the default, then it goes on to say that 0x08 is the default. Strange.
Have you tried writing the register several consecutive times? Or writing and reading the register in cycle a number of times ? The reason I ask is that I think I have seen intermittent failures to set channel values. The failures are not repeatable and only seem to occur the first time a channel value is written. The following writes succeed. But this is only speculations. I have not verified my observations.

No worries @Dvogonen I have had a hard time trying to understand the data sheet as well. I'm going to take your suggestion and try sending the command a few times back to back. Hopefully that is all the issue is. I'll also double check all my calculations and make sure I'm sending everything right.
Side note, I was looking over your CYCLOP+ project and like where you are going with it. Should be a good improvement for the Quantums.

I am traveling and do not have access to my equipment, otherwise I would have made an attempt at writing the register out of curiosity.
I will anyhow write code to verify that writing the channel setting register work. I have only seen what I suspect where failed writes twice. Hopefully I am wrong.
Thank you for your kind words on CYCLOP+. Using your project as inspiration and a source of information made an extreme difference when I wrote the CYCLOP+ code.

This issue is deeper within the RTC6705 chips protocol not accepting certain SPI commands.


Make reward pill text remote configurable

Description
Make reward pill text remote configurable
Other changes
N/A
Tested
Manually
How others should test
N/A
Related issues

Fixes #1167

Backwards compatibility
Yes

Hey @MuckT Can you please let us know if we have to test anything from our side.
Thanks!!
CC: @tarikbellamine

@ValoraQA Nothing to test here outside of normal the build verification tests.


ZABAPGIT_TEST_SSL update version

Hi,
I updated the ZABAPGIT_TEST_SSL so that you can test with a proxy. I also updated it to have a more detail error description. Could you please update it in the wiki? (Or, maybe, being greedy, give me access :-) ).
REPORT zabapgit_test_ssl.

* See https://github.com/larshp/abapGit/

PARAMETERS: p_url    TYPE swc_value DEFAULT 'https://github.com',
            p_proxy  TYPE string,
            p_pxport TYPE string.

START-OF-SELECTION.
  PERFORM run.

FORM run.

  DATA: lv_code          TYPE i,
        lv_url           TYPE string,
        li_client        TYPE REF TO if_http_client,
        lv_error_message TYPE string.

  lv_url = p_url.
  cl_http_client=>create_by_url(
    EXPORTING
      url           = lv_url
      ssl_id        = 'ANONYM'
      proxy_host    = p_proxy
      proxy_service = p_pxport
    IMPORTING
      client        = li_client ).

  li_client->send( ).
  li_client->receive(
    EXCEPTIONS
      http_communication_failure = 1
      http_invalid_state         = 2
      http_processing_failed     = 3
      OTHERS                     = 4
  ).

  IF sy-subrc <> 0.
    WRITE: / 'Error Number', sy-subrc.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    li_client->get_last_error(
      IMPORTING
        message        = lv_error_message
    ).
    WRITE: / `Error message: ` && lv_error_message.
    WRITE: / 'Also check transaction SMICM -> Goto -> Trace File -> Display End'.
    RETURN.
  ENDIF.

  li_client->response->get_status(
      IMPORTING
        code = lv_code ).
  IF lv_code = 200.
    WRITE: / 'Success, it works'.
  ELSE.
    WRITE: / 'Error', lv_code.
  ENDIF.

ENDFORM.

hi, I've added you as a collaborator, welcome to the abapGit project :smile:
you can now also commit directly to master, but please try to make pull requests, also see https://github.com/larshp/abapGit/blob/master/CONTRIBUTING.md
thanks

BTW wiki is accessible as a separate repository - https://github.com/larshp/abapGit.wiki.git
I'm not sure if it is pull-requestable - never tried - but I guess it should be

the wiki does not allow for pull requests and editing is limited to collaborators

:+1:
https://github.com/larshp/abapGit/wiki/ZABAPGIT_TEST_SSL/_compare/cb321b5^...cb321b5

Hi, @larshp, thanks! Sure, I will keep the github pull request flow.
And yes, @sbcgua , unfortunately you can't create pull requests for wiki repositories.

pull requests for wiki repositories.

Yeap, well, good to know anyway :)


Update CHANGELOG.md

test comment 1

this is a github event

this is a github event

test from pr10

test2 from pr10

test3 from pr10

test3 from pr10

test comment. ec2 instance

test comment. ec2 instance

one mo gain

one mo gain

one mo gain

one mo gain

test

test


Update pyproject.toml to fix issues seen in dbt-databricks

pandas 2.2.0 causes several issues, notably:
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

and urllib < 1.26 gives an error about Retry not having allowed_methods in its __init__

This closes #326

Synced with main to avoid merge conflicts on the README


[FEATURE] specific last item ending in bullet lists

Is your feature request related to a problem? Please describe.
We often (if not always) have to end the last sentence in a bullet listing differently than the previous ones:

first sentence ;
second sentence ;
last sentence.

Either in reports or contracts generation, we had to do that, that seems a quite common punctuation pattern for bullet listing.
It would definitely be a nice to have feature having this automatically handle, a bit like the separators are done for you.
Describe the solution you'd like
Managing automatically a different ending for the last bullet, through a new "list_last_end_item" parameter of the assembly:
eachz elt in ['a', 'b', 'c'] with { mode:'list', list_end_item: ";", list_last_end_item: "."  }
In case only the list_end_item parameter is given, it would be used as the last ending too.
In case only the list_last_end_item parameter is given, only the last item is ended, with that.
That would be available only for bullet listing.
Describe alternatives you've considered
So far, it seemed possible to add conditions in the single list_end_item available parameter to choose from ; or . to use. It may be not as hard as writing a last separator during a listing...
But with complex cases, when the bullet list is a mix of partially commented listing and optional sentences, I'm not 100% sure my conditions are correct, and it requires a very clean handling of the conditions all across the items, and may add complexity to maintain that.
I even considered handling them during a post process step matching the </li></ul> with regex instead of doing it with the templates, because it seems maybe easier to maintain since it would rely on far less logic and code writing.
Additional context
If you're ok with this feature, I have something ready to suggest:
basically an insertEndOfSentences method very close to the insertSeparatorSentences in the AsmManager, to use when writing the end of sentence only in the "list" case, instead of the current basic if.

Thanks @MathiasWinckel .
See PR, it should do the job.
Given the level of detail you provided, I am pretty sure you could do the PR directly by yourself next time.

Indeed, I could. Actually I already written and tested the code and planned on doing the PR today...
But thanks for making it.


E04 S04 Bulk doner import.

Almost all the organizations have their own donor database. Once an organization is registered into the system, it will need a way to import that database into our platform. In summary, an option to bulk Import the doner into the system. While importing the data, we need to make sure that we have enough details so that these donors can login into our app later on. There should be a predefined list of fields that will be imported as a .csv file. Imported data must include the following.

Donor name. *
Blood group. *
Preferred location.
Contact number. *
Last donation date.

Note : * marks the required fields.
Acceptance criteria:

Necessary data validations for the required fields
Once the donors are imported, they can log in to the mobile app with verification.

@shuaibq3 let's update the ticket as discussed.


I cannot remove skinchanger.

If I try to remove the standard skinchanger, all shops stop working. Fix this so that it can work again.

It's not my issue. You have to fix this in the other scripts.


feat(splunk): log RUM requests to AEM Splunk

@mpetria Helix RUM requests are sampled, typically only every 100th page view will cause a RUM request. This frequency is available in the weight variable, which I'm not using at the moment. What is the preferred way of getting this information into your logs?

just add a new property named ... to the payload
log the payload weight times


Ncurses package not moving infocmp to bin directory

Describe the bug
The Ncurses package is not including the infocmp command line utility in the bin directory.
To Reproduce
Steps to reproduce the behavior:

Install ncurses
Open terminal and type "which infocmp"

Expected behavior
I expect a path to infocmp to be provided
Screenshots
These are the utilities moved to the bin directory:

According to the install instructions infocmp should also be included:

Additional context
This is causing an issue when I use the Kitty terminal and run the following command to get a clojure repl:
clojure -Sdeps "{:deps {viebel/klipse-repl {:mvn/version "0.2.3"}}}" -m klipse-repl.main
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This is fixed in development


Offline search by address in android

Hello!
Can graphhopper apply address search or POI search offline in android?
Thank you.

No, please see #16.


Add webpack to prereqs on readme page for the less initiated.

Was looking to contribute and ran into missing prerequisite webpack.  That was the only other thing needed for building.

We don't require a global install of Webpack. The build takes care of installing and using a local copy.
I'm not certain why it seemed necessary in your case - perhaps there is something unusual about your Node setup.
Closing - hope that's OK.


Device mismatches

Device matches simple_switch_timerv2 with quality of 17%. DPS: {'updated_at':<PHONE_NUMBER>.6609213, '1': True, '9': 0, '21': 40, '22': 20, '23': 2507, '24': 2, '29': 0, '38': 'on', '42': '', '43': '', '44': '', '47': 'flip'}
Actual Device - Aubess energy monitor switch
I have 5 devices and 3 were detected correctly and having issue with remaining 2 devices.
Thanks for your guidance.

This doesn't seem to be reporting the energy monitoring attributes, only the calibration for it, which is weird.  There is also another attribute that unexpectedly is coming through as an empty string instead of a boolean true/false.

Ironically, it worked after couple of hours of usage of device.


Modulerise mark active columns

Modulerise mark active columns:

port code currently in TableFilter into the MarkActiveColumns class
add unit tests

Codecov Report

Merging #439 into master will decrease coverage by 0.04%.
The diff coverage is 96.07%.

@@            Coverage Diff             @@
##           master     #439      +/-   ##
==========================================
- Coverage   87.16%   87.11%   -0.05%
==========================================
  Files          35       36       +1
  Lines        4401     4416      +15
  Branches      369      376       +7
==========================================
+ Hits         3836     3847      +11
- Misses        541      547       +6
+ Partials       24       22       -2

Impacted Files
Coverage Δ

src/modules/noResults.js
94.28% <ø> (ø)
:arrow_up:

src/tablefilter.js
91.96% <100%> (-0.21%)
:arrow_down:

src/modules/markActiveColumns.js
90.69% <95%> (ø)

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 5f22931...88b0dc5. Read the comment docs.

👍


Derive ElementaryFunctions conformances for structs.

ElementaryFunctions derived conformances enable elementary math functions to work with product spaces formed from ElementaryFunctions-conforming types.
Enables efficient, elegant mathematical optimizers.
Example:
public class Adam<Model: Differentiable>
where
    Model.TangentVector: VectorProtocol & ElementaryFunctions,
    Model.TangentVector.VectorSpaceScalar: BinaryFloatingPoint & ElementaryFunctions
{
    public typealias Scalar = Model.TangentVector.VectorSpaceScalar
    public var learningRate: Scalar
    public var beta1: Scalar
    public var beta2: Scalar
    public var epsilon: Scalar
    public var decay: Scalar
    public var step: Int = 0
    public var firstMoments: Model.TangentVector = .zero
    public var secondMoments: Model.TangentVector = .zero

    public init(
        for model: __shared Model,
        learningRate: Scalar = 1e-3,
        beta1: Scalar = 0.9,
        beta2: Scalar = 0.999,
        epsilon: Scalar = 1e-8,
        decay: Scalar = 0
    ) {
        precondition(learningRate >= 0, "Learning rate must be non-negative")
        precondition(0 <= beta1 && beta1 <= 1, "Beta parameter must be between 0 and 1")
        precondition(0 <= beta2 && beta2 <= 1, "Beta parameter must be between 0 and 1")
        precondition(decay >= 0, "Learning rate decay must be non-negative")

        self.learningRate = learningRate
        self.beta1 = beta1
        self.beta2 = beta2
        self.epsilon = epsilon
        self.decay = decay
    }

    public func update(_ model: inout Model, along direction: Model.TangentVector) {
        step += 1
        let learningRate = self.learningRate / (1 + decay * Scalar(step))
        // Note: `stepSize` is split into two lines to avoid the "compiler is unable to type-check
        // this expression in reasonable time" error.
        var stepSize = learningRate * Scalar.sqrt(1 - Scalar.pow(beta2, step))
        stepSize = stepSize / (1 - Scalar.pow(beta1, step))
        firstMoments = firstMoments * beta1 + (1 - beta1) * direction
        secondMoments = secondMoments * beta2 + (1 - beta2) * Model.TangentVector.pow(direction, 2)
        model.move(along: -stepSize * firstMoments / (Model.TangentVector.sqrt(secondMoments) + epsilon))
    }
}

Resolves TF-578.
Enables revamping optimizers in https://github.com/tensorflow/swift-apis/pull/218.

Verifying whether tests pass.
@swift-ci Please test tensorflow

@swift-ci Please test tensorflow

https://ci-external.swift.org is down, locally verified that tests pass.
AdditiveArithmetic and ElementaryFunctions derived conformances will be pitched soon via Swift Evolution.


Error building vtd-api/2.2.0

Cannot build vtd-api/2.2.0 package from optional/vtd/vendor/vtd-api-2.2.0.
System:

Ubuntu 20.04
Conan 1.59.0

Dependency vtd:
$ conan info "vtd/2.2.0@cloe-restricted/stable"
vtd/2.2.0@cloe-restricted/stable
    ID: ec7a6a6e30e7bdff1e0e9448e6e7270de063ae6c
    BuildID: None
    Context: host
    Remote: None
    URL: https://vires.mscsoftware.com
    License: Proprietary
    Description: Include binary files in C/C++
    Topics: simulator, vires
    Provides: vtd
    Recipe: Cache
    Revision: 386dd7fb47adbaa54b4e980982898498
    Package revision: ec4ccfd347133c7d9fe9e5a66c877bdd
    Binary: Cache
    Binary remote: None
    Creation date: 2023-03-13 11:46:21 UTC

Steps:

cd optional/vtd/vendor/vtd-api-2.2.0
make package

Output:
# Build the package in Conan cache unconditionally.
#
#   Conan will retrieve and build all dependencies based on the build policy.
#   Note that this cannot be called if the package is currently in editable mode.
#
#   See: https://docs.conan.io/en/latest/mastering/policies.html
#
conan create . vtd-api/2.2.0@cloe/stable \
	--build=missing --build=vtd-api
Exporting package recipe
vtd-api/2.2.0@cloe/stable exports_sources: Copied 1 '.txt' file: CMakeLists.txt
vtd-api/2.2.0@cloe/stable: The stored package has not changed
vtd-api/2.2.0@cloe/stable: Using the exported files summary hash as the recipe revision: e44d3d055f7a8797a0f7768d35efb0d5
vtd-api/2.2.0@cloe/stable: Exported revision: e44d3d055f7a8797a0f7768d35efb0d5
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=RelWithDebInfo
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=9
os=Linux
os_build=Linux
*/*@cloe/develop:build_type=Debug
[options]
[build_requires]
[env]
PATH=[/usr/lib/ccache]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=RelWithDebInfo
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=9
os=Linux
os_build=Linux
*/*@cloe/develop:build_type=Debug
[options]
[build_requires]
[env]
PATH=[/usr/lib/ccache]
[conf]
tools.cmake.cmaketoolchain:generator=Ninja

vtd-api/2.2.0@cloe/stable: Forced build from source
Installing package: vtd-api/2.2.0@cloe/stable
Requirements
    vtd-api/2.2.0@cloe/stable from 'artifactory' - Cache
Packages
    vtd-api/2.2.0@cloe/stable:f54287fc3dbd09590f968b580bebb565ea4a4b17 - Build
Build requirements
    vtd/2.2.0@cloe-restricted/stable from local cache - Cache
Build requirements packages
    vtd/2.2.0@cloe-restricted/stable:ec7a6a6e30e7bdff1e0e9448e6e7270de063ae6c - Cache

Installing (downloading, building) binaries...
vtd/2.2.0@cloe-restricted/stable: Already installed!
vtd/2.2.0@cloe-restricted/stable: Appending PATH environment variable: /home/user/.conan/data/vtd/2.2.0/cloe-restricted/stable/package/ec7a6a6e30e7bdff1e0e9448e6e7270de063ae6c/bin
vtd-api/2.2.0@cloe/stable: Applying build-requirement: vtd/2.2.0@cloe-restricted/stable
vtd-api/2.2.0@cloe/stable: WARN: Build folder is dirty, removing it: /home/user/.conan/data/vtd-api/2.2.0/cloe/stable/build/f54287fc3dbd09590f968b580bebb565ea4a4b17
vtd-api/2.2.0@cloe/stable: Copying sources to build folder
vtd-api/2.2.0@cloe/stable: Building your package in /home/user/.conan/data/vtd-api/2.2.0/cloe/stable/build/f54287fc3dbd09590f968b580bebb565ea4a4b17
vtd-api/2.2.0@cloe/stable: Generator cmake created conanbuildinfo.cmake
vtd-api/2.2.0@cloe/stable: Aggregating env generators
vtd-api/2.2.0@cloe/stable: Calling build()
-- The CXX compiler identification is GNU 9.4.0
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake targets configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Adjusting fPIC flag (ON)
-- Conan: Compiler GCC>=5, checking major version 9
-- Conan: Checking correct version: 9
-- Conan: C++ stdlib: libstdc++11
-- Configuring done
CMake Error at CMakeLists.txt:10 (add_library):
  Cannot find source file:

    src/Develop/Framework/RDBHandler/RDBHandler.cc

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx

CMake Error at CMakeLists.txt:10 (add_library):
  No SOURCES given to target: vtd_api

CMake Generate step failed.  Build files cannot be regenerated correctly.
vtd-api/2.2.0@cloe/stable:
vtd-api/2.2.0@cloe/stable: ERROR: Package 'f54287fc3dbd09590f968b580bebb565ea4a4b17' build failed
vtd-api/2.2.0@cloe/stable: WARN: Build folder /home/user/.conan/data/vtd-api/2.2.0/cloe/stable/build/f54287fc3dbd09590f968b580bebb565ea4a4b17
ERROR: vtd-api/2.2.0@cloe/stable: Error in build() method, line 54
	cmake = self._configure_cmake()
while calling '_configure_cmake', line 50
	self._cmake.configure()
	ConanException: Error 1 while executing cd '/home/user/.conan/data/vtd-api/2.2.0/cloe/stable/build/f54287fc3dbd09590f968b580bebb565ea4a4b17' && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="gcc" -DCONAN_COMPILER_VERSION="9" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="OFF" -DCMAKE_INSTALL_PREFIX="/home/user/.conan/data/vtd-api/2.2.0/cloe/stable/package/f54287fc3dbd09590f968b580bebb565ea4a4b17" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -DCMAKE_EXPORT_COMPILE_COMMANDS="True" -Wno-dev '/home/user/.conan/data/vtd-api/2.2.0/cloe/stable/build/f54287fc3dbd09590f968b580bebb565ea4a4b17'
make: *** [../../../../Makefile.package:338: package] Error 1

Perhaps these lines in the conanfile.py are not being run correctly:
    def imports(self):
        self.copy("*", dst="src/Develop", src="Develop", root_package="vtd")

I can see that the function is being called, but in the sources folder they are not there.

Conan documentation: https://docs.conan.io/1/reference/conanfile/methods.html#imports

Checking out v0.18.0 and trying there gives same error. Must be a regression in Conan?

I deleted my .conan directory and set up everything from scratch. This solved the problem, but it still leaves a sour taste in my mouth. Closing for now, re-open if problem crops up again. Doesn't seem to be a Cloe issue.


ENOENT: no such file or directory, open '.../schema/loader.json'

Laravel Mix Version: #.#.# (npm list --depth=0)

├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Node Version (node -v): v8.0.0
NPM Version (npm -v): 5.0.0
OS: macOS Sierra 10.12.5
Running locally and using php artisan serve for basic testing for now

Description:
Been having issues right from the start with a clean Laravel app running npm run dev. Decided to add some scss and run the command to see if it would all compile well and show. But despite multiple attempts, node_modules wipes and npm installs I cannot get past this error.
Steps To Reproduce:
run npm run dev for the first time, and again post npm and node upgrades and get:
> @ development /Users/jasper/webdesign/larastud.io
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
fs.js:638
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT: no such file or directory, open '/Users/jasper/webdesign/larastud.io/schema/loader.json'
    at Object.fs.openSync (fs.js:638:18)
    at Object.fs.readFileSync (fs.js:540:33)
    at validateOptions (/Users/jasper/webdesign/larastud.io/node_modules/schema-utils/dist/validateOptions.js:35:27)
    at ExtractTextPlugin.extract (/Users/jasper/webdesign/larastud.io/node_modules/extract-text-webpack-plugin/index.js:206:3)
    at Sass.rules (/Users/jasper/webdesign/larastud.io/node_modules/laravel-mix/src/Preprocessors/Preprocessor.js:46:42)
    at Mix.preprocessors.forEach.preprocessor (/Users/jasper/webdesign/larastud.io/node_modules/laravel-mix/setup/webpack.config.js:243:33)
    at Array.forEach (native)
    at Object.<anonymous> (/Users/jasper/webdesign/larastud.io/node_modules/laravel-mix/setup/webpack.config.js:242:23)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1

Well there is no schema/loader.js of course.. So not sure why it is looking for that file there. Here the full log missing that same error... :
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'dev' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle @~predev: @
6 silly lifecycle @~predev: no script for predev, continuing
7 info lifecycle @~dev: @
8 verbose lifecycle @~dev: unsafe-perm in lifecycle true
9 verbose lifecycle @~dev: PATH: /Users/jasper/webdesign/larastud.io/npm/bin/node-gyp-bin:/Users/jasper/webdesign/larastud.io/node_modules/.bin:/Users/jasper/.rvm/gems/ruby-2.3.3/bin:/Users/jasper/.rvm/gems/ruby-2.3.3@global/bin:/Users/jasper/.rvm/rubies/ruby-2.3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jasper/.composer/vendor/bin:/Users/jasper/.rvm/bin
10 verbose lifecycle @~dev: CWD: /Users/jasper/webdesign/larastud.io
11 silly lifecycle @~dev: Args: [ '-c', 'npm run development' ]
12 silly lifecycle @~dev: Returned: code: 1  signal: null
13 info lifecycle @~dev: Failed to exec dev script
14 verbose stack Error: @ dev: `npm run development`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/Users/jasper/webdesign/larastud.io/npm/lib/utils/lifecycle.js:283:16)
14 verbose stack     at emitTwo (events.js:125:13)
14 verbose stack     at EventEmitter.emit (events.js:213:7)
14 verbose stack     at ChildProcess.<anonymous> (/Users/jasper/webdesign/larastud.io/npm/lib/utils/spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:125:13)
14 verbose stack     at ChildProcess.emit (events.js:213:7)
14 verbose stack     at maybeClose (internal/child_process.js:887:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5)
15 verbose pkgid @
16 verbose cwd /Users/jasper/webdesign/larastud.io
17 verbose Darwin 16.6.0
18 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
19 verbose node v8.0.0
20 verbose npm  v5.0.0
21 error code ELIFECYCLE
22 error errno 1
23 error @ dev: `npm run development`
23 error Exit status 1
24 error Failed at the @ dev script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]

Similar issues mentioned here here an hour before I had it https://laracasts.com/discuss/channels/elixir/npm-run-dev-does-not-work

Locking the following package solved the issue for me:
"extract-text-webpack-plugin": "2.1.0"
Tho I use "laravel-mix": "0.5.6"

@sebestenyb And how did you do this lockdown? Still quite new to Laravel and Laravel mix..

Sorry, just add to the package.json:
  "devDependencies": {
    "axios": "^0.15.3",
    "bootstrap-sass": "^3.3.7",
    "cross-env": "^3.2.3",
    "jquery": "^3.1.1",
    "laravel-mix": "0.*",
    "lodash": "^4.17.4",
    "vue": "^2.1.10",
    "extract-text-webpack-plugin": "2.1.0"
  }

@sebestenyb I think you should remove the extract-text-webpack-plugin from your devDependencies and update your Laravel-Mix to minimum 0.11.4
0.11.4 should have that package by default.

But.... this is default installation of Laravel, so it should not fail

Upgrading the package was the first I've tried after encountering the issue - no luck.
The problem is that this package just has got updated by something, and that broken the build.
So I actually froze it in the version I know it worked.

This worked for me:
1 ) laravel new mytest
2) modify package.json - "laravel-mix": "0.11.4",
3) npm install
4) npm run dev

Still working on it. Adding the line "extract-text-webpack-plugin": "2.1.0", removed all packages and installed again. Then I ran npm run dev again. seems to not work as 2.1.1 is still added.  Will look at it this afternoon.

Well I just did a new installation running laravel new bug. Then I did a composer update and npm install and npm run dev. It worked just fine. Then I copied only newer files over to my project using<EMAIL_ADDRESS>$ rsync -aru ../bug/ . Then I ran npm run dev again and all started to work. No idea what was left over after the previous change, but this did the trick.

Yeah, the fixed the path issue https://github.com/webpack-contrib/extract-text-webpack-plugin/commit/87668210a886ceed8c18516e01957e53b2d291f1


Ridgepole always changes datetime with precision: 6 (Rails 7+, MySQL)

Description
I encountered a problem while migrating our app which uses ridgepole from Rails 6 to Rails 7.
I also found how to avoid this problem on user side so I am gonna post it here in case someone like me encounters it later.
I think this problem can be considered as a bug of ridgepole but since there is a way to avoid it it probably can be considered as pretty minor?
Suppose I have the following configuration in Rails 6 application:
# Gemfile
ruby "3.0.2"
gem "activerecord", "6.1.7"
gem "mysql2", "0.5.4"
gem "ridgepole", "1.2.0"

# schema
create_table :records do |t|
  t.datetime :created_at_6, precision: 6
  t.datetime :created_at_3, precision: 3
  t.datetime :created_at_0
end

If I execute it with ridgepole it creates the following MySQL table:
-- Server version	8.0.23
CREATE TABLE `records` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `created_at_6` datetime(6) DEFAULT NULL,
  `created_at_3` datetime(3) DEFAULT NULL,
  `created_at_0` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
)

Now I want to migrate my application to Rails 7 so I change the configuration to the following (I specified precision: nil for created_at_0 according to this):
# Gemfile
ruby "3.0.2"
gem "activerecord", "<IP_ADDRESS>"
gem "mysql2", "0.5.4"
gem "ridgepole", "1.2.0"

# schema
create_table :records do |t|
  t.datetime :created_at_6, precision: 6
  t.datetime :created_at_3, precision: 3
  t.datetime :created_at_0, precision: nil
end

Now I run bundle exec ridgepole -a --verbose and this is what I get in return:
Apply `db/schemas/records.schema`
# Parse DSL
# Load tables
#   records
# Compare definitions
#   records
 {:definition=>
   {"created_at_0"=>{:options=>{:precision=>nil}, :type=>:datetime},
    "created_at_3"=>{:options=>{:precision=>3}, :type=>:datetime},
-   "created_at_6"=>{:options=>{}, :type=>:datetime}},
- :options=>{:charset=>"utf8", :collation=>"utf8_unicode_ci"}}
+   "created_at_6"=>{:options=>{:precision=>6}, :type=>:datetime}},
+ :options=>{}}

...

# Update schema
-- change_column("records", "created_at_6", :datetime, {:precision=>6, :null=>true, :default=>nil, :unsigned=>false, :comment=>nil})
   -> 0.0096s

And it tries to update column created_at_6 every time I run this command to precision: 6 even though it's already precision: 6.
If I do an export here is what I get:
create_table "records", charset: "utf8", collation: "utf8_unicode_ci", force: :cascade do |t|
  t.datetime "created_at_6"
  t.datetime "created_at_3", precision: 3
  t.datetime "created_at_0", precision: nil
end

This happens because now Rails dumper removes precision: 6 from the result it gets from the database because it considers it unnecessary (it's precision: 6 by default since Rails 7). So the only way to get rid of this unnecessary change for me is to change the schema according to the above removing precision: 6.
So, this can be avoided but I think at the very least this requires a comment in the Readme. Or, maybe ideally, a fix? After all, I wanted to keep precision: 6 specified in the schema explicitly for better readability so that the readers of the schema would not need to remember the differences in behaviour between Rails 6 and Rails 7. But I understand it might be too much effort to fix.

Added a PR to describe this behaviour in Readme: https://github.com/ridgepole/ridgepole/pull/407/files

Merged PR and updated README.
Thanks for creating the Issue!


GDPR compliance #862

COGECO, a $30k deal, wants to be sure we are GDPR compliant. We need to complete this by May when they want to start using the app.

[x] Update Privacy policy to reflect GDPR compliance including SMS Gateways
[ ]   Delete user and org avatars from storage if user or org is deleted
[ ]   Delete chargebee accounts if organisation is deleted
[x]   Delete csv files an hour after upload is done
[ ]   Document how we are to give data to users - for the sake of the right to download/ get data

There is one thing that came up on discussion with Linda, if I recall correctly. It would be to discard the CSV files uploaded to the private S3bucket, once they have been processed.
We could implement this easily with a lifecycle rule that would discard files X seconds after their creation (i.e. the following day).
Shall I apply such rule to the private bucket, but only to the "contacts" folder?

@tuxpiper Yes. Ok to discard files in contacts folder after 24 hours.

@tuxpiper can you confirm if the first part is done? Thanks

Files with contacts (csv) are removed about a day after their upload . One more item of the list down.

Great! Thanks David.


ERROR getting cluster client with get_secret

Describe the bug
ops throws model errors when running get_secret. This error can be seen intermitently in integration tests. Look here for example.
To Reproduce
Steps to reproduce the behavior:

Run integration tests in CI

Expected behavior
No error thrown.
Logs
File "/var/lib/juju/agents/unit-vault-k8s-2/charm/./src/charm.py", line 193, in _on_config_changed
    root_token, unseal_keys = self._get_initialization_secret_from_peer_relation()
  File "/var/lib/juju/agents/unit-vault-k8s-2/charm/./src/charm.py", line 602, in _get_initialization_secret_from_peer_relation
    juju_secret = self.model.get_secret(id=juju_secret_id)
  File "/var/lib/juju/agents/unit-vault-k8s-2/charm/venv/ops/model.py", line 272, in get_secret
    content = self._backend.secret_get(id=id, label=label)
  File "/var/lib/juju/agents/unit-vault-k8s-2/charm/venv/ops/model.py", line 3148, in secret_get
    result = self._run('secret-get', *args, return_output=True, use_json=True)
  File "/var/lib/juju/agents/unit-vault-k8s-2/charm/venv/ops/model.py", line 2[79](https://github.com/canonical/vault-k8s-operator/actions/runs/6309422294/job/17129305867?pr=30#step:4:80)4, in _run
    raise ModelError(e.stderr)
ops.model.ModelError: ERROR getting cluster client: unable to determine legacy status for namespace "test-integration-x3js": namespaces "test-integration-x3js" is forbidden: User "system:serviceaccount:test-integration-x3js:unit-vault-k8s-2" cannot get resource "namespaces" in API group "" in the namespace "test-integration-x3js"

Environment

Vault version: 1.13.3
Juju version: 3.1.5
Cloud Environment: MicroK8s
Kubernetes version: 1.27-strict/stable

This seems to be related to a bug in Juju:

https://bugs.launchpad.net/juju/+bug/2032686

This seems to be fixed with Juju 3.1.6


Request: ITVX 1080p

Request: ITVX 1080p to be added please
1080p mpds can be obtained from tv so if we can add the 1080p mpd to freevine and then using l1 cdm to get keys that would be great :)
also adding support for downloading 4k hdr from iplayer would be good to :)

Considering how rare true L1 access is, it feels like an addition that would benefit no one. I'd assume anyone with L1 CDM would be using their own scripts anyway.
As for iPlayer 4k, I've thought about it. It's not particularly difficult, but it requires additional certification that I'm not so sure is a good idea to put up on a public repo. It might end up ruining the fun for everyone.

VT Can download 4k hdr from iplayer etc


[Bug] Stacked Bar Charts - Unable to reduce width of the bars

I've got a rather length horizontal stacked bar chart and I would like to reduce the width of the bars by half. But the ColumnWidth property for the PlotOptionsBar does not seem to do anything.

Hello,
Not 100% sure what you are trying to accomplish.
But looking at the apexchart docs indicate that BarHeight could be used.
barHeight: String
In horizontal bar charts, barHeight is the percentage of the available height in the grid-rect.
Accepts ‘0%’ to ‘100%’


translation to fr the new strings

translation to fr the new strings

[auto-generated message] E2E test report on: https://algorea-static.s3.eu-central-1.amazonaws.com/branch/fr-translation-08-2024/playwright-report/index.html


Change the logo in the navbar

🚀 Feature
As the logo for the website has been changed I would like to change it in the navbar.

can you please assign me this issue


VBA - Visibility of structure list + variable proposal while typing on .bas file

Type: Feature Request
Hi,
I had found an extension for VBA code that allowed me to have visibility over the "Strucutre" list and that proposed the names of existing variables while typing.
This extension has not been available for some time. I did find the "VBScript symbols v1.1.0" extension that displays the "Structure" list, but when this extension is active, the suggestion of existing variable names while typing no longer works. So it's either one or the other, but not both.
Is there any way of correcting the problem?
Kind regards
Extension version: 1.2.1
VS Code version: Code 1.79.2 (695af097c7bd098fbf017ce3ac85e09bbc5dda06, 2023-06-14T08:57:04.379Z)
OS version: Windows_NT x64 10.0.19045
Modes:

Hm, there are already two big problems in the first place

You use two extensions for the same language and
both extensions aren't made for VBA but for VBScript.

Which Screenshot shows which extension active?
The first screenshots AutoComplete seems to be from none of both extensions, its just showing vscode's default word matching?? (no vartype symbol simple abc-icon)
I'm pretty sure the problem that your file is using a languagefeature from VBA which my VBS parser couldn't understand.
Can you please simplify one of your VBA files (to correct VBS code) and only activate my extension, to see which syntax is breaking the parser (AS statements, Enum, iif, named Arguments := ) . OR post some of your source anywhere.
Than i could have a look, but i won't promise anything. My extension is made for vbs not vba and i will not change that.

Hi,
Thank you for your information.
I've already tried a lot of extensions made for VBA but I've yet to find one that displays both. That's why I tested yours, which gave me the best result so far.
But no problem, I understand your position and don't want to waste your time.
Best regards


Roll Engine from dade70a05f6a to cbeb02e1c81d (2 revisions)

https://github.com/flutter/engine/compare/dade70a05f6a...cbeb02e1c81d
2021-04-14<EMAIL_ADDRESS>Fix the kernel path in the DartPersistentHandleTest.ClearAfterShutdown test (flutter/engine#25585)
2021-04-14<EMAIL_ADDRESS>Made sure not to delete handles of dart objects if the isolate has been deleted (flutter/engine#25506)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Update mockups for LinktaFlow UI on Figma

Acceptance Criteria

Provide visuals for custom nodes
Provide visuals for custom edges
Provide visuals for CRUD functionality - add a node, delete a node, edit
Redo, Undo Buttons
Hover + Selected States

The figma update for linktaflow is ready for review under page: Hi-fi Mockups for LinktaFlow:
https://www.figma.com/design/9QKsvDQ9jivgA9XfS0oqPd/Design-System---Linkta?node-id=2453%3A7935&t=QJeDik35LANoLnvO-1


need to set force_reauthentication true but not found method to do it through DbxWebAuth.newRequestBuilder() because its not having method to set it as true. Is there any way to do it

Why is this feature valuable to you? Does it solve a problem you're having?
A clear and concise description of why this feature is valuable. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered. (if applicable)
Additional context
Add any other context or screenshots about the feature request here.

No, unfortunately the 'force_reauthentication' OAuth parameter isn't currently implemented in the Dropbox API v2 Java SDK, but I'll pass this along as a feature request. I can't promise if or when that might be implemented though.

I have generated authorization url by using DbxWebAuth.newRequestBuilder()  and added force_authentication parameter like below
String authorizeUrl = getDropBoxAuthObject().authorize(DbxWebAuth.newRequestBuilder().build());
authorizeUrl=authorizeUrl+"&force_reauthentication=true";
Its working like the way its expected. its signout the account which is already logged in and shows the sign in screen.
small doubt, any hidden problems if I use like this?

You can certainly modify the URL with your own code if you wish.
However, I recommend properly parsing the URL string, setting the URL parameter, and then rebuilding the URL string, e.g., using java.net.URL, rather than just appending to the string.

Thank you for your suggestion. My requirement is, whenever a user is already logged in to the dropbox account in some other tab then need to show an option like "do you want to continue with the logged in account( as "xxx" person) or sign into new account.
I have checked force_reapprove option, its just asking the permission to access or not but if I click, "cancel" new sign in page is not showing so is there any other option to fulfill my requirement

The force_reauthentication and force_reapprove are the only options for this. Neither specifically prompts the user in the exact way you describe, but the user can switch accounts manually using the drop down menu in the top right of the page. (That is, while signed in and prompted to authorize the app, they can "Sign out", then sign in to a different account to authorize the app there.)


[SPARK-39470][SQL] Support cast of ANSI intervals to decimals

What changes were proposed in this pull request?
In the PR, I propose to support casts of ANSI intervals to decimals, and follow the SQL standard:

Why are the changes needed?
To improve user experience with Spark SQL, and to conform to the SQL standard.
Does this PR introduce any user-facing change?
No, it just extends existing behavior of casts.
Before:
spark-sql> SELECT CAST(INTERVAL '1.001002' SECOND AS DECIMAL(10, 6));
Error in query: cannot resolve 'CAST(INTERVAL '01.001002' SECOND AS DECIMAL(10,6))' due to data type mismatch: cannot cast interval second to decimal(10,6); line 1 pos 7;
'Project [unresolvedalias(cast(INTERVAL '01.001002' SECOND as decimal(10,6)), None)]
+- OneRowRelation

After:
spark-sql> SELECT CAST(INTERVAL '1.001002' SECOND AS DECIMAL(10, 6));
1.001002

How was this patch tested?
By running new tests:
$ build/sbt "sql/testOnly org.apache.spark.sql.SQLQueryTestSuite -- -z cast.sql"
$ build/sbt "test:testOnly *CastWithAnsiOnSuite"
$ build/sbt "test:testOnly *CastWithAnsiOffSuite"

cc @srielau

@cloud-fan @srielau I added more checks, please, take a look at this PR one more time.


Updating Blueprint SDK to use latest swagger (doc updates + RG tagging + lock mode change)

A minor update to the Blueprint SDK that adds support for RG tagging (see PR https://github.com/Azure/azure-rest-api-specs/pull/5263 and ResourceGroupDefinition.cs), updates lock mode constants, and takes recent description updates made by our documentation writers.

ChangeNotes for 0.10.0 (breaking changes):

Should we remove these comments? Or add the tags update to it?

Refers to: src/SDKs/Blueprint/Management.Blueprint/Microsoft.Azure.Management.Blueprint.csproj:16 in 51d3d10. [](commit_id = 51d3d10dcf1959eab4efeb8c41bb48d7d1d064ea, deletion_comment = False)

Is this from the latest swagger? I can't see the AssignmentLockMode changes.

I've now integrated your changes and updated the release notes/version.

Please generate the code using generate.ps1 script and commit all changes generated.

Done.

will merge once CIs pass


autocomplete always returns null for Kind and other fields

The data returned for autocomplete is always null for the Kind and Documentation and other fields.
Is this because its not implemented yet? Or because of a technical difficulty?
If someone can point me where the implementation is missing I can probably submit a PR to resolve this.

@danwalmsley: Did you specify WantKind and WantDocumentationForEveryCompletionResult in your autocomplete request?

@danwalmsley: do you have any update?

Hi, sorry been away. WantKind worked, and wantdocumentation also worked, however I believe it looks like the documentation was only partially parsed, it came back as xml and I had to parse manually. Will have a look at my code and find repro steps.

It does come back as XML. That is how the end point is designed.

Closing this issue as it is working as designed.


C/C++ comments wrong

C/C++ comments format is
// inline comment
/*
    block comment
/*

but there is no inline comment and block is broken
/* block comment produced by commented */
*/
/* line above is broken */

Hi thanks for reporting! I am not using neovim at the moment,you might want to try and make a PR for this


[C#] Feedback: Skype does not automatically decode URL

Hi,
I noticed that skype does not automatically decode URL e.g. http:///folder/file.html%23FAQ , while Facebook and Telegram do decode.
thanks,
wongso

Hi Wongso, please provide more details on how you send this URL

hi, i format it as markdown link. "text... link ..text"
I also noticed that if a link has '(' and ')', it will be broken, e.g. "text... link ..text"

Closing due to inactivity.  Please reopen is the issue persists


IndexError on Tabular Predictor fit() with hyperparameter tuning and num_bag_folds

IndexError: list index out of range is thrown when running Tabular Predictor fit() method with below config:
tabular_predictor = TabularPredictor(
label=target_variable,
problem_type='regression',
eval_metric='mean_absolute_error',
path=model_output_path,
).fit(
train_data=model_training_dat,
tuning_data=model_tuning_dat,
feature_metadata=self.feature_metadata,
hyperparameters={'CAT': {}, 'XGB': {}, 'GBM': [{}, {'extra_trees': True, 'ag_args': {'name_suffix': 'XT'}}]},
hyperparameter_tune_kwargs='auto',
presets='medium_quality_faster_train',
use_bag_holdout=True,
num_bag_folds=2,
num_bag_sets=2,
keep_only_best=True,
save_space=True
)
We have tested it the same but with num_bag_folds removed and it works.
It also works when using excluded_model_types: ['NN', 'FASTAI', 'KNN', 'RF', 'XT'] and removing hyperparameters and hyperparameter_tune_kwargs.
We have tested on different data also and same behaviour is shown.
Version 0.3.1
MacOS Big Sur and Ubuntu 18.04
Beginning AutoGluon training ...
AutoGluon will save models to "agModels/cpc_regression_model/20211028_111324/"
AutoGluon Version:  0.3.1
Train Data Rows:    591757
Train Data Columns: 111
Tuning Data Rows:    8098
Tuning Data Columns: 111
Preprocessing data ...
Using Feature Generators to preprocess the data ...
Fitting AutoMLPipelineFeatureGenerator...
Available Memory:                    6930.83 MB
Train Data (Original)  Memory Usage: 555.91 MB (8.0% of available memory)
Warning: Data size prior to feature transformation consumes 8.0% of available memory. Consider increasing memory or subsampling the data to avoid instability.
Stage 1 Generators:
Fitting AsTypeFeatureGenerator...
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "domain". Actual dtype: int | Expected dtype: category
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "day_of_week". Actual dtype: object | Expected dtype: category
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "month_of_year". Actual dtype: object | Expected dtype: category
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "device". Actual dtype: object | Expected dtype: category
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "target_type". Actual dtype: object | Expected dtype: category
WARNING: Actual dtype differs from dtype in FeatureMetadata for feature "impressions". Actual dtype: int | Expected dtype: float
WARNING: Forcefully converting features to expected dtypes. Please manually align the input data with the expected dtypes if issues occur.
Note: Converting 3 features to boolean dtype as they only contain 2 unique values.
Stage 2 Generators:
Fitting FillNaFeatureGenerator...
Stage 3 Generators:
Fitting IdentityFeatureGenerator...
Fitting CategoryFeatureGenerator...
Fitting CategoryMemoryMinimizeFeatureGenerator...
Fitting DatetimeFeatureGenerator...
Fitting TextSpecialFeatureGenerator...
Fitting BinnedFeatureGenerator...
Fitting DropDuplicatesFeatureGenerator...
Fitting TextNgramFeatureGenerator...
Fitting CountVectorizer for text features: ['search_term', 'canonical_name']
CountVectorizer fit with vocabulary size = 6475
Warning: Due to memory constraints, ngram feature count is being reduced. Allocate more memory to maximize model quality.
Reducing Vectorizer vocab size from 6475 to 347 to avoid OOM error
Stage 4 Generators:
Fitting DropUniqueFeatureGenerator...
Useless Original Features (Count: 1): ['ad_type']
These features carry no predictive signal and should be manually investigated.
This is typically a feature which has the same value for all rows.
These features do not need to be present at inference time.
Types of features in original data (raw dtype, special dtypes):
('category', [])     : 5 | ['domain', 'day_of_week', 'month_of_year', 'device', 'target_type']
('datetime', [])     : 2 | ['date', 'month']
('float', [])        : 1 | ['impressions']
('object', ['text']) : 2 | ['search_term', 'canonical_name']
Types of features in processed data (raw dtype, special dtypes):
('category', [])                    :   3 | ['domain', 'day_of_week', 'target_type']
('category', ['text_as_category'])  :   2 | ['search_term', 'canonical_name']
('float', [])                       :   1 | ['impressions']
('int', ['binned', 'text_special']) :  17 | ['search_term.char_count', 'search_term.word_count', 'search_term.lower_ratio', 'search_term.digit_ratio', 'search_term.special_ratio', ...]
('int', ['bool'])                   :   3 | ['month', 'month_of_year', 'device']
('int', ['datetime_as_int'])        :   1 | ['date']
('int', ['text_ngram'])             : 348 | ['nlp.2021', 'nlp.2021 mercedes', 'nlp.2021 mercedes benz', 'nlp.2021 south', 'nlp.2021 south los', ...]
194.6s = Fit runtime
10 features in original data used to generate 375 features in processed data.
Train Data (Processed) Memory Usage: 444.5 MB (5.0% of available memory)
Data preprocessing and feature engineering runtime = 199.11s ...
AutoGluon will gauge predictive performance using evaluation metric: 'mean_absolute_error'
To change this, specify the eval_metric argument of fit()
Fitting 4 L1 models ...

Warning: Exception caused LightGBM_BAG_L1/T0 to fail during training... Skipping this model.
list index out of range
Detailed Traceback:
Traceback (most recent call last):
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 962, in _train_and_save
model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 934, in _train_single
model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
out = self._fit(**kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/stacker_ensemble_model.py", line 153, in _fit
return super()._fit(X=X, y=y, time_limit=time_limit, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 189, in _fit
n_repeats=n_repeats, n_repeat_start=n_repeat_start, save_folds=save_bag_folds, groups=groups, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 378, in _fit_folds
fold=kfolds[i],
IndexError: list index out of range
Fitting model: LightGBMXT_BAG_L1/T0 ...
Warning: Exception caused LightGBMXT_BAG_L1/T0 to fail during training... Skipping this model.
list index out of range
Detailed Traceback:
Traceback (most recent call last):
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 962, in _train_and_save
model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 934, in _train_single
model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
out = self._fit(**kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/stacker_ensemble_model.py", line 153, in _fit
return super()._fit(X=X, y=y, time_limit=time_limit, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 189, in _fit
n_repeats=n_repeats, n_repeat_start=n_repeat_start, save_folds=save_bag_folds, groups=groups, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 378, in _fit_folds
fold=kfolds[i],
IndexError: list index out of range
Fitting model: CatBoost_BAG_L1/T0 ...
Warning: Exception caused CatBoost_BAG_L1/T0 to fail during training... Skipping this model.
list index out of range
Detailed Traceback:
Traceback (most recent call last):
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 962, in _train_and_save
model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 934, in _train_single
model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
out = self._fit(**kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/stacker_ensemble_model.py", line 153, in _fit
return super()._fit(X=X, y=y, time_limit=time_limit, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 189, in _fit
n_repeats=n_repeats, n_repeat_start=n_repeat_start, save_folds=save_bag_folds, groups=groups, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 378, in _fit_folds
fold=kfolds[i],
IndexError: list index out of range
Fitting model: XGBoost_BAG_L1/T0 ...
Warning: Exception caused XGBoost_BAG_L1/T0 to fail during training... Skipping this model.
list index out of range
Detailed Traceback:
Traceback (most recent call last):
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 962, in _train_and_save
model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 934, in _train_single
model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
out = self._fit(**kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/stacker_ensemble_model.py", line 153, in _fit
return super()._fit(X=X, y=y, time_limit=time_limit, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 189, in _fit
n_repeats=n_repeats, n_repeat_start=n_repeat_start, save_folds=save_bag_folds, groups=groups, **kwargs)
File "/Users/laurabatchelor/github/adthena-cpc/py/lib/python3.6/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 378, in _fit_folds
fold=kfolds[i],
IndexError: list index out of range
No base models to train on, skipping weighted ensemble...

Thanks for creating a github issue!
I tried to reproduce this but was not able to, please refer to the colab notebook: https://colab.research.google.com/drive/1vFyLQZd4HPGyMAfoflRKJHAg4AzuhYNQ?usp=sharing
If you can provide a reproducible example, that would be very helpful.

Hi @Innixma thanks for having a look. I have created a reproduction here in colab notebook for you: https://colab.research.google.com/drive/1eH8O323FimwovSd4gTfW8GrJL6m596bi?usp=sharing

Hi @lebatchelor, thank you very much for the notebook, it was key to locating the bug!
This has been fixed in #1365.
Here is an update to your colab notebook showcasing the fix: https://colab.research.google.com/drive/1fSNoWUqOMjp_6nXRv0cDjFi5OGEGDip2?usp=sharing
Once merged, it will be available in nightly pre-release the day after.
Here are the instructions to install the nightly pre-release: https://auto.gluon.ai/dev/index.html

Great news, thanks for fixing so quickly @Innixma!


Cannot find module './app.module.ngfactory'

I've seen some people having this issue before, but none of their solutions seemed to help in this case. I can run my app with ionic serve and in ionic view, but when try to build or emulate, I get the following error.
$ ionic build ios
******************************************************
 Dependency warning - for the CLI to run correctly,
 it is highly recommended to install/upgrade the following:

 Install ios-sim to deploy iOS applications.`npm install -g ios-sim` (may require sudo)
 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************

Running 'build:before' npm script before build

> baroapp@ build /Users/juansanchezgarcia/Projects/baro/baroapp-ionic
> ionic-app-scripts build

[16:41:41]  ionic-app-scripts 0.0.46
[16:41:41]  build prod started ...
[16:41:41]  clean started ...
[16:41:41]  clean finished in 4 ms
[16:41:41]  copy started ...
[16:41:41]  ngc started ...
[16:41:42]  copy: Error copying "/Users/juansanchezgarcia/Projects/baro/baroapp-ionic/node_modules/ionic-angular/fonts"
            to "/Users/juansanchezgarcia/Projects/baro/baroapp-ionic/www/assets/fonts"
[16:41:42]  copy finished in 483 ms
[16:42:05]  Error: Error at /Users/juansanchezgarcia/Projects/baro/baroapp-ionic/.tmp/app/main.prod.ts:4:36
[16:42:05]  Cannot find module './app.module.ngfactory'.
[16:42:05]  ngc failed
[16:42:05]  ionic-app-script task: "build"
[16:42:05]  Error: Error

npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v6.9.1
npm ERR! npm  v4.0.3
npm ERR! code ELIFECYCLE
npm ERR! baroapp@ build: `ionic-app-scripts build`
npm ERR! Exit status 1

This is my package.json
{
  "name": "baroapp",
  "author": "Baro Team",
  "homepage": "https://baroapp.com",
  "private": true,
  "scripts": {
    "build-dev": "ionic-app-scripts build --dev",
    "build": "ionic-app-scripts build",
    "watch": "ionic-app-scripts watch",
    "serve:before": "watch",
    "emulate:before": "build",
    "deploy:before": "build",
    "build:before": "build",
    "run:before": "build"
  },
  "dependencies": {
    "@angular/common": "2.1.1",
    "@angular/compiler": "2.1.1",
    "@angular/compiler-cli": "2.1.1",
    "@angular/core": "2.1.1",
    "@angular/forms": "2.1.1",
    "@angular/http": "2.1.1",
    "@angular/platform-browser": "2.1.1",
    "@angular/platform-browser-dynamic": "2.1.1",
    "@angular/platform-server": "2.1.1",
    "@ionic/storage": "1.1.6",
    "angular2-moment": "^1.0.0",
    "angular2-uuid": "^1.1.0",
    "angularfire2": "^2.0.0-beta.6",
    "bourbon": "^4.2.7",
    "ionic-angular": "2.0.0-rc.3",
    "ionic-native": "2.2.3",
    "ionicons": "3.0.0",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "0.0.46",
    "typescript": "^2.0.9"
  },
  "cordovaPlugins": [
    "cordova-plugin-device",
    "cordova-plugin-console",
    "cordova-plugin-whitelist",
    "cordova-plugin-splashscreen",
    "cordova-plugin-statusbar",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [
    {
      "platform": "ios",
      "version": "",
      "locator": "ios"
    },
    {
      "platform": "android",
      "version": "",
      "locator": "android"
    }
  ],
  "description": "baroapp",
  "config": {
    "ionic_sass": "./config/sass.config.js"
  }
}

thanks!

Hello, i am in your exact situation and waiting for a solution, i saw many posts of people talking about it but didnt see the fix.
I saw also you have also an error when copying fonts, this one can be solved as commented FireCoding here: https://github.com/driftyco/ionic-app-scripts/issues/448.

This is related to the last commit 0594803, my team is having the same issue after doing a npm install and downloading the latest version.

Can you please try with the latest version, there have been many changes and I don't see that issue happening anymore.

0.0.47 fixed it! thanks guys

0.0.47 is buggy as hell, can't update to this version (watch does not work, IONIC_ENV variable not set,..)

Don't know if it is related to app scripts or no but i am getting this error on "npm run ngc":
`[14:48:35]  ionic-app-scripts 0.0.47
[14:48:35]  ngc started ...
[14:48:35]  ionic-app-script task: "ngc"
[14:48:35]  TypeError: Cannot read property 'fileCache' of undefined
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "ngc"
npm ERR! node v6.8.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! App-Generator@ ngc: ionic-app-scripts ngc
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the App-Generator@ ngc script 'ionic-app-scripts ngc'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the App-Generator package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts ngc
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs App-Generator
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls App-Generator
npm ERR! There is likely additional logging output above.`
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.47
in other pc with ionic cli 2.1.14 and appscripts in 0.46 works ok


Allow bytestring-0.11

AFAICT no changes except an upper bound bump are necessary: relude does not rely on internal modules and does not support GHC < 8.0.

Hi @Bodigrim! We planned to do this as a part of #345, but can be done separately as well. PRs are welcome 🙂


investigate htcondorcern compute backend troubles

Follow-up from https://github.com/reanahub/reana-demo-helloworld/pull/58
The demo workflow runs well on slurmcern compute backend, but htcondorcern compute backend leads to:
$ reana-client logs -w helloworld-snakemake-htcondorcern
...
2021-10-19 07:48:03,654 | reana-workflow-engine-snakemake | MainThread | ERROR | Error submitting job helloworld: Expecting value: line 1 column 1 (char 0)
2021-10-19 07:48:03,657 | reana-workflow-engine-snakemake | MainThread | INFO | failed job: None

We should investigate and fix the problem.

From another demo workflow, here is the job controller exception:
$ kubectl logs reana-run-batch-xxx job-controller
...
2021-10-19 08:09:08,213 | reana_job_controller.factory | Thread-2 | ERROR | Exception on /jobs [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.8/site-packages/reana_job_controller/rest.py", line 228, in create_job
    backend_jod_id = job_obj.execute()
  File "/usr/local/lib/python3.8/site-packages/reana_job_controller/job_manager.py", line 64, in wrapper
    backend_job_id = fn(inst, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/reana_job_controller/htcondorcern_job_manager.py", line 125, in execute
    job_ad["Arguments"] = self._format_arguments()
  File "/usr/local/lib/python3.8/site-packages/reana_job_controller/htcondorcern_job_manager.py", line 185, in _format_arguments
    base64.b64encode(base_cmd.encode("utf-8")).decode("utf-8")
UnboundLocalError: local variable 'base_cmd' referenced before assignment


Fix several memory leaks

While using the module, I found and fixed several memory leaks in the C code. Please take a look and see if the fixes can be applied. Thanks.

Hi, @pach318. Thank you for your useful contribution.


Add release 2.8.0 commits

The proposed changelog:

Added JSON format.output.type

JSONL, I guess?


WIP: chore(messages): convert messages to minimal format from lingui

lingui doesnt properly convert between these formats, even though it has
a convert-from parameter. I manually edited the lingui-cli code to properly
read the existing messages files using the proper formatter and then write
them with the new format(minimal).
Testing

Trade-offs

Dependencies

Screenshots

Can you please show the changes you made to the code to enable it to work?

In<EMAIL_ADDRESS>Add at Line 63:
  var format = config.format;
  if(options.prevFormat){
    config.format = options.prevFormat
  }

Add at line 121:
  if(format !== config.format){
    config.format = format;
    catalog = (0, _catalog2.default)(config);
  }

This is on the latest version Julian updated to yesterday.

@jaxesn , cool, thanks.

I prefer the minimal format, but I remember hearing (from @nLight I believe) that translators & translation management tools generally require po format?

@natmegs they should be good with minimal as well :)

Fixed file conflicts so that this is review-able and merge-able. Also, for some reason I could not get this working for the po format.

I would vote to switch to minimal, at least for the time being.  Its a theory, but removing the line numbers may help with some of the merge issues we have had in the last few weeks.  We do not have an example as you described yet, for that to happen an internal team or a client will have to point it out to us since the translators aren't looking at the app for context.  Even if one such case does arise, we can handle it by not using the english text for that specific key, as @nLight suggested.

@juliangieseke , I think this can be overcome in some way.

After thinking about it some more, while there are ways to make the same English text translated in a different way, I think this highlights a design problem.

Resolved conflicts again, I think that every time we merge something in master we break it here.

:tada: This PR is included in version 2.40.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


A simple learn & estimate test using SPFlow

use a tiny fraction of InstaCart or TPC-H, TPC-DS' store_sales
build an spn(mspn, rspn) for some data
count query for the spn

Started from this

Test code(used my local runtime. reconfiguration required to run this on google)

Support for PyTorch seems to be incomplete. (in contrast to TensorFlow/GPU)

Failed to reproduce this

TODO

[ ] setup code: args, logger, launch restapi (cf. TrainDBModelRunner)
[ ] traindb CLI interface (RSPN.py, cf. TrainDBBaseModel, )
[ ] query interface (traindb <--> /estimate)
[ ] data preparation (instacart, tpc-h, cf. tpc-ds codes of deepdb)

The skeleton implementation is finished.
Next: RSPN v0 (solve critical issues and integrate this into the main traindb


Show tick mark every x step

Hi,
can you implement to show tick marks on, e.g. every 20 step. Currently when I set a tickMarkPattern  of "dot,dash" I get a tick mark on every single step so when I have a count of 250 I have 250 marks.
Thanks in advance!

Hi @WebTiger89 ,
Thanks for suggestion!
I'll add this feature in next version, maybe you can create PR ;)

Hi @WebTiger89
I've support this feature in latest commit (#11)
You can try it from now!


Ability to add more services

I have tried adding more labels, so I guess it isn't possible?
// EDIT: I haven't tried manually adding them to the index.html, so maybe that'll work. Just depends on if they stick after updating.

Systems are identified by the label's color. Try setting the color to #171717.

All my systems have separate colours.

How can I add more services to an already created statuspage?

I see what you mean now - thanks ;)


Using RustcEncodable and RustcDecodable for stdlib types?

I was hoping to use this crate to #[derive(RustcEncodable, RustcDecodable)] on SocketAddr, however it does not appear to be possible with the orphan trait restrictions.
Are there any guides on how I might do this?

Yup, orphan trait restrictions prevent you from doing this. So I think you have two options:

Lobby to have this package include impls for SocketAddr.
Define a newtype around SocketAddr and impl decoding/encoding on that newtype. For example (not compiler checked):

struct MySocketAddr(SocketAddr);

impl Decodable for MySocketAddr {
    fn decode<D: Decoder>(d: &mut D) -> Result<MySocketAddr, D::Error> {
        let s = try!(d.read_str());
        MySocketAddr(/* create SocketAddr from `s` */)
    }
}

This comes with its downsides though. If v has type MySocketAddr, then you have to use v.0 when passing it to functions that expect a SocketAddr.

Thanks, that answers my questions!


Config Restructure #43 #44

So far from what I see: Readme needs to be updated to include: -copy, -include, -custom handlebars helpers, etc..


Button Bar pattern

Description
Displays groups of core and secondary actions (as buttons).
Button position and order varies depending on the container (dialog or not) and the context (multi-step or single flow).
The position of buttons with the bar is also driven by breakpoint. If desired, at a certain breakpoint, buttons can stack and fill the width of the bar. In this case, actions are ordered core at top, secondary at bottom.
Context
Button Bar is common to, but not exclusively for, Forms. It's generally used to display groups of core and secondary actions, following user input.
A Button Bar is also commonly found within a Dialog.
Extra information
UITK Button Bar docs can be found here.
Button Bar guidance can be abstracted from the Salt Forms pattern (Forms pattern can be updated to point towards the Button Bar pattern).
(Add extra info)

keep as standalone dev work, so we don't create any blocker from design (just storybook examples)

What is the work I need to do here? Is it going to be a page to copy over from Figma like the other patterns?

@lilyvc It's a bit more work than that. I'm unsure if anything has changed over the 2 weeks I've been off. Still, the general approach would have been reverse engineering the rules that were built into the Button Bar previously and documenting what they are in a way that users can understand. I would probably then add a stretch goal to add examples showing how to achieve that with Salt

25 Oct - design first pass done, pending review. Dev - adding a few examples to Salt storybook.

Pushing out dates to get design work published to site, which was not planned in the original target

Still on track for the deadline

3 Nov - design guide reviewed today, page publish WIP

6 Nov - under review. Some changes anticipated from content. Dev reviews pending.

@mikearildbrown to leave comments on the PR. Target date end of the week depending on the content updates.

https://www.saltdesignsystem.com/salt/patterns/button-bar


NOTICE: Changeover from CC0 to another compatible license

<EMAIL_ADDRESS>Need to pick a license just out of courtesy.
Note to downstream users: Your existing rights and those to future versions will not be affected by this change.
I don't have any patents, period, but switching to a license that implicitly grants them (presumably via the first-party doctrine) would be ideal just as accident avoidance.

For the record, BSD0's the current one I'm thinking of changing to, though MIT0 is on the table.
This change will also affect gabien and therefore by extension Wrench To Forehead.

Another option is the Unlicense, similar to CC0 (Fedora suggests this one as a closer replacement).

@fdelapena
Regarding Unlicense: Good point, good point
...I admit I kind of forgot about this license change plan
(there's a lot of notices to change over, since R48 has a license header on each file)

@rohkea You're on the contributors list, so I'm checking this with you before I finally commit this: Is it okay to relicense R48 to the Unlicense?

I'm totally OK with changing the license, either to Unlicense or to any other license

I took a while to get around to this, but on the flip-side that just means notice was given for a long time, so that's probably for the best.


Please Approve HackerZ DAO

Dear community,
I just added to our DAO a nice Hackerz PFP.

Hello, it's possible to compress pfp and reduce its size :) Hopes it helps
doge> pngout HackerzDAO_PFP_REALMS.png
 In:   25935 bytes               HackerzDAO_PFP_REALMS.png -c6 -f5
Out:   21991 bytes               HackerzDAO_PFP_REALMS.png -c6 -f5
Chg:   -3944 bytes ( 84% of original)


Qt 6 compatibility

If you don't mind, I can work on it. :)

Oh that would be awesome. The only sad story is, I should stay compatible with Ubuntu 18.04 LTS for a little longer. Do you see a possibility to retain this support? (We have a PPA where Ubuntu 18.04 users can apt-get instlal contour from).
@data-man many thanks for your interest, btw, I really appreciate that. :)

I should stay compatible with Ubuntu 18.04 LTS for a little longer

Just build the release with Qt5 for this OS?

many thanks for your interest, btw, I really appreciate that. :)

I like your project and someday Contour will be my only terminal. And I really want to get that day closer! :)
Thanks for the tips, I'll explore!

BTW Maybe create a GH organization (Contour, libunicode, etc.)? (ContourOrg is free, I checked :smile:)

I should stay compatible with Ubuntu 18.04 LTS for a little longer

Just build the release with Qt5 for this OS?

If the source stays compatible to Qt5, then this is a solution, yeah.

many thanks for your interest, btw, I really appreciate that. :)

I like your project and someday Contour will be my only terminal. And I really want to get that day closer! :)

💜

Thanks for the tips, I'll explore!
BTW Maybe create a GH organization (Contour, libunicode, etc.)? (ContourOrg is free, I checked 😄)

Oh yeah i considered that already. It will come.

If the source stays compatible to Qt5, then this is a solution, yeah.

I'll explore this later. My tasks now:

[ ] migrate to CPM. It's really cool!
[ ] CI refactoring. I think testing with MinGW would be useful.

Oh yeah i considered that already. It will come.

:100: :+1:

Or we find a better org name

ContourProjects?

https://github.com/mitsuba-renderer/nanogui seems interesting, isn't it?

We're now live and running at: https://github.com/contour-terminal/contour/ (the old URL still happily exists and just redirects to the org)


[ADDED] Handler invoked when a new server joins the NATS Cluster

If DiscoveredServersCB is set, the client library will invoke this
callback when it is notified by the server it connects to that
a new server has joined the cluster. This callback is not invoked
in the initial Connect(). A ConnHandler is used. The user can
invoke nc.DiscoveredServers() to get the list of discovered servers.
But in some cases, it is just enough to know that a new server
has joined. A use case is in NATS Streaming server with the
channels partitioning/sharding feature where a server needs to know
if the cluster has changed in which case it should resend its list
of channels.

Coverage decreased (-0.05%) to 95.078% when pulling 5d5b5ba6a06723e17310f17ffea3155958e97e9c on add_discovered_servers_cb into 9c2ce0b1f855da8981394f9fb2ccca2bbf55e798 on master.