Commission new CERN hardware allocated to WMAgent - stress test

Impact of the new feature
WMAgent
Is your feature request related to a problem? Please describe.
We are trying to move to bigger and more powerful nodes at CERN, such that each agent can handle a larger number of running jobs (goal is to reach capabilities similar to the FNAL schedds)
Describe the solution you'd like
The VOC created vocms0243 (r2.3xlarge, 32VCPU/128GB, 750GB io2); the SI team have already connected it to the global/production pool.
Once the node is fully operational, we should deploy the latest production WMAgent - connected  to the production central services - and run around 100k jobs in total  as we stress that node and see how far we can get (in terms of running jobs in Condor).
We should probably test how much it scales in steps of 5k, starting with (condor_schedd configuration):

25k running jobs
then 30k running jobs
last but not least, 35k jobs

Note: the VOC (Germano) is still sorting some final issues with that node.
Describe alternatives you've considered
We might as well synchronise these tests with the P&R team such that we can actually run some real work in the system (preferentially single core workflows).
Additional context
We can adapt this GH issue description as we give more thought to the final testing setup and metodology.

Even though it wasn't originally planned for Q3, I'm taking this issue now with the WMAgent upgrade campaign (to Py3 1.5.2).

Updating this ticket with some important information collected during the scale tests, which peaked around a week or two ago:

Running jobs: peak at 48k jobs, more information in this snapshot: schedd_running_jobs
CPU: was all the time below 25%
Memory: peak at 73GB of memory use, more information in this snapshot: host_memory
ramdisk (for the condor spool directory): below 70%, as can be seen in this snapshot: host_disk
Overall: services were running smoothly and no instabilities have been spotted.

Alan's conclusion: we should recycle all of our current WMAgent nodes and allocate new nodes that are worthy it a total of 200k jobs. Assuming each agent can scale up to 50k jobs, that means we need 4 new nodes (actually twice this number to properly deal with upgrade campaigns), plus one extra node as a contingency plan.
In addition to that, I would relax the specs and allocate something like 24/96GB, 750GB io2, instead of the current configuration of vocms0243, used for these tests.
Any comments are very welcomed.

Cross-reference: https://its.cern.ch/jira/browse/CMSVOC-288

Hello, this is my Github account, in case you may want to tag me

The 3 remaining nodes - vocms0250, vocms0251 and vocms0280 - have just been requested to be deleted.
Oracle accounts from prod14 through prod22 have been deleted as well.
This task is now fully done. Closing this ticket.


Implement Query Source Type

Allow developers to display db table content directly without having to implement intermediate PHP classes.
Roughly I had something like this in mind (EDIT: SEE UPDATED VERSION IN THREAD BELOW)):
<?xml version="1.0"?>
<grid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:module:Hyva_Admin:etc/hyva-grid.xsd">
    <source>
        <query>
            <columns>
                <column as="id">entity_id</column>
                <column>sku</column>
                <column as="name">t_name.value</column>
            </columns>
            <from as="mainTable">catalog_product</from>
            <where>
                <and>id IN(:ids)</and>
                <or>sku = :sku</or>
            </where>
            <join>
                <left conditionType="with">

catalog_product_entity_varchar

                    <condition>t_name.entity_id=mainTable.entity_id AND attribute_id=47</condition>
                </left>
            </join>
            <bind_parameters>
                <param name="ids">productIds</param>
                <param name="sku">sku</param>
            </bind_parameters>
        </query>
    </source>
</grid>

This is a very rough draft  and unfinished, all open to change.
It is first attempt to come up with a intuitive XML schema to allow defining a query in an extensible manner.
Most of the above should hopefully be understandable, but the bind parameters might need an explanation:
The use case for the bind params is to define a grid that is (for example) on a product page, and that then displays some data for that product.
There needs to be some way to pass values to the grid from PHP via the bind parameters.
In this example, the grid grid block (?) could say something like
$grid->addSourceBindParams([
    'productIds' => $ids,
    'sku' => $request->getParam('sku')
]);

You might notice this is not completely thought out yet.

In Hyva_Admin version 1.1.5 the \Hyva\Admin\Model\TypeReflection\DbSelectColumnExtractor was added, which can inspect \Magento\Framework\DB\Select instances to figure out columns and types.
Also, \Hyva\Admin\Model\MethodValueBindings provides all that is needed to pass values from PHP into the query.
All that is missing is the code to build the Select instance from the XML.
Note: the XML draft above needs to be expanded to include table name aliasing.

Reworked draft for the query source type XML:
<?xml version="1.0"?>
<grid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:module:Hyva_Admin:etc/hyva-grid.xsd">
    <source>
        <query>
           <select>
              <from as="main_table">catalog_product</from>
              <columns>
                  <column as="id">entity_id</column>
                  <column>sku</column>
              </columns>
              <join type="left" table="catalog_product_entity_varchar" as="t_name">
                  <condition>t_name.entity_id=main_table.entity_id AND attribute_id=47</condition>
                  <columns>
                    <column as="name">value</column>
                  </columns>
              </join>
           </select>
           <unionSelect type="all">
              ... all contents of select allowed ...
           </unionSelect>
        </query>
    </source>
</grid>

Nested subqueries will not be supported in the initial version.
Any conditions are specified using the <defaultSearchCriteriaBindings> outside of the <query> spec.
If no columns are specified on the main select, * is used.
For joined tables it is different: if no columns are specified on a join, no columns are added to the result set. It is possible to specify * as a join column, too.

Implement in future if it turns out they are needed:

having
subqueries

Feature complete in fb21882, now moving into manual testing and documentation.

Implemented in eaa9072
Still missing: documentation and the features for future enhancements listed in https://github.com/hyva-themes/magento2-hyva-admin/issues/17#issuecomment-814982844

First query source type released in 1.1.6.
Closing this issue for now. If one of the missing features above needs to be implemented, I'll reopen.


Glibc errors

I keep on getting the following errors when trying to create a ramdisk:
../Linux/PlistBuddy: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ../Linux/PlistBuddy)
../Linux/PlistBuddy: /usr/lib/libc.so.6: version `GLIBC_2.33' not found (required by ../Linux/PlistBuddy)
../Linux/PlistBuddy: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by ../Linux/PlistBuddy)
../Linux/pzb: /usr/lib/libcurl.so.4: no version information available (required by ../Linux/pzb)
Version: 3fc8c093f4660f6c6e07c0c9214618733da01ffc - 36
libfragmentzip version: 0.60-120447d0f410dffb49948fa155467fc5d91ca3c8
init pzb: https://updates.cdn-apple.com/2021FallFCS/fullrestores/002-02953/B1EB01B7-DE28-4975-B294-49BAE9599E72/iPhone_4.7_P3_15.0_19A346_Restore.ipsw
init done
Error: file Firmware/.trustcache does not exist, or is a directory
[-] An error occurred

I ran strings /usr/lib/libstdc++.so.6 | grep GLIBCXX and I indeed do not have the correct glibc versions, only these:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28

I have tried updating my libc and libstdc++ versions, but they're up to date.
I am on Void Linux.
I have also tried this on Linux Mint, but get the same errors.
I assume I need to use the script on another distro, or somehow install the correct libc version on void/mint. What do I do?

I have yet to figure out how to statically compile this
https://github.com/facebookarchive/xcbuild/blob/master/Libraries/plist/Tools/PlistBuddy.cpp

Oh ok. If you don't mind, could you give me your libc.so.6 and libstdc++.so.6 and any other dynamic libraries i might need (i think that is it tho)? Would that fix the error?


Option to not yank empty or whitespace lines

Description of problem
I often use dd to yank lines of text and then remove empty lines (with dd), overwriting the text that I yanked in the clipboard. This usually means that I have to undo until the line that I yanked is there again, and yank it once more, taking up time.
Describe the solution
An option in vimrc (disabled by default) to not yank empty lines or lines consisting of only whitespace.
Alternatives I've considered
I can remove empty lines with J without yanking them. This does not work on lines consisting of whitespace as the whitespace is appended to the next line.

You can achieve this by using any of the following methods:

V-line mode: dd the required line, then go to the line where replace should be done, do Vp over there.
Black hole register: writing to this register produces no affect and often used for specifically deleting text without yanking. You can read about this in the docs :help "_

You should be able to map "dd" to a function that checks whether the line is empty and uses dd directly if not, "_dd if it is empty.
It is not very useful to put an empty line on the clipboard, but it happens with other applications as well.


Light Sensor add ?

How can i add a Light Sensor ?

Take a look at the README.
what did you try and doesn't work?

ok i have wrong read all sorry, it works fine :-)


Rethrown errors difficult to debug

I'm finding that a lot of times the reThrown errors from Action.js are quite ambiguous and hard to trace down.
Often the stack trace is not visible as it is rethrown from inside the Action.js and masks the origin of the actual error - combined with source maps this has even more inconsistencies.
Attempting to recreate an error seems to not be working right now but this is definitely happening - will post more details when it happens again.

I've been exploring removing Promises from McFly. Internally, Facebook seems to be handling async in the stores rather than the actions:
http://ianobermiller.com/blog/2014/09/15/react-and-flux-interview/
Thoughts? Promises feel like more trouble than they are worth.

I recently found this panel discussion https://www.youtube.com/watch?v=LTj4O7WJJ98 regarding flux - at a point they compare the two approaches used internally in Facebook by two teams. Seems like one team fetches (async) in stores and the other fetches in Action creators. The panel lead seems to prefer the ActionCreator async approach as it's easier to share logic and also not tie data to a specific endpoint.
I've been scaling fairly well with promises in action creators but I just lose some errors every now and then into a pyramid of promises.


[Production] Unsaved edits do not persist

Steps

Log in to osf.io
Navigate to a project for which you have admin or read-write permissions
Go to the files tab and click a file name (must be text file) to view the file in the file detail page
Toggle Edit mode and type a few words
Without saving, untoggle Edit and navigate away from the page again by going to another page on the OSF (Dashboard, Files tab of the project, etc).
Return to the file.
Check to see if your unsaved changes persist (the previously typed words are still there) when you toggle edit mode

Expected behavior
I expect that my unsaved edits will persist when I toggle edit mode.
Actual behavior
My unsaved edits do not persist.
Screenshots

It looks like there is inconsistency across browsers with this issue, as well. On Chrome and Firefox, edits don't persist at all. On Safari, edits flash on the screen and then disappear.

@chrisseto ... also looks to be .TXT editor bug.

I would not expect those edits to persist. Rather, I would expect a warning upon navigating away from the page: "Unsaved changes exist [...]".

That's one approach -- But I believe unsaved edits persist in Wiki? @brianjgeiger? If so -- ought this follow the same?

Any of the collaborative editing contexts should work the same. Unsaved edits should persist. If it's just live editing and not collaborative, then not necessarily.
.:Brian J. Geiger
Sent from the phone.

On Jun 15, 2015, at 2:48 PM, LarryB<EMAIL_ADDRESS>wrote:
That's one approach -- But I believe unsaved edits persist in Wiki? @brianjgeiger? If so -- ought this follow the same?
—
Reply to this email directly or view it on GitHub.

On production, staging and locally, all my unsaved changes persist across page reloads

Cailey and I just tested this again on all browsers (to make sure my internet connectivity wasn't an issue). Edits in Firefox persist for between 1 and 20 seconds and then disappear while we are still in our respective files (all in OSF Storage and on different projects); same goes for Safari. For Chrome it's inconsistent behavior (sometimes they persist, sometimes they disappear after some time).  Here's one of the files tested on (which demonstrated the disappearing edits): https://osf.io/f58m6/

@NatashaRichter @caileyfitz what browser versions are you using? I can't reproduce this on Firefox (36.0.1), Chrome (43.0.2) or Safari (version 7.1.6)

Just had @caileyfitz show me the issue on Firefox 0.38. The unsaved edits show up but then the edit panel reloads and the changes are gone (sometimes) .

After looking into this issue, I found that the FileEditor in editor.js loads twice in Firefox, and the unsaved changes are gone after that second load. Still can't figure out where/why that reload is happening. Going to defer this for now since the behavior is so inconsistent, but feel free to change back to "ready" if someone wants to look into this further.

All good -- Thank you @samanehsan

@NatashaRichter Is this still an issue or can this be closed?


[BUG] JSQLParser 4.5 : PostgreSQL: Each parse statement creates extra temporary thread

Failing SQL Feature:

Each parse statement creates extra temporary thread

SQL Example:

select 1
from dual

Software Information:

JSqlParser 4.5 +
PostgreSQL

Tips:
I talk about method net.sf.jsqlparser.parser.CCJSqlParserUtil#parseStatement.
Body of it method in library version 4.1 :
try {
    return parser.Statements();
} catch (Exception var2) {
    throw new JSQLParserException(var2);
}

Body of it method in library version 4.5 :
Statements statements = null;
try {
    ExecutorService executorService = Executors.newSingleThreadExecutor();
    Future<Statements> future = executorService.submit(new Callable<Statements>() {
        @Override
        public Statements call() throws Exception {
            return parser.Statements();
        }
    });
    executorService.shutdown();

    statements = future.get( parser.getConfiguration().getAsInteger(Feature.timeOut) , TimeUnit.MILLISECONDS);
} catch (TimeoutException ex) {
    parser.interrupted = true;
    throw new JSQLParserException("Time out occurred.", ex);
} catch (Exception ex) {
    throw new JSQLParserException(ex);
}
return statements;

As we can see parseStatement method creates temporary thread every time when parse statement. Therefore our highloaded application perfomance goes down then application is restarted.
Can sqlparser 4.5 library be configured to parse statement in the invokation thread (i.e. not create extra thread) ?

Greetings,
the problem has been acknowledged and we provide additional methods in JSQL 4.7-Snapshot, which accept an existing  ExecutorService instead of creating one. Please refer to https://jsqlparser.github.io/JSqlParser/javadoc_snapshot.html#ccjsqlparserutil
Method:
parse (sql, executorService, consumer) → Statement

Thank you for your answer !
Do you know, when is the 4.7-release planned ?

Greetings, unfortunately I can't tell because @wumpz is under serious time constrains.

I try to get Maven Snapshot deployment up
then we can release 4.7-Snapshot as JSQLParser 5 (since it breaks a lot of API)

Can we close this or do you expect me to do anything else here?

A new version of JSQLParser including this improvement just has been released.
I am closing this.


Update LaneSegments for multi-lane highly curvy roads

Right now lane segments added to very curvy roads with many lanes don't really stay in their lanes well enough. This was a known limitation of how we are creating lane segments, since we are creating new curve objects. We'l need to do some manual testing and perhaps some research to determine if there's a deterministic way to ensure an "offset" curve with constrained start/end points and the same number of overall points (2) can be reliably created to follow our road mesh generation.
Ok curves right now:

Problem curves (see how the sawtooth geo is not staying in the center of the lane, which would be very chaotic for AI traffic to try and follow!):

The intuition is that we'd need to calculate per curve point whether that lane's magnitude needs to be increased or decreased. Best to try this first with a few test examples in godot by hand (this addon I made may come in hand).

Doing some light research on this, it seems that the approximation listed here for offsetting cubic bezier should largely be what we need. While it's not going to create perfect parallel curves (impossible for general cubic Bezier whilst keeping the same number of control points), our roads should be pretty much safe as any such extreme angles that would break the approximation would also be breaking the mesh of the road itself, too.
Only thing that might still be tricky: making sure it works well with lane transitions.

Suggesting this as the spot where we will create some kind of utility to assist with offsetting:
@@ -292,17 +292,22 @@ func generate_lane_segments(_debug: bool = false) -> bool:
 		if ln_dir != RoadPoint.LaneDir.REVERSE:
 			new_ln.reverse_direction = true

+		# Call some utility here to do the offset cubic bezier functions
+		# to get the pos/in/out for each point of the curve,
+		# then below actually create these curve
+		offset_cubic_bezier(source, target, offset_amount)
+
 		# TODO(#46): Swtich to re-sampling and adding more points following the
 		# curve along from the parent path generator, including its use of ease
 		# in and out at the edges.
 		new_ln.curve.add_point(
 			new_ln.to_local(in_pos),
-			curve.get_point_in(0),
-			curve.get_point_out(0))
+			curve.get_point_in(0), # needs to be re-sampled
+			curve.get_point_out(0)) # needs to be re-sampled
 		new_ln.curve.add_point(
 			new_ln.to_local(out_pos),
-			curve.get_point_in(1),
-			curve.get_point_out(1))
+			curve.get_point_in(1), # needs to be re-sampled
+			curve.get_point_out(1)) # needs to be re-sampled

Some discussion we've had on calculating the right angle

Here's the gist of how the "curve offset" calculation will work:

Calculate angles p and r, which equal angles q and s
Calculate the offsets from points i to f and j to g in the first diagram and from i to b and j to c in the second diagram (using sohcahtoa)
Project points a and b to e and i and d and c to h and j
Add the offsets to points i and j to find points f and g in the first diagram
Subtract the offsets from points b and c to find points i and j in the second diagram
(see diagrams below)

Godot's "angle_to" function can be used to get the angles. But, it only works for the rainbow-shaped-curve scenario depicted in the first diagram. If the rainbow is inverted, then the calculated curves look wrong.
One consideration is the need to subtract offsets in the inverted-rainbow scenario versus adding them in the regular rainbow scenario. Determined that Godot's "signed_angle_to" function automatically sets the offsets to positive or negative as needed. Hence, we'll use that.
After some other minor +/- tweaks to certain values in the code, the logic seamlessly handles regular and inverted rainbows as well as an S-curve!
(TTD: Project secondary handles on to primary handles' planes to compensate for changes in elevation.)
Epilogue: When creating the drawings, the intent was to make the middle of the curves the same width as the ends of the curves. But, in doing so, the "actual" curve handles did not match the "depicted" handles. Actual handles were slightly longer. Lesson being that the expected outcome was theoretical and we would not always get the expected result. But, the results were still much better than doing nothing!

Hey @TheDuckCow, here is a WIP of the curve offset algorithm.
Check out the "Demo" scene. It contains two curves and two spatials representing RoadPoints. Press "7" on the numeric keypad to switch to top down view for best viewing results.

Select the "Spatial" object in the outliner to expose 2 export variables: 1 Lane Width, 2 Invert Rainbow. Experiment with different lane widths and positive/negative values and toggle Invert Rainbow to see how it looks. Changing these values will reset the scene.
Treat "RP1" and "RP2" as RoadPoints. Select, rotate, and move them. Be aware that there is such a thing as placing them TOO CLOSE together. Try it, observe, and decide what you think about the results.
"Path1" can be used to adjust the length of the primary curve handles. (There is no need to adjust Path2 as it is supposed to be calculated.)
Remember to select "RP1" or "RP2" if you wish to rotate/move the start or end points on the primary curve.
Also, I'm looking into an issue where the secondary curve curls in a funny way under certain conditions. This happens when RP1 is rotated too far clockwise or RP2 is rotated too far counter-clockwise.

Thanks for the updates @bdog2112, just tried out the demo project. Definitely a big improvement over any prior methods we had going on. I tried it with various rotations and different height levels, seems to handle gracefully enough. Large angles where the rp's create pinching do look off, but we knew those would not work well with this algorithm approx anyways, so no concerns there.
I realize there are some edge cases and maybe some improvements to consider, but I would really love to get even the current state into the road generator directly for the lane function, since we've been focussed on this one topic for over a month at this stage. Let's see how the improvement holds up there.
How much time before you think you can have a PR ready?

It's a work in progress. But, roads are looking pretty good. Here are some before/after screenshots highlighting the improved lane accuracy. (see below) It's still possible to get bad results if you make a RoadSegment really twisty. But, results look great on our select road curves!
In Progress: Making lane transitions work...
"Before" algorithm update

"After" algorithm update

Nice, love to see it @bdog2112! Indeed will still have some edge cases, but this will definitely hold us over for our needs for now. Excited to see the code integration.
For lane transitions, open for whatever solution you come up with - feel free to go for something simple. I'm thinking: on each end of the curve, almost forget about it being a transition and just treat the curve handle as though it were to stay the same number of lanes to the other end (so if it's a 2x2 going into a 2x4, the 2x2 side is just calculating offsets as though both sides are 2x2, and then the handle on the 2x4 side assumes as if 2x4 on both sides). If that really doesn't work then just let me know and we can evaluate how badly we want to try and fix multi lane changes in very curvy roads, I also see that as an edge case, and frankly, bad high way engineering practice anyways :)

Curve Offset logic is working pretty well. Ran it in the WS Project and it plotted a 6-lane road flawlessly in game.
At the moment, no changes have been made in order to facilitate or prevent transition RoadLanes. However, they are plotted correctly in the IDE using the new logic. (See screenshot below.)
Unfortunately, when the "+Next RoadPoint" button is used, the IDE freezes. It also seems to freeze when the "+Prior RoadPoint" button is used. Hence, troubleshooting is in progress.
Transition RoadLanes appear precisely as one would expect

Thanks for the update - on IDE freezes, could you create a WIP PR that has your progress so far (totally fine if you're planning to clean things up more later)? I could potentially help troubleshoot on that. Image above looks great though, glad to see that working well

Trying out the branch, I don't get much of a lag - but I do get some oddly placed road lanes (and possibly duplicate roadlanes, but might just be double backing on themselves). Did you get the big lag while also having "show roadlanes in editor"? If so, the slowness could actually just be the time taken for the immediate geometry to process, it's really not optimized.
Doing some troubleshooting, I have a feeling it's a discontinuity issue for small or zero angles.
Reference local diff
 	# Calculate secondary curve handles and setup curves
 	var angle_q = -vec_ab.signed_angle_to(vec_bc, a_basis_y) * 0.5
 	var angle_s = vec_cd.signed_angle_to(vec_bc, d_basis_y) * 0.5
+	print("angle_q ", angle_q, " angle_s: ", angle_s)
 	var offset_q = tan(angle_q) * in_offset
 	var offset_s = tan(angle_s) * out_offset
+	print("offset_q ", offset_q, " offset_s: ", offset_s)

Scenario 1
Pressing Add road when the prior two roads are well aligned, I get this result and the following printouts:

Add prior RoadPoint
angle_q -1.531639 angle_s: 1.531639
offset_q 153.147761 offset_s: -153.147761
angle_q -1.531639 angle_s: 1.531639
offset_q 51.049254 offset_s: -51.049254
angle_q -1.531639 angle_s: 1.531639
offset_q -51.049254 offset_s: 51.049254
angle_q -1.531639 angle_s: 1.531639
offset_q -153.147761 offset_s: 153.14776

Also doing command undo didn't work unfortunately (I'd have to test in dev if that's new or pre-existing).
Scenario 2
Slightly turned the roadpoint, so that the new added one wouldn't have a flat on angle.  Observation: there's still one lane that seems to over-extend for some reason

Add prior RoadPoint
angle_q 1.43727 angle_s: -1.43727
offset_q -44.667604 offset_s: 44.667604
angle_q 1.43727 angle_s: -1.43727
offset_q -14.889201 offset_s: 14.889201
angle_q 1.43727 angle_s: -1.43727
offset_q 14.889201 offset_s: -14.889201
angle_q 1.43727 angle_s: -1.43727
offset_q 44.667604 offset_s: -44.667604

In both cases, if I ever so slightly modify the position of the newly added roadpoint, it is immediately resolved. My guess is having any kind of different basis resolves it. See the angles after having done this slight movement (this was moving the roadpoint almost imperceptibly small amount along its local x axis). Notice how the radian angles here are substantially differnet, despite such a subtle difference.
Translate
angle_q 0.785429 angle_s: -0.785429
offset_q -6.000367 offset_s: 6.000367
angle_q 0.785429 angle_s: -0.785429
offset_q -2.000122 offset_s: 2.000122
angle_q 0.785429 angle_s: -0.785429
offset_q 2.000122 offset_s: -2.000122
angle_q 0.785429 angle_s: -0.785429
offset_q 6.000367 offset_s: -6.000367

Recording:
https://github.com/TheDuckCow/godot-road-generator/assets/2958461/d4b1feda-11f8-4a61-88bd-ed626865441d
Hope this troubleshooting helps.

I think you are on the right track in suspecting angles. After some number crunching, it appears that angles close to 90 degrees should be avoided. FYI: Moving two RoadPoints closer together to the point where the handles are practically overlapping is a quick and easy way to cause trouble. ;-)
In this screenshot, we see that tan(90) yields an extremely large number, which would be problematic if we tried to plot it.

The angle is largely determined by the relationship between the handles on the start and end RoadPoints of a segment. Hence, if we want to create a problem, we can just move a segment's handles into a 90 degree position.
I'll look at utilizing a default value when the angle is within a certain range of 90 degrees.

Well, doing some further testing it looks like there is still a scenario to be addressed.
Take a simple 2x2 Road and don't rotate or move anything... Now, pull the "out" handle so that it extends beyond the "in" handle or vice versa. (e.g. Pull the out handle past the in handle and close to the start point.) At that point, the RoadLanes will circle back onto themselves.
That doesn't really seem like a valid scenario. But, it's very easy for anyone to create. Hence, it warrants some consideration.

I tried this test, again, and it did not recreate the problem. Thus, the IDE may have simply been in an unstable state. It's working fine, now.
It is possible to create unwanted results by playing around with overlapping the handles near the center of a segment. But, generally speaking, this should be avoided. RoadPoints should be spaced a reasonable distance apart and their handles should not overlap.

Closing this as completed! While there may still be some funniness in terms of a duplicate recreation of roadlanes, the base goal of this issue has been resolved, so I'm marking this as completed.


toMatchInlineSnapshot generates too many newlines

toMatchInlineSnapshot uses prettier to generate inline snapshots which results in many newlines for the generated json strings, e.g.
expect([1, 2, 3, 4]).toMatchInlineSnapshot()
turns into
 expect([1, 2, 3, 4]).toMatchInlineSnapshot(`
            Array [
              1,
              2,
              3,
              4,
            ]
        `)

which makes my testfiles unreadable for larger objects. Is there any way to modify this? As far as I know Prettier currently does not support modification of this.

What I wish is to be able to generate json snapshots as... json
expect(result).toMatchInlineSnapshot([1, 2, 3, 4])


CLI: Building Interfaces Shouldn't Require Docker

Describe the bug
Currently when you build a Polywrap interface project, it fails if the docker daemon isn't running. Docker is not required since building interfaces just involves parsing the schema and outputting the wrap.info manifest file.
Please provide the steps to reproduce and if possible a minimal demo of the problem.

create interface project
don't have docker daemon running
run polywrap build
see error asking for docker daemon to be started

Expected behavior
Should successfully build interface.
Screenshots / logs
$ lerna run build --scope @polywrap/*-interface
lerna notice cli v4.0.0
lerna info versioning independent
lerna notice filter including "@polywrap/*-interface"
lerna info filter [ '@polywrap/*-interface' ]
lerna info Executing command in 5 packages: "yarn run build"
lerna ERR! yarn run build exited 1 in '@polywrap/file-system-interface'
lerna ERR! yarn run build stdout:
$ node ../../../dependencies/node_modules/polywrap/bin/polywrap build
🔄 Manifest loaded from ./polywrap.yaml
✅ Manifest loaded from ./polywrap.yaml
> docker version
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run build stderr:
warning package.json: No license field
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/lib/build-strategies/strategies/DockerVMStrategy.js:80
            throw new Error(intl_1.intlMsg.lib_docker_noInstall());
                  ^

Error: Docker executable not found in PATH
    at new DockerVMBuildStrategy (/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/lib/build-strategies/strategies/DockerVMStrategy.js:80:19)
    at createBuildStrategy (/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/commands/build.js:139:20)
    at /Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/commands/build.js:168:37
    at step (/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/commands/build.js:44:23)
    at Object.next (/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/commands/build.js:25:53)
    at fulfilled (/Users/dorgjelli/Dev/Repos/toolchain-b/dependencies/node_modules/polywrap/build/commands/build.js:16:58)
error Command failed with exit code 1.
lerna ERR! yarn run build exited 1 in '@polywrap/file-system-interface'

Relevant environment details:

Polywrap CLI Version: 0.9.3
OS: Mac OS

hey @pileks this issue can be closed, right?

@cbrzn You're right, we resolved this temporarily using an empty build strategy and later removed the empty build strategy when we split codegen and build as part of https://github.com/polywrap/toolchain/pull/1385

Reopening as this seems to still be an issue in version 0.10.0-pre.8.


question about tile-board.sh (changing language)

Hi there,
In https://github.com/resoai/TileBoard-addon/blob/main/addon/rootfs/etc/cont-init.d/tile-board.sh is a loop:
for f in /config/$CONFIG_FOLDER/*;
do

This symlinks all files in the $CONFIG_FOLDER (default 'tileboard') to tileboard like this:
 ln -s /config/$CONFIG_FOLDER/$FILENAME /var/www/tileboard/$FILENAME
Is there a reason for this? Because this does not work if you want a different locale.
The locale file should be in locales folder, but if you add a angular-locale_xx-xx.js files in it does not matter where you put it.
It always ends up in /var/www/tileboard/$FILENAME, but the locale file should be in /var/www/tileboard/locales/$FILENAME
Changing the language is therefore not possible in the add-on.

It's not very flexible right now. Should be improved. Personally, I'm not great with shell scripting. You can give it a go if you want. I would probably do it in python otherwise.

ok cool, I'll see what I can do :)

This is now fixed. It will recursively symlink all files in the config folder.
The custom.css has an expectation so it can be either in the root of the config or in styles/ and it will work either way.


Snap 853

Changes proposed in this pull request
Failing ddls which come when a node is coming up based on ddlReplayNotDone flag rather than ddlInProgress status
Patch testing
precheckin and targeted regression
Other PRs
(Does this change required changes in other projects- snappyData, spark, spark-jobserver, aqp? Add the links of PR of the other subprojects that are related to this change)

showed the changes to sumedh and rajesh


Python 3.12 support (follow ups)

Additional work on top of https://github.com/SeldonIO/MLServer/pull/1951 after alibi libraries fixes.

closing to work on https://github.com/SeldonIO/MLServer/pull/1951 directly


github-runner: 2.296.1 -> 2.296.2

Description of changes

release notes: https://github.com/actions/runner/releases/tag/v2.296.2
diff: https://github.com/actions/runner/compare/v2.296.1...v2.296.2
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 190372 run on x86_64-linux 1

1 package built:

github-runner

Thank you!


chore: enable coinbase pay fast checkout

Try out this version of the Hiro Wallet - download extension builds.

Chore PR for testing Coinbase Pay.
EDIT:
@markmhx I used this open PR branch to make the Coinbase pay changes:

Swapped icon
Update description to Available only inside of the US

cc/ @kyranjamie @fbwoolf

Today purchase transactions were still failing for me.

@cfluke-cb can you provide any feedback on the Coinbase Pay tx error failure I'm seeing?


React Native IOS Instructions

Please update the React Native setup guide as it is almost entirely outdated.
For those looking to integrate GCanvas for React Native on IOS follow these steps instead:

Create your React Native project
npm install @gcanvas/core --save
npm install react-native-gcanvas --save
Open the ios/.xcworkspace file in Xcode
Project Navigator -> Libraries directory -> right click -> add files -> select RCTGCanvas.xcodeproj from the react-native-gcanvas module
Project Navigator -> Frameworks directory -> right click -> add files as a group (check copy if needed)-> select GCanvas.framework from the react-native-gcanvas module
click on RCTGCanvas.xcodeproj in the Libraries directory -> build settings tab -> Header Search Path -> add the React entries: [PROJECT_PATH]/node_modules/react-native/ReactCommon/yoga, [PROJECT_PATH]/node_modules/react-native/ReactCommon, [PROJECT_PATH]/node_modules/react-native, [PROJECT_PATH]/ios/Pods/Headers/Public/React-Core, all with non-recursive flag
build
Project Navigator -> Build Phases tab -> Link Binary with Libraries -> + -> RCTGCanvas.xcodeproj/products/libRTGCanvas.a
clean and build

@pineapplegreentea Have you tried to install GCanvas on Android? Might be you solve problems there...

@likern No but I plan to within a month, depending on how the IOS side of the current project goes. It looks like they only pushed the app directory.

@likern No but I plan to within a month, depending on how the IOS side of the current project goes. It looks like they only pushed the app directory.

Please, share your result and how-to guide here.
I couldn't use GCanvas on Android due to errors on Android side of it.
Still tried to apply F2 (mobile charts which utilize canvas Web API), but using react-native-canvas and the result was sad - it was very slow  even with very simple chart (several columns bar chart) on powerful mobile.
Switched back to custom charts with react-native-svg.

@likern No but I plan to within a month, depending on how the IOS side of the current project goes. It looks like they only pushed the app directory.

Please, share your result and how-to guide here.
I couldn't use GCanvas on Android due to errors on Android side of it.
Still tried to apply F2 (mobile charts which utilize canvas Web API), but using react-native-canvas and the result was sad - it was very slow even with very simple chart (several columns bar chart) on powerful mobile.
Switched back to custom charts with react-native-svg.

Will do. For info, I am getting 60+ fps one iPhone 11, so this probably will solve your performance issues. Too bad this project isn't actively maintained.

@jwxbond how come this is closed? The instructions to build this on react-native 0.6x do not work. Are there plans to continue supporting react-native?

@pineapplegreentea @likern @drewandre
Since Alibaba feat: delete weex bridge & reactive bridge, here comes the @flyskywhy/react-native-gcanvas npm package.
After months work, @flyskywhy/react-native-gcanvas runs well on Android and iOS, fix several bugs and add feat: support drawImage() from require('some.png') on Android, iOS and Web described in Changelog.md, refactor with the detailed Example As Usage in README.md.
With Performance Test Result, and Convenient With Browser-like canvas APIs with the easily <canvas/> ported example react-native-particles-bg runs on Android, iOS and Web, @flyskywhy/react-native-gcanvas is the best choice for now :yum:


gopm get  不下载新的依赖

项目原依赖：
github.com/gorilla/websocket = tag:v1.2.0
github.com/astaxie/beego = tag:v1.9.2
github.com/go-xorm/xorm = tag:v0.6.4
github.com/go-sql-driver/mysql = tag:v1.3
github.com/jlaffaye/ftp = commit:299b7ff5b6096588cceca2edc1fc9f557002fb85
github.com/robfig/cron = tag:v1
新增一个依赖
github.com/natefinch/lumberjack = tag:v2.0
执行gopm get -g -v
[GOPM] 01-17 15:19:58 [ INFO] App Version: <IP_ADDRESS>7 Beta
[GOPM] 01-17 15:19:58 [ INFO] Local repository path: /Users/hufayou/.gopm/repos
[GOPM] 01-17 15:19:58 [ INFO] Indicated GOPATH: /Users/hufayou/Documents/gowork
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/astaxie/beego.v1.9.2
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/astaxie/beego@tag:v1.9.2
[GOPM] 01-17 15:19:58 [ WARN] Package in GOPATH has version control: github.com/astaxie/beego
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/go-sql-driver/mysql.v1.3
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/go-sql-driver/mysql@tag:v1.3
[GOPM] 01-17 15:19:58 [ WARN] Package in GOPATH has version control: github.com/go-sql-driver/mysql
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/go-xorm/xorm.v0.6.4
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/go-xorm/xorm@tag:v0.6.4
[GOPM] 01-17 15:19:58 [ INFO] Package copied to GOPATH: github.com/go-xorm/xorm
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/gorilla/websocket.v1.2.0
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/gorilla/websocket@tag:v1.2.0
[GOPM] 01-17 15:19:58 [ WARN] Package in GOPATH has version control: github.com/gorilla/websocket
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/jlaffaye/ftp.299b7ff5b6096588cceca2edc1fc9f557002fb85
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/jlaffaye/ftp@commit:299b7ff5b6096588cceca2edc1fc9f557002fb85
[GOPM] 01-17 15:19:58 [ WARN] Package in GOPATH has version control: github.com/jlaffaye/ftp
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/github.com/robfig/cron
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: github.com/robfig/cron@branch:
[GOPM] 01-17 15:19:58 [ WARN] Package in GOPATH has version control: github.com/robfig/cron
[GOPM] 01-17 15:19:58 [ INFO] /Users/hufayou/.gopm/repos/golang.org/x/text
[GOPM] 01-17 15:19:58 [DEBUG] Skipped installed package: golang.org/x/text@branch:
[GOPM] 01-17 15:19:59 [ INFO] Package copied to GOPATH: golang.org/x/text
[GOPM] 01-17 15:19:59 [ INFO] 0 package(s) downloaded, 0 failed
从日志可以看到，完全跳过了新增的依赖。求解。。。

github.com/natefinch/lumberjack 如果项目本身没引用的话，你添加了配置也是不会拉下来的。。


Made event dates more user friendly.

Used the differenceInDays function from date-fns to calculate the difference between current date and date of the event to provide nicer event dates, see attached images:

LGTM :tada: Thanks @b1narylife


Store BLE id/name for each robot when user changes it

see https://weareleka.slack.com/archives/C04F19WD6/p1644244822732459?thread_ts=1644243629.324549&cid=C04F19WD6

Related to #894

Related to

#1256

However, I don't think that a random name is necessary as default name. Current default name is fine (it's the serial number, short version)


ipfs with new cids

New CIDs don't get picked up by Bacalhau reliably when using Web3Storage

Potential Solutions

New Pinning Service (Pinata or Estuary)
Update IPFS version on Bacalhau
Post directly to our Bacalhau IPFS Node (long term), client generates CID and use http to send data

Pinata has the same issue as Web3Storage

Updating IPFS Kubo on our node also did not resolve the problem. I have been testing with ipfs get directly on the node and it doesn't discover the Web3Storage CIDs quickly. Opened a thread in the Web3Storage Slack (https://filecoinproject.slack.com/archives/C027XP5BTGB/p1677187950046959).


Feature group sample

Added a feature group sample subdirectory, README, and sample code.
This PR assumes feature group testing code from PR #50, is already in place.

/approve cancel

/lgtm

/approve


Cannot detect VCS with glide install

[WARN]	Lock file may be out of date. Hash check of YAML failed. You may need to run 'update'
[INFO]	Downloading dependencies. Please wait...
[INFO]	--> Fetching github.com/coreos/go-oidc.
[INFO]	--> Fetching github.com/coreos/pkg.
[INFO]	--> Fetching github.com/dchest/uniuri.
[INFO]	--> Fetching github.com/coreos/etcd.
[INFO]	--> Fetching github.com/davecgh/go-spew.
[INFO]	--> Fetching github.com/blang/semver.
[INFO]	--> Fetching github.com/docker/distribution.
[INFO]	--> Fetching github.com/docopt/docopt-go.
[INFO]	--> Fetching github.com/emicklei/go-restful.
[INFO]	--> Fetching github.com/ghodss/yaml.
[INFO]	--> Fetching github.com/go-openapi/jsonpointer.
[INFO]	--> Fetching github.com/go-openapi/jsonreference.
[INFO]	--> Fetching github.com/go-openapi/spec.
[INFO]	--> Fetching github.com/go-openapi/swag.
[INFO]	--> Fetching github.com/gogo/protobuf.
[INFO]	--> Fetching github.com/golang/glog.
[INFO]	--> Fetching github.com/golang/protobuf.
[INFO]	--> Fetching github.com/google/gofuzz.
[INFO]	--> Fetching github.com/gorilla/context.
[INFO]	--> Fetching github.com/gorilla/handlers.
[INFO]	--> Fetching github.com/gorilla/mux.
[INFO]	--> Fetching github.com/jonboulle/clockwork.
[INFO]	--> Fetching github.com/juju/ratelimit.
[INFO]	--> Fetching github.com/mailru/easyjson.
[INFO]	--> Fetching github.com/pborman/uuid.
[INFO]	--> Fetching github.com/PuerkitoBio/purell.
[INFO]	--> Fetching github.com/PuerkitoBio/urlesc.
[INFO]	--> Fetching github.com/satori/go.uuid.
[INFO]	--> Fetching github.com/Sirupsen/logrus.
[INFO]	--> Fetching github.com/spf13/pflag.
[INFO]	--> Fetching github.com/ugorji/go.
[INFO]	--> Fetching github.com/urfave/cli.
[INFO]	--> Fetching golang.org/x/net.
[INFO]	--> Fetching golang.org/x/oauth2.
[INFO]	--> Fetching golang.org/x/sys.
[INFO]	--> Fetching golang.org/x/text.
[INFO]	--> Fetching google.golang.org/appengine.
[WARN]	Unable to checkout golang.org/x/net
[ERROR]	Update failed for golang.org/x/net: Cannot detect VCS
[INFO]	--> Fetching google.golang.org/cloud.
[WARN]	Unable to checkout golang.org/x/oauth2
[ERROR]	Update failed for golang.org/x/oauth2: Cannot detect VCS
[INFO]	--> Fetching gopkg.in/inf.v0.
[INFO]	--> Fetching gopkg.in/yaml.v2.
[INFO]	--> Fetching k8s.io/client-go.
[WARN]	Unable to checkout golang.org/x/sys
[ERROR]	Update failed for golang.org/x/sys: Cannot detect VCS
[WARN]	Unable to checkout golang.org/x/text
[ERROR]	Update failed for golang.org/x/text: Cannot detect VCS
[WARN]	Unable to checkout google.golang.org/appengine
[ERROR]	Update failed for google.golang.org/appengine: Cannot detect VCS
[WARN]	Unable to checkout google.golang.org/cloud
[ERROR]	Update failed for google.golang.org/cloud: Cannot detect VCS
[ERROR]	Failed to install: Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS
Cannot detect VCS

How about using godep?
Thanks,

@carmark I'm trying to repro this -- mind telling me which glide version you're using?
This version seems to be working:
$ glide -v
glide version 0.12.3

@soamvasani
It seems that the glide is a dev version and I use Mac.
lei@leis-MBP:[fission] (travis)$ glide -v
glide version 0.13.0-dev

Hrm, I can't find glide 0.13 anywhere.  brew doesn't have it, nor does the master branch of the glide repo.  Can you try with the latest stable glide version (0.12.3: https://github.com/Masterminds/glide/releases)?

sure, will do.
thanks.


⚠ Bofrost.at has degraded performance

In 9a9b990, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1428 ms

Resolved: Bofrost.at performance has improved in e548e88.


Live preview does not launch Chrome - OSX 10.10 Yosemite

I am using OSX 10.10 with Chrome Version 38.0.2125.122 and Brackets Release 1.0 build 1.0.0-15191 (release 3f2eb90a4). Chrome fails to launch when clicking the Live Preview icon. The icon stays only half filled in orange, hovering the mouse over the icon it says 'Live Preview:connecting...' See attached image.

Im having the same issue, Live preview was working fine, upgraded to Yosemite, Live Preview no longer works

@jasonkpratt I am using Live Preview on Yosemite. Be sure to upgrade Chrome after you upgrade.

So I guess when I upgraded to Yosemite, it automatically upgraded Chrome. Anyways reloaded the newest version of brackets and it worked.


use bing ai (without api token)

Feature request
provide an option to use this with bing ai (doesn't require not login nor tokens)
Why?
because it doesn't require not login nor tokens
Alternatives
No response
Additional context
No response

#220 would allow you to use any third party APIs, maybe take a look at that

Doesn't seem like they offer an API?

i'm not ask for using any third party api, I'd like using bing without any api key

There are third party APIs that interface with bing already, no point in reinventing the wheel.


PluginPantry should auto resolve endpoints

Moved from: https://github.com/moolicc/Wallop/issues/39
PluginPantry should be able to resolve endpoints without the plugin explicitly declaring them

This would probably work better as a separate extension to PluginPantry. Additional attributes could allow for this.

...Though it also goes against the fundamental architecture. How would a plugincontext know which plugin ID to associate each end point with?


Question about two variables in common.json

What's the difference between SUBSQUID_ARCHIVE_GRAPH_NODE & SUBSQUID_GRAPH_SERVER variables?

the difference is SUBSQUID_ARCHIVE_GRAPH_NODE is that Archive retains the historical data and other one has the live data.


Weird sky residuals on r2 of 20230127/164959, tileid 7221

The extreme red end of r2 has some issues I'm not accustomed to seeing.

I suspect these are leading to an overdensity at z ~ 0.5 on P2

I don't think they affect LyA quasars so I'm likely to mark these as good, but I'm marking as unsure for now.

Another case of this on r2:


compliance with TG

@manufrancis has not so far changed representation of anusvāra with ṃ to ṁ in his editions of Pallava inscriptions and hence these editions are not yet compliant with the DHARMA TG. There may be other points on which he has not brought his transliteration into compliance either. @michaelnmmeyer — Can you make the necessary replacements for him?

@michaelnmmeyer
Cher Michaël, je m'occupe de ça.

@manufrancis Je peux m'en occuper si tu ne l'as pas déjà fait, c'est vite fait.
@arlogriffiths Quite a lot of people use ṃ ṛ ṝ ḷ ḹ (probably because their input method system uses these characters). I believe it is safe to globally substitute ṃ ṛ ṝ with ṁ r̥ r̥̄, and maybe ḹ with l̥̄, but substituting ḷ with l̥ should only be done for Sanskrit. Is this correct?

@michaelnmmeyer

"change ṃ to ṁ" fait pour mes corpus.

at I believe it is safe to globally substitute ṃ ṛ ṝ with ṁ r̥ r̥̄, and maybe ḹ with l̥̄, but substituting ḷ with l̥ should only be done for Sanskrit. As for ḷ with l̥ for sanskrit, well not safe, as we have in Grantha script ḷ (for instance in coḷa or in cuḷā = cūḍā) and l̥.

Do wait for Arlo's opinion. As far as I can see, all of those substitutions except ḷ are safe. The consonant ḷ also occurs in Sanskrit other than Grantha, for example many of my Eastern Cālukya inscriptions (in names [including the name Cāḷukya itself] as well as in non-standard spelling of Sanskrit words). So that character should be left alone, but since the actual vocalic l̥ occurs less than once in a blue moon, I don't think that should be a problem.

@manufrancis @danbalogh Oops, OK.

The vocalic l̥  is actually common in Old Jasvanese inscriptions, as shotthand for the syllable lə. Conversely, retiorflex consonant ḷ does not occur there at all. So I'd expand the scope of Manu's rule "substituting ḷ with l̥ should only be done for Sanskrit" to "substituting ḷ with l̥ should only be done for Sanskrit and Old Javanese".
I agree with all Manu and Dan have said.

I think I have to correct my answer of last month. Since, as Dan previously pointed our, in some cases ḷ is used in Sanskrit, my reformuation of the rule to "substituting ḷ with l̥ should only be done for Sanskrit and Old Javanese" was wrong.
Cases of ṃ ṛ ṝ may occur in quotations and should not necessarily always be replaced with ṁ r̥ r̥̄. Any such replacements that are made should be limited to text and apparatus nodes of our xml files.
In brief, I think in some repos known to contain cases of non compliance with TG, cases-by-case replacements can be made with due limitation to specific nodes. But I don't think it's a good idea to implement to implement any global replacement rules applying to all parts of all files. And basically everybody should (be trained to) comply with TG and cases of non-compliance gradually polished away.
What is the status of your work on this issue, @michaelnmmeyer? Can we close it?

Fixing transliteration issues is too complicated to be implemented reliably, thus I will leave it to authors.

About 1,000 texts (1/3 of our collection) use these characters, so generating a basic list would not be useful. I will try to find something for prioritizing repos and texts to check.

thanks. for me (and I guess for most team members) it is easy to do multifile search at repo level, but not higher. so if I know that in a given repo, for which I am responsible, there are instances of the offending characters, I can search them and weed them out.

Here is a list. Numbers within brackets represent respectively:
A. Number of occurrences of ṃ ṛ ṝ ḷ ḹ
B. Number of occurrences of ṁ r̥ r̥̄ l̥ l̥̄
We expect to find ṃ ṛ ṝ ḷ ḹ much more rarely than ṁ r̥ r̥̄ l̥ l̥̄, so repositories where this is not the case are more likely to present encoding issues. However, languages are not taken into account, so this can be very wrong (as for tfa-pallava-epigraphy).

tfa-sii-epigraphy       (22447, 2150)
tfa-pallava-epigraphy   (2202, 462)
tfb-maitraka-epigraphy  (1289, 2632)
tfa-cirkali-epigraphy   (760, 11)
tfa-tamilnadu-epigraphy (740, 5)
tfb-daksinakosala-epigraphy     (582, 1555)
tfb-telugu-epigraphy    (573, 604)
tfb-vengicalukya-epigraphy      (548, 9715)
tfb-somavamsin-epigraphy        (518, 827)
tfb-kalyanacalukya-epigraphy    (429, 1011)
tfb-karnataka-epigraphy (390, 371)
tfc-khmer-epigraphy     (271, 15269)
tfa-melappaluvur-kilappaluvur-epigraphy (136, 0)
tfb-bengalcharters-epigraphy    (94, 3630)
tfa-kotumpalur-epigraphy        (94, 0)
tfa-uttiramerur-epigraphy       (93, 3)
tfb-eiad-epigraphy      (89, 2760)
tfa-tiruvavatuturai-TN-epigraphy        (79, 14)
tfb-badamicalukya-epigraphy     (62, 522)
siddham (50, 7626)
tfc-nusantara-epigraphy (33, 14752)
tfa-pandya-epigraphy    (25, 8)
tfa-tamil-outside-TN-epigraphy  (22, 0)
tfc-campa-epigraphy     (19, 1295)
tfa-cempiyan-mahadevi-epigraphy (15, 0)
tfb-bhaumakara-epigraphy        (8, 13)

I just want to add that silently normalising quoted transliteration to our transliteration scheme, even in block quotes, is acceptable to me. I'm not saying that we should do it, but if we did, then batch-replacing ṃ, ṝ and ḹ to ṁ, r̥̄ and l̥̄ would become an option. Alternatively, instances of ṃ, ṝ and ḹ that are not children of a <q> element, could still probably be safely batch-replaced.
Then, the only ones to be checked on a case-by-case basis would be ṛ (almost always incorrect for r̥ but very rarely correctly meaning the NIA retroflex flap consonant) and ḷ (in old Javanese and perhaps some related corpora, most likely incorrect for l̥; in some corpora [Dravidian language or Dravidian-influenced Indo-Aryan] usually correctly denoting the retroflex glide but very rarely erroneous for l̥; in all other corpora, presumably always erroneous for l̥).

Thanks. You can presumably also help doing the same check and clean uop for maitraka, daksinakosala, telugu and bhaumakara. Ryosuke does not seem to be receiving github notifications so perhaps you can step in for bengalcharters too. Please ask Samana if she can take care of everything that is Kannada-related.
@amandinebricout : can you do the same kind of check and clean-up as Dan has described above for your somavamsin files?
@manufrancis : tfa is your cup of tea.
I'll take care of everything that's tfc plus tfb-eiad.

A slight snag in this is that back in the early days we told people in the EGD that if they have difficulty producing r̥ on their keyboards, they can use ṛ instead, and this would be converted automatically. It seems, after looking at the repositories, that a lot of people have availed of this option. I think we can be pretty sure that none of these people have also used ṛ for the NIA retroflex flap, but I think they are in a better position to decide this themselves. So I've done the checking and replacement for bhaumakara (which seems to be just a single file) and I'll start on the telugu, which I guess we can't expect Jens to solve, so I'll take a look and try to sort it out myself. For the others, I'll post here some instructions for how I would do this and ask the relevant people to do it themselves, with my help if they need it.

One way to check for the suspect characters in your texts is as follows. @michaelnmmeyer may be able to suggest a better one, but this seems to work.

Do a fresh git pull of your repository.
In Oxygen, open one (any) of the XML files in the folder that contains your editions.
Press shift+ctrl+h (probably cmd+ctrl+h on a Mac, but if that doesn't work, experiment or use "Find/Replace in Files" in the Find menu) to open the dialogue box for multifile search.
Fill this as follows:

under "Text to find", copy and paste: [ṃṛṝḷḹ]
Tick the box for Regular expression and untick all other boxes
under "Restrict to XPath", copy and paste: //text()[not(ancestor::quote or ancestor::q)]

Among the radio buttons under Scope, select "Current file directory". (If your files are in more than one folder, you'll have to repeat this for each folder.)
Click "Find all"

This will give you a result list with all occurrences of any of these characters in any of your files, except those within a <q> or <quote> element and those in XML comments. Skim the result list to see if there are a few dozen results or hundreds. If there are hundreds, see which character is dominant. It will probably be ṛ if you have used it instead of r̥. Also, if ḷ for the retroflex glide is frequent in your texts, then there may be a lot of legitimate instances of ḷ. So you will want to repeat the above search in a more specific way.
To search for any specific character, such as ṛ, just put that under Text to find (you don't need the square brackets in this case and you can, but don't have to, untick Regular expression). If you are sure that ṛ is only used in your texts for the sonant and not for the NIA retroflex flap, then you can go ahead and batch replace that to r̥: put the latter under Replace with and click Replace all. Oxygen will offer you a preview option so you can look at the results in a popup window before approving the batch replace, which cannot be undone.
If you have not used ṛ for the sonant, or you have already replaced it with r̥, then make your decision about ḷ. If you are sure that ll instances of ḷ in your files are used for the sonant, then you can batch replace it to l̥. If you are sure that all instances are legitimate (i.e. they mean the retroflex glide), then you can leave them as they are. But if there may be instances of both legitimate (retroflex glide) and illegitimate (sonant), then you must unfortunately search for ḷ in all your files, and review the results list manually. You can double-click any item in the result list and the editor will open the file and take you to it so you can correct it if needed.
Once ṛ and ḷ are both in order, you are left with just the characters ṃ, ṝ and ḹ. You can batch replace these to ṁ, r̥̄ and l̥̄ respectively, but it's probably a good idea to ask for a preview and at least skim the results before approving the change.

The Telugu is done, except for one case where ṛ may be a typo for ̱r or an exact reproduction of a previous editor's reading, but certainly not a substitute for r̥ (I've left an XML comment there), and a couple of instances where Jens reproduces a published translation and does so exactly, with same transliteration system used in the published translation. Our guidelines say that transliteration should be silently normalised when reproducing complete translations, but I don't have the capacity to check through all the translations in Jens's files and do this, and changing just ṛ to r̥ would only make them inconsistent, so I did nothing to those.


[NGPDCP-2595] PUDO component

Description
1) Changes
Add PUDO component for the H5 project.
https://comfortdelgrotaxi.atlassian.net/browse/NGPDCP-2595

2) Impact
No
Check list

[x] 1. Did you start and verify your changes?
[x] 2. Did you run build to make sure that your changes can be built successfully?
[x] 3. No !important flag, inline style in css
[x] 4. No boilerplate codes (1)
[x] 5. No duplicate code that exist in common functions?
[x] 6. All of defined variables should have default value, check null and undefined?
[x] 7. Use meaningful name for variables, no suffix 1,2,... Describes reference information for easier to understand what's inside. (2)
[x] 9. Unsubscribed all of subscribers and even listeners when you don't need them.

(1)
Boilerplate codes is duplicated multiple times a bunch of the same code. This should be a common function to reuse through your code or you can use generic class / methods or design pattern to avoid the Boilerplate codes.

(2)
Follow theo coding convention
NO acronym variable name:
WRONG: el, elm
RIGHT: element
Your code can be read as a sentence

some errors related to type

When I swap 2 destination, always focus on the 2nd item

 When I swap 2 destination, always focus on the 2nd item

So what are your expectations? Always focus on the last item or sth more dynamic?
According to the input UI/order, users tend to write/input from top to bottom items. If they do swap the 2nd with the 3rd item, there are higher chances that the 2nd input is empty, and if users need to update the value of the swap pair, again top to bottom. So keep focusing on the new 2nd item that makes sense and less code tho.

Don't focus on any item when the user swaps. Focus is only shown when the user is entering that item


wrong status position

it's also round instead of square

yea same here

Should be fixed in the next push, thanks for the report


Recipes not working

Q
A

Issue Type
Question

Deployer Version
6.3

Local Machine OS
MacOS

Remote Machine OS
Ubuntu 18

Description
I added the bugsnag recipe, but deploying doesn't work anymore. First I added require 'recipe/bugsnag.php'; but I get: failed to open stream: No such file or directory in.
The i tried:  require '../../.composer/vendor/deployer/recipes/recipe/bugsnag.php'; (that location exists) but then i get:  [InvalidArgumentException] Task `deploy` not found
Content of deploy.php
<?php

namespace Deployer;

require 'recipe/common.php';

require 'recipe/bugsnag.php';

// Bugsnag
set('bugsnag_api_key','xxxxx');
after('deploy', 'deploy:bugsnag');

// Project repository
set('repository', 'git@gitlab.com:app.git');

// Shared files/dirs between deploys
set('shared_files', ['.env']);
set('shared_dirs', ['storage']);

// Writable dirs by web server
set('writable_dirs', ['storage', 'public']);

// Hosts
host('hostname')
	->stage('production')
	->user('user')
	->set('deploy_path', '/home/user/app')
	->set('branch', 'master');

// Deploy tasks
task('deploy', [
	'deploy:lock',
	'deploy:release',
	'deploy:update_code',
	'deploy:shared',
	'deploy:writable',
	'deploy:vendors',
	'npm',
	'artisan',
	'deploy:symlink',
	'deploy:unlock',
	'opcache',
	'cleanup',
	'success'
]);

// Build assets
task('npm', 'npm ci; npm run prod');

// Run Laravel artisan commands
task('artisan', 'php artisan storage:link; php artisan migrate --force; php artisan cache:clear');

// Clear the opcache
task('opcache', function(){
	run('php -r "opcache_reset();"');
	run('curl -H "Host: '.get('hostname').'" https://<IP_ADDRESS>/cc.php -k');
});

// If deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');

Really strange. Works for me just fine. Will look into issue more later.

Try to replace require for require_once.

require 'recipe/laravel.php';
require 'recipe/rollbar.php';
require 'recipe/telegram.php';

With my situation, Laravel works fine and I do not get any errors but the telegram notification is not sent as well as that of rollbar.
@rafaelstz tried your suggestion but still Rollbar and Telegram not working.
composer.json
"require-dev": {
        "deployer/deployer": "^6.2",
        "deployer/recipes": "^6.2",

Fixed in master. Please verify. deployer and recipes repos now one.


Jesse: Watch groupz.link

Jesse requests the watch of the watch_keyword groupz\.link. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

groupz\.link has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by Jeff Schaller in Charcoal HQ. Reason: 'duplicate of 9223, if you count backwards'


BUG-000083681  Using the Identify tool to select a layer in the Windows Mobile Water Utility Map causes the application to crash.

Salesforce ID: BUG-000083681
Salesforce Submitter: Matt Monson
Salesforce Submit Date: 12/01/2014 1:44 AM
Salesforce Bug Type: Crash
Salesforce Severity: Medium
Salesforce Attachments: 11-21-2014 1-22-02 PM.mp4, Customer_Mobile.zip, MobileMapUtilityFolder.zip
Salesforce Attachments Location: \\esri.com\sf_filestore\PRD\Attachments\Defects\BUG-000083681
Repro Data: \\esri.com\sf_filestore\PRD\Attachments\Defects\BUG-000083681
Work Around: (n/a)
Product: ArcGIS for Local Government
Functional Category: ArcGIS for Local Government
Client Platform: Windows 7
Version Found: 10.2
Planned Version Fixed: (n/a)
Comment: From the stack trace, the issue is probably in the core sdk.  Work around has been implemented to not cause the issue.  Code fix will be delivered with the 10.3 release of the app.

Triaged


#1706 fix installer nginx ingress host

Potentially fixes issue #1706, where the nginx ingress host is set using domain:port which does not work.
This is applied to the master branch.

Codecov Report

Merging #1710 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1710   +/-   ##
=======================================
  Coverage   29.63%   29.63%
=======================================
  Files          93       93
  Lines        6972     6972
=======================================
  Hits         2066     2066
  Misses       4654     4654
  Partials      252      252

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 75dfaf6...da6ae0f. Read the comment docs.


setspace with nodisplayskipstretch causes side effects

I suspect that the problem described in this stackexchange post is a setspace bug.  Namely, the following code at the bottom of setspace.sty causes significant side effects, even with \displayskipstretch=1 (e.g. with the nodisplayskipstretch option):
\everydisplay\expandafter{%
  \the\everydisplay
  \abovedisplayskip \displayskipstretch\abovedisplayskip
  \belowdisplayskip \displayskipstretch\belowdisplayskip
  \abovedisplayshortskip \displayskipstretch\abovedisplayshortskip
  \belowdisplayshortskip \displayskipstretch\belowdisplayshortskip
}

For a particular document I was working on, these side effects increased my page length from 97 to 100 pages.

multiplying the skips by 1.0 removes the stretch and shrink components, It is hard to say if that is a bug or a design decision, as far as I can tell, setspace has always multiplied the displayskips in this way (originally using \baselinestretch then since 1998 \displayskipstretch.
Rather than using 1.0 you could use no multiplier at all adding
\setdisplayskipstretch{}

after loading setspace allows all three footnotes to fit on the first page in that tex.sx example.

Thank you David, that command works very well for me.  I have added a corresponding answer on my original tex.sx question.  In addition, I wrote a new answer for the tex.sx question about Equations and Double-Spacing.
Thank you very much for the explanation (and more generally for your countless contributions to LaTeX).  I can't resist congratulating you on your impending 500,000 tex.sx rep.  (You're currently at 499,920!)


Breaking change for rejectedWith

Node.js 10.14.0
Should.js version 13.2.3
Repro here: https://repl.it/@cloverb/WeirdWeepySpheres
AssertionError: expected [Promise] to be rejected: expected CustomError {} to match CustomError {}
rejectedWith no longer works with custom errors because it calls match which then does an isPlainObject call which checks the object prototype. This is a breaking change from earlier versions. Is there a reason you are requiring the prototype to be Object.prototype or null?
https://github.com/shouldjs/should.js/blob/master/should.js#L3168 -> https://github.com/shouldjs/should.js/blob/master/should.js#L4055 -> https://github.com/shouldjs/should.js/blob/master/should.js#L1429

Your code does not throw for me

Did you run it in the repl.it?

Is this still actual?


Add priority label to alertmanager alerts

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area outputs
What this PR does / why we need it:
Adds the "priority" field from Falco as an alertmanager Label. Helps users route alerts to different notification backends based on priority.
Which issue(s) this PR fixes:
Fixes #275
Special notes for your reviewer:
You were right @Issif , that was easy!

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, mac-chaffee
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: ef40fd108ab6c4bfaada7e726df25fcfca9141ef


Line of Sight GP Service does not exist

id=bdb59e3de7904449aa92acb329873b4b
I checked ArcGIS Server manager, no such service exists.

Not sure why this is in the version next milestone, the item is not released.
I am changing the milestone.

@conklinbd I assumed since the item was shared out with the Release Review group and was included in our sprint we were trying to make a push to get the item released.
@lfunkhouser FYI

Hmmm...I don't see an issue associated with it, the cutoff for new content was last week so I am not sure what this was for.
Unless @jrweakland has an explanation of why it is need for this release I think this needs to stay as something to deal with for the next release.

next release is appropriate

This GP service was created by @kgonzago

@jrweakland @conklinbd @ACueva That service should not have been created. Python scripts were provided for Line of Sight purely as a guide to how an LOS service is created and referenced in the Elevation Profile Table widget. This is noted in the README.md. I recommend deleting that LOS service.

@kgonzago I've deleted the portal item.  I checked and there was no LOS service on the ArcGIS Server.


AppSettings href links to a 404

In the sample located here: https://github.com/Microsoft/botbuilder-js/tree/master/samples/luis-bot-es6#required-getting-set-up-with-luisai-model
"Update appsettings.json with your Luis-ModelId, Luis-SubscriptionId and Luis-Url."
The appsettings.json links to a 404 and is not included in the sample source either.

The sample originally submitted has been deprecated in favor of our new samples. The LUIS sample is here:
https://github.com/Microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/12.nlp-with-luis
@rob-derosa Let us know if I can help with the new way of setting up LUIS to work in your app.

Here's the (now deprecated) sample, for the record:
https://github.com/Microsoft/botbuilder-js/tree/26b46697e528cb3dbfd9da8de4770a570f93b3b7/samples/luis-bot-es6
It appears to me that appsettings.json was not actually in use in this sample and its inclusion on that readme was in error.


Not able to perform unit tests from command line

Is it a ?

[x] Bug Report

[ ] Feature Request

[ ] Chore

Bug Report
Actual Behaviour
If trying to perform unit tests from command line (./gradlew test , ./gradlew check etc.) an error get thrown up that
FAILURE: Build failed with an exception.

What went wrong:
Could not determine java version from '9.0.1'.

Steps to reproduce it
perform the ./gradlew test from cmd.
@iamareebjamal
I think this is because the distributionUrl is distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip and the gradle version is 3.0.1 . In my opinion I need to downgrade the distributionUrl to
gradle-3.3-all.zip.
Should I go forward with it?
Would you like to work on the issue?
Yes!

Please run ./gradlew androidCheck in terminal instead.

@Masquerade0097 No , it doesn't work

Are you using Java 9?

@iamareebjamal Yes!


readthedocs needs updating

Public documentation here is still stuck at version 2.2

This is the traceback I see in the build output:
Collecting Django (from -r /home/docs/checkouts/readthedocs.org/user_builds/django-axes/checkouts/stable/requirements.txt (line 1))
  Using cached Django-2.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-MfBMQI/Django/setup.py", line 32, in <module>
        version = __import__('django').get_version()
      File "django/__init__.py", line 1, in <module>
        from django.utils.version import get_version
      File "django/utils/version.py", line 61, in <module>
        @functools.lru_cache()
    AttributeError: 'module' object has no attribute 'lru_cache'

This basically means it tries to install Django 2.0 (since the version of Django isn't pinned in setup.py) and fails because the RTD project was running on Python 2.x.
I've switched just switched the project on RTD to Python 3.x and the build passed.


Delete all files uploaded by specifi user

there should be an option to delete all media uploaded by specific user or deleting a user should delete the uploaded files on the server
spammers are taking advantage of this issue through using flooding bots to upload bulk data on the server and flood it there should be an options to ban this behavior

this seems like it would be an implementation-specific feature, rather than something appropriate to the Matrix protocol as a whole?
For Synapse, I don't think there is a way to do this directly, but you should be able to script something by combining the "list media of a user" api with the "delete media" api.


Issue with connecting via twitch.js

Describe the bug
Using twitch.js, I get no output from the irc server except a Disconnected unexpectedly error.
To Reproduce
Steps to reproduce the behavior:
const ChatClient = require('twitch-chat-client');
const client = ChatClient.anonymous({
	hostName: 'irc.fdgt.dev',
})
client.connect();

client.onJoin((channel, user) => {
    console.log("Connected");
})

client.onCommunitySub((channel, user, subInfo, msg) => {
    console.log(`${channel}, ${user}, onCommunitySub`);
})

client.onSub((channel, user, subInfo, msg) => {
    console.log(`${channel}, ${user}, onSub`);
})

client.say('#channel', 'submysterygift.tier3 --giftcount 10');
client.say('#channel', 'subscription --tier 3');

Expected behavior
Using the above code, I expect 10 gifted sub events and one tier three regular subscription

Hi, its probably related: I cannot connect with tmi.js either.
This code outputs: Unable to connect.
const tmi = require("tmi.js");

const client = new tmi.Client({
  connection: {
    server: "irc.fdgt.dev",
  },
});

client
  .connect()
  .then(() => {
    console.log("connected");
  })
  .catch((err) => {
    console.error(err);
  });

@thomaslule If you’re using tmi on the server-side, you’ll need to add secure: true to your connection config that’s a failing of the docs that will be addressed by fdgt-apis/website#27.

@trezy oh thanks that's right, sorry for the noise in this issue

@coolcalcacol I still haven't had a chance to actually verify this bug, but I've got a suspicion that you may need to set the ssl option to true when creating the connection. For example:
const client = ChatClient.anonymous({
  ssl: true,
  hostName: 'irc.fdgt.dev',
})

Let me know whether or not that solves the issue. If so, I'll update the docs.

ssl is the default... at least it should be.

@d-fischer It is for Twitch, but not for custom servers you have to explicitly mark it secure. I believe it's like that for people running local IRC servers

Where'd you get that idea? I know the opposite is true from being the author of the library.

Suggested fix didn't work, apologies for the delay


Finalize Hashstore interface

Complete the HashStore interface based on the Public API and review the specifications with team.
Notes:

storeObject

Jing: May this method throw a carefully designed exceptions rather than the general exception? We may define some customized Exception classes to handle common scenarios.
Matthew RE: HashStore - There's a lot of great detail in this javadoc, that is missing in the javadoc for the HashStoreInterface. (Classic case of DRY 😁). According to the Google Java style guide, it's not necessary to have a javadoc entry on a method that overrides another one, if the overridden method has javadoc. I'd therefore suggest removing this javadoc, and maybe using the details to supplement the HashStoreInterface javadoc.

The initial HashStoreInterface has been completed but is missing some details (Exception comments and customized Exception types). The last step for this issue will continue/be completed in issue-22 - Review HashStore interface


perf(lodash): avoid importing global lodash

Avoid importing global lodash and get these kind of errors:
@ovh-ux/manager-freefax: [BABEL] Note: The code generator has deoptimised the styling of /Users/jleveugle/Documents/Work/github/ovh-ux/manager/node_modules/lodash/lodash.js as it exceeds the max of 500KB.

Smaller is better :D

According to the warning? message you have from manager-freefax section, what's about applying the perf commit to this specific section instead?
It is a bit confusing here if I pay attention to the whole diff because you are targeting multiple workspace such as core and overthebox for instance.
I'm not convince about specify lodash as a scope to your commit message but it's probably a personal feeling.
What is your point of vue for example targeting a section|workspace and then applying the related perf commit to?

@antleblanc The perf commit is cross workspaces, each workspace will get a trace in the history / changelog with specific files for the current workspace :)
We must see here a way to standardize the changes across all the workspaces (and the message commit too :))
For the scope, I tried. I can update it if needed, what is your purpose? :)

Due to the fact that you keep only a single commit, the scope lodash sounds good.
The thing that I'm pointing out here is the description which is related to @ovh-ux/manager-freefax.
This warning will be also displayed with the core and overthebox package too.


Update 2022-01-02-blockchain-as-a-data-structure.md

Hash Functions and segue to Blockchain

some edits changed the meaning of the section and made it incorrect.


Custom adapters and instances

This pull request is not complete. I'll add tests if you are ok functionality wise with this pull request.
Motivation for custom adapters
I wanted to test my expressjs based rest service application with axios. In order to test the rest api I need to talk to application instance directly without going through a socket. Easiest way to do this is via supertest. The adapter for it is very simple.
Motivation for custom instances
When using this I quickly wanted to have a custom instance of axios with my adapter. I've also figured having an ability to set custom default options for custom instances is very useful in other cases such as creating api specific http clients or presetting csrf tokens etc.
What do you think?

@epeli all right, I've taken long enough to give you a response. I say let's go with create. I like the use cases you've presented, and I think it's worth addressing.

Ok. I'll finish this on next week.

@epeli sounds good.

the concept of custom instances is very useful in my project, will this pr be merged soon?

bump, need this.

:+1: I need custom adapter :(

As of 0.9.0 axios now has support for custom instances and custom adapters.


Add link to command completion index

What is the purpose of this change? What does it change?

Was the change discussed in an issue?
fixes #1118

How to test changes?

Also I did one cosmetic fix of : which was unnecessarily appended to index like Extra documentation:

:white_check_mark: odo build 758 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/5aa26eb1fa by @amitkrout)


Update AMP PD logo in datasets page

The AMP PD Outreach Working Group has requested that the logo on the datasets page be updated to match https://amp-pd.org/ . Tested by running locally:

Hi @DataBiosphere/terra-devs , is there anything for me to do here? The circleci tests are failing because I don't have the necessary permissions.

Thanks! I decided to put back the old image for the reason breilly2 mentioned. @breilly2  @zarsky-broad could one of you merge for me? I cannot merge because I don't have write access.

The easiest option might be to make the new image have the same name as the old image?

Thanks, that sounds reasonable to me. Done.


GSoC 2015: Initial GPX support

I'm opening this PR right now to facilitate code reviewing. Most of the visual stuff is done.
There's still some things I need to work on, see below.
What's missing:

[x] Better test coverage

Please review so we can get this to a decent state ASAP

Looking at this now.
Please update viewerDragDropMixin.js as well to handle drag and drop for gpx files.

Where did you get the sample data from?  We need to make sure the license allows us to use it in Cesium.  If not, it's easy enough to replace them with other data.

Thanks @andre-nunes!  That's it for my first round of review.  The files I tested all loaded without any problems and things are looking pretty good.
Other than my initial comments, the big thing I see missing is actually creating time-dynamic tracks for time-dynamic data instead of just generating a bunch of waypoints (I think you may have already mentionedthis).  This should be easy to do, but let's address all of the review comments first and then we can worry about adding that feature.

I took the sample data from these websites:
http://cycleseven.org/gps-waypoints-routes-and-tracks-the-difference
http://www.gpsvisualizer.com/examples/google_gpx.html
http://wiki.openstreetmap.org/wiki/GPX
Seems to be CreativeCommons on the wiki but I couldn't find licenses on the other two websites

@andre-nunes Just an FYI, let me know when you want me to take another look at this again.

I've gone through all your comments, you can take another look if you have the time.
Right now I'm looking into time dynamic tracks

Okay, time dynamic tracks should be easy enough with the SampledPositionProperty.  For each time/position pair you just call addSample.
Also, I noticed that there is course/pitch/roll information.  You should be able to use SampledProperty(Quaternion) to handle these and assign it to entity.orientation  course is just the heading and you can use Transforms.headingPitchRollQuaternion to create the quaternions.  I have a sample file I'll email you offline to code with.

It looks like in some cases the waypoints get the correct elevation (but the track stays on the ground) and in other cases the opposite happens (the track in the air and the waypoints are on the ground)  It might just magically get fixed when you add the dynamic track code, but I wanted to let you know it was happening.  The sample file I just emailed you shows it pretty well.

Does course mean yaw? As in roll-pitch-yaw.
These are not on the official GPX schema, I guess those are extensions but I could look into implementing these as well.
That elevation bug is strange, I'll see if I forgot something related to coordinate reading

About the elevation, on the sample file you've emailed me the waypoints don't have an elevation tag, so it is set to 0 as default. The track points (trkpt) have elevation, that's why the track floats in the air while the waypoints stay on the ground... I believe that's working as intended

Does course mean yaw? As in roll-pitch-yaw.

They are basically the same thing, but everyone has subtle differences, Cesium uses heading/pitch/roll.  It looks like this data is specifically coming from ardupilot, which is an open source drone platform.  I have a feeling it's pretty popular.  If it's easy to add support for these fields, let's do it (we can always change it later).  If you run into problems, then we'll skip it for now.

I believe that's working as intended

Okay, Google Earth has similar results, so I guess it's just a data problem.  I'll probably play around with it at some point and see if we can improve anything.
Let me know when the dynamic tracks are ready to look at.
Do I have commit access to your fork?  If not, would you mine giving it to me?  I might make some final tweaks when we're done before things get merged so I want to have it just in case.

I gave you commit access.
My main issue with dynamic tracks is that in GPX the time tag is not mandatory so we can get data that has an uneven number of points and timestamps. I was thinking about simplifying this:
If all track points have a timestamp (# positions = # timestamps), the track is time dynamic.
else
if you can't match all track points with a timestamp (# positions != # timestamps) the track shouldn't be time dynamic. This is what is implemented right now and I'd need to implement the time dynamic case.
What do you think?

That sounds like a good strategy to me.

Hey @mramato
I just added more tests, I think that test coverage is pretty good right now, can you look into it and tell me if I missed something?
Other than that what is missing for us to wrap this up?
Thanks

getPerson, getEmail and getLink all appear to be missing unit tests.

Done, managed to find and fix a couple of bugs while adding the missing tests. Thanks a lot!

That's exactly why we write the tests :smile:

Also, I noticed that there is course/pitch/roll information. You should be able to use SampledProperty(Quaternion) to handle these and assign it to entity.orientation course is just the heading and you can use Transforms.headingPitchRollQuaternion to create the quaternions. I have a sample file I'll email you offline to code with.

Looking at heading/pitch/roll right now. A few questions: ´
I have to compute a quaternion for each track point, where do I assign these quaternions? One SampledProperty(Quaternion) per quartenion but where do I add these samples? Do I use the same SampledPositionProperty I used for the times and coordinates of the points?
If you could point me to any example I would be grateful.
I'm also assuming this orientation info is only relevant for time-dynamic tracks.

I have this code to process the orientation on a single track point:

function processOrientation(node){
        var heading = defaultValue(CesiumMath.toRadians(queryNumericValue(node, 'course', namespaces.gpx)), 0.0);
        var pitch = defaultValue(CesiumMath.toRadians(queryNumericValue(node, 'pitch', namespaces.gpx)), 0.0);
        var roll = defaultValue(CesiumMath.toRadians(queryNumericValue(node, 'roll', namespaces.gpx)), 0.0);
        var center = Cartesian3.fromDegrees(0.0, 0.0);

        var quartenion = Transforms.headingPitchRollQuarternion(center, heading, pitch, roll);
        var orientationProperty = new SampledProperty(quartenion);
       ...
}

What should the default value be for each one of heading/pitch/roll and what do I do with the sampled  property afterwards

You assign it to entity.orientation and just use 0 for the default.  However, if none of the properties exist, I wouldn't create a SampledProperty at all, since most data won't have them and it wastes memory.

Hey @mramato, what's needed to merge this? It will be hard for me to get orientation in before next weekend

Does anyone in the community have the bandwidth to take this over the finish line?
Twitter fame and Cesium swag await! :1st_place_medal:

I merged this into a new gpx and updated it to match master.
I'm going to close this PR but anyone interested in taking this over the home stretch should use gpx as a starting point.  Depending on my schedule, I may ever try and do it myself since this is probably 98% complete as is.
Thanks again for the original work @andre-nunes!


[DOC] Links to distribution-specific download artifacts

What do you want to do?

[ ] Request a change to existing documentation
[ ] Add new documentation
[ ] Report a technical problem with the documentation
[x] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
While the opensearch-project provides generic packages (rpm) for Linux distributions, I wonder if there's interest
in providing distribution-specific links.
Apparently there is interests in providing such links. See here and here.
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
openSUSE has packages for various of its own distributions :wink:

@kkaempf could you please describe your request? Are these distributions available already and we just don't publish links?  I'm not quite clear on what you're asking for.

Closing this stale issue. The Debian distribution will be released for 2.x versions along with the roll out of 2.5. I believe the plan is for Debian distribution availability for 1.x versions along with the roll out of the next 1.x maintenance release.


Feature Request: Focus Follows Mouse Configurable Mouse Hover Delay

Would it be possible to tweak the Focus Follows Mouse feature so that a window will only become focused or be raised if the mouse dwells on it (i.e. is stationary) for a configurable period of time (e.g. 500ms)? Defaulting to 0 (i.e. focus/raise immediately) would keep the current functionality.
This would help a lot with moving the mouse over several windows or moving up to the menu bar without the need to press a key.
I'd implement this as a PR if it wasn't for the fact that I don't know C. It's a fantastic tool :)

This will not be implemented, sorry. The referenced discussion mentions the current workaround which is holding down a key-modifier to temporarily disable FFM when appropriate. The default modifier is set to FN.
Related discussion in https://github.com/koekeishiya/yabai/issues/1019

Check out AutoRaise. It has a configurable delay for raise and/or focus. It works perfectly well with yabai. Just remember to disable your raise and focus in yabai config.
yabai -m config \
    mouse_follows_focus off \
    focus_follows_mouse off


scripts/prepare.bash in Common Voice example is broken

This might be because the structure of the downloaded .tar.gx files have changed since it was first written. Currently, the validated.tsv lies deeper inside the directory than assumed by the script, hence giving the following error at runtime:
unpacking './downloads/br.tar.gz'
cut: ./data/br/validated.tsv: No such file or directory
error: unable to load list of paths from metadata file at './data/br/validated.tsv'

A similar error persists throughout the script, and can be fixed by pointing to the correct/updated location of the clips sub-directory inside each language directory (after unzip). I can fix these are create a PR, unless there's a different way you want to fix this ?

Since these errors multiply throughout the script and affect other preparation scipts as well - split_test_set, merge_metadata -, the best solution might be to just move the unzipped contents to the desired location with a simple mv command early on. Something like this, fixes this issue:
(line 26) cv_artifact=cv-corpus-5-2020-06-22

...
(line69) mv $output_dir/$language/$cv_artifact/$language/* $output_dir/$language

Thanks for reporting this. I have been thinking about cleaning up the preparation scripts and rewriting them in Python but haven't had the time to do that. The Common Voice website does not seem to provide any way of downloading past versions of the datasets, which is very problematic for reproducible research. One way to solve this would be to cache the old datasets somewhere, but I'm not sure what's a good location for that.
In any case, I think that your suggestion of moving the unzipped contents in the script is the easiest solution here. If you want to create a PR, I am happy to merge it.


Top N Countries in a Region

Added query to retrieve top N countries in a region. Snapshot also included

Approved


scenario/http-probing on same site but different port 80 and 443

Hello,
scenario/http-probing is grouping by "evt.Meta.source_ip + '/' + evt.Parsed.target_fqdn" .

What about grouping by host instead of fqdn ? It looks better for security and I am not sure it will increase the false positive cases. What do you think ?
Cheers.

Hello @ririsoft ,
If i understand correctly the issue, you would preferer to groupby ip:port instead of only ip ?
Cheers.

Hello @AlteredCoder ,
Grouping by ip is totally fine. I would prefer a grouping by "evt.Meta.source_ip + '/' + %HOST%.
But looking further into this I believe the issue is on my side, sorry.
Indeed I have a custom apache log parsing:
#/etc/crowdsec/config/parsers/s01-parse/apache2-logs.yaml
#Apache access logs
#debug: true
filter: "evt.Parsed.program startsWith 'apache2'"
onsuccess: next_stage
name: crowdsecurity/apache2-logs
description: "Parse Apache2 access and error logs"
#log line can be prefixed by a target_fqdn
grok:
  #pattern: '(%{IPORHOST:target_fqdn} )?%{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}'
  pattern: '(%{URIHOST:target_fqdn} )?%{COMMONAPACHELOG} %{POSINT} %{POSINT} %{QS:referrer} %{QS:agent}'
  apply_on: message
# these ones apply for both grok patterns
statics:
  - meta: log_type
    value: http_access-log
  - target: evt.StrTime
    expression: evt.Parsed.timestamp
  - meta: service
    value: http
  - meta: source_ip
    expression: evt.Parsed.clientip
  - meta: http_status
    expression: evt.Parsed.response
  - meta: http_path
    expression: evt.Parsed.request

I needed to have this to catch the port part with the IP, which is not caugh by the partern %{IPORHOST:target_fqdn} used by crowdsec by default. However my pattern aggregate the IP and PORT together in the target fqdn which is a mistake. I am going to replace it with something else like %{IPORHOST:target_fqdn}(?::%{POSINT:port})?.
I am closing this, since this is due to my personal settings. I am really sorry for the false issue :(


[docs] Improve Style Library Interoperability

I have tried to improve our style interoperability guide. Here are a couple of leverages I have explored:

Update the customization style to be shorted and yet more appealing, it's based on Stripe.

Encourage the usage of the CodeSandbox edit button, this will further help us evaluate how much popular is CSS vs styled-components vs emotion vs Global CSS vs CSS modules. Reset all the codesandbox stats counters to 0.

Treat each section as more independent, this means duplicating more content between them.
Encourage using a single theme object, better illustrate how to use Material-UI's theme with styled-components.

Put more emphasis on controlling the priority, it's really important.
Go in more detail on how to style nested elements.
Use CRA instead of Parcel for codesandbox
Remove react-jss from the list, the example is broken, and given stats are going down: https://npm-stat.com/charts.html?package=react-jss, I would rather not invest time on fixing it.

Stuff we should cover later on: How to use the theme object with SASS and CSS modules? https://github.com/MadLittleMods/postcss-css-variables#preserveinjectedvariables-default-true

I can't wait for Material-UI supporting styled-components and emotion, it's going to be awesome 😍 !

When this was merged it erased the React JSS section at the bottom of the page. The React JSS link is still at the top, but it clicking it links/navigates to nowhere. Was this on purpose or a mistake maybe?
Here is the live page:
https://material-ui.com/guides/interoperability/

@johnwils The example wasn't working correctly. However, I think that we should introduce it back. Do you want to work on it? :)

oh. i reread the top comment and missed this part:
Remove react-jss from the list, the example is broken, and given stats are going down: https://npm-stat.com/charts.html?package=react-jss, I would rather not invest time on fixing it.
sorry i don’t have time atm. But have a question :-)
Does the stars going down.. reflect in any way the future of material-ui api makeStyles? It uses react-jss.
curious your thoughts on if  @material-ui/styles may move in another direction or stick to makeStyles in future versions
Sent from my iPhone

On Feb 20, 2020, at 4:23 AM, Olivier Tassinari<EMAIL_ADDRESS>wrote:

@johnwils The example wasn't working correctly. However, I think that we should introduce it back. Do you want to work on it? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@oliviertassinari oh. i reread the top comment and missed this part:
Remove react-jss from the list, the example is broken, and given stats are going down: https://npm-stat.com/charts.html?package=react-jss, I would rather not invest time on fixing it.
sorry i don’t have time atm. But have a question :-)
Does the stars going down.. reflect on the future of material-ui api makeStyles? It uses react-jss.
curious if @material-ui/styles may move in another direction or stick to makeStyles in future versions