Add a list of contributors to people page

This queries GitHub for a list of repos created by CRM (excluding forks) and gets the contributors to those repos. It then sorts that list by number of contributions, and features the top 10 contributors on the page. This helps people get a better idea of who has contributed to CRM projects :)

Caveat: this is not a major issue, but it exacerbates the fact that we are making unauthenticated calls to the GH API, which can cause users to get rate limited if they refresh the page too much (ran into this just testing style/layout changes). This can be solved with some caching since the rate limit is by IP. I will fix this in another PR.

You should merge this

You should merge this

Not until I implement a cache or some other workaround to keep people from rate limiting themselves on the GitHub API. That's why it's a draft PR.


Design Review: Map Style upgrade

We have some big changes in store for the OHM basemap and we want your feedback!
As we build out one map style to work across many times and places, one of the challenges we have faced is how prominent to make roads. Many modern web maps often feature them as the most important thing. Over the course of history, that's been true at some times and in some places, but not at others.
So we wanted to rein in the roads, so to speak, and let them play along with the many other data types we have and expect to have in OHM.
Here's a quick before and after, where you can see that the roads fade back and railroads and labels are much more visible:

You can preview the map style, with timeslider and all live OHM data here:
https://openhistoricalmap.github.io/mbgltimeslider-leaflet-control/demo/#8.000/48.85387/2.36481/1702,1000-2021
Because OHM is often sparse in data in many places at various times, we also tested a similar visual style using Mapbox Studio, with the full richness of OSM data. This is obviously a map only of "now" but it's helpful to imagine the future of OHM as more data gets added to the system. Here's a preview that Mapbox/OSM style. We find it useful to look at this and assess whether to "punch up" anything in our OHM style, with an eye to the future when we have more and more data on the map.
We want to get feedback from folks before we roll out this big cartographic change. Please add your comments to this github issue. Specificity is super helpful, including screenshots and direct links to the Timeslider Demo linked above, which encodes location, zoom, and selected year, so we can see exactly what you're talking about.
We'll keep this open for 2 weeks for comments, through Feb 8, and then review comments and assess design revisions before we deploy the updated map.

From Myr on Discord:

While I like the less offensive color of streets, I think intermediary (and minor) highway classes show too late and could probably be pulled forwars 2 or even 3 zoom levels

you’ve made me start thinking about this. perhaps a medium-long term thing might be varying stylesheet profiles with different emphasis. there could, for example, be a selectable stylesheet with a focus on transportation features.

That's a very timely comment, @rwelty1889! We are just starting to think about additional styles focused on certain features. More to come on this subject soon, and thanks for your note.

I would prefer roads be toned down somewhat; but they're hard to see in the proposed style example.  Somewhere between these two extremes would suit me.

I agree with DavidJDBA's point - I find it hard to see the roads on my screen too. Perhaps some subtle colouring of at least the main roads might be a good idea?
I think Myr's point of bringing the intermediate/minor roads to a lower zoom level is also good. Though for the minor roads I think perhaps it makes sense to go just one or two levels lower to avoid the roads all merging into one in towns etc with a dense road network?
One other thing I'd suggest is to make highway=unclassified appear at the same zoom level as highway=residential - I'd consider the two to be equivalent to each other with the only difference being whether the road has residential properties along it or not. This leaves odd gaps on the map when viewing at zoom level 14. In comparison, it appears that the map layers on OSM show both identically.

Thanks for the feedback on the updated mapstyle and especially the issue of low contrast on the roads. On the one hand, our goal is to dial those back since roadways are not universally important through history. On the other hand, we still want them to be broadly perceivable.
We have done some sketches in Mapbox Studio (which uses OSM data) to test color schemes in an environment with a high amount of data density (where we hope to get with OHM in the coming years!).
These alternatives focus on colors for motorways/trunks and primary streets. Other roads are varying widths, and sticking with white with gray cases. Whichever direction we choose to go, other layers (like land cover / land use) will shift colors so they do not match the colors for the roads.
Since this is meant to be a default style to show a wide range of data across any available time, we’re looking to balance making the roads legible without making the map about roads.
Option 1 below has the roads the most contrasted, without them causing visual clutter/taking away from the rest of the map, which seems like a good balance. But we present the other three options as also being viable alternatives.

Purple and red w/ white cases
Red and orange w/ white cases
Purple and red w/ gray cases
Red and orange w/ gray cases

Here’s a single view comparison of the existing map style, the first alternative, and the 4 new alternatives (open in a new window to really see it):

I'd generally avoid 1 & 3, as purple and red look like veins and arteries... I like 2, but are those tones of red & orange really the exact same as in 4? They look lighter to me.
Key reason I like 2 is that the contrast is greatest with the map background, where I feel like the roads in 4 blend in too much with the background.
That said, I'm a little less of a fan of white casing against light backgrounds. I'm not sure there are any design-forward mass market map comps (Google, Bing, Apple, etc.) that use white casings for roads.

Definitely a way to do it, but it gets more challenging. The major advantage of cases is that they provide a contrasting shade to separate the roads from other map elements with something akin to a border. When we have a mid-shade gray case behind a mid-shade red or orange road, it ends up blending together visually and becoming muddier and making the roads look wider. If we were to contrast the mid-shade red or orange roads with darker gray cases, then our major roads will probably have too much visual dominance, which we were trying to move away from. I'm trying to reach a compromise between the bold colors in the current production map and the white roads we have in the staging map. There are a handful of different opinions, and I'm iterating towards a middle ground.

Here are two iterations on the red and orange style. They are both more saturated and brighter than the previous options. One version has white cases, and the other one starts with lighter gray cases and as users zoom in, the cases switch to darker gray.
More saturated red and orange, white cases:

https://studio.mapbox.com/styles/greeninfo/ckzznso6d000v14qfayw1rr8h/edit/#13/51.51337/-0.12025
More saturated red and orange, gray cases:

https://studio.mapbox.com/styles/greeninfo/ckzznwuu900h716kdc00h3enr/edit/#13/51.51337/-0.12025

In terms of aesthetics I find this new presentation very pleasant, but - and speaking as a historian, and someone working on transport networks - I am concerned about the loss of ergonomics in map editing caused by this the change. Would it be possible to have different presentations available based on the kind of info one wants to foreground? While working on the road network, for example, I'd much prefer to work on the very visible bright roads (the left one in the original post by @danrademacher) than the right-hand one. If that could be re-activated in some way while editing that would be ideal.

i think the long term goal is to provide multiple styles. i'm doing
a bunch of work on transport too right now (the NYS canal system over
time) and i think there's a serious need for a transport focused version.
but we also need to spent some time talking about road classification
through history. applying the current system (which is UK derived) in
the US has been messy. once you start going back in time, just what
should you be doing (same deal with the definition of what's a city,
town or village.)
richard
On 2/24/22 5:59 PM, alexislitvine wrote:

In terms of aesthetics I find this new presentation very pleasant, but -
and speaking as a historian, and someone working on transport networks -
I am concerned about the loss of ergonomics in map editing caused by
this the change. Would it be possible to have different presentations
available based on the kind of info one wants to foreground? While
working on the road network, for example, I'd much prefer to work on the
very visible bright roads (the left one in the original post by
@danrademacher https://github.com/danrademacher) than the right-hand
one. If that could be re-activated in some way while editing that would
be ideal.
—
Reply to this email directly, view it on GitHub
https://github.com/OpenHistoricalMap/issues/issues/328#issuecomment-1050344377,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5ED4DPOPDKHV42H3R46GLU42Z35ANCNFSM5MZYAKRQ.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

--
@.***
Averill Park Networking - GIS & IT Consulting
OpenStreetMap - PostgreSQL - Linux
Java - Web Applications - Search

At an urban scale the new presentation (with more saturated red and orange, gray cases) is making it easier to read data and the background without being visually overloaded. However at a larger scale (a country for example)  the transport networks is not really visible. The structure and the hierarchy of those networks are key elements and the new presentation doesn't highlight those features, so it's more confusing in this case.
Defining a different color range and/or line width according to the zoom level can be explored (e.g. once we zoon out the primary roads will be more saturated and wider, the residential one can become darker while keeping the same width ). And of course having different presentations available will be to most ideal option for the long term goal.

Based on a Discord comment from Lemente, I've created an additional style with red cases and orange cases.

at a low zoom level (large scale map) (I am assuming the screenshot is at the right dpi) the grey outline tends to make red and orange hardly identifiable for me (and I have a very good vision, as well as a good calibrated monitor)
fix idea : use darker red and orange outline to keep line colours different enough

Thank you all for the great feedback! I have pushed the version with slightly more saturated red and orange highways with white cases to our staging site. I'm glad we were able to iterate from the original proposals to find a style that is both clean and balanced. If we step back a bit and look at the beginning of the cartographic process, before we even began to style OHM data, we first pulled together a bunch of historical map styles that we could use as inspiration for the first OHM base map. We ultimately settled on a style that was influenced by early to mid-20th century road maps, specifically this 1950 map by Alexander Gross. It's a beautiful map that evokes a particular historical style, and it's been a great reference for our OHM cartography. As we continued to build out our cartography with many different points, line, and polygon layers across many zoom levels, we received a Github issue describing how the highly saturated red and orange highways were overemphasized, especially when zoomed in on cities. The many shades of red and orange we used were overzealous and made the road system appear more confusing. This critique makes sense. When viewing the 1950 road map by Gross,  it's important to remember that it's a static map created at a single zoom level with a limited number of layers symbolized. It works great at a national level, but may not work as well for a local city view. So, with that, we pushed all roads to white with gray cases. Different levels of roads (highway, residential, etc.) had different widths. This was a major change, as noted by a handful of contributors, so this new style that I just pushed to staging is a compromise, where we're bringing back red and orange for highways, but desaturated from the original road atlas style.
Here are a few direct responses to a few comments that we've received both here in comments and in Discord - again, thank you for the feedback!

I think intermediary (and minor) highway classes show too late and could probably be pulled forwars 2 or even 3 zoom levels
I've tried to match up zoom levels with Mapbox's Streets style, so hopefully this is an improvement.

I'd generally avoid 1 & 3, as purple and red look like veins and arteries...
Fair point. Design is subjective, and this particular point hadn't resonated with me. Purple continues to be a controversial color in cartography (I happen to love it), and it can be an interesting addition to a map. Some inspiration for that approach can be seen here.

I'm not sure there are any design-forward mass market map comps (Google, Bing, Apple, etc.) that use white casings for roads.
It's a bit outside the box, but cartographically, I find it to be a very clean roads border. And  there's good precedent in the Mapbox Streets style.

However at a larger scale (a country for example) the transport networks is not really visible.
Yes, and this is somewhat by design. From a cartographic perspective, I prefer to see a map, especially one at many zoom levels where details can reveal themselves as you zoom in, that somewhat mimics satellite imagery. When zoomed very far out, I would expect to see the difference between water and land, and on land, the difference in land cover / land use types. I would not expect to be able to distinguish different road classifications, for example. I am following that approach in this base map design.

i think the long term goal is to provide multiple styles. i'm doing a bunch of work on transport too right now (the NYS canal system over time) and i think there's a serious need for a transport focused version.
Yes! We're working towards the idea of multiple styles for OHM. Vanessa's woodblock map style is the first example, but there will be more, for sure. Our biggest challenge (and opportunity) with the OHM base map is to try to make an aesthetically pleasing and balanced map that works for many purposes and applications. This tends to push cartography to a more subtle place for individual layers, because we don't want one type of layer to dominate all the others. If we built a map for a transportation historian that emphasized roads, railroads, ferry lines, and airports, how would the ecological historian react to those style choices? It's important to remember we're building a map for countless applications and making it beautiful at the same time. It's tricky, but also inspiring.

Thank you all, again, for all your contributions and feedback!

We just deployed the final version of the map style to production


Is there any default implementation of shuffling?

I realize that shuffling could be an essential part in NN. However, some people indicate that "If you are using a not-recurrent NN like a traditional MLP you don't NEED to shuffle dataset especially if you're using a batch learning algorithm".
I wonder whether there's a shuffling step before each epoch in neon? If not, how can I implement it?
Related articles:
http://stats.stackexchange.com/questions/40638/predicting-time-series-with-nns-should-the-data-set-be-shuffled
http://stats.stackexchange.com/questions/90874/how-can-stochastic-gradient-descent-avoid-the-problem-of-a-local-minimum

Hi,
By default there is no such shuffling before each epoch in neon.  Most of the models are setup to run mini-batched gradient descent, where the batch_size model parameter defines how many examples are in each batch.
If you wanted to shuffle mini-batch order within an epoch that should be pretty straight forward and I'd recommend having a look in the DataLayer class code.  I'd suggest creating a subclass and overriding the has_more_data and fprop functions.  If however you wanted to shuffle individual examples this will be more complex and result in a lot of overhead (as data is stored on device in mini-batches and accessed as such).

We have capability for shuffling within a macrobatch for imageset based
datasets. It hasn't been pushed to external master yet, but it could be a
good compromise between full set shuffling and just presenting the same
minibatches on each epoch.
On Friday, June 19, 2015, Scott Leishman<EMAIL_ADDRESS>wrote:

Hi,
By default there is no such shuffling before each epoch in neon. Most of
the models are setup to run mini-batched gradient descent, where the
batch_size model parameter defines how many examples are in each batch.
If you wanted to shuffle mini-batch order within an epoch that should be
pretty straight forward and I'd recommend having a look in the DataLayer
class code. I'd suggest creating a subclass and overriding the
has_more_data and fprop functions. If however you wanted to shuffle
individual examples this will be more complex and result in a lot of
overhead (as data is stored on device in mini-batches and accessed as such).
—
Reply to this email directly or view it on GitHub
https://github.com/NervanaSystems/neon/issues/49#issuecomment-113699995.

Thank you!
@apark263, after reading codes these days, I notice what you mentioned about the Imagest.
I am currently working on modifying Imageset for my own tasks. Imageset is a useful tool to read large set of images from the disk, whereas there are some additional features we do not need such as cropping images. Furthermore, it can not be used for testing data and pictures other than jpeg.
I guess the imageset is originally designed for contest dataset such as imagenet?
Maybe there could be a another class, which is the subclass of the Dataset and the super class of ImageSet, only provides the feature of reading huge amount of images. Or we should modify the batch_writer?

Imageset was originally meant to support training and testing of ImageNet
1k models, however we have tried to make it general enough to handle the
case that you are describing.
Most of the modifications you are looking for can be handled by supplying
the appropriate options to batchwriter, which preprocesses the images into
macrobatches (it also converts non-jpg images to jpegs for decoding by
Imageset). The types of formats that batchwriter can support are whatever
image formats that can be read by PIL.
Regarding not wanting to use random cropping or flipping: If you just
preprocess the images to the final size that you want to test, then set
cropped_image_size and output_image_size to that fixed image size, then no
cropping will occur. If you also specify dotransforms=False, no flips will
occur.
On Saturday, June 20, 2015, Keren Zhou<EMAIL_ADDRESS>wrote:

Thank you!
@apark263 https://github.com/apark263, after reading codes these days,
I notice what you mentioned about the Imagest.
I am currently working on modifying Imageset for my own tasks. Imageset
is a useful tool to read large set of images from the disk, whereas there
are some additional features we do not need such as cropping images.
Furthermore, it can not be used for testing data and pictures other than
jpeg.
I guess the imageset is originally designed for contest dataset such as
imagenet?
Maybe there could be a another class, which is the subclass of the Dataset
and the super class of ImageSet, only provides the feature of reading
huge amount of images. Or we should modify the batch_writer?
—
Reply to this email directly or view it on GitHub
https://github.com/NervanaSystems/neon/issues/49#issuecomment-113724690.


Allow specifying custom approximateTerrainHeights url

We run a single-page web app that supports viewing multiple planets with the ability to load geojson features that are clampToGround
The issue we've had is that proper clamping behavior depends on us loading a custom approximateTerrainHeights.json for each planet, but Cesium provides no hooks to load in different approximateTerrainHeights files.
This change makes it possible to load custom approximateTerrainHeights.json at runtime.

Thanks for the pull request @malaretv!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Unfortunately this doesn't solve the case of the createGroundPolylineWorker which inlines all it's dependencies, so it ends up initializing it's own ApproximateTerrainHeights context.

As long as createGroundPolylineWorker requires ApproximateTerrainHeights to be bundled with it I do not see a path forward here. Closing


mailing system

Codecov Report

Merging #67 (dce9bcd) into master (6525c12) will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage   83.44%   83.29%   -0.16%
==========================================
  Files          62       63       +1
  Lines        1661     1664       +3
==========================================
  Hits         1386     1386
- Misses        275      278       +3

Impacted Files
Coverage Δ

src/base/tasks.py
0.00% <0.00%> (ø)

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 6525c12...dce9bcd. Read the comment docs.


sieve improvements

https://www.sievedata.com/blog/fast-high-quality-ai-lipsyncing
Can the improvements made by sieve be done here?

they did some optimizations. how can we idea of what optimization can we do to improve model?

they explain it all in the doc and the models can be updated from the 512 to the 1024 or the 2048. this part i already did, but i have not had the chance to attempt the sieve code improvements

where do you see that they explained what changes they made? it sais they would open source the results but don't see anything :(

Our Improvements
To improve this, we’ve introduced a series of optimizations on the original repository that greatly improves speed and performance.
The first optimization is smartly cropping around the face of the target speaker to avoid unnecessarily processing most of the video. Along with the ML models, there are a lot of computer vision operations like warping, inverse transforms, etc. in Video Retalking that are expensive to perform on the entire face. We quickly identify the target speaker using batched RetinaFace, a very lightweight face detector. In many scenarios, there are multiple faces or even multiple predictions of the same face that occur, so we have to isolate the largest face. For now, we treat that as the target speaker. Then, we crop the video around the union of all detections of the face. This allows us to process a much smaller subsection of the video, which greatly speeds up inference up to 4x faster, especially on videos where the face is smaller and doesn’t move a lot. In addition, establishing the target speaker crop allows us to solely enhance that part of the video, rather than potentially generating artifacts around other sections of the frame.
Second, we added batching to the stabilization step, making this step much faster when combined with the cropping above. We also removed enhancement of the stabilized video, as we found that its inclusion did not affect quality after we performed the cropping above.
When detecting facial landmarks, the original repository reinitialized the keypoint extractor multiple times and performed duplicate computations of landmarks during multiple steps of the process due to input resizing. We initialize the keypoint extractor once, and allow landmarks calculated before to be resized and reused during facial alignment. On low resolution inputs where the face is really small, we bypass parts of the alignment that actually made the output look worse, as the feature detection was much less accurate.
Finally, we made the code more durable to edge cases where no faces are detected (by ignoring these frames), more than one face is detected (by detecting the largest face), or there is lots of movement from the speaker (by being smart about cropping).
In addition, we’ve optimized memory and GPU memory throughout the code so that it can fit on an L4 GPU with 8 vCPUs and 32 GB RAM, making it very cost-effective. We also added a low resolution and low fps option to allow for up to an additional 4x speedup for scenarios where speed matters more than quality.

i just use sieve and output a video. It does not improve too much,although it's faster


Scroll when keyboard up for input either for textfield/textview?

@Rashesh-Bosamiya can you please explain the problem in detail to better understand the cause of this issue. What exactly you are trying to do and what you are expecting from the library and what is the current output that you are getting. You can attach screenshots also :)

The output that I'm expecting is, an alertViewController with following UIView (screenshot).

Now, when keyboard is up for textView, AlertController should scroll up if textView is behind keyboard.

@Rashesh-Bosamiya the thing that you are explaining is already represented in Demo project. Can you please share the code snippet for your problem?


How to solve "HTTP 599: Recv failure: Connection reset by peer",

taskid
91256f120ef75d3141c558dcf586e5a2
lastcrawltime
1497436226.74 (37 minutes ago)
updatetime
1497436226.74 (37 minutes ago)
exetime
1497436114.35 (39 minutes ago)
track.fetch  112091.76ms
{
"content": "",
"encoding": null,
"error": "HTTP 599: Recv failure: Connection reset by peer",
"headers": {},
"ok": false,
"redirect_url": null,
"status_code": 599,
"time":<PHONE_NUMBER>1221313
}
track.process  2.87ms
HTTP 599: Recv failure: Connection reset by peer
back (most recent call last):
File "/opt/pyspider/pyspider/libs/base_handler.py", line 196, in run_task
result = self._run_task(task, response)
File "/opt/pyspider/pyspider/libs/base_handler.py", line 175, in _run_task
response.raise_for_status()
File "/opt/pyspider/pyspider/libs/response.py", line 172, in raise_for_status
six.reraise(Exception, Exception(self.error), Traceback.from_string(self.traceback).as_traceback())
File "/opt/pyspider/pyspider/fetcher/tornado_fetcher.py", line 499, in phantomjs_fetch
response = yield gen.maybe_future(self.http_client.fetch(request))
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
value = future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "", line 3, in raise_exc_info
Exception: HTTP 599: Recv failure: Connection reset by peer
{
"exception": "HTTP 599: Recv failure: Connection reset by peer",
"follows": 0,
"logs": "back (most recent call last):\n      File "/opt/pyspider/pyspider/libs/base_handler.py", line 196, in run_task\n        result = self._run_task(task, response)\n      File "/opt/pyspider/pyspider/libs/base_handler.py", line 175, in _run_task\n        response.raise_for_status()\n      File "/opt/pyspider/pyspider/libs/response.py", line 172, in raise_for_status\n        six.reraise(Exception, Exception(self.error), Traceback.from_string(self.traceback).as_traceback())\n      File "/opt/pyspider/pyspider/fetcher/tornado_fetcher.py", line 499, in phantomjs_fetch\n        response = yield gen.maybe_future(self.http_client.fetch(request))\n      File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run\n        value = future.result()\n      File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result\n        raise_exc_info(self._exc_info)\n      File "", line 3, in raise_exc_info\n    Exception: HTTP 599: Recv failure: Connection reset by peer\n",
"ok": false,
"result": null,
"time": 0.002866983413696289
}
schedule
{
"exetime":<PHONE_NUMBER>.349394,
"priority": 2,
"retried": 3
}
process
{
"callback": "detail_page"
}
fetch
{
"fetch_type": "js",
"save": {
"sptime": "2017-06-13 15:52:06",
"ttmm": ""
}
}

Restart phantomjs
On Wed, 14 Jun 2017, 09:16 huihui<EMAIL_ADDRESS>wrote:

taskid
91256f120ef75d3141c558dcf586e5a2
lastcrawltime
1497436226.74 (37 minutes ago)
updatetime
1497436226.74 (37 minutes ago)
exetime
1497436114.35 (39 minutes ago)
track.fetch 112091.76ms
{
"content": "",
"encoding": null,
"error": "HTTP 599: Recv failure: Connection reset by peer",
"headers": {},
"ok": false,
"redirect_url": null,
"status_code": 599,
"time":<PHONE_NUMBER>1221313
}
track.process 2.87ms
HTTP 599: Recv failure: Connection reset by peer
back (most recent call last):
File "/opt/pyspider/pyspider/libs/base_handler.py", line 196, in run_task
result = self._run_task(task, response)
File "/opt/pyspider/pyspider/libs/base_handler.py", line 175, in _run_task
response.raise_for_status()
File "/opt/pyspider/pyspider/libs/response.py", line 172, in
raise_for_status
six.reraise(Exception, Exception(self.error),
Traceback.from_string(self.traceback).as_traceback())
File "/opt/pyspider/pyspider/fetcher/tornado_fetcher.py", line 499, in
phantomjs_fetch
response = yield gen.maybe_future(self.http_client.fetch(request))
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 1055,
in run
value = future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line
238, in result
raise_exc_info(self._exc_info)
File "", line 3, in raise_exc_info
Exception: HTTP 599: Recv failure: Connection reset by peer
{
"exception": "HTTP 599: Recv failure: Connection reset by peer",
"follows": 0,
"logs": "back (most recent call last):\n File
"/opt/pyspider/pyspider/libs/base_handler.py", line 196, in run_task\n
result = self._run_task(task, response)\n File
"/opt/pyspider/pyspider/libs/base_handler.py", line 175, in _run_task\n
response.raise_for_status()\n File
"/opt/pyspider/pyspider/libs/response.py", line 172, in raise_for_status\n
six.reraise(Exception, Exception(self.error),
Traceback.from_string(self.traceback).as_traceback())\n File
"/opt/pyspider/pyspider/fetcher/tornado_fetcher.py", line 499, in
phantomjs_fetch\n response = yield
gen.maybe_future(self.http_client.fetch(request))\n File
"/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 1055, in
run\n value = future.result()\n File
"/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238,
in result\n raise_exc_info(self._exc_info)\n File "", line 3, in
raise_exc_info\n Exception: HTTP 599: Recv failure: Connection reset by
peer\n",
"ok": false,
"result": null,
"time": 0.002866983413696289
}
schedule
{
"exetime":<PHONE_NUMBER>.349394,
"priority": 2,
"retried": 3
}
process
{
"callback": "detail_page"
}
fetch
{
"fetch_type": "js",
"save": {
"sptime": "2017-06-13 15:52:06",
"ttmm": ""
}
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/binux/pyspider/issues/711, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAndM0yjdzMMOzTdCc3X8uZhvTsmsvo9ks5sEAddgaJpZM4N6Hh0
.


Logit adjustment loss

For the way 2 using logit adjustment loss, the output logits for inference accuracy in the validation don't perform the logits adjustment, but  the validation loss use the logits adjustment.
As shown in the snippet below:
elif args.logit_adj_train:
     loss = criterion(output + args.logit_adjustments, target_var)
acc = utils.accuracy(output.data, target)

It also runs like this in Google's source code(https://github.com/google-research/google-research/blob/master/logit_adjustment/main.py), where train and val are only adjusted for the calculation of loss.


Fix #4 Logstash fields don't use @ anymore

fix https://github.com/sheknows/bunyan-logstash/issues/4
contains tests and "limit clone depth" by @liukun

@zowers would you or @liukun be interested in taking ownership of this repo? We don't have time to maintain it any longer.

Checked back and we are still using it on some projects so we may continue to maintain it. I'll let you know.

it's 1 simple 100 loc javascript file which does not need a lot of maintaining

I'm using https://github.com/chris-rock/bunyan-logstash-tcp now.

@zowers  is there a reason why there's still the @ with @timestamp?
@paulredmond so... can you merge this? :)

sure, timestamp and version are the only fields which must have @ in the new schema

https://gist.github.com/jordansissel/2996677

Thanks for the explanation!

@paulredmond  I'm waiting for this to be merged, any updates on this?

I am working with the NPM package owner to allow me to become an owner and publish the release version to NPM.

NPM module is published with this PR.
npm install<EMAIL_ADDRESS>


Feature Request: Data streams for functions

This is a Feature Request
Description
It would be super convenient to be able to introduce streams to serverless functions so that you could stream in large data files during a single function invocation. It's challenging to do this currently because not all serverless function providers support data streams.
Use-cases

Stream large files to a function during a single invocation

Concepts

event gateway receives an upload stream
event gateway invokes a function and gives it a stream id
function opens a backward request to the gateway to open a stream with the gateway
event-gateway streams data to function

@brianneisler how would you deal with invocation duration limit?

@mthenw can't really get around that limit. This is just to get around the payload size limit on providers.


"Selected Packages" list always lists main Ash package even when it is not selected

Brief Description
Additionally, the pill for Ash doesn't reflect the version that may be selected as an active package.
Steps to reproduce the bug

Visit docs page of ash-hq https://www.ash-hq.org/docs/guides/ash/latest/tutorials/get-started
Edit "Selected packages" and set Ash to "hidden"
ash | 2.4.2 still appears in sidebar as a selected package (even though it is not)
Edit "Selected packages" and set Ash to a version that isn't latest or 2.4.2
ash | 2.4.2 still appears in sidebar as a selected package

I think this has to do with the fact that when you visit a link, we always (temporarily) ensure that the library/version combo is shown as a selected version. So the fact that you're looking at a guide as of version 2.4.2 forces that version pill to show that way. From a UI perspective this is clearly weird, but otherwise the sidebar wouldn't show the thing you are looking at. Going to need to think a bit about how to resolve that.

Ah right, and it does work like that - if I specifically go look at some docs within AshPhoenix then I can remove/change version of the Ash package.
Possible ways to handle it:

If I'm looking at docs for a func in ash 2.4 and I change to ash 2.3 (which has the same function) then change to be the 2.3 version of the docs
If I'm looking at docs for a func in ash 2.4 and I change to ash 2.3 (which does NOT have the same function) then go to the docs homepage
If I'm looking at docs for a func in ash 2.4 and I hide the ash package then go to the docs homepage


JS execution is slow

Hello,
today, i had to execute a hash (sha256) with a number of iteration
but i have noticed that OB is very slow executing this.
ps : i am using sjcl lib
in my nodejs, the hash is executed in a matter of 1 to 2 seconds
in OB, it is executed in a time of 21 to 25 seconds. same for BB

as for the built-in FUNCTION HASH SHA256 with a while loop
it is taking even more time, because of all the logging from the loop

That's just a debugger thing, cause it gets printed so there are UI calls etc.
If you run it in the Runner with Bot Log disabled it will be fast.
Also mind that a js interpreter is created and ran from the .net code so it's waaay heavier than the real thing, if you need speed you're better off writing your own thing in node, hosting it locally and just poll the result with a http request from OB. Sorry but I can't solve this, it's intrinsic of Jint.

@openbullet check js execution in storm
it is built in C# and it is hosting a dll file to execute this
and it gives almost the same result as the real thing
please, review this part, i really wanted it to work
(sorry to compare with another app, i had to)

Alright I'll give it a look and if needed I'll change  the library I'm using

how about this https://github.com/JavascriptNet/Javascript.Net
:)

Sorry for bringing up this old thing:
wouldn't be https://www.nuget.org/packages/Edge.js/ more fun?

fuck you
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, September 29, 2019 2:01 AM, meinname<EMAIL_ADDRESS>wrote:

Sorry for bringing up this old thing:
wouldn't be https://www.nuget.org/packages/Edge.js/ more fun?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Nice comment.
But why? - Is Edge.js not to recommend?

close this one as you have already updated Jint in 1.2.1


Submitting Point Data

There needs to be a good API for submitting long lists of data.

Submitting DataPoint models


more values for col_types like readr::col_datetime()

Hi, @hadley. I'm wondering why the readxl::col_types doesn't have the same possible values like readr::col_types, like col_datetime(). I think that's really a cool and useful feature. Is it in the plan of future implementing?
Thanks.

Definitely.

May I suggest an abbreviated col_types definition style like this. col_types = "ttnid" instead of col_types = c("text", "text", "numeric", "integer", "date")   This has the advantages of i) being a single string which is a LOT easier to construct manually when you have a >100 columns, ii) being a lot more compact

Where readxl::read_excel() falls down consistently is to guess when the data.frame is sparse e.g., the first 10000 rows are blank. Thus even reading the first 9000 rows won't be able to help discern what the column type should be. Here's a suggestion: perhaps better way is for readxl::read_excel() proceed column-by-column as follows: i) sort descending and then ii) read the first N rows.  These first N rows are likely to contain data and it will be easier to tell the type. This really only needs to be done for columns in which the current algorithm has blanks in the Excel file. While this technique is slower, I'm sure it'll be faster than having to manually construct a col_types vector, so it might be a good optional argument.  GO HADLEYVERSE!

@drolejoel The case of sparse columns was discussed in #131. Currently, read_excel reads the first 100 rows to determine col_types. There is a pending pull request which bumps it up to 1000 (#143), and one by me, which implements a parameter to specify the number of rows to be read in order to determine col_types (#138). Hadley will likely make bigger changes when he works on readxl again, until then you could use my fork:
devtools::install_github("tklebel/readxl")
read_excel("file.xlsx", n = 10000)

Covered by #198


Move to Shared-MetadataUtilsSmi

This is part of #1261 Move the file file common folder.

There are some lines in netfx (eg this one) that are missing in the new file. Was there a reason why?

Can you address the conflicts please that we can merge the code

Can you address the conflicts please that we can merge the code

Done


package.json: Update @patternfly/react-icons package dependency

Check for any outstanding update of point version of any outstanding NPM package dependency

[ ] npm-update

npm-update in progress on centosci-tasks-1vqqn.
Log: https://logs-https-cockpit.apps.ci.centos.org/logs/npm-update-841-20191206-145858/

npm-update @patternfly/react-icons done: https://github.com/cockpituous/welder-web/commits/npm-update-@patternfly/react-icons-20191206-145959

Please manually check features related to these files:
components/ListView/BlueprintsDataList.js:import { PficonTemplateIcon } from "@patternfly/react-icons";
package.json:    "@patternfly/react-icons": "3.14.24",

Codecov Report

Merging #841 into master will decrease coverage by 0.15%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #841      +/-   ##
=========================================
- Coverage   78.86%   78.7%   -0.16%
=========================================
  Files          67      67
  Lines        3316    3316
  Branches      703     703
=========================================
- Hits         2615    2610       -5
- Misses        701     706       +5

Impacted Files
Coverage Δ

components/Notifications/Notification.js
63.49% <0%> (-7.94%)
:arrow_down:

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 7eb9040...2f7bfd3. Read the comment docs.

Updated by PR #843, close this PR.


Error "failure to get a peer from the ring-balancer" in Kong

Discussed in https://github.com/Kong/kong/discussions/8026

Originally posted by anup-krai November  2, 2021
We are using Kong with ingress controller with Postgres DB -
Kong version - 2.4.1
Ingress Controller - 1.2
Current Behavior
We have an API deployed which is taking around 50 TPS. We are seeing 0.7% of request are failing with error failure to get a peer from the ring-balancer and Kong is returning HTTP 503 errors.
We are calling the upstream service which is deployed outside of K8s cluster -
Consumer --> Route --> External Name Service --> Target API
We have validated the upstream and target and all are pointing to correct upstream host.
Expected Behavior
HTTP 503 errors should not be thrown by Kong.
Steps To Reproduce

Create a route with one path defined.
Create a ExternalName type service with HTTPS protocol annotation.
Configure the hostname of external API in ExternalName service.
Trigger high volume calls to this route.

Additional details
Below are the logs at debug level -
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:647: queryDns(): [upstream:inventory-svc.kong-ns.443.svc 159] querying dns for internal.gcp.com
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:583: f(): [upstream:inventory-svc.kong-ns.443.svc 159] new dns record entry for internal.gcp.com: <IP_ADDRESS>:nil
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:368: newAddress(): [upstream:inventory-svc.kong-ns.443.svc 159] new address for host 'internal.gcp.com' created: <IP_ADDRESS>:443 (weight 100)
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:610: f(): [upstream:inventory-svc.kong-ns.443.svc 159] removed dns record entry for internal.gcp.com: <IP_ADDRESS>:nil
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:242: disable(): [upstream:inventory-svc.kong-ns.443.svc 159] disabling address: <IP_ADDRESS>:443 (host internal.gcp.com)
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:266: change(): [upstream:inventory-svc.kong-ns.443.svc 159] changing address weight: <IP_ADDRESS>:443(host internal.gcp.com) 100 -> 0
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:626: f(): [upstream:inventory-svc.kong-ns.443.svc 159] updating balancer based on dns changes for internal.gcp.com
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:255: delete(): [upstream:inventory-svc.kong-ns.443.svc 159] deleting address: <IP_ADDRESS>:443 (host internal.gcp.com)
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:636: f(): [upstream:inventory-svc.kong-ns.443.svc 159] querying dns and updating for internal.gcp.com completed
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:812: addressStillValid(): [upstream:inventory-svc.kong-ns.443.svc 159] DNS record for internal.gcp.com was updated and no longer contains the address
<IP_ADDRESS> - - [06/Nov/2021:06:34:36 +0000] "POST /inventoryAvailability HTTP/1.1" 503 58 "-" "-"

2021/11/06 06:34:36 [debug] 22#0: *7312 [lua] events.lua:211: do_event_json(): worker-events: handling event; source=lua-resty-healthcheck [42a8af3f-c51c-45e2-a7d9-e06f15f811d3:inventory-svc.kong-ns.443.svc], event=healthy, pid=22, data=table: 0x7fb401f1cb20
2021/11/06 06:34:36 [debug] 22#0: *7312 [lua] healthcheck.lua:1123: log(): [healthcheck] (42a8af3f-c51c-45e2-a7d9-e06f15f811d3:inventory-svc.kong-ns.443.svc) event: target added 'internal.gcp.com(<IP_ADDRESS>:443)'
2021/11/06 06:34:36 [debug] 22#0: *7312 [lua] healthcheck.lua:1123: log(): [healthcheck] (42a8af3f-c51c-45e2-a7d9-e06f15f811d3:inventory-svc.kong-ns.443.svc) event: target status 'internal.gcp.com(<IP_ADDRESS>:443)' from 'false' to 'true'
2021/11/06 06:34:36 [debug] 22#0: *7313 [lua] events.lua:211: do_event_json(): worker-events: handling event; source=lua-resty-healthcheck [42a8af3f-c51c-45e2-a7d9-e06f15f811d3:inventory-svc.kong-ns.443.svc], event=remove, pid=22, data=table: 0x7fb402290538
2021/11/06 06:34:36 [debug] 22#0: *7313 [lua] healthcheck.lua:1123: log(): [healthcheck] (42a8af3f-c51c-45e2-a7d9-e06f15f811d3:inventory-svc.kong-ns.443.svc) event: target 'internal.gcp.com (<IP_ADDRESS>:443' removed
2021/11/06 06:34:36 [debug] 23#0: *7606 [lua] base.lua:647: queryDns(): [upstream:inventory-svc.kong-ns.443.svc 158] querying dns for internal.gcp.com
2021/11/06 06:34:36 [debug] 23#0: *7606 [lua] base.lua:500: f(): [upstream:inventory-svc.kong-ns.443.svc 158] no dns changes detected for internal.gcp.com

Immediately after below line we see HTTP 503 error with message failure to get a peer from the ring-balancer-
2021/11/06 06:34:36 [debug] 22#0: *7309 [lua] base.lua:812: addressStillValid(): [upstream:inventory-svc.kong-ns.443.svc 159] DNS record for internal.gcp.com was updated and no longer contains the address
Is there any change we need to do with respect to Kong DNS environment variables or any other change to avoid these errors?

Hi @anup-krai! Thanks for your report, we will take a look at this issue and try to reproduce it.

Likely related: https://github.com/Kong/kong/issues/7551

It may be the exact same bug I had in 2.4, The bug has been solve in 2.6+, and was not here in 2.3.3
https://github.com/Kong/kong/issues/7771
There is still a weird log after https://github.com/Kong/kong/issues/8045
If you get the same result, I will be happy to know it

I have tested this in Kong 2.7.1 and this issue is not coming in this version.

i use kong 3.+ still got this issue


[Feature Request] Add concurrency support to whenNotMatchedBySource filters

Feature request
Which Delta project/connector is this regarding?

[x] Spark
[ ] Standalone
[ ] Flink
[ ] Kernel
[ ] Other (fill in here)

Overview
Introduce support for ensuring partition disjoint in the conditions provided to the "whenNotMatchedBySource" group of operations.
In the context of merge operations belonging to the "whenNotMatchedBySource" family, any conditions that would normally guarantee partition disjoint are currently ignored, resulting in a concurrency error being raised.
To address this, it is possible to include a partition disjoint statement within the join condition (e.g., "class=1"), which enables concurrent updates across multiple partitions.
All operations within the "WhenMatched" and "WhenNotMatched" groups are now designed to ensure concurrency safety. However, if you incorporate "whenNotMatchedBySourceDelete," Spark will throw a ConcurrentAppendException.
Motivation
Adding concurrency disjont support to whenNotMatchedBy will increase the utility for delta lake tables.
Further details
An example scenario:

my source is non-delta file (eg. json/parquet)
This file sources one of the partitions within my delta table
I want to merge into specified partition in my table. Within this partition i want to run a query that upserts the data and removes rows that not exist any more within source (basically refresh). To do that I have currently 2 options:

partition overwrite - this would work fine, but produces unnecessary changes in the log (eg. rows that has not changed are logged as delete + insert)
Split operation to 2 phases, read target table, join with current table and add rows that should be deleted into that - no longer atomic
Use merge statement - use whenMatched condition to insert/update only new rows based on uuid/checksum, and whenNotMatchedBySource to delete rows form the target delta that no longer exists - whenNotMatchedBySource condition filters are not taken into account for concurrency

The code snipped that simulates this behaviour:
import tempfile
import threading
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('test').getOrCreate()

SCHEMA = StructType(
    [
        StructField("uuid", StringType(), nullable=False),
        StructField("column_1", StringType(), nullable=False),
        StructField("column_2", StringType(), nullable=False),
        StructField("product_name", StringType(), nullable=False),
        StructField("category_id", IntegerType(), nullable=False),
        StructField("checksum", StringType(), nullable=False),
    ]
)

def merge_df(df, category_id, target_delta_table):
    join_condition = f"target.category_id = '{category_id}' AND target.checksum == source.checksum"

    delete_condition = f"target.category_id = '{category_id}"

    update_condition = "target.uuid <> source.uuid"
    update_set = {"column_1": "source.column_1", "column_2": "source.column_2"}

    merge_statement = (
        target_delta_table.alias("target")
        .merge(df.alias("source"), join_condition)
        .whenNotMatchedInsertAll()
        .whenNotMatchedBySourceDelete(condition=delete_condition)
        .whenMatchedUpdate(condition=update_condition, set=update_set)
    )
    merge_statement.execute()

data = [
    ("001", "100", "1", "Product A", 1, "123456789"),
    ("002", "200", "1", "Product B", 2, "987654321"),
    ("003", "300", "1", "Product C", 1, "246813579"),
]
initial_df = spark.createDataFrame(data, schema)

temp_dir = tempfile.mkdtemp()

initial_df.write.format("delta").option(
            "delta.enableChangeDataFeed", True
        ).partitionBy('category_id').save(temp_dir)

target_table = DeltaTable.forPath(spark, temp_dir)

new_data_1 = [("005", "500", "5", "Product G", 1, "aaabbbccc")]
category_id_1 = 1
df_1 = spark.createDataFrame(new_data_1, schema)

new_data_2 = [("007", "700", "7", "Product O", 2, "111555")]
category_id_2 = 2
df_2 = spark.createDataFrame(new_data_2, schema)

threads = []
t1 = threading.Thread(target=merge_df, args=(df_1, category_id_1, target_table, schema))
t1.start()
threads.append(t1)

t2=threading.Thread(target=merge_df, args=(df_2, category_id_2, target_table, schema))
t2.start()
threads.append(t2)

for thread in threads:
    thread.join()

In example above although the condition category was specified that would make this operation partition scoped, it is ignored since whenNotMatchedBySource is considered as non-partition-scoped.
Willingness to contribute
The Delta Lake Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature?

[ ] Yes. I can contribute this feature independently.
[X] Yes. I would be willing to contribute this feature with guidance from the Delta Lake community.
[x] No. I cannot contribute this feature at this time.

hi, We are also facing the same issue. Is there any workaround / patch can be made available?

The following may work:
Given:
MERGE INTO target
USING source
ON merge_condition
WHEN NOT MATCHED BY SOURCE AND <not_matched_by_source_condition_1> THEN ...
WHEN NOT MATCHED BY SOURCE AND <not_matched_by_source_condition_2> THEN ...

If merge_condition and all not_matched_by_source_condition_N share the same target-only predicate (typically a partition filter), then we can apply that predicate when filtering target files in  findTouchedFiles.
One way of doing it would be to extract the target-only predicates from the merge condition and each NOT MATCHED Y SOURCE conditions using splitConjunctivePredicates and OR them together to only filter files that match all of them.
The implementation should be short but will require careful testing to ensure:

The conflict resolution works as expected with the new predicate generated to filter the target scan
The additional filtering produces correct results. Esp. important here to consider interactions with other type of clauses (MATCHED, NOT MATCHED) and their conditions. I think it should work as I described but we need to think harder about what can go wrong and add tests.

I have limited bandwidth to handle this at the moment unfortunately but happy to provide support and review for external contributions


apikey error message

Hi,
I've followed vignette etc. for setting up conversion of InChIKey to SMILES, but keep getting this error:
ChemSpider Response Error Details: "401: Unauthorized. Check you have supplied the correct API key and that you have sent it as an HTTP Header called 'apikey'.".

Code
library(chemspiderapi)
library(tidyverse)
library(keyring)
file <- read_tsv("./all_compounds.tsv", col_names = FALSE)
colnames(file) <- "InChIKey"
red_file <- file %>% head(3)

#store api key
apikey <- keyring::key_get(service = "ChemSpider API key", username = Sys.getenv("giovp"))

#make conversion slow

inputFormat <- "InChIKey"
outputFormat <- "SMILES"
slowly_post_convert <- slowly(post_convert, rate = rate_delay(pause = 4), quiet = FALSE)

tidyverse_demo <- red_file %>%
  mutate(queryId = map_chr(InChIKey, ~ slowly_post_convert(input = .x, inputFormat = inputFormat, outputFormat = outputFormat, apikey = apikey)))

red_file
> # A tibble: 3 x 1
   InChIKey
   <chr>
 1 IAZDPXIOMUYVGZ-UHFFFAOYSA-N
 2 DWJXYEABWRJFSP-XOBRGWDASA-N
 3 AQGNHMOJWBZFQQ-UHFFFAOYSA-N

the api key I added with keyring is the one provided by chemspider (33 characters). Do I also have to add the api secret ? Also, for chemspider, I requested a demoAPI key, not the compound key (first option). Shall I request for the other one?
thank you,
giovanni

Hi @giovp,
Before using the functionalities of the package you will need the compound API key, which will be a 32 character string. The API secret does not have to be provided to the package.
Unfortunately, the ChemSpider API does not support the direct conversion from InChIKey to SMILES. However, you can go for a two-step processes, first converting your InChIKeys to InChI strings, then converting the InChI strings to SMILES.
The possible conversion options are also named in the help file that you can access via help(post_convert).
Please let me know if this works for you!

Hi @RaoulWolf ,
thanks a lot for the prompt reply, I did a test run and it works. Couple of more questions on the matter:

do you think I can lower the 4seconds sleeptime for the query? Or is that sort of best practice settings that usually works?
in the chemspider api key application it mentions something like 1000 compounds limit. What does that mean>? That I can only send 1k query in total with my key,and then Iwould have to use another one?

Thank you again for the help, and btw the documentation+package is really great, for somebody who has zero knowledge on the topic it was very intuitive and practical.
Thank you!
Giovanni

The 4 second example is based on one of the common query restrictions for ChemSpider's API services. You always have an upper monthly limit (for example 1000 queries per month, depending on your subscription), but also a limit on how many requests per minute can be submitted (for example 15 queries per minute). This minute-limitation is achieved by introducing the rate limits as shown in the vignette; for 15 queries per minute this translates to the 4 second sleep time per query. Those limitations are based on your API subscription, and if in doubt I suggest contacting ChemSpider directly.
The 1000 compounds you mention probably are in the context of monthly queries? Or do you mean in a particular function of the package?
Thanks for the kind words 😃 Glad you find it useful!

Thanks a lot, I indeed have reached the maximum already 😅
ChemSpider Response Error Details: "429: Too Many Requests. Send fewer requests, or use rate-limiting to slow them down, then try again.".

yes, those 1k are probably the monthly query max.
Thanks again, I'll try a workaround with chemspider.

Alright, I'll close the issue now.
If there are any other troubles, feel free to open a new issue!


brew spits out tons of junk

Please follow the general troubleshooting steps first:

[x] Ran brew update and retried your prior step?
[x] Ran brew doctor, fixed as many issues as possible and retried your prior step?
[x] If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

Bug reports:
When running any brew command, it spits out this line many times:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

chmod 775 /usr/local/bin

Hi, this worked for that directory, but it decided to call out other directories including sbin, lib. etc. I decided to use brew list to get a list of installed packages, and just do sudo rm -rf /usr/local. It seems as if OS X 10.11 has messed up the permissions of /usr/local for me.

@IronCraftMan Glad you got it sorted!


JBPM-4826 DB2 upgrade script bpms-6.0-to-6.1.sql doesn't change SessionInfo.id datatype properly if there are no sessions stored

Added NVL function so the counter have always some value.

Master PR: https://github.com/droolsjbpm/jbpm/pull/335

+1
will proceed with merge in a while

merged, thanks


Allow nuxt running from subfolder or file:// protocol (like vue-cli 3 projects)

What problem does this feature solve?
Allow to run a compiled (pre-rendered) nuxt project from the file:// protocol or from any subfolder (on the server) without modification.
Much like proposed here:
https://cli.vuejs.org/config/#publicpath
What does the proposed changes look like?
Can't say, but in vue-cli 3 the trick is setting publicPath to the empty string ("")

This feature request is available on Nuxt community (#c9558)

Vue CLI docs also state on the same page:

Relative publicPath has some limitations and should be avoided when:
You are using HTML5 history.pushState routing;
You are using the pages option to build a multi-paged app.

Nuxt fulfills both points by default, so this might be a bit tricky.
Using hash router instead of the history one would solve the first point mentioned, not sure how to handle the second.

I don't understand these comments, because imo history.pushState routing is something which is not really a common use-case - and why sacrify something useful for something rare.
I don't know what the pages option to build a multi-paged app means. So - I for one - would rather refrain from using that feature in favor of relative paths... (which - again - imo is one of the most basic/common ways of navigation inside a multi-level html-installation)

I don't understand these comments, because imo history.pushState routing is something which is not really a common use-case - and why sacrify something useful for something rare?

It's quite the opposite actually!
Sure, you can run SPAs with the router hash mode and "no real URLs", but the history mode is the most common.

Just a bit, please... I am still talking about pre-rendered (static) sites - where there's no need for mod-rewrite and the likes 😋

pre rendered static sites still use history mode when navigation on client after initial load

Isn't that an unnecessary restriction to the whole system?
If a site gets pre-rendered to its lowest common factor (html/css files), everything about the site's structure is known. And these static sites ought to run without javascript, because there's no need to navigate using Javascript, since all pages/files are known and statically available (at a known location). (I'm not talking about dynamic enhancements)
So, if a user switches off Javascript in the browser - the sites should still be useable.
If that's not the case - my understanding of static sites may be wrong ...

It will be usable, but not necessarily the whole page.
Plus, if JS is enabled, it will behave as an SPA nevertheless. The "traditional navigation" via a tags and full reloads is just a fallback.

For me it's not useable at all but the initial page (any links are pointing towards the root -> in case of the file:// protocal it's e.g. file:///docs). In Vue, I can adjust publicpath to the empty string to allow for that. Using nuxt.js that doesn't work.
But maybe you can quickly folow the 'Setup' here:
https://github.com/nuxt/nuxtjs.org
git clone https://github.com/nuxt/nuxtjs.org.git
cd nuxtjs.org/
yarn install
git clone https://github.com/nuxt/docs

and let me know how to change nuxt.config.js, so I can run it from the file-system (using file://) inside any folder - or using 'traditional navigation' (which is no problem when using Vue.js )

Try to set router.base to ./, that works for me to use a static generated website in an electron app without a webserver.

@pimlie Did you try double-lick from the file-system (without Electron)? Because that's what I was talking about...

same problem when use nuxt3 ssg+electrion,there is similar problem on vite+mpa.

:pray: This would make working with electron so much easier.

I think this is a limitation as we use JS modules.
Here's an explanation: https://barker.codes/blog/javascript-modules-and-the-file-uri-scheme/
It may be possible to work around it by inlining all JS in the page, but I don't think that would solve the issue of developing with electron ...
I'm going to close this for the moment - please do comment if this is still relevant for you.

To anyone still looking for a solution for electron, what I ended up doing was modifying how electron handles the file protocol using win.webContents.session.protocol.handle and resolving the requests myself so I didn't have to mess with baseUrl. Note that if using nuxt-electron, it changes this and some other route stuff unless you use disableDefaultOptions. Personally I ended up creating my own module for using electron since I ended up requiring quite a custom setup.
This requires creating the "basePath" used below somehow. What I did was I injected the public path using vite's define and created the path at runtime so it's relative to app.getAppPath().
// const basePath = ...
win.webContents.session.protocol.handle("file", async request => {
	const url = decodeURIComponent(request.url.slice(7)) // slice off the protocol
	const newUrl = path.isAbsolute(url)
		? path.resolve(basePath, url.slice(1))
		: path.resolve(basePath, url)
        // you can further check newUrl here to make sure it's an allowed resource
	const res = await net.fetch(`file://${newUrl}`, {
		// avoid infinite loop
		bypassCustomProtocolHandlers: true,
	}).catch(err => new Response(err, { status: 404 }))
	return res
})

Have the same issue when trying to create an android webview app using the static generated content from nuxt3. All the links generated are absolute and not relative
e.g. href="/_nuxt/entry.d39ff17b.js" instead of href="_nuxt/entry.d39ff17b.js" would have to ditch nuxt and back to plain vue

@pathnirvana best to raise a new issue IMO.


Closes #468 multiple units: extend required_unit argument in assert_unit()

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the main branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md under the header # admiral (development version) if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

@bundfussr
library(tibble)

advs <- tribble(
  ~USUBJID, ~PARAMCD, ~PARAM, ~AVAL, ~AVALU, ~VISIT,
  "01-101-1001", "TEST", "Unitless Parameter", 1, NA_character_, "SCREENING",
  "01-101-1001", "TEST", "Unitless Parameter", 2, NA_character_, "WEEK 2",
  "01-101-1001", "TEST", "Unitless Parameter", 3, NA_character_, "WEEK 3"
)

assert_unit(
  advs,
  param = "TEST",
  get_unit_expr = AVALU
)

gives the following:
Error:
! Multiple units found for "TEST". Please review and update the units.
Run `rlang::last_trace()` to see where the error occurred.

@bundfussr
library(tibble)

advs <- tribble(
  ~USUBJID,      ~PARAMCD,  ~PARAM,               ~AVAL, ~AVALU,        ~VISIT,
  "01-101-1001", "TEST",    "Unitless Parameter", 1,     NA_character_, "SCREENING",
  "01-101-1001", "TEST",    "Unitless Parameter", 2,     NA_character_, "WEEK 2",
  "01-101-1001", "TEST",    "Unitless Parameter", 3,     NA_character_, "WEEK 3"
)

assert_unit(
  advs,
  param = "TEST",
  get_unit_expr = AVALU
)

gives the following:
Error:
! Multiple units found for "TEST". Please review and update the units.
Run `rlang::last_trace()` to see where the error occurred.

Good catch!
I've fixed it.

@bundfussr I have nothing to add.  Feel free to merge after considering  the suggestions.  Looks a few are still outstanding.  Many thanks for pushing this through so quickly and @yurovska for great review!!

@bundfussr I have nothing to add. Feel free to merge after considering the suggestions. Looks a few are still outstanding. Many thanks for pushing this through so quickly and @yurovska for great review!!

I’m unfortunately not able to resolve conversations as I don’t have corresponding button (likely don’t have permission), but I’m happy with all updates made. @bundfussr Please feel free to close them all.


Steam auto farm

This is a idea i had and posted on the MC Forums and Santa told me to put it here so here it is :D
A steam power auto farm, the way i thought of it was to have it look sorta like a BC quarry with a frame and a arm that moves, but not the "Quarry" block just the frames that you would have to place down your self, and you would have to use redstone signals and valves to make the arm move and as long as it had steam it would auto plant and harvest.

I think this idea needs some tweaking. Personally I don't really like the quarry idea. I do think the mod needs some autofarming. The block shouldn't handle all aspects of farming. Instead, it should require some user thought and stuff.

No i said "but not the "Quarry" block" i don't like the idea of a signal block that does every thing.

I suggest to allow the block placer to plant saplings and seeds, perhaps with an adaption or upgrade to make it 3x1 or maybe 3x3 when facing down if required, or a way of rotating the placer block (a turntable underneath?) that would still allow both steam and hopper connections (the turntable would have to provide steam).
Given that functionality, pistons/vacuums and vanilla hopper sorters could be used to perform the rest of the farm automation in a bulky and materials expensive but functional way.
Perhaps a brass plate recipe for a hopper would cheapen things up a bit.
Tree farms would be do-able , but very slow or bonemeal intensive. Longer pistons would make them more viable, allowing the standard vanilla tree farm semi-automation to be combined upgrades and combined with block breakers to complete the fully automation process.

Please don't trasform this mod into generic tech-farm mod.

i don't really think any one gets what i am saying. what i am saying is you place blocks down that are called "frames" (or something like that) and you place them so that they make a frame that is min 4 tall and max width of 16, then you place blocks that are called "arms" you place it down on one of the upper inner corners of the frame.
once all that is placed you connect one steam pipe on to the farm some were and that is where the farm would get steam to operate. And then place valves down on each of the upper corners so that each valve faces in a different cardinal direction and (for example) you would open the valve that faces north (aw btw the valves would need a small amount of steam) and once it is open the arm would move north and plant/harvest any plants that it can.

I don't really like that idea tbh. I was thinking of just having a block placer that can plant stuff, and then some sort of block to harvest. I would also allow the indev buzz saw to have a no planking mode, so you can get logs. I'm still fiddling with the ideas

Oh I also like the turntable idea. It wouldn't be too hard to implement either. Hell I could even just add a Boolean method to the te API for it

Well even if you don't like my idea if it sparked one you do like i can be happy :)

You might want to make the turntable something that can rotate certain other objects as well, not just FSP stuff. The ability to rotate a vanilla hopper to point at different inventories would be useful I imagine.

justicesays idea is awesome. Imagine piston rotation possibilities.
But... ton of bugs incoming

I could just make it use the Rotatable Blocks API and add the Turntable as RB integration :P

I got started on the Spinner block in the features-automation branch. I'm currently still trying to wrap my head around Block.rotateBlock, because it really confuses me right now.

Looks like forge supports standard matrix transforms for rotation.
https://en.wikipedia.org/wiki/Rotation_matrix#In_three_dimensions
As we are only talking about 90% angles, sin and cos will work out to 0 or 1/-1.
You could define a rotation matrix in the spinner when it is placed depending on the placement (vertical or horizontal and which facing) , or maybe two depending on how the clockwise/counterclockwise switch will work (alternatively the wrench will have to switch the rotation) . Then repeatedly applying the rotation matrix to the block.rotateblock method via forgedirection (rotation_matrix) will cause the block to rotate in the desired direction, or possibly return an invalid direction result, depending on the block.
At least, that's what a quick look at the API suggests to me, I don't have any specific Java coding experience.

Block Placer will be an upgrade of Dispencer. Like Steam Heater with furnaces,allowing the dispencer to use saplings and seeds.
*Giving players the ability of placing (all) blocks with machines is the best way to let them bug abuse .  block/item Whitelist in config (not blacklist)  <----

The block placer is already coded. Really the only things not "fully" coded are spinners and breakers

I know you already have ideas planned out, but here's what I had planned for a farming system that would, in my opinion, fit well with the theme of the mod:
A custom FSP rail block. Looks identical to normal rails but is placed on the bottom of blocks.
These rail blocks can hold special 'dangling' machines including a planter and harvester that plant and harvest blocks, one by one, below them.

The problem with that is that many of the plants won't have room to grow

You say problem, I say that sounds like an opportunity for more cool piston animations.

Here are some thoughts for your consideration:
With regard to the farming machines.

infuse the ground with steam. Added heat and water to make plants grow faster.
use regular rail tracks with a special steam machine on rail cart to plant and harvest crops.
3a. have a filling station to provide fuel and water to the steam machines on rail carts.
3b. have a filling station to provide seeds/saplings/etc to the steam machines on rail carts
have a station where the steam machines can deposit the things they harvested.

Use ore dictionary for plant/seed/sapling/etc compatibility.
Add config options to add additional compatibility manually.
Add config options to exclude items.
Add config option to adjust the range of the farming machine where it can plant/harvest.

@InsaneJ

I have a plan for something like that, as seen in the OP
I don't really like the track idea...
Why not just let them output directly?

I like the config option ideas.
Anyway, turns out the Block Spinner is not actually possible without causing an insane amount of lag until 1.8, and even then it'll still be laggy. I don't plan on updating to 1.8 any time soon, so we need a new way to make the block placer place more blocks.  It'd look like this from the top:
____:package: :package: :package:
:b: :package: :package: :package:
____:package: :package: :package:
Where :b: is the Block Placer and :package: is the placed block.

That sounds pretty much exactly like a magic block setup like those found in other mods

You wouldnt necessarily need a full on , generic spinner block.
You could animate the placer as a rotating block and have it place in the four (or 8 including diagonals) spaces around it with appropriate noises etc.
This mode might only be active if there is a spinner underneath perhaps.
Or a "rotating block placer", made from a turntable and a block placer, as a seperate block.

@elifoster,
4. Do you mean to throw the items on the ground? That's a possibility of course, but personally I wouldn't want my farms to throw entities around 24/7.
There are already a lot of planter/harvester blocks like the one you proposed. Just a few examples: Minefactory Reloaded, EnderIO, Forestry, Reika's mods, progressive automation, etc. But as far as i know there aren't many that combine tracks, trains and farms.
Have you ever played Steve's Carts? That's basically what I'm talking about. It's a system you don't see very often and I think it fits the steam power theme quite well.

Trust me, I know all about carts. I just don't see how carts and tracks fit steam power...

I meant they would output to pipes and such

@elifoster,
I agree there are way to many 'magic blocks' and it really does not seem to fit the theme of FSP. I personally  like Flaxbeard's idea of the upside down tracks, but maybe make them sort of like railcrafts floating rails (they only need to be touching a block every 3 tracks).

I honestly just don't see how they fit the theme. I don't want magic blocks either

Steam powered trains seems like a pretty logical step forward to me. It's one of the things I would have expected as a means for automation and transportation other than the Exo Suit. Here's why I think so:
With steam powered trains you could go the way Traincraft did which contain very detailed train models. Or go the more practical way like Railcraft and Steve's Carts which are more like vanilla Minecraft carts with added functionality. I think this last one is the way to go.
Having a steam powered machine on rails to plant/harvest crops doesn't have the appearance of a magical block planter. And depending on how it's modeled it could even look realistic. You could for example have an arm/pipe move over each single block to perform an action. This would also allow you to slow the machine down to a point that's consistent with the other FSP machines.  The recipe for the machine could include some sort of pistons to add to the believability of this machine.
In my mind I see a cart with a steam tank, some machinery and an extendable arm/pipe thing with some kind of nozzle attached at the end. These are mostly parts that are already in FSP which is why I think this would fit the theme.

@InsaneJ
That is not a bad idea. But i would have the carts/trains in between railcraft's basic models and traincrafts advanced models. But on the other side of things if you added carts/trains like that it may become to railcrafty.

I think the idea is getting somewhere.  The two worlds are just the ground.
Sorry if this makes little sense, I'm not exactly sober right now.

And is there a reason this couldn't be accomplished by ceiling robots adjacent to the plots? :P

Steam powered machines are pretty heavy. Just try walking with an empty Exosuit. Also compatibility wise it makes sense to not obstruct the sky. Some plants require to actually see the sky. Others need light (which you can do with torches) But what if you would want to have a tree farm? Or grow things that are 3 or more blocks tall.
Why put machines on the ceiling at all?

@Flaxbeard @InsaneJ explained it well.
Also since you seem to be watching this issue, can you please look at my most recent comment on the ownership transfer issue?

@elifoster i think that the trains will work well in the end, and i would say that there should be a saw attachment for chopping down trees. Also if you need some one to do models and or textures let me know i would be happy to do them :)

I believe RazzleberryFox will be doing models and textures for me, but I have only spoken briefly with her

Okay, well if you do end up needing someone, i am happy to help :)

You can already harvest crops with fans and vacuums, right? So you would just need a way to automate crop planting and then you can do everything.

not Sucar canes and melons

I can (and am already) automate sugar cane and melons , using regular pistons for sugar cane, and rock smashers for melons/pumpkins

Remove Harvester then. We only need a Planter or a Tool that place seeds in a 4*4.

We will need a harvester if we go with the cart idea.

I've decided against the cart idea, since it pretty much seems like a much simpler version of Steve's Carts to me, just less powerful. Instead, I have written up some new ideas in the original issue.
I've also delayed pretty much all automation to 0.30 so that I can get the steam tool update out sooner. It will take less time anyway.


loading large files

the editor cannot handle loading large files whatsoever. even though we only render whats on screen

this is fixed


Added keepInArray hook to keep fields from a nested array

Problem
The keep hook does a great job for its intended purpose, but it won't work for nested arrays. for example, finding a record with one-to-many or many-to-many ORM relations.
Solution
This new keepInArray hook works like keep, but it accepts 2 arguments. the first is a dot notation string type field and the second is an array of field names to keep from it.
Usage
Data structures:
{
  users: [
    {
      name: 'John',
      secret: 'doNotKeep',
      dept: 'Accounting',
      address: {
        city: 'New York',
        secret: 'doNotKeep'
      }
    }
  ],
  owner: 'Jane Doe'
}

{
  account: {
    users: [
      {
        name: 'John',
        secret: 'doNotKeep',
        dept: 'Accounting',
        address: {
          city: 'New York',
          secret: 'doNotKeep'
        }
      }
    ],
    owner: 'Jane Doe'
  }
}

Using hook:
const { keepInArray } = require('feathers-hooks-common');

module.exports = { after: {
  create: keepInArray('users', ['name', 'dept', 'address.city']),
  find: keepInArray('account.users', ['name', 'dept', 'address.city']),
} };

Data structures after using hook:
{
  users: [
    {
      name: 'John',
      dept: 'Accounting',
      address: {
        city: 'New York'
      }
    }
  ],
  owner: 'Jane Doe'
}

{
  account: {
    users: [
      {
        name: 'John',
        dept: 'Accounting',
        address: {
          city: 'New York'
        }
      }
    ],
    owner: 'Jane Doe'
  }
}

Added tests and PR to the feathers-plus docs.

First of all, great job figuring out how to change the docs, and following the repo standards for the hook code.
Dot notation and arrays have been a quandry. In the general case of a.b.c.d.e both b and d may be arrays. I did not want to start dealing with multiple arrays.
Am I correct in thinking your hook will throw on line 22 if field is not an array? Would it be helpful if an explicit error identifying the problem is thrown instead?
Your comments are welcome, and let me think on this also.

@eddyystop I think you right. we should throw error there, but since it can be both for data or result, I'm not sure about the correct type of error to thrown. BadRequest? GeneralError?
What do you suggests?

I think the more clear a name is, the more likely a hook is to be found by users. Would you mind changing the name to keepInArray? I'll merge thereafter.

@eddyystop sure, name changed to keepInArray (also in the docs PR)

Published as 4.16.0


IVPN

Package name
net.ivpn.client
Hash(es)
88:A6:B4:0F:C9:7F:DC:84:2F:23:1F:50:EB:12:DE:11:6F:5B:75:9E:3C:5B:38:AA:CC:AF:6A:7B:39:3C:85:BB
Source code link (Optional)

Sorry @matchboxbananasynergy I should add a field for "where was it obtained from"?

Or a better way to say that if you can please

No worries y'all! It's from Accrescent


An extra 'File Shares' node dispalys for one attached emulator

Storage Explorer Version: 1.3.0
Platform/OS Version: Windows 10/MacOS High Sierra/ Linux Ubuntu 16.04
Architecture: ia32/x64
Build Number: 20180711.4
Commit: 47039639
Regression From: Not a regression
Steps to Reproduce:

Go to Subscription -> Storage Accounts.
Make sure the Storage Emulator is started -> Select 'Attach to a local emulator' -> Input a valid name -> Connect ->Expand the attached emulator.

Expected Experience:
No  'File Shares' node dispalys under the emulator.
Actual Experience:
An extra 'File Shares' node dispalys for the attached emulator. And pops up the below error after expanding 'File Shares' node.

How was this connection created? What are the service endpoints?


FRO-1962 NA - Update to React Native 0.57

Fork is updated up to version 2 to be used with new react-native 0.57+.

You just applied changes from original<EMAIL_ADDRESS>right?


fix: updated deps

:tada: This PR is included in version 2.6.22 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove counter for generating modal ids

Hi again :)
This one is more tricky.
During compilation of a next app with server component, sometime the createModal() call happens in 2 different contexts.
The result is a server rendering with ${uncapitalize(name)}-modal-0 and a client bundle with  ${uncapitalize(name)}-modal-1
This has caused us a bug during hydration (aria-controls of the hidden modal control button are different), but also the button does not work in production at all since the aria-controls prop have a different id than the modal.
I am ok with the developers having the responsibility of putting unique modal names (as when using basic dsfr js)
But I am aware that this PR is a BC break for this component, what do you think ?

During compilation of a next app with server component

Say no more, you are right, I was wrong.
Let's leave the devs the resposability of enforcing uniqueness of names.
Thank you for this other good contribution 👍🏻


Issues API

As mentioned in my comment (https://github.com/gogits/gogs/issues/1692#issuecomment-206590786), i'd like to implement issues API, started with comments part.
Please let me know if there is someone already working on it.
If not, i will come with API specification proposal.

I would like to have some parameters like searching for issues.
Getting all closed issues or all issues or all issues with one of ... labels.
At the moment only open issues can be displayed, right?


Quotation marks not working on iOS

When using the split: "quoted" option, the quotation marks which are used on iOS (maybe other devices, I'm not sure) aren't recognised as quotation marks.
When command is done from iPhone:

When done from Desktop app:

Thanks :D

This is expected behavior, iOS' quotes are another Unicode than the one on Android, Windows and some other OS, so it's totally normal, just use normal quotes, and not iOS' one. Or make a PR to make it accept this Unicode character too.

Just for reference to show difference and if you're going to make a PR or anything.
- normal quote:
    name: QUOTATION MARK
    symbol: \"
    unicode: \u0022
- left quote:
    name: LEFT DOUBLE QUOTATION MARK
    symbol: “
    unicode: \u201C
- right quote:
    name: RIGHT DOUBLE QUOTATION MARK
    symbol: ”
    unicode: \u201D

I've noticed this is true for hypens as well.

I've noticed this is true for hypens as well.

It's different from the minus sign - commonly/easily typed with desktop keyboards. You should watch out for that (check this for reference).

Any update on this?

Well we could probably make Akairo just look at them as normal quotes

Wasn't this implemented?
ContentParser looks like it has support for them

Managed to fix, expect a PR.


Comments from Hang

Thanks! Can you also comment on
http://zh.gluon.ai/chapter_computer-vision/semantic-segmentation-and-dataset.html


Add ability to mute comments from certain users

The feature existed but was broken. More info found in https://github.com/sindresorhus/refined-github/issues/2298
Removed in https://github.com/sindresorhus/refined-github/commit/b276f2acc18ac9f8c8fa36210f4981388cc4ed83, you can probably revert the commit and rewrite the hiding behavior as suggested.
Originally asked in https://github.com/sindresorhus/refined-github/issues/1629

There are certain users that do no harm, so I don't want to block them, but they generally produce low-quality comments and I just don't want to see it. Would be nice to be able to hide comments from them. This is different from blocking a user in that they won't know that I'm muting them and it would work on other people's repo too.
It would be a text field in the settings that accepts a list of usernames.

Extracted from https://github.com/refined-github/refined-github/issues/4808#issuecomment-1206224179 for quick reference.

Now this feature can no longer be implemented in Refined GitHub because it essentially needs "options" to show the list of collapsed user, which we don't do
The good news is that in Safari 15.4+ and Chrome 105+ you will be able to write your own CSS to hide/collapse bot comments. I will very likely use this myself.

Example code
.timeline-comment:not(:hover):has(.author:is(
	[href="/apps/github-actions"],
	[href="/codecov-commenter"]
)) {
	overflow: hidden;
	height: 100px;
	opacity: 50%;
}


Cache ACR Refresh Token in ACR Auth Policy

Per the Java auth implementation here, Java is not inheriting from their challenge auth policy in core because the cache in that policy only holds AAD access tokens.

[x] Investigate whether the challenge-based auth policy in core can be extended to accomodate the ACR refresh token as well
[x] Depending on the outcome of the investigation, reimplement the .NET ACR auth policy to cache the ACR refresh token as well.

Fixed in https://github.com/Azure/azure-sdk-for-net/pull/20753


Look into the following improvements

[ ] Add Typescript Coverage Report
[ ] Look into Jest for code testing
[ ] Ensure the JS eslint is set up (or a similar Prettier compatible plugin)

Broken out into discrete issues


Sync odh/main with odh/release

Syncing odh/main with odh/release. Two rebases were done: one in pyproject.toml and the other in poetry.lock matching exactly what is in odh/main
Description

Step 2 of https://issues.redhat.com/browse/RHOAIENG-2665
How Has This Been Tested?

Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

/approve
/lgtm


Issue #25: DSS to explain the topologie of this infrastructure

Closes #25

Waiting on this PR to be merged before merging this one

The first diagram of the global_overview.md isn't rendering. An issue is currently open on the mermaid repo

LGTM! For the first diagram are we just keeping it with mermaid even tho it doesnt render ?

I think we should keep it. Next time we have to update the documentation. If the diagram didn't resolved itself, I guess we just remove it. Waiting on this issue to be resolved https://github.com/mermaid-js/mermaid/pull/4450

No all changes are pushed why @rngadam ?

Forgot the ingress.md my bad

linter failing, I think because these files are linked from the README.md

Thank you Ricky for these comments, but things like "linter failing, I think because these files are linked from the README.md' are not necessary. Finding the error caused by the workflow can be done with a click (click on details for the workflow in error). Additionally, I am responsible (delegated by our superior and our mandate) with @SonOfLope to maintain these workflows.
Thanks.
Thomas

Hi Ricky, thanks for the feedback! Just a heads-up, you can quickly find the specific error that's causing the workflow issue by clicking on 'details' within the failed workflow. Also, @SonOfLope and I are responsible for maintaining those workflows, so we've got a good handle on them.
Thanks!
Thomas


Not smooth transition after the last slide in Swiper loop mode

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 6.4.5

Platform/Target and Browser Versions: macOS 11.1, Windows 10, Chrome 87.0.4280.88

Live Link or JSFiddle/Codepen or website with isssue: https://stackblitz.com/edit/swiper-demo-9-vertical-slider-x3g4my

What you did
I am trying to set a smooth transition for internal content when swiping (transform: scale) in loop mode. I added the required css rule. This works, but after switching the last slide, there is an abrupt scale change. (not smoothly).
In the source code of the library in the file swiper/src/core/loop/loopFix.js I found line number 28:
const slideChanged = swiper.slideTo(newIndex, 0, false, true);
From this, I realized that the looping of the slides occurs according to the following principle: after the last slide, we instantly switch to the previous one (speed = 0) and an animation is produced that shows that we have passed the circle.
Expected Behavior
Smooth transition of content within a slide regardless of the slide index.
Actual Behavior
When going through a full circle of slides, an abrupt change occurs, due to which transitions within the slide do not work as expected

Inspect DOM when loop enabled, it has duplicated slides that you need to consider as well

Inspect DOM when loop enabled, it has duplicated slides that you need to consider as well


Flag Size

Hi
After changing flags to png, the apk size increased by 9mb, can you reduce the size or at least change it back to use it from fonts?

The problem is that on iOS and some Android phones the font may not work, but I can think on some solution. I'll let you know asap

I think the solution is the width and height of flags, they are way too big, it can be done with 100*60. Thanks by the way


Install JNLP Slave to run as LocalSystem - library forces domain in XML

Cookbook version
6.2.0
Chef-client version
13.10.0
Platform Details
Windows 2016 Server
Scenario:
Install Jenkins slave as LocalSystem account
Expected Result:
Install agent as JNLP and run as LocalSystem account
Actual Result:
2018-08-01 07:04:08,635 INFO  - Installing the service with id 'jenkins-slave'
LookupAccountName failed: 1332
Failed to set logon as a service right

If jenkins-slave.xml has <domain>.</domain> in it, then it fails, but that line is removed it works; however. due to https://github.com/chef-cookbooks/jenkins/blob/master/libraries/slave_windows.rb#L275 there's no way domain is empty, thus https://github.com/chef-cookbooks/jenkins/blob/master/templates/jenkins-slave.xml.erb#L65 is redundant.
Will look at submitting PR.

Actually, just realized, if pass:
user ' \\LocalSystem'

then it works, so if anything README should be updated ... will leave this ticket on chance it helps someone else

This was fixed in PR703

👍


[Bug] 404 docs

Branch
1.x branch (1.0.0rc2 or other 1.x version)
Describe the bug
能不能干脆把所有还没指定跳转的 有跳转功能的（比如某个页面切换英文文档都重定向到英文文档的开头 省事也避免报错)
Can you simply all have not specified the jump jump function (such as a page switch to the English document are redirected to the beginning of the English document to save time and avoid reporting errors)
Environment
like this : https://mmclassification.readthedocs.io/zh_CN/latest/install.html
if you use read the docs to change version to dev-1.x,you can see 404 error page.
Other information
No response

Solved by #1207


We have lots of this error

I don't know why, maybe client has something wrong with closing the socket?

But the server always raise this exception.

Do you use gevent?

@lxyu oh, yes. another question, why only close when platform is darwin and freebsd? thanks.

Gevent behaves weird under high load, I think it may be related to some greenlets get starved. We've also see lots of weird errors when gevent enabled, especially under very high load, but the error percentage is very small.
So my suggestion is keep the load lower and ignore them as long as the percentage is very small, or don't use gevent.


--recursive and --format=html does not work

It seems strange limitation that this doesn't work and this limitation is not documented anywhere. However after digging in to the code it is pretty obvious as the MergedReport extends the CsvReport, so obviously the output will be a csv report regardless of what format option you may have provided.
https://github.com/pivotal/LicenseFinder/blob/master/lib/license_finder/reports/merged_report.rb

Call of MergeReport is here: https://github.com/pivotal/LicenseFinder/blob/98d0f6e68cc6e73858e64d63f3c4d04118163506/lib/license_finder/cli/main.rb#L73


[ENH] - Additional checks for the cli init stage

Feature description
During the qhub init I used a projectname that had an underscore. I believe it wasn't until I got to the deploy stage that I saw a failure:
[terraform]: │ Error: "name" can only contain lowercase letters, numbers and hyphens
[terraform]: │
[terraform]: │   with module.kubernetes.google_container_cluster.main,
[terraform]: │   on modules/kubernetes/main.tf line 5, in resource "google_container_cluster" "main":
[terraform]: │    5:   name     = var.name
[terraform]: │
[terraform]: ╵
[terraform]: ╷
[terraform]: │ Error: "account_id" ("this_deployment-dev") doesn't match regexp "^[a-z](?:[-a-z0-9]{4,28}[a-z0-9])$"
[terraform]: │
[terraform]: │   with module.kubernetes.google_service_account.main,
[terraform]: │   on modules/kubernetes/service_account.tf line 2, in resource "google_service_account" "main":
[terraform]: │    2:   account_id   = var.name
[terraform]: │
[terraform]: ╵

The error message Error: "name" can only contain lowercase letters, numbers and hyphens is what we were hitting, but this originated from the projectname flag passed to qhub init so its very hard for an end user to comprehend how to resolve this.
I recommend we do the checks from the above errors ("lowercase letters, numbers and hyphens" and regexp "^a-z$") during the init stage so we can give users helpful error messages.
Value and/or benefit
Users are given clearer error messaging.
Anything else?
No response

This is a duplicate of #1416 - closing in favour of that one


new and improved add Ratgdo

add Ratgdo garage device

Awesom sej. thanks for expanding the capabilities of the MQTT plug in


Failed to discover root

Companion version :3.0.0 (3.0.0+5763-beta-4053fafd)
error in log: Instance/Wrapper/mediornet: Failed to discover root: TypeError: Cannot read properties of undefined (reading 'identifier')

Device: micronUHD
Firmware: latest published by Riedel( think is 7.3.1)
Ember+ enabled
Emberplusview returns matrices populated.

well strange...
tested the module with exactly this configuration.
MicroN UHD, 7.3.1
Therefore I have trouble reproducing the problem.
I created a new branch and added a console.log command. Could you implement the new version via the module_dev functionality of companion?
The error means, that it couldn't fetch the root of ember+ tree.
Could you also send me a screenshot of your EmBER+ Viewer?
Hopefully we can resolve this issue together.

Maybe a network issue, not sure. I deleted the first created module's connection and created a new one and it was working like a charm.all works now I made a 130x130 video matrice and I'm able two create/delete connections and retrieve I/O names with feedbacks( I'm using the public release)


fix(dropdown): ensure class is present in dropdown-menu

Ensure dropdown-menu class is present when using as an attribute
directive
Refactor DropdownController to be more agnostic of directive

This fixes #4442.

From ignorance on the issue, this doesn't need tests?

I could write a test, but it seems pretty trivial of a change to me & not really function - what are your thoughts?

Alright, I had to ask. I was going to do that refactor too when I reached the D on my rewrite (which doesn't seem to move that much lately)