Added ChatLayout

Project URL
ChatLayout
Category
Messaging
Description
ChatLayout is an alternative solution comparing to other Chat UI frameworks. It uses custom
UICollectionViewLayout to provide you full control over the presentation as well as all the tools available in
UICollectionView.
Features

Supports dynamic cells and supplementary view sizes.
Animated insertion/deletion/reloading/moving of the items.
Keeps content of the last visible item at the top or bottom of the UICollectionView during updates.
Provides tools for precise scrolling to the required item.
Shipped with generic container views to simplify the custom items implementation.

Why it should be included to awesome-ios (mandatory)
This library is really different solution comparing to the other frameworks presented in the Messaging category. It utilises a custom UICollectionViewLayout and does all the necessary calculations and positioning inside. There is no need to extend or override any custom UIViewController or UICollectionView. ChatLayout doesn't require to calculate all the cell sizes before it renders them on the screen. It is possible to fully use auto-layout constraints and rely on the fact that the correct size will be calculated in the runtime.
Checklist

[x] Has 50 GitHub stargazers or more
[x] Only one project/change is in this pull request
[x] Isn't an archived project
[ ] Has more than one contributor
[x] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[ ] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

@ekazaev Thanks for contributing!


fix(icons): Final Design QA

LIink:
https://flo-scss-finish-icons-gdzz6zj7.herokuapp.com/docs/components/icons

A lot of these commits were in another PR


Lone child folder always expands when explorer.compactFolders is disabled

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.59.0
OS Version: Fedora 34

Steps to Reproduce:

Ensure that the setting explorer.compactFolders is disabled
Create folder a
Create folder a/b (this must be the only child folder in a)
Create file a/b/c
Collapse all folders in sidebar explorer
Expand folder a
Observe that b is also unexpectedly expanded

That's intended and is a feature of the tree to auto-expand nodes with a single children
https://github.com/microsoft/vscode/blob/53f597fe6b3df8da082264b644f8ce80b49d8dd3/src/vs/workbench/contrib/files/browser/views/explorerView.ts#L408

Closing this is it is as designed as jeanp413 points out. Will use https://github.com/microsoft/vscode/issues/145510 for tracking.


Config set default timeout for thrift rpc in FE

Proposed changes
Issue Number: close #xxx
otherwise if something's wrong with the other end or thrift itself, FE will hang.
docs pr: https://github.com/apache/doris-website/pull/528
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run compile

run compile

run p0

run compile


Official Update - November 2020

Xamarin.Essentials 1.6 introduced official support for picking/taking photos and videos with the new Media Picker API.
This library has a lot of legacy code that is extremely hard to maintain and update to support the latest OSes without a major re-write. I will officially be archiving this library in December 2020 unless anyone from the community wants to adopt the project.

Dang - sad to hear the plans to archive this. While I'm certainly excited that Essentials is adding media picking support, they aren't nearly on the feature level of this plugin (for my purposes at least, the multi-picking feature and exif/metadata support).
I'd like to throw my hat in the ring for keeping the project going at least a little bit longer.
That being said, I'd only be focusing on maintaining iOS and Android support as that's what I use in my own projects.  I have zero experience with Tizen and UWP. I just recently nixed them from my own fork.
Once Essentials reaches a feature level parity with this plugin, I don't see any reason to keep this plugin going either.
One way or the other, been very grateful for this plugin and want to say thanks for all the effort you've put into it over the years.

@MatthewKapteyn  I agree, Media Picker API is not even close to replacing this repo just yet and still buggy from what I can tell. I agree this plugin is getting old but I was hoping for the API to be more solid but its still in preview which is understable.

Essentials 1.6 has many bugs. better this plugin

please, dont archive now
[Bug] MediaPicker CapturePhotoAsync - Orientation of photo rotated 90 degrees #1514
https://github.com/xamarin/Essentials/issues/1514
And with the coming of MAUI, no one knows if the Xamarin Forms team is working on the current project or if he died, at least no one from MS ever responded to the issues on the project's github.

Quick update: above mentioned issue may be fixed soon in MAUI with this incoming PR https://github.com/dotnet/maui/pull/14568


Refactor config models to dataclasses

Currently, we are using namedtuples. A problem with this is that you can't have default values when we move to python3 in production (3.7) we can refactor those to dataclasses.
Pros:

Default values
Type hints
Less repetition
Our code looks more cool :sunglasses:

ref https://github.com/rtfd/readthedocs.org/pull/4456#discussion_r207318041

Taking this up. Confirming that the dataclasses should be immutable?
Also where do I refer for the defaults?


Plugin removes additional permissions provided in default role

Hi there,
Just testing this out on a larger project that I was creating a custom IAM role and policies and then attaching to Lambda functions.
I moved to an IAM role definition in the provider per recommendations and hit the policy size exceeded issue.
I tried your plugin but all other required role statements are now stripped out.
Could you perhaps be less aggressive in simplifying the log stream statements or suggest a way I can add additional statements to the default role?

Never mind I went back to custom roles as I need fine grained control, thank you for the ideas in this though very tidy plugin

@vladgolubev any way to get it working without lossing default roles?


plans to support cordova-ios v6.2.0?

We need it for this PR in https://github.com/apache/cordova-ios/pull/1060 that resolves this problem:

In Xcode 12, if an app is linked against .framework files with multiple architectures, it will generate an error about embedded framework mismatches. Declaring this property (even with its default value of NO) resolves the issue.

Thanks.

Upon further reflecting, this is an npm issue not a corber issue! The problem was that 6.2.0 is not a latest release, so a nightly build needs to be specified, e.g.:
corber platform add<EMAIL_ADDRESS>Closing...


eureka_istio-pilot_1 Exit 255

istio-0.4.0
docker-compose -f install/eureka/istio.yaml ps
          Name                             Command                             State                              Ports

eureka_etcd_1                      /usr/local/bin/etcd -adver ...     Up                                 <IP_ADDRESS>:2379->2379/tcp,
                                                                                <IP_ADDRESS>:2380->2380/tcp,
                                                                                <IP_ADDRESS>:4001->4001/tcp
eureka_eureka_1                    /tomcat/bin/catalina.sh run        Up                                 <IP_ADDRESS>:8082->8080/tcp
eureka_istio-apiserver_1           kube-apiserver --etcd-serv ...     Up                                 <IP_ADDRESS>:8080->8080/tcp
eureka_istio-pilot_1               /usr/local/bin/pilot-disco ...     Exit 255
eureka_registrator_1               /bin/registrator -internal ...     Up
eureka_zipkin_1                    /bin/sh -c test -n "$STORA ...     Up                                 9410/tcp, <IP_ADDRESS>:9411->9411/tcp

docker logs -f eureka_istio-pilot_1:
ERROR: logging before flag.Parse: E0105 03:07:16.707430       1 main.go:123] failed to create discovery
service: failed to connect to Kubernetes API. Error loading config file "/etc/istio/config/kubeconfig":
read /etc/istio/config/kubeconfig: is a directory

There are probably two separate problems occurring here.  First is a missing kubeconfig file which is needed pilot to talk to the apiserver.  This issue can be resolved by switching to the most recent version of istio (0.5.1 or later) by following the steps here: https://istio.io/docs/setup/kubernetes/quick-start.html OR by creating the kubeconfig file https://github.com/istio/istio/blob/master/install/consul/kubeconfig in install/consul or install/eureka depending on your setup.
The second is a default port mismatch between the client (pilot-agent) and server (pilot-discovery) described here: https://github.com/istio/istio/issues/2788
You can make the changes describe in the linked issue or you can install a newer version of istio from the quick-start guide linked above


Can someone help me an unknown error occurred

Can someone help me
[Mon, 15. Feb 2021 00:12:36 UTC INFO] harispopmie issued server command: /questadmin reload
[Mon, 15. Feb 2021 00:12:36 UTC INFO] Loaded language en-US. Translations via Crowdin
[Mon, 15. Feb 2021 00:12:36 UTC WARN] java.lang.NullPointerException
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at me.blackvein.quests.util.ConfigUtil.checkList(ConfigUtil.java:48)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at me.blackvein.quests.Quests.loadQuestRewards(Quests.java:1742)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at me.blackvein.quests.Quests.loadQuests(Quests.java:1606)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at me.blackvein.quests.Quests$3.run(Quests.java:1530)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[Mon, 15. Feb 2021 00:12:36 UTC WARN] at java.base/java.lang.Thread.run(Thread.java:834)

Firstly you are not following Github layout and your ticket is invalid.
Secondly as i have told you in Discord. The issue is called by having a null items in your Rewards. As you are prompted "see console output" normally Quests should tell you which quest is that. If not you would have to find which quest you put null item in.

Would need to see the quests.yml file, but it sounds like OP has already received support via Discord.


Copy pasting from latest VS Code adds invisible characters

VSCode Version: 1.38.1 (downgraded to 1.34 and it works as intended)
OS Version: macOS Mojave 10.14.1 (18B75)

Steps to Reproduce:

Copy paste code from VS Code into another editor. In my case, I copy SQL code into the editor Postico.
Functionality in other editors and code bases will break due to the invisible characters.
Enable extensions and copy back the code from the other editor. Now extensions like these (https://marketplace.visualstudio.com/items?itemName=wengerk.highlight-bad-chars, https://marketplace.visualstudio.com/items?itemName=nachocab.highlight-dodgy-characters) will show all spaces as being bad characters.

I reproduced these steps, but copying from Atom instead of VS Code, and everything worked fine. Similarly, everything works fine in an older version of VS Code (1.34).
Does this issue occur when all extensions are disabled? Yes

@bfelbo VS Code writes to the clipboard two distinct contents:

a plain text content
an HTML content

An application, when pasting to it, can choose which content type to read from the clipboard. A code editor typically reads the plain text content. That is what VS Code does when you paste into it. A rich editor (like Word) typically reads the HTML content.
I think the Postico editor might have an issue where it reads the HTML content from clipboard. How do things look like when you copy from VS Code and paste to another VS Code window?

@bfelbo Have you tried disabling all extensions?

I had the same problem of pasting code from Code behaving strangely in other programs. I was able to track back that in the pasted clipboard spaces in code are substituted by the sequence c2a0 (that's utf-8 for the non-breaking space character).
This breaks some program, while others seems to convert to spaces (textmate).
To reproduce: copy some code from Visual Studio Code; paste it in Postico (I had the same problem with other editors, may be Xcode itself, but this is what I'm using now); copy from Postico; paste in a file (or in textmate); read the file with an hex-editor to find the nbsp characters.
This could be a bug in Postico (as you said above) but I just tried to copy html from safari and paste it in Postico and no nbsp appeared.
Hope this helps you narrow down the problem. I'm on latest stable macOS. Code in itself reports:
Versione: 1.38.1
Commit: b37e54c98e1a74ba89e03073e5a3761284e3ffb0
Data: 2019-09-11T13:31:32.854Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.7.0

For the records, this is considered a bug in Postico. There is a workaround in the issue lined above, that's using a VSCode extension that does a copy without formatting: https://marketplace.visualstudio.com/items?itemName=bmaupin.copy-without-formatting

I think this is a bug specific to Postico, where they read the HTML value in the clipboard.

@alexandrudima
Postico developer here.
This issue is not unique to Postico. It also happens with Text Edit. It also happens with Mail. If people copy-paste text from VS Code to Mail, they'll end up with the wrong type of spaces.
It happens with every app that uses a standard Cocoa NSTextField configured for rich text.
In Postico I found a workaround. If I change the text field type to richText = NO, then pasting works correctly. Since VS Code is popular we'll probably do that, but it's a less than perfect workaround, since it changes a few other behaviors, which we'll have to find some additional workarounds for. It's also not going to fix this problem for all the other Mac apps out there.
Anyway, the problem is that AppKit prefers HTML to plain text when pasting into a rich text field. I think that Apple's assumption was that plain text and styled text would be identical except for attributes.
In my opinion VS Code should do one of the following things

only copy plain text to the pasteboard
copy NSAttributedString to the pasteboard instead of HTML
use something like white-space: pre; to control white space display in HTML instead of using non-breaking spaces, so that when other apps use the HTML version they get the same characters

@alexandrudima can we open this issue again?

A short follow up on this issue:

we've just released an update to Postico that works around the issue. The problem should no longer happen with Postico 1.5.9
this is still an issue for many other Mac apps. For example, Text Edit and Mail are still affected.

So if you copy text from VS Code to Mail, you'll end up with the wrong spaces.
I still think the VS code developers should fix this.

@jakob Thank you for the nice write-up. I agree, we should improve what we write to the html clipboard such that the text content of those dom nodes still represents the source text...
I think I personally always considered the HTML clipboard as a "painting canvas", i.e. it doesn't matter what kind of spaces we'd write in there given that code would most likely be pasted in a rich email or a rich document and be used for "viewing" only... But the text could then be further copied out from the email/rich document and pasted back into another editor...

Verification steps:

create a file a.ts in VS Code with the content class C { } (be sure to have it colored)
select all and copy in VS Code
paste to a new document in TextEdit (the text will appear colored)
select all and copy in TextEdit
paste to a new document in VS Code which you can save as b.ts

Compare a.ts and b.ts using a binary viewer:

a.ts - spaces are 0x20 - Unicode Character 'SPACE' (U+0020):

b.ts - spaces are 0xC2 0xA0 - Unicode Character 'NO-BREAK SPACE' (U+00A0):

fyi @rebornix

I have a problem like that, but i am have an aditional case, when i am copying from vs-code to wordpress editor in browser this code: [iframe href="http://wp-kama.ru" height="600px" width="400px"] i am having output like that: [iframe href=»http://wp-kama.ru» height=»600px» width=»400px»]

@asverq Your issue is IMHO not related to the original issue.
It appears that in your case, when you paste in wordpress, the text is changed and all the " Quotation Mark characters are replaced with » Right-Pointing Double Angle Quotation Mark
AFAIK we have no such replacement implemented in our code base, so I would think it is an issue with wordpress. If you consider this to be an issue with VS Code, please open a new issue.


Historical data, is the column name of Date missing

Did the output of historical data changed?
df1 = get_historical_data("%s" % symbol, start1, end2, close_only=True, output_format='pandas',
token="")
output (without -----):
--------------- close   volume
2020-12-11  214.06  4283354
So the date is missing date I think. If I put it into a new sql
Index                                close          volume
2020-12-11 00:00:00	214.06	4283354
So my old table with columns: date, close, volume doesn`t work anymore, because Index is missing.
I think panda names the first column "Index" because it has no name anymore. I will check with an old version now

with version 0.43
output:
close   volume
date
2020-12-11  214.06  4283354

The date column is used as the index and dropped from the regular DF now. I can revert this if it is causing issues. I suppose there is no reason to drop it after setting it as index.

Ok good. I will change my code then. I tryed it our really quick but I cant select row by index =2020-12-11 for example.
Is it a lot of code to change for me if I want to use the old style with date as column name?

ok I am not able to select row with index = something
how can I undo the change?
Can someone please help me.

Pandas indexing -
https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html
If you want to get the entire index as a list, ‘index_list=df.index'
See the section on slicing ranges and selecting by label.
It is not conventional for the index to be named as a column - the way Addison just described it is how pandas works out of the box.

On Dec 15, 2020, at 2:18 PM, sl00k<EMAIL_ADDRESS>wrote:
ok I am not able to select row with index = something
how can I undo the change?
Can someone please help me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/addisonlynch/iexfinance/issues/238#issuecomment-745542491, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIJ2JIC2CP4LDTNSYCLL4TSU7ABJANCNFSM4UZW4SJA.

I just wonder why I can not select
index= "2020-12-14 00:00:00"
cursor.execute("SELECT * FROM {} WHERE index = '{}' ".format(stock,index))
does it mean index can not be selected at all?
might be the wrong place, but it messed all my code up :(

It would depend on how you loaded things into your database.  Are you asking a pandas question or a SQL question?  What you're getting back from this module is a pandas data frame.
There is no telling what you are doing with it after you get it, but your code segment above looks like you're pulling data out of a database, not using a data frame.
Pandas has built in methods to interact with sql databases, you might think about using those on the data that you get out of iexfinance.  You can read about it here https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-sql.  You'd be interested in the .to_sql method.
I don't think this is what you're trying to do, but if you wanted to select the row of data in the DataFrame that you get back from iexfinance for the date you wrote above, you'd get it by using the .loc method:
df.loc['2020-12-14']
Pandas usually drops the time fragment from the index when there aren't multiple entries on a single date.
To take that above example one step further,
df.loc['2020-12-14'].to_sql(_table_name_, con)
would push that row of data into the database.  You'd have to wrangle it a bit to put the date field in there as well, but it's easy enough to do.

For example:
for each date in df.index:
    row=df.loc[date]
    row['date']=date
    row.to_sql(table_name, con)

That's a horrifically inefficient way of doing this.  Much better would be to:
df=get_historical_dates(symbol, ...)
df['date']=df.index
df.to_sql(table_name, con)

That would dump the entire df that is returned from iex into a sql database.
By the way, sql databases are really slow.  Using pandas built-in pickler is a couple of orders of magnitude faster.  You can also make a list of data frames for each symbol, then just pickle the list.  If you're worried about message count, you can unpickle, query for the day, add the data to each DataFrame, then pickle it again.  Super simple.

Re-added the column. Now available in the dev version.


mapping_visu.py not runing

I'm not able to run mapping_visu.py with the following error.

Python 3.9.13
Windows
USB speed low but sufficient to run vio_jsonl.py, vio_visu.pypen_3d.py.

python .\mapping_visu.py
Starting OAK-D device
Close the window to stop mapping
SpectacularAI DEBUG: auto-scaling camera calibration parameters with factor 0.5
SpectacularAI DEBUG: starting SLAM thread
Spectacular AI SDK: WARN: LOW USB SPEED!

############################################################################
Your USB connection speed 'HIGH' is lower than required.
Please check that you have connected the device to an USB 3 port with an
undamaged USB 3 cable (blue interior). Speed SUPER or better is recommended.
Disable this check by setting config.ensureSufficientUsbSpeed to false.
############################################################################

SpectacularAI DEBUG: swizzle input colors as rrr (color format 1)
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: First time init failed to track in 3.000000 seconds, reseting
SpectacularAI DEBUG: quitting SLAM...
SpectacularAI DEBUG: signaling the SLAM thead to quit
SpectacularAI DEBUG: starting SLAM thread
SpectacularAI DEBUG: waiting for the SLAM thead to quit
SpectacularAI DEBUG: ~Worker end
SpectacularAI DEBUG: ... SLAM finished
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: First time init failed to track in 3.000000 seconds, reseting
SpectacularAI DEBUG: quitting SLAM...
SpectacularAI DEBUG: signaling the SLAM thead to quit
SpectacularAI DEBUG: starting SLAM thread
SpectacularAI DEBUG: waiting for the SLAM thead to quit
SpectacularAI DEBUG: ~Worker end
SpectacularAI DEBUG: ... SLAM finished
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: First time init failed to track in 3.000000 seconds, reseting
SpectacularAI DEBUG: quitting SLAM...
SpectacularAI DEBUG: signaling the SLAM thead to quit
SpectacularAI DEBUG: waiting for the SLAM thead to quit
SpectacularAI DEBUG: starting SLAM thread
SpectacularAI DEBUG: ~Worker end
SpectacularAI DEBUG: ... SLAM finished
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: IMU stationarity release update
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: First time init failed to track in 3.000000 seconds, reseting
SpectacularAI DEBUG: quitting SLAM...
SpectacularAI DEBUG: signaling the SLAM thead to quit
SpectacularAI DEBUG: waiting for the SLAM thead to quit
SpectacularAI DEBUG: starting SLAM thread
SpectacularAI DEBUG: ~Worker end
SpectacularAI DEBUG: ... SLAM finished
SpectacularAI DEBUG: applying IMU stationarity ZUPT
SpectacularAI DEBUG: IMU stationarity release update
[Open3D WARNING] GLFW Error: WGL: Failed to make context current: The requested resource is in use.
Stack trace (most recent call last):
#26   Object "", at 00007FF8F1307034, in BaseThreadInitThunk
#25   Object "", at 00007FF8EF0D1BB2, in configthreadlocale
#24   Object "", at 00007FF898F97B5E, in PyEval_AcquireThread
#23   Object "", at 00007FF898F97BE2, in PyEval_AcquireThread
#22   Object "", at 00007FF898F6065F, in PyObject_Call
#21   Object "", at 00007FF898F6085C, in PyVectorcall_Call
#20   Object "", at 00007FF898F2BC6D, in PyObject_GC_Del
#19   Object "", at 00007FF898F2C8B2, in PyFunction_Vectorcall
#18   Object "", at 00007FF898F302A1, in PyEval_EvalFrameDefault
#17   Object "", at 00007FF898F302A1, in PyEval_EvalFrameDefault
#16   Object "", at 00007FF898F346FB, in PyEval_EvalFrameDefault
#15   Object "", at 00007FF898F6074E, in PyObject_Call
#13   Object "", at 00007FF898F2C8B2, in PyFunction_Vectorcall
#12   Object "", at 00007FF898F30C3E, in PyEval_EvalFrameDefault
#11   Object "", at 00007FF898F302A1, in PyEval_EvalFrameDefault
#10   Object "", at 00007FF898F30428, in PyEval_EvalFrameDefault
#9    Object "", at 00007FF89906E7E3, in Py_gitversion
#8    Object "", at 00007FF898F25215, in PyObject_MakeTpCall
#7    Object "", at 00007FF898F78A8A, in PyObject_Str
#6    Object "", at 00007FF836D63A39, in DeadlyExportError::~DeadlyExportError
#5    Object "", at 00007FF837046184, in librealsense::color_map::get_cache
#4    Object "", at 00007FF8370460FC, in librealsense::color_map::get_cache
#3    Object "", at 00007FF8373B44D9, in DeadlyErrorBase::operator=
#2    Object "", at 00007FF8375B7EEA, in aiGetVersionMinor
#1    Object "", at 00007FF8375AD2D5, in aiGetVersionMinor
#0    Object "", at 00007FF84F33AB4B, in DumpRegistryKeyDefinitions

Just now run into the same problem. I'm using an OAK-D-POE tough and accordingly tried to set the USB Speed warning to false. Which then results in the error shown above.

Perfect, seems to work with the OAK-D-POE now :) Thanks for the quick fix.


smarter path resolution for facilitator.js pre-loading.

non-production environments may not have the build dir set up. this patch accounts for that, and only pre-loads facilitator.js from the build dir in production environments.

One thing I've had on my TODO list is to replace the asset build system with something a little more modern (like gulp or grunt), and possibly to also swap out the cumbersome require.js AMD stuff with the much easier browserify, which I think could help us to better modularize up some of our enormous monolithic asset files (e.g. /public/js/event-views.js).  Doing this would mean running the build watcher for client scripts during dev which might eliminate this issue.
Do you have any thoughts on that approach?  I'd be happy to merge something like this as a stop-gap; but ultimately I want to overhaul the build system.

thanks for asking. i haven't personally used either grunt or browserify, but have heard good things about both from people i trust. don't know anything about gulp. it seems like a good decision to me to upgrade.
and i'm guessing that will not happen overnight! i think this patch provides a decent solution to the current issue in the meantime.


Added structure.sql to the example-bot repo

Since the quickiest method to try out and get into the field with the example-bot is the getUpdates method and it needs a MySQL databse initialized with the structure.sql preset I see no point in excluding it from the repo.

Holy moly, when searching the base repo I ended up onto yours instead of the php-telegram-bot organization one :see_no_evil: too many equals names.


Skin change does not work correctly

On the weapon/knife/gloves immediately added 2 skin that are mixed, and instead of the names "?????????"
(All libraries are installed (shown in video))
https://youtu.be/p2yG_l0r-9w

This issue is caused when your game isn't being run with English language.

Will this be somehow corrected? :-(

I ran the game in English, the names corrected, but the skin is all smooth with defects

I tested the skin and found out that not all skins are defective, yet some of them work correctly

At me its work perfect

I play on German and its working fine!


Allow config.npm.aliases to explicitly ignore dependency

Specifically, brunch is incorrectly deciding that I need 'process' somewhere in my code.  I imagine that it's impossible to correct determine whether it's required or not in all cases, but I know it isn't being used, so I'd like to be able to disable it, perhaps by aliasing it to false.
Alternatively, why not remove the detection and let people explicitly require it if they need it?

Could you provide us the invalid code?
Also agree. We should have a way of ignoring some packages.

We do need to automatically insert process because node modules can use process without explicitly requiring it, and we should not burden the users with dealing with that.
The current detection is pretty basic, to ensure it'll be fast enough. We are simply checking if there is any process.<something> in the code — which sadly is bound to have some false positives as well. The other option would be to run everything through a JS parser to make sure process wasn't defined locally, but it would make things slower.
For a case like this, I think allowing to set {process: false} in npm.aliases would indeed be a good idea.

I'm afraid I can't because I'm not entirely sure what in our (probably unnecessarily) enormous codebase is triggering it, and I can't make the code publicly available :(.  I don't think we want to make things slower, being able to override is ok.
Though out of curiosity, why is 'process' special?

Honestly the process shim is so small, it probably doesn't even matter.
It is special because, even though in node you can use all of core modules without requiring, in reality 99.99% of the time it's only process that is used this way in npm packages which is why it gets this special handling. Without it, node_modules referencing process would just throw an error.
Another special case that we had to account for is that we had a few packages use new Buffer without requiring buffer, and we handle it as well.

well maybe i'm doing something wrong, but it ends up trying to include process from somewhere in /usr/lib/node_modules and because i don't join that anywhere in my config, it doesn't work.
in any case:
https://github.com/brunch/brunch/pull/138
https://github.com/brunch/deppack/pull/34

The warning is because explore added the process him file. It's just a warning though.
What do you mean specifically by "doesn't work"?
Regarding the pull requests, I can barely imagine a scenario for wanting to include process if it's never used, so I guess I would name the config option something like ignoreAutoProcess (and set it to default to false v.bool.default(false)).
Implementation-wise, I think the best approach would be to leave UsedShims intact and change explore so that it just stops the auto detection: https://github.com/brunch/deppack/blob/master/lib/explore.js#L61 would basically become
const usesProcess = isVendor(path) || config.ignoreAutoProcess ? false : shims.shouldIncludeProcess(source);

And it will still include process if it is explicitly required somewhere

by "doesn't work" I mean process isn't actually in the compiled JS file, but the compiled file nevertheless tries to require it and throws an error in the browser.
I guess I was imagining a scenario where the auto-detection doesn't work so you want to force process to be included.  I suppose you could just require it somewhere in that case.  I'm not terribly fussed either way, I assume you prefer your suggestion?

ok, I switched it to just have a detectProcess flag, defaulting to true.


Implementation of TaskChain

First, an overview of what TaskChain is
TaskChain is a library built by Aikar to make switches between sync and async less painful. The one notable point to this is that it allows data transiency without the nested executors that Sponge provides
In the commands where there are executors that are nested, these calls have been replaced by a TaskChain that works in the same way.
Do note that because of these changes the jar has to be created with gradle build shadowJar in order for dependencies to be shaded

I will test it soon, then bar any complications I will merge it in. Thanks.

I changed a few things like going back to how you setup the build.gradle as I had problems with how I suggested, added use of TaskChain to one of the lookup functions, and fixed a problem with the alias command.
Thank you for the pull request.


Run lighthouse tests on pull requests

Same code as https://github.com/OlympusDAO/olympus-frontend/pull/1457 - this is a PR from olympus-frontend repo instead of my forked repo from my user account
discussion here: https://discord.com/channels/838651642190495804/943185441979506708
Goals for this PR

[x] copy existing config from Fleek website into .fleek.json file
[x] get siteId via Fleek API to store in .fleek.json config (see instructions below) @appleseed-iii
[x] replace site: id, name and team in .fleek.json config @appleseed-iii
[ ] create unique deployment URL for each pull request @midnight-madman
[ ] run lighthouse tests against Fleek deployment @midnight-madman
[ ] run Fleek deployment via CLI for pull requests, DON'T deploy from main/develop branch @midnight-madman

How to get Fleek siteId
Goal: get the OlympusDAO site id so we can deploy via CLI
We need:

Fleek API key (get one here)
Fleek Site slug (visible uon Fleek.co > Hosting e.g. for me it was falling-thunder-6538)
A way to send GraphQL requests (I used Insomnia)

Use this query on GraphQL API https://api.fleek.co/graphql:
Enter your site slug and header Authorization: API-KEY, execute the query and get the site id
query {
    getSiteBySlug(slug: "your-site-slug") {
        id
    }
}

uery {
    getSiteBySlug(slug: "your-site-slug") {
        id
    }
}

thank you for this, doing now

How to get Fleek siteId Goal: get the OlympusDAO site id so we can deploy via CLI We need:

Fleek API key (get one here)
Fleek Site slug (visible uon Fleek.co > Hosting e.g. for me it was falling-thunder-6538)
A way to send GraphQL requests (I used Insomnia)

Use this query on GraphQL API https://api.fleek.co/graphql: Enter your site slug and header Authorization: API-KEY, execute the query and get the site id
query {
    getSiteBySlug(slug: "your-site-slug") {
        id
    }
}

Response example:

@midnight-madman is this PR still in progress or is it blocked?
From the discord chat, I see two outstanding alternative paths:

Test the full flow with Fleek on your fork and document it for @appleseed-iii to replicate on this upstream repo.
Switch lighthouse tests to a Netlify deployment preview, which has a well polished CI integration. This also needs the full flow tested on a separate fork and instructions provided for activating on this upstream repo.

Do you need any assistance on next steps?
Thank you!

@midnight-madman is this PR still in progress or is it blocked?
From the discord chat, I see two outstanding alternative paths:

Test the full flow with Fleek on your fork and document it for @appleseed-iii to replicate on this upstream repo.
Switch lighthouse tests to a Netlify deployment preview, which has a well polished CI integration. This also needs the full flow tested on a separate fork and instructions provided for activating on this upstream repo.

Currently blocked because I cannot test the full flow. The Fleek Github Action CI integration doesn't return the hosted URL to run the lighthouse tests against it.
I wouldn't suggest adding a separate host just for the lighthouse tests. This leads to a lot more complexity, will be harder to maintain and could give different test restults than on Fleek. If it's an acceptable tradeoff by the team, I can implement it anyway.

Current next steps: I'm waiting on reply in the Fleek discord to get the name of the parameter. If there's a response I can either get a fix merged in the main repo OR we can fork it under OlympusDAO org and use our custom Fleek Github Action to do what we want it to do :)

@midnight-madman is this PR still in progress or is it blocked?
From the discord chat, I see two outstanding alternative paths:

Test the full flow with Fleek on your fork and document it for @appleseed-iii to replicate on this upstream repo.
Switch lighthouse tests to a Netlify deployment preview, which has a well polished CI integration. This also needs the full flow tested on a separate fork and instructions provided for activating on this upstream repo.

Currently blocked because I cannot test the full flow. The Fleek Github Action CI integration doesn't return the hosted URL to run the lighthouse tests against it.
I wouldn't suggest adding a separate host just for the lighthouse tests. This leads to a lot more complexity, will be harder to maintain and could give different test restults than on Fleek. If it's an acceptable tradeoff by the team, I can implement it anyway.

Current next steps: I'm waiting on reply in the Fleek discord to get the name of the parameter. If there's a response I can either get a fix merged in the main repo OR we can fork it under OlympusDAO org and use our custom Fleek Github Action to do what we want it to do :)

Thank you for the update. We've been waiting on Fleek to help with this issue for over a month now. How about using Netlify instead for preview deployment CI?
I've used it before and I know its reliable from experience. [Here is working script]
(https://github.com/ambianic/ambianic-ui/blob/95800b787ca4aea96624996a97679fc6a1a9ab1b/.github/workflows/lighthouse.yml#L19):
https://www.netlify.com/products/deploy-previews/

@midnight-madman is this PR still in progress or is it blocked?
From the discord chat, I see two outstanding alternative paths:

Test the full flow with Fleek on your fork and document it for @appleseed-iii to replicate on this upstream repo.
Switch lighthouse tests to a Netlify deployment preview, which has a well polished CI integration. This also needs the full flow tested on a separate fork and instructions provided for activating on this upstream repo.

Currently blocked because I cannot test the full flow. The Fleek Github Action CI integration doesn't return the hosted URL to run the lighthouse tests against it.
I wouldn't suggest adding a separate host just for the lighthouse tests. This leads to a lot more complexity, will be harder to maintain and could give different test restults than on Fleek. If it's an acceptable tradeoff by the team, I can implement it anyway.

Current next steps: I'm waiting on reply in the Fleek discord to get the name of the parameter. If there's a response I can either get a fix merged in the main repo OR we can fork it under OlympusDAO org and use our custom Fleek Github Action to do what we want it to do :)

Thank you for the update. We've been waiting on Fleek to help with this issue for over a month now. How about using Netlify instead for preview deployment CI? I've used it before and I know its reliable from experience. Here is working script.

Just FYI. I setup Netlify deploy previews for translators.
https://github.com/OlympusDAO/olympus-translations/pull/25
@appleseed-iii approved Netlify on this repo as well, so we can use it now instead of Fleek for lighthouse tests against PR deployment previews.


fix: support different extensions of index file

I like how this plugin handles index files, which other similar plugins fail to do properly. But currently it handles only specific extensions, which don't cover e.g. Vue SFCs (I want to import all components from a folder, but some are in subfolders with index.vue file). I think it's alright to allow any extension, and that's what this PR does.

I've found a better way to achieve dynamic imports in webpack: https://stackoverflow.com/questions/29421409/how-to-load-all-files-in-a-directory-using-webpack-without-require-statements


Accept our S3 invite URLs directly

This should help in case users get confused about what to do with
an invite.  On Android it can also bypass S3 entirely.
This also fixes a bug with the existing intent filter on Android, which doesn't seem to be getting added to AndroidManifest.xml.
See https://github.com/Jigsaw-Code/outline-website/pull/86 and https://github.com/Jigsaw-Code/outline-server/pull/185.

Still LGTM


Add Jenkinsfile

This adds the Jenkinsfile pipeline that will implement the PR builds to be run on gpuci.io's spawned cloud resources.

gpuci-rerun


fix(exporter-logs-otlp-http): set useHex to true

Which problem is this PR solving?
When we use the OTLPLogExporter to send logs to a collector I face this issue:
readLog.traceId: parse trace_id:invalid length for ID, error found

When I look at what the exporter send, traceId look like this x+wKeY+LpUblmgFbiqXBwQ== which is base64. that a bug we should have an hex.
When I look at OTLPTraceExporter i notice it adds an extra parameter true to this function createExportLogsServiceRequest which disable the mapping to base64.
This PR replicate this behavior to OTLPLogExporter
Short description of the changes
createExportLogsServiceRequest function used in OTLPLogExporter now have an extra parameter true to use hex format
Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Has been tested in TDD and i had a single new test

[x] convert -> should call createExportLogsServiceRequest with useHex parameter to true

Checklist:

[ ] Followed the style guidelines of this project
[X] Unit tests have been added
[ ] Documentation has been updated

Do you have some advice or asserts i should write ?

You export some log records and expect the output to be in correct otlp-http format.
Please refer to tests of exporter-logs-otlp-grpc and exporter-trace-otlp-http.

Thank you for you for your answer.
I'm really sorry but i'm a bit confused by your comment.

You export some log records and expect the output to be in correct otlp-http format.

You don't need to test the convert method alone. The function is already tested in otlp-transformer

Since i don't  need to test convert method, and it's already tested in otep-transformer, how can i export log records and expect the result to be in correct otlp-http format ?
As I understand, you ask me to test twice the createExportLogsServiceRequest  behavior 😅

Since i don't need to test convert method, and it's already tested in otep-transformer, how can i export log records and expect the result to be in correct otlp-http format ?

I mean you should:

create a http server or sth to receive the output
create a OTLPLogExporter
call the export method and target to the mock server
get the result from the mock server
assert the result to be expected

Since i don't need to test convert method, and it's already tested in otep-transformer, how can i export log records and expect the result to be in correct otlp-http format ?

I mean you should:

create a http server or sth to receive the output
create a OTLPLogExporter
call the export method with a prepared test sample and target to the mock server
get the result from the mock server
assert the result to be expected

Hi !
I tried to perform the same tests as exporter-logs-otlp-proto does but for no reasons, sinon refuse to stub http module

I tried :

remove my test and copy paste OTLPLogsExporter.test.ts from exporter-logs-otlp-proto
keep only the describe(export) tests
adapt the code

So far my new test is exactly the same as the one from exporter-logs-otlp-proto i don't understand why sinon is able to stub http in one module and not another.
To solve this issue i tried :

upgrade sinon to 15.0.0 (exporter-logs-otlp-proto has version 15 and exporter-logs-otlp-http 14)
debug step-by-step

But i dont know what i miss here :/

https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/exporter-trace-otlp-http/test/node/CollectorTraceExporter.test.ts#L197-L211

Ok should be good now, in the end the issue was with esModuleInterop option ...

Hi, thanks for fixing this 🙂 Would you mind setting useHex to true in the browser exporter as well (src/platform/browser/OTLPLogExporter.ts)? This way we'll have this bug fixed for good 🙂

Done :D

Can you try again ? looks weird everything is fine on my laptop :/

Can you try again ? looks weird everything is fine on my laptop :/

The browser tests seem to fail, you can run those with NODE_OPTIONS=--openssl-legacy-provider npm run test:browser.
The reason is that the new tests are using node types that are not available in the browser, so the tests need to be adapted to resemble the tests in https://github.com/open-telemetry/opentelemetry-js/blob/abfe059d72d2a50d993ee7fb5ea50a1c29851a31/experimental/packages/exporter-trace-otlp-http/test/browser/CollectorTraceExporter.test.ts

Facing same issue in our project, any news on this topic ? Thanks @Nico385412

Facing same issue in our project, any news on this topic ? Thanks @Nico385412

I'm currently trying to add tests, but it's pain in the ass.... 😭

@pichlermarc should be good :D

Looks great, thanks for sticking with us on this one. :slightly_smiling_face:
Looks like it's just missing "@opentelemetry/resources": "1.14.0", in devDependencies and we can get this PR merged :slightly_smiling_face:

Any idea when this fix will be available in a release?
Thanks

Any idea when this fix will be available in a release? Thanks
Planning to release 0.41.0 next week - it will be in that one. :slightly_smiling_face:

Perfect, thank you! :)

Any news on the 0.41.0 version this will be fixed in? I'm waiting on this one too and I'd like to see if there is anything I can do to help get it out there :-)

@jdt still waiting for approvals for https://github.com/open-telemetry/opentelemetry-js/pull/3938 - it's the last PR that needs to be merged before we release 0.41.0.


Remove CaseTransition warn

Remove the following warning.
nim-dnsprotocol/src/dnsprotocol.nim(208, 9) Warning: Potential object case transition, instantiate new object instead [CaseTransition]

Thanks for your PR. However, I will not accept it, considering that the solution should not be this.
In fact, both initResourceRecord() and parseResourceRecord() suffer from the same problem and I have been postponing fixing it... In fact, the solution is very simple, but it must abandon the assignment of the object's fields in result to use the ResourceRecord() constructor.
Furthermore, calling an initResourceRecord() with type == Type.OPT must be an error that the user assumed was using it wrongly.
I will be pushing my solution. But again, thanks for the PR and the time you took to do it.

@rockcavera
Thank you for your reply. I understand.

@fox0430 pushed the solution and new release.

@rockcavera
Great! Thank you!


Update package.json

disable version mismatch check which is unnecessary here since it was tested and works even in nodejs 9++.

thanks


refactor(footer): update footer layouts

Closes #401 #315
Description
I have updated the footer to have better spacing and sizes, and replaced _container.
Is this a breaking change (Yes/No):
No

@illionillion
Can this PR still be merged?

@illionillion
Can this PR still be merged?

OK


Horizontal Button Stack - again :(

Hi,
the Issue #485  solved the error message for me too, but there is one issue on a Tablet i use with fully kiosk! I use Kiosk Mode, and it works in Portrait Mode, but when is use the tablet in Landscape, the the Horizontal Buttons are not displayed. No error is shown :(

I'm aware of this issue, I will need to try Kiosk mode to see what's wrong.

Yeah! Thank you again!

Thanks for your effort :)

I've found the best way to fix that and this will be the official fix for the kiosk mode users.
First for your kiosk mode config, remove hide_sidebard: true or kiosk: true and just keep that under kiosk_mode:
kiosk_mode:
  hide_header: true

Then go to your HA profile configuration then toggle this:

This will now works as expected and you can remove the custom style I've sent previously.


offline: everything matches after import zip

in case everything matches after importing a zip to offline repo, it is difficult to tell if something went wrong or everything is okay, suggest showing a text "loaded"/"everything matches"/something

Makes sense. Might have a look on the weekend.


Build on path with space

ORTool fails to build when cloned on a path with spaces. Many paths are unprotected in the sub-makefiles.

We know.
mizux@ is working on these.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le ven. 10 août 2018 à 10:32, Olivier Cailloux<EMAIL_ADDRESS>a
écrit :

ORTool fails to build when cloned on a path with spaces. Many paths are
unprotected in the sub-makefiles.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/801, or mute the thread
https://github.com/notifications/unsubscribe-auth/AKj17X0fs1AwJil4gjz63f0RyLJO4dh9ks5uPcORgaJpZM4V4jlY
.

Just out of curiosity on which platform did you saw it ?

debian stable. When building for https://github.com/oliviercailloux/google-or-tools-java.

Currently working on it (few patch(s) on mizux/dev), but it will take time I guess...
coin-or Cbc use autotools :disappointed:  aka configure and it doesn't support space in the path...
when calling make install on the CoinUtils Makefile generated by configure it call
$ make build_coinutils
...
make install -C dependencies/sources/CoinUtils-2.10.14
make[1]: Entering directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14'
Making install in CoinUtils
make[2]: Entering directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils'
Making install in src
make[3]: Entering directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/src'
make[4]: Entering directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/src'
/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/install-sh -c -m 644 config_coinutils.h /usr/local/google/home/corentinl/work/or\ tools/dependencies/install/include/coin/CoinUtilsConfig.h
make[4]: /usr/local/google/home/corentinl/work/or: Command not found
Makefile:887: recipe for target 'install-exec-local' failed
make[4]: *** [install-exec-local] Error 127
make[4]: Leaving directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/src'
Makefile:796: recipe for target 'install-am' failed
make[3]: *** [install-am] Error 2
make[3]: Leaving directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/src'
Makefile:436: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils'
Makefile:323: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14'
makefiles/Makefile.third_party.unix.mk:534: recipe for target 'dependencies/install/lib/libCoinUtils.so' failed
make: *** [dependencies/install/lib/libCoinUtils.so] Error 2

For the record, my investigation:
find dependencies/sources/CoinUtils-2.10.14 -iname "Makefile" -exec grep --color -Hn "or tools" {} \;
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:84:ABSBUILDDIR = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:143:COIN_PKG_CONFIG_PATH_UNINSTALLED = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils:
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:237:abs_bin_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/bin
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:238:abs_include_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/include
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:239:abs_lib_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/lib
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:240:abs_source_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/test/Makefile:285:install_sh = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/install-sh
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:120:ABSBUILDDIR = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:179:COIN_PKG_CONFIG_PATH_UNINSTALLED = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils:
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:273:abs_bin_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/bin
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:274:abs_include_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/include
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:275:abs_lib_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/lib
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:276:abs_source_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/src/Makefile:321:install_sh = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/install-sh
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:112:ABSBUILDDIR = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:171:COIN_PKG_CONFIG_PATH_UNINSTALLED = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils:
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:265:abs_bin_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/bin
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:266:abs_include_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/include
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:267:abs_lib_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/lib
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:268:abs_source_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:313:install_sh = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/install-sh
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:846:##	echo "-libpath:`$(CYGPATH_W) /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/lib` libCoinUtils.lib -lz -lm " > $(addlibsdir)/coinutils_addlibs.txt
dependencies/sources/CoinUtils-2.10.14/CoinUtils/Makefile:847:#	echo -L/usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/CoinUtils/lib -lCoinUtils -lz -lm  > $(addlibsdir)/coinutils_addlibs.txt
dependencies/sources/CoinUtils-2.10.14/Makefile:184:abs_bin_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/bin
dependencies/sources/CoinUtils-2.10.14/Makefile:185:abs_include_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/include
dependencies/sources/CoinUtils-2.10.14/Makefile:186:abs_lib_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/lib
dependencies/sources/CoinUtils-2.10.14/Makefile:187:abs_source_dir = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14
dependencies/sources/CoinUtils-2.10.14/Makefile:230:install_sh = /usr/local/google/home/corentinl/work/or tools/dependencies/sources/CoinUtils-2.10.14/install-sh

Update:
[0]─[~/work/or tools/dependencies/sources/CoinUtils-2.10.14]
[^v^]─corentinl@corentinl %git diff
diff --git a/CoinUtils/configure b/CoinUtils/configure
index 8e4bfcc..c5f57e8 100755
--- a/CoinUtils/configure
+++ b/CoinUtils/configure
@@ -5926,7 +5926,8 @@ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
 rm conftest.sed

 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+#am_aux_dir=`cd $ac_aux_dir && pwd`
+am_aux_dir=`cd $ac_aux_dir && pwd | sed "s: :\\\\\\ :g"`

 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
 # Use eval to expand $SHELL
@@ -6860,7 +6861,7 @@ if test x$prefix = xNONE; then
 else
   full_prefix=$prefix
 fi
-full_prefix=`cd $full_prefix ; pwd`
+full_prefix=`cd $full_prefix ; pwd | sed "s: :\\\\\\ :g"`

 abs_lib_dir=$full_prefix/lib

diff --git a/configure b/configure
index 7b699d8..f4be9bf 100755
--- a/configure
+++ b/configure
@@ -4853,7 +4853,8 @@ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
 rm conftest.sed

 # expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+#am_aux_dir=`cd $ac_aux_dir && pwd`
+am_aux_dir=`cd $ac_aux_dir && pwd | sed "s: :\\\\\\ :g"`

 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
 # Use eval to expand $SHELL
@@ -5787,7 +5788,7 @@ if test x$prefix = xNONE; then
 else
   full_prefix=$prefix
 fi
-full_prefix=`cd $full_prefix ; pwd`
+full_prefix=`cd $full_prefix ; pwd | sed "s: :\\\\\\ :g"`

 abs_lib_dir=$full_prefix/lib

Currently thinking to add CMake build system to each lib could be faster like I did in the monolithic repository of CBC https://github.com/Mizux/Cbc...
Note: On Cbc https://projects.coin-or.org/Cbc#DownloadandInstall
The source tarball provided here https://www.coin-or.org/download/source/Cbc/ is NOT the same than the github Cbc source tarball. i.e. it seems to be an extract of the svn containning Cbc and all its dependency while the Cbc github only contains the Cbc project.... :sleepy:

I believe it is fixed.
Please reopen if not.


Saeed

Summary
on Actionsheet when user disable overlay by adding disableOverlay it is impossible to close with click outside of modal.
With this change you can disable overlay and prevent from dimming screen and close action menu easily.

not applicable


cannot hold very large DataFrame

I have a DataFrame which size should be about 6000000*1000, this error happens
Traceback (most recent call last):

  File "<ipython-input-9-6ad29a9635f6>", line 1, in <module>
    object_id = client.put(data)

  File "pyarrow/_plasma.pyx", line 496, in pyarrow._plasma.PlasmaClient.put

  File "pyarrow/serialization.pxi", line 355, in pyarrow.lib.serialize

  File "pyarrow/error.pxi", line 93, in pyarrow.lib.check_status

ArrowCapacityError: BinaryArray cannot contain more than<PHONE_NUMBER> bytes, have<PHONE_NUMBER>

Thanks for reporting this. Could you please open a JIRA issue?

Also, please provide a reproducible example of the issue if you can

2G is plasma server default maximum allocation pool.

2G is plasma server default maximum allocation pool.

@fsaintjacques how to set plasma server maximum allocation pool

@fayeshine  https://arrow.apache.org/docs/python/plasma.html provides a command line with parameters have you tried that?

@emkornfield thanks, I have already set to 100GB, but this bug still happen

Hi fayeshine, actually looking at the error, I think the issue might be that you are creating a binary  value that has more then 2^31-1 bytes in it.  This is not currently supported in the existing layout for strings/list/variable width types(https://arrow.apache.org/docs/memory_layout.html).  There is a discussion on the mailing list about supporting larger types.

@fayeshine see explanation above, if that doesn't explain it, please file a bug

@emkornfield when will we support larger types?

Hard to say, it will probably take a week or two to come to consensus on the mailing list.   If we agree to support the larger types someone needs to contribute patches, the only type currently being worked on is lists.  If you have interest and time it might be easy to replicate the work on large list type  to other types.


⚠ Bofrost.fr has degraded performance

In 16da6a1, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1297 ms

Resolved: Bofrost.fr performance has improved in 3b874e4 after 6 minutes.


Pandoc not seeing templates folder

I've followed all of the instructions, created templates folders in both of the locations pandoc says my default user data is, and I keep getting this error:
Could not find data file templates/eisvogel.latex

try specifying the template to be eisvogel.tex rather than just eisvogel

Have you renamed the file eisvogel.tex to eisvogel.latex in the template folder? Seems like that's causing the problem ...

Have you renamed the file eisvogel.tex to eisvogel.latex in the template folder? Seems like that's causing the problem ...

That worked!


bandwidth tests

Hello,
I am doing bandwidth testing through quic. When I use quic to achieve video download, the NIC utilization is worse than downloading files via tcp. Gigabit NIC tcp can measure 900M/s, but quic can only measure 580M/s, why is this, can give suggestions, thank you very much

Are you using a single QUIC connection for your measurement?

I use 200 quic connect, and each connect has 4 stream, when the server listens to one port, only 600M/S can only be used. When the server listens to multiple ports, the network card can be depleted (1024M/S)

@KouChongYang could you share the testing code?

@wheelcomplex https://github.com/KouChongYang/quic-test

This should probably have gotten a lot better with the recent fixes to our pacing algorithm (#1855 and #1857). Feel free to open a new issue if the problem still exists.

./quic-test -s -f /data/test/10m -b <IP_ADDRESS>:9876 -n 3 -t 30
./quic-test -c <IP_ADDRESS>:9876 -n 30 -cn 400
[root@sta_dev ~]# dstat -nN lo
---net/lo--
recv  send
0     0
22M   22M
18M   18M
26M   26M
20M   20M
31M   31M
24M   24M
24M   24M
10M   10M
22M   22M
25M   25M
24M   24M
14M   14M
15M   15M
25M   25M
29M   29M


Dockerfile: fix the container image build

Dockerfile: fix the container image build

This commit refactors the Dockerfile instructions so that the image is
built successfully. This required various steps, which are summarized
below:

* To resolve an error encountered when running `brew`, a USER
  instruction was added to run subsequent processes as the `linuxbrew`
  user. This benefit is also extended to consumers of the image, such
  that they do not need to specify a non-root user on the command line
  when running a container using this image.
* Various command lines were moved from one RUN invocation to the other
  in order to improve image caching behavior (although note that this
  gain is negligible in terms of performance).
* The COPY instruction, which copies the local repository into the
  image, was refactored in order to avoid a potential error with the git
  configuration lock file, which can be encountered in subsequent
  rebuilds after a failure occurs in the second RUN instruction. This
  also avoids an issue with file ownership (due to the movement of the
  chmod/chown commands to the first RUN instruction)

closes Homebrew/brew#11802

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

There are additional improvements that the container image could still benefit from, namely:

Avoiding cloning homebrew/homebrew-core via git. This causes the build to hang for some time (on the order of several minutes; I haven't timed it precisely). We could instead bring these source files in via an ADD instruction, pulling an archive from GitHub directly.
Reducing the image size. The current image exceeds 1GiB in size. This is... huge. Drawbacks to an image as large as this include slower network transport (of the image, to/from registries), higher disk consumption, and higher CPU and memory requirements to run. This can be done by utilizing a smaller base image, and/or multi-stage builds, as well as performing optimization of the final image contents, ensuring that any unecessary artifacts are removed.
Improve the user experience. Currently, users are required to type a command similar to docker run --rm -v "$(pwd):/home/linuxbrew/.linuxbrew" homebrew/brew brew <command>. This is a bit verbose, and also isn't ideal, as paths in PWD that are mounted into the container can overwrite preexisting paths within the container, and as with this repository (when running brew {style,typecheck,tests}), can potentially lead to lengthy runtimes due to re-fetching of the dependencies.

I will plan to submit PRs for the above recommendations over the next few weeks. I'd like to get it done sooner, but time constraints and my unfamiliarity with the internal architecture of brew will likely lead to me not being able to iterate on this right away.

cc @iMichka @MikeMcQuaid

First rebase: updating the commit message for clarity.
Second rebase: rebasing on top of 1a55b749c953c530087f31254e1ff9aa6fd4330a.

Improve the user experience. Currently, users are required to type a command similar to docker run --rm -v "$(pwd):/home/linuxbrew/.linuxbrew" homebrew/brew brew . This is a bit verbose, and also isn't ideal, as paths in PWD that are mounted into the container can overwrite preexisting paths within the container, and as with this repository (when running brew {style,typecheck,tests}), can potentially lead to lengthy runtimes due to re-fetching of the dependencies.

I neglected to mention that yes, it is possible for the user to manually override this by mapping the files into a different path, and updating the working directory when running the image,  however, this is cumbersome, and we can (and should) do better.

Avoiding cloning homebrew/homebrew-core via git. This causes the build to hang for some time (on the order of several minutes; I haven't timed it precisely). We could instead bring these source files in via an ADD instruction, pulling an archive from GitHub directly.

Would like to leave this as-is. We need this in our CI jobs and various bits of Homebrew functionality assume it is cloned (for now, at least).

Reducing the image size. The current image exceeds 1GiB in size. This is... huge. Drawbacks to an image as large as this include slower network transport (of the image, to/from registries), higher disk consumption, and higher CPU and memory requirements to run. This can be done by utilizing a smaller base image, and/or multi-stage builds, as well as performing optimization of the final image contents, ensuring that any unecessary artifacts are removed.

Optimisation at the end seems best to us. We'd rather avoid a smaller base image or omitting anything from git. We could do a more aggressive git gc perhaps, though.

Improve the user experience. Currently, users are required to type a command similar to docker run --rm -v "$(pwd):/home/linuxbrew/.linuxbrew" homebrew/brew brew <command>. This is a bit verbose, and also isn't ideal, as paths in PWD that are mounted into the container can overwrite preexisting paths within the container, and as with this repository (when running brew {style,typecheck,tests}), can potentially lead to lengthy runtimes due to re-fetching of the dependencies.

This makes sense to me but interested what @iMichka and @Homebrew/linux think.

Would like to leave this as-is. We need this in our CI jobs and various bits of Homebrew functionality assume it is cloned (for now, at least).

To be clear -- Homebrew needs the git history of the homebrew-core project? What I'm suggesting would grab the source code just fine, however, GitHub doesn't include the .git directory in archive downloads by design.

Optimisation at the end seems best to us. We'd rather avoid a smaller base image or omitting anything from git. We could do a more aggressive git gc perhaps, though.

I'm not sure I'm following you. Why would Homebrew's maintainers want to avoid a smaller base image? As an example, there is nothing in the dependency list (as far as I can tell) that is not available on Alpine Linux.

@sudoforge Hi, Ben. Thanks for this work. I'm camping this week, so I'll do my best with a quick reply now, but I'll be able to reply in more detail next week.
Please submit one PR for each isolated change that you would like to make. It will help to focus the discussion, and permit closing PRs with changes that we don't wish to make, while keeping merging PRs with changes that we do wish to make, or discussing changes in PRs that need changes.

To resolve an error encountered when running brew, a USER
instruction was added to run subsequent processes as the linuxbrew
user.

That's how it used to be, and it was intentionally switch from user linuxbrew by default to user root by @MikeMcQuaid in PR https://github.com/Homebrew/brew/pull/5733. Please revert this change, or better, close this PR and open new PRs that isolate each change in their own PR.

Optimisation at the end seems best to us. We'd rather avoid a smaller base image or omitting anything from git. We could do a more aggressive git gc perhaps, though.

I'm not sure I'm following you. Why would Homebrew's maintainers want to avoid a smaller base image? As an example, there is nothing in the dependency list (as far as I can tell) that is not available on Alpine Linux.

There's no such thing as a free lunch. 😁 A smaller base image has less functionality. The ubuntu:20.04 base image is 73 MB, or something like 6% of the 1.2 GB Homebrew/brew image. It's not worth losing that functionality for reducing the size of the image by something less than 6%.

Would like to leave this as-is. We need this in our CI jobs and various bits of Homebrew functionality assume it is cloned (for now, at least).

To be clear -- Homebrew needs the git history of the homebrew-core project? What I'm suggesting would grab the source code just fine, however, GitHub doesn't include the .git directory in archive downloads by design.

Correct. The brew update command in particular needs the history of the project, due to performance issues on the GitHub server side with sparse checkouts, which we used previously.
A separate Docker image could be maintained by a motivated third party that has the formulae, but not the Git history, has HOMEBREW_NO_AUTO_UPDATE=1 set by default, and does not support brew update (at least not without downloading the Git history first).
We have discussed possible improvements to Homebrew that do not require "tapping" (cloning) the Git history to be able to brew install. The primary motivation is improving the install time of Homebrew, but it would also improve the size of the Docker image substantially. This issue is on our radar.

Various command lines were moved from one RUN invocation to the other
in order to improve image caching behavior (although note that this
gain is negligible in terms of performance).

Please separate functional changes from performance improvements.

To be clear -- Homebrew needs the git history of the homebrew-core project?

Yes.

There's no such thing as a free lunch. 😁 A smaller base image has less functionality. The ubuntu:20.04 base image is 73 MB, or something like 6% of the 1.2 GB Homebrew/brew image. It's not worth losing that functionality for reducing the size of the image by something less than 6%.

👍🏻. Also: we use this image to build our binary packages. Perhaps we could consider eventually having a "Homebrew maintainers/CI image" and a "end-users consumption image" (the latter being as small as possible).

We have discussed possible improvements to Homebrew that do not require "tapping" (cloning) the Git history to be able to brew install. The primary motivation is improving the install time of Homebrew, but it would also improve the size of the Docker image substantially. This issue is on our radar.

Even in this case: we'll likely still need that data in this Docker image for our CI usage.

Today I learned about HOMEBREW_JSON_CORE from @Rylan12, which makes it unnecessary to tap (clone) Homebrew/core!
https://github.com/Homebrew/brew/search?q=HOMEBREW_JSON_CORE

Today I learned about HOMEBREW_JSON_CORE from @Rylan12, which makes it unnecessary to tap (clone) Homebrew/core!
https://github.com/Homebrew/brew/search?q=HOMEBREW_JSON_CORE

I think using this for the initial "bootstrap" would also make things easier to setup because we wouldn't need to have a new enough git.  The git and curl on CentOS 7 is now too old to install Homebrew, and I have to use Anaconda to install newer versions of git and curl first before Homebrew will even install.  We can probably use the Debian Wheezy version checks instead during the initial install, but we could avoid having to deal with git by using HOMEBREW_JSON_CORE during the initial setup to install a newer git.

Yes, please don't encourage any non-maintainer use yet, thanks.


Fix "Suggest An Edit" link

On https://elianiva.my.id/post/a-year-of-japanese, the link is rendered as https://github.com/elianiva/elianiva.my.id/blob/master/src/routes/post/post/a-year-of-japanese/index.svx.

thank you!


[WIP] Test static code in documentation pages

Code can be tested by running make doctest under the /docs directory
Doc code testing is integrated into pytest using the Sybil library
todo

[x] Integrate tests into pytest
[x] Skip appropriate code blocks
[x] Construct plots on-the-fly
[x] Add captions to plots
[ ] Review docs for errors

@mgiammar Add sybil to environment-dev.yml file as well. Windows tests is failing with No module named 'sybil'

@mgiammar I have replaced some of the plot directives with code-block, where plots weren't generated. Removed the raw html caption with the plot :caption:


Downloading files opens default browser, leading to 403

My Setup

OS X El Capitan 10.11.6
1.3.1
[x] I have tested with the latest application version
[x] I can simulate the issue easily

Description
When someone sends me a file and I try to download it, it opens the link in Chrome. Since I'm not authenticated in my browser I get a 403 error and can't download the file.
Current Behavior
Download links are opened externally.
Expected Behavior
Downloads should be processed internally.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

A temporary workaround is to download the files via the "attachments" sections in the flexbar on the right side of the screen.

Yes, but this workaround is not good. I have this issue with Windows 10 Desktop client 1.3.1. The workaround is to open RocketChat server link with browser, then session will be active and you will be able to open Desktop Client link. But this must be fixed ASAP!!

I totally agree, would be nice to use the default download method in the Electron client as well.

Yes, because users are confused when trying to open links, there are not so many users that know Desktop Client Files List option.

I'm having the exact same problem on macOS 10.11.6.

This is at the moment the top 1 complain from my users

+1 for a fix on this. Our users must authenticate (log in to Rocket.Chat) in the browser before they can view linked attachments because the attachments from the client are redirecting to the browser. Our configuration uses S3 as the file upload location. Our server version is 0.42.0 and our client version is Mac 1.3.1 (15). This symptom seems to be server/client related and showed up with a server version update from 0.23.0 to 0.42.0 with no change to client version.

We are aware that this is a big issue and we're completely open to people
submitting a pull request to get this fixed. Once we get some time, this
will be one of the first things we look into.
On Wed, Oct 5, 2016, 6:35 PM Eric Lakich<EMAIL_ADDRESS>wrote:

+1 for a fix on this. Our users must authenticate (log in to Rocket.Chat)
in the browser before they can view linked attachments because the
attachments from the client are redirecting to the browser. Our
configuration uses S3 as the file upload location. Our server version is
0.42.0 and our client version is Mac 1.3.1 (15). This symptom seems to be
server/client related and showed up with a server version update from
0.23.0 to 0.42.0 with no change to client version.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/RocketChat/Rocket.Chat.Electron/issues/227#issuecomment-251829902,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAz519NOlfsTFl1983lT0721fALk_IAfks5qxDRbgaJpZM4J4xeM
.

ubuntu 16.04; Rocket.Chat 0.44; Client Windows 7; Rocket.Chat+ Version 1.3.1
+1 for a fix on this

+1 for fix please.
Server: Ubuntu 16.04; Rocket.Chat 0.44 & 0.45; Client OSX (10.9.x-10.11.x); Rocket.Chat.Electron Version 1.3.1

+1.
subscribe this issue : >

https://github.com/RocketChat/Rocket.Chat/issues/4417

Is this still happening with the latest version? I'm unable to reproduce this on Windows 10 or macOS.

I think this is working in the latest version. Please reopen if not.

this is still an issue.
macos sonoma
RocketChat official app store client (version 3.9.7)
RocketChat server version 6.4.5
The attachment link is missing the ?download part of the URL, thus opening browser
The tiny, cloud, download icon link is working properly

same problem on RocketChat server  6.4.5

Same here, opens in external browser window with 403 error

same Problem, RC 6.5.2 and Client 3.9.11 -> opens in browser, will result in 403 since not authenticated (unless allow access for anyone is set which is not wanted)

The problem still exists in client 3.9.14

Problem still persists when opening files from rocketchat app. Had to disable file protection so users can actually use it.

Problem still persists when opening files from rocketchat app. Had to disable file protection so users can actually use it.

It will be fixed for all the file storage options in 6.10. Its a server issue that is fixed and will be released on next update.


More DCE checks.

Collection of possible additional DCE checks:

[x] An optional arg is never passed.
[x] An optional arg is always passed.
[x] Apply the same checks for optional args to components and JSX.
[ ] A record field of type option(t) is always None, or always Some.

The only remaining one from this issue is the record field.
One complication is that because of FFI, one cannot trace all the uses of records. So it's not completely clear what tradeoffs one would have to make here. Perhaps try to detect what record values are used in FFI, which would by itself be a separate analysis.
Putting on the list of "maybe in future" ideas.


Several questions about CupertinoWidget

problem

1.Cannot call out the copy and paste menu bar when the CupertinoTextField is empty. I updated it #https://github.com/flutter/flutter/pull/37042, but the problem is still not solved. This situation can only be temporarily resolved when I type in the text and then call out the menu bar once.

2.When the background is white, the horizontal lines in the dialog box are obviously invisible, and they can only be seen when the background is colored.
like this, it is faintly visible in the colored background, but on a white background it will disappear:

3.In the case of Chinese, part of the text in the CupertinoTextField menu bar is obviously cropped.
like this:

4.In case the CupertinoTextField has only hint and is Chinese, the cursor only shows a part, but input text will be fully displayed.
in before input:

in after input:

5.In China, people prefer to use third-party keyboard programs. But unfortunately, in Flutter CupertinoTextField, the following shortcuts don't respond, but it's clear that the native EditText doesn't have this problem. #https://github.com/flutter/flutter/issues/27880
these shortcuts are copy, paste, select all, cut, ltrb select, delete text, etc...

I hope that it can be solved as soon as possible, let flutter be perfect

Thanks for the detailed report!
It would be best to break this into 5 separate issues.

@HansMuller Thank you for your reply, I will standardize the question next time.

For number 1, can you try again on the master channel?  Here is a gif of how it works for me on master.  I tap to open the keyboard, then long-press the field, and the paste button shows up.

@justinmc This is a very obvious and urgent problem. It makes my application experience very bad ，This problem is the function of Android Chinese third-party input method, such as iFLYTEK input method and Sogou input method

@jlcool I think that problem (part no. 5 of this issue) may be related to https://github.com/flutter/flutter/issues/9419, which is about special IME keys that Flutter currently doesn't support.
I think we would need to add support for other key codes like this in the engine similar to here and the other conditions of the if statement.

@justinmc Thank you for your reply. I have been troubled by this problem for a long time. How long can I solve this problem

Me or someone else should get to this at some point.  In the meantime if you or anyone else wants to try fixing this and opening a PR, please feel free!
I think the first thing to do would be to log the event.getKeyCode() that is being sent when you press the buttons that aren't working.  Then, add support in the if statement here for each of the key codes that you want support for.
This takes place in the Flutter engine, so you would need to compile the engine and run Flutter with --local-engine=... to be able to do this.

@justinmc It's a little difficult for me. I'll try, or I hope you can solve this problem. Thank you

I installed the Sogou keyboard and played around with it while watching what key events are sent to the engine.  I think that a generic fix for https://github.com/flutter/flutter/issues/9419 will likely solve a lot of the problems here, though there seemed to be a ton of features in that keyboard, so there could be some follow up needed.

We've just pushed a change adding support for many of the text editing controls mentioned at the 5th point of this issue.
Up/down don't behave well on texts with soft wrapping, but it does something.

I confirmed that the keyboard support added in https://github.com/flutter/engine/pull/15560 works for the Chinese Sogou keyboard too.
I'm going to close this issue, since it really should be several separate issues.  If anyone is still seeing any specific problems listed above, please open a new issue for each and link this issue.


Fix SignalRW read_pv convert

The conversion was defaulting to use name + RBV for read_pv, which is now not correct.
This fix makes SettingPair pass in the read_record so that the pv comes from the template.
It would probably be possible to refactor these classes so that more fields are required and checks for None can be removed.

@gilesknap apologies you may need to check the convert you did for motor with this latest version. If you had SignalRWs the read_pvs will be wrong.


TextField is getting focus after calling Navigator.pop

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
TextField is getting focus if it was previously focused after calling Navigator.pop and using MaterialApp.router constructor.
It doesn't get focus if popped by native gesture like back button or swipe. This is quite critical for our application and I think for the majority of apps because keyboard is showing after each route popping.
Steps for iOS:
Focus one of field.
Hide keyboard with drag
Go to the next page by tapping FAB
Navigate back by tapping FAB on green screen
Steps for Android:
Focus one of field.
Go to the next page by tapping FAB
Navigate back by tapping FAB on green screen
Expected results
Textfield is not getting focus if it was not focused before push and the route above popped by Navigator.pop. Actually I'd like to have behavior of not autofocusing even if it WAS focused before push because I have tabs in real app and when popping to the tab which doesn't have the textfield the field gets focus. But maybe this is not a bug and can be fixed with creating FocusScope. The bug is only on ios. The desired behavior is not correct on both platforms.
At least implementation with MaterialApp doesn't have a bug
https://github.com/IlyaMax/flutter_playground/tree/text-field-focus-when-pop-ios-issue-not-router
Actual results
Opposite to expected
Code sample
Minimal reproducable example:
https://github.com/IlyaMax/flutter_playground/tree/text-field-focus-when-pop-ios-issue with beamer
https://github.com/IlyaMax/flutter_playground/tree/text-field-focus-when-pop-ios-issue-go-router with go router
Screenshots or Video
Behavior with MaterialApp on iOS which is equivalent to behavior on android with both MaterialApp, MaterialApp.router.
https://user-images.githubusercontent.com/33570996/231721611-18759990-bf86-41b9-8dec-d78aca2186bb.mp4
Behavior with MaterialApp.router on iOS
https://user-images.githubusercontent.com/33570996/231720264-ca836d3b-44d6-497a-8252-7470c379e36d.mp4
Logs
No logs
Flutter Doctor output
[✓] Flutter (Channel stable, 3.3.10, on macOS 12.5.1 21G83 darwin-arm, locale en-UA)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.76.1)
[✓] Connected device (4 available)
[✓] HTTP Host Availability
• No issues found!

Hello @IlyaMax. While I can reproduce this issue with the samples you provided, can you confirm if this issue is reproducible using plain Navigator, with no packages like go_router or beamer? What I am trying to understand here, if this is an issue with MaterialApp.router and the Navigator 2.0 API itself, or go_router

@exaby73

At least implementation with MaterialApp doesn't have a bug
https://github.com/IlyaMax/flutter_playground/tree/text-field-focus-when-pop-ios-issue-not-router

@IlyaMax So that repo doesn't use go_router which is why I asked about Navigator 2.0 vs go_router. It's still unclear on that front

or you want exactly navigator 2? not 1? maybe i misunderstood this moment

Using MaterialApp is the 1.0 API, while MaterialApp.router is the 2.0 API. What I mean is using MaterialApp.router without any package. Does it reproduce?

@exaby73 MaterialApp.router has quite complex API, so I'm not sure that I'm able to make mre with this. Anyway this bug occurs either in go_router or flutter. Both supported by flutter team. I think that it's more probable bug is not in beamer or go_router, because I've digged into which focus nodes change their state and all this logic was in framework. I'll try to find the difference between which focus nodes change in Navigator 1 and beamer to find the difference. Maybe this will help to find the cause.

@IlyaMax
I suspect the problem has nothing to do with the navigation: you lose the focus as soon as you tap on the FAB  :)
I noticed trying to take a shot at this

code sample

// ignore_for_file: avoid_print

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

abstract class Routes {
  static final home = Uri.parse('/');
  static final second = Uri.parse('/second');
}

void main() => runApp(const MyApp());

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late final GoRouter _router;

  @override
  void initState() {
    _router = GoRouter(
      initialLocation: Routes.home.path,
      routes: [
        GoRoute(
          path: Routes.home.path,
          builder: (context, state) => MyHomePage(
            textFieldsBuilders: [
              const FocusedTextField(),
              const FocusedTextField(),
              const FocusedTextField(),
              const FocusedTextField(),
              const FocusedTextField(),
            ],
          ),
          routes: [
            GoRoute(
              path: Routes.second.pathSegments.last,
              builder: (context, state) => const SecondScreen(),
            ),
          ],
        ),
      ],
    );
    super.initState();
  }

  @override
  void dispose() {
    _router.dispose();
    super.dispose();
  }

  @override
  Widget build(context) => MaterialApp.router(routerConfig: _router);
}

class SecondScreen extends StatelessWidget {
  const SecondScreen({super.key});

  @override
  Widget build(context) => Scaffold(
        backgroundColor: Colors.green,
        floatingActionButton: FloatingActionButton(
          onPressed: Navigator.of(context).pop,
          child: const Icon(Icons.arrow_back_ios_rounded),
        ),
      );
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    super.key,
    this.textFieldsBuilders = const [],
  });

  final List<FocusWidgetBuilder> textFieldsBuilders;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage>
    with AutomaticKeepAliveClientMixin {
  late final ValueNotifier<int?> _longTermNotifier;

  late final ValueNotifier<int?> _notifier;
  late final List<FocusNode> _focusNodes;

  void _resumeFocus() {
    print('####### _resumeFocus');

    if (_notifier.value == null || !(_focusNodes.length < _notifier.value!)) {
      print('####### _notifier.value =  ${_notifier.value}');
      print('####### _focusNodes.length =  ${_focusNodes.length}');

      return;
    }
    _focusNodes[_notifier.value!].requestFocus();
  }

  VoidCallback _handleFocus(int index) => () {
        print('####### _handleFocus');

        if (!(index < _focusNodes.length)) {
          return;
        }

        if (_focusNodes[index].hasFocus) {
          print('focused on $index');
          _notifier.value = index;
        }

        if (!(_focusNodes[index].hasFocus) && _notifier.value == index) {
          print('removed focus at $index');
          _notifier.value = null;
        }
      };

  @override
  void initState() {
    _longTermNotifier = ValueNotifier(null);
    print('####### init');
    _notifier = ValueNotifier(null)
      ..addListener(
          () => print('####### confirm notifier value =  ${_notifier.value}'));
    _focusNodes = [
      for (var i = 0; i < widget.textFieldsBuilders.length; ++i)
        FocusNode()..addListener(_handleFocus(i))
    ];
    super.initState();
  }

  @override
  void dispose() {
    print('####### dispose');

    _notifier.dispose();

    for (var i = 0; i < _focusNodes.length; ++i) {
      _focusNodes[i]
        ..removeListener(_handleFocus(i))
        ..dispose();
    }
    super.dispose();
  }

  @override
  Widget build(context) {
    print('####### build');
    WidgetsBinding.instance.addPostFrameCallback((_) => _resumeFocus());
    super.build(context);
    return Scaffold(
      body: ListView(
        keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
        children: [
          for (var i = 0; i < widget.textFieldsBuilders.length; ++i)
            widget.textFieldsBuilders[i].build(_focusNodes[i])
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          print('####### onPressed');
          context.go(Routes.second.path);
        },
        child: const Icon(Icons.add),
      ),
    );
  }

  @override
  final wantKeepAlive = true;
}

class FocusedTextField {
  const FocusedTextField();
  WidgetBuilder call(FocusNode focusNode) =>
      (context) => TextField(focusNode: focusNode);
}

typedef FocusWidgetBuilder = WidgetBuilder Function(FocusNode);

extension FocusWidgetBuilderX on FocusWidgetBuilder {
  Widget build(FocusNode focusNode) => Builder(builder: this(focusNode));
}

you will get logs like these
####### init
####### build
####### build
####### _resumeFocus
####### _notifier.value =  null
####### _focusNodes.length =  5
####### _resumeFocus
####### _notifier.value =  null
####### _focusNodes.length =  5
####### _handleFocus
focused on 2
####### confirm notifier value =  2
####### _handleFocus
removed focus at 2
####### confirm notifier value =  null
####### onPressed
####### build
####### _resumeFocus
####### _notifier.value =  null
####### _focusNodes.length =  5

notice that "####### _handleFocus removed focus at 2" is called just before "onPressed"
which means the navigator didn't even had a chance of messing up things
@exaby73
c'mon! go_router is first party and nobody implements vanilla navigation 2.0
I don't see the value of reverse engineering a (imho) valid code sample

Alright thanks for the information. I can indeed reproduce this issue with the code sample provided and therefore, I'll label it for further investigation from the team

noticed one thing: reproduction steps are the same for ios and android if I add 5 more textfields to the listview and remove focus by dragging. so the issue in how ScrollViewKeyboardDismissBehavior.onDrag works

used temp fix instead of this and using ScrollViewKeyboardDismissBehavior.onDrag
NotificationListener<ScrollUpdateNotification>(
        child: scrollableResult,
        onNotification: (ScrollUpdateNotification notification) {
          final FocusScopeNode focusScope = FocusScope.of(context);
          if (notification.dragDetails != null && focusScope.hasFocus) {
           focusScope.unfocus();
          }
          return false;
`
use this but as custom wrapper widget
```dart
NotificationListener<ScrollUpdateNotification>(
        child: scrollableResult,
        onNotification: (ScrollUpdateNotification notification) {
          final FocusScopeNode focusScope = FocusScope.of(context);
          if (notification.dragDetails != null && focusScope.hasFocus) {
            focusScope.focusedChild?.unfocus();
          }
          return false;
`
I'm not sure if this breaks something else but it works for my case.

发现在TextField下的onTapOutside属性使用unfocus() 可以解决这个问题

发现在TextField下的onTapOutside属性使用unfocus() 可以解决这个问题 TextField( onTapOutside: (PointerDownEvent event) { MineLogUtil.log('点击了输入框区域外 event: $event'); _focusNode.unfocus(); }, )

安卓, 多个输入框切换的时候, 可能会导致键盘关闭


feat(tenantoptions): allow setting tenant option with an explicit empty value

Align to Cumulocity REST API spec where the value is not a required parameter for the following commands:

c8y tenantoptions create
c8y tenantoptions update

The above command include the following changes:

Allow users to specify an empty string via the --value flag
Allow users to create an option without using the --value flag (e.g. it is no longer required)

Examples
# Create an option
c8y tenantoptions create --category "measurement.series.latestvalue" \
    --key "c8y_Temperature.*" --value "" --dry

# Update an option
c8y tenantoptions update --category "measurement.series.latestvalue" \
    --key "c8y_Temperature.*" --value "" --dry

The example looks like I would expect it. Initially I wanted to challenge making the "value" parameter optional but checking the API it is indeed not required.

The example looks like I would expect it. Initially I wanted to challenge making the "value" parameter optional but checking the API it is indeed not required.

Yeah that surprised me too. Thanks for checking


RFC: Add system health component

Description:
Was talking with Tinkerer, and we came to the conclusion that we should prioritize adding this component as it will help with helping (how meta).
Goal is to get a place in the UI to show the info on the machine. This will help people with diagnosing problems.
Some RFC about this implementation:

Right now info is just a callback function (not awaitable) to get some static info.
Idea is to add a diagnostics view that allows components to actually run some tests (like is network connected, can I reach the internet, is HA Cloud reachable etc). I am not sure if this is something that we should make part of the same info registration method or add a new one.

UI will look something like this:

System

OS: HassOS
Version: 2.6

Lovelace

Storage: YAML

Related issue (if applicable): fixes https://github.com/home-assistant/architecture/issues/114
Pull request in home-assistant.io with documentation (if applicable): TODO home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
Example entry for configuration.yaml (if applicable):
system_health:

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Added system_health: in configuration.yaml
Home Assistant 0.87.0
After restart:
System Health error | System Health component is not loaded. Add 'system_health:' to configuration.yaml
In log:
Log Details (ERROR)
Thu Feb 07 2019 13:33:49 GMT-0500 (Eastern Standard Time)
Received invalid command: system_health/info

@vlad36N, please open an issue.


testObjectFieldVisibility in some controllers depend on namespace

The GW_Volunteers__ prefix is hardcoded in testObjectFieldVisibility on VOL_CTRL_PersonalSiteContactInfo and VOL_CTRL_VolunteersJobListingFS, causing tests to error in other Dev environments.

patch forthcoming to use VOL_SharedCode.StrTokenNSPrefix, just need to get my pull requests all in order.