/controller_manager encountered problems

When I run the following command：
xxx@hhz:~/dev_ws$ ros2 launch ros2srrc_ur3_moveit2 ur3_interface.launch.py
ERROR:
[ERROR] [spawn_entity.py-3]: process has died [pid 148536, exit code 1, cmd '/opt/ros/humble/lib/gazebo_ros/spawn_entity.py -topic robot_description -entity ur3 --ros-args'].
[INFO] [spawner-6]: process started with pid [148723]
[spawner-6] [INFO] [1705911838.238723039] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-6] [INFO] [1705911840.258896577] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-6] [INFO] [1705911842.265628297] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-6] [INFO] [1705911844.272945277] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-6] [ERROR] [1705911846.279376300] [spawner_joint_state_broadcaster]: Controller manager not available
[ERROR] [spawner-6]: process has died [pid 148723, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager /controller_manager --ros-args'].
[INFO] [spawner-7]: process started with pid [148748]
[spawner-7] [INFO] [1705911848.725592119] [spawner_ur_controller]: Waiting for '/controller_manager' node to exist
[spawner-7] [INFO] [1705911850.733370673] [spawner_ur_controller]: Waiting for '/controller_manager' node to exist
[spawner-7] [INFO] [1705911852.740147053] [spawner_ur_controller]: Waiting for '/controller_manager' node to exist
[spawner-7] [INFO] [1705911854.747018006] [spawner_ur_controller]: Waiting for '/controller_manager' node to exist
[spawner-7] [ERROR] [1705911856.753634067] [spawner_ur_controller]: Controller manager not available
[ERROR] [spawner-7]: process has died [pid 148748, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner ur_controller -c /controller_manager --ros-args'].
...
[spawner-13] KeyboardInterrupt
[ERROR] [spawner-9]: process has died [pid 148780, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_RKJ -c /controller_manager --ros-args'].
[ERROR] [spawner-12]: process has died [pid 148786, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_LFTJ -c /controller_manager --ros-args'].
[ERROR] [spawner-11]: process has died [pid 148784, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_RIKJ -c /controller_manager --ros-args'].
[ERROR] [spawner-10]: process has died [pid 148782, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_LIKJ -c /controller_manager --ros-args'].
[ERROR] [spawner-13]: process has died [pid 148788, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_RFTJ -c /controller_manager --ros-args'].
[INFO] [static_transform_publisher-4]: process has finished cleanly [pid 148538]
[INFO] [robot_state_publisher-5]: process has finished cleanly [pid 148540]
[ERROR] [spawner-8]: process has died [pid 148778, exit code -2, cmd '/opt/ros/humble/lib/controller_manager/spawner robotiq_controller_LKJ -c /controller_manager --ros-args'].
[ERROR] [gzserver-1]: process[gzserver-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [gzserver-1]: sending signal 'SIGTERM' to process[gzserver-1]
[gzserver-1] [INFO] [1705911865.296004467] [rclcpp]: signal_handler(signum=15)
[ERROR] [gzserver-1]: process[gzserver-1] failed to terminate '10.0' seconds after receiving 'SIGTERM', escalating to 'SIGKILL'
[INFO] [gzserver-1]: sending signal 'SIGKILL' to process[gzserver-1]
[ERROR] [gzserver-1]: process has died [pid 148532, exit code -9, cmd 'gzserver /home/hhz/dev_ws/install/ros2srrc_ur3_gazebo/share/ros2srrc_ur3_gazebo/worlds/ur3.world -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so'].

I'm not sure if there is some preprocessing that needs to be done before launching the launch file

There are also some errors reported at the beginning of the launch file run:
[spawn_entity.py-4]   warnings.warn(
[spawn_entity.py-4] [INFO] [1705917084.118742338] [spawn_entity]: Waiting for entity xml on robot_description
[spawn_entity.py-4] [INFO] [1705917084.129722341] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-4] [INFO] [1705917084.129964789] [spawn_entity]: Waiting for service /spawn_entity

I have solved it.
I had a problem installing the gazebo plugin earlier. You should install gazebo first, then gazebo-ros2-control, and finally gazebo-ros-pkgs. installing them in the order of the readme docs would have prevented the error!


Enable less restrictive policy for IAM user

what

Add new input variable iam_resources_override which can be set to something like ["*"] to override the module default resource
When iam_resources_override is not set, the existing module functionality is preserved.

why

We found the existing policy too restrictive and could not get it to work without modifying the code to
pass in at least the ARN of a registered email address, or more broadly ["*"] instead.

references
Enable less restrictive policy #19

I've got a similar issue. My domain variable is example.com, however, I am sending emails from<EMAIL_ADDRESS>and this is not currently possible?

@osterman @aknysh I think it might be better to address both #15 and #19 by making user creation optional.
@gibbsoft How would you feel about making user creation optional and then creating the user and policies you want using our other modules?

@gibbsoft we haven't heard from you and (as @Nuru suggested) we believe this is solved by making user creation optional which we just shipped as #33. You can down disable the user and create your own to manage the IAM policy as you see fit. Please feel free to get back to us here if you'd like to discuss further -- Thanks!


Added compute storage container create|delete

Allows creation and deletion of containers for the
configured storage account

Uff, azure-storage 0.30 as released on pypi is again incompatible with 0.20.3
I really dislike that $MS habit to not care for compatibility, guess that's a hard wired in the culture of a closed source company.
I'll adapt our code base and put the refactoring commit to this branch

Oh well the last commit changes many things. This needs intensive testing first, please do not merge yet

I have tested storage and servicemanagement operations, so far they are all functional
The update of azure storage from 0.20 to 0.30 offers many new blob operations. The update is required in order to support creation/deletion of containers which was the original intention of this
pull request.
However the update also fundamentally changes the way how data is uploaded. The sdk is now based on blocklists and methods like put_blob or put_page as we have used them are gone from the public interface. However they introduced 'create_blob_from_stream' which basically does all the stuff we had implemented ourselves with chunking and progress information. Therefore I make use of this method now and deleted our code.
I have done some test uploads which worked for me. I did not investigate if the optimization of zero pages as we had it is used by them too

@bear454 I'm going to merge the changes to unblock you with the storage account patches.
I have tested uploading and other azurectl calls and did not stumble over regressions
last famous words :smile:

Thanks, for following the bouncing ball of incompatible changes. All of this is certainly turning out to be a much bigger pain than we originally had in mind.
Going forward it would be great to see code changes that are necessary for new upstream SDK versions and new features implemented in separate pull requests. That will make review of the new features easier for others.

Thanks, for following the bouncing ball of incompatible changes. All of
this is certainly turning out to be a much bigger pain than we
originally had in mind.

right

Going forward it would be great to see code changes that are necessary
for new upstream SDK versions and new features implemented in separate
pull requests. That will make review of the new features easier for
others.

I agree and I would have done it if I just would have known how many
incompatible changes the storage api came up with. Unfortunately it
has turned into a big change on our side.
This is a learning process when working with $MS, I don't expect
any new version to be compatible with the former. Thus I suggest
to add a

check for SDK compatibility

task to any of our azurectl cards before we start adding new
features.
The problem with azurectl and the dependency to the $MS SDK will
become even bigger in the future. As you might know our entire
service management is based on what they call "legacy service management"
Their new initiative offers a complete new way of authentication
and the SDK for service management is a new code stream for
resource(token) based auth vs. key based auth. If you look into the
nodejs code you can already see that they doubled the implementation
depending on the authentication method.
At the time they switch off support for key based auth. we are
screwed and can start from scratch with azurectl and all its service
management based tasks
In summary I agree to what you have said, but it's not so easy, at
least I realize such problems almost any time when I just wanted to
add some new stuff with the expectation that an SDK should have a
stable ABI...


Portuguese month/day ordering bug

There is a bug with Portuguese dates where dateparser switches the month and day ordering. This regression occurred sometime between v0.6.0 and v0.7.0.
Example text is "segunda 10-02-2015 4:06am", which should parse to "2015-02-10" but currently parses to "2015-10-02".
I've created PR #438 to add a unit test that exposes this regression: https://github.com/scrapinghub/dateparser/pull/438/files#diff-36128d81467a740315c9e5f49860c291
Based on my git-bisect testing, it looks like 8c24e3a is the first commit to break this. Or, at least, the first commit where import dateparser works successfully and the test is broken.

The current master gives the correct month and day.
>>> dateparser.parse('segunda 10-02-2015 4:06am').strftime('%a %Y-%m-%d')
'Tue 2015-02-10'

I think this bug is fixed.
Can you please check? @ottumm

Hi @ottumm
I've trying to reproduce it with different versions (even master) and I always get the correct result (and the test you added in the PR passes).
I will close this issue. If your problem is not solved or there is something we missed please, don't hesitate to re-open this ticket.

Thanks @noviluni! I agree with the closure.


Google Cloud Functions: Could not authenticate request

I am using a node.js function on Google Cloud Functions to save Pub/Sub messages to GCS (Storage), but it randomly gives me the following error for some messages (most of the messages are succesfully written):
"Error: Could not authenticate request. Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information."
It doesn't make sense, once running on GCE would use same service-account for all messages, which has the proper permissions, and all messages comes from the same source and goes to the same destination. Can someone enlighten me on what could I do?
I'm using google-cloud/storage version 0.8.0.
/*Google Cloud Functions used in this project*/

/**
 * Triggered from a message on a Cloud Pub/Sub topic.
 *
 * @param {!Object} event The Cloud Functions event.
 * @param {!Function} The callback function.
 */

const bucketName = 'backup-queue-bucket';

const util = require('util')
const gcs = require('@google-cloud/storage')();
const crypto = require('crypto');

exports.backupQueue = function backupQueue(event, callback) {
    // The Cloud Pub/Sub Message object.
    const timestamp = event.timestamp;
    const resources = event.resource.split('/');
    const pubsubMessage = event.data;
    const messageContent = Buffer.from(pubsubMessage.data, 'base64').toString();

    // We're just going to log the message to prove that
    // it worked.
      var queueName = resources[resources.length-1];
    console.log(`Message received: ${messageContent} in queue ${queueName}`);

    const filename = timestamp+'_'+crypto.createHash('md5').update(messageContent).digest('hex');

    const bucket = gcs.bucket(bucketName);
    const file = bucket.file(queueName+'/'+filename);
    const fs = file.createWriteStream({});
    fs.on('finish', function () {
        console.log(`Message ${filename} successfully written to file.`);
    });
    fs.on('error', function (error) {
        console.warn(`Message ${filename} could not be written to file. Retry will be called. Error: ${error.message}`);
      	setTimeout(backupQueue(event, callback), 1000);
    });

    fs.write(Buffer.from(pubsubMessage.data, 'base64').toString());
    fs.end();

    callback();
};

Hi @leonardoam. Thanks for reporting.
At the moment, I am just acking your issue. I am not sure what to do (but giving it some background thought while I hope someone else speaks up).

Possibly related to #2139.

@leonardoam is there a way to find out which version of @google-cloud/common is being loaded? We sent through a fix recently that was released with<EMAIL_ADDRESS>which would hopefully resolve this.

Sorry @leonardoam, that was bad information. We didn't actually release the fix yet, but I am even more certain now that it will resolve this issue. This issue is another flavor of #1908, which reported this same error in Compute Engine environments.
I'm going to close and try to remember to ping you when we release an update (hopefully the coming days), and we'll re-investigate if it turns out not to be the fix. Sorry for the trouble.

@leonardoam Release party is happening now, so this should be good to go in a couple hours.

Thanks guys. What version will this fix affect?
Last ocurrence happened at 14:49 BRT, I will keep monitoring and let you know if this fixed the issue.

@leonardoam Should be fixed in the newest version, which for storage is 1.0.0.

What is the newest version? I'm seeing this error on "<EMAIL_ADDRESS>inside of a Google Cloud Functions routine.
Error: Could not authenticate request Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
at wrapError (/user_code/node_modules/@google-cloud/storage/node_modules/gcs-resumable-upload/index.js:24)
at (/user_code/node_modules/@google-cloud/storage/node_modules/gcs-resumable-upload/index.js:268)
at (/user_code/node_modules/@google-cloud/storage/node_modules/google-auto-auth/index.js:25)
at (/user_code/node_modules/@google-cloud/storage/node_modules/google-auto-auth/index.js:173)
at process._tickDomainCallback (next_tick.js:129)

it's not happening for every queue item, it's sporadic.

@Chandler same issue, it's happen sometimes. did you find solution??


Sinchronyzing the phases of two iqs

Hi,
We would like to lock two cavities with one red pitaya. We use one output of the redpitaya to send a 20 MHz modulation to an EOM that phase modulates the laser beam that goes through the two cavities and then lock the cavities with this modulation. The issue is that when we demodulate the two iqs have a different phase between them that changes every time we load pyrpl. Is their a way to synchronize the two phases or do we have to change the verilock code ?

Hi,
there is a new branch https://github.com/lneuhaus/pyrpl/tree/syncronize-iqs that fixes this feature-request. After setting the frequecies to 20 MHz, call from any iq-module iq
iq.synchronize_iqs() and the relative phase will be zero.

Cool! Did you do that overnight?

Yes :smile: but part of it was already there. Can you think of other modules that require synchronization?
Still to do:

add synchronization call at iq module setup
add synchronization button to gui
fix unit tests (locally there is no problem, but travis keeps on failing due to connection issues)
modify docs

Ill try to fix develop-093 asap so we can merge all these individual fixes together.

Ok it's working great. Now we're wondering if we should pull it to develop 0.9.3 or make our own branch ?
Regarding other possible improvements we're already thinking about the next step which would be synchronizing several iqs accross physically separated redpitayas (To lock 3 cavities using only one coherent excitation). For this to work, we will need:
1/ to synchronize the clock signals of the 2 boards (I heard that it is possible with some physical connections)
2/ The easy way to implement the synchronisation would be to transmit a trigger signal accross the boards (for instance via one of the digital IO of the boards). Hence, it would be nice if the iqs would have a "trigger input" that can be configured.
That's not ultra critical at the moment (we can use a tilt locking technique instead), but it's probably a quite general improvement that many people could benefit from).

I have simply pulled develop-0.9.3 into the synchronize-iqs branch in oder to keep debugging develop-0.9.3 as simple as possible. There was only a trivial conflict in modules.py. So I suggest you work with the synchronize-iqs branch for now and pull future changes from develop-0.9.3 into that branch.
There should be a synchronize-iqs-call at startup and a gui button as well now. My latest commit to synchronize-iqs contains a recompiled fpga bitfile with develop-0.9.3 and synchronize-iqs changes together, but it seems there was no bitfile difference. So I am rather confident that your local fix is identical with mine.
Once I will have had some time for fixing the develop-0.9.3 branch, I will merge everything together into the develop-0.9.3 and then the master branch.
To your new feature request: This is indeed an upgrade that many people want, me included. It requires a bit of time, which I do not have right now but hopefully soon. If you want to start working on this, you are most welcome.
For implementation, there are a number of possibilities:

https://redpitaya.readthedocs.io/en/latest/developerGuide/125-14/extADC.html explains how you can in principle replace the crystal oscillator by an external clock. To be supplemented by a trigger signal from the external DIO's.
https://www.koheron.com/blog/2016/11/29/red-pitaya-cluster.html which is simpler to implement, but might come with higher clock jitter on the ADC. Can be supplemented by a trigger channel on the STAT connectors.
Some custom bus implemented on the extension connectors DIO pins, which is similar to 2, but has more wires at the cost of more work to get it running. My favourite, maybe even together with 2).

The best would be to directly implement a maximum number of wires for Redpitaya interconnection, since one will sooner or later want to share digitized analog signals among different redpitayas at the highest possible rate.
Sooner or later, this will be implemented!

I think it is a good idea to use the synch register to also enable freezing the integrators (or even all gains) of the pid modules. That is, as long as the sync register bit for a PID module is set, either the I-, the P- or both gains are zero. This would allow to change the gains of multiple modules quasi-simultaneously. A longer-term upgrade would enable to set any set of registers in the same clock cycle, but that could be overkill w.r.t. the resourcecost-functionality-tradeoff.

all features discussed here are implemented in develop-0.9.3 now, with the exception of synchronizing iqs over different boards (see #357).

We don't see the synchronize_iq() function in develop0.9.3. Did you push your changes to origin ?

sorry, forgot to push. it should be online by now, along with a few other bugfixes/features.

Any objections if I delete the syncronize_iqs branch now?

No I would say it's fine

@lneuhaus @michaelcroquette @SamuelDeleglise this issue is particularly relevant to what I want to do as well. In short, I want to use iq demodulation for phase measurement with my RP board synchronized with 10 MHz reference clock from, say, a function generator. Could you make your exercise a little more instructional for me to follow how to do this?
I find https://redpitaya.readthedocs.io/en/latest/developerGuide/125-14/extADC.html not operational and so are many RP docs. It is difficult for me to decode how to use the iqs module as well. Please help.

What we have already done so far (by ascending order of difficulty):

synchronize several IQs on one redpitaya (there's even a function and button in the gui now)
replacing the 125 MHz clock of the board by an externally generated 125 MHz clock. This is used to synchronize several redpitayas together
In addition to the previous trick, which is used to sync the frequencies, use a digital trigger to also synchronize the phase of IQs on different redpitaya board

We have not yet tried to synchronize the boards with a 10 MHz reference (in fact our 125 MHz is generated thanks to some cheap evaluation board, such that it is not to constraining), all this will probably be documented in @michaelcroquette's thesis, stay tuned.

What we have already done so far (by ascending order of difficulty):

synchronize several IQs on one redpitaya (there's even a function and button in the gui now)
replacing the 125 MHz clock of the board by an externally generated 125 MHz clock. This is used to synchronize several redpitayas together
In addition to the previous trick, which is used to sync the frequencies, use a digital trigger to also synchronize the phase of IQs on different redpitaya board

We have not yet tried to synchronize the boards with a 10 MHz reference (in fact our 125 MHz is generated thanks to some cheap evaluation board, such that it is not to constraining), all this will probably be documented in @michaelcroquette's thesis, stay tuned.

@SamuelDeleglise thank you!

What is the GUI you're talking about? I'm using the one launched via pyrpl-windows.exe and I fail to see a function button. I see iq0, iq1, iq2, iq2_2 as the four IQs
Now, I'm trying to generate out1 (trigger immediately) via asg0 module. A sine wave 1kHz with amplitude 1, for example. I could see this output signal on the scopes module. I connected out1 to in1 on the RP using a bnc cable.
Observation 1: I notice the sine wave at the in1 from about -0.9 to +0.9 (not same as I generated from out1). Frequency matches.
Using iq0: with in1 as input, at frequency 1 kHz, bandwidth -18.97 to + 18.97, gain 10. I see a sine wave of frequency on an oscilloscope when I extract this signal to output_direct out2. The same output is delivered for output_signal of types 'quadrature', 'pfd', 'output_direct','quadrature_hf'. What really is happening here? I expect the iq module output to deliver a mixed double frequency. And how can I extract phase information from iq demodulation from here?

Thanks in advance. Please help!

I am talking about this one... I think the exe file is lagging far behind the current development.... Use the branch python3_only instead...

What we have already done so far (by ascending order of difficulty):

synchronize several IQs on one redpitaya (there's even a function and button in the gui now)
replacing the 125 MHz clock of the board by an externally generated 125 MHz clock. This is used to synchronize several redpitayas together
In addition to the previous trick, which is used to sync the frequencies, use a digital trigger to also synchronize the phase of IQs on different redpitaya board

We have not yet tried to synchronize the boards with a 10 MHz reference (in fact our 125 MHz is generated thanks to some cheap evaluation board, such that it is not to constraining), all this will probably be documented in @michaelcroquette's thesis, stay tuned.

@SamuelDeleglise thank you!

What is the GUI you're talking about? I'm using the one launched via pyrpl-windows.exe and I fail to see a function button. I see iq0, iq1, iq2, iq2_2 as the four IQs
Now, I'm trying to generate out1 (trigger immediately) via asg0 module. A sine wave 1kHz with amplitude 1, for example. I could see this output signal on the scopes module. I connected out1 to in1 on the RP using a bnc cable.
Observation 1: I notice the sine wave at the in1 from about -0.9 to +0.9 (not same as I generated from out1). Frequency matches.
OK, that might be due to imprecision in the analog electronics or attenuation in the cable, I am not too worried about that.

Using iq0: with in1 as input, at frequency 1 kHz, bandwidth -18.97 to + 18.97, gain 10. I see a sine wave of frequency on an oscilloscope when I extract this signal to output_direct out2. The same output is delivered for output_signal of types 'quadrature', 'pfd', 'output_direct','quadrature_hf'. What really is happening here? I expect the iq module output to deliver a mixed double frequency. And how can I extract phase information from iq demodulation from here?

There's a misunderstanding about how the IQ module works (and more generally all hardware modules featuring both "outpu_direct" and "output").... Here is the block diagram for the IQ module... "output_direct" is one output that can only be routed to the sumators of out1 and out2 (analog outputs of the redpitaya). "output" is the DSP output of the module, that can be sent to another module such as the scope or pid module for instance. The multiplexer where you get to choose what is routed to the output signal is only behind the "output" signal, not the "output_direct". Also, there's probably another misunderstanding when you are writing" bandwidth -18.97 to + 18.97, gain 10" a positive number in the bandwidth means a low pass filter, a negative number, a high pass filter. Two numbers!=0 mean that you are using a second order filter... In this case you are using a high pass and a low pass in series.... This is very weird.

Thanks in advance. Please help!

@SamuelDeleglise really appreciate your help here. I surely got some important info to begin with.

Finally, if you look closely the block diagram below, what you would like to set to non-zero is probably not the "gain" register but rather the "quadrature_factor", with the multiplexer set to "quadrature" and low pass filters set to 18 Hz (or [18 HZ, 18 Hz] if you prefer second order low pass)....

Here is what I have tried:

Generated sine (1 kHz) using asg0, with output_direct = out1, I'd connect out1 to in1 via a BNC cable
iq0 module with input as in1.
Frequency of iq set at 1 kHz, LP filter bandwidth ([2429, 2429] Hz) to monitor the mixed frequencies (2 kHz) output. I'm not sure how to set the quadrature_factor. I'm testing around with 1 to 10.
setting output_signal = quadrature and output_direct = out2, I'm monitoring the out2 on a digital oscilloscope. Is this a right thing to do?
Observation: I do not see a 2 kHz response on the DSO even if I increase the bandwidth above 2 kHz. I only see a 1 kHz sine wave (scope snippet attached). Bandwidth below 100 Hz would still have the 1 kHz. Why is that?
I ultimately would like to compare the phase between my signals. How do I interpret output='pfd' response?

Then you should inspect the signal with the internal scope of pyrpl (set input1 to iq0 for instance)... If you really want to have the signal outputed in the analog domain, use a pid module, where you set input to iq0, p gain to 1, i=0, setpoint=0 and output_direct to out1.

What does input=iq0 mean here? In future, I would like to perform iq demodulation on a signal that is input through in1 (ADC1). Doesn't output_direct = out2 in the iq0 module output the signal to out2 in analog? How is pid helping here?

This was a short debugging to help you get started, but at some point you will have to read the doc I am afraid ;-)

Could you please point me to the docs you're referring to. I'm following https://pyrpl.readthedocs.io/en/latest/gui.html but I couldn't find the necessary implementation details. I'm sorry for elaborate questionnaire but this would set me up with using the RP properly. Thank you so much!

I think the main thing you are missing is the basic architecture of DSP modules and the distinction between their "output" and their "output_direct". The relevant section of the doc is
Here ...
Please, look carefully at the IQ module block diagram that I posted in this thread: there is no way to send directly the demodulated quadrature directly to an analog output because the module is not wired this way... On the other hand you can sent the demodulated quadrature to "output" THIS IS A DIFFERENT THING !
The output of a module is a digital signal living inside the FPGA that you can monitor via the internal scope or connect to another module. Don't you have the possibility to set p.rp.scope.input1 = iq0 ? This would connect the "output" (not output_direct beware) of iq0 to the input1 of the scope

I think the main thing you are missing is the basic architecture of DSP modules and the distinction between their "output" and their "output_direct". The relevant section of the doc is Here ...
Please, look carefully at the IQ module block diagram that I posted in this thread: there is no way to send directly the demodulated quadrature directly to an analog output because the module is not wired this way... On the other hand you can sent the demodulated quadrature to "output" THIS IS A DIFFERENT THING ! The output of a module is a digital signal living inside the FPGA that you can monitor via the internal scope or connect to another module. Don't you have the possibility to set p.rp.scope.input1 = iq0 ? This would connect the "output" (not output_direct beware) of iq0 to the input1 of the scope

Thank you very much @SamuelDeleglise! I believe I'm now a bit clear on how to use Pyrprl iq demodulation. Ultimately, I aim to measure phase difference between RP reference and in1 signals. Using appropriate filter bandwidth, I'm able to eliminate high-frequency component to see a LP-filtered quadrature signal at output that is sensitive to the in1 phase variation.
How do I interpret the phase information from iq0 output data? How do I use this iq demodulation module and build upon to compute atan(Q/I)?
If this is not a relevant query here, I would be happy to seek your suggestions in a different issue.

I made a discussion to conclude on our work on the subject, see #519.


vendor folder missing

Downloaded the zipped folder from here and tried to run it and it can't find the autoload.php file in the vendor folder. There's no vendor folder.

You have to run composer install within the folder to complete setup.


infer: remove record_pat_field_resolutions field

Same as https://github.com/rust-analyzer/rust-analyzer/pull/8376, this
can be computed from other data
bors r+

changelog internal


Pricing for "Unknown" Runtime Activites (meta data activities like Wait, Set Variable, If Condition)

I have just created a comment for the Wait Activity(https://github.com/MicrosoftDocs/azure-docs/issues/29818)
Can you provide a cost sample of a manual polling solution developed as an Data Factory Pipeline.
It does a pooling by checking every 5 minutes in an SQL Table if data is available.
If not it waits for a configurable duration via a Until Loop - das a lookup activity again, then waits again until da loop count for the look is reached when it raises an error of the data is found..
Its something like Set Variable , Unitl Loop (set counter 1, set counter 2 (because you cannot increase a conter with one Set Varaible), then a lookup and then an IF condition).
Also as improvement there cound be a manual raiseError activity - currently I force it by SQL Code.
What would such a pipeline cost if it does a Unitl loop fo rexample 20 times - waits for 5 minutes each time - and the only real operation is a lookup activity which would take about 20miliseconds in SQL?

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

ID: c7d3f74a-37a1-3f1f-20c5-ee762bf785ea
Version Independent ID: 324dcf4e-90f8-b75e-2ff1-93f46d2bbd48
Content: Understanding Azure Data Factory pricing through examples
Content Source: articles/data-factory/pricing-concepts.md
Service: data-factory
GitHub Login: @SHLo
Microsoft Alias: shlo

Thank you for your question @hmayer1980.  I realize pricing can be confusing.  We will review the document and get back to you.

You make a good point, @hmayer1980 , for an additional example to document. Unfortunately, I am not authorized to speak on billing matters.  I could escalate this to the document team, but this wouldn't get you an answer specific to your case.  Prices can vary depending upon location or Agreement.  For assistance from a billing expert, please raise a billing support ticket.
You can find more information at the billing calculator, or a free billing support ticket

@sharonlo101  , @craigg-msft  Could you provide some guidance, please?
The referenced issue #29818  greatly clarifies the ask:
How do non-write activities which affect pipeline run time affect costs? (Wait, Until, Validate)
I chose to use this issue instead of #29818 because this is linked to the appropriate doc.  Updating the activity-specific pages would de-centralize the pricing information.

I see that both the tickets have been marked as closed and no answer has been provided. Can someone please at least provide the answer on the pricing for Wait, Until activity.

Any update on this?

Any Update of this?
I have a whole lot of "Activities" running in the "Unknown" Runtime - also if I self Implement "Azure Function Activities" for Durable Functions. (https://docs.microsoft.com/en-us/azure/data-factory/control-flow-azure-function-activity)
For Example a "Durable Function Pipeline" - and this is just a fast one (Web Activity can be up to an hour).

or just a manual wait for time of Day (it sucks that the Wait Activity cannot have a dynmic duration!)...
this pipeline uses only wait for 150 seconds and loops over it until the time of day is reached...
Waiting for X Minutes to 5 Hours... What would that Cost I do like to understand!

Excuse me, @kromerm  , could you please help get some traction on this issue?

@djpmsft
@hmayer1980
For the wait activity, the cost is a flat 1$/1000 activity runs.  A 10 minute wait would have the same cost as a 10 hour wait.


[pattgen,doc] Pattgen IP Specification

This is the first PR related to getting Pattgen out of Bronze and into master.
Development of the Pattgen IP has been proceeding under the Bronze Branch (all work by @tunghoang290780, one-pager author).  This work in bronze includes an initial
RTL skeleton, a skeleton of the markdown documentation (testplan, checklist, etc), and all the hsjon.
From here on out, @tunghoang290780 will be responsible for DV for this IP, and I (@martin-lueker) will be taking on RTL development.
The first step has been to take all of @tunghoang290780's work and cherry-pick it onto master. This process has been completed and can be found in a master-based branch
This master-based branch has a mix of RTL, documentation, and some DV related changes.  So from this branch we've extracted just the documentation (a joint effort by @tunghoang290780 and @martin-lueker) for this initial PR.  As the time of this submission, it is confirmed that these PR contents are enough to render the documentation, using util/build_docs.py
RTL and DV skeletons will follow in a subsequent PR.
Signed-off-by: Martin Lueker-Boden<EMAIL_ADDRESS>

Thanks @imphil for your review.  I've added your changes.  (and hopefully also identified all the white space issues)  Please let me know take a look.  I've included your github suggestions in 9867ef25d5ca310e1637e1b07525b09bb1bd3322
and added responses to your other questions in commit 83fd84107fad83abc40aab3823e2ac7b5ba93b2b.

@imphil @gkelly @tjaychen @martin-lueker are there additional comments for the specification document of pattgen IP? If this is mature enough for a merge then I would like to finalize and submit pattgen_testplan.md file

@imphil: As always, I really appreciate your feedback on this.  I think you are right, this is much improved with your input.   I think I've incorporated all your changes.  Would you mind taking another look?

Hi @imphil.
Thanks, for the approval, but more so for the edits.  I'll squash and comment it now.
As for the interrupts.  Yes, I was thinking the same thing.  Let me merge them in the implementation and I'll back edit the documentation in a follow-up PR.

Hi @imphil.   Squashed and Ready to merge.
All is good from my POV.

Thanks a lot @martin-lueker, merged!


GitHub pages

I've added a few links in the README and removed a duplicate file, you just have to enable GitHub Pages (under Settings > Pages) on the main branch (from its root) ;)

Merci pour les "fix"!


Wrong temperature type for H713B

Govee Device SKU
H713B
Govee2MQTT Version
2024.01.21-33e8cd7c
Describe the issue
The temperature is wrong (impérial vs celsius) for the H713B device :

Startup Diagnostics
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
GOVEE_API_KEY=REDACTED
GOVEE_MQTT_HOST=core-mosquitto
GOVEE_TEMPERATURE_SCALE=C
GOVEE_EMAIL=REDACTED
GOVEE_PASSWORD=REDACTED
GOVEE_MQTT_PASSWORD=REDACTED
GOVEE_MQTT_USER=addons
GOVEE_MQTT_PORT=1883
++ cd /app
++ exec /app/govee serve
[2024-01-24T09:16:30 INFO  govee::commands::serve] Starting service. version 2024.01.21-33e8cd7c
[2024-01-24T09:16:30 INFO  govee::commands::serve] Querying platform API for device list
[2024-01-24T09:16:31 INFO  govee::commands::serve] Querying undocumented API for device + room list
[2024-01-24T09:16:33 INFO  govee::service::iot] Connected to IoT: CONNACK code 0: Connection Accepted.
[2024-01-24T09:16:33 INFO  govee::commands::serve] Starting LAN discovery
[2024-01-24T09:16:33 INFO  govee::commands::serve] Waiting 10 seconds for LAN API discovery
[2024-01-24T09:16:33 INFO  govee::service::iot] IoT (re)connected with status CONNACK code 0: Connection Accepted.
Additional Logs
No response
Home Assistant Logs
No response
Anything else?
No response

Should be resolved in the latest version!

Yes perfect !


location of printer configuration files

Sorry to bother you, but I'm trying to move my RH configuration from one computer to another, and cannot find the file or files that contain the printer configurations.

What about the Mac Version of Repetier-Host?


Added unwrap flag

Since Nakama v.2.7.0 an unwrap query parameter is supported which allows to invoke RPC functions with raw JSON data in the payload.

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

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

Thank you for the contribution. The change you made was in generated code and would be overwritten the next time the API is generated. I wonder how the unwrap option is applied in other Nakama clients. @novabyte ?

@britzl We don't really bother to use the unwrap=1 option in RPCs because the client SDKs can all handle the implicit escaped JSON necessary to send the data to the server (due to the constraints of Protobuf). If we do decide to expose the unwrap version of the RPC method it will probably be lifted to the client object type in the various SDKs and its implementation will not expect to be generated by the codegen tool. Hope this all makes sense.

Thanks @novabyte . So you are saying that it doesn't make sense to add it to the API and instead let the client deal with it. @alexandrecurtelin does this make sense to you?

@britzl My suggestion is to add a method directly to the nakama.lua module with the special overload for the version of RPC which uses unwrap rather than attempt to handle it within the codegen tool.


add white-space property to button component

This makes sure our buttons only contain single-line text, which is recommended from a design standpoint.

Mh, what is happening when there is more text than what fits into the button, but the button cannot grow in width?

Mh, what is happening when there is more text than what fits into the button, but the button cannot grow in width?

This would most likely indicate that either the copy (e.g. cta text is too long, translations were not taken into account) or the design need to be fixed. I guess we could always implement this as a prop to cover edge cases, but I worry that we would then be enabling  an "anti-pattern". What do you think?
I forgot to mention I'm following [WMF indications] here.(https://github.com/wikimedia/wvui/blob/master/src/components/button/Button.vue) here.

The background to my question is that in HTML, text usually doesn't break line out of its own volition. Even if you copy and past text with line-breaks into HTML, it will usually still display as a single line if it has enough space to do so.
With white-space: nowrap; you are now adding a declaration that takes effect only in the circumstance that the text does not have enough space to be fully displayed in a single line. Instead of breaking the line it is now forced to overflow the container instead.
I can see the merit in following the WMF Design in principle. Unfortunately, neither their commit message nor their pull request explain why they consider that rule necessary and their comment above it only restates what the rule does and not why it is there.
I found this page helpful to understand how this property works: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

With that declaration, instead of breaking the line it is now forced to overflow the container instead.

I  don't think that the button text can really overflow its container, right?

The background to my question is that in HTML, text usually doesn't break line out of its own volition. Even if you copy and past text with line-breaks into HTML, it will usually still display as a single line if it has enough space to do so.

I believe that the purpose of using white-space: nowrap is to prevent the button text from wrapping unexpectedly under some circumstances (like when using flex). I truly though that this was a very common, recommended practice. Seeing it applied by the WMF and Material design. But of course, I'm being a bit monkey see monkey do here, and I'm unable to gasp all the consequences 🤔  So I appreciate the push back

With that declaration, instead of breaking the line it is now forced to overflow the container instead.

I don't think that the button text can really overflow its container, right?

You can make it overflow if you give it a max-width or such. But I agree that this might be a rather contrived scenario.

The background to my question is that in HTML, text usually doesn't break line out of its own volition. Even if you copy and past text with line-breaks into HTML, it will usually still display as a single line if it has enough space to do so.

I believe that the purpose of using white-space: nowrap is to prevent the button text from wrapping unexpectedly under some circumstances (like when using flex). I truly though that this was a very common, recommended practice. Seeing it applied by the WMF and Material design.

Mh, that is a good point. I looked around a bit and found somebody having the exact same issue in thoughtbot/bitters#281. The response points to a codepen that showcases the issue that you describe. It seems to occur when the button is paired in a non-wrapping flex-box with another element that also needs to break lines to fit into the available space.

But of course, I'm being a bit monkey see monkey do here, and I'm unable to gasp all the consequences thinking So I appreciate the push back

This is perfectly fine and true of everybody, we are all always learning. Myself explicitly included as this conversation shows. :relieved:


Incorrectly named register entries in 106x

Relevant file: src/blocks/imxrt1061/ccm.rs
Register CS1CDR, according to the documentation, has the following fields:

27–25: FLEXIO2_CLK_PODF
11–9: FLEXIO2_CLK_PRED

Our generated code, however, has the following fields in CS1CDR:

27-25: FLEXIO1_CLK_PODF
11-9: FLEXIO1_CLK_PRED

The actual registers that should be named FLEXIO1_CLK_PODF and FLEXIO1_CLK_PRED are also named so, meaning these names exists twice.
I guess this is an error in the svd.

This looks similar to #32. Does #33 address this?

I think so :)


Support for Youtube JSON.

I'm trying to use this for the Media.
https://feed2json.org/convert?url=https%3A%2F%2Fwww.youtube.com%2Ffeeds%2Fvideos.xml%3Fchannel_id=UCofs7madAM8iVlidQEzHmBg
Any Tips?

Hey @talmax1124, Is https://github.com/one-aalam/astro-ink/blob/main/src/pages/media.astro#L9 not working for you when the endpoint is replaced with above url?
It should ideally work. Depending on the shape of the data you might have to change https://github.com/one-aalam/astro-ink/blob/main/src/components/MediaPreview.astro a bit for your use case.

I tried doing it, I couldn't make it work. Could you give it a try if you can?

Hi @talmax1124, Astro-ink now supports Youtube JSON.
You can place your YT channel id here - https://github.com/one-aalam/astro-ink/blob/main/src/config.ts#L37 and Astro - Ink can pull in the feed and carry out the necessary transformation to render the results nicely.
Thank you for your patience.


Fix PySide imports in pysideluxcoredemo

I'm not sure how this went unnoticed for so long: the pysideluxcoredemo.py doesn't work.

Addresses a syntax error where tabs and spaces where mixed, which tripped the parser (introduced by #142).
Changes the imports back (to wildcards), as the new code imported the modules, but referred to classes without specifying which module to find them in (introduced by #140).
Cleaned up the import logic, so that PySide.QtGui isn't imported twice (introduced by #140).

I was only able to test the PySide2 version! Someone else will have to test for the original PySide / Qt4 imports.
I did notice two minor issues during testing (where the ball and the shell can sometimes misalign + toggling the shell is broken), but I'm assuming it's an independent / separate issue, that I'll report / fix later (in a separate PR).

Thanks.


SASL authentication failure: No worthy mechs found

Latest version 4.1.0 (do not tested any other version from 3.5.0) can cannot authenticate to server.
2024-02-08T16:42:00.441548+00:00 INFO    postfix/relay/smtp[364]: 36F1612: SASL authentication failed; cannot authenticate to server smtp.postmarkapp.com[<IP_ADDRESS>]: no mechanism available
2024-02-08T16:42:00.444745+00:00 WARNING postfix/relay/smtp[366]: warning: SASL authentication failure: No worthy mechs found

Regarding to Postfix documentation there is by default disabled "PLAIN" and "LOGIN" Auth methods. But server accept Cram and digest md5, so why postfix not use them?
Answer is this line: https://github.com/bokysan/docker-postfix/blob/5ea8c32ffa386c5b4673ad80393d032b98ba3fe4/scripts/common-run.sh#L404
Problem is, script will generate filter like smtp_sasl_mechanism_filter = digestmd5,ntlm,crammd5,plain,login,anonymous which is bad, that is Plugin name, not SASL Mechanism name.
As workaround for this I had to specify ENV POSTFIX_smtp_sasl_mechanism_filter="CRAM-MD5, DIGEST-MD5" and this is how it works
I hope it will help meanwhile someone if will be search over internet for better solution than 90% mentioned "just use PLAIN auth" or "just install package xyz"

No I don't.
This is thing I think everyone must decide their situation. Maybe best will be not specify at all and let postfix default. But this scenario I not tested. Even do not know if I can unset that variable from ENV vars
Basically if there will be replaced rhat grep from plugins to sasl mech, then it will fill all available sasl. But based on documentationc that can be achieved by using 'static:all' and if there is need to disable somec then use '!disabled-one'
Actually i did not check that oauth2 one,  ifnis spelled right.
Actually it works somehow in others because 'plain' is same for plugin name and for mechanism, but for example that crammd5 is different from cram-md5 tbus it not works.
Do not know how other solve that, if they simple goes thru postfix not-recommended way and enables less secure 'plain' auth, so it start work, because of plugin name and sasl mech are same name, thus allowed.
So I think this is more for discussion.
Problem is, many administrators goes just easier way than secure one.


[SPARK-17261][SQL] Fixed missing closing bracket spark/sql/DataFrameSuite.scala

What changes were proposed in this pull request?
Fixed missing closing bracket in branch-2.0 line:1704 of DataFrameSuite.scala which was found during ./dev/make-distribution.sh
/spark/sql/core/target/scala-2.11/test-classes...
/spark/sql/core/src/test/scala/org/apache/spark/sql/DataFrameSuite.scala:1704: Missing closing brace `}' assumed here
[error] }
[error] ^
[error] one error found
[error] Compile failed at Mar 11, 2017 2:36:12 PM [0.610s]
How was this patch tested?
Tested:
$SPARK_SRC/spark/sql/core/target/scala-2.11/test-classes...
Successful Build:
$SPARK_SRC/dev/make-distribution.sh --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pyarn

Can one of the admins verify this patch?

Can you close it please?

@elviento close this

it merges into branch-2.0 - added missing bracket in DataFrameSuite.scala line 1704.

@elviento this pull request is completely wrong. Close it

closed


Add expired time factor.

    def _format_nebula_command(self, name, meta_port, ports, debug_log=True):
        param_format = "--meta_server_addrs={} --port={} --ws_http_port={} --ws_h2_port={} --heartbeat_interval_secs=1"

Is this code still working? If it is, it seems we don't need to change it. Just unify all heartbeat_interval_secs in ci conf.

    def _format_nebula_command(self, name, meta_port, ports, debug_log=True):
        param_format = "--meta_server_addrs={} --port={} --ws_http_port={} --ws_h2_port={} --heartbeat_interval_secs=1"

Is this code still working? If it is, it seems we don't need to change it. Just unify all heartbeat_interval_secs in ci conf.

We need to expire based on heartbeat time.

what is expired_time_factor mean? will using heartbeat_interval_secs * expired_time_factor to determine timeout ?

Yes.

heartbeat_interval_secs

The ci fail, probably because meta/storage heartbeat_interval_secs is not unified.

--heartbeat_interval_secs=1

The ci fail, probably because meta/storage heartbeat_interval_secs is not unified.
heartbeat_interval_secs * 2has been used quite a looooog time, since 1.0.

The heartbeat config in ic is same for meta/storage.
I see the origin expired value in meta

DEFINE_int32(expired_threshold_sec, 10 * 60,
             "Hosts will be expired in this time if no heartbeat received");

I think it's 600s now it's heartbeat*2 (2s in ci in fact).

what is expired_time_factor mean? will using heartbeat_interval_secs * expired_time_factor to determine timeout ?

Yes.

What is the benefit for this ？

what is expired_time_factor mean? will using heartbeat_interval_secs * expired_time_factor to determine timeout ?

Yes.

What is the benefit for this ？

Could fit the environment (e.g. If running on slow environment the user could set a big expired_time_factor to avoid mistake)

expired_threshold_sec

The root cause is heartbeat_interval_secs in meta is 1s, and storage's heartbeat_interval_secs is not 1s. And that will make hosts lost.


DEX-292 Add in_alpha=True to users created in POST /api/v1/users/

After creating users in frontend using POST /api/v1/users/, it was not
possible to login using the email and password.  The reason is because
in POST /api/v1/auth/sessions does not allow logins unless user is
in_alpha, in_beta, is_staff or is_admin.

works for me!

We decided to remove this line https://github.com/WildMeOrg/houston/blob/a603fc4abdfa6c30dc0a9223afae3bed3b7c1057/app/modules/auth/resources.py#L62 in today's Houston Discord

/rebase


docs: cleanup

Summary
Big cleanup of the docs.

Removed ancient and irredeemably incorrect docs. A big part of this diff is removing old example workflows - we have the workflow library now.
Redeemed some redeemable docs.
Updated theme, added logo.
Bumped docs deps.
Fanagled categories a bit.

Still needs a couple more rounds of cleanup, especially for contributing/dev docs. Getting there.
Related Issues / Discussions
n/a
QA Instructions
Can preview the docs with mkdocs serve.
Merge Plan
n/a
Checklist

[x] The PR has a short but descriptive title, suitable for a changelog
[ ] Tests added / updated (if applicable)
[x] Documentation added / updated (if applicable)

Massive. Thanks for tackling this


Export ambiguous reads instead of collapsing them

Currently, the tool doesn't properly handle ambiguous reads. We should report ambiguous allele-level reads and return those, instead of returning incorrect collapses. The Python tool can then filter on them with Numpy.

Closed by #28


App starts in the background when using  "swift bundler run" or VSCode LLDB debugger [Solved with hack]

Problem
When using "swift bundler run" or running the App using VSCode LLDB Debugger, the app starts in the background. This can be tedious when the app is restarted often to see changes. The same does not happen when apps are started using Finder or Xcode.
Solution (Hack)
Explicitly activate the app from within. Here is the SwiftUI code that does this.
import SwiftUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .task { await Activate() }
        }
    }

    // When starting the application using swift-bundler or debugging with LLDB in VSCode,
    // the application launches in the background unless we do this
    private func Activate() async {
        while !NSRunningApplication.current.activate() {
            try? await Task.sleep(for: .milliseconds(100))
        }
    }
}

This is not beautiful because we add unnecessary code into the released app. However, I could not find a way to activate the app from the outside since NSWorkspace.shared.openApplication() seems to do nothing on my M2 MacBook and NSRunningApplication would not attach to the app if it was started using Process.run().
Feel free to add this to the swift-bundler templates.

Thanks for bringing this to my attention! It hasn't bothered me for ages cause I'm using a tiling window manager (so the app is always fully visible when launched, and easy to focus with my mouse or keyboard), but I do recall it being annoying before I moved to a tiling window manager.
I've implemented a partial fix for this in commit 75b5795 (the current latest commit). It brings apps to the foreground after launching them. This doesn't fix the issue with CodeLLDB since that's not interacting with Swift Bundler.
In the case of CodeLLDB, your hack might be the best solution for now, unless it's easy to fix in CodeLLDB, in which case we could just fork CodeLLDB.

For anyone stumbling across this issue, here's a more backwards compatible version of the hack (.task is only available for macOS 12.0+),
import SwiftUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
+               .onAppear {
+                   Task {
+                       while !NSRunningApplication.current.activate() {
+                           try? await Task.sleep(nanoseconds: 100_000_000)
+                       }
+                   }
+               }
            }
        }
    }
}

Just as an additional thought on the topic. I came here, thinking that this was an Issue with Swift Bundler, until I noticed the same thing in a raw SwiftUi app (via swift run)... The terminal would simply keep focus and even clicking the app or selecting it from the Bar would not focus the app.
...until (by accident) I ran my app from the terminal without tmux. 😳
It seems that tmux does something strange that retains the focus when starting any UI stuff via swift run. This is where I am on a complete loss now.
Any ideas what could be going on here?
Are you using tmux as well or just a tiling window manager?
Cheers ✌
(btw. Thanks for Bundler. It helps a ton! 🙏)

For me the App starts in the background when started from the terminal. I do not use tmux. I am not sure what you mean by running a "raw SwiftUI app with swift run". As far as I know, that is not a proper macOS app so I do not expect it to behave properly.

(btw. Thanks for Bundler. It helps a ton! 🙏)

Glad that you're finding it useful!

...until (by accident) I ran my app from the terminal without tmux. 😳

That's strange, does it work without tmux for you? I don't use tmux, just yabai, but this has always been an issue even before yabai. The issue is that if you run an executable file in terminal, the terminal keeps focus in some weird way. As you've noticed, this isn't specific to Swift Bundler, but you wouldn't have known before Swift Bundler cause you'd never have made a SwiftUI app without Xcode.
This could be fixed by addressed Swift Bundler to run open YourApp.app instead, but then of course you don't get any stdout/logs! Not ideal.
Even if you manually run an app from terminal with .build/bundler/YourApp.app/Contents/MacOS/YourApp, the terminal keeps focus. I'd love to know what Xcode does to run apps. I might have to play around with fork and execve and see if that works any better than Process.


Add ->help to direct users to GitHub

->help should redirect users to https://github.com/TeamCernodile/DiscordStreamer where readme.md is located at so users can view the commands and usage.

I like this idea.

it shouldnt redirect but give a link to it. As the help command should be a in chat response of something along the lines of
if help [comand] -> send description for that command
if help -> send list of commands and a link to the https://github.com/TeamCernodile/DiscordStreamer/wiki

ontp of this i feel the wiki needs to be documented better with clear install instructions for windows, linix(ubuntu) on a pc, linix(ubuntu) on a server, raspbian, and osx
when you document something document it so that the user who knows nothing about programing can run it

@BrennanFlory Coming Soon, give it some time, it just started yesterday, and also I meant direct users to readme.md not redirect, my bad haha

i know its coming soon i just wanted to vocalize the fact that the documentation needs work

Alright. I will work on it in a few hours.

im willing to help out if yall want it

Planned update, coming in upcoming update. Not much left to do.


Feature: GHE Support

Hey, based on #135 and @rojer gh branch I tried to enhance the solution.
I think that it's way easier to split the Github API URI (needed for fetching user and org details from GH) and the Github Web URI (needed for the OAuth-Flow).
github.com still remains the default. I also modified the github html template.
Full disclosure: I am certainly no expert in Go (in fact, it's my first Go contribution).
Please have a look and let me know whether this fits the needs or not. In the meantime, I am going to test it.
Cheers,
Jan

This change is

by the way: I obviously reused the changes @rojer already implemented in the gh branch.

very nice, thank you!


resolve

Is it possible to resolve one URI in the context of another? Given base:
https://volvoforums.com

and reference:
forum/

return:
https://volvoforums.com/forum/

Examples:

https://www.rfc-editor.org/rfc/rfc3986#section-5.4
https://docs.rs/url/2.3.1/url/struct.Url.html#method.join
https://docs.rs/iri-string/latest/iri_string/types/struct.RiReferenceStr.html#method.resolve_against

ah, just found this:
- [ ] Reference resolution.

https://github.com/yescallop/fluent-uri-rs#roadmap

Yes, this is exactly on the roadmap. TBH I think reference resolution should be put before URI building on that list, because it would be more straightforward to design the resolution API.
That said, the resolution algorithm can be a bit of a pain to implement correctly due to some potential defect in it. I'll give it a try if I'm in the right mood, and any help with this is very welcome.


not working correctly in nunjucks tpl files after update

the extension not working correctly in nunjucks (templating language for JavaScript) tpl files (html language mode setup in VSCode) after update
Before update (v0.10.16)

After update (v1.0.14)

Thanks for the report, fixed in 1.0.15

Oh I just saw this also is about tpl. Could you provide more info about what that is?

still not working correctly
after update (v1.0.15)

I use HTML language mode for the tpl files.
VSCODE
Version 1.20.1
Commit f88bbf9137d24d36d968ea6b2911786bfe103002
Date 2018-02-13T15:34:36.336Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

Hi
Is there a reason not to use the Nunjucks extension? In HTML mode it indeed won't work

But it did work ;-)
I use HTML mode because I use html code inside tpl files and I think VSCode behaves better with this HTML mode turned on when writing html code
but overall this issue is not mandatory for me, I just wanted to point out that I noticed some difference in behaviour when I updated this extension ...
but if you decide it won´t work with the HTML mode, I´m ok with it ...

You can install v0.10.8 from https://github.com/CoenraadS/BracketPair/releases which still has the old behaviour. Thanks for pointing out the changes


Upgrade ciece to 0.4.0

Current coverage is 81.08%

Merging #15 into master will not affect coverage as of c5a57f1

@@            master     #15   diff @@
======================================
  Files            1       1
  Stmts           37      37
  Branches         0       0
  Methods          0       0
======================================
  Hit             30      30
  Partial          0       0
  Missed           7       7

Review entire Coverage Diff as of c5a57f1

Powered by Codecov. Updated on successful CI builds.


refactor the code to process each table individually

We identified new issues on unchanged lines of code. Navigate to the Amazon CodeGuru Reviewer console to view the recommendations to fix them.


Data grid UX issues

I understand that the examples should be as simple as possible but it really looks like you put absolutely no effort in the data grid example.

No margins
Over-extended first id column
Instead of making the grid fit in the available space, you just let it grow as much as needed. As a result, instead of just having scrollable grid body and both the top toolbar and the paging controls easily accessible, you force the user to scroll up or down when he needs to use buttons from the top toolbar or paging controls in the bottom toolbar.
The grid is not responsive.

We removed margins intentionally according to the template design.

Well, then you have inconsistent template design, because you have big margins and a lot of padding on the home page where you use cards and no margins in the data grid page.

You can use the content-block CSS class to add adaptive margins to any content element.

@nightskylark Cool. Why don't you do that in your template? It looks much better.
BTW, what's with the double border between bottom paging toolbar and the grid body? Is that intended?


molden: 5.7 -> 5.8.2

Motivation for this change
Update version
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build molden

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: molden
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Can you add yourself to https://github.com/NixOS/ofborg ?

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: molden
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: molden
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Yes! Thanks for the tip. I guess I have to add myself to the list of users and open a pull request?

yes.

I get an error when building this in Linux: https://gist.github.com/Mic92/262e6959fce375db5cd0407145545fc3

Looking at the makefile: it turns on the "extension target" on  if the detected OS is 'Ubuntu'.
I simply removed it. That feature, that it tries to register extension is new.

I can build it now on my machine as well.

Thanks for feedback!


Some libs doesn't have licenses at pom file

Some libs doesn't have licenses at pom file , but in github they has "Apache-2.0"
For example:
https://github.com/apache/commons-validator
aboutlibraries.json:
{
      "uniqueId": "commons-validator:commons-validator",
      "funding": [],
      "developers": [
        {
          "name": "Don Brown"
        },
        {
          "name": "Martin Cooper"
        },
        {
          "name": "David Graham"
        },
        {
          "name": "Ted Husted"
        },
        {
          "name": "Rob Leland"
        },
        {
          "name": "Craig McClanahan"
        },
        {
          "name": "James Mitchell"
        },
        {
          "name": "Niall Pemberton"
        },
        {
          "name": "James Turner"
        },
        {
          "name": "David Winterfeldt"
        },
        {
          "name": "Henri Yandell"
        },
        {
          "name": "Ben Speakmon"
        },
        {
          "name": "Nick Burch"
        },
        {
          "name": "SimoneTripodi"
        },
        {
          "name": "Benedikt Ritter"
        },
        {
          "name": "Gary Gregory"
        }
      ],
      "artifactVersion": "1.7",
      "description": "Apache Commons Validator provides the building blocks for both client side validation and server side data validation.\n    It may be used standalone or with a framework like Struts.",
      "scm": {
        "connection": "scm:git:https://gitbox.apache.org/repos/asf/commons-validator",
        "url": "https://gitbox.apache.org/repos/asf/commons-validator",
        "developerConnection": "scm:git:https://gitbox.apache.org/repos/asf/commons-validator"
      },
      "name": "Apache Commons Validator",
      "website": "http://commons.apache.org/proper/commons-validator/",
      "licenses": []
    },

The problem with this one is that it does not have the License as part of the pom.xml: https://repo1.maven.org/maven2/commons-validator/commons-validator/1.7/commons-validator-1.7.pom
But furthermore with the LICENSE fetching enabled via the GitHub API. The pom also misses the repo spec.
E.g. the pom does not link to the GitHub repository -> as such the plugin can not try to resolve the license.
Instead it links to gitbox.apache.org which is not supported for this feature.

Actually I just found. This is another case of a library which has multiple parents.
E.g. the above pom references:

https://repo1.maven.org/maven2/org/apache/commons/commons-parent/51/commons-parent-51.pom

Which then references:

https://repo1.maven.org/maven2/org/apache/apache/13/apache-13.pom

Which hosts the license.
Please update to v10.6.0-rc01 (or rc02)

The full release is solely pending on the final release of compose-jb - as such for all other pieces it's stable.

This was fixed as part of: https://github.com/mikepenz/AboutLibraries/pull/829
And reported here originally: https://github.com/mikepenz/AboutLibraries/issues/827

Fixed in the latest rc versions


Add the SAP Launchpad Service

Tutorials: https://developers.sap.com/tutorials/btp-app-launchpad-service.html
At STEP 10, the following command fails:

fiori add deploy-config cf

info Add:Deploy-config Using: @sap/fiori:deploy-config
info Add:Flp-config Using: @sap/fiori:flp-config
Fiori tools CLI.
Adding deploy-config to the project.
? Destination name cpapp-app-srv
node:events:371
throw er; // Unhandled 'error' event
^
TypeError: Cannot read property 'addRoutingModules' of undefined
at e.exports._updateMtaConfig (/usr/local/lib/node_modules/@sap/generator-fiori/generators/deployment-generator/cf/index.js:1:35532)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async e.exports._writeDeploymentConfigChanges (/usr/local/lib/node_modules/@sap/generator-fiori/generators/deployment-generator/cf/index.js:1:32089)
at async e.exports.writing (/usr/local/lib/node_modules/@sap/generator-fiori/generators/deployment-generator/cf/index.js:1:31846)
Emitted 'error' event on  instance at:
at Immediate. (/usr/local/lib/node_modules/@sap/generator-fiori/node_modules/yeoman-generator/lib/index.js:791:20)

Hey @mfadili, please check the mta.yaml indentation. I believe that when you've done step 7, you may have broken the indentation.

Hi @mfadili,
We haven't heard from you in a while, so we are closing the issue.
Best regards,
Iwona


make API visible on local network

If I invoke sam local start-api, I can't call the API from a different host on the same network - only from the host that started the API. Please provide an option that makes this possible.

Start ist with --host <your network address> or --host <IP_ADDRESS>

Oh wow that would have been easy to discover. Thanks for the quick reply.


OpenEXR build issue when already installed

Hi,
I have a machine with OpenEXR 1.X installed on it. I'm building OpenEXR 2.2 into a separate location.
At one point, it fails:
make[1]: Entering directory `/mount/users/hughmacdonald/development/builds/USD/dependencies/src/openexr/OpenEXR/IlmImfUtil'
/bin/bash ../libtool  --tag=CXX   --mode=link g++ -pipe -g -O2 -L/mount/users/hughmacdonald/development/builds/USD/dependencies/install/IlmBase/lib  -L/usr/local/lib -version-info 22:0:0 -no-undefined -release 2_2  -o libIlmImfUtil.la -rpath /mount/users/hughmacdonald/development/builds/USD/dependencies/install/OpenEXR/lib ImfImageChannel.lo ImfFlatImageChannel.lo ImfDeepImageChannel.lo ImfSampleCountChannel.lo ImfImageLevel.lo ImfFlatImageLevel.lo ImfDeepImageLevel.lo ImfImage.lo ImfFlatImage.lo ImfDeepImage.lo ImfImageIO.lo ImfFlatImageIO.lo ImfDeepImageIO.lo ImfImageDataWindow.lo -L../IlmImf -lImath -lHalf -lIex -lIlmThread -lpthread -lIlmImf
libtool: link: `/usr/local/lib/libIlmImf.la' is not a valid libtool archive
make[1]: *** [libIlmImfUtil.la] Error 1

this is because -L/usr/local/lib is on the command-line before -L../IlmImf,so it's finding the central install of libIlmImf.la from 1.X.
Moving -L../IlmImf to just before -L/usr/local/lib fixes the issue, and the rest of the build goes through fine.
Thanks

Looking into the backlog of open OpenEXR issues.  This seems to have been resolved with the improvements to cmake.  Closing the issue for now, feel free to re-open or file a new issue if you need further help.


VnV Plan Ready for Review Morteza (Secondary Reviewer)

Hello Morteza,
Here is my VnV Plan with all SRS related test cases. I appreciate your feedback.
I will assign this issue to you later when you accept the invitation.
Thanks,
Phil

Hi Phil,
I enjoyed your VnV Plan. Here are my reviews:
#26, #27, #28, #29, #30
Thanks,
Morteza


Flaml/Automl - How do I pass a huge lightgbm input '.bin' file directly to lightgbm for training via flaml/automl?

Is there a way to pass a huge lightgbm input '.bin' file directly to lightgbm for training via flaml/automl?
The lightgbm c, cli allow me to specify directly the input file (like .bin or .csv) to use for training, it is optimize for memory.
In python it requires lgb,Dataset(data='foo.bin') as far as I know
How do I do this with flaml/automl?
import lightgbm as lgb

# Set up the parameters
params = {
    'objective': 'multiclass',
    'num_classes': num_classes,
    # Add other parameters as needed
}

# Train the model with the .bin file
model = lgb.train(params, lgb.Dataset(data='path_to_file.bin'), num_boost_round=num_rounds)

Thanks for your help
w

This example is most close to what you need: https://github.com/microsoft/FLAML/blob/main/test/tune_example.py
Please let me know if your problem can be solved by modifying that script.


Is this repository being maintained?

It appears as though there is no one actively maintaining this library/repository. There have been no new commits in almost 2 months, as well as no responses from any of the maintainers on issues/PRs from about the same time.
I emailed @MrRio late August asking the same question regarding timeline of the next release and have gotten no reply since.
This is very concerning to me considering how many people use this library. There are a large amount of us waiting for the next release to resolve a lot the issues plaguing the latest version (namely #2208 ) as well as support if/when people find bugs with the current version.

Since this is MIT licensed, perhaps it can be forked into a new repo so things can get updated/resolved?

@awdorrin - in a way, I would argue that we have been doing exactly this: here is our maintained fork of jspdf.
See my comment here for more background information.

I guess the answer to the question is: At the time of writing, maintenance was picked up again. Thanks to @HackbrettXXX


Bring back filters with new API call

This PR is based on: https://github.com/endlessm/kolibri-explore-plugin/pull/286
This patch bring back filters (currently just the media type one) using
the kolibri.getContentByFilter new API.
https://phabricator.endlessm.com/T32509
This patch uses the new API option implemented here: https://github.com/endlessm/kolibri/pull/6

I see that this is because you are missing this in the CustomContentRenderer.vue file:

this.hashi.on(events.CHANNELFILTEROPTIONSREQUESTED, message => {
  this.sendChannelFilterOptions.call(this, message);
});

Good catch! I had that change on my local clone, but I didn't added to the commit correctly. Now I've fixed the other branch and it should work.


Update LICENSE to match part of bin.LICENSE

LICENSE: Update slightly so that any text in common between LICENSE
and build/bin.LICENSE matches exactly in both files.
Additional work for #97 (RC2 Updates)

I've just forked the repository so I won't push to the main repository by mistake again.  I'll delete my branch after the PR's merged.

Still need someone to give this PR a second +1.

+1


Debug console shows even if externalConsole is true in 0.10.10

In my launch.json of my node.js project, I have "externalConsole": true and so it correctly opens in a new command window.  But in 0.10.10 now the embedded debug console also opens, with nothing output to it.  The expected behavior is that it shouldn't be shown at all.

@codyrigney92 the internal debug console is not only a console but a REPL too. This does not change if you enable the external console: the internal console is still used as the REPL. So having it open still makes sense.
But I agree, that there are situations where you do not want to see the internal debug console at all.
(BTW, this behavior hasn't changed in 0.10.10, it was always like that.)
@isidorn maybe we should consider to introduce a setting for this.

@weinand I see.  Makes sense.  Yes I think a setting for that would be useful.

@weinand I would introduce a setting if more users ask for it

how about making it consistent with task's "showOutput" setting? "always"/"never"/"silent" but "DEBUG"/"REPL"/"ALL"/"NONE" for "externalConsole"? IDK how backward compatible it would be however. Depends on weather "externalConsole" expects strictly Boolean or just !=false. But anyway I find it also annoyng that if I'm asking for external console I still get internal also.

Not sure about that, I am more leaning towards making it a user / workspace setting, and not a part of launch.json. VSCode does not interpreet the values in launch.json they are always passed to the debugger which lives outisde of vscode, and hiding the console is very vscode specific behavior.

anyway I think I speak for everyone who sets "externalConsole" to true that unless there is something to output the internal console should remain hidden. Because (externalConsole===true) == (internalConsole===false).
I use externalConsole to maximize my editing area. It's also one of the most defining features of VSC - the interface isn't littered with all sorts of palettes, miniwindows, panels, popus, dialogs and such like in the major IDE's - only the essentials. So when an empty console view pops up when I explicitly said I want an external one - I kinda get the feeling I'm again using eclipse or MVS.
So maybe before (if at all) a new setting is added we can get a hotfix for internal console appearing only after a line was actually output (in case of externalConsole===true)?

I like the points you are making. I will address this issue for our april release, that is I will look into it next week.

For april we changed a bit when we show the internal console, we only show it on the very first debug launch, not on every. So it is less spammy.
We would like to get feedback on that behavior and then in may we willin troduce a setting or try another heurstic, thus moving this to may

@isidorn That sounds like good behavior.  I'll be happy to provide feedback.

We have now introduced an option in the launch.json to control this behavior
internalConsoleOptions which can have the following three values 'neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart'

@isidorn Awesome thank you!

thnaks!
I assume it would still open with neverOpen if I init something session unrelated like a task?

Yes if you start a task that has output the output panel will get opened.
But the debug console in that case would never get automatically opened.


Update my previous functions

Documentation and indentation is fixed. My functions now follow the guidelines regarding function declaration, with the exception of helper methods that are not part of anything's prototype.

Also added myself to the Hall of Fame :)


Update EC and add RHEA    GO:0018637  1-hydroxy-2-naphthoate hydroxylase activity

GO:0018637  1-hydroxy-2-naphthoate hydroxylase activity corresponds to

[ ]  EC:<IP_ADDRESS> (exactMatch) and to
[ ] RHEA:31271 and RHEA:31571 (narrowMatch)
[ ] definition should also have NAD(P) / NAD(P)H
[ ] add references PMID:20727010 and PMID:21545490

Thanks, Pascale

It appears that there cannot be two RHEA dbxref to one GO term.

Yes, you can add it, you need to add an annotation to the dbxref and add skos=narrowMatch
This is described step-by-step here: https://wiki.geneontology.org/Guidelines_for_database_cross_references#Adding_database_cross-reference_types
Thanks, Pascale

Thanks.


Profile - Unable to upload .svg file as profile photo

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com
Go to Settings > Profile > Click on profile photo > Upload photo
Upload a svg file

Expected Result:
The svg file is uploaded successfully for profile photo
Actual Result:
The svg file fails to upload
Attachment error
An error occurred while selecting a corrupted attachment, please try another file
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:  1.3.63-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/b2819d54-9d0a-4f59-a157-18f0fc0c5504
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I can't upload a .SVG file via BrowserStack for Android native as that file type isn't supported in the emulator. @s77rt don't suppose you'd mind giving this a quick go to reproduce?
In the meantime, @lanitochka17 it might be helpful to include the specific SVG file you used in this issue for us to check as well. Thanks!

@trjExpensify I can reproduce. The image looks blank in the image picker.
https://github.com/Expensify/App/assets/16493223/103c9e0f-19ea-4a14-9772-f21d4a40f117

Thanks!

@s77rt if you want the C+ on it coz' you helped, here let me know!

I would assume the bug to be upstream. @fedirjh Can I take this one?

Done!

Waiting for proposals!

Not overdue. Still looking for proposals

No proposals, huh. Updated the bounty to $1000.

@rmm-fl Thanks for the proposal. Your RCA makes sense. The solution also makes sense but we would have to make "exceptions" for named issues 1 and 2, right? In that case can we make the conversion at an earlier phase i.e. while selecting the image (preferably to be done natively via react-native-image-picker).
Also, seeing that iOS does not show svg in the image selector, I think it would be acceptable to disallow svg selection on Android as well. Though it's not clear how to exclude svg mime type in intent type.

@rmm-fl Can you please raise a PR upstream (have the feature also available for videos). If the PR got accepted, we can probably go with that solution

@rmm-fl Thanks for the update! Let's go with the alternative solution.
For future proposals please do not post code diffs.
🎀 👀 🎀 C+ reviewed
Link to proposal

Sounds good. I'd love to follow up this with a new bounty for getting the change merged upstream.

The PR that introduced the bug has been identified: N/A. This bug is in the upstream repo (react-native-image-picker)
The offending PR has been commented on: N/A
A discussion in #expensify-bugs has been started: N/A
Determine if we should create a regression test for this bug: No

Ready for payment today

Sent @s77rt an offer. Once confirmed on the above, I'll settle up with you both!

@trjExpensify Accepted! Thanks!

Perfect, settled up with you both. Closing!


Impl partialeq for pylong

Thanks for the great work on PyO3!
This PR implements PartialEq for PyLong with u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128 and isize. See #4250
As this is my first contribution to the project, I welcome any feedback or suggestions.

I fixed the merge conflict and will proceed to merge, thanks again!


How to install custom packages?

Is it possible to add custom packages (as documented by OpenWrt here)?
I played around with this for a while, and wasn't able to figure out a way to accomplish this without patching astro/nix-openwrt-imagebuilder. Basically, the only thing passed to make image PACKAGES=... is the packages parameter to the builder, and it appears to be assumed that those packages are the ones available on https://downloads.openwrt.org/.
I'd like to be able to point at either a specific ipk file, or a full package repository.
Happy to send in a PR implementing this if we can agree upon an approach.

Ideally, we could just throw paths into packages but it doesn't work for me as-is:
       error: the string '/nix/store/76mxhprmm4hy537x6w9bgilhb56472fw-6rd_9-4_all.ipk' is not allowed to refer to a store path (such as '76mxhprmm4hy537x6w9bgilhb56472fw-6rd_9-4_all.ipk')

Ideally, we could just throw paths into packages but it doesn't work for me as-is:
       error: the string '/nix/store/76mxhprmm4hy537x6w9bgilhb56472fw-6rd_9-4_all.ipk' is not allowed to refer to a store path (such as '76mxhprmm4hy537x6w9bgilhb56472fw-6rd_9-4_all.ipk')

It won't work with packages, because packages is a list of package names (strings), like @jfly mentioned.
It could be implemented with a new attr, something like customPackages which will be a list of paths. And then the configurePhase would need to be modified to symlink ipk files from these paths into packages.
I was able to achieve it with the following override:
(openwrt-imagebuilder-lib.build config).overrideAttrs (final: previous: {
  passAsFile = (previous.passAsFile or [ ]) ++ [ "customPackages" ];
  customPackages = [ ... ];
  configurePhase = ''
    for pkg in $(cat $customPackagesPath); do
      for ipk in $pkg/*.ipk; do
        ln -s $ipk packages/$(stripHash $ipk)
      done
    done

    ${previous.configurePhase or ""}
  '';
})

It's not perfect, as it assumes customPackages is a list of folders, but it should be easy to make it work with both files and folders.
Also: the dependencies for these custom packages have to be provided manually in packages.

@pedorich-n, I'm not totally understanding the code you shared. Don't you need to somehow invoke openwrt's underlying makefile with additional strings specified in the PACKAGES argument (as I've done here: https://github.com/jfly/nix-openwrt-imagebuilder/commit/53f1a8a1287ec024eb2aa1325b38ab60e701b02d#diff-cd5a1dc9ff54d6ea98c183cce514f03e0582473dfe2f71811709c6fa30728b40R111)?

@pedorich-n, I'm not totally understanding the code you shared. Don't you need to somehow invoke openwrt's underlying makefile with additional strings specified in the PACKAGES argument (as I've done here: jfly@53f1a8a#diff-cd5a1dc9ff54d6ea98c183cce514f03e0582473dfe2f71811709c6fa30728b40R111)?

You are correct. Adding anipk to the packages just makes it available to the builder. I must've installed the package manually and forgot about it, thinking the builder added it 🤦♂

@pedorich-n thanks for your recent changes! It looks like I can finally drop my awful fork to accomplish this =)

It's not ideal, you'll have to redefine the env variables like profile, disabled services, and packages, but at least you can do it now without a fork, with just an overrideAttrs.

Could we document these new capabilities with an example?

With my limited NixOS knowledge i've seem to get it working like this:
let
        profiles = openwrt-imagebuilder.lib.profiles { inherit pkgs; };

        unregulatoryIPK = builtins.fetchurl {
            url = "https://orca.pet/unregulatory/openwrt/wireless-regdb_9999.0002_all.ipk";
            sha256 = "1gfqgyd6vjdind4pl601gw3w4dqalz2s2c7p63aw51s4smvvlz5v";
        };
        unregulatoryPUB = builtins.fetchurl {
          url = "https://orca.pet/unregulatory/unregulatory.pub";
          sha256 = "0iy63flj51kdwb89fcql9v48890gzq41z7l9848j2wmycg0whwpn";
        };

        config = profiles.identifyProfile "ubnt_unifiac-mesh" // {

          packages = [
            "zabbix-agentd" "zabbix-extra-network" "zabbix-extra-mac80211" "zabbix-extra-wifi" "coreutils-who"
            "watchcat" "luci-app-watchcat" "iperf3" "nano"
            "usteer" "luci-app-usteer"
            "-wpad-basic-mbedtls" "wpad-mbedtls" "hostapd-utils"
            "luci" "luci-i18n-base-nl" "luci-mod-dashboard"
            "-firewall4 -luci-app-firewall"
            "ttyd" "luci-app-ttyd"
          ];
          release = vars.openwrt.release;
          target = "ath79";
          variant = "generic";
          profile = "ubnt_unifiac-mesh";
          EXTRA_IMAGE_NAME = "ap-buiten";
          disabledServices = [ "dnsmasq" "firewall" "odhcpd" ];

          files = pkgs.runCommand "image-files" { } ''
            mkdir -p $out/root
            cp ${unregulatoryIPK} $out/root
            cp ${unregulatoryPUB} $out/root

            mkdir -p $out/etc/uci-defaults
            cat > $out/etc/uci-defaults/99-orca <<EOF
            echo "src/gz unregulatory https://orca.pet/unregulatory/openwrt" >> /etc/opkg/customfeeds.conf
            opkg-key add /root/unregulatory.pub && rm /root/unregulatory.pub
            opkg install /root/wireless-regdb_9999.0002_all.ipk && rm /root/wireless-regdb_9999.0002_all.ipk
EOF


find_**() fails with too many database entries

If no args are provided to find routines and there are too many documents(not sure exactly how many since we populated the db to some 600 million events and 110K headers before I did this test), daemon raises an exception: Too many arguments to sort.

can you reproduce this in the mongo shell?

I can but the machine does not respond at this very moment. Need to figure out what's going on with the xf23id1-ioc2 first.

csx is down all morning for networking upgrades

@arkilic has this issue been resolved?

or @tacaswell

This is resolved as everything now indexes on time.


Adding the getEmail method

@neel24 Sorry, I've only just seen this PR. But I'm unsure if this will work, as do Dribbble allow Email Address through their API? Can you point me in the direction of this in their docs.


0.7 staging

KYLIN-797 Cuboid cache will cache massive invalid cuboid if existed many cubes which already be deleted

ref: https://issues.apache.org/jira/browse/KYLIN-797

Hi Yui2010, could you please generate patch and attached to that JIRA for merge?
Thanks.


Delete not used file ScriptContext.inl

Delete not used file ScriptContext.inl

Hi @leirocks, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Lei Shi). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

:+1:

:+1:


Added a splash screen on start-up

Description
This pull request implements a splash screen that is shown whilst the game is loading its modules on start-up.
Testing

Start the game
There should be a background shown with the text "Loading, please wait..." faintly pulsating in transparency whilst the game loads on start-up, It should disappear once the game has loaded and should then show the main menu screen instead.

Notes

The modules are initialised in another thread, although no synchronisation statements are in place. I would not assume this to be a problem though, as the spawned thread only writes to variables that the main thread reads from.
The loading screen is split into two parts: the background and the load message. As the load message is subtly changed in transparency (as a way of telling the user that the program is working, not frozen and not crashed), it is split into a separate texture. If a static splash-screen is desired, then the two textures can be re-combined and the SplashScreen class modified accordingly.
The load message must be a static texture, as the font it requires is loaded separately through the Assets class, which is initialised whilst the screen is being shown.
I also added some more verbose logging when loading assets, although this can be reverted if needed. The increased verbosity could help to identify asset loading issues more clearly.

Hooray Jenkins reported success with all tests good!

This has been replaced by #363.


Issue / Bug tracking on Vocol?

To add another way for Non-IT users to provide the ontology development with valuable feedback, having some kind of issue tracking system in place could be helpful.
One way to add it would be simply to base it on GitHub Issues, but then VoCol becomes more and more dependent on it.

We will see the possibilities to integrate the issues from GitHub, in a convenient and read-only form which provides easy access to the users. But a complete integration for now it is not feasible.
The Issue Management is left on the Repository Hosting Platforms.

From my point of view it would be enough to have a list of all issues with a link to the respective issue on github/gitlab. Managing issues in Vocol is not necessary.

Yes, I think so too, but maybe not just as another Tab with an external link, because they are getting too many. Maybe we should get in touch with Rohan to have a nice Design :)


loaders, deserializers: implement symmetry between request and response

Changes

Remove the create_request_parser, it was basically a default parser with no fields to parse and no preprocessors... The call to it was basically returning {} and no value of it was used (obviously, since it does not provide anything)... In short: sort of useless...

Terminology

Loader: A loader is now in charge of loading the request meaning, putting everything related to a request (argument parsing, data deserializing, etc.) into a representation that is understand by the application.
Deserializer (NEW!): Following the same approach than for serializing, we create the deserializers.

Example

Response = Loader
Serializer = Deserializer

Open Questions

The current distinction of when the loader expects a body and when it does not is a bit unclear. Some abstractions might be needed there. For example the item read (GET@ItemView) or the item removal (DELETE@ItemView).  See data flag in the load_item_request. Example: We might want to send a body on a DELETE for tombstone pages, but someone else might not want to.

Closes https://github.com/inveniosoftware/flask-resources/issues/29
Opens https://github.com/inveniosoftware/invenio-resources/issues/9
Closes https://github.com/inveniosoftware/flask-resources/issues/32

As discussed IRL with @lnielsen , to be able to wrap up this module today and actually start implementing on it (and in consequence modifying it from real-life usage experience). I'm merging this, but I opened an issue for each one of the discussion points. And passed the context to them.


table is compressed

I use the bootstap Tab component and in the first call of the site i get what is shown in the thumbnail below.
When i reload the page the table works fine.

If rendered in invisible area grid cannot calculate sizes correctly, and the refresh is required.
Refresh the grid on tab opening:
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  $("#jsGrid").jsGrid("refresh");
});

If the tab is opened by default, just trigger event on ready:
$('a[data-toggle="tab"]:first').trigger("shown.bs.tab");

Thanks this are working fine. :-D

You are welcome!

thanks tabalinas , you are so great. Also thanks Julian-B90 to write your problem. I ran into the same issue.
thank you two.


Can't double down on second hand after split

If you split your cards and double down on the first half of the split, doubling down won't be an option on the second half of the split.

Code behaves as expected, the issue during the second hand was a lack of cash.

Code behaves as expected, the issue during the second hand was a lack of cash.


Feature Request: Support over DTLS and/or TLS

Without these communication protocols as part of RFC 5953, I am forced to use the less user-friendly net-snmp when I could be using your more human-readable API!

SNMP over DTLS or TLS is not widely adopted not only in PySNMP but many SNMP libraries in this field. Not a surprise.


Potential improvements

Potentially closes #4.
Potentially closes #5.

@paulo-ferraz-oliveira I think this an excellent set of contributions and are indeed improvements! ❤ Please squash the commits to signal this is ready to be merged.

"Please squash the commits to signal this is ready to be merged." I'll do it, if this is not a joke :-) Is this a joke?

Thanks, my man. We're issue-free 😄 (now let them come)
Oh, I don't think I've stated it, but this is OTP 24 ready, also, up until the master code from a week ago.


list all types available in scope

types are lazy loaded at compile time and are not visable during the repl session.  These types would need to be loaded similar to how we load functions.

Fixed in #53


Remove unused import of 'iframeResize'

Description
Remove unused import of 'iframeResize'
Related issue
TM-2995
Checklist

[X] Tested against the NHS.UK frontend testing policy (Resolution, Browser & Accessibility)
[X] Code follows the NHS.UK frontend coding standards
[N\A] Version number has been increased in package.json (using SEMVER)
[N\A] CHANGELOG entry
[N\A] Whats new page entry

Oooh, could this be why the examples are not showing correctly anymore?
I've been wondering about this:
Live, expected layout:

Local on main, broken layout:

@the-nathan-smith @sikanderakbarali

I think this should be reverted. The function is not unused - it's used on line 23 of this file. Removing this has broken the resizing of the design examples.
I've tested locally by restoring the file, and the design examples work again.
@the-nathan-smith @sikanderakbarali ok to revert?


Add Documentation comments to the generated translation file

Motivation
I migrated from gen_l10n to slang, and the generated documentation is better in gen_l10n than in slang.
Since I am a native Japanese speaker, I need to be able to quickly preview member variables in Japanese, not just their names.
gen_l10n generates the following.
  /// No description provided for @title.
  ///
  /// In en, this message translates to:
  /// **'Title'**
  ///
  /// In ja, this message translates to:
  /// **'タイトル'**
  String get title;

slang generates the following.
	String get title => 'title';

I don't know if this is scalable if you have many locales. The generated file would be very big.

How about limiting this to only the base_locale? This functionality is useful to understand if the rendering is appropriate just by looking at the code.

I always jump to the declaration when I want to see the base translation (which is ctrl+left click). Don't know if the benefit is great enough to sacrifice the bigger file size


Icons missing?

For example ic_zoom_out. It is in the material-design-icons but doesn't show up.
And it would be nice if the icons would be sorted in the drop down list.

Probably I need to update the bundled material design icons. I'll check.