Haproxy 1.8.5

After update Haproxy to 1.8.5 i found in graphics very strange metrics:

This module dosent support new haproxy?

you most probably have set "nbproc" to > 1, right? looking for a solution to this as well. it's possible to setup individual stat sockets for each processor, like
nbproc 3
stats socket /run/haproxy/sock1 user haproxy group haproxy mode 660 level admin process 1
stats socket /run/haproxy/sock2 user haproxy group haproxy mode 660 level admin process 2
stats socket /run/haproxy/sock3 user haproxy group haproxy mode 660 level admin process 3
but I'm not sure whether/how it is possible to use all three sockets in collectd.


Radial scale scriptable options

Adds scriptable options to the linear radial scale. Resolves #5147 and #7460
Supported Options

options.angleLines.color
options.angleLines.lineWidth
options.angleLines.borderDash (Does not support indexable options)
options.angleLines.borderDashOffset
options.gridLines.color
options.gridLines.lineWidth
options.gridLines.borderDash (Does not support indexable options)
options.gridLines.borderDashOffset
options.pointLabels.font
options.ticks.backdropColor
options.ticks.font
options.ticks.showLabelBackdrop

I did look into supporting options.ticks.backdropPaddingX and options.ticks.backdropPaddingY however it made the fit function overly complicated since the padding for the last tick needs to be known.
Sample Screenshots
Grid Lines

Angle Lines & Point Labels

Tick Font

You're just one line over the code climate's limit for # of lines
You could change:
		const angleRadians = scale.getIndexAngle(i);
		const angle = toDegrees(angleRadians);

To:
		const angle = toDegrees(scale.getIndexAngle(i));

And it would fix it

I noticed the way you documented the scriptable options. I like it. I think it'd be a good pattern to follow

Needs a rebase too!

Good catch on getValueAtIndexOrDefault. I've removed it entirely now 🎉

@etimberg did you want to fix the codeclimate warning before we merge this one? https://github.com/chartjs/Chart.js/pull/7471#issuecomment-640322656

@benmccann done! I had done it before, but must have gotten lost in the rebase


Dedupe after mutation.

My use case -
User clicks a button, I then want to prefetch the data, and store the data using the mutation api.
once i finished storing the data i trigger a state change that renders a component
That uses the results I just prefetched, using the useSWR hook.
The problem is that the useSWR triggers the request again(revalidates) ..
I think that the dedupe behavior should also take into account the mutations, and not only the hook calls. Meaning if i mutated a key in less than the time specified in the dedupe interval, a revalidation should be skipped.
What do you think?
Thanks in advance, loving the library :)

Hi @omerman, the mutate function has a third parameter shouldRevalidate. So you can pass false to turn off revalidation after mutating data:
mutate('key', newData, false)

@quietshu I'm familiar with the shouldRevalidate , I'll try to show a better example:

// Keep in mind this component will be rendered only after the search button is clicked.
// so it will trigger a revalidation.. but it is displayed right after I mutate the same key.. So I expected a dedupe to kick in..(a dedupe that will be set by the mutation side)
const SearchResults = () => {
  const results = useSWR('search-results', fetcher);

  return
{JSON.stringify(results)}
;
}

const Search = () => {
  const [loadingResults, setLoadingResults] = useState(false);
  const [displayResults, setDisplayResults] = useState(false);

  const search = useCallback(async () => {
         setLoadingResults(true);
         const searchResults = await getResults();
        mutate('search-results', searchResults, false); // hoping for this to add dedupe in case of someone using useSWR right after the mutate was finished.
       setDisplayResults(true); // SearchResults will be rendered now.
    }, []);

  return (

      {loadingResults ? 'Loading' : null}
      <button onClick={ () => mutate('search-results', nextData, false) }>Hi</button>
      <button onClick={ () => setDisplayResults(false) }>Clear</button>
      { displayResults && <SearchResults /> }

  )
}


LLVM opaque pointers support

Description
New LLVM versions require opaque pointers, that is you can no longer tell from a pointer value which data type it points to.

Remove deprecated GEP and op_load methods without type, and refactor code to always pass the type.
Add element type argument to op_scatter and op_gather.
Eliminate pointer type comparisons which no longer work with opaque pointers.
Some useful asserts to verify correct pointer types must unfortunately be disabled with opaque pointers.
Keep interactive params marked as uniform in batched analysis, so we can deduce uniform/varying correctly from just the symbol.
Enable opaque pointers on LLVM 16+.

OptiX opaque pointers might not be working yet due to the conversion inBackendLLVM::llvm_store_value between int64 and char*, where we can no longer compare the pointer type. This function is called from many places and it's unclear to me when this happens.
According to a4e779c4 this code is only temporary, so this may resolve itself as the ustring refactoring gets completed.
Tests
No new tests added, entire testsuite tests this.
Checklist:

[x] I have read the contribution guidelines.
[x] I have previously submitted a Contributor License Agreement.
[x] I have updated the documentation, if applicable.
[x] I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
[x] My code follows the prevailing code style of this project.

The pointcloud.batched and debug-uninit.batched CI failures I guess are a real issue to be solved.

OptiX opaque pointers were not tested yet and left disabled. It is likely broken due to the sneaky conversion in
BackendLLVM::llvm_store_value between int64 and char*, but we can no longer compare the pointer type. This function is called from many places and it's unclear to me when this happens.

In an upcoming PR, StringPhase3, we remove all type mutability for strings, its either a ustring_pod (char *) or a ustringhash_pod (int64).  So you might wait for that PR to flow in before this one as to be able to try and handle the situation above.

@brechtvl the changes to batched_analysis look good.  But you will want to rebase/resolve on main, as
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/1717
has been merged in which had changes in batched_analysis.cpp.
There is also another large pending PR
https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/1732
which might resolve (or be closer to) some of the Optix issues, as all the stores should be explicit ustring (const char *) or ustringhash (uint64_t)

I checked out this branch, rebased it myself and added minor fixups to address the merge conflict, and it all seems to work. In addition to passing CI (except for the MacOS 13 test which is broken for unrelated reasons), I confirmed that it works fine on my laptop with LLVM 15 (and thus with the opaque pointers enabled), as well as at work -- which used LLVM 14, so no opaque pointers, but at least that confirms that it doesn't break anything that worked before, including testing both batched and OptiX modes.
I wanted to update your tree for you to save you the work, and then approve the PR. But for some reason, GitHub won't let me push back to your branch, even though you have marked the PR as "Maintainers are allowed to edit this pull request."
I pushed it to my fork: https://github.com/lgritz/OpenShadingLanguage/tree/llvm-opaque-pointers
Brecht, if you want to grab it from there and fold it into this PR, I think we are ready to merge this, unless you think there is more work needed.

I made this PR match the branch in your fork now.
But, LLVM 15 + OptiX might be broken because of that remaining TODO. So I only enabled opaque pointers on LLVM 16+ now to be on the safe side.

I'm in favor of taking steps forward, even if not perfect. As long as we don't break anybody using LLVM 15 or older, anything that makes it work on 16+, even for some modes is forward movement. We can fix what's still missing in subsequent patches.

LGTM. Shall I merge?


Feature request: Indicate date/tag items were first introduced and last seen in the repo

It would be extremely useful to be able to see the date/tag items were first introduced and last seen in the repo.
I can see a few UI options:

Press "enter" to open a dialog detailing item info
Display current item's info on the bottom status line
Display current item's info along side on the same line
Display all visible item's info along side on the same line

(1) is probably more future proof as it will allow adding more info later if needed but is more "UI disruptive" and harder to implement
(2 and 3) are more usable might have issues with fitting with long filenames and smaller terminals
(4) Is most informative but will make UI very busy

I think being able to see the first and last snapshots (and the dates) where the file exists would be useful.
Possibly also the latest snapshot where the item is the biggest (the one where it has the size that the UI shows).
In terms of where to show this I'm not so sure.
I could see a combination of 1 and 4 with some caveats.
For (4), two columns could be added to the UI with "first seen" and "last seen" (X days/weeks/months ago), but they would be shown conditionally, depending on how wide the terminal is (with "last seen" probably taking precedence over "first seen").
In addition to the UI changes this feature requires keeping more info on disk (e.g. the snapshot timestamps and the first/last/biggest snapshot for each item)

1st, I understand that this feature would require more storage but I believe sqlite buit-in compression will make the impact minimal.
2nd, I agree with everything regarding UI and info precedence with limited screen estate.
3rd, I personally would prefer seeing actual dates than "x days ago". In addition I use human readable tags for snapshots like "hostname-2024-04-01" and would prefer to see those. Maybe adding a shortcut to alternate between those 3 options is the solution.

I've made some changes in PR #25 regarding storage in preparation for this.

Thank you for your much appreciated work!
While reading #25 I recalled that at some point I wished we had a "flat" UI mode.
By flat I mean a mode we could switch to, where all files in the repo are displayed in a flat list and sorted by size.
Their location can displayed in the status bar when selected.
Optionally it would be useful to be able to "enter" each file as if it was a directory and show it's parent directory with the file being pre-selected.
To make it more usable with big repos, it would make sense to load the list page by page or to limit the list to a fixed number of object.
This "flat" mode should probably have it's own issue but I though it might be useful to mention it here since the implementation can be related to this feature.
P.S.
I hope my "ideas/requests" are not "too much". Feel free to ignore them ;-)

As a first step, PR #36 adds a popup window where you can see some details about the currently selected item.
Feel free to try it and let me know what you think.
This is included in release 0.2.0.

Seems to be working great.
The only minor issue that there is no option to disable the pop-up.
Maybe pressing "Enter" again could remove it.

It can be disabled with Escape.
I should add that to the docs I suppose.


dbeaver connect sqlserver2008 error

trustServerCertificate value true can't modify false

System information:
deepin linux version:15.10
DBeaver <IP_ADDRESS>001051908
Java openjdk version "1.8.0_181"
Connection specification:
Database name and version: SQL Server 2008
Driver name: MS SQL Server / SQL Server
Do you use tunnels or proxies (SSH, SOCKS, etc)? No
Describe the problem you're observing:
Create a SQL Server connection ,I cannot modify Driving attribute trustServerCertificate value true to false

cannot reproduce an issue for now.
if it is still actual for you - feel free to reopen the ticket


Group description

Hi 👋,
We are 2 partners working on this project :

@anas599
@kensteph

Here is the link to our project :
Our project

Project Approved :trophy: :tada: 🟢
Hi @kensteph @anas599
Your project is complete!  You have done it exceptionally well. it's time to merge it :100:
Congratulations! 🎉
To Highlight :+1:
:heavy_check_mark: No linters error.
:heavy_check_mark: Details PR title and description.
:heavy_check_mark: Good commit messages.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification. You can also connect with me on slack

_As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


(NOT ABLE TO MERGE YET [see inside]) fix(@spartacus/core): use method GET to get a list of cms components …

#1033
NOT ABLE TO MERGE YET ---> Because it will break the develop branch
To be able to get a response, do the following:

point your environment to https://dev-com-2.accdemo.b2c.ydev.hybris.com:9002

Note our current environment do not have the new GET endpoint to get components by ids. These changes were released in wcms-module-19.05.0-M13

I put it in a new branch instead, therefore closing this one.  GH-2430


Forest background image doesn't load in IE11

After completing dungeon and switching to the forest the background image does not load.  You get a blue screen with the normal widgets.  Happens with both HTTP and HTTPS.  Reloading the page fixes this, but deleting the cache and switching via the in game UI consistently causes this issue.

Is this still a problem?
Can you include the OS version and a screenshot?
I didn't see any problems going between dungeon and forest on IE11 Win7.

Please reopen if you still see this.


COM Notebook: DaskJobExecutor: Failed to connect

Trying to reproduces results in the  COM notebook, got following:
executor = DaskJobExecutor(scheduler_uri="tcp://localhost:8786", is_local=True)

---------------------------------------------------------------------------
TimeoutError                              Traceback (most recent call last)
/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/comm/core.py in connect(addr, timeout, deserialize, connection_args)
    185                                           future,
--> 186                                           quiet_exceptions=EnvironmentError)
    187         except EnvironmentError as e:

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1132                     try:
-> 1133                         value = future.result()
   1134                     except Exception:

TimeoutError: Timeout

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
<ipython-input-15-4dcb2a5993da> in <module>()
----> 1 executor = DaskJobExecutor(scheduler_uri="tcp://localhost:8786", is_local=True)

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/libertem/executor/dask.py in __init__(self, scheduler_uri, client, is_local)
     13             if client:
     14                 raise ValueError("pass either client or scheduler_uri, not both")
---> 15             self.client = dd.Client(scheduler_uri, processes=False)
     16
     17     def close(self):

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/client.py in __init__(self, address, loop, timeout, set_as_default, scheduler_file, security, asynchronous, name, heartbeat_interval, serializers, deserializers, extensions, **kwargs)
    614             ext(self)
    615
--> 616         self.start(timeout=timeout)
    617
    618         from distributed.recreate_exceptions import ReplayExceptionClient

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/client.py in start(self, **kwargs)
    737             self._started = self._start(**kwargs)
    738         else:
--> 739             sync(self.loop, self._start, **kwargs)
    740
    741     def __await__(self):

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/utils.py in sync(loop, func, *args, **kwargs)
    275             e.wait(10)
    276     if error[0]:
--> 277         six.reraise(*error[0])
    278     else:
    279         return result[0]

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/six.py in reraise(tp, value, tb)
    691             if value.__traceback__ is not tb:
    692                 raise value.with_traceback(tb)
--> 693             raise value
    694         finally:
    695             value = None

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/utils.py in f()
    260             if timeout is not None:
    261                 future = gen.with_timeout(timedelta(seconds=timeout), future)
--> 262             result[0] = yield future
    263         except Exception as exc:
    264             error[0] = sys.exc_info()

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1131
   1132                     try:
-> 1133                         value = future.result()
   1134                     except Exception:
   1135                         self.had_exception = True

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1139                     if exc_info is not None:
   1140                         try:
-> 1141                             yielded = self.gen.throw(*exc_info)
   1142                         finally:
   1143                             # Break up a reference to itself

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/client.py in _start(self, timeout, **kwargs)
    825         self.scheduler_comm = None
    826
--> 827         yield self._ensure_connected(timeout=timeout)
    828
    829         for pc in self._periodic_callbacks.values():

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1131
   1132                     try:
-> 1133                         value = future.result()
   1134                     except Exception:
   1135                         self.had_exception = True

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1139                     if exc_info is not None:
   1140                         try:
-> 1141                             yielded = self.gen.throw(*exc_info)
   1142                         finally:
   1143                             # Break up a reference to itself

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/client.py in _ensure_connected(self, timeout)
    862         try:
    863             comm = yield connect(self.scheduler.address, timeout=timeout,
--> 864                                  connection_args=self.connection_args)
    865             if timeout is not None:
    866                 yield gen.with_timeout(timedelta(seconds=timeout),

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1131
   1132                     try:
-> 1133                         value = future.result()
   1134                     except Exception:
   1135                         self.had_exception = True

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/tornado/gen.py in run(self)
   1139                     if exc_info is not None:
   1140                         try:
-> 1141                             yielded = self.gen.throw(*exc_info)
   1142                         finally:
   1143                             # Break up a reference to itself

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/comm/core.py in connect(addr, timeout, deserialize, connection_args)
    193                 _raise(error)
    194         except gen.TimeoutError:
--> 195             _raise(error)
    196         else:
    197             break

/usr/local/anaconda2/envs/libertem/lib/python3.6/site-packages/distributed/comm/core.py in _raise(error)
    176         msg = ("Timed out trying to connect to %r after %s s: %s"
    177                % (addr, timeout, error))
--> 178         raise IOError(msg)
    179
    180     while True:

OSError: Timed out trying to connect to 'tcp://localhost:8786' after 10 s: in <distributed.comm.tcp.TCPConnector object at 0x7f78cc63f710>: ConnectionRefusedError: [Errno 111] Connection refused

I assume that the port might be simply closed. Or is it something more advanced?

So, this snippet of code may be a bit misleading:
if True:
    cluster = dd.LocalCluster(threads_per_worker=1)
    client = dd.Client(cluster)
    executor = DaskJobExecutor(client=client, is_local=True)
else:
    executor = DaskJobExecutor(scheduler_uri="tcp://localhost:8786", is_local=True)

The first branch (that is always executed via if True) creates a new local dask cluster, the second connects to an existing cluster. So unless you have a cluster running, only execute the first part.
You can also just use the new libertem.api - it creates a local cluster for you.

Ah, ok! I thought it is exactly opposite! Thanks!
I also have tried InlineJobExecutor() - it worked. What is it actually?

Here is a quick&dirty way to use the center-of-mass stuff as it is visualized in the web interface:

Let me know if this helps.
InlineJobExecutor is a non-parallel JobExecutor implementation - it just iterates over the partitions and processes them one after another.

The center of mass notebook was updated to use the new Python API in c7eee5c3b7846a9b83fb812e61ae9a76f3e22a88, so I'm closing this one.


Add more detailed notes about Inject and Join

Most of the writing is new, though some was moved from spec.md.

one comment, otherwise lgtm

Fixes #79


Payment is not working in Android - "Something went wrong, But we are on it."

Android - Credit/Debit Card payment is showing error screen in debug mode, not getting any response in onFailed or onSucceeded callback.

Android - Technical Error in release mode.
Working perfectly in iOS both debug and release.

Done


feat: add csv_attachment component

Hi 👋,
This commit follows the discussion in #260 (better late than never!). It implements the csv_attachment component to return data as a CSV file.
SELECT
    'csv_attachment' AS component,
    ';' AS separator,
    'todo.csv' AS filename;
SELECT * FROM todos;

It works, but it feels a bit hacky due to the use of is_embedded and Handlebars. Please feel free to make any changes, rename the component, or point me in the right direction.
If you like this implementation, I can add the component to the documentation.

Hi ! Thank you for the PR. Let's do it, the ability to efficiently download a CSV is a great addition.
Indeed, I think we should be able to do that without handlebars (using the csv library that we already include), and reuse the existing csv component name and parameters. This way the component downloads the csv directly when used in header position, and creates a download button when used in the middle of the page.
We will need to implement a mechanism to handle row-level parameters cleanly in header components (in HeaderContext), but it can then be reused for the json component

Hi (again),
I would love to reuse the csv component, but I'm concerned it might confuse users since the same component could either be used as a button or as an HTTP response. This new option would require two separate files — one for the download button and another for the endpoint. Is the the button as csv or button component now ?
For the handlerbars, that what I thought.
Can you provide the mechanism ? From what i understand, I may see a way to do it with the HeaderContext, but It not very clean as the body/stream is handle in this header section...
Moreover it might take some time cause i do not master rust as you do 😉

Hello @mtt-artis ! I just implemented the usage of csv as a header component, with efficient streaming of the csv file, and proper csv encoding and escaping.
I would be very grateful if you could test the latest version from master and give your feedback !

Hi @lovasoa 👋
Thank you for being so productive.
I ran some tests with a PostgreSQL database, and the results look accurate—they’re consistent with the JSON component’s output.
serial_col,bigserial_col,smallint_col,integer_col,bigint_col,decimal_col,numeric_col,real_col,double_col,money_col,char_col,varchar_col,text_col,bytea_col,date_col,time_col,timestamp_col,timestamptz_col,interval_col,boolean_col,uuid_col,inet_col,cidr_col,json_col,jsonb_col,jsonb_arr_col
1,1,32767,2147483647,9223372036854775807,99999.99999,99999.99999,3.4028234663852886e38,1.7976931348623157e308,,ZZZZZZZZZZ,ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ,Max Text Value,,9999-12-31,23:59:59,9999-12-31T23:59:59+00:00,9999-12-31T23:59:59+00:00,,true,,,,"{""max_key"":""max_value""}","{""data"":[""1"",""2"",""3"",1,2,3,[],{""max_key"":""max_value""},{}],""max_key"":""max_value""}","[""1"",""2"",""3"",1,2,3,[],{""max_key"":""max_value""},{}]"

vs
{"serial_col":1,"bigserial_col":1,"smallint_col":32767,"integer_col":2147483647,"bigint_col":9223372036854775807,"decimal_col":99999.99999,"numeric_col":99999.99999,"real_col":3.4028234663852886e38,"double_col":1.7976931348623157e308,"money_col":"","char_col":"ZZZZZZZZZZ","varchar_col":"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ","text_col":"Max Text Value","bytea_col":"","date_col":"9999-12-31","time_col":"23:59:59","timestamp_col":"9999-12-31T23:59:59+00:00","timestamptz_col":"9999-12-31T23:59:59+00:00","interval_col":"","boolean_col":true,"uuid_col":"","inet_col":"","cidr_col":"","json_col":{"max_key":"max_value"},"jsonb_col":{"data":["1","2","3",1,2,3,[],{"max_key":"max_value"},{}],"max_key":"max_value"},"jsonb_arr_col":["1","2","3",1,2,3,[],{"max_key":"max_value"},{}]

quote and escape options could be useful and are not yet included in the documentation.
I've noticed some differences compared to the Handlebars CSV version:

The filename automatically adds a .csv extension in the Handlebars version, which doesn’t happen in the stream version. https://github.com/sqlpage/SQLPage/blob/main/sqlpage/templates/csv.handlebars#L21

Handlebars version has a separator at the end of each line

Different option name: separator vs delimiter

"\t" as delimiter is not possible in the stream version

select
    'csv'                 as component,
    'test.csv'          as filename,
    '\t'                    as delimiter,
    '?'                     as quote,
    TRUE                as bom;
select * from all_data_types;

An error occurred before starting to send the response body: Invalid csv delimiter: "\t". It must be a single byte.

The fact that this query outputs a valid csv is super cool 👍
select
    'csv'              as component,
    'Download my data' as title,
    'test.csv'       as filename,
    'file-download'    as icon,
    'green'            as color,
    TRUE               as bom;
select * from all_data_types;
select bigserial_col from all_data_types;

Thanks for the feedback! I'll try to fix the inconsistencies.
For the tab separator, I think the problem comes from your query: in sql \t represents a literal backslash followed by a literal T.  You can produce a backlash with a literal single tab character in single quotes, or using E-strings:  https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE

For the tab separator, I think the problem comes from your query: in sql '\t' represents a literal backslash followed by a literal T. You can produce a tab with a literal single tab character in single quotes, or using E-strings: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE

You're right !
The query below works for both handlebars and top component 👍
select
    'csv'              as component,
    'Download my data' as title,
    'test.csv'       as filename,
    'file-download'    as icon,
    'green'            as color,
    E'\t'               as separator,
    E'\t'               as delimiter,
    TRUE               as bom;

Another minor inconsistency is that errors in the Handlebars version return an empty file, whereas the CSV stream returns ""\n.


Azure-cli version 2.12 not availible in brew as formula on mac

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

brew upgrade azure-cli
Warning: azure-cli 2.11.1 already installed

Eventhough current version is 2.12
We work with apim and needs to use cli to import functions api to apim but it fails in version 2.11 so hopefully it will work in 2.12
To Reproduce
Brew formula for 2.12 not availible
Expected behavior
When updating azure-cli please add version to brew
Environment summary
Mac OSX

we're blocked by merging of PR https://github.com/Homebrew/homebrew-core/pull/61520 at homebrew side, it's closed now. Hopefully it will available soon. @fengzhou-msft  to share latest update.

@stefje-nd 2.12.0 is available now for homebrew. You can run az upgrade to update.


Update helm-install page to reference 1.0.0

Not sure how this happened but the helm-install page still references 0.19.x in. command examples.  Fix this!

Whoops, the 1.0.0 docs correctly use 1.0.0 in code examples.  The confusion arose from someone looking at the top-leve "Installation" section in the docs, which is the doc for the 0.x.x releases.  So no action required here.


Kanban Board setup

Team Composition and Repository Link
Description:
Our team comprises two members @Chaseknis and @RaphDasilva, and we would like to provide the necessary information regarding our repository.
Project Link:
Here's our Project link

Hi team,
STATUS: INVALID REQUEST ❌ ❌
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that does not include a link to your GitHub project, please attach a link to the Kanban board you set up not the repo 😄
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Thank you @mckent05 Fixing it now

Hi Team,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 💯

Descriptive info ✔
Tasks distributed equally ✔

Optional suggestions
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thank you @gemmen29


Uncaught Error: EACCES: permission denied, open '~/Projects/kitchenstore/vendor/cache/gems/minite...

[Enter steps to reproduce below:]

...
...

 You tried to use auto-encoding-for-ruby on a file that your user didn't have read permissions for, use chmod to fix the permissions and then retry.

Thanks a lot. I have just started learning. Thats why
Regards,
Sunil Ghorpade
+91-9922298533
On Mon, Sep 19, 2016 at 11:35 AM, Zakwan Alhajjar<EMAIL_ADDRESS>wrote:

I think the error is pretty obvious. You tried to use
auto-encoding-for-ruby on a file that your user didn't have read
permissions for, use chmod to fix the permissions and then retry.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zakwanhaj/auto-encoding-for-ruby/issues/3#issuecomment-247916278,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGlJQhmDWHTyHA4NvuBqauSxw-HpxUSoks5qriZFgaJpZM4KAIQB
.

No worries..


fix: paddingTop problem for multiline TextInput

Summary:
Fixed: #41773

Changelog:
[GENERAL] [FIXED] - not applying multilineInput when props's style has paddingTop related style

Test Plan:

Still failing with same error. I think because style is reassigned later, so its type is not the flattened version.

Thank you for notify!
I wanna investigate it , but I'm struggling to use flow in my editor....

style is reassigned later, so its type is not the flattened version.

I tried removing reassign codes, but got flow error still ... 🤔

@NickGerleman
I resolved the flow error by adding a type annotation to flattenStyle.
I also remove the reassigned code.
(I think I can remove other $FlowFixMe by using a type annotation to flattenStyle. I wanna make other PR to do that.)

Hi, I would like to open this issue again, I'm using React Native 0.73.6 and currently facing this old issue
It seems to be back, so can this issues be investigated ?
Do I need to open a new issue ?


Resetting the Maxplayers, not listening to Arkmanager.cfg and main.cfg

upon serverstart, it changes the Maxplayers to 70, as if it weren't caring about anything. I have set the Maxplayer to 10 in the Gameusersettings, the Arkmanager and the instance.cfg(main) but it disregards any changes i do. I tried changing it with the gedit and with sudo nano, rewrote the whole section in gedit or nano and even created a new Gameusersettings, but it still returned to Maxplayers=70. Making Gameusersettings Read-only doesn't work either.
Someone knows how to get this to stop? It seems like many have that problem but noone has a usable solution

@Stray-Fenris @klightspeed
Looks like PID: 10807 sent sigkill based on "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}" ??
I get the "line 1096:" error on mine but it reads like this:
line 1096:  6793 Aborted                 (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}" and my servers stay online with no issues.

I have exactly the same issue as this, MaxPlayers-40 in .arkmanager.cfg and instances/arkinstance.cfg and  GameUserSettings.ini.
Spent most of the day trying to figure this out, I'll post my configs here, it would be extremely appreciated if I could get some help with this, almost pulling hair out!
.arkmanager.cfg
https://pastebin.com/fg99XYsU
/instances/aberration.cfg
https://pastebin.com/FdgVJ6ap
UserGameSettings
https://pastebin.com/3xMgSL27
^Herein lays the problem, I can edit and save the MAX players to 40, but no matter what.. it always reverts to 70.
Running /home/ark/arkservers/Aberration/ShooterGame/Binaries/Linux/ShooterGameServer Aberration?RCONEnabled=True?RCONPort=32331?Port=7778?QueryPort=27016?ServerAdminPassword=****?MaxPlayers=40?ServerPVE=False?DifficultyOffset=1?AllowAnyoneBabyImprintCuddle=true?AllowCrateSpawnsOnTopOfStructures=true?bAllowUnlimitedRespecs=true?DestroyUnconnectedWaterPipes=true?EnableExtraStructurePreventionVolumes=true?PreventOfflinePvP=true?PreventOfflinePvPInterval=900?PvPDinoDecay=true?PvPStructureDecay=true?UseOptimizedHarvestingHealth=true?bRawSockets=false?ServerCrosshair=false?alwaysNotifyPlayerJoined=true?ShowMapPlayerLocation=true?XPMultiplier=2.0?TamingSpeedMultiplier=4.0?HarvestAmountMultiplier=2.0?HarvestHealthMultiplier=1.0?bUseCorpseLocator=true?AdminLogging=true?ResourceNoReplenishRadiusPlayers=0.5?ResourceNoReplenishRadiusStructures=0.5?PerPlatformMaxStructuresMultiplier=1.5?GameModIds=731604991,764755314,749466101,1091147617,741203089,817911158,670764308?RCONServerGameLogBuffer=600?ServerPassword?listen -ClusterDirOverride=/home/ark/arkservers/clusterdata -NoTransferFromFiltering -servergamelog -clusterid=PlayG
Any help would be greatly appreciated.

Also look at /var/log/apport.log. I may have more info on the cause.


Add Photon Sailor from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of FreeThinker, to add Photon Sailor to CKAN.
Mod details:
name = /mod/1895/Photon%20Sailor
author = FreeThinker
abstract = Photon Sailor aims to create a realistic photon-sailing experience in KSP. A photonsail, also known as solar sail or laser sail, allows a spacecraft to propel itself using radiation pressure from the sun, removing the need to carry any reaction mass, and simply using the deflection of photon energy to provide thrust.
license = GPLv3
Homepage = https://forum.kerbalspaceprogram.com/index.php?/topic/176144-131144-photon-sailor/&tab=comments#comment-3404474
description = This mod aims to create the most realistic photon-sailing experience possible.
A photonsail, also known as solar sail, allows a spacecraft to propel itself using radiation pressure from the sun, removing the need to carry any reaction mass, and simply using the deflection of photon energy to provide thrust. The acceleration gained from solar radiation is extremely small, but can be applied over a long period of time to reach extremely high speeds, given a large enough sail and a payload of low mass. Besides being propelled by the photons emitted by the sun, it can also be propelled by photons emited by beamed power transmitters.
Photon sails function both under real time as and  non-physical timewarp, allowing for them to be useful for interplanetary travel. Photon must operate mainly outside the proximity of atmospheres which due to their large sail surface area are much subject to the effects of drag which are accurately simulated.
To help you with altitude control, the part interface contains several useful indicators like Periapsis, Apapsis and Orbital Diameter Change
Please direct questions about this pull request to FreeThinker.

This was done in #6608.


Create all sky maps at different resolutions

During the GU workshop, it seems that multi-resolution precomputed maps would be useful

We now have a DR3SelectionFunctionTCG_multi class where the map has variable resolution from healpix order 7 to 10. I added an example in the docs notebook, comparing it to the hpx 7 map. Going finer starts making the precomputed map file quite big, while the improvement is only limited to very specific parts of the sky.
Note that at this stage we now have three classes for three types of maps:

DR3SelectionFunctionTCG_multi  precomputed healpix orders 7-10
DR3SelectionFunctionTCG_hpx7 precomputed healpix order 7
DR3SelectionFunctionTCG_from_patch  created on the fly for a small region, going as deep as order 12 if density permits

They all use the same .query() method. It was suggested during the workshop that we could use one class with keywords, instead of three distinct classes.

You can also implement an abstract class which contains the query() method and then have three subclasses that allow the user to select which variant to use. So you would still have three distinct classes but all using the same query() which is only coded in one place.


Visual Studio crashes on exception.

I'm trying to use generators with harmony enabled. When I try to run the program from Visual Studio it crashes with this error. If I run it directly from node at the command-line it doesn't give me any errors. I don't seem to be able to catch this exception.
events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: read ECONNRESET
    at exports._errnoException (util.js:746:11)
    at TCP.onread (net.js:559:26)

That's no good. Would you mind providing some simple repro code?
I tried with the following (with --harmony and --use_strict flags), and no dice.
var argumentsIterator = argumentsGenerator('a', 'b', 'c');

// Prints "a b c"
console.log(
    argumentsIterator.next().value,
    argumentsIterator.next().value,
    argumentsIterator.next().value
);

function* argumentsGenerator() {
    for (let i = 0; i < arguments.length; i += 1) {
        yield arguments[i];
    }
}

And just to be clear... you mean the program that Visual Studio is running crashes... not Visual Studio itself, right?

Any updates on this issue, or are you still blocked?

closing this as no repro since we haven't heard back, but happy to re-open if you're still running into it.

This is now happening to me when I use node-inspector to attach to


Track kills per map ?

Hi,
I have a similar issue. My kill command result does not have the comma as thousands seperator. Each time i finish a map, I get 0 kill.
Do you need more info? Is this a bug?
Discussed in https://github.com/Lailloken/Lailloken-UI/discussions/120

Originally posted by GrimDawn-max November 12, 2022
Could you add a feature that tracks kills per map and include it in the loot stats export file. The stat exists manually of course via the /kills command but you also have to remember to execute it before you kill anything in a map and again at the end so an automated way to do so would be handy.

Can you upload a screenshot of when you first click the flashing timer after entering a new map, and another one of when you click it again after exiting a map?

Huh, that's interesting. Which language settings are you using in Windows (just out of curiosity)?
You can download this dev-version which should fix this issue. It also changes how the kill-tracker is started: instead of clicking the flashing timer, there will be a reminder-tooltip asking you to press the omni-key to activate the first /kills command.
There is no documentation of further changes at the moment, but I don't think there was anything major (it's been a while since I have worked on it because I suddenly lost interest in the league and took a break).

French (Canada).

Still 0 kills

Then it's probably using a character as thousands separator that's not rendered in the chat-box.
I have updated the dev branch again, this time with a fix that should universally solve this issue.

Yup, it's fixed now. Got a nice drop with it too :)


Minimum number of connections

Issues

https://github.com/SushiCoinHQ/SushiCoin/issues/64

@kingsleyh Please review and merge this PR if it's OK!

When I start 3 nodes: 3000 (standalone), 3001, 3002, 3003 (all pointing at 3000) - when each node has a conn_min=20
The first thing is - node 3003 on startup - says it connected to the 3000 ok, then it says the current connection 1 is less than 20 - so searches for nodes - and it finds 2 - 3002, 3003 which it says it's connecting to - however it only says successfully connected to 3002. Then it says current connection (2) is less than 20 - and it searches but again receives 3001 - which is says it's connecting to - but I never get a successful connection message
This seems like something is not working quite right.

3000 is 09f980072570e59fd94311f03c8e66d5
3001 is 411b6f2399bd6ace59a57f931bf7c7ef
3002 is 0600e7ee42edd756798c39cadf1437bd
3003 is 7ee2efec4adf4c27b685412784dea1c3
The second thing is that - even though 3001 wants a min of 20 - when it starts up there is only the primary on 3000 which it connected to. But when I add 3002, and 3003 - the node 3001 does not get updated about these - so it never adds them unless node 3001 is restarted. I think it would be nice if a new node would be able to be picked up by already running nodes somehow
The third thing is that - the primary node (3000) is never searching for connections - even though I specified min of 20 - maybe this is because it's the standalone one - not sure if that is right or not.

Actually regarding the second issue - node 3002 did receive a new node notification when 3003 was added, however 3001 did not.

The first thing is - node 3003 on startup - says it connected to the 3000 ok, then it says the current connection 1 is less than 20 - so searches for nodes - and it finds 2 - 3002, 3003 which it says it's connecting to - however it only says successfully connected to 3002. Then it says current connection (2) is less than 20 - and it searches but again receives 3001 - which is says it's connecting to - but I never get a successful connection message

May be you did a typo at here

localhost
locahost

But it seems there is no error message. That's my bad. Will fix it.

The second thing is that - even though 3001 wants a min of 20 - when it starts up there is only the primary on 3000 which it connected to. But when I add 3002, and 3003 - the node 3001 does not get updated about these - so it never adds them unless node 3001 is restarted.

That's a known thing for me since requesting new node list to others are triggered only when some node has been disconnected.
--conn_min only guarantees the number of first connections (and it's lazy), in this case, there are few nodes less than 20. So it give up to search them during the first phase.
If every node shares every node contexts and status, that's not p2p.
May be it is a not problem of the implementation but of the document. I will fix the docs.

Actually regarding the second issue - node 3002 did receive a new node notification when 3003 was added, however 3001 did not.

Same as first one.

new tasks

[ ] Fix --conn_min option's document

I will work on detecting invalid public address at here. https://github.com/SushiCoinHQ/SushiCoin/issues/68
So let me fix it in the future.

Ah yeah I totally did a typo!! Still not awake yet!!!

Great work :)


Triplet sum

Description 📜
It find if there is a triplet in array whose sum is equal to the given value.

Domain of Contribution 📊

Documentation

[x] C/CPP

/assign

please assign this to me


CPU spikes

ISSUE TYPE

Bug Report

Telemetry Streaming BUILD/ VERSION

f5-telemetry-1.6.0-1.noarch.rpm
BIGIP VERSION

Main Package
Product     BIG-IP
Version     <IP_ADDRESS>
Build       0.0.5
Edition     Point Release 5
Date        Tue May 14 11:15:38 PDT 2019
SUMMARY

I start getting CPU spikes on both LTMs where I installed f5-telemetry package. It happening every 20 hours and last around 1-2 hours. CPU reaching 90%
I only enabled systemPoller with interval 60 seconds, Listener (that probably not used, since I am not sending any syslog data in it) and http consumer.
I see following in the log:
restjavad.log:
[I][1075230][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075231][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075232][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075233][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075234][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075235][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075236][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075237][30 Sep 2019 13:22:39 UTC][ProcessManager] Maximum child processes of 3 has been reached
[WARNING][1075238][30 Sep 2019 13:22:56 UTC][8100/shared/iapp/build-package BuildRpmTaskCollectionWorker] Failed to execute the build command 'rpmbuild -bb --define '_tmppath /shared/tmp' --define 'main /var/config/rest/iapps/f5-telemetry' --define '_topdir /var/config/rest/node/tmp' '/var/config/rest/node/tmp/12611861-b874-482d-bf9c-9d51a8be49c7.spec'',  Threw:com.f5.rest.workers.shell.CommandExecuteException: Command execution process killed
at com.f5.rest.workers.shell.ShellExecutor.finishExecution(ShellExecutor.java:282)
at com.f5.rest.workers.shell.ShellExecutor.access$000(ShellExecutor.java:34)
at com.f5.rest.workers.shell.ShellExecutor$1.onProcessFailed(ShellExecutor.java:321)
at org.apache.commons.exec.DefaultExecutor$1.run(DefaultExecutor.java:203)
at java.lang.Thread.run(Thread.java:748)
[I][1075242][30 Sep 2019 13:23:35 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075243][30 Sep 2019 13:23:35 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075244][30 Sep 2019 13:23:35 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075245][30 Sep 2019 13:23:35 UTC][ProcessManager] Maximum child processes of 3 has been reached
[I][1075246][30 Sep 2019 13:23:35 UTC][ProcessManager] Maximum child processes of 3 has been reached
But time does not match with CPU spikes.
I don't see anything interesting in var/log/restnoded/restnoded.log
Looks like some CPU heavy process got scheduled periodically.
STEPS TO REPRODUCE

{
    "message": "success",
    "declaration": {
        "class": "Telemetry",
        "My_System": {
            "class": "Telemetry_System",
            "systemPoller": {
                "interval": 60,
                "enable": true,
                "trace": false,
                "actions": [
                    {
                        "setTag": {
                            "tenant": "`T`",
                            "application": "`A`"
                        },
                        "enable": true
                    }
                ]
            },
            "enable": true,
            "trace": false,
            "host": "localhost",
            "port": 8100,
            "protocol": "http"
        },
        "My_Listener": {
            "class": "Telemetry_Listener",
            "port": 6514,
            "enable": true,
            "trace": false,
            "match": "",
            "actions": [
                {
                    "setTag": {
                        "tenant": "`T`",
                        "application": "`A`"
                    },
                    "enable": true
                }
            ]
        },
        "My_Consumer": {
            "class": "Telemetry_Consumer",
            "type": "Generic_HTTP",
            "host": "x.x.x.x",
            "protocol": "http",
            "port": 5000,
            "path": "/test",
            "method": "POST",
            "headers": [
                {
                    "name": "content-type",
                    "value": "application/json"
                }
            ],
            "enable": true,
            "trace": false
        },
        "schemaVersion": "1.6.0"
    }
}

EXPECTED RESULTS
no cpu spikes :)
ACTUAL RESULTS

cpu spikes

my declaration JON looks like:
{
"class": "Telemetry",
"My_System": {
"class": "Telemetry_System",
"systemPoller": {
"interval": 60
}
},
"My_Listener": {
"class": "Telemetry_Listener",
"port": 6514
},
"My_Consumer": {
    "class": "Telemetry_Consumer",
    "type": "Generic_HTTP",
    "host": "x.x.x.x",
    "protocol": "http",
    "port": 5000,
    "path": "/test",
    "method": "POST",
    "headers": [
        {
            "name": "content-type",
            "value": "application/json"
        }
    ]
}

}

just an update, the process that leading during CPUspikes is tmm.0

@nvitaly Just to confirm, you are not seeing the CPU spike when Telemetry Streaming is not installed on the BIG-IP, right? If you start removing parts of the declaration, such as the consumer, or listener, do you see the CPU spike go away?

I have two separate LTMs, both did not have spikes previously and now got very visible one every 20 hours.
I removed the plugin from one of them to see if it help but need to wait. I will try to disable declarations one by one. I will take a couple of days probably.
I will update you.

the issue with CPU start happening when I enable:
"My_System": {
"class": "Telemetry_System",
"systemPoller": {
"interval": 60
}
}
If I remove it, it stop happening.
CPU spike is high and long (99% for a few hours) there is no way we can enable this in production. If you need help with investigating let me know. but the issues is easy to replicate.
Thank you

Thank you for the additional information. I have created AT-852 in our internal product backlog to track this issue.

Closing for inactivity.


Parse only body params

The documentation only features an example about request body parsing, which parses the whole body into one object: https://spider-gazelle.net/getting_started/#body-parsing
Is it possible to parse the body into separate parameters?
E.g. take this request body:
{
  "username": "admin",
  "password": "secret password"
}

I want to serialize it similarly to this:
class LoginController < AC::Base
  @[AC::Route::GET("/login", parse_body_params: true)]
  def login(username : String, password : String)
    # …
  end
end

Unfortunately no, as it's not simple to map the body contents or parse the function params and then generate documentation.
But you can do the following:
class LoginController < AC::Base
  struct Login
    include JSON::Serializable

    @[JSON::Field(format: "email")]
    getter username: String

    @[JSON::Field(min_length: 6)]
    getter password: String
  end

  @[AC::Route::POST("/login", body: auth)]
  def login(auth : Login)
    auth.username
    auth.password
  end
end

which I don't think is too onerous, and outputs very descriptive documentation


Rdm 4773

Please remove this line and everything above and fill the following sections:
https://tools.hmcts.net/jira/browse/RDM-4773
could not execute statement could not execute statement ERROR: value too long for type character varying(70), show which definition file is invalid to import.
Does this PR introduce a breaking change? (check one with "x")
[X] Yes
[ ] No

The following sheets do not have validation for the mentioned columns:
CaseField - FieldType and FieldTypeParameter
ComplexType - ID and FieldType
EventToComplexType - ID
CaseEventToField - PageID
These sheets have no validation:
UserProfile
AuthorisatonCaseType
AuthorisationCaseField
AuthorisationComplexType
AuthorisationCaseEvent
AuthorisationCaseState


changes the OWNERS file

Overriding all the labels, this is only updating owners
/test e2e

/test e2e

/test e2e

/retest

/retest

/retest


Slider Display Issues

Slider does not always display.  Appeared to not display if Explore page was loaded first.  Going to About then back to Explore made the slider images appear.
Missing:

Managed to duplicate this on first load of the Explore page on my laptop. Refreshing the page made the slider appear. I'm guessing the jCarouselLite script isn't loading in time or something?

Fixed as of affc4d0f14a44d6539cfed662c3320c61dd50de2 by fixing the height of slider list elements.


feat: use of the colour red in the UI - user nicabar

UI/UX - When minting max five realms, many red-colored actions pop up with what is going on. This outcome feels jarring and too much in your face.
UI/UX - Red does not feel like the “right” color for actions that need attention (I get the reason, but the first impression is ALERT and something is WRONG)
UI/UX - Too much RED color (FYI I love the color red) If the red is a placeholder until more visual cues can be added, great, but if it's a color choice for buttons, then nope.
UI/UX - When constructing a castle, I need more clarification on how and what to do. Sign For (I) Command but can't click the button (currently, I’m being trained that red means I can click, but learning that not all red. If red is not bright red, maybe I cant click.
UI/UX - The red lines are neat, but I would like the option to turn off others. The option to filter which users to see could be interesting. I will need more context before making suggestions, but for now, toggling to see only where I am traveling and who is traveling to me would be helpful.
Again too much red, and the lines feel too strong of a stroke line. A lower alpha value and make the lines more transparent. Red lines for enemy troops coming to your castle another color for your troops traveling to a castle.

nicabar has a file: https://docs.google.com/document/u/0/d/1xy05Dtpyx51y99JPRjR7jRnhWNi9OSqVnJHV6SwWi4c
I will be grouping some of his feedback and putting it into feature requests.

@Amaro-Koberle thoughts?

@Amaro-Koberle

@Amaro-Koberle please add your thoughts, either make new issues about comments or close

@ponderingdemocritus So sorry, only saw this now, haven't checked my email notifications in a minute. Yes, I agree with the sentiment. Red is a tricky primary colour because it is usually used to signal alert, especially the warm shade of red that we use. It's not like you can't get away with it (Netflix and AirBnB are examples), but there are good reasons to choose something that doesn't look like an alert.
I have suggested to you in a private chat once before that we change the primary color to a green because snakes are a central part of the branding of Eternum. Here again, probably better to avoid signal green (bright and saturated) and go for something more muted (#507044 for example).
My prefered option, also mentioned before elswhere, is to consistently apply the following rule across the board in the whole atlas:
If you can click it, it's golden, if you can't click it, it's not.

Something like that. I think we can close this. Will open another issue specifically about the button colors.


Something wrong with xdm option Typescript types

"esbuild": "^0.12.20",
"mdx-bundler": "^5.2.1",
"remark-gfm": "^2.0.0",
"typescript": "^4.3.5",

node 16.6.2
npm 7.20.3

Relevant code or config
import { bundleMDX } from "mdx-bundler";
import remarkGfm from "remark-gfm";
import { compile } from "xdm";

const source = `# hello world`;

async function main() {
  const { code } = await bundleMDX(source, {
    xdmOptions: (options) => {
      options.remarkPlugins = [remarkGfm];
      return options;
    },
  });

  const output = await compile(source, {
    remarkPlugins: [remarkGfm],
  });
  console.log(code);
  console.log(output);
}

main();

What you did:
I've upgraded remark-gfm to 2.0.0.
Not sure if it's related but the package is now only exporting ESM.
What happened:
Nothing has changed while using it with xdm but using it with mdx-bundler something must be wrong with the definition of xdm options and Typescript is not happy about it.
Type '(options?: void | Options | undefined) => void | Transformer<Root, Root>' is not assignable to type 'Pluggable<any[], Settings>'.
  Type '(options?: void | Options | undefined) => void | Transformer<Root, Root>' is not assignable to type 'Plugin<any[], Settings>'.
    Type 'void | Transformer<Root, Root>' is not assignable to type 'void | Transformer'.
      Type 'Transformer<Root, Root>' is not assignable to type 'void | Transformer'.
        Type 'Transformer<Root, Root>' is not assignable to type 'Transformer'.
          Types of parameters 'node' and 'node' are incompatible.
            Property 'children' is missing in type 'Node<Data>' but required in type 'Root'.

Reproduction repository:
https://github.com/mtt87/ts-issue-mdx-bundler
Suggested solution:
I'm not sure I checked xdm options and they use the type
type CompileOptions = CoreProcessorOptions & PluginOptions & ExtraOptions

I tried to change in the mdx-bundler types definition
xdmOptions?: (options: CoreProcessorOptions) => CoreProcessorOptions
// changed to
xdmOptions?: (options: CompileOptions) => CompileOptions

But the error is still there

Okay this was quick, I just noticed 6.0.0 has been released and this issue is fixed 🎉
Thank you 😄


Ordering problem in VIP rules

Vip L7 rules is ordering by alphabetical order instead of numerical order. For example, rule number "10" is being evaluated before rule number "2".

Hello @marcusgc,
Can you assign it for me? Thank you :)


Creating a screenshot while rendering results in a segfault.

When using CPU-Rendering (not tested in Cuda mode) creating a screenshot while rendering results in a segfault.

We call generateImageWH() in make_screenshot() while the image generation of renderLoop() is still running. This replaces the threads in our threadlist resulting in a segfault.
This should be fixable by either locking the threadlist until one rendering job is finished or by creating a local threadlist in generateImageWH().


Incorrect AUDIENCE

Issue found in Layer for packager function:
The AUDIENCE variable in awsscv > sf_config.py is set to login.salesforce.com
AUDIENCE = 'https://login.salesforce.com'
This causes issue while getting an authentication token if the solution is getting installed in a sandbox.
For sandbox, it should be test.salesforce.com
Hence this should be made dynamic based on the environment.

I'll be rolling out a fix for this issue in the next few days.

Fix has been applied.


Bluetooth: Controller: Fix per adv scheduling issue

sw_switch implementation uses two parallel groups of
PPIs connecting radio and timer tasks and events.
The groups are used interchaneably, one is set for
following radio TX/RX event while the other is in use
(enabled).
The group should be disabled by timer compare event that
starts Radio to TX/RX a PDU. The timer is responsible for
maintenance of TIFS/TMAFS. The disabled group collects
all PPIs required to maintain the TIFS/TMASF. After
the time is reached Radio is started and the group is
disabled. It will be enabled again by software radio
swich during next call.
If the group is not disabled then it will work in parallel
to other one. That causes issues in correct maintenance of
instant when radio shoudl be started for next TX/RX  event
e.g. radio may be enabled to early.
In case the PHY CODED was enabled and periodic advertising
included chained PDUs, that are transmitted back-to-back,
there was missing group delay disable. The missing case was
sw_switch function called with dir_curr and dir_next set
to SW_SWITCH_TX.
Signed-off-by: Piotr Pryga<EMAIL_ADDRESS>

Thanks for creating an issue @ppryga !

@cvinayak - please take a look


[protobuf] update to v3.17.3

Library name: protobuf repo
New version number: v3.17.3
Other information that may be useful (release notes, etc...)
See https://github.com/protocolbuffers/protobuf/releases/tag/v3.17.3
The version on vcpkg is a few versions behind at the 3.15.x series.

Please update to v3.18.0 https://github.com/protocolbuffers/protobuf/releases/tag/v3.18.0.


xilem_classic: deps: Require current futures-task

Previously, this depended only on version 0.3, which had a advisory issued for it.

This will clear the "maybe insecure" status that deps.rs reports.


[FLINK-1658] Rename AbstractEvent to AbstractTaskEvent and AbstractJobEvent

deleted AbstractEvent in org.apache.flink.runtime.event.job
(see comment section in https://issues.apache.org/jira/browse/FLINK-1658)

Any objections to merging this?

No, +1.

+1


Getting type 'Null' is not a subtype of type 'Map<String, dynamic>' on the example code

Hello, i have a little problem.
I've copied the example script from here : https://pub.dev/packages/spotify/example , just i've kept only the search section. None of the code is changed. Everything is original.
My code is :

  var credentials = SpotifyApiCredentials('id','secret');
  var spotify = SpotifyApi(credentials);

  print("\nSearching for \'Metallica\':");
  var search = await spotify.search
      .get('metallica')
      .first(2)
      .catchError((err) => print((err as SpotifyException).message));
  if (search == null) {
    return;
  }
  search.forEach((pages) {
    pages.items!.forEach((item) {
      if (item is PlaylistSimple) {
        print('Playlist: \n'
            'id: ${item.id}\n'
            'name: ${item.name}:\n'
            'collaborative: ${item.collaborative}\n'
            'href: ${item.href}\n'
            'trackslink: ${item.tracksLink!.href}\n'
            'owner: ${item.owner}\n'
            'public: ${item.owner}\n'
            'snapshotId: ${item.snapshotId}\n'
            'type: ${item.type}\n'
            'uri: ${item.uri}\n'
            'images: ${item.images!.length}\n'
            '-------------------------------');
      }
      if (item is Artist) {
        print('Artist: \n'
            'id: ${item.id}\n'
            'name: ${item.name}\n'
            'href: ${item.href}\n'
            'type: ${item.type}\n'
            'uri: ${item.uri}\n'
            '-------------------------------');
      }
      if (item is TrackSimple) {
        print('Track:\n'
            'id: ${item.id}\n'
            'name: ${item.name}\n'
            'href: ${item.href}\n'
            'type: ${item.type}\n'
            'uri: ${item.uri}\n'
            'isPlayable: ${item.isPlayable}\n'
            'artists: ${item.artists!.length}\n'
            'availableMarkets: ${item.availableMarkets!.length}\n'
            'discNumber: ${item.discNumber}\n'
            'trackNumber: ${item.trackNumber}\n'
            'explicit: ${item.explicit}\n'
            '-------------------------------');
      }
      if (item is AlbumSimple) {
        print('Album:\n'
            'id: ${item.id}\n'
            'name: ${item.name}\n'
            'href: ${item.href}\n'
            'type: ${item.type}\n'
            'uri: ${item.uri}\n'
            'albumType: ${item.albumType}\n'
            'artists: ${item.artists!.length}\n'
            'availableMarkets: ${item.availableMarkets!.length}\n'
            'images: ${item.images!.length}\n'
            'releaseDate: ${item.releaseDate}\n'
            'releaseDatePrecision: ${item.releaseDatePrecision}\n'
            '-------------------------------');
      }
    });
  });

  var relatedArtists =
  await spotify.artists.relatedArtists('0OdUWJ0sBjDrqHygGUXeCF');
  print('\nRelated Artists: ${relatedArtists.length}');

  credentials = await spotify.getCredentials();
  print('\nCredentials:');
  print('Client Id: ${credentials.clientId}');
  print('Access Token: ${credentials.accessToken}');
  print('Credentials Expired: ${credentials.isExpired}');
}

I keep getting the songs, which is a good thing, but i have this error as well. I'm still a beginner on dart, so i dont really know how to solve this one.
-------------------------------
Track:
id: 0LAcM6I7ijW4VVW0aytl1t
name: One (Remastered)
href: https://api.spotify.com/v1/tracks/0LAcM6I7ijW4VVW0aytl1t
type: track
uri: spotify:track:0LAcM6I7ijW4VVW0aytl1t
isPlayable: null
artists: 1
availableMarkets: 2
discNumber: 1
trackNumber: 4
explicit: false
-------------------------------
Unhandled exception:
type 'Null' is not a subtype of type 'Map<String, dynamic>'
#0      Search.get.<anonymous closure> (package:spotify/src/endpoints/search.dart:40:40)
#1      MappedListIterable.elementAt (dart:_internal/iterable.dart:413:31)
#2      ListIterable.forEach (dart:_internal/iterable.dart:39:14)
#3      main.<anonymous closure> (package:playit/scripts/spotify.dart:25:18)
#4      List.forEach (dart:core-patch/growable_array.dart:433:8)
#5      main (package:playit/scripts/spotify.dart:24:10)
<asynchronous suspension>

Thanks for reading me

After investigation, it seems that the 4th value of the list returned by the api is bugged. Simply remove it with this
for (var pages in search) {
      a.add(pages);
    }
    a.remove(a[4]);

is this problem from spotify api or from this plugin?

Probably a mapping error somewhere - needs investigation!

Similar error when receiving audio feature with id 2cs7JxrZ9DxvsfoVI07ayX
https://api.spotify.com/v1/audio-features?ids=2cs7JxrZ9DxvsfoVI07ayX
return
{
"audio_features" : [ null ]
}


Add some ways to mix & match with additional handlers

Coverage remained the same at 100.0% when pulling 81ac4539b193943130f1642465626bb8344248c5 on arbitrary-extensibility into a2bb3b672187d997fbb1f5db6d053e42d081c40e on master.

Coverage remained the same at 100.0% when pulling 6f29b4a308f7ca6a96a9715ad5e0a9ebcb722083 on arbitrary-extensibility into a2bb3b672187d997fbb1f5db6d053e42d081c40e on master.

Coverage remained the same at 100.0% when pulling 0593fb5534ded842095b9d7d56a998bd8c7bc504 on arbitrary-extensibility into a2bb3b672187d997fbb1f5db6d053e42d081c40e on master.

Released as v0.7.0.


RFC: Updated build system Hass.io

Hi,
Let me get started by saying this is not actually an issue. I am trying to create a central point of discussion. Please do not take any of the following personally; I am trying to help the community and the project.
Background
In the past month, I have created a couple of Hass.io add-ons to contribute to the community. Those were well received by the community, for which I am thankful.
Soon I noticed weaknesses in the current setup provided by HA. I will sum up some of my concerns/frustrations.
Build environment:

The enormous .sh scripts for building add-ons (and other images).
A large amount of code duplication between all those build scripts and their minimal differences. Some of those differences where needed and some of those scripts seem to have evolved.
The incompatibility of those scripts with MacOS. (e.g. sed -i does not work on vanilla MacOS)
The file juggling in the build scripts (workdir copies) and the lack of error handling that might cause issues when Docker build fails.
The magical 'search and replace' in Dockerfiles done in those scripts. (which was the only solution at the time)
Build environment does not use all resources to collect information; it solely relies on config.json.

Generic add-on/images:

Generic goto file is config.json. It is not actually configuring stuff, therefore wrongly named.
Missing JSON schema for validation use.
Lack of Docker label schemes.
Hardcoded version numbers of the addons in configuration files (again config.json).

Other:

The overall quality and use of coding standards in any bash scripts; not following any guidelines.
The generic workflow and challenging implementation with external CI tools. (The add-on/images provided by HA do not have CI?!)

Not directly related to this discussion, but maybe solvable in the future:

As a user, I am unable to choose which version of an addon to run. A user is only able to install and run the latest version. Even though there are enough version systems that could be leveraged to provide this? (Docker Hub, GIT tags).
Add-ons (source) and repositories are the same thing. This makes it impossible to leverage git tags as a versioning system. Moreover, even more important, it has made separation of concerns quite hard. (e.g., running a repository and keeping the addon themselves in separate git repositories). I have worked around this issue, but it ain't pretty.
Due to the current setup, it would be hard for Home Assistant to provide users a central interface to access/browse/search all community add-ons.
Add-on topics in the forums are centered around add-on repositories, not specific add-ons. This makes the search for add-ons hard for the user (you will have to read/open each topic to find a list of provided add-ons). As a result, discussions in these topics are hard to follow, since they could be about any of the add-on provided by the repository.
Missing requirement options (E.g., an add-on requires HA 0.80.0)

This list made me realize I need to change my own workflow in order to get more add-ons out.
So I started
So I started on working on a new build environment for my add-ons to solve a large part of the issues above. Soon I realized this could generally be used for all kinds of Hass.io images (not only add-ons).
The result of this is currently on GitHub: https://github.com/hassio-addons/build-env
Stuff I have added so far:

Consolidated all build scripts into one single build script that resides inside the build environment image, thus removing the need for having build script everywhere.
Set the build script as an entry point to the Docker container to allow direct execution.
Leverages support for Docker build arguments, this removes the need for magic search and replacing stuff (requires a more recent Docker).
Removed the need for local build workdirs/copies by streaming the build context into Docker build.
Gather information from GIT
Gather information from the Dockerfile
Added support for the Docker label schema
Added a shitload of error handling
Adheres to the bash styling guides of Google and Dealerdirect.
All shell scripts pass shellcheck.
Keeping backward compatibility with existing add-ons and methods.

This allowed me to:

Use CircleCI to validate add-on builds
Use CircleCI to deploy build to Docker Hub
Build images cross-platform without the need for specific shell scripts
Leverage GIT version tags (if wanted)

Currently begin used on: https://github.com/hassio-addons/addon-base
CircleCI result example: https://circleci.com/gh/hassio-addons/addon-base/tree/master
See example PR results:

Showed my idea
At this point, I was getting confident this would be a great general addition to Home Assistant. So I have started contacting @pvizeli & @balloob. Their reactions were amazing, which drove me to improve things even more. (e.g., added support for building non-addon stuff).
Changes to Hass.io thus far
@pvizeli Started making changes to Hass.io. Things he is has done so far:

Introduced build.json additional to config.json containing build information.
Updating Docker version in Hass.io
Updating Hass.io to support build arguments, thus removing the magical search and replace in Dockerfiles.
Writing documentation.

https://github.com/home-assistant/hassio/pull/191
https://github.com/home-assistant/home-assistant.github.io/pull/3406
This all is great work! However, I think we need to do some more things before releasing all this into the public. Unfortunately, the PR was merged before I could raise my concerns and suggestions. Which is the origin of this GitHub issue.
Things I think we should do from this point
Remove config.json and build.json; introduce hassio.json
As stated earlier in my story, config.json is actually misnamed. There is nothing wrong with build.json, but it does introduce an extra file.
If you look at my build environment thus far, you will find that I use information from the current config.json (e.g., for the Docker label schema), but also the version of the add-on/image is in the config.json file. Adding it to build.json would simply duplicate information, which should be avoided in my humble opinion.
My suggestion would be to introduce a new file called hassio.json, to replace both config.json and build.json. This file would be the same as the current config.json however, extended with build requirements and information. Choosing this path would obviously remove the need for multiple files, duplicate data, and the misnaming issue.
Extend config.json (or even better hassio.json)
I would suggest extending the JSON configuration files on add-ons (and add them to other images).
The following format would be my suggestion.
{
    "name": "Homebridge",
    "slug": "folder",
    "version": "1.2",
    "type": "addon",

    "description": "Homebridge add-on for Hass.io",
    "maintainer": "Franck Nijhof<EMAIL_ADDRESS>    "vendor": "Community Hass.io Addons",
    "url": "website with more information about add-on (ie a forum thread for support)",
    "source": "https://github.com/hassio-addons/addon-homebridge",
    "documentation": "https://github.com/hassio-addons/addon-homebridge/tree/master/README.md",

    "arch": ["amd64"],
    "from": "hassioaddons/base-{arch}",
    "arch_from": {
        "amd64": "homeassistant:amd64-base"
    },
    "squashs": true,
    "args": {
        "my_build_arg": "xy"
    },

    "startup": "application",
    "boot": "auto",
    "webui": "http://[host]:[port:2839]/dashboard",

    "ports": {
      "123/tcp": 123
    },
    "host_network": true,
    "devices": [
        "/dev/ttyAMA0:/dev/ttyAMA0:rwm"
    ],
    "hassio_api": true,
    "privileged": "SYS_ADMIN",
    "map": ["config:rw", "ssl"],
    "environment": {
        "test": "henk"
    },
    "audio": true,
    "options": {},
    "schema": {},
    "image": "repo/{arch}-my-custom-addon",
    "timeout": 10,
    "tmpfs": true
  }

This would enable us:

Add extra information to the Hass.io control panel (like maintainer, vendor, documentation & source code links).
Provide information for Docker label schema on a build.
Add extra Docker build arguments (suggested by @pvizeli!)
Enable/disable Docker image squashing
Specify specific images to build from on each architecture
Allows you to specify the type of image (addon, core, supervisor, homeassistant, ...)

Create a JSON schema validation file
I have not created an example yet, but adding a JSON schema file would help developers. It could also be used in any build environment to validate the JSON file before starting the build process.
Update Hass.io build system
Update Hass.io build system to reflect above changes. The local build does not need to support all things. It should only be able to build for local use. (This approach is already the way @pvizeli currently works with).
Concerns
I do however have some concerns:

The current change in the Hass.io build system lack backward compatibility. This does not have to be an issue, but I think I need to raise the concern.
I think you should eat your own food, before serving it to others. We should migrate our own stuff on the new methods, before asking/presenting it to the users/add-on developers.
Current build system change already on 'dev' branch. Maybe revert until we have found consensus? (conflicts with previous mentioned concern).

Other things to sort out
There are some other things to sort out:

Provide extensive documentation (partially started on by @pvizeli 👍 )
Provide updated example add-on, including Travis & CircleCI examples.
Porting existing (core) add-ons? Adding automatic builds?
Can we find a solution for versioning and rollback support?
Update non-addon Dockerfile and images, including CI?
Moving/re-branding/re-license the built environment under Home Assistant?
Add support for custom build arguments on architecture level?
Splitting add-on and the add-on repository? Maybe the repository should only reference add-ons?

Suggestions
Apart from all the things mentioned above, I would like to add one more suggestion:
Add backward compatibility to the Hass.io local build environment. This would give us a larger transition time and removes the need for a "big bang".
My personal to-do list regarding this all at this moment

Build-env: Add support for additional build arguments
Build-env: CircleCI trigger on release tag in GIT
Build-env: Further testing with NON-addon Dockerfiles/images
Build-env: Extensive documentation
Example Addon: Create example addon
Example Addon: TravisCI example
Example Addon: CircleCI example
At least port 1 addon to new structure

TL;DR
If this issue needs a TL;DR in your opinion, I guess you are not concerned enough with the problems I'm trying to solve. The main goal? Let's make Home Assistant more awesome. I would love to receive some feedback, and maybe we can sort things out to create a better base for Home Assistant and its developers.

The system is desine to use all time the last version. To allow install a old version with API is old degrade thing what will remove in future (maybe 0.65 or 0.66). The only hassio way to rollback is with a snapshot. There is a partial interface that is not implemented in the UI while we have no UI developer anymore. 60% of API feature will not supported on UI. That is the reason why I stop to add new feature until we found a new UI developer and they will add things that is not supported at the moment. The version problem will be solve soon. So you can only install actual addons and only move forward. I don't like system that run with old stuff. The auto-update will be also default enabled, since we can check if the new schema support the current and we can start the add-on after update.
I don't like to make big change in release. We move forward in small and fast steps. The merge windows for 0.64 is close and new PR go into 0.65. We make no wolpertinger.
Anywhay we run an IoT device with less memory. The config.json hold all data they hold on memory and need to have for run the images. build.json hold data that need only available for 10-15 minutes  in a lifetime of a device. So I see no reason to hold this things also inside limited memory. Most of add-ons build by devoloper and push to a docker hub. We need never read this data or hold it present inside memory. Next is, we can not break stuff anymore only extend.
For run on IoT devices we need no magic like versions. This system don't look back it look only forward into feature. The snapshot feature is hard on limit for IoT device. Complexity make problems and simple things run persists.
But hassio is opensource, write code and make PRs. Instead to ask for some things, implement some things. Maybe your code can change some mindes 😃
The build scripts are not the best, yes. Hass.io are a very big project with a lot of parts. I work since feb on it and I can not have the fokus on every thing. It work and make my work easy for build stuff. I hope in future find time for work on this.
You can cook your own supe on your repository or try to find a consensus in the official repository. All ways are fine. You make a great work. But we can not merge stuff that have bad affect to end user.
The build-env or script build only a image and push it to docker hub. That is a small process of the hole circle.
The TravisCI or CircleCI don't allow to build and push stuff like we do. I think that is fine for small repository but we can not lost the favor for that tools on official homeassistant organisation. So we can not use that feature on the core repository.

Thank you for your extensive response.

So you can only install actual addons and only move forward. I don't like system that run with old stuff.

I do somewhat agree on this. But in the case of add-ons, you are dealing with third-party developers and all kinds of different quality. In my last month, I've seen examples of a bug introduced in a new add-on version release. The problem with this is that a user is unable to switch to the previous add-on version. Thus left with a broken add-on and broken functionality. From your perspective I agree, from the user perspective, I absolutely disagree.

Anyway we run an IoT device with less memory. The config.json hold all data they need on memory and need to have for run the images. build.json hold data that need only available for 10-15 minutes in a lifetime of a device. So I see no reason to hold this things also inside limited memory. Most of add-ons build by devoloper and push to a docker hub. We need never read this data or hold it present inside memory. Next is, we can not break stuff anymore only extend.

This is a non-reason. Yes, we have to be sparse on the memory usage, but it would be easy to store only relevant information into memory. Carrying the contents of the whole JSON file in memory is, in my opinion, a bad design decision. There already is stuff in the JSON file that is not needed in memory all the time, so that needs fixing then I guess?

But hassio is opensource, write code and make PRs. Instead to ask for some things, implement some things. Maybe your code can change some mindes.

I'm not asking anything, I'm just opening discussion. My code did change some minds since you are implementing the basic idea, right? 😄

The build scripts are not the best, yes. Hass.io are a very big project with a lot of parts. I work since feb on it and I can not have the fokus on every thing. It work and make my work easy for build stuff. I hope in future find time for work on this.

I do respect the work done by you guys very much. 👍
Working first, pretty later.

You can cook your own supe on your repository or try to find a consensus in the official repository. All ways are fine. You make a great work.

As I already do. Thanks for the compliments though 👍

But we can not merge stuff that have bad affect to end user.

That is exactly my concern about the current changes and the reason for me to create this topic.

The build-env or script build only a image and push it to docker hub. That is a small process of the hole circle.

Agree.

The TravisCI or CircleCI don't allow to build and push stuff like we do. I think that is fine for small repository but we can not lost the favor for that tools on official homeassistant organisation. So we can not use that feature on the core repository.

I certainly do not agree on this. In terms of building CI/CD, this project is not that complex.

I want to start with thanking everyone here for all their work on making Hass.io and Home Assistant the best home automation product out there. And I love the passion of trying to make it even better.
Let me introduce another angle into this discussion that has not been mentioned yet. We are all doing this in our spare time, trying to make something awesome. Yet we also have thousands of users that rely on it being a working system. So we have to juggle the time we have between the things we want to build vs the things that we have to maintain vs the contributions that we take. Each contribution takes time to review, test and, since functionality is getting introduced it makes for a more complex overall system. This increases the maintenance burden and makes future contributions harder.
And this is the reason why I support Pascal's vision on this. We have a working system today (and pretty straightforward) and we have kept it very minimal on purpose. This allows Pascal and others to focus on building out other new and exciting things.
Does this mean that this leaves no room for improvement of the current stack? No, there is. It just means that we have to be respectful of each other's time and focus right now on an evolutionary approach (making small improvements at a time) versus a revolutionary approach (doing a complete rewrite).
Hass.io is developed in the open. All work (including core devs) is contributed via pull requests to allow people to give feedback and raise concerns. So let's distill one improvement from this issue that you want to see, come up with use cases how this will help add-on development and let's talk about how this could be implemented as an incremental step to the current system.

Side note: I am 100% against more configuration options at all times unless there are really really good reasons. Each configuration option is going to introduce edge cases that we, the developers, have to deal with when people want to add even more features (which is happening all the time). At some point the system will be so big that no single developer can keep it in their minds and more bugs will be introduced.
Side note 2: For the Hass.io base system and images I also don't want to see auto push, as we'll need to do QA on it. These things are going out to thousands of people and a revert is not easy.
Side note 3: I like keeping our build and config files separate. By merging them, we're conflating concerns. It will lead to some properties becoming multipurpose which will eventually lead to us trying to expand the usage for one use case, forcing us to add workarounds to the other use cases that do not support the new usage.

Thank you for your answer @balloob. On most parts, I do agree.

Does this mean that this leaves no room for improvement of the current stack? No, there is. It just means that we have to be respectful of each other's time and focus right now on an evolutionary approach (making small improvements at a time) versus a revolutionary approach (doing a complete rewrite).

Hell yeah, I totally agree. My initial post isn't a "let us fix is all now!" post, it is about sharing a future vision. I'm all pro-"baby steps", nevertheless, I do think there should be a higher consensus about where this all is heading. This allows us to make those small steps in the "right" direction.

Side note 2: For the Hass.io base system and images I also don't want to see auto push, as we'll need to do QA on it. These things are going out to thousands of people and a revert is not easy.

I see your fear in this and maybe did not explain this feature on my end that well. I totally agree with your statement on this. The deploying mechanism created in my build environment is only occurring on explicit setting it (just like the current build scripts used by Home Assistant). So yeah...

Side note 3: I like keeping our build and config files separate. By merging them, we're conflating concerns. It will lead to some properties becoming multipurpose which will eventually lead to us trying to expand the usage for one use case, forcing us to add workarounds to the other use cases that do not support the new usage.

I think the decision of creating more configuration files (with possibly duplicate content, like the version number) conflicts with your own first side-note. Nevertheless, I guess I have to accept this veto. I will modify my environment to support the (additional) build.json. (I guess I'll have to in order to be compatible).
It seems like with this kinda "general" response, there is nothing left to discuss and I will, therefore, close this issue. Wishing you guys all the luck on the 0.64 release.


Fix Idempotent Batch Processing example

What were you searching in the docs?
Trying to understand why my code was throwing the following warning when trying to process SQS records with an idempotent function UserWarning: Couldn't determine the remaining time left. Did you call register_lambda_context on IdempotencyConfig?
Is this related to an existing documentation section?
https://awslabs.github.io/aws-lambda-powertools-python/2.4.0/utilities/idempotency/#idempotent_function-decorator
How can we improve?
Please see the discussion here.
Got a suggestion in mind?
No response
Acknowledgment

[X] I understand the final update might be different from my proposed suggestion, or refused.

Just rebuilt the latest docs to include the new improvements @andrewhharmon - thank you again for helping improve everyone's experience!
I extracted the batch integration into its own sub-section to make it easier to spot. Included the full snippet with comments, and a note about uniqueness as it's key for idempotency.
https://awslabs.github.io/aws-lambda-powertools-python/2.4.0/utilities/idempotency/#batch-integration


test that demonstrates overloading

Motivation:
SwiftLog is meant as a base logging library so users will often overload
certain functions with their own specialised and opinionated overloads.
Modification:
Add a test as demonstration.
Result:
More tests.

@weissi lgtm but generate linux tests

@tomerd done


Be compatible with Lua 5.3

In Lua 5.2 unpack was deprecated and replaced with table.unpack, in Lua 5.3 unpack is removed.

It looks like with some of the recent changes to busted there is now no way for a module to see if it is being tested without setting a flag global in the test manually, see Olivine-labs/busted#357. So, either this workaround should be used or the registry should always be exposed. It would be nice to fix this either way so that busted could work on Lua 5.3 without patching.

The registry should be exposed, I think.

Can't you set the global _TEST at the top of the say spec file? then you do not need to expose the registry.
btw; unpack was in 5.1, deprecated in 5.2 (available through compat options) and hence finally removed from 5.3

Magic globals are bad. We should not depend on them.
I think that just exposing the registry, or at least wrapper methods around direct registry access, is a better way to do this. You never know, someone might want lower level access someday.

:-1: to globals. Modules should operate independently of execution context; let's expose the registry.

as a general comment regarding the whole _TEMP discussion (I for one was sad to see it go);

Magic globals are bad. We should not depend on them.

The Lua ecosystem is about tools, not policies. Please do not enforce what you, or the general audience, thinks is bad, upon other people.

Thanks for responses, I'll add a commit exposing registry.
@Tieske I think not exposing _TEST doesn't enforce anything, you can still set it yourself in the tests if you want.

Would be nice to get a release for this.

Is happening tonight, along with new busted rc and probably some work on async but we'll see.


WSL/Win32 pipes not working properly

A brief description

WSL/Win32 pipes are not working properly: try in cmd: bash -c "ls -alR /" | bash -c cat

Expected results

it works until the end

Actual results (with terminal output if applicable)

After a few seconds, it freezes. ls and cat processes then consume 0% CPU. Ctrl-C lets recover (everybody is killed)

Your Windows build number

14946

Steps / All commands required to reproduce the error from a brand new installation

in cmd: bash -c "ls -alR /" | bash -c cat
same pb with e.g.: bash -c "ls -alR /" | c:\cygwin64\bin\cat.exe

Thank you for reporting this issue, I have been able to repro it and opened a bug. I will investigate.

Seems to be working just fine in 14951

@Gabrielcarvfer I think you might be getting lucky, the fix for this is not checked in.

@benhillis Really lucky, I guess, because I've tested on 3 machines, with 14946 or 51, and that worked on all of them ._.

@Gabrielcarvfer Interesting.  I'm glad it's working for you!

@Gabrielcarvfer It is not super common race and in order to hit it you have to stress the pipe quite a bit. I have a fix under review right now as @benhillis mentioned.
How many cores/processors do these machines have, out of curiosity?

@misenesi 2C/2T, 2C/4T, 4C/4T,  being C cores and T threads.

I have checked in the fix for this. As usual, no idea when this will get to the insider builds.

For info I've got a 4C/8T processor, and ran this test (and hit this bug) on a VM under VMWare Workstation 11, configured with 4 virtual cores.

On my computer I happened to do this with the error Error: 0x80070057.

@ht35268 What build are you on? This is supported from 14951 and above.

@misenesi Unfortunately a 14393.0 and a BashOnWindows 10240.

Fix went out in build 14965

The problem still appears to be present with:
bash -c "ls -alR /" | c:\cygwin64\bin\cat.exe

@xilun - you are correct, this issue is not fixed. Reopening.

Thanks for reporting this @xilun, I was unable to repro it inside VM but on a physical machine it was easy to repro. Found the problematic racing code and submitted a fix. Apologies for a poor experience.

No pb, that's what develepment versions are for :)

Oops wrong button


DRILL-5032: Drill query on hive parquet table failed with OutOfMemoryError

List of columns in every hive partition increases size of serialized physical plan that causes OOM.
As Hive allows every partition to have its own set of columns now system checks, and if all column sets for all partitions are equal, list of columns stores only on hive table level.

@chunhui-shi, I have made some changes. Could you please review it?

+1

@jinfengni, I have made some changes. Could you please review it?

+1
LGTM.


What is CLIP upper bound?How did you get the model?

Thank you for your work, I have some questions and hope you can answer them despite your busy schedule
What is CLIP upper bound?How did you get the model?
We consider three main groups of baselines for our comparisons. The most straightforward baselines consist of using CLIP with large vocabularies, such as WordNet [41] (117k names) or the English Words (234k names [16]). As an upper bound, we also consider CLIP with the perfect vocabulary, i.e. the ground-truth names of the target dataset (CLIP upper bound). Due to lack of space, we only report results for CLIP with ViT-L [13].

As you reported, "As an upper bound, we also consider CLIP with the perfect vocabulary, i.e. the ground-truth names of the target dataset (CLIP upper bound).", which means we test CLIP performance on the standard "generalized" zero-shot setting. This means we have a manually-annotated pre-defined list of class names per dataset, not a generated one per image as in the other approaches. Let me know if it is clearer now.


npm install new line issue

Topic : https://my.flexio.io/informations/topic/edit/5d24e927858a543b5e1a7a26


Add constraint to geom_index that data_source_uuid must be unique

Changes should be made to the DDL script https://github.com/OHDSI/GIS/blob/main/packages/gaiaCore/inst/sql/backbone_ddl.sql


Making Random Question Fetching Dynamic Instead of Static problems.js File

Description:
Every Sunday / Biweekly Saturday Contest New Questions are Added on LeetCode , Hence using ;random question will not have
access to that question , as content as limited to questions in problems.js
Apporch:

Using Get API of LeetCode to Fetch ( leetcode.com/api/problems/all/ )

Additional :

Can Modify ;random => ;random-easy , -medium , -hard to fetch according to difficulty level

Assigned @ParasY1724


Relative time(posted ago) in comments metadata can't be read easily

Issue originally posted by @arjungarg07

Currently, we are displaying relative time in the comment section in the format 2020-10-13 14:48:25.

It would be better to change it to a format like Jan 27 at 17:08 or 3 months ago for a better user experience.

Created a PR #106  changing date format to '3 months ago' format. Please review.
Thanks!