Cannot display a Url link as href in reatctable?

Describe the bug
The goal is to have a href column to display the "Description" and a link to "Url"  object.
There is not way to have the column to refer the "Url" column and dynamically display the href based on the column value.
To Reproduce
Here is the one column of the table named "taskLink"  it is a Url object.
export interface Url {
Url: string;                     // Eg: https://www.google.com
Description: string;      // Eg: Link to Google
}
There are some discussion to display as the following link.
       {
                      Header: "Link",
                       accessor: "taskLink",
                       Cell: e=> {e.value}

     }

However, there is not way to have the Url and Description added to the href.
 Cell: e=> {**e.Description**}    // This is not working and not sure any other way

Is there way to display the href dynamically with Url and Description for the column Url object?
Thanks.

Please note that I've tried the suggestions from the following two issues:
https://github.com/tannerlinsley/react-table/issues/89
https://github.com/tannerlinsley/react-table/issues/206
However these do not satisfy the requirement to dynamically set link and description  based on the column value (Url object with link and description).
Appreciated for any help.
Thanks in advance.

I got it working by changing the code like below:
Cell: e=> {e.value.Description}
We can close the case.
Thanks.


Deactivate joystick and WSAD if there is no socket connection

 Deactivate joystick and WSAD if there is no socket connection


Turn the library from single-config to being instanced

This allows multiple configurations to be present in the same application.
This is a breaking change version with no backwards compatibility.

This will break anything using it currently! Will release it as a new major version of the gem. Can you check this is vaguely sensible? :D

Er, good point. I actually haven't tested how threadsafe it is :sweat_smile:
I think Faraday is but I'm not sure how threadsafe my own code is here. I'll test it out in the PS app I think, as that should show any problems fairly quickly.


use defer to solve code redundant

Signed-off-by: allencloud<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 54.22%

Merging [#982][cc-pull] into [master][cc-base-branch] will decrease coverage by 3.15%

@@             master       #982   diff @@
==========================================
  Files            70         75      +5
  Lines          9165      11469   +2304
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           5259       6219    +960
- Misses         3221       4375   +1154
- Partials        685        875    +190

[][cc-pull]

Powered by Codecov. Last updated by [682e0b6...893ecaa][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/682e0b69be208176d6055cba855a5e9cf15c7cb4...893ecaa2a9c3b0e8b33657ba382b0e0d294f1286
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/982?src=pr

@aaronlehmann @allencloud Correct me if I'm wrong, but this might be written this way to detect Close failure that may interfere with Write. Albeit, I think a successful fsync may be sufficient.
LGTM if @aaronlehmann is okay with this.

The current code closes the file before renaming it. The change would make it close after renaming.
I think it will work either way but I'm not sure how portable it is to rename a file with that file still open for writing. I have a preference for closing the file first, even if it makes the code a little messier.

@allencloud Thanks for the PR, but I think we need to go the safe route here.
Want to update this with a comment on the use of defer and we can merge that?

@allencloud Were going to go ahead and close. If you feel like placing a comment here, go ahead and reopen the PR and we'll get it.
Thanks for the extra review here! It is really appreciated!


Mekanism Extra Compat

originally suggested on curseforge, but making a suggestion here instead
suggestion to add support for this mekanism addon for 1.20.1
https://modrinth.com/mod/mekanism_extra
specifically adding support for the induction cell building

think that's the only thing mekanism extra really adds that can be implemented

Induction Matrix category in this mod is only calculate inner volume by Induction Matrix dimension. No features else.
'Mekanism Extra' is just add induction matrix's components only.
So nothing to need things to added from this mod.

Done.
https://legacy.curseforge.com/minecraft/mc-mods/just-enough-mekanism-multiblocks/files/6039603
I'm sorry too late.


Add NullFilter

It would be handy if there was a null filter.  Here is an example snippet:
class NullFilter(django_filters.Filter):
    field_class = forms.BooleanField

    def __init__(self, *args, **kwargs):
        kwargs.setdefault("lookup_type", "isnull")
        kwargs.setdefault("exclude", True)
        super(NullFilter, self).__init__(*args, **kwargs)

Pull Requests welcome. Docs and tests please.

Follow up comment.  First hadn't really been used yet.  Initial testing required some changes to return unfiltered results when the filter wasn't provided.
from django import forms

class NullBooleanFilterWidget(forms.NullBooleanSelect):
    def value_from_datadict(self, data, files, name):
        value = data.get(name, None)
        value = force_text(value).lower()
        return {"true": True, "false": False}.get(value, None)

class NullBooleanFilterField(forms.NullBooleanField):
    widget = NullBooleanFilterWidget

class NullFilter(django_filters.Filter):
    field_class = NullBooleanFilterField

    def __init__(self, *args, **kwargs):
        kwargs.setdefault("lookup_type", "isnull")
        kwargs.setdefault("exclude", True)
        super(NullFilter, self).__init__(*args, **kwargs)

Is there a mechanism in django-filter to indicate invalid filter values have been provided by the user?


EmbeddingFunction - runtime error: invalid memory address or nil pointer dereference

Hello.  I'm trying to query a collection using the following code and am getting a runtime error: invalid memory address or nil pointer dereference
collection, err := client.GetCollection(context.TODO(), "docs", nil)
collection.Query(context.TODO(), []string{text}, 10, nil, nil,
    []types.QueryEnum{types.IDocuments, types.IMetadatas})

github.com/amikos-tech/chroma-go.(*Collection).QueryWithOptions(0x1400007e4e0, {0x100e87838, 0x10119e580}, {0x14000263710, 0x5, 0xc19605ee206c7210?})
        /Users/john/.asdf/installs/golang/1.22.0/packages/pkg/mod/github.com/amikos-tech/chroma-go@v0.1.3/chroma.go:628 +0x268
github.com/amikos-tech/chroma-go.(*Collection).Query(0x10?, {0x100e87838?, 0x10119e580?}, {0x1400040b2d0?, 0x1400040b2c0?, 0x0?}, 0x0?, 0x1400040b2c0?, 0x100a888b0?, {0x140004aa980?, ...})
        /Users/john/.asdf/installs/golang/1.22.0/packages/pkg/mod/github.com/amikos-tech/chroma-go@v0.1.3/chroma.go:601 +0xf0

It looks like EmbeddingFunction is required?  This seems to be optional in the Python client?

@jritsema, thanks for reporting this. In the python client we have a default embedding function (core Chroma, not the chromadb-client package). While I try to maintain as much parity as possible this, the default EF is not one of those parities. However, the problem you encounter should not result in a nil pointer error. Let me fix that and also investigate how to add a default EF that uses all-miniLM model.

@jritsema, a while ago I've added the ability to query without embedding function, in which case you'll have to provided the embedding vector.
queryText, err := embeddingFunction.EmbedQuery(context.Background(), "Dogs are my favorite animals")
// error check
qr, err := col.QueryWithOptions(context.Background(), types.WithQueryEmbedding(queryText), types.WithNResults(5))
// error check

Thanks @tazarov for the nil pointer fix!

a while ago I've added the ability to query without embedding function, in which case you'll have to provided the embedding vector.

Does this mean I'll have to run a model to create embeddings myself?
By default, Chroma uses the Sentence Transformers all-MiniLM-L6-v2 model to create embeddings. Is it possible to include the all-miniLM model in this library?  Or will the code you referenced above do that? (I apologize if my question doesn't make sense, I'm somewhat new to this space)

@jritsema, to run all-MiniLM-L6-v2 there are several options:

Embedded mode (within the go app) - llama.cpp (there are several bindings), onnx runtime (again several bindings for go)
Remote (kind of local with docker) ollama (local), HF Text Embeddings Inference Server

Let me know if you need an example for the above.
I have considered adding embedded support however it requires some extra steps on behalf of the dev which are not always straightofward so I'm a bit skeptical about it, but always keeping an eye on things.

Thanks @tazarov.  Are you saying I can run the all-MiniLM-L6-v2 model in Ollama and then make this library call it?


tests: wait until pageserver is ready in NeonPageserver.start

Context: https://github.com/neondatabase/neon/pull/4856#discussion_r1280496437
TLDR: In tests we sometimes start some operations immediately after calling pageserver.start which leads to flakiness because sometimes pageserver startup sequence is not fully completed quick enough to be invisible for the test. Most often this is the case when real_s3 remote storage backend is used.
The expected solution is to add to pageserver http endpoint that waits for init_done_rx. See things around InitializationOrder.
Http endpoint can just block, or polling needs to be implemented on python side.
Initially discussed with @koivunej

#5580 already implemented this.


Color change issues with Aeotec Zwave ZW098

Home Assistant release (hass --version):
0.42.3
Python release (python3 --version):
Python 3.4.2
Component/platform:
raspberry pi 3, raspbian 8 (jessie)
Description of problem:
After update home assistant from version 0.42.3 to 0.42.4 or 0.43.0 zwave bulb Aeotec ZW098 stop changing color through web interface or any automations.
Log:
17-04-23 10:47:33 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step
result = coro.throw(exc)
File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/core.py", line 1015, in _event_to_service_call
yield from service_handler.func(service_call)
File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/light/init.py", line 246, in async_handle_light_service
yield from light.async_turn_on(**params)
File "/usr/lib/python3.4/asyncio/futures.py", line 388, in iter
yield self  # This tells Task to wait for completion.
File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
value = future.result()
File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
raise self._exception
File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/light/zwave.py", line 334, in turn_on
self.values.color.data = rgbw
File "/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/openzwave-0.3.2-py3.4.egg/openzwave/value.py", line 292, in data
self._network.manager.setValue(self.value_id, value)
File "src-lib/libopenzwave/libopenzwave.pyx", line 2827, in libopenzwave.PyManager.setValue (src-lib/libopenzwave/libopenzwave.cpp:21766)
TypeError: expected bytes, str found

Seems like I have an identical issue:
Apr 25 15:07:53 hassbian hass[1602]: 17-04-25 15:07:53 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service=turn_on, domain=light, service_call_id=1977389296-3757, service_data=entity_id=light.aeotec_zw098_led_bulb_level_35_0, rgb_color=[39, 235, 255]>
Apr 25 15:07:53 hassbian hass[1602]: 17-04-25 15:07:53 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Apr 25 15:07:53 hassbian hass[1602]: Traceback (most recent call last):
Apr 25 15:07:53 hassbian hass[1602]: File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step
Apr 25 15:07:53 hassbian hass[1602]: result = coro.throw(exc)
Apr 25 15:07:53 hassbian hass[1602]: File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/core.py", line 1014, in _event_to_service_call
Apr 25 15:07:53 hassbian hass[1602]: yield from service_handler.func(service_call)
Apr 25 15:07:53 hassbian hass[1602]: File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/light/__init__.py", line 246, in async_handle_light_service
Apr 25 15:07:53 hassbian hass[1602]: yield from light.async_turn_on(**params)
Apr 25 15:07:53 hassbian hass[1602]: File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
Apr 25 15:07:53 hassbian hass[1602]: yield self  # This tells Task to wait for completion.
Apr 25 15:07:53 hassbian hass[1602]: File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
Apr 25 15:07:53 hassbian hass[1602]: value = future.result()
Apr 25 15:07:53 hassbian hass[1602]: File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
Apr 25 15:07:53 hassbian hass[1602]: raise self._exception
Apr 25 15:07:53 hassbian hass[1602]: File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
Apr 25 15:07:53 hassbian hass[1602]: result = self.fn(*self.args, **self.kwargs)
Apr 25 15:07:53 hassbian hass[1602]: File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/light/zwave.py", line 334, in turn_on
Apr 25 15:07:53 hassbian hass[1602]: self.values.color.data = rgbw
Apr 25 15:07:53 hassbian hass[1602]: File "/srv/homeassistant/lib/python3.4/site-packages/openzwave-0.3.2-py3.4.egg/openzwave/value.py", line 292, in data
Apr 25 15:07:53 hassbian hass[1602]: self._network.manager.setValue(self.value_id, value)
Apr 25 15:07:53 hassbian hass[1602]: File "src-lib/libopenzwave/libopenzwave.pyx", line 2827, in libopenzwave.PyManager.setValue (src-lib/libopenzwave/libopenzwave.cpp:21766)
Apr 25 15:07:54 hassbian hass[1602]: TypeError: expected bytes, str found

Does this still exist on 44.0?

The problem was in old version of python-openzwave on my raspberry
For fix I have did next:
1)
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
cd python-openzwave
make uninstall
make clean
cd ../
rm -rf python-openzwave
git clone https://github.com/OpenZWave/python-openzwave.git
cd python-openzwave
make build
make install

Change config of HA:
zwave:
usb_path: /dev/ttyACM0
config_path: /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/python_openzwave/ozw_config

In that case can this issue be closed?

Yes, thanks!


fix(DASH): Improve memory usage with live streams

Related to https://github.com/shaka-project/shaka-player/issues/6610

Yes, this was something that we were discussing on #6610. For sure, there was a memory leak on this because the created closure for getUris callback was keeping references to old string values. With this, it is ensured that the closure only keep the reference of the SegmentIndex, so when the mediaTemplate is updated, the old values can be collected.
Thanks @avelad


Use with FacetWP... ajax data

Hi!
Great calendar! I'm using it for an event site that I'm building. I have everything working except for the filtering. I'm trying to use FacetWP for filtering.
In the end, I have a json being generated via wp query and the calendar reads that json and displays all the events. This works just fine.
The problem I'm running into is when a filter is changed. The json data gets updated and then the calendar breaks. The calendar itself gets destroyed for some reason. I don't have any code telling it to do so. FacetWP has a few events where I can do xyz on a filter change. I have been trying to re-init the calendar to no avail. I have tried calendar.createSchedules(calendarEvents); calendar.render() and some others as well. I'm starting to hit a wall.
I was able to get a custom filter working, which toggles calendars but I'd really prefer to get FacetWP filtering to work for more advanced filtering.
Any ideas?
Thanks!

I can't reproduce, so I can't figure out the details of the situation.
Would you like to clear the view for re-rendering?
https://nhn.github.io/tui.calendar/latest/Calendar#clear
cal.clear();

cal.createSchedules(...);

// If you need a calendar toggle...
cal.toggleSchedules(...);

cal.render(true);

Hi @jungeun-cho!
I didn't think this would be something you could easily replicate. I'll try to provide more information. FacetWP is a WordPress plugin that handles filtering. They provide a Loaded event.
The resulting output is a json that the calendar then reads. When a user uses a filter, the json is then updated. I'm trying to tell the calendar to re-read the json data.
I've tried what you suggested before reaching out. What happens is, after a user filters the data, the whole calendar gets destroyed for some reason. All the HTML markup, everything relating to the calendar vanishes. FacetWP uses for data updating, so I wasn't sure if this conflicts with TUI Calendar or not.
document.addEventListener('facetwp-loaded', function () {
    calendar.clear();
    calendar.createSchedules(calendarEvents, true);
    calendar.render();
});

Before filtering

After filtering the .tui-full-calendar-layout element gets removed from the DOM. Can't figure out why such a thing would happen.
You can see it in action on the dev site. https://ija2021.justdev.co/schedule/  Use the black filter, not the blue. The blue is hiding and showing calendars for testing purposes. The black 'Categories" filter is FacetWP modifying the json that the calendar reads.
Thanks!

@rossberenson Hi, I'm checking your dev site but it seems working. Is your problem resolved?
FYI, I've checked the code and found out clear, render methods don't destroy the main DOM element.

I'm so sorry! I forgot to update this. It was a conflict with some other code. I have solved it since. Meant to update this ticket. I greatly appreciate you following up on the issue. The data source kept getting messed up when being filtered, which caused an error within the calendar. It would cause the calendar to break. Once I solved my data issue, calendar worked as expected.


Person gen 210113

Remove "dc" from Sample package path and corresponding paths in module.xml.
Add support for endpoint "/person/gen/:amount". Note: status codes/responses from new endpoint may not be set properly, but endpoint is functional.

dc. or any other prefix is crucial, cause as we expect this to be installed as a module, and there is a naming convention for classes.
dc. means developer community
with the prefix, we are safe when the ZPM package is installed to not break packages that already exist in the namespace.
we could establish a standalone InterSystems prefix for InterSystems samples, e.g. isc. or ls. (learning services)

dc. or any other prefix is crucial, cause as we expect this to be installed as a module, and there is a naming convention for classes.
dc. means developer community
with the prefix, we are safe when the ZPM package is installed to not break packages that already exist in the namespace.
we could establish a standalone InterSystems prefix for InterSystems samples, e.g. isc. or ls. (learning services)

Added create random person method


⚠ ClamAV has degraded performance

In abd49b2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in d84464c.


Implement rumbling in autocomp

please make a pull request to another branch if you would like this to be merged.


Removed unnecessary invocation of DataFrame.toDF method.

The Scala example under the "Example: Pipeline" heading in this
document initializes the "test" variable to a DataFrame. Because test
is already a DF, there is not need to call test.toDF as the example
does in a subsequent line: model.transform(test.toDF). So, I removed
the extraneous toDF invocation.

Can one of the admins verify this patch?

ok to test

LGTM. Merged into master and branch-1.5. Thanks!


GeoShape visualisation from ES

Hi All,
I am using for sometime time now Vega with Kibana and find it very powerful.
In our current implementation I am visualising various KPIs over US counties.
essentially so far using the URL directly from open source.
///Data
{
"name": "ESlinkCounties",
"url": "https://vector.maps.elastic.co/blob/1543537167969055?elastic_tile_service_tos=agree",
"format": {"type": "topojson", "feature": "data"},
"transform": [...]
}
///Mark
{
"type": "shape",
"name": "UScountyOVERVIEW",
"from": {"data": "ESlinkCounties"},
"encode": {
"enter": {"opacity": {"value": 0.4}},
"update": {
"fill": {
"scale": "color",
"field": {"signal": "KPIs"}
},
"tooltip": [{"field": {"signal": "KPIs"}}]
},
"hover": {"fill": {"value": "black"}}
},
"transform": [
{"type": "geoshape", "projection": "projection"}
]
}
so far it was working fine. But now, we have a restriction coming from Elastic Cloud that no external URL could be used.
hence I created additional index with GeoShape type mapping for the US-Counties.
as validation, tested this with Kibana Maps and it looks OK.
But, now I could not find the way how to visualise the same GeoShapes in vega.
Can someone give some hints how can I visualise GeoShape (JSON), in Vega?
thanks,
David

@DavidKHE if i remember correctly, you can change kibana yaml config settings in the Elastic cloud, enabling external access in Vega

hi @DavidKHE

tested this with Kibana Maps and it looks OK.

Are there any limitations you're experiencing with the Maps-app, that you cannot use the Maps-app for your purposes? This sort of choropleth map (where you color shapes based on some metric) should be doable out-of-the-box.
wrt. avoiding external access, there's a few other approaches:

you could proxy the request through Kibana (as long as Kibana has outbound access to the outside internet). https://www.elastic.co/guide/en/kibana/current/maps-connect-to-ems.html Set the map.proxyElasticMapsServiceInMaps flag to true.
index the US-counties directly into Elasticsearch. The Maps-app can visualize individual documents as well (download that file here https://maps.elastic.co/#file/usa_counties)

Hi,
thanks for the quick feedback.
@nyurik  - you are referring to the vega.enableExternalURL: true? if yes, than unfortunately this option is locked. Moreover there is an issue that because of this HREF would not work in VEGA to allow even dashboards navigation.
@thomasneirynck  - there are two main reasons for me to use VEGA instead of the Maps-app.

when using Vega I can make weighted average. that is more accurate and useful for me. currently the Map-App support avg/min/max/count
I can make in one "shot" multiple KPIs and provide selection for user to select various KPIs and map will be updated automatically. in case using the Map-App need to create layer and this is more complicated to end user to "Hide"/"Unhide" each time they like to see specific KPI.

I am sharing below the sample code that is essentially not working. my feeling this is something with the "formatting" and/or transform
{
"$schema": "https://vega.github.io/schema/vega/v4.3.0.json",
"config": {
"kibana": {
"type": "map",
"latitude": 40.7,
"longitude": -74,
"zoom": 7,
"mapStyle": "default",
"minZoom": 1,
"maxZoom": 13,
"zoomControl": true,
"scrollWheelZoom": true,
"delayRepaint": true
}
},
"data": [
{
"name": "ES",
"values":[
{
"_index" : "us_state_geojson_local",
"_type" : "_doc",
"_id" : "wMSQxm4BjvdUS135E5ZF",
"_score" : 1.0,
"_source" : {
"coordinates" : {
"type" : "polygon",
"coordinates" : [
[
[
-89.954995,
47.290458
],
[
-90.09901,
47.039972
],
[
-90.423042,
46.547639
],
[
-90.387039,
46.539001
],
[
-90.315032,
46.521726
],
[
-90.243024,
46.504452
],
[
-90.207021,
46.469902
],
[
-90.207021,
46.461264
],
[
-90.171017,
46.461264
],
[
-90.171017,
46.452627
],
[
-90.171017,
46.44399
],
[
-90.171017,
46.435352
],
[
-90.171017,
46.400802
],
[
-90.135014,
46.400802
],
[
-90.135014,
46.392165
],
[
-90.135014,
46.366253
],
[
-90.135014,
46.357615
],
[
-90.09901,
46.357615
],
[
-90.135014,
46.348978
],
[
-90.135014,
46.34034
],
[
-89.018902,
46.115767
],
[
-88.80288,
46.029393
],
[
-88.766877,
46.029393
],
[
-88.766877,
46.020756
],
[
-88.730873,
46.020756
],
[
-88.694869,
46.012118
],
[
-88.658866,
45.994843
],
[
-88.658866,
45.986206
],
[
-88.586859,
46.012118
],
[
-88.550855,
46.020756
],
[
-88.514851,
46.020756
],
[
-88.478848,
45.994843
],
[
-88.442844,
45.994843
],
[
-88.442844,
45.986206
],
[
-88.406841,
45.986206
],
[
-88.370837,
45.986206
],
[
-88.334833,
45.960294
],
[
-88.262826,
45.951656
],
[
-88.226823,
45.951656
],
[
-88.226823,
45.943019
],
[
-88.190819,
45.943019
],
[
-88.154815,
45.943019
],
[
-88.154815,
45.934381
],
[
-88.118812,
45.925744
],
[
-88.118812,
45.917106
],
[
-88.118812,
45.787545
],
[
-87.938794,
45.761633
],
[
-87.938794,
45.752995
],
[
-87.90279,
45.752995
],
[
-87.794779,
45.709808
],
[
-87.830783,
45.562972
],
[
-87.794779,
45.46796
],
[
-87.866787,
45.364311
],
[
-87.866787,
45.347036
],
[
-87.830783,
45.347036
],
[
-87.830783,
45.355673
],
[
-87.794779,
45.347036
],
[
-87.686769,
45.381586
],
[
-87.650765,
45.312486
],
[
-87.722772,
45.269299
],
[
-87.722772,
45.157013
],
[
-87.614761,
45.096551
],
[
-87.434743,
45.079276
],
[
-87.39874,
45.2002
],
[
-87.182718,
45.329761
],
[
-87.110711,
45.442048
],
[
-86.750675,
45.442048
],
[
-86.246625,
45.234749
],
[
-86.534653,
45.053363
],
[
-86.642664,
44.949714
],
[
-86.750675,
44.776966
],
[
-86.786679,
44.621492
],
[
-86.858686,
44.517843
],
[
-86.858686,
44.440106
],
[
-87.038704,
44.103246
],
[
-87.038704,
43.99096
],
[
-87.110711,
43.818211
],
[
-87.110711,
43.628188
],
[
-87.146715,
43.610913
],
[
-87.146715,
43.299965
],
[
-87.110711,
43.248141
],
[
-87.110711,
43.023568
],
[
-87.074707,
42.997655
],
[
-87.074707,
42.764445
],
[
-87.038704,
42.74717
],
[
-87.038704,
42.496684
],
[
-87.0027,
42.496684
],
[
-87.110711,
42.099363
],
[
-87.182718,
41.926614
],
[
-87.218722,
41.762503
],
[
-85.490549,
41.762503
],
[
-84.806481,
41.762503
],
[
-84.806481,
41.693403
],
[
-83.474347,
41.727953
],
[
-83.40234,
41.736591
],
[
-83.114311,
41.961164
],
[
-83.114311,
42.289386
],
[
-83.042304,
42.332573
],
[
-82.826283,
42.37576
],
[
-82.646265,
42.557146
],
[
-82.50225,
42.608971
],
[
-82.466247,
42.721257
],
[
-82.466247,
42.937193
],
[
-82.322232,
43.170404
],
[
-82.106211,
43.593638
],
[
-82.178218,
43.913223
],
[
-82.286229,
44.250082
],
[
-82.322232,
44.509205
],
[
-82.50225,
45.338399
],
[
-83.582358,
45.822095
],
[
-83.438344,
45.994843
],
[
-83.582358,
46.10713
],
[
-83.834383,
46.10713
],
[
-83.942394,
46.055305
],
[
-84.122412,
46.245329
],
[
-84.122412,
46.530364
],
[
-84.266427,
46.495814
],
[
-84.374437,
46.513089
],
[
-84.554455,
46.461264
],
[
-84.770477,
46.634013
],
[
-84.842484,
46.893136
],
[
-85.310531,
47.083159
],
[
-88.190819,
48.231937
],
[
-88.370837,
48.309674
],
[
-88.694869,
48.249212
],
[
-88.766877,
48.206025
],
[
-89.342934,
47.972815
],
[
-89.486949,
48.016002
],
[
-89.666967,
47.748241
],
[
-89.774977,
47.540943
],
[
-89.954995,
47.290458
]
]
]
},
"iso_3166_2" : "US-MI",
"postal" : "MI",
"name" : "Michigan",
"label_en" : "Michigan"
}
},
{
"_index" : "us_state_geojson_local",
"_type" : "_doc",
"_id" : "wcSQxm4BjvdUS135E5ZF",
"_score" : 1.0,
"_source" : {
"coordinates" : {
"type" : "multipolygon",
"coordinates" : [
[
[
[
-64.968497,
17.681349
],
[
-64.932493,
17.629525
],
[
-64.788479,
17.620887
],
[
-64.536454,
17.698624
],
[
-64.50045,
17.741811
],
[
-64.572457,
17.836823
],
[
-64.824482,
17.828186
],
[
-64.932493,
17.802273
],
[
-64.968497,
17.681349
]
]
],
[
[
[
-65.112511,
18.432806
],
[
-65.148515,
18.355069
],
[
-65.148515,
18.225507
],
[
-65.076508,
18.225507
],
[
-64.932493,
18.260057
],
[
-64.89649,
18.190958
],
[
-64.824482,
18.18232
],
[
-64.788479,
18.260057
],
[
-64.644464,
18.268695
],
[
-64.644464,
18.363706
],
[
-64.860486,
18.398256
],
[
-64.89649,
18.458718
],
[
-65.076508,
18.458718
],
[
-65.112511,
18.432806
]
]
]
]
},
"iso_3166_2" : "US-VI",
"postal" : "VI",
"name" : "United States Virgin Islands",
"label_en" : "United States Virgin Islands"
}
}
],
"format": { "type": "json"}
}
],
"projections": [{"name": "projection", "type": "albersUsa"}],
"marks": [
{
"type": "shape",
"from": {"data": "ES"},
"encode": {
"update": {
"strokeWidth": {"value": 0.5},
"stroke": {"value": "darkblue"},
"fill": {"value": "lightblue"},
"fillOpacity": {"value": 0.5}
},
"hover": {
"fill": {"value": "#66C2A5"},
"strokeWidth": {"value": 2},
"stroke": {"value": "#FC8D62"}
}
},
"transform": [
{
"type":"geoshape",
"projection": "projection"
}
]
}
]
}

@DavidKHE thx for the explanation, that's a great help.
Note that wrt. (2), you could think about creating an input-control that would create a filter https://www.elastic.co/guide/en/kibana/current/add-input-controls.html). You'd have a single layer with all the data, but the control would filter based on some class-value (which I assume is how you are doing this now).
For (1), could you create enhancement requests in the Kibana-repo (https://github.com/elastic/kibana/issues/new), perhaps with some examples?
For your follow-up question, one thing to consider is that when shapes are returned from Elasticsearch, their formatting diverges a little from valid Geojson. In this case, note how all the geometry-types (polygon, multipolygon) are lowercase, instead of camel-cased. This might be the reason Vega is not being able to display the geometries.

Hi @thomasneirynck,
Thanks for the feedback. I will try to test those camel-cased and update for the results.
regarding usage of filter. this is an option, but not really "clean". if I find no other better method. this is likely what will be done.
basically in Vega using signal, that will visualise the KPI, that is specific field from the same document that already been queried. same document is containing multiple KPIs in different fields.
If we are using the filters from add-input-controls this meaning that need to re-create the documents. more documents and than making that each document has only one KPI.
I still in favour of Vega. my feeling this is really something more of formatting.
hopefully could make it. :-)
thanks,
David

@DavidKHE i just confirmed - Elastic currently doesn't enable that flag expect for premium accounts (in which case you can just request it via support request). I think they are working on a system to allow it, but don't know how long it will be.

@nyurik  -  thanks. opened ticket.
I will update on the results.
thanks,
David

@nyurik  - unfortunately the ticket we raised was rejected.
Case Update for #00464038 Changes on Kibana Configuration [ ref:_00Db0H5KI._5004MYnr1Q:ref ].
do you have any contact internally maybe to help changing this property?
thanks,
David


Add install instructions in README for Helix editor

I believe the following instructions should be available in the README's install section.
From : https://elixirforum.com/t/helix-editor-for-elixir-development/54964
Put the following configuration in .config/helix/languages.toml, and happy coding!
[[language]]
name = "elixir"
scope = "source.elixir"
injection-regex = "elixir"
file-types = ["ex", "exs"]
roots = ["mix.exs"]
auto-format = true
diagnostic-severity = "Hint"
comment-token = "#"
indent = {tab-width = 2, unit = " "}
language-server = {command = "elixir-ls"}

Please open a PR

I'm not using helix. I'll be happy to accept a PR from someone who does though


Add violets-purgatory.dev to README

Closed in favor of 0057035: Used By was replaced with Showcase.


Add some references to the Plutus Pioneer Program

Appearently it is not entirely clear to new users how to follow along this repository best (see https://twitter.com/Redd_Spark/status/1641738327224197120?t=_7PgivOdp9eDqS0pTs0WeA&s=19)
Maybe we can either copy the descriptions from the plutus pioneer program  or add a number of links / references at the right places?

I documented some instructions on how to follow along with the pioneer lectures. Please let me know if if there's other ways to give a high level structural overview.
In general, I think the hardest part for beginners is setting up the environment, especially if they don't have any python or docker background. More specific questions are probably best directed towards being asked in discord.

Thats already great. Lets add some pointers to the discord server in the description just as you mentioned

More specific questions are probably best directed towards being asked in discord.

Also a discord badge https://github.com/ashmonty/discord-md-badge

Awesome. I just added the discord link in cb4f98dbce13a5bf4a61d96ddfc17969580cdc94


in the comments, changing version to 2.8.0

I think this PR isn't need, because the version will be increased to 2.9.0 in the next release

Ok, thank you.


Support parsing mvnvm and SDKMAN! configuration files

Adds basic support for parsing both mvnvm.properties files from mvnvm, and .sdkmanrc files from SDKMAN!.
Big change
⚠ Assumes mise-plugins/asdf-maven will be renamed to mise-plugins/mise-maven ⚠
Current limitations
Only supports parsing maven version information, other settings such as mvn_opts or user_uri are not currently supported.
Other additions
Added unit tests for new functionality, and moved project license to Apache 2.0 for better compatibility with patent
licensing clauses of Apache-licensed bundled dependencies.
Testing performed
Automated
Added automated regression tests (and GitHub Actions) that check:

Mvnvm config files can be parsed correctly

Standard
Whitespacey
Heavy comments
Config file without a mvn_version property is ignored without erroring

SDKMAN! config files can be parsed correctly

Extracting version name from file with comments, and other tools specified
Config file without a maven property is ignored without erroring

list-legacy-filenames returns both .sdkmanrc and mvnvm.properties.

Manual

Tested that mise picks up the version of maven requested by each test case.
Tested that existing functionality still works

Nice work! Might take me a while to have time to go through it. Also going to tag @roele as our chief Java scientist on the team in case he has any thoughts but the description sounds straightforward.

Nice work! Might take me a while to have time to go through it. Also going to tag @roele as our chief Java scientist on the team in case he has any thoughts but the description sounds straightforward.

Thanks, if either of you would like to sync in Discord, just tag me and we'll find a time.

Great work indeed 👍

If it makes it easier, I can revert the changes to bin/install, and bin/latest-stable and bin/list-all (all shfmt changes) to simplify the PR?


Peer dependencies: include Webpack ^5.0.0

In my project I'm using Webpack 5.18.0.
After installing this package, npm throws this warning:
<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^4.0.0 but none is installed. You must install peer dependencies yourself.

From my experience, this package works fine. Is there a possibility of including<EMAIL_ADDRESS>as well?
Thanks for reading and have a nice day :)

Thank you for your report & Pull request.

Thank you for your report & Pull request.

@RCRalph
I released a new version(v2.0.1).
Please try it.

@RCRalph
I released a new version(v2.0.1).
Please try it.

@negibouze
Works fine for me and doesn't throw the warning.
Thank you and have a nice day :)

@negibouze
Works fine for me and doesn't throw the warning.
Thank you and have a nice day :)


test updates

@tperrier once I started using sniffer I couldn't live without it. it will watch your code for changes and rerun your tests automatically whenever you make them. are you ok changing test runners so we can use it? I don't think there's any significant downside.
This also now includes some test fixes / tweaks.

Using nose and sniffer seems ok to me.  I looked at multiple options when I first did the tests but so far haven't branched out of default Django and the standard lib.  I like what I've seen of nose though.


❓ How to merge this repo with detectron2 master?

❓ How to merge this repo with detectron2 master?
I found the ResNeSt code is all included in resnet.py and splat.py. Besides, this repo uses fvcore==0.1.dev200407, which is different with detectron2 master requirements "fvcore>=0.1.1". I have tried to use fvcore 0.1.1 for ResNeSt, but it couldn't work. Could you tell me what you guys do with fvcore 0.1.dev200407? Could we split this content from fvcore?

You have to add the keys used by ResNeSt to the default config, then you can add those 2 files under modeling/backbone and change the init

You have to add the keys used by ResNeSt to the default config, then you can add those 2 files under modeling/backbone and change the init

Thanks for your kindly remind. I have added these config keys. I found it was another merged bug. I tested ResNeSt repo with fvcore==0.1.1, it worked fine. My bad.


Set or change the Destination path from the CLI

Running the following will prompt for a path for the CLI:
hookdeck listen 3030 {SOURCE_NAME}
? What path should the events be forwarded to (ie: /webhooks)?

However, after this point, if you want to change the path, you need to go to the dashboard and edit from the UI.
Can we add support for setting the CLI path on the original request and changing the "CLI path" for a Destination from the CLI?
There's a great discussion and some good work gone into https://github.com/hookdeck/hookdeck-cli/pull/68 as an experiment for adding broader CRUD support and we ultimately decided against it (for now).
However, this feels like a common sense feature to support.
Options I can think of:

Add a command that supports modifying the CLI path of a source. It would need to check the provided source was of type CLI. We may also then want to allow sources to be listed to help with discoverability. That would need to show the source name, type, and CLI path if the type was CLI path.
Add a keypress handler when the CLI is running that allows the path of the running process to be edited. This removes the need for a new command as you just use the current context. However, this is complicated by the support for listening on multiple sources (https://github.com/hookdeck/hookdeck-cli/pull/84).
https://github.com/hookdeck/hookdeck-cli/issues/87#issuecomment-2230830491

@alexluong WDYT?

I think this is a fair idea. It does make sense that we want to keep user on their terminal, especially when they're configuring some their development configuration anyway.
I'm curious if a better solution is to encourage better adoption of Terraform? Although I can see how it's not possible for every team.
From the 2 options you have, I think option 1 is way more viable. I feel the complexity of adding feature to the listen command may not be worth it. Can you share the TUI UX you have in mind?

What about dynamically changing if a --cli-path {path} flag is passed to the listen command?
This allows:

the path to be updated dynamically when listen is called
the interactive prompt for the path to be bypassed

@leggetter what if a source has multiple connections to CLI destination, how do we know which destination to override?

@alexluong, how does the CLI know which destination to inherit and use when it connects, and multiple CLI Destinations exist?

@leggetter it doesn't, it just sends the events to every connected destination when there's a new event.

@alexluong, so, there must be some server-side websocket handling code that decides which CLI destination the CLI should inherit?

@leggetter my understanding is that when a request comes to the source, the server will turn that request into events to relevant destinations (via connection rules logic). The websocket server will deliver each event to the CLI, which will then proxy to the local CLI path.
However, from the CLI, it proxies based on source (you can specify the connection too but it's not relevant in this discussion). Not sure if this clarifies things. I'm not entirely sure what your idea is to go about this 😅

What about dynamically changing if a --cli-path {path} flag is passed to the listen command?
This allows:

the path to be updated dynamically when listen is called
the interactive prompt for the path to be bypassed

@alexluong could you create a branch to experiment with this and find any problems we need to solve?
Using a flag avoids a breaking change and/or avoids the need for additional optional prams to be passed since listen already takes, port, source, connection query.
@mkherlakian I'm going to suggest we don't change the default behaviour to prompt for a CLI path. We could change to default to / but this feels like a breaking change.

@mkherlakian I'm going to suggest we don't change the default behaviour to prompt for a CLI path. We could change to default to / but this feels like a breaking change.

Ok. But how do you choose the connection that this applies to in this case? Without a connection, the CLI doesn't know which destination to update unless there's only one dest

Hey @leggetter, so let me elaborate the point a bit just to make sure we understand your idea a bit better. Let's say we have a connection set up like this where a source has 2 connections to 2 CLI destinations. This is how it looks when proxying:
$ hookdeck-cli git:(main) hookdeck listen 4000
? Select a source source

Dashboard
👉 Inspect and replay events: https://dashboard.hookdeck.com?team_id=tm_odIiTVdHmb4a

source Source
🔌 Event URL: https://hkdk.events/rmvvtxrgic256w

Connections
local-2 forwarding to /local/2
local-1 forwarding to /local/1

> Ready! (^C to quit)

So, from your idea, if we run $ hookdeck listen 4000 --cli-path /local/another, how should we decide between local-1 and local-2 destinations?
I understand your intention is to make changing CLI path easier, but we need to think through this case as well.

Besides, another case we should think about is the multi-source support that we will support soon. In that case, there are many different destinations with different path, how should we determine which path to override?

@alexluong thanks for clarifying. @mkherlakian see above. Would providing a connection name resolved then problem?

Would providing a connection name resolved then problem?

Yes, this would sort of resolve the problem. The only thing is I don't see a ton of value in this, but we can make this work.
Basically this will override the CLI path. That's great for temporary work, but if this is a long-term change, than wouldn't updating the destination be better for future usage as well as collaboration?

Honestly, for newcomers who don't know about sources and connections it adds another unknown param sonim not super happy about it.

The concern is this may add more complexity instead of reducing it. The thing is the user must set up their connection & destination first, one way or the other, before doing this. Therefore, I don't quite see the problem this solution is solving.

The only thing is I don't see a ton of value in this
Why not?

Basically this will override the CLI path. That's great for temporary work, but if this is a long-term change, than wouldn't updating the destination be better for future usage as well as collaboration?
The way I see it, we should be updating the destination if the path param is specified in the CLI args, or creating it if it doesn't exist.

The thing is the user must set up their connection & destination first, one way or the other, before doing this.
Why can't the connection and destination be created on the fly?

The concern is this may add more complexity instead of reducing it.
On the contrary - If we instruct users to just issue the one command, and everything is created for them, even if they are not familiar with source, dest, and connection constructs, they can get started immediately. It reduces friction quite a bit. Ideally we can do this with a guest accounts as well.

It seems like I'm not quite following the purpose of what we're trying to do here. Maybe @leggetter or @mkherlakian can help write a short summary to make sure we're aligned.

Why can't the connection and destination be created on the fly?

They can, but not with just cli-path. We need at the very least the destination name as well.

@alexluong @mkherlakian have a look at this https://github.com/hookdeck/hookdeck-cli/pull/90
Try:
./hookdeck-cli listen 8080 source_name --cli-path /some_path --log-level debug

(jumping on a flight so this is a quick draft PR)

Thanks for the PR @leggetter, so from what I can see from the PR, here are the key behaviors I noticed from the PR:

When there's no CLI destination, we will create the destination & connection with hard-coded name cli.
When there's an existing 1-to-1 source to CLI destination, if the CLI path is different between --cli-path and the destination value, then we will update it on Hookdeck as well.
When a source maps to multiple CLI destinations, the CLI ignores --cli-path config.

I think we can certainly work with this if this is the behavior you'd like. Maybe some small improvements around logging to communicate what we're doing to avoid confusion, but other than that I do think this should work if the behaviors above make sense to yall.

That works, thanks @leggetter!
Let's polish and release.
It would be nice to solve the multiple destinations problem too - maybe if you pass a CLI path that matches one of the connections, you select that connection. And if it doesn't match, you create that destination?

Considering another approach -
How about if we gave the option to the user to provide a connection name?
If the connection exists:
if it has a cli dest and path matches, use it
if it has a cli dest adn path doesn't match, update
it it doesn't have a cli dest, create
If the connection doesn't exist:
create source, dest and connection with cli path
Problem is listen now accepts a source, would be difficult to distinguish between source and connection.

maybe if you pass a CLI path that matches one of the connections, you select that connection. And if it doesn't match, you create that destination?

This could work, so if you pass cli-path, that guarantees that you'll always proxy to a single connection (unless multiple connections with the same CLI destination matching the path).

Problem is listen now accepts a source, would be difficult to distinguish between source and connection.

You can pass a source AND a connection.
$ hookdeck listen 4000 source_name connection_name

@mkherlakian @alexluong here's another pass https://github.com/hookdeck/hookdeck-cli/pull/92
I've mapped out various scenarios and shown the old behavior and the new behavior.
A reasonably big functional change is to remove the interactivity. Reasoning is in the PR.

Fixed in #97


[Android] Set default notification icon for all local notifications

RN@37
I'm clueless as to how to set the default notification icons on Android for my app regardless of if I send a data payload or handle the notification in-app. Having a hard time finding this anywhere. Hoping you can set this in Manifest but it doesn't seem that easy for some reason.
Tried this:
<meta-data
                android:name="com.google.firebase.messaging.default_notification_icon"
                android:resource="@drawable/ic_launcher" />

didn't work, white square, every time, for a long time now.

right. it doesn't work. you need to create an special icon for it.

@evollu , I created one for all drawable folders, called it. ic_stat_onesignal_default.png  but what else needs to be done for it to show? Thanks!

in payload add "icon": "ic_stat_onesignal_default"

I'm trying to get it to work with a "notification" payload sent to FCM servers, not "data". Some of our beta testers are showing that there is an icon getting displayed so there must be way to do this.

yes, the icon attribute is in notification payload

Been trying that for hours now, no luck. Always get a white square. Android 6. I have the icon and others I've been trying in android/app/src/main/res/drawable-****dpi/ folders. They are pngs and the right sizes. Also have a folders for debug android/app/src/debug/res/drawable-****dpi/

is your icon white with transparent background?

no, that could be it. Let me try that. Thanks for hanging with me.

@evollu , you're a lifesaver, I read the sentence in the README but because I've saw icons from our tester that had colors, I didn't believe it.  But they were probably not > lollipop


Convert replies to #784 into issues in the bicep-types repo

#784 has gotten out of control :)
In order to get our hands around it, we are going to convert each (meaningful) comment in that issue thread into an individual issue in https://github.com/Azure/bicep-types-az. This will help us prioritize particular type issues and keep track of their status individually - as it usually is something that needs to be handled by the relevant resource provider team.

Some things we need to ensure:

We're paying adequate attention to issues in the types repo (scrum & project tracking, issue triage, etc).
We give good pointers to users to raise issues in this repo.

For 2., I like the way the GitHub Linguist repo provides an external link as an option when you try to raise an issue - wonder if we should do something similar:

Another sample from the homebrew repo:

https://github.com/Homebrew/brew/issues/new/choose


Statistics tab always becomes active

Statistics tab always becomes active when running a SQL script.
Every time I run a script, I have to change from statistics tab to results tab in order to see the results.
It'd be nice to be able to change this behaviour.

Thank you for feature request.
It's a duplicate of #17763. The fix will be available in the DBeaver 22.3.1. Also you could try early access version https://dbeaver.io/files/ea/


Editor: Add detection of mixed line-endings (EOL), and allow users to save&open files with different EOL

 Garry's Mod supports all the three major operating system platforms:

Windows
Linux / *nix
Macintosh (Mac) / OS X

And all of the three systems uses a different sequence of characters for the end of a line (EOL), line-ending (some call it "line-breaking")[¹]:

Operating System
Line-Ending
ASCII
ASCII hex

Windows
\r\n CRLF
13 10
0D 0A

Linux & OS X
\n   LF
10
0A

Old Mac OS
\r   CR
13
0D

To find out on what operating system the game is running, see system library. There are three functions, self-explanatory (note: call it once):
system.IsWindows
system.IsLinux
system.IsOSX
See also jit.os (not a function), it contains the target operating system name...

So, the task-list:

[ ] Allow users to change/convert line-ending for the opened file(s), there should also be an option to perform this from the file hierarchy, via both folder and file (right-click) context menu. There should be the 4th option here, "Dominant", which should be smart enough to automatically detect the most dominant line-ending. There should also be two sub-options to "Dominant", only if this is performed from a right-click context menu of the folder: "Global", it finds out the most dominant line-endings of all of the files inside of a selected folder/directory, and 2nd option: "Local", it finds the most dominant line-endings per file.
[ ] Add line-ending indicator for the opened file, and allow it to be enabled or disabled via Editor options.
[ ] Line-ending indicator should have the 4th display option, "Mixed". When the opened file has mixed line-endings, that's what the indicator should say..
[ ] Editor should default to operating system EOL. So, files that has been saved on old Macintosh should have CR line-endings, Linux & OSX should have LF line-endings, and Windows OS should have CRLF line-endings, respectively.

I hope I have explained that clearly. 💤

If no Wire dev will implement this, I will do it myself.

Are you sure this is actually a problem? I don't own a mac so I can't test it on there. I could test it on linux in my VM but my VM is slow af, so I would rather not. Thing is, we have not received a single complaint from anyone using mac or linux about any issue even related to this. In your post, you don't mention testing the issue to see if it actually exists.
I believe \r counts as whitespace (I know \n does) in Lua patterns so it should be ignored by E2s compiler just fine.
The E2 editor also strips out all \r in the file when the code is retrieved from the editor and sent to the E2 chip: https://github.com/wiremod/wire/blob/master/lua/wire/client/text_editor/texteditor.lua#L345-L347
It doesn't appear to strip out the \r in the file when loading the file, though (only when spawning the E2 chip), so that could possibly cause issues when viewing the code in the E2 editor, just after opening a file. But it would have to be tested to confirm.
The only issue I've seen related to using E2 on different operating systems was when someone using mac changed the font of the editor to a font that didn't exist on their computer, which is unrelated to this.

I have a mac and line endings are not a problem at all

Uh, no. Keep things simple.

Are you sure this is actually a problem?

Well, let's find out... I'll perform throughout testing tomorrow (on all systems), I am 😴 atm. (I'll edit this comment, and provide my results then.)
In the meantime, people, please provide your test results below. But, first make sure you're doing this on the server which is running the latest version of wire of course (clone the master branch from GitHub).
Test case 1.
1. Create three new text files, each one with different line-endings.
eol-windows.txt:
@name OEL-Windows\r\n
2nd line on Windows\r\n
3rd line on Windows\r\n
4th line on Windows\r\n

eol-linux.txt:
@name OEL-Linux\n
2nd line on Linux\n
3rd line on Linux\n
4th line on Linux\n

eol-osx.txt:
@name OEL-OS X\r
2nd line on OS X\r
3rd line on OS X\r
4th line on OS X\r

2. Save those text files into ./Steam/steamapps/common/GarrysMod/garrysmod/data/expression2 folder (create expression2 folder manually, if it does not exists).
3. Have friend(s) on the server you are on (allow the prop-protection on the both sides, if any is installed). Also, make sure to note-down the operating system of your friend.
4. Get/Select Wire Expression 2 tool, press Update button below file list/hierarchy, while holding down spawn menu key (by default Q), and
4.1. Search for the text files you have saved previously (in the file list/hierarchy).
6. Select (left-click) a file which has Windows line-endings (eol-windows.txt), and then left-click with toolgun to spawn E2 chip.
7. Now, have your friend download the E2 chip you have spawned, by right-clicking it. Then ask your friend, if of the all lines are displayed correctly in the Editor.
Repeat the steps 4.1. - 7., but on the step 6., instead of uploading eol-windows.txt file again, use: eol-linux.txt and eol-osx.txt files. Finally, report your results here.

I have a mac and line endings are not a problem at all

Can you try the test first case?
There is no line-ending indicator, editor doesn't let you save files with different line-endings, and we don't know how does editor handle mixed line-endings, etc. I believe it misbehaves at least at some..
Any reason why did you downvote this todo?

As all unixes, mac os x uses \n
mac os 9 and below used \r

Old Mac isn't relevant. We should certainly use different line endings on Windows and Unix. I'd prefer to keep it simple - we should use native line endings (do we at the moment?), and maybe it's worth converting files to consistent native line endings (which I assume we don't), but I don't feel it's useful to offer settings for non-native endings. KISS and all that.

but I don't feel it's useful to offer settings for non-native endings

Nah. I ain't keeping this one simple, perhaps assign me as I am nearly done (or don't if you want it simple)..
I have some plans about the Editor layout, that I will try to do soon.

By far the easiest solution would be to just remove all \r when the file is opened, and not only when the file is retrieved from the editor (which it does currently, see my other reply above). This means that as soon as a file is opened in the E2 editor, all \r are gone, and if they save the file again, it will overwrite their file with all \r gone (unlike the current behavior where you must spawn the E2 into the world, then right click it, and then save the code, in order to clear all \r from your saved file).
Then, if a user wants to edit the E2 outside gmod, it would be up to them to use an editor that can handle \n in any os. Pretty much all editors nowadays handle this easily.
This is the easiest solution, since you only need to change one single line of code in the E2 editor. Whether it's the best solution is another question.

Can we take an informal poll?

React to this comment with :smile: if you think we should keep it simple and save with consistent \n line endings (but support loading files with any line endings).
React with :tada: if you think we should keep it simple and save with consistent native line endings (but support loading files with any line endings).
React with :-1: if you don't think either of these two routes are appropriate and you'd like something else (eg. an interface for changing the current file's line endings)

I voted 😄 but I'm fine with 🎉 as well. I think 👎 is overkill; overly complicated.
For reference, here's how the most popular text editors manage this

🎉 Sublime text drops all \r when it opens the file, and then saves with native line endings. Sublime text has many, many plugins which can do anything you can imagine with line endings.
🎉 A quick search on google for Atom editor seems to indicate it also converts and saves with native line endings. I haven't found anything that shows how it loads files though. Atom also has many plugins.
👎 I couldn't find as much solid info for Notepad++ as for the others, but it appears that it detects which form of line endings you use for each opened file, and then it won't auto convert at all. It saves the file with whatever line endings it had when opened. It does however have many built in options for displaying the current line ending type and it also has a built in converter. Notepad++ most likely has plugins for this as well, but it already has most of it natively so you don't really need plugins for this.

 Users should not be allowed to change line endings or realize they exist at all, as E2 is a whitespace irrelevant language, and there's zero benefit to using os native endings. I strongly vote for only using \n for saving, and then converting anything on load to using just \n.
:D (or however you type that smile)

I think it's not needed, basic external editors such as notepad in windows break yeah, but not good editors such as NotePad++, let's be honest who uses notepad for actual coding now?

Even Windows Notepad is better than Wire Text Editor, because it doesn't force \n EOL. It is just that display is wrong, but EOL characters (\r and \n) are still present.
Notes for later:
New files: Default to native/OS line endings (or fallback to user preference/settings).
Existing files: Never normalize without prompting the user. Detect EOL (smart)! Mixed should have higher priority over dominant detection.
On paste: Use the same approach/detection as with existing files!


Row Hover Effect for Tables

Hi,
sorry if this is a dupe, tried to find an issue for this but couldn't find anything.
Tables have no hover effect on rows, so it's hard to see, for example, which build I'm starting (workaround for this is to wait for the tooltip)

sorry, seems like I got linked here somehow from somewhere else and created an issue on the wrong repo


Implement mesh refinement

See Chap. 6 of Cheng, Dey and Shewchuk.

Already implemented in Meshes.jl with different methods, see: https://juliageometry.github.io/Meshes.jl/dev/algorithms/refinement.html

Do you have methods for meeting certain area/minimum angle constraints? The method I'm thinking of here is Ruppert's algorithm rather than just subdividing each triangle. I also want to eventually have extensions of Ruppert's algorithm, e.g. instead using off-centers or specialisations for domains with small angles.
This type of refinement is more useful in practice as far as I can tell. Another nice application I have in mind, and one I would use as an example when I finally get around to implementing this, is adaptive mesh refinement with a posteriori error estimation for solving PDEs (see e.g. https://doi.org/10.1016/0377-0427(94)90290-9) to define area constraints on each triangular element.


Fix and test metric of two MatrixSlice's (#154)

This resolves #154 with the suggested solution. I also added MatrixSlice specific tests.
Is ::matrix::Matrix<T> acceptable or is a use matrix::Matrix statement desired? Felt unnecessary as it's only used 'once'.
Also, is it OK to split the matrixslice tests into their own test functions or do I want to move the slice tests into the matrix tests?

I think this PR does what it should, thanks @initiumSrc !
As @Andlon pointed out the design of the metric traits are a little unfortunate. I guess we should revise and improve later but this PR fixes some immediate issues.


Why the label of attack images is same with the original images?

The label of attack images is same with the original images when I use the run_inference_on_image function of setup_inception file.
So does it mean that the attack almost failed?

Sorry I don't quite understand what you're asking. If the prediction is the same for both before and after attack, then the attack has failed. Sometimes this might be because confidence=0 has minor issues, and if you run it with confidence=[some small value] it will often work.

@carlini Thanks，I will try the attack with confidence > 0.


Updating multiple traces in live server is applying only to the first trace

Steps to reproduce:
Create multiple traces, and in dynamic server mode try to update the values of each trace. All values appear to be assigned to the first trace.
I've narrowed this down to Plot.collectUpdates
fun Plot.collectUpdates(plotId: String, scope: CoroutineScope, updateInterval: Long): Flow<Update> {
    return config.flowChanges(scope, updateInterval).flatMapMerge { change ->
        flow<Update> {
            change["layout"].node?.let { emit(Update.Layout(plotId, it)) }
            change.getIndexed("data").values.mapNotNull { it.node }.forEachIndexed { index, metaItem ->
                emit(Update.Trace(plotId, index, metaItem))
            }
        }
    }

The index param that is passed to Update.Trace is always 0. This appears to be because there needs to be another inner loop like metaItem.getIndexed to actually iterate through the traces.
The result of this is evident when inspecting the websocket messages, as I can see the json message field "trace" is always 0, despite having the data for each one of the traces that I am updating.
I must apologise, I'm very new to Kotlin so I'm not really sure how to raise a PR that I can test locally to verify my fix.

I can't reproduce. I've added the second trace to dynamicServer example here and it seems to behave correctly. Could you send me the whole example you are trying to run?

Hi @altavir thanks for your speedy response, here is a repro of the issue I'm seeing
import hep.dataforge.meta.invoke
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch
import kotlinx.html.a
import kotlinx.html.h1
import kscience.plotly.Plotly
import kscience.plotly.models.Bar
import kscience.plotly.plot
import kscience.plotly.server.close
import kscience.plotly.server.pushUpdates
import kscience.plotly.server.serve
import kscience.plotly.server.show
import kotlin.random.Random

fun main() {

    val initialValue = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    val tracesList = arrayOfNulls<Bar>(3).mapIndexed { i, bar ->
        Bar {
            x.strings = initialValue.map { "Column: ${it}" }
            y.numbers = initialValue
            name = "Series ${i}"
        }
    }.associateBy { it.name }

    val server = Plotly.serve(port = 3872) {

        //root level plots go to default page
        page { plotly ->
            h1 { +"This is the plot page" }
            a("/other") { +"The other page" }
            plot(renderer = plotly) {
                traces(tracesList.values)
                layout {
                    title = "Other dynamic plot"
                    xaxis.title = "x axis name"
                    yaxis.title = "y axis name"
                }
            }
        }

        pushUpdates(100)       // start sending updates via websocket to the front-end
    }

    server.show()

    //Start pushing updates
    GlobalScope.launch {

        delay(1000)

        while (isActive) {

            repeat(10) { columnIndex ->

                repeat(3) { seriesIndex ->

                    delay(300)

                    tracesList["Series ${seriesIndex}"]?.let {

                        println("Updating ${it.name}, Column ${columnIndex}")

                        it.y.numbers = it.y.numbers.mapIndexed { i, currentValue ->
                            if (columnIndex == i) {
                                Random.nextInt(0, 100)
                            } else {
                                currentValue
                            }
                        }

                    }

                }

            }

        }
    }

    println("Press Enter to close server")
    readLine()

    server.close()
}

Note that I have my traces (Bars in this case) in a Map<String, Bar> as in my actual application the order in which the results are collected is completely unpredictable, so I need to actually look up which series to update

I think I've reproduced the problem. I will try to understand what happens and how to fix it.
The optimized example is placed here: https://github.com/mipt-npm/plotly.kt/blob/dev/examples/src/main/kotlin/misc/dynamicBars.kt

OK, I've finally nailed it. It was a really silly mistake and that is why it took so much time to catch. The problem is that in the method you've shown I use forEachIndexed, which catches the number of the change in list of trace changes, not the trace index. 🤦
I've fixed it. And it will work correctly in the next release (should be in a week or so).

Thank you very much for the report.

Hey that's awesome, thanks for the responsiveness

@altavir is there any chance this fix could be applied to 0.2? It doesn't seem to need to be bundled with the 0.3 changes I believe?

Yes, it is pretty simple, but 0.3 is coming in a few days since 1.4.20 is out and I am pressed for time right now. So sadly I do not have time for a separate release activity.

Fix verified against 0.3.0-dev-rc 😁

@zakhenry Wow, I just started to write to you.

Haha, i was literally just rebasing my plotly branch and got the notification from bintray, great timing!

The release on bintray will be there in several days after I check that the base DataForge library behaves correctly on 1.4.20 in all other libraries.


[nfc] extracting rust pacakge definitions to packages.bzl

the intent is to reuse RTTI_PACKAGES in edgeworker to enable /tools/... compilation on CI.

LGTM overall. Does bazel require PACKAGES to live in a separate file or do you just think it's just cleaner to have two files here?

you can only load .bzl files. You can't export a variables from BUILD files afaik.

you can only load .bzl files. You can't export a variables from BUILD files afaik.

Ok, makes sense.


Install and run pbs

Hello
I've just downloaded semantic-react, made the npm install then start, and tried to launch it in the browser without success, in order to see how to use the components (like for instance the modal component - why are there two files modal and modal-body for instance, and how to use them)..
Have you got a working web site where we could browse the doc without having to install it locally?
best regards

The documentation is a work-in-progress at this point, so there isn't much to look at. There probably won't be completed docs for some time, as the project is still pretty young. Until then, a lot of the components you'll have to either look at the documentation source, or just look at the source of the component itself to reason about how it works.
The Model component is in two parts for technical reasons, but an end-user should just use a Model. The ModelBody is created by the Model so that clicks outside of the Model can be detected (clicking on the backdrop).
Best advice is to look at the component source and the proptypes and compare that against the documentation for Semantic-UI to get an idea of how things work.

ReHi Justin,
could you give me just a simple example (for instance a Button with
animated props) of a call of a component?
e.g <Button ...
just to see the syntax
best regards
Xavier
2015-12-15 10:30 GMT+01:00 Justin Hall<EMAIL_ADDRESS>
Closed #28 https://github.com/hallister/semantic-react/issues/28.
—
Reply to this email directly or view it on GitHub
https://github.com/hallister/semantic-react/issues/28#event-491997844.

oki, I found , e.g. :
        <Icons size="huge">
            <Icon size="big thin" name="circle"></Icon>
            <Icon name="user"></Icon>
        </Icons>

        <Icons size="huge">
          <Icon size="big" color="red" name="dont"></Icon>
          <Icon color="black" name="user"></Icon>
        </Icons>

        <Icons size="huge">
          <Icon size="big" loading name="sun"></Icon>
          <Icon name="user "></Icon>
        </Icons>

or
        <Icon  disabled color="orange" rotated="counterclockwise"

name="star">

        <Icon  size="mini" name="home" ></Icon>
        <Icon  size="tiny" name="home" ></Icon>
        <Icon  size="small" name="home" ></Icon>
        <Icon  name="home"></Icon>
        <Icon  size="large" name="home"></Icon>
        <Icon  size="big" name="home"></Icon>
        <Icon  size="huge" name="home"></Icon>
        <Icon  size="massive" name="home"></Icon>
        <Icon  color="red" name="users"></Icon>

2015-12-15 10:30 GMT+01:00 Justin Hall<EMAIL_ADDRESS>
Closed #28 https://github.com/hallister/semantic-react/issues/28.
—
Reply to this email directly or view it on GitHub
https://github.com/hallister/semantic-react/issues/28#event-491997844.


Resolve an import error in pip installation

I tried to resolve the Pylint action bug in iquip project.
While looking for a solution, I found out the followings:

Using pip install -e in the GitHub action may not work well.
We have to use only pip install.
So we need to update the release using pip install, not -e option.

In the current status, however, pip install ${url} causes an error as follows:

Thus, I will resolve this error and make pip install available.

Oh, I didn't release the fixed version yet, so I reopen this.

Please check the relaeae draft and if okay, publish it! @kangz12345

Please check the relaeae draft and if okay, publish it! @kangz12345

I released it, and confirmed that the pip-installation works perfectly. Nice work!


aead/poly1305.supportsAVX2: relocation target runtime.support_avx2 not defined

Hi,
build fails at:
...
kdir -p $WORK/b001/exe/
cd .
/usr/lib/go/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=UPuijhq9vkrhDo0upjQr/UjD7Df2-wjXpUTSIqD8b/WS12O-zY2_0I5bBtxn9e/UPuijhq9vkrhDo0upjQr -extld=x86_64-pc-linux-gnu-gcc $WORK/b001/_pkg_.a
# github.com/jedisct1/dnscrypt-proxy
vendor/github.com/aead/poly1305.supportsAVX2: relocation target runtime.support_avx2 not defined

Looks like it's upstream issue from https://github.com/aead/poly1305/pull/3 and the vendored poly1305 needs a bump to properly detect AVX2 with go-1.11

I checked vendored poly1305 and it actually includes the mentioned fix...
any ideas what's going on with AVX2 detection?
2 things changed on my system recently:

Installed new CPU (Threadripper 2990WX)
Updated go to 1.11

ok sorry for the noise, git master builds fine, the problem is only with 2.0.16 which makes sense.
I'll leave this open, feel free to close. But maybe it's good time for 2.0.17 bump since go 1.11 is in the wild.


Bagel Update 12.5 (the science one)

this was long overdue and ive gotten over my sci biases somewhat. ive allotted more budget to the sci department.
changelog
-science expansion
-maints qol
-mild decor pass
-skub
frees up a lot of space in R&D. also i gave you guys reinforced windows

toxins is now in a new area below robotics

Please test loading the map in-game, I noticed a number of small pieces of debris split off (but it looks like it's all just asteroid catchers)

yea sloth told me to split all of those off the main grid last week so i did


Can't set UxTheming(true)

This line in my code panics:
sciter::set_options(sciter::RuntimeOptions::UxTheming(true)).unwrap();
It panics with the following message:
thread 'main' panicked at 'called Result::unwrap()on anErr value: ()', src/libcore/result.rs:999:5
I see the following code is related to this error:
/// Set various sciter engine global options, see the [`RuntimeOptions`](enum.RuntimeOptions.html).
pub fn set_options(options: RuntimeOptions) -> std::result::Result<(), ()> {
	use RuntimeOptions::*;
	use capi::scdef::SCITER_RT_OPTIONS::*;
	let (option, value) = match options {
		ConnectionTimeout(ms) => (SCITER_CONNECTION_TIMEOUT, ms as usize),
		OnHttpsError(behavior) => (SCITER_HTTPS_ERROR, behavior as usize),
		// GpuBlacklist(json) => (SCITER_SET_GPU_BLACKLIST, json.as_bytes().as_ptr() as usize),
		InitScript(script) => (SCITER_SET_INIT_SCRIPT, script.as_bytes().as_ptr() as usize),
		ScriptFeatures(mask) => (SCITER_SET_SCRIPT_RUNTIME_FEATURES, mask as usize),
		GfxLayer(backend) => (SCITER_SET_GFX_LAYER, backend as usize),
		DebugMode(enable) => (SCITER_SET_DEBUG_MODE, enable as usize),
		UxTheming(enable) => (SCITER_SET_UX_THEMING, enable as usize),
    LibraryPath(path) => {
      return set_library(path).map_err(|_|());
    }
	};
	let ok = (_API.SciterSetOption)(std::ptr::null_mut(), option, value);
	if ok != 0 {
		Ok(())
	} else {
		Err(())
	}
}

The value of ok ends up being 0, and so the Err(()) is returned. I'm not sure where to look for documentation on the Sciter C++ API, but the set option call is returning 0, what does that mean?
The error occurs on Linux (GTK / Wayland), but not on Windows.

https://github.com/c-smile/sciter-sdk/blob/3b9818518335bcd0d1f616c412f2cca551414c00/include/sciter-x-def.h#L444
It's BOOL, so 0 is an error. Why? No idea. I think, it's SDK related.

I think, it's better to ask on https://sciter.com/forums/ if you haven't done that.

I asked on the Sciter forum and Andrew said:

[UX Theming] is applicable only for Windows version where by default Sciter uses system theme that delegates inputs rendering to system.
On other platforms that call does nothing and returns FALSE – no changes were made – MacOS and Linux use “unisex” theme by default as there are no reasonable ways there to ask system to draw control shapes.

See: https://sciter.com/forums/topic/should-sciter-look-the-same-on-windows-and-linux-and-other-platforms/
It looks like SciterSetOption return false when a setting is not applicable and has no effect. These bindings represent the false value by returning Err. In C++ it looks like the return value of SciterSetOption is often ignored, which is fine I think. Returning Err when a setting is not applicable may be too strong, even though it plays nice with the Rust type system.
For now, I have solved this by doing the following:
let _ignore_err = sciter::set_options(sciter::RuntimeOptions::UxTheming(true));

Maybe set_option should return a bool? It's nice to deal with Result in Rust, and you can make it work easily like I did above, but it feels wrong to ignore an Err so I'm not sure what the best API would be. Just a thought.
IMO, this ticket can be closed.

I see. Perhaps, it must have been better to return bool here. But now it will be a breaking change.
I can skip this call on non-windows platforms, it will fix the issue.

I am making changes on my side so  ::SciterSetOption(NULL,SCITER_SET_UX_THEMING,TRUE); will always return true.

Looks like the change was made upstream, as @c-smile said.
I can now do the following ...
sciter::set_options(sciter::RuntimeOptions::UxTheming(true)).unwrap();

... like I originally wanted; no more problems.
This issue can be closed.

Great.


Badge position and display

The reCAPTCHA docs show that is OK to position or hide  the badge so that the icon does not appear in the bottom right of every page
https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
In place of it, the text as above can be applied to every form it is enabled on, based on a configuration setting in yaml.
This would solve possible problems where the badge in the bottom right conflicts with other elements in the viewport.

See also: https://github.com/nswdpc/silverstripe-recaptcha-v3-userforms/commit/6af457793f4aea4f1597eb5199b6d47ac1109378

@tardinha https://github.com/nswdpc/silverstripe-recaptcha-v3/tree/feat-badge-placement

Released in v0.2.0-rc1


removed localhost

Noticed the site had a link that leads to localhost instead of being a relative link like the others on the page
Not too familiar how to use github... does this change do anything?

good catch


MediaType compare problem

In this file  jax-rs-pac4j/src/main/java/org/pac4j/jax/rs/pac4j/JaxRsContext.java
161           if (MediaType.APPLICATION_FORM_URLENCODED
162                   .equalsIgnoreCase(Objects.toString(requestContext.getMediaType()))) {
when media type contains charset info(e.g. application/x-www-form-urlencoded;charset=UTF-8),
formdata will not be available.
I have this issue when useing ajax to post data instead of form submit, of cource, i can set contentType to bypass it.
Just wondering if it is possible to compare with starstWith or another way.
It's frustrating for a newbie of pac4j.

yep, there seems to be a bug, good find! I will take a look at it quickly

@hello-ming would you be so kind as to test if your problem is fixed with latest snapshot (see https://github.com/pac4j/jax-rs-pac4j#development)? Thanks :)


any plan to get this one supported .net core?

Thanks for the note.
No, not personally, though some help porting the build to the setup Serilog uses would be welcome as a PR, if anyone is able to take a look.
Cheers!


[5.6] Fix postgres blueprint compileComment to proper escape its content

Only affects 5.6, code is new
The implementation in https://github.com/laravel/framework/pull/21855 suffers from a slight error when trying to escape the columns comment.
By default, single quotes in Postgres aren't escaped with a backslash but with doubling the single quote.
Instead of … 'test '\ quote' it has to be … 'test '' quote'. Couldn't think of a better way than to use str_replace
/cc @andersondanilo
References:

https://stackoverflow.com/a/12320729/47573
http://php.net/manual/en/function.pg-escape-string.php

addslashes() must not be used with PostgreSQL.

Will removing addslashes cause other problems? Why was it removed?

Will removing addslashes cause other problems? Why was it removed?

Because it will transform a string like foo ' bar into foo \' bar and postgres does not escape single quotes with \ but ' i.e. to escape a single quote ' you have to use two single quotes => ''.
It was introduced with https://github.com/laravel/framework/pull/21855 recently but it's just wrong to use it. If you have comments with single quotes and try it in postgres it will 💥
And, as the PHP manual too states:

addslashes() must not be used with PostgreSQL.

The logic of that method simply does nothing useful in the world of postgres (it's all in the PRs description).

Are there cases where you might want to keep an unescaped single quote or where a single quote is already escaped in the input string?

where a single quote is already escaped in the input string?

Only if you it manuall…? 🤷♀
An unescaped single quote in a single-quoted string in a pgsql statement is an error.
Bueprints ->comment() is properly escaped with this PR, whereas before it breaks when single quotes are contained in a comment.
If you talk about having two literal single quotes: then yes, each of them gets escaped by another single quotes. There postgres rules, not mine 😄
Again, this PR fixes this PR which was recently introduced.
The unit it tests in the Laravel framework don't have integration directly but I verified locally that before this PR it breaks with an SQL error, afterwards it works.

Thanks for clarifying. I don't have much experience with postgres but have been looking into it.
So, before this PR, if a user tries to manually escape their quotes, the code just fails. With this PR, their quotes get doubled. I guess you wouldn't be expected to escape the quotes yourself so that's probably fine?
Are double-quoted identifiers allowed in comments, and if so, would single quotes need to be escaped in them? For example, if my comment includes the identifier "test o'clock", this would turn that into "test o''clock". Would that still be fine?

So, before this PR, if a user tries to manually escape their quotes, the code just fails. With this PR, their quotes get doubled. I guess you wouldn't be expected to escape the quotes yourself so that's probably fine?

Exactly!

Are double-quoted identifiers allowed in comments, and if so, would single quotes need to be escaped in them? For example, if my comment includes the identifier "test o'clock", this would turn that into "test o''clock". Would that still be fine?

Please make yourself familiar with postgres first, double quotes are only applicable to "identifiers" in postgres. Strings can be only quoted with single quotes. There's also an extended form of quoting using E'…' but this IMHO isn't relevant here.
This is usually never an issue with any code per se, as everything is using prepared statements/bound parameters.
But this is the Blueprints, different context.

double quotes are only applicable to "identifiers" in postgres.

I am aware of that, I'm asking if identifiers are allowed as a part of comments.
For example, adapting an example from the psql documentation:
COMMENT ON TABLE mytable IS 'This is my table and the column "test o'clock" is really important.';

And now that I've actually typed that out, I realize it's invalid as the single quote in the identifier would have to be escaped, which this PR would do.
Thanks for the additional clarification and sorry if it sounded like I was trying to question the validity of this PR, I just wanted to understand this properly.

Thanks for the additional clarification and sorry if it sounded like I was trying to question the validity of this PR, I just wanted to understand this properly.

It sounded that way, but I should not have assumed it! Apologies for that and thanks for the feedback!


[RESTEASY-1987] SseEventSourceImpl assumes it owns the executor

This PR provides a way for SseEventSourceImpl to not close executor it does not created.
In other word it should not invoke shutdownNow() on an executor instance it does not created.
All the changes done in this PR rely on the usage of Phaser in order to be able to detect when task are no longer running so that SseEventSourceImpl .close(timeout,unit) can keep on working as specified.

Hi @jimma,
The method  SseEventSourceScheduler.awaitTermination(long timeout, TimeUnit unit) follows the exact same rule as ExecutorService.awaitTermination(long timeout, TimeUnit unit).
It means that it will return true only if a SseEventSourceScheduler.shutdownNow() has been invoked and if all tasks have completed execution before the timeout occurs.
So in our case suppose that T2 is a running thread executing line  https://github.com/resteasy/Resteasy/pull/1677/files/f8a2bdfc85831ad269e514f1de2e9c9bbdf9678c#diff-ef11a0ff038fff5fc91418bec89c4962R97. Since SseEventSourceScheduler.shutdownNow() has not been invoked yet registrationPhase is equal to 0.
So T2 will arrive at line https://github.com/resteasy/Resteasy/pull/1677/files/f8a2bdfc85831ad269e514f1de2e9c9bbdf9678c#diff-ef11a0ff038fff5fc91418bec89c4962R108 but without executing it and will be pause for thread scheduling purpose.
Now T1 invoke SseEventSourceScheduler.shutdownNow() successfully. So phaser now only has 1 party, I mean the one registered by T2. And even if scheduledExecutorService.shutdownNow() has been invoked, it still has a running task: the one running in T2.
So at this step a call to  scheduledExecutorService.awaitTermination(long timeout, TimeUnit unit) will never return true since T2 is not resuming.
So SseEventSourceScheduler.awaitTermination(long timeout, TimeUnit unit) should behave the same.
Thanks to phaser that what is done: this.phaser.awaitAdvanceInterruptibly(0, timeout, unit) will never return true since we are still at phase 0 because of the remaining party, the phaser is not terminated yet. It will return true once T2 will resume and finish as required.


Add tutorial for Cloudflare Workers with Deno (#754)

@LWJerri Make the same changes for the English version.

Why do you need another review? What should I pay attention to?

Yes, this is a community effort. If you're very sure and it's an obvious fix, I'm okay with you guys just fixing it up immediately.
Either way, even though I wrote most of this website, in the end it's @roj1512 who is in charge of making such decisions, doing final reviews, and merging.

@Nazar-Ant I think if it is backward-compatible, yes.

in the end it's @roj1512 who is in charge of making such decisions, doing final reviews, and merging.

Aka QA

@roj1512 I added line highlighting in https://github.com/grammyjs/website/pull/837/commits/33be5d48aae78310926e736b13a6dd63da089ed7


Add constants folder with imports and constants

Description
This Pull Request adds a "constants" folder to the project. The folder contains various constants and imports used throughout the application, which enhances code organization and maintainability.
Changes Made
In this PR, I have:

Created a new "constants" folder in the project's root directory.
Added constants for blog and CTA images as well as navigation links and footer links in the "index.ts" file within the "constants" folder.
Imported these constants into the relevant parts of the application where they are used.

Checklist

[x] The code follows the project's coding standards and style guidelines.
[x] The "constants" folder structure and naming adhere to project conventions.
[x] The code has been tested and verified to work as expected.
[x] Documentation or comments have been added where necessary to explain the purpose of the constants.

Additional Notes
You can review and test the changes in this PR. Please let me know if any further adjustments are required.

Additional optimization of the code, for better structure and semantics.

Thanks, brother.


ktlint upgrade and apply

Not for immediate landing.  So assuming we upgrade ktlint and want spotlessApply to ideally agree with Intellij kotlin formatting, there is some work to do.
With .editorconfig below, there is minimal diffs/reverts
[*.kt]
indent_size = 2

But without the above the changes between intellij formatting and spotless are large.
What is your current workflow?

Going to work on this a bit until I get it right
https://blog.jetbrains.com/idea/2019/06/managing-code-style-on-a-directory-level-with-editorconfig/
Want Intellij formatting and Spotless to agree.
TODO
Look at https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
continuation_indent_size
wildcard_import_limit
insert_final_newline
indent_size


test: e2e tests for autoCsp

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[X] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[X] Other... Please describe: E2E tests

What is the current behavior?
No e2e tests for https://github.com/angular/angular-cli/pull/28663
Issue Number: N/A
What is the new behavior?
e2e tests for https://github.com/angular/angular-cli/pull/28663
Does this PR introduce a breaking change?

[ ] Yes
[X] No

Other information

I assume target: patch or target: minor are both equally fine for this change?

Should be patch, this is released on 19.0.0.

The changes were merged into the following branches: main, 19.0.x


YOLOv3: Buffer has wrong number of dimensions

Sorry for all the issues opened recently 😄 No worries if you don't have time to look at this one.
Running with: Ubuntu 17.10, Python 2.7, Tensorflow-GPU 1.7.0, Nvidia K80
The following code:
import tensorflow as tf
import tensornets as nets

inputs = tf.placeholder(tf.float32, [None, 416, 416, 3])
model = nets.YOLOv3VOC(inputs)

img = nets.utils.load_img('cat.png')

with tf.Session() as sess:
    sess.run(model.pretrained())
    preds = sess.run(model, {inputs: model.preprocess(img)})
    boxes = model.get_boxes(preds, img.shape[1:3])

Produces this error:

ValueErrorTraceback (most recent call last)
 in ()
10     sess.run(model.pretrained())
11     preds = sess.run(model, {inputs: model.preprocess(img)})
---> 12     boxes = model.get_boxes(preds, img.shape[1:3])
/usr/local/lib/python2.7/dist-packages/tensornets/references/yolos.pyc in _get_boxes(*args, **kwargs)
177 def yolov3voc(x, is_training=False, scope=None, reuse=None):
178     def _get_boxes(*args, **kwargs):
--> 179         return get_v3_boxes(opts('yolov3voc'), *args, **kwargs)
180     x = yolov3(x, [1, 2, 8, 8, 4, 3], 75, is_training, scope, reuse)
181     x.get_boxes = _get_boxes
/usr/local/lib/python2.7/dist-packages/tensornets/references/yolo_utils.pyc in get_v3_boxes(opts, outs, source_size, threshold)
77         opts['anchor_idx'] = 6 - 3 * i
78         o = np.array(outs[i][0], dtype=np.float32)
---> 79         results = yolov3_box(opts, o)
80         for b in results:
81             idx, box = parse_box(b, threshold, w, h)
/usr/local/lib/python2.7/dist-packages/tensornets/references/darkflow_utils/get_boxes.pyx in tensornets.references.darkflow_utils.get_boxes.yolov3_box()
53 @cython.boundscheck(False) # turn off bounds-checking for entire function
54 @cython.wraparound(False)  # turn off negative index wrapping for entire function
---> 55 def yolov3_box(meta,np.ndarray[float,ndim=3] net_out_in):
56     cdef:
57         np.intp_t H, W, _, C, B, row, col, box_loop, class_loop
ValueError: Buffer has wrong number of dimensions (expected 3, got 2)

Any ideas? Same thing happens if I run with YOLOv3COCO

I think you are helping me now and I really appreciate your constant supports 👏. Don't be sorry @abagshaw.
As you know, YOLOv3 predicts at three different scales. Thus, the sess.run(model) must be replaced by sess.run(model.preds), which returns the different-scaled feature maps. I think I should write documents about this 😂.

README updated.


IREE dispatch profiler performance reporting

Support dumping the performance runs into a csv format. The IREE dispatch profiler does the following for now, let us know if this is enough close this issue.
$ python3 ../iree/experimental/dispatch_profiler/profiler.py --dispatches=matmul_3456x1024x2048_f16t_f16t_f16t_*_tensorcore_mmasync --verification-enabled=false --profiling-enabled=true --output=data.csv

The data.csv has following field and values for the above run:

Provider
op_kind
Operation
bytes
flops
batch_count
m
n
k
lhs
rhs
result
split_k_mode
split_k_slices
Tile config
Core class
Instruction class
Verification
Runtime(ms)
GFLOPs

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
128x256_32x3
tensorcore
mmasync
Not verified
0.062
233798.62

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
128x128_64x4
tensorcore
mmasync
Not verified
0.064
226492.42

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
128x128_32x5
tensorcore
mmasync
Not verified
0.062
233798.62

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
128x64_32x5
tensorcore
mmasync
Not verified
0.077
188253.44

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
64x64_64x5
tensorcore
mmasync
Not verified
0.101
143519.95

IREE Codegen
matmul
matmul_3456x1024x2048_f16t_f16t_f16t
25427968
14495514624
1
3456
1024
2048
f16t
f16t
f16t
N/A
N/A
64x64_32x10
tensorcore
mmasync
Not verified
0.103
140733.15

Archived description
The issue description is populated based on the below text that was originally found in https://github.com/openxla/iree/issues/13259.
Original text : "Modify IREE Distpach profiler to output results in a standard format, e.g. csv. We should choose something that can be converted readily to the format that our benchmark reporting can ingest."

@julianwa, @KoolJBlack , @mattwalsh let me know if this is sufficient for this issue to close?

Whats the purpose of the "Provider" column? Would we profile anything other than IREE codegen here?
Other than that, looks fine by me. Not sure if others have things to add.

We plan to add other providers for performance profiler e.g. Triton. If we can call CUTLASS or cuBLAS through python directly, we should add those to run as well based on some flag providers=<list of providers to run>. Additional providers is  helpful for comparing performance and fast functional verification. The current verification on large matmuls is slow as it runs via numpy on a CPU.

Looks like a nice improvement.  Sure looks parse-able to me.  Ok to close.


client.db_open gets stuck

Just pulled the master branch of pyorient 1.5.4 on 9/29/2016 and tried it against OrientDB 1.5.4.
Gets stuck on the db_open call forever. Distributed Database.
client.db_exists("testdb",pyorient.STORAGE_TYPE_PLOCAL)
True
client.db_open("testdb","admin","admin")
ctrl+c - output
^CTraceback (most recent call last):
File "", line 1, in
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/orient.py", line 379, in db_open
.prepare((db_name, user, password, db_type, client_id)).send().fetch_response()
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/messages/database.py", line 147, in fetch_response
_, decoded = self.get_serializer().decode(nodes_config)
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 75, in decode
chunk = self._parse_value(content)
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 236, in _parse_value
return self._parse_collection( content[1:] )
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 391, in _parse_collection
chunk = self._parse_value(content)
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 247, in _parse_value
elif c == '-' or self._is_numeric( c ):
KeyboardInterrupt
I have also see the exception being thrown sometimes as follows:
^CTraceback (most recent call last):
File "orienttest.py", line 14, in
client.db_open('admin', 'root', 'admin')
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/orient.py", line 379, in db_open
.prepare((db_name, user, password, db_type, client_id)).send().fetch_response()
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/messages/database.py", line 147, in fetch_response
_, decoded = self.get_serializer().decode(nodes_config)
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 75, in decode
chunk = self._parse_value(content)
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 236, in _parse_value
return self._parse_collection( content[1:] )
File "/usr/lib/python2.7/site-packages/pyorient-1.5.4-py2.7.egg/pyorient/serializations.py", line 393, in _parse_collection
content = chunk[1]
KeyboardInterrupt

I had the same issue. I think our issued are related:
https://github.com/mogui/pyorient/issues/215
I found a solution that works in distributed mode:
http://stackoverflow.com/questions/39121685/running-orientdb-in-distributed-mode-on-aws-does-not-work/39441873#39441873
It uses the binary serializer that is currently in development and it's faster than the CSV serializer.
It's important NOT to use first release of pyorient_native because it has a nasty memory leak.

Hi all,
only to explain the issue, OrientDB, changed the response for the list of nodes, before that change the node list was a serialized message like a normal resultset, now it is changed to binary and and there is no way to request the list of nodes in the previous format , so pyorient can not decode it and it crashes.
i must do further investigations, anyway i will try to fix this issue as soon as possible.

@anber500 what kind of message the csv parser does not handle?

@Ostico i think we should move to the binary serialization by default what do you think? we could ask @nikulukani to mergethe nativa serialization in the main project

It's been a few weeks but I think the csv serializer gets stuck on the "message" node in the packet.
I've been using the binary serializer for about 2 weeks now and it working great. Pyorient_native 1.1.1 had a nasty memory leak but pyorient_native 1.1.2 has been working without any problems. I don't have any benchmarks but I think the binary serializer feels much faster than the csv parser.

@vguhesan sorry bud, any reason for not closing this issue yet ?