Changing center of mass of a body, new Inertia, Parallel Axis Theorem

Maybe I'm wrong, if that's the case please feel free to close it.
I'm using the following game code to update the center of mass of a body:
if ( bd.type == b2_dynamicBody  )
{
    b2MassData massData;
    if ( bodyDef.density <= SYS_EPSILON )
    {
        // no density valid, use manual masses
        assert( bodyDef.mass > 0.0f );
        assert( bodyDef.inertia > 0.0f );
        massData.mass = bodyDef.mass;
        massData.I = bodyDef.inertia;
    }
    else
    {
        // density was valid, so there's mass data, just get it
        body->GetMassData( &massData );
    }

    // and set the center of mass
    GAME_TO_B2( bodyDef.centerLocal, massData.center );
    body->SetMassData( &massData );
}

The problem is that it asserts in b2Body.cpp, in the block:
if (massData->I > 0.0f && (m_flags & b2Body::e_fixedRotationFlag) == 0)
{
	m_I = massData->I - m_mass * b2Dot(massData->center, massData->center);
	b2Assert(m_I > 0.0f);
	m_invI = 1.0f / m_I;
}

If I understand correctly, it tries to compute the new Inertia through the new center of mass, and it looks the Parallel Axis Theorem. My question is shouldn't the subtract be an addition instead so it becomes:
	m_I = massData->I + m_mass * b2Dot(massData->center, massData->center);

By changing it, we can remove the assert and the behaviour that I get is correct.
Any thoughts?
Thanks!

I think it shouldn't. Look at the graph drawn on Wikipedia for the PAT. d measures the distance between the new axis and the original axis that goes through the center of mass. But the code says: b2Dot(center, center). So this is the distance of the axis (now coming out of your screen, as it is 2D), to the local origin of the body definition. So the massData->center is the real center of mass.
Basically in the formula of Wikipedia: I = I_cm + m*d^2, you are confusing I with I_cm.

Yeah, the inertia in b2MassData is about the local origin. I recommend to first take the result from GetMassData and convert the inertia to the old center of mass.
Ic = I1 - m * dot(c1, c1)
Then compute the new inertia:
I2 = Ic + m * dot(c2, c2)
Then Box2D will find Ic correctly.

@erincatto you mean that when I want to only change the center of mass, without changing the mass, I'd have to do something like this:
b2MassData data;
_b2Body->GetMassData(&data);
data.center = centerOfMass;
data.I = data.I + data.mass * b2Dot(data.center, data.center);
_b2Body->SetMassData(&data);

I tried it and it doesn't seem to work.
I also tried adding all my fixtures' shapes rotational inertias and using that as lc but it still doesn't work.

My understanding is that Box2D calculates the centre of mass from the dimensions of the shape - and it is therefore immutable. The density is assumed to be constant throughout the body.
To achieve what you want, you might think about this in physical terms: you could give the body a lower density and attach a small circular body with a high density at the point that you want the centre of mass to be. A bit like placing a penny on the weights in the Big Ben clock, or gluing weights to the inside of a car wheel to account for manufacturing tolerance in tyres.


feat(auth): include claims in client principal data retrieved via direct-access endpoint

SWA documentation describes the client principal data retrievable by applications and
includes reference to claims returned by a custom authentication provider.
Change auth.html to capture mock claims information and store in the StaticWebAppsAuthCookie.
Change function.handler.ts to explicitly remove claims from the client principal data
encoded in the x-ms-client-principal header passed to proxied functions, matching current
SWA runtime behaviour.

Hi @manekinekko , if these changes looks good to you can we merge this PR since there are currently two open issues #386 #390 depending on this.

@danwatford Looking at your commits from this PR, it looks like the PR is also introducing changes from another commit (9b42067). Could you rebase your changes on the main branch? or remove the other changes before we merge your PR?

Hi @manekinekko , it looks like the additional commit was already on the main branch at the time the PR was created, but removed with the force-push to main on Feb 2nd.
I'll rebase against the new main branch soon.


RTL style problem

when setting the component to RTL the circle icon comes on the date text.
but there is no problemn using it in LTR mode.
the simplest solution is to set LTR as a default attribute of element.
thank you my brother

Its fixed in 1.5.4.
demo is updated too.
thank you.


Cmd+Left/Right should go to beginning/end of inputs when focused

At the moment these shortcuts navigate pages back/forward.

Any ideas how this should be implemented? Preload script with a keydown event on the window?

This should support all inputs, including chrome.


.kube/config is never regenerated for e2e test once removed

I tried to bring up a e2e test cluster, and ran into several issues. Most of issues are transient, and would be disappeared after several runs until I ran into an issue in which 'kubectl cluster-info' reports a minion IP as master node's IP:
$ cluster/kubectl.sh cluster-info
current-context: "golden-system-455_e2e-test-dawnchen"
Running: cluster/../cluster/gce/../../cluster/../_output/dockerized/bin/linux/amd64/kubectl cluster-info
Kubernetes master is running at https://<IP_ADDRESS>

+-------------------------------+---------------+---------+----------------+-----------------+
| name                          | zone          | status  | network-ip     | external-ip     |
+-------------------------------+---------------+---------+----------------+-----------------+
| e2e-test-dawnchen-master      | us-central1-b | RUNNING | <IP_ADDRESS> | <IP_ADDRESS> |
+-------------------------------+---------------+---------+----------------+-----------------+
| e2e-test-dawnchen-minion-jy4s | us-central1-b | RUNNING | <IP_ADDRESS>   | <IP_ADDRESS>   |
+-------------------------------+---------------+---------+----------------+-----------------+
| e2e-test-dawnchen-minion-yxyr | us-central1-b | RUNNING | <IP_ADDRESS>   | <IP_ADDRESS>  |

I ran into this problem before, but it is transient too. Based on my previous experience, removing wrong config file which records wrong IP should fix the issue. I did the same this time, now I cannot run tests against my e2e cluster anymore. Here is the related console output:
current-context: "golden-system-455_e2e-test-dawnchen"
Running: /usr/local/src/goproj/src/github.com/GoogleCloudPlatform/kubernetes/hack/e2e-internal/../../cluster/../cluster/gce/../../cluster/../cluster/../cluster/gce/../../cluster/../_output/dockerized/bin/linux/amd64/kubectl cluster-info
Kubernetes master is running at https://<IP_ADDRESS>
elasticsearch-logging is running at https://<IP_ADDRESS>/api/v1beta1/proxy/services/elasticsearch-logging/ (note the trailing slash)
kibana-logging is running at https://<IP_ADDRESS>/api/v1beta1/proxy/services/kibana-logging/ (note the trailing slash)
kube-dns is running at https://<IP_ADDRESS>/api/v1beta1/proxy/services/kube-dns/ (note the trailing slash)
grafana is running at https://<IP_ADDRESS>/api/v1beta1/proxy/services/monitoring-grafana/ (note the trailing slash)
heapster is running at https://<IP_ADDRESS>/api/v1beta1/proxy/services/monitoring-heapster/ (note the trailing slash)

Created [https://www.googleapis.com/compute/v1/projects/golden-system-455/global/firewalls/e2e-test-dawnchen-minion-e2e-test-dawnchen-http-alt].
NAME                                                NETWORK SRC_RANGES RULES           SRC_TAGS TARGET_TAGS
e2e-test-dawnchen-minion-e2e-test-dawnchen-http-alt e2e     <IP_ADDRESS>/0  tcp:80,tcp:8080          e2e-test-dawnchen-minion
2015/04/20 12:17:38 Running: get status
Project: golden-system-455
Zone: us-central1-b
current-context: ""
Running: /usr/local/src/goproj/src/github.com/GoogleCloudPlatform/kubernetes/cluster/../cluster/gce/../../cluster/../_output/dockerized/bin/linux/amd64/kubectl --match-server-version version
Error: couldn't read version from server: Get http://localhost:8080/version: dial tcp <IP_ADDRESS>:8080: connection refused

Here is the content of config file:
$ cat ~/.kube/config
apiVersion: v1
clusters: []
contexts: []
current-context: ""
kind: Config
preferences: {}
users: []

How recent is your branch? Does it have #7012 in it?

(The part where it loses its mind right after Running: get status makes me think it doesn't.)

Yes, I think my branch just missed that PR,and it sounds very promising. Thanks!

Actually, that may not be exactly the right one. I was thinking of #6954. But ohwell. If you update to the latest set of things, you may have better luck. :)

Closing for now.  dchan1107@, feel free to re-open if you're woes are not resolved.


feat: Execution trace

WiP: introduction of ExecutionTrace and associated cleanup in both Honk and Plonk composers

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit a7889f8d and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,700 (-1%)
180,580 (-1%)
720,100 (-1%)

l1_rollup_calldata_gas
222,796 (-2%)
871,216 (-2%)
3,464,668 (-2%)

l1_rollup_execution_gas
315,987 (-1%)
989,664 (-2%)
3,685,046 (-2%)

l2_block_processing_time_in_ms
1,151 (-5%)
4,351 (-2%)
17,370 (-1%)

note_successful_decrypting_time_in_ms
321 (-2%)
987 (+2%)
3,793 (+5%)

note_trial_decrypting_time_in_ms
33.7 (-17%)
115 (+12%)
149 (-13%)

l2_block_building_time_in_ms
17,927 (-3%)
72,433
291,547

l2_block_rollup_simulation_time_in_ms
13,218 (-3%)
53,796
216,748

l2_block_public_tx_process_time_in_ms
4,683 (-1%)
18,560
74,533 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,797 (-9%)
26,629 (-10%)

note_history_successful_decrypting_time_in_ms
2,522 (+2%)
4,716 (+4%)

note_history_trial_decrypting_time_in_ms
85.1 (-6%)
345 (+57%)

node_database_size_in_bytes
17,313,872
33,009,744 (-1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
309 (-5%)
44,528
25,825 (+2%)

private-kernel-ordering
195 (-1%)
44,145 (+1%)
16,225

base-rollup
1,444 (-1%)
128,654 (-1%)
933

root-rollup
82.8
4,192
729

private-kernel-inner
438
71,331 (+1%)
25,825 (+2%)

public-kernel-private-input
241
32,287 (-4%)
25,825 (-4%)

public-kernel-non-first-iteration
237
32,329 (-4%)
25,825 (-4%)

merge-rollup
7.87 (+1%)
2,712
933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
16,859
40,311 (+14%)

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
579 (+5%)
1,310 (-9%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.486 (-10%)
578 (+1%)

superseded


TEST #1 test notifications for PR review purposes - TEST #1

This is a test PR; it will be closed right away. Thanks.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver test


Overall structure - File process and path details

Initialize, notice that in the library/__init__.py we are creating directories at wherever the library package is invoked. everything generated by library will be stored under .library, and this directory is automatically git-ignored
the data configuration templates is using Jinja2 and pyyaml to 1. render the template 2. convert from yaml to a python dictionary. note that config.py should contain all functions we need to produce the finalized configuration gdal needs to import the files
To make things easier, we will store normalized data (post-gdal) inside /.library/dataset/<name>/...
Then in s3.py the S3 class can pick up the files from /.library/dataset/<name>/... and upload to a corresponding computed location in s3

s3 utilities can be developed independently of ingestor utilities #4

this is already implemented

this is already implemented


[DOC] Fix tidytuesday_20190423

PR Description
Please describe the changes proposed in the pull request:

Apply revisions as per #327

This PR resolves #327

PR Checklist

Please ensure that you have done the following:

[ ] PR in from a fork off your branch. Do not PR from <your_username>:master, but rather from <your_username>:<branch_name>.

[ ] If you're not on the contributors list, add yourself to AUTHORS.rst.

Quick Check
To do a very quick check that everything is correct, follow these steps below:

[ ] Run the command make check from pyjanitor's top-level directory. This will automatically run:

black formatting
pycodestyle checking
running the test suite
docs build

Once done, please check off the check-box above.
If make check does not work for you, you can execute the commands listed in the Makefile individually.
Code Changes

If you are adding code changes, please ensure the following:

[ ] Ensure that you have added tests.
[ ] Run all tests ($ pytest .) locally on your machine.

[ ] Check to ensure that test coverage covers the lines of code that you have added.
[ ] Ensure that all tests pass.

Documentation Changes

If you are adding documentation changes, please ensure the following:

[X] Build the docs locally.
[X] View the docs to check that it renders correctly.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl @zbarry

@jk3587 there's a whole bunch of functions in here that I think should go into pyjanitor!
explode is a nice one, and the string methods are also pretty neat!


Device Version: Existing Capabilities Migration

Follow-up from https://github.com/NEEOInc/neeo-sdk/issues/18#issuecomment-403765840:
Currently the device version number will trigger an upgrade of the components. However, this currently doesn't account for migration of existing capabilities (for example rename "PWR OM" to "POWER ON"). This issue will track the work on this.

Can it also include removed capabilities as well?  I know it could potentially break rules - but I don't think that would be a deal breaker (and you could potentially use the red exclamation mark to show rules that were broken)..

Hi @MichaelKohler , I have noticed the same using my homey implementation.
What is interesting is that when renaming a switch label and adding or removing a component the name change will reflect.
I've tested this with a switch and a slider and both have the renaming issue. didn't test the other components yet.
Lets say you start with a button and a switch. with names: button, switch.

rename the switch to switch1, Result names: button, switch
rename the button to button1, Result names: button1, switch
rename the switch to switch2, Result names: button1, switch
rename the button to button2, Result names: button2, switch
remove the button, Result names: button2, switch2

or same start situation:

rename the switch to switch1, Result names: button, switch
rename the button to button1, Result names: button1, switch
rename the switch to switch2, Result names: button1, switch
rename the button to button2, Result names: button2, switch
add a new button, Result names: button2, switch2

Video demoing this: https://youtu.be/Dpng_d0xZpQ

@tmrobert8 removal is a tricky one. The main argument against it is if there's a shortcut to X and X is removed, either the shortcut is broken or it's automatically removed. Meaning for the user easier it's broken or we're messing with their configuration by removing things.
I think it could be even more annoying if it's not a shortcut but a step in a rule as you mentioned. The red exclamation mark would make it more visible but it still wouldn't solve the problem that we're potentially breaking things for the user. If we solve the cannot remove component from SDK problem but introduce the broken/gone shortcut/step for the user it feels more like shifting the problem than solving it.
Currently I would recommend not removing or if you need to do a major change, perhaps it can be done using a new separate driver (if there's a lot to remove a V2 driver without legacy support for example).
@nklerk I'm not sure what you mean, I'll try to clarify how it currently works. The way it works is we need a unique identifier for each component to be able to match them, that's the name. The label is handled differently, it's a property of the component so it can be updated as long as the name doesn't change (same goes for sensor range, and other properties they should all update).
All components will behave in the same way.
By migration to rename we mean specifically the name which we use as identifier on the Brain to know the component.
For now I would recommend if possible when generating components dynamically, like in your app, to use a random UUID for each such that the "id" (in most cases the name) is decoupled from the label (and renaming it via label wont affect the id). That should work.

In my integration when a user adds, removes or renames(label change) a component I ++1 the version number and register the device adapter. The user can only change the label, not the actual name. making the name UUID based is a good thought and i will definitely move that way.
I've added the issue on Planet NEEO beta section. but was instructed to look here.
Short description would be that a label change on a sensor based capability (switch,slider etc) won't be updated on the brain side. Only after adding or removing a button the label changes of the sensor based capabilities get updated. I know this sounds weird but it is what it is.
The PN description i used.
I found some issues regarding the SDK Update feature.
Changing the name of a button using the SDK works like shown: 00:47, 00:58, 01:04. This works really wel but i found issues on other capabilities:
Changing the name of a slider or switch (posibly more capabilitie types but not tested) only work when a button is added or deleted.
Switch name changed : 01:18, neeo UI reloads but switch name doesn't get changed.
Rename a button: 01:27, The button gets renamed as suppose to but switch name still keeps it's name.
Adding a new button: 1:39, The Switch name gets updated. (same works with removing a button but the result is not shown in this capture)
showrtcuts in "Edit shortcurs" will keep their original name. 01:55
https://youtu.be/Dpng_d0xZpQ

@nklerk the issue was on the NEEO Brain, the updating code added all new components but stopped after the first updated component. In the case of a switch, there's a switch and a sensor, the sensor would be updated but not the switch. Then if you added another button after that it would run the "next" update it didn't get to which was the switch.

Cool! Thanks for your help.

In addition; can we show the custom driver version somewhere? I now added it to my discovery description, but it feels 'off'; Preferably it should be shown beneath the device name..
Sample screenshot:
https://i.postimg.cc/vTwKS8PV/Screenshot-20190220-184141-NEEO.jpg


Use subprocess.Popen, hoping for Windows portability

Replaces use of subprocess.check_output

Looking for feedback from @sheredom to see if this works better on Windwos.

+1

+1 works for me ta!

Counting that as a +2.


Ignored error in assert_de_tokens_ignore

This ignored error should not be necessary. I think this is revealing a bug in serde_test. Every value should make sense embedded as an ignored map value.
// We run this test on every token stream for convenience, but
// some token streams don't make sense embedded as a map value,
// so we ignore those. SyntaxError is the real sign of trouble.
if let Err(Error::UnexpectedToken(_)) = v {
    return;
}

Fixed in #843.


Exception thrown in preload script doesn't stop electron

Sample init code:
win = new BrowserWindow({
        width: 800,
        height: 600,
        preload: require.resolve("./preload")
    });

Sample preload script would be:
throw new Error("YOU SHALL NOT PASS");

Nothing about this is shown in the console (no log message) and electron continues execution with loading app url like nothing happened.
Using "electron-prebuilt": "0.25.2"

We're hitting this as well, #1551 is my proposed fix

Fixed by #1551.


Async get is blocking

We have a problem with the way ioRedis works. When retrieving a value via the get command from a stored value (Buffer type), there seems to be a blocking element at the asynchronous level (this effect is accentuated when values increase in size).
For values of 2Mo , blocking times of 3ms can occur (less size, less blocking time but still blocking), which is worrying when Redis is used intensively.
Is the problem known? Is there a solution? What might the problem be?
[14:27:54.658] INFO (20861): 595 - get test
[14:27:54.661] INFO (20861): ping
[14:27:54.666] INFO (20861): 596 - get test
[14:27:54.668] INFO (20861): ping
[14:27:54.670] INFO (20861): 597 - get test
[14:27:54.671] INFO (20861): ping
[14:27:54.674] INFO (20861): 598 - get test

Note : Ping is set to 1ms interval
Regards

I think I've found a clue: when retrieving the stream, the DataHandler uses redis-parser. At the end of the retrieval, it reconstitutes the entire data stream. This last operation may be blocking:
concatBulkBuffer
Is there a bypass? Can ioredis stream the get response directly?

I'm relaunching this thread.
we've made little progress on this problem. Despite optimizing the data stream reconstruction, we still have blocking problems. And we realized that despite using the auto-pipeline mode, data recovery was sequential. In other words, if you retrieve cache1 followed by cache2 etc., then the last cache was retrieved much later, even though the command was sent at the same time as the others.
Is there a way or a command to do them in parallel?

Facing this problem, too. I made a simple test by stream XREAD with block and then console.log the result. It has to wait until the  XREAD return which block the whole process.


MBTilesTileDataSource min/maxzoom handling

SDK tries to detect datasource min/maxzoom values in MBTilesTileDataSource constructor (when not explicitly specified). Currently this is implemented as scanning through the 'tiles' table. It would be better to first try to read the relevant info from 'metadata' and scan only as a fallback.

Implemented in SDK 4.1.6


Implement Node.js spkac APIs

[ ] Check the Certificate checkbox in src/node/crypto.ts, at least with a [.] if we're not shipping verifySpkac().


The option Reformat only changed code(only if VCS configured) is not working.

The option Reformat only changed code(only if VCS configured) is not working.
Reformatted not only changed lines. Sometimes the whole file is reformatted.
$ cat saveactions_settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="SaveActionSettings">
    <option name="actions">
      <set>
        <option value="activate" />
        <option value="reformatChangedCode" />
      </set>
    </option>
  </component>

I use git
What triggered the plugin
CTRL+S
Versions
PhpStorm 2019.3.3
Build #PS-193.6494.47, built on February 12, 2020
Runtime version: 11.0.5+10-b520.38 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-88-generic
Plugin version: 2.0.0

I have the same problem.
Versions
IntelliJ IDEA 2019.3.3 (Ultimate Edition)
Build #IU-193.6494.35, built on February 11, 2020
Runtime version: 11.0.5+10-b520.38 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
Plugin version: 2.0.0

Hello! Thank you for opening this issue. We used to have a similar problem, see #114. I could never reproduce it. I'm leaving this bug opened, but I can't reproduce. Any help would be nice.

I can confirm some weird formatting behavior with this option enabled. I expect only changed lines to be reformatted or at most their immediate neighbors additionally. See the gif for an example of what actually happens

This gif really sums it up. Random indentation changes in rows close to changed code. Often reformats the function right above an added one, if the code there was saved with indentation that doesn't match your specific code style.

Hello @yaeuge, thanks a lot for looking into this, I see what the problem is now. Unfortunately, the code that does the reformat isn't in the Save Actions Plugin, it is in JetBrains's source code (you can check where the processor is instantiated here: https://github.com/dubreuia/intellij-plugin-save-actions/blob/master/src/main/java/com/dubreuia/processors/GlobalProcessor.java#L31).
We have 2 choices here: either we open a bug report on Intellij's YouTrack (this issue is probably language based though, so this problem is for Java), or rewrite the ReformatCodeProcessor so that it works better for your use case. PRs welcomed. Thanks

Closing as this is a JetBrains processor problem.

Does anyone know the ticket number of this with JetBrains or which version (if any) fixed this? Getting this on 2021.2.4 (Ultimate) still and don't want to update IntelliJ any further than necessary as to have a chance to not break other plugins/workflows.


NSSet containsObject should return NO for nil object.

@RG-J technically, you cannot pass nil here, as the method does expect non-nil value. If you try this on reference platform, you will get a warning.  Clearly, you won't see the warning if you pass a variable and it just happens to hold nil.

@rajsesh-msft As per documentation it's true, but if a variable is passed in and becomes null, current implementation crashes and reference platform handles it gracefully.


Improve the text at the top of the home page

Received the latest gome page text from the product team

 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.:x: adminM365x931582 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Could not Connect to daemon despite service running

Checklist

[X] The problem is not listed in the hardware support matrix as a known limitation
[X] I've included a debug snapshot if the issue is related to hardware configuration

Bug description
"Could not connect to daemon"
The daemon is confirmed as running in the YAST Services with no issues.
System info
- LACT version:0.5.4-release-embedded (commit 0dce4b3) / 0.5.4-release (commit 0dce4b3)
- GPU model: Renoir 4700u
- Kernel version: 6.8.7-1-default
- Distribution: OpenSUSE Tumbleweed

Permission denied
On Sat, Apr 27, 2024, 7:05 AM Ilya Zlobintsev @.***>
wrote:

What's the full error? Is it permission denied or file not found?
If it's a permission error, this has been reported on OpenSUSE in the
past, see here
https://github.com/ilya-zlobintsev/LACT?tab=readme-ov-file#configuration
on how to fix it.
—
Reply to this email directly, view it on GitHub
https://github.com/ilya-zlobintsev/LACT/issues/314#issuecomment-2080453886,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF4YQWIPZL3NIWAU7JNOXLTY7OBBHAVCNFSM6AAAAABG3763GOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBQGQ2TGOBYGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

What's the full error? Is it permission denied or file not found?
If it's a permission error, this has been reported on OpenSUSE in the past, see here on how to fix it.

Thank you! I should have read more. I'm banging my head against the wall with these AMDGPU crashes that have been going on for 5 years.


RDS support in Orchestrator?

Hi all,
We've been investigating using RDS to replace our MySQL servers, and Orchestrator could end up being great for shuffling topologies around as we set things up.
I've connected Orchestrator to an RDS instance, it got confused regarding hostnames (as the @@HOSTNAMEvariable is something internal to RDS's infrastructure), and I know that RDS MySQL's topology adjustment commands are different.
Has any work been done into getting Orchestrator to support RDS, and is there any design consideration within Orchestrator that would outright preclude compatibility if work was put into working around the few differences between RDS MySQL and standard MySQL?
Thanks!

I think that orchestrator has just not been used on RDS. Recognising any differences which are needed should not be hard, it would just then be an issue of adjusting behaviour where that's needed.  I have not used RDS and I'm not sure if Shlomi has, so probably providing information on errors you see in orchestrator when trying to talk to an RDS instance would help us see what could be done to make things work better.

Indeed I'm not using RDS. However, I got some insights from gh-ost on RDS: https://github.com/github/gh-ost/issues/163
From that issue I learned that you can't just issue a STOP SLAVE. And that you don't have SUPER privileges. I'd need to first understand (and someone else will have to do the research, I'm afraid, as this isn't a priority for me) exactly what queries orchestrator uses today are incompatible with RDS. I suspect many of them, including CHANGE MASTER TO.. (do I have to pass credentials?), SHOW BINLOG EVENTS and others.
For such queries I need to know what alternatives exist, in the form of specialized stored routines or external hooks.
Running external hooks is not trivial and would require faith in the user's implementation.
I likewise have little knowledge of the naming/resolve methods in RDS. I'd need more info.

We're still feeling out RDS over here - we're in the process of migrating stuff over to AWS so we haven't put a lot of effort into testing things out. Orchestrator did see the node when I put it in to be discovered from its IP address, but had trouble tracing back the replication agreement, as the IP address the replica used to connect to the master isn't routable to things that aren't running in RDS.
I'll stand up an RDS instance again and try to get answers to your questions. I know that SHOW BINLOG EVENTS only needs REPLICATION SLAVE privs which I think might work, but I'll have to try it out.
Thanks for your feedback, all; I'll update this issue again when I have more concrete stuff for everyone to look at.

@shlomi-noach @cswingler While orchestrator isn't something high on my priority list, it is something we will be exploring in the future and we are running gh-ost on RDS so we've got over these sorts of hurdles in the past. If you have any RDS issues or questions, I'm happy to be pinged and help out where I can.

I don't think the identification part can be done as for MariaDB/MySQL because RDS does not change @@version_comment. However, the datadir or the existence of one routine could be used to check this:
mysql> select @@datadir;
+----------------+
| @@datadir      |
+----------------+
| /rdsdbdata/db/ |
+----------------+
1 row in set (0.16 sec)
mysql> select @@version_comment;
+------------------------------+
| @@version_comment            |
+------------------------------+
| MySQL Community Server (GPL) |
+------------------------------+
1 row in set (0.16 sec)
mysql> select count(routine_name) from information_schema.routines where routine_name='rds_kill_query';
+---------------------+
| count(routine_name) |
+---------------------+
|                   1 |
+---------------------+
1 row in set (0.17 sec)

RDS doesn't allow true root access, but it exposes some of the necessary functionality via stored procedures. E.g.
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html
CALL mysql.rds_start_replication;, CALL mysql.rds_stop_replication
CALL mysql.rds_set_external_master (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , mysql_binary_log_file_name
  , mysql_binary_log_file_location
  , ssl_encryption
);

There are certain things that doable, like creating RDS read replica from another RDS instance w/o using RDS replication. Some other things aren't doable like specifying only a subset of tables to be replicated.
They've expanded the set of available operations over time, so it's possible if someone gets a list of needed operations, they'd expose them one day.


Check for static imports in unused imports rule

Fixes #3131

When I run the task ./gradlew :detekt-rules-style:test in local it passes. In CI it seems to fails for test-snippet compilation.

Use ./gradlew :detekt-rules-style:test -Pcompile-test-snippets=true
Compile all the snippets each time that we run the tests slow down the test and is kind of meta testing (testing the tests). For that reason we have the compilation disabled by default and we just compile them in CI.
import org.eclipse.persistence.annotations.FetchType is not in the classpath so it fails. compileAndLintWithContext allows multiple Strings that are like different files. This way you can create your own enum in other package and then use it in your test.


manually trigger alarm

Added

switch to manually reset alarm via homekit
switch to manually trigger alarm via homekit (this can be used to trigger the alarm with homekit automations) see #26
dark mode for config ui

Hello,
¿Could be possible to add another Manual Alarm Trigger Mode that Eufy security shows and includes? It is named Geofencing, when you left home or arrive home with localization activated in eufy app, it can switch automatically from home to away or away to home without putting it manually from app or HomeKit plug-in.
It should be nice to get this option from your plug-in, because when yo put the trigger to away or home kit, you could set it again for geofencing and it remains in automatic mode for the future actions.
Thanks before hand and best wishes.
Jose Manuel.


Move EXP files to Example directory

Overview
Move EXP files to Example directory
Details
We need to make new Example directory to separate the EXP files from the Abstract.
We also need to fix the tutorial in the documents.
Conditions for close

The files are moved

Supplement
NA
Note
NA

移動させたのでCLOSE


Don't depend on jQuery

Hi the creators of Flightjs,
This is just a recommendation. Do you have any idea to avoid the dependency over jQuery and make a build of Flightjs without it?
Thanks.

:+1:

WIP is on the feature/remove-jquery-320 branch.

+1
I'd really love to see a lightweight version without the dependency too.
Also, out of curiosity, why did you decide to make it a requirement in the first place? I mean I can see this framework stand on its own without it just fine. Thanks!

So this is actually kinda done. v2 isn't ready to use yet, but as of recently it doesn't use jQuery! Woo!
This issue on the flight-toolbox will track adding jQuery back if you want it, via a dom plugin replacement of some kind. The specifics of that are yet to be worked out.


TextBuffer::setText won't doesn't work

Calling TextBuffer::setText to the Buffer, the content will be replaced again by the file content on the disk.
So I must call buffer.save() after buffer.setText('something'). However this is not what we want.

I can't reproduce this on Atom 1.0.4-d5a86c1 and OSX 10.10.4. If anyone can still reproduce this in the latest version of Atom (in safe mode) -- please let us know, and provide exact steps to reproduce and the OS+version you're using.


[sdf12] Polyline geometry DOM

🎉 New feature

Closes #296
Forward-port of #1000

Summary

Forward-porting on dedicated PR to address API changes between sdf9 and sdf12:

Use of ImplPtr
Addition of ToElement

⚠  Opening for awareness, wait for #1000 to be merged first
Test it

Used by simulation in https://github.com/ignitionrobotics/ign-gazebo/pull/1456

Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Added example and/or tutorial
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

Codecov Report

Merging #1003 (0acdacf) into sdf12 (12e7782) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            sdf12    #1003   +/-   ##
=======================================
  Coverage   65.38%   65.38%
=======================================
  Files           2        2
  Lines          26       26
=======================================
  Hits           17       17
  Misses          9        9

Continue to review full report at Codecov.

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

Now that #1000 has been merged, this PR is updated and up for review. The changes that are specific to sdf12 are in d9f238ef84bb61e09c424f43448dcb691ed17fc5.


Swift 2.2 compilation problem.

Line 57 in the file JSONDecodable will not compile anymore since it is not valid to have a non-failable initializer requirement be satisfied by a failable one.
https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097-CH18-ID224
Great library by the way !

Thanks for bringing this up. I'll see if I can get around to this soon!

Same issue. I make the initializer as a non-failable initialize, and it can compile. But should it be non-failable remain as a question.

Do you have sample code? I can't reproduce this issue

The original code is form the playground. The screen shot shows what I simply changed.


Correction for axial expansion conservation

What is the change?
This PR provides necessary corrections for the axial expansion changer to ensure the conservation of mass of the components within an assembly.
The commit history has been rebased to ease the review. It is suggested that reviewers work their way through each commit  rather than viewing all changes at once. Additional relevant details are provided in the commit messages.

commit 2514983 contains the primary corrections.
commit a8acc08 contains a new unit test that considers conservation via thermal expansion for a heterogeneous fuel assembly.

Several key changes have been made:

axial expansion factors are now centered around 1.0 instead of 0.0. This enabled a simplification of the equation used to contract components.
expansion and contraction unit tests are modified to check mass conservation, number density conservation, and block height conservation. This includes cases where expansion is followed by contraction, returning the assembly to its original state. Previously these tests only ensured conservation to a coarse precision. This adjustments here provide significant improvements.

Why is the change being made?
Conserving mass of both fuel, control, and structural components is necessary to accurately capture the physics of the reactor. Prior to this change, only the fuel and control were showing to consistently preserve mass. This PR provides corrections that accurately preserves mass for all components within a given pin-type assembly.

Checklist

[x] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[ ] The release notes (location doc/release/0.X.rst) are up-to-date with any important changes.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

@john-science can you help me figure out where the coverage drop is coming from? Coveralls isn't even showing that any files had a measurable change.... And if I go down the tree to axialExpansionChanger.py, it still shows a 100% coverage. Is this just a specially odd case of coverage spray?

@albeanth I don't really understand how this happened, but there are somehow some merge conflicts here.

For future tracking purposes I'd love to see some of the mass values for a test being compared in the ticket here to summarize that everything is working as expected. I didn't review, but nice work @albeanth

For future tracking purposes I'd love to see some of the mass values for a test being compared in the ticket here to summarize that everything is working as expected. I didn't review, but nice work @albeanth

I'm not entirely sure what you mean by this, but I did add a unit test that might(?) address this test_ThermalExpansionContractionConservation_Complex

For future tracking purposes I'd love to see some of the mass values for a test being compared in the ticket here to summarize that everything is working as expected. I didn't review, but nice work @albeanth

I'm not entirely sure what you mean by this, but I did add a unit test that might(?) address this test_ThermalExpansionContractionConservation_Complex

Print out the masses before and after and just make a table or several tables here for comparison.

Ok. I can do this post-mortem after we get our internal release out the door. I have all of this already in a speradsheet, it just needs to be put into a comment here.

I just see one more doc string that needs to be udpated:

The coverage drop here looks like coverage spray to me.


Enable support for larger batch sizes

Explore options to allow for large batches.

Non specific and largely resolved by addition of LARS.


YouTube deducted a third of my revenue after finalization

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[X] bug report
[X] feature request
[X] support request --> Contact me over mail for support https://github.com/MShawon

Description
YouTube cut a third of my total earnings last June and because of that they identified them as invalid clicks.
They warned me that if their system detects any more illegal clicks on my videos, they will be forced to deactivate my YouTube account or Adsense account.
I buy and use 50 premium proxies from webshare.io in 10 different countries.
then why are YouTube taking them as illegal clicks?

.
Environment
- OS : windows 10 home
- Python : 3.8
- Script version : 1.7.4

config.json
{
    "http_api": {
        "enabled": true,
        "host": "<IP_ADDRESS>",
        "port": 7000
    },
    "database": true,
    "views": 150,
    "minimum": 15.0,
    "maximum": 20.0,
    "proxy": {
        "category": "P",
        "proxy_type": "http",
        "filename": "6",
        "authentication": true,
        "proxy_api": false,
        "refresh": 0.0
    },
    "background": false,
    "bandwidth": false,
    "playback_speed": 3,
    "max_threads": 2,
    "min_threads": 2
}

Your used 50 new proxies everyday or same 50 proxies for a month? Those were data center proxies?

I think you dont login google account. So number of views is reduced -> your money after finalization is decreased.

I use 50 new proxies and replace their username & password after every 50 views. But their Proxy Addresses remain the same.
And I don't understand what this data center proxy means

I think you dont login google account. So number of views is reduced -> your money after finalization is decreased.

You are right, but with this youtube viewers app, browsers from different countries are opened by themselves and it is not possible to login there, because it is an automatic system.

google will block some views from ips, that provided by data cente

I think you dont login google account. So number of views is reduced -> your money after finalization is decreased.

You are right, but with this youtube viewers app, browsers from different countries are opened by themselves and it is not possible to login there, because it is an automatic system.

i try modify the source code to login google account( currently, it only run on linux systems).

Account login or the script isn't the reason.  You used same 50 proxies everyday also that's data center proxies and expect to earn from YouTube.
Use rotating proxies with appropriate rotating time so that after every 10/15 minutes you get new proxy. Or use huge proxy list so that every day same proxy can't come into play. Use residential proxies because real users come from the residential IP.

They warned me that if their system detects any more illegal clicks on my videos, they will be forced to deactivate my YouTube account or Adsense account

Where exactly they said it?

Account login or the script isn't the reason. You used same 50 proxies everyday also that's data center proxies and expect to earn from YouTube.
Use rotating proxies with appropriate rotating time so that after every 10/15 minutes you get new proxy. Or use huge proxy list so that every day same proxy can't come into play. Use residential proxies because real users come from the residential IP.

Ok so from now on I'll be using a rotating proxy. thanks dada.

They warned me that if their system detects any more illegal clicks on my videos, they will be forced to deactivate my YouTube account or Adsense account

Where exactly they said it?

When I would chat with the YouTube support team and discuss the issue, they would tell me about it and send some links. where it is also mentione

d


Update GSoC info

This PR updates information about GSoC.. removing it from README and putting it into the docs.

@lsetiawan : this looks good!
The only part I would suggest changing is to change some wording under intro.md because right now as a landing page it looks a bit weird to have GSoC in the section. It seem that we could have 3 sections or something like that?

What are ocean sonar systems?
Goals of the echoshader package
Google Summer of Code

(And we can totally have these in another PR if you would like to merge this first.)

Thanks for catching that. I didn't even realize intro.md is being utilized 😛

Do you want me to merge this now or are there things you still want to add?


chore: add binary validation in all builds

Description of changes
This PR solves the following:

Builds all binaries in every build including pull requests. I.e. this can be caught earlier than in e2e tests https://github.com/aws-amplify/amplify-cli/pull/11371 .
It verifies all binaries sizes against hardcoded threshold.
Parallelizes binary builds, so it's no longer needed to skip some to save time. And to make sure PR build time is kept same.

PR validation
Before:

After:

E2E tests
Before:

After:

Verification step

Issue #, if available

Description of how you validated changes
Checklist

[x] PR description included
[x] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can you provide a negative & negative run? or at least confirm it fails the job if file size is over 1mb (for example)


Updated pointer checks to use C++11 nullptr, fixes #33

Changed three instances of byte_source != 0 to byte_source != nullptr and LLVM and BCC32 both seem to be happy with it.

Hi,
thanks for the patch. I merged the code.
Best Regards
Ben Strasser


JSON reporting or summary line

Is your feature request related to a problem? Please describe.
It's related to using deptry in CI (particularly Jenkins)
Describe the solution you would like
It would make it easier to integrate deptry into CI pipelines if you'd offert json output and/or some summary line that can be easily regexped to find out number of issues found.
Additional context
Jenkins allows us to define scripts that are used to parse output of various tools and collect errors/warnings. For example we use it to parse output from black formatter check, that after bunch of text spits out line like "2 files would be modified.". So we parse that and report that black found 2 issues.

Thanks for the suggestion, this sounds like a no-brainer; useful and relatively simple to implement. I will work on this in the upcoming days. I think the output json file would look something like this:
{
  "missing": [
    "foo"
  ],
    "obsolete": [
    "bar"
  ]
}

Would a format like this suffice for your purposes?

Yes, looks pretty much perfect.

No worries :) As for the summary line, I'd suggest giving a tiny bit more details. Like "There were X dependency issues found: Y obsolete, Z missing, W transitive".

I'm thinking of adding this code in the upcoming release:
    @staticmethod
    def _log_total_number_of_issues_found(number):
        if number == 0:
            logging.info("Success! No dependency issues found.")
        elif number == 1:
            logging.info("There was 1 dependency issue found.")
        else:
            logging.info(f"There were {number} dependency issues found.")

However, I do have a strong preference to not add the details you mentioned to the output in that line, since it feels a bit redundant. The issues are outlined right below it.
Scanning 19 files...
There was 1 dependency issue found.

-----------------------------------------------------

The project contains obsolete dependencies:

        foo

Consider removing them from your project's dependencies. If a package is used for development purposes, you should add it to your development dependencies instead.

-----------------------------------------------------

So if the above logging line is not sufficient and you'd like to have the number of issues per category, I'd prefer to work on adding a CLI argument that can be used to specify a path for a json file with the details.
Let me know your thoughts.

I do understand that the logging output is not very useful to get numbers of different types of issues from, that would become too much of a hassle and prone to errors. However, if you are okay with it I'll choose not to add details about the number of different issues to the summary line. I think those are more suited to be fetched from  a json file. So if you need those, just give me a heads up and I'll work on that.
side-note; since this is an open-source project I don't think that my preference should be a deciding factor in these kind of decisions. So if there are more people in favour of expanding the summary line than adding json output, then that should be the way to go.

Thanks for considering this!  I just came here today to see if this was an upcoming feature.

Thanks for letting me know this is a feature you also need, I'll work on adding json output.

@rrauenza I just created a PR that allows the user to run deptry as
deptry . -o deptry.json

which might output the following file:
{
    "obsolete": [
        "foo"
    ],
    "missing": [],
    "transitive": [],
    "misplaced_dev": []
}

Would this suffice for your purposes?


updating golang.org/x/text version

Hello there,
golang.org/x/text v0.3.2  version library represents serious security threats,
it is well documented at https://groups.google.com/forum/#!topic/golang-announce/bXVeAmGOqz0
A safe fix version is v0.3.3
Best Regards!

@googlebot I signed it!

Thanks. I don't think this warrants a new release because this tool is meant to be used to connect to the servers in the same host i.e. the loopback interface, where it's not susceptible to external attacks.

Also aren’t you supposed to update go.sum as well?

Thank you for the consideration! I will be closing the PR to continue the work

I will open a second PR to validate the Google email check


[QUESTION] LossModule's functional parameters duplicate weights in memory

The LossModule.convert_to_functional(...) method creates a deep copy of the parameters. If I understand correctly, this leads to the parameters being duplicated in memory and a larger memory footprint than necessary. Is my understanding correct? If so, why is this necessary? Is there any way for the LossModule simply contain a single reference to the weights for, e.g., its actor and critic TorchModules?
This can be seen in the following line: https://github.com/pytorch/rl/blob/80c63ad40c7356559a2d4991215eb331ecff0f95/torchrl/objectives/common.py#L290
This is the specific snippet of code containing the deep copy that this question pertains to:
        # set the functional module: we need to convert the params to non-differentiable params
        # otherwise they will appear twice in parameters
        with params.apply(
            self._make_meta_params, device=torch.device("meta")
        ).to_module(module):
            # avoid buffers and params being exposed
            self.__dict__[module_name] = deepcopy(module)

I am confused by this deepcopy of the weights. It seems that after just one gradient update, the loss_module.parameters() will differ from the actor/critic TensorDictModule used to generate rollouts to insert into a replay buffer, since two separate copies of the weights will are used to generate rollouts vs. compute the loss. I'm sure I must be missing something here, so any clarifications would be greatly appreciated!

Thanks for posting this!
The important bit in the code snippet you linked is the context manager: we take the parameters, send them to "meta" device (ie, create a stateless copy of the parameters) and then populate temporarily the module with these.
This is the module instance we will copy.
After we exit the context manager, the module retrieves its original parameters, and only a stateless module is stored.

It seems that after just one gradient update, the loss_module.parameters() will differ from the actor/critic TensorDictModule used to generate rollouts to insert into a replay buffer, since two separate copies of the weights will are used to generate rollouts vs. compute the loss.

Not really since we always call the stored module with a functional call!
I hope that clarifies things!

Thanks, @vmoens! That clarification about the context manager is helpful 👍
However, can you confirm if my understanding is correct that as a result of the deepcopy in LossModule, the memory footprint is (approximately) twice as large since the actor/critic model parameters are duplicated?
At least when I instantiate a LossModule, I notice that the (e.g., CUDA) memory footprint approximately doubles as a result of this deepcopy. This is an issue for large models, so I'm trying to understand if this duplication of parameters can be avoided.

However, can you confirm if my understanding is correct that as a result of the deepcopy in LossModule, the memory footprint is (approximately) twice as large since the actor/critic model parameters are duplicated?

No, a tensor on "meta" device has no content, so it has (approximately) 0 memory footprint.
If the memory increases by a factor 2x there must be an issue somewhere, this isn't the indented behaviour (it's a bug).

Ok, that's what I thought as well re: "meta" device behavior.
I can very clearly see the memory footprint double when the deepcopy on line 290 of LossModule is called. Should this be reported separately as a bug?

Nope, I will have a look and push a patch!

Do you have any way to check that the memory doubles?
This piece of code indicates that the parameters are on "meta" device as expected
from torchrl.modules import MLP, QValueActor
from torchrl.data import OneHotDiscreteTensorSpec
from torchrl.objectives import DQNLoss
n_obs, n_act = 4, 3
value_net = MLP(in_features=n_obs, out_features=n_act)
spec = OneHotDiscreteTensorSpec(n_act)
actor = QValueActor(value_net, in_keys=["observation"], action_space=spec)
loss = DQNLoss(actor, action_space=spec)
list(loss.value_network.parameters())

Are you sure the memory footprint isn't twice as big because of the target parameters?

Got it
Unfortunately, as of now, we have to copy the module. We took care of making this work with parameters and buffers. Tensors stored as non-buffer, non-parameters are a strange thing to handle in general. They usually won't be part of your state-dict, they won't be cast when you call module.cuda() etc.  They are usually regarded as non-proper usage of nn.Module.
We could design an ad-hoc strategy to avoid deepcopying the non-parameter, non-buffer tensors, but I'm not sure that this is what users will want (I can imagine that some users will want them to be copied, others no).
If you feel like this deepcopy is causing troubles in your use case, I'd be happy to look at an adequate solution.


Support returning dataframe in map transform

Allow returning Pandas DataFrames in map transforms.
(Plus, raise an error in the non-batched mode if a returned PyArrow table/Pandas DataFrame has more than one row)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[qualifier] DSS0210,A2-7-2,7 validate authentication for subscription CRUD+search endpoints

Adds a scenario to begin validating the DSS0210,A2-7-2,7 requirements:
(The gist of it is that each DSS endpoint should properly check the presence of valid credentials).
This covers the subscription related endpoints (CRUD + search) for the following situations:

no credentials provided
well-formed but incorrectly signed credentials
correct credentials but no provided scope
correct credentials but incorrect scope

The other endpoints will be covered in upcoming PRs

Taking to draft to include some refactors that are needed to support the other entities

Overall structure is now stable: the other entities will be added to the scenario in a way that is similar to how the subscription endpoints are tested.

Rebased on top of master: should be ready for review.


List of supported file formats

Please, add also support for *.cxx source files.

Resolved by 2f7ab96284c1407313692b2809ee2fb795e952b0.


Allow 'tf' ordering in ImageDataGenerator

This PR addresses issue #2286 to allow the use of ImageDataGenerator with data in the 'tf' format (which is row, column, channel).
I removed the hard coded indices in the rotation and shifting functions, and adding axis numbers as arguments to these functions. The axis number is set in ImageDataGenerator based on whether it is called with 'tf' or 'th', and then the appropriate index is passed to the utility functions.
There are a couple of unrelated issues with ImageDataGenerator that I didn't address in this PR, hoping to keep this atomic, and come back to those once I have something acceptable on this issue.
Thanks for any feedback.

The PEP8 check is complaining: https://travis-ci.org/fchollet/keras/jobs/122686240


add new comment provider: weibo.

weibo is china most popular microblog service. this commit add comment provider for weibo.
support custom config weibo relativeuid and weibo appkey.

Attempting to make multi-language support a feature in next release or two. Thanks for contributions.
It's been a while, but I care. :)

Isolated. New comment provider. Low risk. Merging.

Thanks for @Lax and @Treri for the work on this. Merged now.


handle nulls in bar chart series/breakdown

CATEGORY

[x] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY

pandas removes None values when doing a groupby or a pivot, so we have to substitute a value for Nones beforehand to allow null values in the bar chart's series or breakdown. There is already a string "<NULL>" being used to indicate nulls in a few places, so I used that and centralized it in a new constants.py file.
Fixes #8672
BEFORE/AFTER SCREENSHOTS

Before:

After:

TEST PLAN

<NULL>
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

Codecov Report

Merging #8724 into master will increase coverage by 6.32%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #8724      +/-   ##
==========================================
+ Coverage    65.4%   71.73%   +6.32%
==========================================
  Files         482      123     -359
  Lines       24083    12799   -11284
  Branches     2763        0    -2763
==========================================
- Hits        15751     9181    -6570
+ Misses       8152     3618    -4534
+ Partials      180        0     -180

Impacted Files
Coverage Δ

superset/connectors/druid/models.py
81.86% <100%> (+0.02%)
:arrow_up:

superset/connectors/base/models.py
90.52% <100%> (+0.04%)
:arrow_up:

superset/connectors/sqla/models.py
84.83% <100%> (+0.02%)
:arrow_up:

superset/constants.py
100% <100%> (ø)

superset/viz.py
71.38% <100%> (+0.05%)
:arrow_up:

superset/assets/src/components/Checkbox.jsx

.../assets/src/dashboard/reducers/dashboardFilters.js

...ets/src/dashboard/components/dnd/DragDroppable.jsx

superset/assets/src/components/EditableTitle.jsx

...src/explore/components/controls/VizTypeControl.jsx

... and 359 more

Continue to review full report at Codecov.

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

@etr2460 @john-bodley Thanks for the feedback, I added tests and changed to NULL_STRING. Feel free to merge if it looks good.


add test to check if aligned and unaligned reads files have the same …

…format as the input

 SrBowtie tools has an issue with outputs when input data are fastq files

Nice catch for the format_source ! 👍


Export kafka_consumergroup_group_lag metric with NaN value made sum() resulted in NaN

Describe the bug
The exporter given the NaN values which will result Prometheus Sum into NaN as well for kafka_consumergroup_group_lag.
Additional context
Hi, I came across a several similar issues: https://github.com/prometheus/memcached_exporter/issues/38 and the author of Prometheus said this himself.
I believe these are the source of the NaN value left so could we safely remove them:
https://github.com/lightbend/kafka-lag-exporter/blob/97ee9d46b6cb2fd42674bb90da9638484150510d/src/main/scala/com/lightbend/kafkalagexporter/ConsumerGroupCollector.scala#L250-L258
Or we could mark it with error label or something so we could drop them a relabel config.

BTW, maybe old client_ids, returning NaN, are being kept? The image below shows client ids from a single partition of a topic, and on that time we had 5 client processess "connected" to this topic.
(The green and yellow lines are returning NaN)

@andreminelli one of our work around is query with something like this:
sum(kafka_consumergroup_group_lag{} > 0)

So all of the NaN value will got dropped with >0. We still got weird results with the dev environments caused by too few points turned into NaN. The productions' graphs look great to us.

@andreminelli one of our work around is query with something like this:
sum(kafka_consumergroup_group_lag{} > 0)

Thanks, @locmai .
One point I haven't noted is that we use the kafka_consumergroup_group_max_lag_seconds metric, which seems to be affected by any topic having kafka_consumergroup_group_lag with NaN, and not kafka_consumergroup_group_lag directly...
I think my report is still related to this issue though.


Num of tokens in LLaVA

Hi,
thank you for this great work!
In Table 1 of your paper, accuracy improvement is reported by adding S2 Scaling to LLaVA. As shown in Figure 1, the channel dimension of S2 Scaling is double the size of the original feature w/o S2 Scaling. Did you simply feed the 1536 channel feature into the projector in MLLM (I'm not sure how you changed the projector, is your output channel number of projector the same as LLaVA ?),
or did you feed the 2 features(21616768) into projector separately (I think this will make num of token to 2576)?
Great thanks in advance.

Hi! Yes we simply feed the 1536-dim features into the projector. We change the input dimension of projector from 768 to 1536.

The output dimension of projector is the same.

Thank you for ur reply!
My confusion has been adequately addressed and ill close the issue.


pull request for e2e test at 01/20/2017 09:45:08

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Remove builtins

I'd like to remove the shell functions (ironic, since I added them) in favor of a module containing them (plus ping). This was discussed after the merge for #58 and I believe it's better to add them as a module  (as suggested). I've gone ahead and created a module on NPM called "runtime-shell" containing the commands.

Wait, fixing little bug...

@ArielAbreu I think shell module shouldn't depend on runtime directly and it should be passed as an argument like require('runtime-shell')(runtime).
Note: runtime.shell.setCommand is probably going to change.

I think the biggest issue with current interface is that it's not easy to redirect input/output from tty to somewhere else.

I'm also working on launching she'll commands from an application.

And about depending, that is better and it's what I use for multiple files.

The problem with dependency on runtime is that it forces everyone to use the version of runtime that is bundled with shell and not the one user would like to require.

btw runtime registers itself as a global runtime object, that's another way to use it

No, I mean (if you see the source, you'll see it too) that passing runtime in is better that's what I do to require the shell commands. Plus, I just fixed that, just need to publish it on npm.

I'd say let's figure out better interface for commands that supports input/output redirection and doesn't always push output into tty.

I'm not completely sure if global runtime object is good idea though, we might want to remove that.

Yes, a better interface is needed. Also, a way of getting Input easily from inside an app. Right now, it can be done, but you have set a listener for key down and manage keys and newlines, etc.

The global is sort of iffy, because it can be useful, but if the user wants to have runtimejs under a different name it isn't, ideal. (I've got message lag)

Opened an issue in runtime-shell https://github.com/ArielAbreu/runtime-shell/issues/1

I'm not completely sure if global runtime object is good idea though, we might want to remove that.

Me too, also but being a dependency it would allow to define with what version (of the API) of runtime it's compatible

@piranna True, but runtime-shell should be able to work any (newer) version of runtimejs. Seems logical to have whatever version the user wants.

@piranna we might want to use a peerDependency

I just pushed an update to npm that accepts runtime as an argument.

I published a new update to it that accepts it as a peerDependency, and makes passing runtime to the module optional.

@ArielAbreu in my opinion, if there is a peer dependency, optional argument would make it very confusing. I'd say let's just use the peerDependency and remove the argument.

Ok, i'll push the update

@piranna @kesla @ArielAbreu I'm curious what do you guys think the best way to manage plugin dependencies?

I didn't know about peerDependencies until today, I think either peerDependencies or regular dependencies, that way it can request a specific version.

@piranna True, but runtime-shell should be able to work any (newer) version of runtimejs. Seems logical to have whatever version the user wants.

Yes, but that's why semver was invented... ;-) Shell could have runtime ^0.1.0 as dependency and it will work with newer versions...

@piranna I added a ping command to shell (needs tcp), and TCP was introduced in what version? 0.1.3-0.1.4, right? Yes, it could have it as a dependency, but versions ^0.1.4 would work with it. BTW, there is a discussion issue (ArielAbreu/runtime-shell#1) in runtime-shell.

while versions are <1.0 each update could be breaking, I guess peer dependency "0.x" would be ok

Closing pull request for now, it conflicts with a more important PR (#60).

@ArielAbreu how could this PR conflict with another PR?

I'm reopening it because it turns out it wasn't conflicting.

Whoops, deleted this branch by accident. That's OK! I just deleted the files. I'll do it again.


[AutoPR datalake-store/resource-manager] [ADLS] add Get Usages API

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5977

Codecov Report

Merging #5260 into restapi_auto_datalake-store/resource-manager will not change coverage.
The diff coverage is n/a.

@@                              Coverage Diff                              @@
##           restapi_auto_datalake-store/resource-manager    #5260   +/-   ##
=============================================================================
  Coverage                                         49.04%   49.04%
=============================================================================
  Files                                              6041     6041
  Lines                                            166188   166188
=============================================================================
  Hits                                              81507    81507
  Misses                                            84681    84681

Impacted Files
Coverage Δ

azure-mgmt-hanaonazure/azure/mgmt/__init__.py

...osearch/azure/cognitiveservices/search/__init__.py

...ch-videosearch/azure/cognitiveservices/__init__.py

azure-mgmt-servermanager/azure/mgmt/__init__.py

...esearch/azure/cognitiveservices/search/__init__.py

azure-mgmt-logic/azure/mgmt/__init__.py

...ssearch/azure/cognitiveservices/search/__init__.py
100% <0%> (ø)

...h-customsearch/azure/cognitiveservices/__init__.py
100% <0%> (ø)

...msearch/azure/cognitiveservices/search/__init__.py
100% <0%> (ø)

azure-mgmt-reservations/azure/mgmt/__init__.py
100% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

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

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/5263


Remove unused packing plan code

do we need to change FirstFitDecreasingPackingTest.java accordingly?

@objmagic no, there are no consumers of these methods. They're leftover from a previous refactor that used another approach.

You are right I forgot to check if arguments match.

👍


Error Message when creating an account happening

Hi,
As the system Admin I am not receiving this error but my users are and I can't figure out why.
Review all error messages below to correct your data.
Apex trigger dlrs_AccountTrigger caused an unexpected exception, contact your administrator: dlrs_AccountTrigger: execution of AfterInsert caused by: dlrs.fflib_QueryFactory.InvalidFieldException: Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c': (dlrs)
Any help would be much appreciated I don't want to turn off the rollups.
Jessie

Can you share a screenshot of your rollup definition please?

Hi
I was able to fix the issue by not having the "deploy code to support record merging" checked when deploying the child trigger. For me the weird part was that as the sys admin I could create account records but none of the other users code. So I am wondering if it has something to do more with a user setting when you deploy the additional code?

Hmmm most interesting, thanks for sharing, this sounds like a bug, i'll have a go at recreating it in a test org.

I am receiving a similar error when creating an account.
Error message is
dlrs_AccountTrigger: execution of AfterInsert caused by: System.SObjectException: Invalid field Parent for Account Class.dlrs.RollupService.handleRollups: line 842, column 1 Class.dlrs.RollupService.triggerHandler: line 302, column 1 Trigger.dlrs_AccountTrigger: line 7, column 1

This is strange, while i am not sure why it allowed it, but Parent is not a valid relationship field, try ParentId instead. https://andyinthecloud.com/2014/05/08/account-hierarchy-rollups-clicksnotcode/

Hi,
I am still having issues with this error. I received this email when a user was trying to create a membership which pushes data to an account. Not sure if this is helpful at all.
Sandbox
Apex script unhandled trigger exception by user/organization: 0050j000000K8jG/00D0j000000CqSV Source organization: 00Do0000000J1uj (null)
dlrs_MembershipTrigger: execution of AfterInsert
caused by: dlrs.fflib_QueryFactory.InvalidFieldException: Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c'
Class.dlrs.fflib_QueryFactory.getFieldToken: line 95, column 1
Class.dlrs.fflib_QueryFactory.addOrdering: line 446, column 1
Class.dlrs.fflib_SObjectSelector.configureQueryFactory: line 392, column 1
Class.dlrs.fflib_SObjectSelector.newQueryFactory: line 294, column 1
Class.dlrs.fflib_SObjectSelector.newQueryFactory: line 276, column 1
Class.dlrs.RollupSummariesSelector.CustomObjectSelector: line 161, column 1
Class.dlrs.RollupSummariesSelector: line 76, column 1
Class.dlrs.RollupService: line 992, column 1
Class.dlrs.RollupService: line 673, column 1
Class.dlrs.RollupService.triggerHandler: line 307, column 1
Trigger.dlrs_MembershipTrigger: line 7, column 1

Hi,
I feel like this is a user permission set because as the system admin I can create records without running into the above error but all of my users are running into this error. I can't for the life of me figure out what permission is needed on the users records so that this error will stop occurring.
Please Help,
Jessie

Yes it is most odd.... you should not have to... but... can you try assigning the rollup permission set to one of the users and trying again. Another issue posted here seems to have been resolved by doing this.

Here is the issue that seems to indicate adding permissions (the poster does not state which ones) https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/285 solves it. I would go with the process permission set packaged with the tool as a test. I've spent the last half hour trying to repo this and i just cannot, can you confirm what version your on?

Hi,
That person no longer works at Pacific Science Center. I gave the profile access to all of the apex classes that start with dlrs. On the user permission set I gave the user both Lookup Rollup Summaries (Configure Rollups and Process Rollups). I also upgraded to version 2.8 to see if that would magically make the error go away. All of this is in sandbox, did not want to touch production even though it is also triggering the same error.
Thanks,
Jessie
Jessica Hanna | PACIFIC SCIENCE CENTER
Database Administrator | P<PHONE_NUMBER> | jhanna<EMAIL_ADDRESS>Pacific Science Center is an independent, not-for-profit institution that ignites curiosity and fuels a passion for discovery, experimentation, and critical thinking.
Terracotta Warriors of the First Emperorhttps://www.pacificsciencecenter.org/terracotta-warriors/
April 8 – September 4
Embark on a once-in-a-lifetime experience 2,200 years in the making.
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Saturday, May 27, 2017 10:54 PM
To: afawcett/declarative-lookup-rollup-summaries<EMAIL_ADDRESS>Cc: Jessica Hanna<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [afawcett/declarative-lookup-rollup-summaries] Error Message "Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c'" when creating an account happening (#432)
Here is the issue that seems to indicate adding permissions (the poster does not state which ones) #285https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/285 solves it. I would go with the process permission set packaged with the tool as a test. I've spent the last half hour trying to repo this and i just cannot, can you confirm what version your on?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/afawcett/declarative-lookup-rollup-summaries/issues/432#issuecomment-304494693, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWZu4SEiRh_XufW8gsu1XB4CNWrvEaNLks5r-QwIgaJpZM4K2AwS.

Ok thats understood, did you try each change incrementally to see which resolved the issue? Any idea which one resolved it?

Hi,
I haven’t been able to resolve the issue. I’m not sure if I should try to uninstall the package from sandbox and then reinstall the package to see if a fresh start would help?
Thanks,
Jessie
Jessica Hanna | PACIFIC SCIENCE CENTER
Database Administrator | P<PHONE_NUMBER> | jhanna<EMAIL_ADDRESS>Pacific Science Center is an independent, not-for-profit institution that ignites curiosity and fuels a passion for discovery, experimentation, and critical thinking.
Terracotta Warriors of the First Emperorhttps://www.pacificsciencecenter.org/terracotta-warriors/
April 8 – September 4
Embark on a once-in-a-lifetime experience 2,200 years in the making.
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Monday, May 29, 2017 11:11 AM
To: afawcett/declarative-lookup-rollup-summaries<EMAIL_ADDRESS>Cc: Jessica Hanna<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [afawcett/declarative-lookup-rollup-summaries] Error Message "Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c'" when creating an account happening (#432)
Ok thats understood, did you try each change incrementally to see which resolved the issue? Any idea which one resolved it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/afawcett/declarative-lookup-rollup-summaries/issues/432#issuecomment-304709613, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWZu4bd2-vSPwlW7hQMBOLZfP29jPE53ks5r-woogaJpZM4K2AwS.

@JesssicaHanna is it possible for you to grant subscriber access to me and provide me a list of steps?

Hi,
I have given you access to our sandbox (My profile that doesn’t error out and a co-worker’s profile that has the errors). Please let me know if you need anything else.
Below are the steps for us to create a membership with a screen shot.
Creating New DC & Corporate Membership that is complementary

  Click the Membership tab

  Click New button

  Enter Guest Name information

a.       EX. John doe
b.       If doing a corporate membership leave space blank

  Enter Account Name

a.       Corporate: enter company name EX. Microsoft
b.       Dc Membership:  enter household name EX. John Doe Household

  Enter SW Pass number

  Enter Membership Level

  Enter complimentary Membership date will be same as transaction date

  Click Complimentary Membership

  Fill in complimentary membership reason EX. Breakfast

Enter Membership effective and expiration date

Enter SW guest number

Click save
<EMAIL_ADDRESS>

Thanks,
Jessie
Jessica Hanna | PACIFIC SCIENCE CENTER
Database Administrator | P<PHONE_NUMBER> | jhanna<EMAIL_ADDRESS>Pacific Science Center is an independent, not-for-profit institution that ignites curiosity and fuels a passion for discovery, experimentation, and critical thinking.
Terracotta Warriors of the First Emperorhttps://www.pacificsciencecenter.org/terracotta-warriors/
April 8 – September 4
Embark on a once-in-a-lifetime experience 2,200 years in the making.
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Monday, May 29, 2017 7:57 PM
To: afawcett/declarative-lookup-rollup-summaries<EMAIL_ADDRESS>Cc: Jessica Hanna<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [afawcett/declarative-lookup-rollup-summaries] Error Message "Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c'" when creating an account happening (#432)
@JesssicaHannahttps://github.com/jesssicahanna is it possible for you to grant subscriber access to me and provide me a list of steps?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/afawcett/declarative-lookup-rollup-summaries/issues/432#issuecomment-304763333, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWZu4aNTVJLPceDi2IWUxO-QJvBeuql1ks5r-4VggaJpZM4K2AwS.

Ok i think its the API restrictions on the package, i cannot see the setting for some reasons, i suspect its due to subscriber login context. Can you review this help article and try again... https://help.salesforce.com/articleView?id=editing_client_security_profile.htm&type=0

Hi,
It seems that SFDC removed the API access from installed packages in Summer ’16.
https://help.salesforce.com/articleView?id=000239703&type=1
So I don’t know what to do.
Thanks,
Jessie
Jessica Hanna | PACIFIC SCIENCE CENTER
Database Administrator | P<PHONE_NUMBER> | jhanna<EMAIL_ADDRESS>Pacific Science Center is an independent, not-for-profit institution that ignites curiosity and fuels a passion for discovery, experimentation, and critical thinking.
Terracotta Warriors of the First Emperorhttps://www.pacificsciencecenter.org/terracotta-warriors/
April 8 – September 4
Embark on a once-in-a-lifetime experience 2,200 years in the making.
From: Andrew Fawcett<EMAIL_ADDRESS>Sent: Thursday, June 01, 2017 9:56 PM
To: afawcett/declarative-lookup-rollup-summaries<EMAIL_ADDRESS>Cc: Jessica Hanna<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [afawcett/declarative-lookup-rollup-summaries] Error Message "Invalid field 'CreatedDate' for object 'dlrs__LookupRollupSummary__c'" when creating an account happening (#432)
Ok i think its the API restrictions on the package, i cannot see the setting for some reasons, i suspect its due to subscriber login context. Can you review this help article and try again... https://help.salesforce.com/articleView?id=editing_client_security_profile.htm&type=0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/afawcett/declarative-lookup-rollup-summaries/issues/432#issuecomment-305689593, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWZu4XsSl5XwaV7GNCaAa0B-iM_CqRPSks5r_5X8gaJpZM4K2AwS.

Hmmm very interesting... @JesssicaHanna, i suggest raising a support ticket with Salesforce, it seems that they may have removed this feature from your org and left the default to off perhaps? I spent quite a while debugging it and its definitely returning no Apex Describe information in the managed package code for your non-admin user.  Which according to historic posts i found via google is a symptom of having API access disabled. Feel free to share this explanation to them.

@JesssicaHanna did you make any progress with Salesforce support on this? I'll close out this issue for now, but please, no worries if you want resume discussions, we can re-open here. 👍


Include branch name when specifying upstream

See https://github.com/vitorgalvao/tiny-scripts/issues/26#issuecomment-234400952
Avoid failures when setting upstream branch by using remote/branch instead of just remote.

Lets try it out. Will keep an eye on it for future failures, and revert if it’s the case.
Thank you.


Disallow peer download when replication is < 2

Disallow peer download when replication is < 2

Codecov Report

Merging #11469 (4888c40) into master (5bee13a) will decrease coverage by 48.50%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #11469       +/-   ##
=============================================
- Coverage     62.93%   14.43%   -48.50%
+ Complexity     1111      201      -910
=============================================
  Files          2318     2318
  Lines        124328   124328
  Branches      18980    18981        +1
=============================================
- Hits          78241    17947    -60294
- Misses        40533   104862    +64329
+ Partials       5554     1519     -4035

Flag
Coverage Δ

integration
?

integration1
?

integration2
?

java-11
?

java-17
14.43% <0.00%> (-48.36%)
:arrow_down:

java-20
?

temurin
14.43% <0.00%> (-48.50%)
:arrow_down:

unittests
14.43% <0.00%> (-48.50%)
:arrow_down:

unittests1
?

unittests2
14.43% <0.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...he/pinot/segment/local/utils/TableConfigUtils.java
0.00% <0.00%> (-70.66%)
:arrow_down:

... and 1489 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Can you please rebase and fix the test?

@xiangfu0 thanks for reviewing. Tests have been fixed.


Exclude pragma comments from measured line width

Exclude trailing expression end-of-line comments to be included in the measured line width (type: , pyright: pylint:, noqa, but NOT nocoverage because it is a trailing clause comment that isn't sensitive about its positioning

Curious of what a solution would look like. These are line suffixes, so would we want to just match on the content that'd we want to ignore? Or is there a more robust way to go about this?

Curious of what a solution would look like. These are line suffixes, so would we want to just match on the content that'd we want to ignore? Or is there a more robust way to go about this?

We'll match on the content and set reserved width to 0 if it is a pragma comment.

Sounds very straight-forward then. I can tackle this after #6901.

IIUC there would be no exceptions based on the values of the pragmas.
So something like this would probably work, right?
      // Don't reserve width for excluded pragma comments.
      let reserved_width = if ["noqa", "type:", "pylint", "pyright:"]
          .iter()
          .any(|prefix| trimmed.starts_with(prefix))
      {
          0
      } else {
          normalized_comment.text_len().to_u32() + 2 // Account for two added spaces
      };

Might need a some redundant trims to get trimmed unless we refactor some of #6901. Not sure how worth it it is.

That looks about right. I don't think we need to handle non-breaking spaces. I don't even think most pragma comments remain valid if you add a non breaking space.

Interesting. I didn't think that a NBSP would invalidate pragmas. I just tested it with

What was the result. Did the typechecker pick up the type or not?

I'm imagining a case where a user realizes their pragmas are invalid due to NBPS and corrects them. They might need to address both their pragmas' reinstated functionality and now potential formatting changes.

I can see how this is annoying. But I'm not too worried because I don't know how you accidentally end up with a NBPS.  That's why I think this is rare.

What was the result. Did the typechecker pick up the type or not?

It did not pick up the type. You called it.
# Lead by a NBSP
a = []  # type: list[str]

# Lead by a space
b = []  # type: list[str]

❯ mypy scratch.py
scratch.py:2: error: Need type annotation for "a" (hint: "a: List[<type>] = ...")  [var-annotated]
Found 1 error in 1 file (checked 1 source file)

If you throw the NBSP into b's pragma you get
scratch.py:2: error: Need type annotation for "a" (hint: "a: List[<type>] = ...")  [var-annotated]
scratch.py:5: error: Need type annotation for "b" (hint: "b: List[<type>] = ...")  [var-annotated]
Found 2 errors in 1 file (checked 1 source file)

I can see how this is annoying. But I'm not too worried because I don't know how you accidentally end up with a NBPS. That's why I think this is rare.

Yea this is what I've been trying to understand. In all transparency I wasn't too familiar with NBSP prior to working on this stuff. So I'd have to look into them more to gauge it.

Yea this is what I've been trying to understand. In all transparency I wasn't too familiar with NBSP prior to working on this stuff. So I'd have to look into them more to gauge it.

Me neither. I only used   when writing HTML but that's a long time ago... I don't even know how to type a NBSP on my keyboard :laughing:

So I've looked into this more. Tools like mypy and flake8 will invalidate pragma comments if they are lead by a NBSP (doesn't matter how many). However ruff doesn't invalidate the pragmas. Since #5554 these comments are stripped of their whitespace regardless of the kind of whitespace that is there.
My preliminary thoughts are that I actually prefer ruff's current behavior. Regardless of how the NBSP ends up there, you're still intentionally marking it with a pragma. In fact, I'd think that having a NBSP (for some kind of rendering purposes) actually makes sense. A pragma comment is inherently tied to the comment prefix #.
A NBSP is meant to attach two elements together always and not break the content. So while this might be rare, it's not unreasonable (IMO).
Here is the relevant Discord thread.
Here is a playground script I've been messing with to better understand NBSP in the context of ruff and other tools.
I'll defer to your judgement, but if we decide to move forward with invalidating them then maybe we need to consider updating ruff to align with other tools. I have a commit ready:
diff --git a/crates/ruff/src/noqa.rs b/crates/ruff/src/noqa.rs
index 36cf5105a..62801801c 100644
--- a/crates/ruff/src/noqa.rs
+++ b/crates/ruff/src/noqa.rs
@@ -11,7 +11,7 @@ use log::warn;
 use ruff_text_size::{Ranged, TextLen, TextRange, TextSize};

 use ruff_diagnostics::Diagnostic;
-use ruff_python_trivia::indentation_at_offset;
+use ruff_python_trivia::{indentation_at_offset, PythonWhitespace};
 use ruff_source_file::{LineEnding, Locator};

 use crate::codes::NoqaCode;
@@ -53,7 +53,7 @@ impl<'a> Directive<'a> {
             let mut comment_start = noqa_literal_start;

             // Trim any whitespace between the `#` character and the `noqa` literal.
-            comment_start = text[..comment_start].trim_end().len();
+            comment_start = text[..comment_start].trim_whitespace_end().len();

             // The next character has to be the `#` character.
             if text[..comment_start]

I don't know how you accidentally end up with a NBPS. That's why I think this is rare.

FWIW I constantly type unintentional NBSP. On UK mac Keyboard, Alt-3 is #, and Alt-Space is NBSP. If I'm typing fast sometimes these can blur together (hitting space before releasing the alt). However, I always catch them now, because I got my IDE to highlight NBSP). I'm not sure how often other people encounter or notice this problem, though.


Improve summary and getting started docs on the website

Hi,

I think the GettingStarted could be expanded somewhat.

I'd propose:
echo "Hello world" > hello.txt
camput file hello.txt

(remember sha1)
create a static-set with this entry in it, remember sha1

create a directory with the static-set in it,

mkdir ~/camstore; cammount ~/camstore $sha1; ls ~/camstore

That's at least how far I got now :)

@mpl Given that I still don't quite understand what the tools are for, I need to randomly run things or look at the man for the tool to figure out what to do, which is not a great experience. Docs are too sparse right now for me to figure out how to start moving any of my data to Camlistore without spending a lot of time experimenting.


gulp multiple Watch task bundle into single task

Hello,
I am having a single gulpfile.js in which I have written build task. And I am having small-2 modules basis gulp file which generate module specific build. Now I have written gulp-watch statement in every module specific gulp task.
Is it possible to call all watch command from main gulp file (gulpfile.js)?

Support questions should be directed to StackOverflow.

A link to the SO question here would be helpful


Dark mode (Tracker issue)

Who for

Users in dark mode

What

[x] #2489
[x] #2474

Solved

[x] #1826
[x] #1214
[x] #919
[x] Unlegible summary card in dark mode https://user-images.githubusercontent.com/1689815/143427603-aa13d96d-94c9-4f52-8335-356016a19499.png (Fixed by @monsieurtanuki  in #684)
[x] #1218
[x] #1040
[x] #1043
[x] #1257
[x] #1215
[x] #875
[x] #1386
[x] #1387

Part of

#525

I'm reopening, it's meant to track issues over time

Can we close this one @teolemon the big dark mode issues are a thing of the past and if one would occur we don't need a tracker, do we
Feel free to reopen if you disagree


add plugin: NSFocus

This plugin detects NSFocus.
Homepage:

http://nsfocusglobal.com/

I've tested this plugin on a simple HTTP server with spoofed server header. I haven't tested this plugin on the WAF as I don't have a test WAF upon which to test.
Implemented based on:

https://github.com/urbanadventurer/WhatWeb/tree/master/plugins/NSFocus.rb

Output
root@kali:/pentest/web/wafw00f# wafw00f http://<IP_ADDRESS>:8080/

                                 ^     ^
        _   __  _   ____ _   __  _    _   ____
       ///7/ /.' \ / __////7/ /,' \ ,' \ / __/
      | V V // o // _/ | V V // 0 // 0 // _/
      |_n_,'/_n_//_/   |_n_,' \_,' \_,'/_/
                                <
                                 ...'

    WAFW00F - Web Application Firewall Detection Tool

    By Sandro Gauci && Wendel G. Henrique

Checking http://<IP_ADDRESS>:8080/
The site http://<IP_ADDRESS>:8080/ is behind a Imperva SecureSphere
Number of requests: 8

root@kali:/pentest/web/wafw00f# wafw00f http://<IP_ADDRESS>:8080/ -a

                                 ^     ^
        _   __  _   ____ _   __  _    _   ____
       ///7/ /.' \ / __////7/ /,' \ ,' \ / __/
      | V V // o // _/ | V V // 0 // 0 // _/
      |_n_,'/_n_//_/   |_n_,' \_,' \_,'/_/
                                <
                                 ...'

    WAFW00F - Web Application Firewall Detection Tool

    By Sandro Gauci && Wendel G. Henrique

Checking http://<IP_ADDRESS>:8080/
The site http://<IP_ADDRESS>:8080/ is behind a Imperva SecureSphere and/or NSFocus
Generic Detection results:
The site http://<IP_ADDRESS>:8080/ seems to be behind a WAF or some sort of security solution
Reason: Blocking is being done at connection/packet level.
Number of requests: 11

thanks!