Python bindings

We should add Python bindings to the public API of linfa crates. This will allow us to fairly benchmark linfa against scikit-learn, which also uses a Python API, as well as making linfa easier to use, allowing for wider adoption. This process can be done piece by piece. I suggest we start with linfa-clustering, since that's the most-used linfa crate and also has prior art behind it.
Questions

How close do we make the API to scikit-learn? Do we want exact parity?
How do we support numpy in our API without lots of data copying?
linfa makes heavy use of generics, but for Python bindings we need to pick one monomorphization to build. For type params like F we can just pick f64, but for other it's less clear cut. We may also need to choose between different params at runtime instead of compile time. Do we use an enum? A trait object?
Similarly, which features do we want to build linfa with?

We'll likely put all the bindings into one Python package, so that we don't build multiple copies of linfa across multiple packages.
Prior Art
When @LukeMathWalker first released linfa, he also released Python bindings here, for benchmarking against scikit-learn. AFAIK these bindings only support KMeans, and they are also 3 years old, but they should provide a good starting point.

Regarding the first point, unless there is a compelling reason not to do so, it would be better to follow scikit-learn conventions to ease comparison and reach a wider adoption.

How close do we make the API to scikit-learn? Do we want exact parity?

I'm not sure whether the current linfa-rs is easy to adoption for pythonbindings.

How do we support numpy in our API without lots of data copying?

I think there're 2 approaches:
(1) Hook a my-numpy as an zero-copy numpy implementation.
import my-numpy as np
x = np.xxx
# Now we can pass x to linfa API which could avoid unnecessary copies underhook.

(2) numpy is implemented in native language(C++), so it's able to pass a numpy object to linfa, and then in linfa, we use the native handles.
arr = np.array([[1,2,3],[1,2,3]], dtype=np.float32)
arr_ptr = arr.ctypes.data
# We could use arr_ptr in native language.

But anyway, we should support linfa being able to operate a numpy object in native.

Ideally I want to break the numpy array down into its data pointer and metadata components, then assemble it back into the equivalent ndarray, without copying data. Directly adding support for native numpy arrays to linfa requires lots of rewriting and heavy use of generics, which I'd like to avoid.

I see. but I'm not sure whether the functionalities that we need in ndarray is totally equivalent to numpy.

Just as a counterpoint to @relf: I've started on simple efforts for porting Linfa to Python a couple times (PyO3 can be oddly frustrating sometimes), and I'm not convinced that matchingscikit-learn's API exactly is necessary, or even desirable. In addition to the work that Luca did a few years back, I think it's worth considering the polars library, a Dataframe library, written in Rust but ported to python as a py-polars package. Python already has pandas among others, and polars is very much in this same vein (both are even bears!).
However, the APIs, while similar, are not exactly the same, and for good reason: idiomatic Rust and idiomatic Python (which, granted, is somewhat more loose) are not identical, and porting APIs between the languages reflect this. Both pandas and scikit-learn also "suffer" (for lack of a better term) from their own historical development; the choices that they've made are not necessarily the exactly correct choices. I know that I've made design choices for programs in the past where, if given the chance, I would  change, and I expect that the developers for scikit-learn probably feel the same in at least some areas. There's certainly room for variation, and I think that making a decision to aim to match the exact API of scikit-learn could leave opportunities for improvement or experimentation behind where they might actually be desirable. While the point about easy adoption is valid, and I certainly support looking to that API for inspiration or consideration, I think that the in the trade-off between potentially building something a little different but improved, or potentially getting quicker adoption, I'd personally lean towards the former.

I also didn't see this linked yet, so just wanted to add it to the thread: the PyO3 project already has a Numpy interop project called rust-numpy which could help to solve this problem without doing it ourselves. Since Luca's linfa-python is also using that project (and, anecdotally, despite occasional frustrations, I've also had  good experiences with), it may be a good option.

I think it will be good to have support for Arrow as in-memory data storage for linfa. Then any DataFrame based on arrow will have default support such Polars, DataFusion. That how we can mave multiple DataFrame API support.

Feel free to open a separate issue for that

Hi all,
tl;dr: I am one of the maintainer of scikit-learn. If you want to use scikit-learn it as a front-end of linfa, you might be interested and want to be involved in https://github.com/scikit-learn/scikit-learn/issues/22438.

I agree with most of @quietlychris's remark:

Both pandas and scikit-learn also "suffer" (for lack of a better term) from their own historical development; the choices that they've made are not necessarily the exactly correct choices. I know that I've made design choices for programs in the past where, if given the chance, I would change, and I expect that the developers for scikit-learn probably feel the same in at least some areas.

I do not know about pandas, but I think scikit-learn has made (close to, if not) the best design decisions back. The situation has changed now, and extending scikit-learn to make it compatible with other projects written in other languages come with unforeseen constraints and challenges (e.g. different idiomatic constructions, harden interfaces adaptations, adherence to dependencies' design choices and concept, vendoring or depending on shared libraries for OpenMP and BLAS implementations, packaging, etc.) making extend it harder but not impossible to extend.
I think scikit-learn's initial design decisions put the emphasis on UX, documentation, compatibility and composability with other projects in the Scientific Python ecosystem, rather than on performance, portability to other context (e.g.  embedded systems), and interfaces to other languages. To me, this explains scikit-learn's adoption.
I think other projects like mlpack or SHOGUN took different design decision (based on different use-cases), and it might be valuable to learn about those projects' experience and challenges.
I think one of the most notable room of improvement scikit-learn's maintainers have identified for the library is (native) performance.
When it comes to native performance, we are putting efforts into optimizing costly pattern of computations of algorithms using Cython (see https://github.com/scikit-learn/scikit-learn/issues/22587). If Cython is convenient because it manages a lot of complexity for us, we are facing limits of its constructs and concepts (mainly regarding the cost of polymorphism and dynamic method dispatch and the lack of alternatives in the Cython) for some of the lowest-level implementations. More generally, being tight to CPython we also face the intrinsic performance limitations of the interpreter as a whole: even if dependencies like NumPy and SciPy have efficient low-level implementations, the full execution of users' pipelines remains costly and generally are single threaded.
One of the alternative pathways that we currently are working on to improve performance is a plugin system allowing third party packages' developers to extend scikit-learn with their own custom (GPU) implementations. https://github.com/scikit-learn/scikit-learn/issues/22438 drives the discussions and design and https://github.com/soda-inria/sklearn-numba-dpex is for instance a package that is actively being developed to back some of the algorithms implementations with GPU kernels.
I think the plugin system discussed in https://github.com/scikit-learn/scikit-learn/issues/22438 might be suited for linfa to have python bindings.

Hi all,
tl;dr: I am one of the maintainer of scikit-learn. If you want to use scikit-learn it as a front-end of linfa, you might be interested and want to be involved in scikit-learn/scikit-learn#22438.
I agree with most of @quietlychris's remark:

Both pandas and scikit-learn also "suffer" (for lack of a better term) from their own historical development; the choices that they've made are not necessarily the exactly correct choices. I know that I've made design choices for programs in the past where, if given the chance, I would change, and I expect that the developers for scikit-learn probably feel the same in at least some areas.

I do not know about pandas, but I think scikit-learn has made (close to, if not) the best design decisions back. The situation has changed now, and extending scikit-learn to make it compatible with other projects written in other languages come with unforeseen constraints and challenges (e.g. different idiomatic constructions, harden interfaces adaptations, adherence to dependencies' design choices and concept, vendoring or depending on shared libraries for OpenMP and BLAS implementations, packaging, etc.) making extend it harder but not impossible to extend.
I think scikit-learn's initial design decisions put the emphasis on UX, documentation, compatibility and composability with other projects in the Scientific Python ecosystem, rather than on performance, portability to other context (e.g. embedded systems), and interfaces to other languages. To me, this explains scikit-learn's adoption.
I think other projects like mlpack or SHOGUN took different design decision (based on different use-cases), and it might be valuable to learn about those projects' experience and challenges.
I think one of the most notable room of improvement scikit-learn's maintainers have identified for the library is (native) performance.
When it comes to native performance, we are putting efforts into optimizing costly pattern of computations of algorithms using Cython (see scikit-learn/scikit-learn#22587). If Cython is convenient because it manages a lot of complexity for us, we are facing limits of its constructs and concepts (mainly regarding the cost of polymorphism and dynamic method dispatch and the lack of alternatives in the Cython) for some of the lowest-level implementations. More generally, being tight to CPython we also face the intrinsic performance limitations of the interpreter as a whole: even if dependencies like NumPy and SciPy have efficient low-level implementations, the full execution of users' pipelines remains costly and generally are single threaded.
One of the alternative pathways that we currently are working on to improve performance is a plugin system allowing third party packages' developers to extend scikit-learn with their own custom (GPU) implementations. scikit-learn/scikit-learn#22438 drives the discussions and design and https://github.com/soda-inria/sklearn-numba-dpex is for instance a package that is actively being developed to back some of the algorithms implementations with GPU kernels.
I think the plugin system discussed in scikit-learn/scikit-learn#22438 might be suited for linfa to have python bindings.

Commenting according to your tl;dr: Providing python support needed a good implementation of data communication between linfa and python. It is easy to rewrite a scikit-learn implementation in rust with ndarray which will be performant but the main overhead will be coming from data allocation and communication between python and rust api with a big chunk of data or final model-trained metadata. There is already example exists. For example, the way data type/memory conversion happened between PySpark and jvm or numpy array to rust Polars data frame. I think it is better to avoid any kind of numpy based communication for linfa and approach with arrow or other better option if exists.
This data communication will be generic over all algorithms and can make porting easy for python. But at the moment probably not enough people are involved in the project to implement this critical feature.

Isn't it possible to have minimum overhead by reusing data allocated by CPython or Rust (via PyO3) similarly to that is possible with CPython and C/C++ (via Cython, PyBind11 or nanobind)?

Depends on whether that allocated data is compatible with the ndarray format.

I am not a low-code geek. It will be good to see how the python API of polars or datafusion communicates with the rust backend. They have very high-performance implementation so far. The same mechanism can be implemented here if some one interested.

Sorry in advance to offer an somewhat pessimistic point of view. I am working on scientific computing in Rust so I really want to write down some of my reflections over the efforts.

I do not want this package to follow Scikit-learn's API. We can provide a very thin compatibility layer and that is it. Scikit-learn's API is unnecessarily complicated due to backward compatibility issues and unnecessary abstractions e.g. Crazy multiple inheritances (and how they are calling the base methods in the background), crazy number of arguments to every function which most people never change, and some transformers return numpy and some return dataframe, and some return a dataframe with column names changed and you need extra configurations to force transformation output to always be dataframe (doing extra copies)! What a mess! From a practitioner's point of view, I almost never want to leave DataFrame land until the very last step, right before feeding data into the model object.

That brings up the questions: how do we stay in DataFrame land? First, linfa, being a Rust package, should work with Polars. Doing preprocessing stuff in ndarray is not ideal, as you have to manage parallelization yourself, and Datasets come with non-numerical, mixed-numerical type data. That makes dataframes the starting point of any data science project, NOT ndarrays.

I have written almost all transformers, Imputer, and other preprocessing stuff from Scikit-learn using Python Polars alone. The speed gain vs. Scikit-learn is insane, but honestly (sadly) most people don't care as time spent on these steps is insignificant compared to model training time. So if linfa's models run at similar speed or are just slightly faster than the ones in Scikit-learn, I think it is very hard to find adoption.  Let's face some reality. Efficiency isn't always the priority in ML/DS. I often find myself spending hours optimizing stuff that no one asks for. The "data science" community is known for burning money and they won't hesitate to spin up a more expensive machine (I do this all the time), or orchestrate some complicated (actually simple) tasks using inefficient software like Pandas and Scikit-learn in a Kubernete and burn more money. My previous company moved to Databricks (super expensive), when in reality they just need to use Polars + some down sampling strategy for their ML tasks. And half of the "data scientists" there started running Pandas on Databricks. What can I say? I left the company immediately.

Looking at Polars's success, I am more confident in my judgement of point (1) that we don't need to follow Scikit-learn's API. People want fast and efficient software, not inherited classes nor base transformers, nor Function Transformer that doesn't serialize.

But I still don't think Linfa can find success in Python data science world. Because (a) Unlike Polars, Linfa isn't offering more than Scikit-learn. Polars offers parallelization + lazy optimziation + SQL + Built in window functions + Better Column Type system, which are vital features missing in Pandas. (b) Inertia is real, especially when the focus of Data scientists is not efficiency, but rather quality models.

Me and my friend are bringing simple models directly into Polars dataframe. So that one can do rolling regression using one simple expression. You can take a look here: https://github.com/abstractqqq/polars_ds_extension. We might use Linfa in the future to bring in some fast and furious clustering into dataframe as well!

Rust scientific computing ecosystem is , to put it politely, stagnant. Ndarray is almost dead. Statrs is not being updated. Even Linfa is slowing down.  I feel like the Rust community's focus has completely shifted to Crypto, Web, Webassembly. Polars is on fire but it is more about data engineering.  Nalgebra is still going, but dwarfed by NumPy + SciPy in terms of features.... Faer is coming up, but still in its infancy imo.

Best of luck.
Side note: For linear algebra related task, Faer-rs seems to be a great alternative.

Thank you for this comprehensive comment, @abstractqqq.
As a maintainer, I welcome and value this critic. Would you like to give details about your experience with scikit-learn and pain points you have faced on scikit-learn's issue tracker?

Thank you for this comprehensive comment, @abstractqqq.
As a maintainer, I welcome and value this critic. Would you like to give details about your experience with scikit-learn and pain points you have faced on scikit-learn's issue tracker?

Thank you for following up. I don't feel like going to the issue tracker because it's too crowded and because it's really hard to pinpoint the criticism to an "issue". As @quietlychris mentioned, a lot of it is backwards compatibility, because you need to support NumPy, or some other sparse data structure. I can give you more examples: SimpleImputer on pandas dataframes has terrible performance, likely because it's using NumPy to do imputing which isn't the right thing to do because of mixed data types in dataframes. And what's the deal with f_classif and f_regression being the same function with different names? Why not turn on multithreading for kdtrees for Mutual Information Score? To make f, and mutual information score useful in a data science pipeline, the methods must handle nulls (because of real world data quality issue) but right now they just fail and no mention of the the null issue can be found on the docs. I ended up rewriting the two algorithms in Polars + Kdtree (from SciPy) and got insane speed boost. Then again, I really think that except for the models, other functionalities in Scikit-learn are largely forgotten. That's why the docs are minimal and issues like null handling are not brought up or paid enough attention to... And finally what's the deal with transformers? Say I am doing feature engineering, I want to do a simple logTransform. In polars I just write "pl.col(a).log()", and this can be serialized and used in Pipelines. In Scikit-learn, I need all that boilerplate for a transformer, and FunctionTransformer doesn't serilize...

I believe that this discuss has digressed, and I'd like to get things back on track. As a project, Linfa doesn't really follow grand plans. If anyone feels strongly enough about the way that a Python API "should" look, they are welcome to open a draft PR with a prototype for one or two algorithms demonstrating the layout, and what they feel are pros/cons of their approach. If that happens, I'm sure that other stakeholders (read, maintainers and developers who have contributed to Linfa and the associated ecosystem) will be happy to engage in a good-faith discussion around that initial implementation and other approaches (which I also imagine would include lots of code).
There's not single right way to do software design, so until someone puts a concrete proposal forward, I'd like to avoid muddying the water of this issue with what-if's and sweeping generalizations about the scientific computing ecosystem.

I believe that this discussion has digressed, and I'd like to get things back on track. As a project, Linfa doesn't really follow grand plans. If anyone feels strongly enough about the way that a Python API "should" look, they are welcome to open a draft PR with a prototype for one or two algorithms demonstrating the layout, and what they feel are pros/cons of their approach. If that happens, I'm sure that other stakeholders (read, maintainers and developers who have contributed to Linfa and the associated ecosystem) will be happy to engage in a good-faith discussion around that initial implementation and other approaches (which I also imagine would include lots of code).
There's not single right way to do software design, so until someone puts a concrete proposal forward, I'd like to avoid muddying the water of this issue with what-if's and sweeping generalizations about the scientific computing ecosystem.

You are right. I apologize. Feel free to remove my comments if you see fit. I am too struggling with designing a good API and have been experimenting with things. It would be great if some of us can put out a plan or a meeting if there is enough momentum.


iPhone X Bottom Tab Bar issue

Some part of tab bar is hidden and harder to use with iPhone X, Xs, Xs Max and Xr.

priority: up
aggressive user increase


fix(postgrest): update docs to mention views

What kind of change does this PR introduce?
A user reported on Twitter that our docs does not mention that the postgrest methods can be used on views. This PR adds the missing mention.

Aren't views read only? So no delete, update, upsert queries.

@Vinzent03 This one might be a niche use case, but you could actually create views where you can perform delete, update or inserts when satisfying certain conditions! But yeah, in typical use cases views are likely to be read only.
https://www.postgresqltutorial.com/postgresql-views/postgresql-updatable-views/
I took these updated comments from the JS doc


Drop support for old browsers

what?
This is a breaking change along with #334
This sets browser support as follows:

chrome, edge last 10 versions
Firefox last Extended Support Release
Safari last IOS version supported by Apple

why?

IE11 is essentially dead and Microsoft has dropped support for Edge Legacy too on March 9.
It saves some space
Dropping transpilation uncovers bugs (for example the changes to tests in this PR)
quick google search seems to indicate that create-react-app actually transpiles node_modules with user settings anyway

This is just a suggestion, feel free to ignore it.

Codecov Report

Merging #335 (ec3882d) into master (d275e84) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head ec3882d differs from pull request most recent head 0a026b7. Consider uploading reports for the commit 0a026b7 to get more accurate results

@@           Coverage Diff           @@
##           master     #335   +/-   ##
=======================================
  Coverage   89.76%   89.76%
=======================================
  Files          82       82
  Lines        1094     1094
  Branches      213      218    +5
=======================================
  Hits          982      982
  Misses        100      100
  Partials       12       12

Impacted Files
Coverage Δ

packages/react-jsx-highcharts/test/test-utils.js
78.94% <100.00%> (ø)

packages/react-jsx-highstock/test/test-utils.js
73.33% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d275e84...0a026b7. Read the comment docs.


critical logical issue in all 1099 reports

in all 1099 reports, it process all entries vendor by vendor and then we build an array of amounts and then we have a logic to decide that do we need to print this amounts accordingly to minimum amounts here is the logic for it by MS

but the issues is when a vendor can have multiple ledger entries with multiple form 1099 codes look into following screen shot

these are the multiple ledger entries of a one vendor . now if you run 1099 report then it will work in that way what i explained above.
where MS checking the minimum amount there is a variable "PrintThis" if that is true for one of the code and then later if we found another code then it will never set again and we are using this one variable for all amounts. which is wrong... i thing if it is less than minimum amount then we should set the amount =0 in array rather than print this.
example:
suppose in the screen shot, we have div-09 code which i set minimum amount 600 and originally we have 200 in ledger entry so for me it should not print but it is still printing in the reports because he set up the variable true for rest of the code which are prior to div-09 .

Hi! Welcome to the AL repository! Please take a minute to familiarize yourself with the purpose of this repository https://github.com/microsoft/AL/blob/master/README.MD and with the FAQ https://github.com/microsoft/AL/wiki/Frequently-Asked-Questions .
We believe that the issue you have opened is outside the scope of this repository. Please open it in the correct repository.


[FEATURE]: CSI-PowerScale driver to allow a Path limit greater than current 128 characters

Describe the solution you'd like
Currently CSI-PowerScale driver Path limits to 128 characters which prevents static provisioning for volumes having a higher characters in the path of the volume
Describe alternatives you've considered
One way is to reduce the path character count but this isn't feasible.
Additional context
It would be preferable to have the path limit configurable.

Code and documentation updated.


Fix regression in OpenApi::Paths.new

Why
https://github.com/ngtk/open_api/pull/12 caused a regression where we're no longer able to call OpenApi::Paths.new or OpenApi::Callback.new without parameters.
What
Provide a default.

@ngtk sorry for bothering you again but it blocks open_api_annotator things :pray:

FYI: v0.6.1 has been released.


presets + cmake.buildToolArgs: make sure -- is added in all cases

Fixes #3754.
This issue was introduced in #3537 (cmake.buildToolsArgs was ignored for presets before).

@microsoft-github-policy-service agree [company="InSimo"]

Already succeeded before updating to main, merging.


[BUG] Login / signup not working

Description
The login and signup features of the application are currently non-functional.
Users attempting to log in or create a new account receive error messages or are redirected without any successful authentication.
This issue prevents users from accessing their accounts and utilizing the application's features.
My plan:
Login:

Users should be able to enter their email/username and password.
Upon clicking the "Login" button, the application should authenticate the credentials against the backend and grant access to the user if valid.
If the credentials are incorrect, an appropriate error message should be displayed (e.g., "Invalid email or password").

Signup:

Users should be able to fill in the required fields (e.g., name, email, password) and submit the signup form.
Upon clicking the "Sign Up" button, the application should create a new user account in the backend.
If the signup is successful, the user should be redirected to the login page or logged in automatically.
If there are errors (e.g., email already in use, weak password), the application should display corresponding error messages to the user.

Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
No response
Checklist

[X] I have starred the repository
[X] I have checked the existing issues
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)

@Kritika30032002 Please assign me this issue. I would like to work on this.
Please assign me under GSSOC'24 extended and hacktoberfest.

@Kritika30032002 kindly assign this to me as i am working on this issue.

@Kritika30032002 Please assign me this issue. I would like to work on this.
Please assign me under GSSOC'24 extended

@Kritika30032002

@Kritika30032002 kindly assign this to me as i am working on this issue. Please assign the lable as GSSOC'24 extended and hactoberfest


Support Joda DateTime

Expected behaviour
Able to work with Joda DateTime or LocalTime, as appropriate.
Actual behaviour
Only able to output a LocalTime.
Steps to reproduce the behaviour

Write a sysl transform that uses the to_date() function.
Generate the Java transform.

Additional thoughts.
Joda time is used in order to support Java 7. Java 8 has a significantly improved date/time support, so this might lead to a bigger change (#79).

@anzdaddy - I believe you said this was based on a misunderstanding. Can it be closed?

This was based on a misunderstanding of an issue raised wrt to_date(). The original concern was that no to_datetime() was available, but since to_date() extracts a date from a datetime a counterpart doesn't make sense. #79 covers date/time support in general. Will close this.


.github: Use github ref for push, not quay ref

These workflows were using a reference to the Quay organization to decide
where to push git content rather than container images. For git content
it should actually target the repository name on GitHub instead. Fix it.
Tested that the workflow still works with the new variable here.

/test


Password reset token still valid after reset

There's currently nothing that invalidates a password reset token after a new password reset has been requested or after a password reset has been successfully completed. This is a security issue and should be resolved quickly.
Current behavior:

User requests password reset
User clicks password reset link and changes password
User can click password reset link again (prior to it's time-based expiration) and change the password again.

Expected behavior:

User requests password reset
User initiates password reset by clicking link in email
Password reset is successful, the previous password reset link is no longer valid and redirects to the login page, or the user profile page if the user is already logged in.

This also applies to invitation tokens, which have a considerably longer validity (2 days, if I recall), and with the link you can reset the password to whatever you want. This token should also be invalidated once the password has been set.


No works

I try to log in with an account token and they tell me that the token is invalid, with the error "401"

this issue is not scope of this package and is a discord authentication related error, you could ask for help on the official discord developer discord


Upgrade for sleep

Ready!
I removed summary stuff, I didn't quite understand it and wasn't sure how to update it (specifically what the progress bar was supposed to mean). It kinda made everything more complicated and didn't seem like it needed to be in here. Let me know if you'd like me to add it back in though.
I use archive.history for ls but we could probably just use the differ to do a summary of total files, etc. But I also have that in the dat CLI now  as dat status =).

Awesome. Feel free to merge and release. Cool that we can finally use hyperdrive here as well. Good sign.

Published as v2.0.0


Move to webpack

Implements https://github.com/zurb/foundation-sites/issues/9438
Moves all of our JS to use true ES2016 module dependencies. Uses webpack for building the full dist file, customizer generated JS files, and also a set of plugin-based distfiles for to recreate the old "drop in" JS approach.
See #9438 for more information on the design decisions and approach.

@TheLarkInn this is a first version of the ZURB Foundation moving its' JavaScript build to webpack - would you be able to take a look and see if I'm doing anything particularly stupid in my use of webpack?

I'm not quite sure about how webpack works because I never used it. But from what I've seen in module bundlers I think that entries for plugins may contain all utils imported there, if not declared as global dependencies for the module bundler.

@DaSchTour yes... that is why for the backwards-compatible (drop-innable per plugin builds), we use this section: https://github.com/zurb/foundation-sites/pull/9965/files#diff-21f8cb4967622377dfefe75eb181c026R20 :

That's a huge step in the right direction.
I will check that out during the next days.

Hey just seeing this message. Sure!

One thing I didn't see that I think should be called out is a .babelrc that has the "modules: "false property set so that babel doesn't transpile native imports and exports.

@TheLarkInn thanks! Updated

@DaSchTour @Owlbertz Did either of you get a chance to try this out?

Small items addressed, thanks for reviewing @Owlbertz! @DaSchTour did you have a chance as well? Would love to get this merged and move forward from this as a base, however a little cautious as it touches literally every JS file in the codebase. :P

@DaSchTour Thanks for reviewing! Totally agree that there are many more opportunities for refactoring - given how sweeping this change is already, I tried to restrict it to the changes needed to encapsulate and make things work in the new system.
I'll go through your specific points of feedback later today.

Updated based on @gakimball and @DaSchTour's feedback

Merged!

Wow @kball .... can't tell how awesome it is .... lets pack the web and have fun!

@DaSchTour what are your reasons for wanting to move to TypeScript when already using ES6 and Webpack? Just curious :)

@anselmdk because you avoid tons of errors and mistakes by using TypeScript. I know what is happening in your application before you runtime. And it helps a lot with refactoring because you see a lot earlier in which places things may break.

@DaSchTour interesting. I'm not sold yet though, as I'm not too happy going away from the JS standards, especially when they're as great as ES6, but if it's been decided upon, I guess I'll have to follow along :)

@anselmdk TypeScript is basically just ES6+ with Types and code analysis. It's not going away from JS standard. You just add definitions for the values you expect and return. You know if the code you've written actually makes sense. And the best is, you get awesome code completion in you're IDE that will never be possible with just JS.

@DaSchTour ok, that sounds pretty good.

so we are going to do a typescript rewrite? awesome!

@phifa At the moment ... That's not certain ....
But thanks for shoutout.... This will only help us for more certainity on typescript rewrite :)

FWIW... Trying out Typescript these days and I must say @DaSchTour is right
Thanks to the type system, TypeScript helps a lot in minimizing bugs and unit tests.

This is not just an angular thing

https://angular.io/guide/quickstart
https://www.typescriptlang.org/docs/handbook/react-&-webpack.html
https://vuejs.org/v2/guide/typescript.html

{ PS: I haven't tried angular yet, and I am not learning TypeScript for learning angular but for being better in JavaScript }

@IamManchanda I created a branch and PR for typescript migration. Take a look #10672


(docs) Replace 3 tildes (+lang) with 3 backticks

Before this, function documentation was written with three tildes and
the language name (or no language).
This is now changed in all 4.x functions as the three tildes syntax is
not standard markdown.

/cc @gguillotte


feat: New use prop/method

Closes #226
Preparing the ground to styled-components v4

[x] Replace as by use
[x] Update website
[ ] Remove dependency on hoist-non-react-statics
[ ] Fix website footer
[ ] Pass missing props to BoxProps
[ ] Update docs
[ ] Figure out a way to ease the migration (maybe a regex to find and replace)

BREAKING CHANGES

as prop has been replaced by use.
Before:
<Box as="div" />
<Box as={Link} />
<Box as={[Link, "div"]} />

After:
<Box use="div" />
<Box use={Link} />
<Box use={[Link, "div"]} />

as enhancer has been replaced by use factory.
Before:
import { as } from "reakit";
const FooBarBaz = as([Bar, Baz])(Foo);

After:
import { use } from "reakit";
const FooBarBaz = use(Foo, Bar, Baz);

as static method has been removed from Reakit components. Use use factory instead.
Before:
const BoxImg = Box.as("img");

After:
import { use } from "reakit";
const BoxImg = use(Box, "img");

Yes. Actually, replace them like in the examples in the PR description.

Codecov Report

Merging #274 into next will decrease coverage by 1.65%.
The diff coverage is 96.87%.

@@            Coverage Diff             @@
##             next     #274      +/-   ##
==========================================
- Coverage   67.12%   65.47%   -1.66%
==========================================
  Files          85       83       -2
  Lines         648      614      -34
  Branches      149      140       -9
==========================================
- Hits          435      402      -33
+ Misses        213      212       -1

Impacted Files
Coverage Δ

packages/reakit/src/Tabs/Tabs.tsx
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Block/Block.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Paragraph/Paragraph.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/List/List.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Overlay/OverlayToggle.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Group/Group.ts
85.71% <ø> (ø)
:arrow_up:

packages/reakit/src/Divider/Divider.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Overlay/OverlayHide.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Field/Field.ts
100% <ø> (ø)
:arrow_up:

packages/reakit/src/Table/Table.tsx
100% <ø> (ø)
:arrow_up:

... and 60 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4e6046...22f52f9. Read the comment docs.

It turns out that we have to keep wrapping components with use because of TypeScript (in JS, one could just use defaultProps).

I'm going to merge this as it is so I can start working on upgrading styled-components. If you guys see anything wrong on the code, please let me know.

I'm going to merge this as it is so I can start working on upgrading styled-components. If you guys see anything wrong on the code, please let me know.

I'm going to merge this as it is so I can start working on upgrading styled-components. If you guys see anything wrong on the code, please let me know.

I'm going to merge this as it is so I can start working on upgrading styled-components. If you guys see anything wrong on the code, please let me know.

GitHub is really unstable! Will merge it later.

awesomeee 🎉


[SPARK-26021][SQL][followup] add test for special floating point values

What changes were proposed in this pull request?
a followup of https://github.com/apache/spark/pull/23043 . Add a test to show the minor behavior change introduced by #23043 , and add migration guide.
How was this patch tested?
a new test

cc @adoron @kiszk @viirya

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5348/
Test PASSed.

Test build #99263 has started for PR 23141 at commit 8a9103c.

Test build #99263 has finished for PR 23141 at commit 8a9103c.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99263/
Test FAILed.

retest this please.

Test build #99269 has started for PR 23141 at commit 8a9103c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5352/
Test PASSed.

Test build #99269 has finished for PR 23141 at commit 8a9103c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/99269/
Test PASSed.

LGTM

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5362/
Test PASSed.

Test build #99279 has started for PR 23141 at commit 7c590bc.

Test build #99279 has finished for PR 23141 at commit 7c590bc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.


Update meta.yaml

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks, @marimeireles. Closing this one since I updated the pip package removing the dependencies.


git-info broken after update

Zim version:  1.0.0 (previous commit is edee218)
ZIM_HOME:     /Users/me/.zim
Zsh version:  5.7.1
System info:  Darwin me-mac.local 19.2.0 Darwin Kernel Version 19.2.0: Sat Nov 9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64 x86_64

gist of .zimrc: https://gist.github.com/spankme/1584ce7c26d4e7dda6265e589201687a
gist of .zshrc: https://gist.github.com/spankme/13f3302d3b8d1e05bbb6927c95531502

Description
After upgrading ZIM to latest version, the git-info module functionality is broken and doesn't display any information about current Git repository in any module.
Steps to reproduce
Upgrade to latest ZIM/zimfw version, install the modules, use latest documented configuration, cd into a Git repository, observe no information displayed in the shell prompt.

I cannot reproduce this issue. Maybe there's something else specific to your setup?

@ericbn I can confirm that doing a clean install of zimfw actually makes things work again, so either you're right about my setup, either the upgrade path doesn't work as it should. However, I'm happy that it works, so I'll close this issue.

@spankme, for the upgrade path, you probably want to do:
% cd ${ZIM_HOME}
% zimfw clean-compiled
% rmdir archive autosuggestions completion custom debug directory environment fasd git-info git history-substring-search history input pacman prompt ssh syntax-highlighting utility
% zimfw install

as the upgrade from the previous version will leave empty directories behind if they still contain the .zwc files in there.


Missing tracking API calls

Thought it was time to formally open an issue for this.
With the latest SteamVR driver and most recent functional version of SteamVR (last I've tested was beta v1457503340, but I believe it happens with the current release version as well), the room setup does not complete successfully. Even when a player defines the floor height, the height always appears to be interpreted directly from the OSVR vertical axis.
In addition, the recentering controls in the Settings do not function at all. Similarly, players of Elite Dangerous have found that the recentering keybind does not work in Elite: Dangerous either, and in addition Elite is subject to a number of graphical glitches that appear to be induced by faulty head tracking. For example, parts of the HUD may rapidly jump between rendering as if from above and rendering as if from straight ahead.
@d235j suggested that these issues, seemingly related to positional tracking, may be due to API-calls/property-requests/other-functionality that are not yet implemented in the driver.

parts of the HUD may rapidly jump between rendering as if from above and rendering as if from straight ahead

The same is true during the final step of Room Setup.
No matter what value is entered into the height property during setup, the camera in the living room scene would be positioned at Y:0, clipping the floor.
It also seems that there is no way to proceed past this step, possibly because the camera is positioned at zero.
It also seems as though the Room Setup is very heavily dependant on Vive and the controllers, despite specifying the "Standing" option instead of "Room Scale". Not sure if this has always been the case as I've only just tried it.
This is using the latest version of Steam, SteamVR and all the OSVR related stuff.

Possibly related to these issues is a glitch whereby the screen appears to flicker - when viewed in slow motion, it seems that for just a frame or two the view is rotated (yaw) some significant distance, and afterwards it resumes normal tracking operation.
There is also occasionally a glitch in Elite: Dangerous in which the orientation the game uses for culling does not match the rendering orientation. In other words, geometry is clipped or culled even within the player's view. This one seems to be especially prevalent if the user does not keep the headset in approximately the same position while starting the OSVR Server, SteamVR, and Elite. For example, if the user rotates the headset between starting SteamVR and Elite, then uses osvr_reset_yaw.exe to fix the offset, this glitch will sometimes appear.

Video proof of said glitch:
https://www.youtube.com/watch?v=cFyH9akrxcI&feature=youtu.be
Picture of captured frame:
http://www.silicondroid.com/osvr/reddit/glitch.jpg

It also seems as though the Room Setup is very heavily dependant on Vive and the controllers

I actually had a DK1 (non-OSVR at the time) and room setup was fine. Now I have the HDK 1.3 with working hydras, the only killer right now is that player height. IR tracking makes it slightly better but it's still only a foot off of the VR ground.

atm i'm running latest core, 1186, with steamvr 340. what i noticed today after another test (ED patched, new crimson beta): the jumpy tracking is far less worse when another window is active, e.g. osvr control (forgot to activate ED again). as soon as i'm back in ED it gets terrible. Found something more curious, when you look at this vid: https://www.youtube.com/watch?v=Y7YNdhOfkiE at around 3:20 you can clearly see the same flickering i posted in my vid. BUT. it only seems to be in the menu here. look at 8:30 and onwards. no jumpy tracking, no flickering. only thing i could see is that he's using an even older steamvr,<PHONE_NUMBER>, and a very old core, 1114.

We recently updated the SteamVR-OSVR plugin to allow it to complete room setup, enable direct mode, and experience improved tracking. Please try the latest version of the plugin with the latest released version of SteamVR and see if this resolves the problem.


Linux 'rename' event

.watch seems to break when there's a 'rename' event on Linux and no more events are fired from there on.
Vim fires this on wq and Git on checkout, for example.
The current workaround I'm using seems to fix this:
this.watcher.on('raw', (event, path, {watchedPath}) => {
            if (event === 'rename') {
                this.watcher.unwatch(watchedPath);
                this.watcher.add(watchedPath);
            }
        });

It seems this might be easily patched out by verifying that the renamed file has the same name and re-attach the listener automatically.

Please provide a script or repo for demonstrating the problem. I suspect the cause is something different than just receiving a rename event from fs.watch().

I observe a similar behaviour on my CI tests at Linux if an empty dir is deleted:
https://travis-ci.org/AndyOGo/node-sync-glob/jobs/220915572#L976
console.log src/index.js:242
    RAW: rename -> empty
    { watchedPath: 'tmp/mock/bar/empty' }

console.log src/index.js:242
    RAW: rename -> empty
    { watchedPath: 'tmp/mock/bar/empty' }

console.log src/index.js:242
    RAW: rename -> empty
    { watchedPath: 'tmp/mock/bar' }

 FAIL  test/sync.spec.js (13.696s)
  ● node-sync-glob watch › should sync empty sub directory deletion
    Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

      at ontimeout (timers.js:386:14)
      at tryOnTimeout (timers.js:250:5)
      at Timer.listOnTimeout (timers.js:214:5)

  node-sync-glob watch
    ✓ should sync a file (2135ms)
    ✓ should sync an array of files (2125ms)
    ✓ should sync a directory (2153ms)
    ✓ should sync globstar (2149ms)
    ✕ should sync empty sub directory deletion (5008ms)

I also have this problem when editing a file which is watched. For example if you watch just a.txt and edit the file with gedit, only the first edit is triggered. I think the problem is the rename event and chokidar still listen on the old file. Gedit result:
raw: "change" "a.txt"
raw: "rename" "a.txt"
raw: "rename" "a.txt"
change: "%path%/a.txt"

Where as atom/watcher triggers the creation event. With other editors like vim or vscode everything works fine and further events are triggered:
raw: "change" "a.txt"
raw: "change" "a.txt"
change: "%path%/a.txt"

Listening the whole directory shows that gedit creates a temporary backup file and then just move the backup file:
created file: %path%/.goutputstream-VP92YZ
modified file: %path%/.goutputstream-VP92YZ
modified file: %path%/.goutputstream-VP92YZ
renamed file: "%path%/.goutputstream-VP92YZ" to "%path%/a.txt"

Cool, 2 years, no fix. Splendid!

@pkit Go ahead and fix it. No one pays me to do this.

@paulmillr it would have more contributors if the tests were not failing left and right on unrelated things.

@pkit see #923, fixing failing tests is not a simple task.


Check if folder exists before opening

Hi,
Some of my projects are on networked drive and so sometimes they're offline when I try to open them. It would be neat if the code checked whether the folder exists before switching.

This is now implemented in the latest release.


After searching for a book and navigating in the book, the input field is reset

Describe the bug
The search bar is not behaving correctly when we select an item and navigate away and back
To Reproduce
Steps to reproduce the behavior:

Go to search screen, type a search query like "money"
Select one summary
Go back to search screen
You'll see the query "money" is not present on the search bar anymore

Expected behavior
The query "money" should still be in the search bar
Screenshots
https://github.com/user-attachments/assets/95b6b6d6-8b25-4cc0-a24c-b673f7602009
Smartphone (please complete the following information):

Device: All devices
OS: Android

This issue was fixed here: https://github.com/rygelouv/Tanga/pull/123


Push notifications for holders - @type outside encrypted and decrypt message attachment in AFJ and mediator for connection, issuance and verification

[x] To send encrypted messages in AFJ on Connection, Issuance and Verification send @type to the outside.
[x] Received @type to outside for messages and decrypt message in AFJ on mediator.
[x] Fetch decrypt messages on the mediator.
[x]  Patch the AFJ package after the messages as encrypted.

Closing as they are completed as discussed with @sairanjit


image_draw.html : allow up to 32 bits per word

Large LED matrices are better saved in uint16_t or even uint32_t.
The modified image_draw.html supports this.

Thanks! Merged it :)


Feature request: Pitch & Playback speed control

I have no idea whether it's easy to implement this but a way to change to the Pitch or Playback speed would be nice

Lavalink wraps around lavaplayer, which is the engine that provides all audio. Lavalink is there to provide remote control and an output to Discord.
This means that it would have to be implemented in Lavaplayer first. Even then, this would be horribly inefficient compared to just extracting and uploading the unchanged audio.

Ok I see. Thanks for the response!

LL could wrap https://github.com/natanbc/lavadsp or offer a way for end users to add their own filters, possibly by a plugin system (see https://github.com/Frederikam/Lavalink/pull/119 for a first iteration).

This shouldn't be much more demanding that changing the volume I would assume.


[CPU] Update matmul test suite for default, default+uk and nondt.

Rename dt_uk test suite to default_uk because data-tiling is turned on by default
Add a test suite for default path which is using data-tiling path.
Rearrange test suite order to default -> default+uk -> nondt.

I think i understand and agree with the core of @dcaballe 's comment, which, as i understand it, is not just about terminology, but about whether the configurations that we test are specified relatively to the current default, or in absolute term. So, regarding

If we look test suite this way, they are just "default", "default_with_microkernels", and "nondt". I can rename them to dt, dt+uk, nondt if you think the names are better.

Like you point out, the current behavior is relative to the current default, and the name you suggest, they are just "default", "default_with_microkernels", and "nondt" , would reflect that.  I think that what @dcaballe  is suggesting, and I agree with, is that we should switch to dt, dt+uk, nondt not just as a matter of renaming, but switching to explicitly enabling/disabling dt/uk so that these tests do not depend on what is currently default.

I see, the points are very valid to me. I will update the PR, title and description.

We should also add ukernel=none to the nondt and dt flavors to make sure the behavior doesn't accidentally change if we default value of the ukernel flag changes.

Yes, that. I'll approve once that's in :-)

good catch, thanks! added.


Revert "add readme.md for profile"

Reverts jjaimealeman/wdb-get-good-with-git#17

@dvdmon
Ok, I was too quick to accept the changes.
Make a folder with your name, dashes and underscores are cool, but no spaces.
Put that readme in there ;)
Submit again and I'll take it from there.


Feat/darkmode

Problem
The code-formatted font in titles is difficult to read - there is not enough contrast between background and font color.
There was an issue opened in the past #141 reporting same issue. The issue was fixed for light mode, however stayed in the dark mode.
Dark mode is applied automatically if a user sets "Dark" appearance in Mac settings.
Tested in Safari, Chrome and Firefox on Mac - applicable to all browsers.
Issue: https://github.com/aiven/devportal/issues/308
Solution
Update the dark theme in the CSS file so the correct color is shown when users are in dark mode.
Preview URL: https://deploy-preview-309--developer-aiven-io-preview.netlify.app/docs/tools/cli/account.html

@anelook Does this fit what you had in mind?

Yes, I can read it now without any efforts! Thank you, the change looks great

Thank you @turq84 :)


adding a comment explaining the type def for context

I'd approve it and merge it but it doesn't look like I have the right access rights to do it :/


Create npm package for eslint config

With separating the server/client templates and potentially creating new templates in the future, like a Vue template, changes to the eslint config would need to be made in several locations. We could create an npm package for our standard eslint config that could be used in all of the Typescript templates. The config could always be extended in a project if needed, but I think it would be a nice way to share the standard config across projects.
A useful guide on the topic: https://eslint.org/docs/developer-guide/shareable-configs

It looks like we could also do the same with the stylelint config: https://stylelint.io/user-guide/configure#extends

A very early-on goal was to actually use our styleguide repo to house these. Going with packages would probably be easier to use.

Yeah I the package approach would definitely make it easier to maintain across projects. Do you like the idea of just having separate repos for the packages? Or going with a monorepo style and keeping those packages in the styleguide repo - similar to how Airbnb handles it (https://github.com/airbnb/javascript)?

I lean towards the monorepo for this. Each package is small/simple, so it kinda makes sense to me.


Upgrade dependencies

See #1
Attempted to upgrade your dependencies. However, I was not able to resolve the dev-dependencies. This is due to some being abandoned without any known replacements (also I really do not known any of those projects / substitutes).
Anyways, hope that you can find some time for this.

@aedart Thanks!


Roll Flutter Engine from 07ecd90b7755 to b22c0b9d744e (2 revisions)

https://github.com/flutter/engine/compare/07ecd90b7755...b22c0b9d744e
2024-08-13<EMAIL_ADDRESS>Roll Dart SDK from a6cd8099ff85 to 21cde9d69d4e (1 revision) (flutter/engine#54521)
2024-08-13<EMAIL_ADDRESS>Roll Skia from 7bed8fb6fae2 to cbd5898acbd8 (2 revisions) (flutter/engine#54520)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jsimmons@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Function of Individual codes

I find network has a input c, and it refers to individual codes. However , I can't find individual code in your paper. Can you explain what's the meaning of this input? Thank you!

In nerf/render.py,  Line 199
   if self.individual_dim > 0:
        if self.training:
            ind_code = self.individual_codes[index]
        # use a fixed ind code for the unknown test data.
        else:
            ind_code = self.individual_codes[0]
    else:
        ind_code = None

Thanks for replying! I'm new to Dynamic nerf ^^. Also, I follow up your research of Geneface, your demo which uses DiffSinger looks wonderful!

Thanks~


Improve the people invite screens

see https://github.com/vector-im/riot-ios/issues/904 for details

Like in ios Riot, we should add a + icon on the right side of the "invitable" contact cells.
See

Note: When a contact is removed from the "Known Contacts" section because a local contact matches with his Matrix identifier. The local contact should display the matrix avatar of this user.

The provided tab ("Matrix contacts" | "All contacts") is not adapted to the global search screen. We suggest adding a specific tick in the Local contacts header, see the following screenshot:

Note: The local contacts section header must be renamed "Local Contacts" in android Riot


Error with libfreetype

Hello Radu!
When I generate an output, I got an error in the build with libfreetype:
Error: The following error occurred while executing this line:
java.lang.UnsatisfiedLinkError: libfreetype.so.6: cannot open shared object file: No such file or directory
What is the purpose of libfreetype? If I understand it handles truetype fonts, but I wonder if there's any way to get rid of this error by using another library or font management?
Thanks for your support!

@gbebie-valerian-antidot can you possibly save to a text file and attach the entire console log? I need to see more context... On what operating system are you publishing?

Hi @raducoravu
Sorry for the delay, I was waitig feedback from my colleagues who are in charge of the libraries in the connector. It seems we missed specific packages to be installed. Now it works well :)

Not an issue related to the plugin. Must install the libraries and installed other libraries according to this link:
https://github.com/GoogleContainerTools/distroless/pull/322


Custom themes are not loaded

Hello,
I am trying to load a custom theme but I did not succeed yet.
The css file of the custom template is here:
/Users/username/css/rose-pine.css

So I have entered this as Theme Path in the Marp Slide settings:
/Users/username/css/

This is the markdown file content:
---
marp: true
theme: rose-pine
---

# Title

Text

However, it is still displayed with the default theme, not rose-pine. What shall I do to fix it?

I'm having a same issue as well

Hi @jcpaik, it finally worked for me. I have documented a few notes here, if this helps.

Thank you! I don't use VSCode for marp though... was it that you managed to get the theme working in Obsidian by setting it up via VSCode? That is, should I use VSCode to get this Obsidian plug in to work properly?


Explain string interpolation in codelab doc

Closing bugs relating to our old codelab. We will have a new codelab at some point.


[LockfileParser] Leniently handle unknown states

Basically, Bundlers pre-1.10 choke on the BUNDLED WITH section

Gah. Thanks for this. I guess I'm inclined to now change the format of the BUNDLED_WITH section, because I really want 1.9 to be able to install lockfiles created by 1.10 :/

If we have any more releases of them, this should also go into 1.7/1.8


Future of milia

In 2015 I accepted the invite of @dsaronin to continue his milia gem.
Starting from 2017 I did not manage to keep up with maintaining this gem for various reasons. Sorry for that!
I know this gem still is used in many projects so I want to invite all of you to join here and share ideas on how to find the best way to continue from here.
Right now I see the following options:

Continue with milia: I hand the ownership of the milia gem over to somebody new who feels to have the capacities and knowhow to maintain this gem. Please contact me or comment in this thread if you want to step into this.
Abandon milia: The milia users move over to a different gem. AFAIK the gem acts_as_tenant is the most popular multitenanting gem for Rails which has a shared database for all tenants.

Please feel free to add your insights here how the acts_as_tenant gem  compares to milia to make the decision easier for readers of this post. @ErwinM, the owner of acts_as_tenant, feel free to write a few words yourself.
Also If anybody does or did move a project over to this or a different multitenanting gem please feel invited to share instructions on how to do so so that other users can build on that.

If there are more options worth to consider simply add them below.
Also thanks to @yshmarov for bringing that maintenance topic back to my attention in #88.

If you look into the used by, you will see that in 99% of cases the gem is used for educational purposes, specifically for a very popular course on udemy.
Looking into all the changes done in forks, the two most important ones are:

support uuid
basic rails 6 support

I think that if just basic rails 6 support is added to master, it will be good. This week I moved my massive SaaS application from Rails5 to Rails 6 and installed milia using this commit  and it works well (just as before / as expected).
However, I would not recommend to work on adding any additional features to the gem.

We use milia for a highly successful SaaS. At the moment we are on rails 5
but yes the issues hold us back.
That being said, I think there is a place for this gem as it is slightly
different in scope and features than anything else I can find.
We’re starting a new saas service and actually using the commit you mention
will use milia again.
On Sun, May 17, 2020 at 19:07 yashm<EMAIL_ADDRESS>wrote:

If you look into the used by
https://github.com/jekuno/milia/network/dependents?package_id=UGFja2FnZS0xOTcyNA%3D%3D,
you will see that in 99% of cases the gem is used for educational purposes,
specifically for a very popular course on udemy.
Looking into all the changes done in forks,
https://github.com/jekuno/milia/networkthe two most important ones are:

support uuid
basic rails 6 support

I think that if just basic rails 6 support is added to master, it will
be good. This week I moved my massive SaaS application from Rails5 to Rails
6 and installed milia using this commit
https://github.com/indirect/milia/commit/e27d816dfb32df859e7a9160baabb3893680d799
and it works well (just as before / as expected).
However, I would not recommend to work on adding any additional features
to the gem.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jekuno/milia/issues/90#issuecomment-629773151, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEALZDPCQGRAHXYZYSNHDRR6ZM5ANCNFSM4NDH6PZA
.

--
Phil Smy
twitter: http://twitter.com/psmy
biz youtube: https://www.youtube.com/philsmy
music youtube: https://www.youtube.com/user/sendaiphil
facebook: https://www.facebook.com/philsmylife/

No matter what, milia is still the most advanced, feature-rich single-database multitenancy gem and it should be minimally maintained!
It's so depressing to see that the last commit was in 2017...
@jekuno , would you still be able to merge PRs, just to keep the gem updated?
Otherwise, transfer the gem to somebody that would minimally maintain it?

@yshmarov, I am probably coming from the udemy course you mentioned.
I am using Ruby 2.7.1 and Rails <IP_ADDRESS>.
I am getting error, as I expected before even installing Milia!
rails g milia:install<EMAIL_ADDRESS>/usr/local/lib/ruby/gems/2.7.0/gems/milia-0.3.30/app/controllers/registrations_controller.rb:5:in `<class:RegistrationsController>': undefined method `skip_before_filter' for Milia::RegistrationsController:Class
Did you mean?  skip_before_action (NoMethodError)
        from /usr/local/lib/ruby/gems/2.7.0/gems/milia-0.3.30/app/controllers/registrations_controller.rb:3:in `<module:Milia>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/milia-0.3.30/app/controllers/registrations_controller.rb:1:in `<main>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `block in require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `load_dependency'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/milia-0.3.30/lib/milia/railtie.rb:11:in `block in <class:Railtie>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:32:in `instance_exec'
        from /usr/local/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:32:in `run'
        from /usr/local/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
        from /usr/local/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:60:in `run_initializers'
        from /usr/local/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/application.rb:363:in `initialize!'
        from /home/sourav/Complete_Ruby_On_Rails_Developer_Course/saas-project-app/config/environment.rb:5:in `<main>'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
        from /usr/local/lib/ruby/gems/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `block in require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `load_dependency'
        from /usr/local/lib/ruby/gems/2.7.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `require'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:106:in `preload'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:157:in `serve'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:145:in `block in run'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `loop'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `run'
        from /usr/local/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application/boot.rb:19:in `<top (required)>'
        from /usr/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        from /usr/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:72:in `require'
        from -e:1:in `<main>'

@Souravgoswami not the right place for your question.

Sorry I am deleting unnecessary comments.

It's really sad I there are comments dating back to 2020, and there's still no way forward.

The year is 2023 and we have 2 fantastic alternatives:

https://github.com/ErwinM/acts_as_tenant
https://github.com/citusdata/activerecord-multi-tenant
🎉

Also - if I may be so bold - I have done a port of Milia to work on Rails 7.
You can find that here:
https://github.com/philsmy/philia

Thank you for keeping the dream alive, @philsmy!

As written in the beginning of this thread my intention is to transfer milia to a new owner.

I hand the ownership of the milia gem over to somebody new who feels to have the capacities and knowhow to maintain this gem. Please contact me or comment in this thread if you want to step into this.

Up to now, I did not get any applcations for this job. ;)
However, I am very happy to read that @philsmy did a port to Rails 7.
Are you willing to maintain milia in future @philsmy or is anybody else open for that opportunity?

@jekuno,  I forked and renamed it. Which I know is not nice, but I wasn't (at the time) sure what else to do.
I am actively maintaining my fork because I use it in production (and it is the best solution I have found so far).
I could bring it back into Milia proper if you were ok with that.

Sounds great! I have sent you an email and already assigned collaborator permissions to you to get things rolling.

Okie dokie! I'm in!
I'm traveling now, but towards the end of next week, I will try to re-merge my Philia fork back into Milia, with my Rails 6 and Rails 7 branches.


[stable/minio] Add minio/mc tag

What this PR does / why we need it:,
The post-install-create-bucket-job uses the minio/mc image to create
a bucket. Previously, it just specified minio/mc. We want to set a
default image tag, and also allow users to configure a different image
tag should they need it. Add this configuration under the mcImage key.

/assign @prydonius thanks :)

/ok-to-test

/assign

/lgtm


bump dependencies

Applied mkpr on package.json
/tmp/mkpr.sh

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


FIX: Check for in_segm input, not seg_file (typo)

Introduced in 1.2.0rc2. in maint/1.2.x, to be merged into maint/1.3.x and master on completion.
Identified by GitHub user @hrswearingen in https://github.com/poldracklab/mriqc/issues/867.

Cascaded up into maint/1.3.x and master. Not sure what all series need releasing.


explicitly documenting type properties no longer works in the same way that vscode typescript  LS does

the vscode typescript extension honors this approach
export type HoverOptions = {
  mode?: JSONMode;
  /**
   * Generate the text to display in the hover tooltip
   */
  getHoverTexts?: (data: FoundCursorData) => HoverTexts;
  /**
   * Generate the hover tooltip HTML
   */
  formatHover?: (data: HoverTexts) => HTMLElement;
  /**
   * Provide a custom parser for the document
   * @default {JSON.parse}
   */
  parser?: (text: string) => any;
};

however typedoc no longer does (it used to iirc?)

I know it's not easy to support every approach to inline documentation, but shouldn't it be supported if the typescript language service supports it?

Typedoc supports it - whatever markdown theme you are using does not.
https://typedoc.org/api/types/ValidationOptions.html Is defined in the same way in typedoc's source code

@Gerrit0 ahh ok! This makes sense. This is my first time using the markdown plugin. Sorry for the confusion, I will open a ticket over there.


Protobuf generation error

Hello
When docker-compose up is executed some containers exist because of:
AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key'

That probably happens when using a newer version of the protoc compiler with the older version of the protobuf library.

That's right. it's exactly versions problem.

Hey, i am also facing this issue simple-supply-rest-api not starting #43
Currently i have running 3.12.2 version of protobuf ..But unable to find any  protobuf-compiler or   protoc compiler on my machine....Please suggest the solution

@AqeelKazmi Hi
I extracted the python requirements and teawed a bit to make it work.
requirements.txt
requirements.txt

@jorgeluisacostaalonso  thanks for the reply,
It means we cannot go with docker, we have to install all dependencies manually ?

I 've copied and installed into the image
For shell dockerfile
COPY shell/requirements.txt /shell/requirements.txt    <= shell's requirements
RUN pip3 install -r /shell/requirements.txt
For others than shell
COPY reqs/requirements.txt /requirements.txt <= others requirements
RUN pip3 install -r /requirements.txt
I've just fixed container dependencies to fix version error

@AqeelKazmi Hi
I extracted the python requirements and teawed a bit to make it work.
For shell container
requirements.txt
For the rest, actually what we need to change is the version of protobuf==3.12.2 in others than shell container
requirements.txt

Hi,   I was also having this issue.   See #43.   I understand the issue.  But I'm still a little confused about the solution.    Both of these file have protobuf=3.12.2.    I was expecting one to be different.
Thanks for the answer also!

It was exactly that my problem about the "not found key in descriptor ....." when containers were trying to start.
So by pairing python version dependencies in containers you should manage that problem.

Thanks it worked....

Still having the same problem, after trying the above solutions, and other suggestions from the web.   If I do an interactive connection to the docker containers, I see protobuf 3.6 still installed.    I built a separate hello world container running protobuf and it works.  But I still can't get the simple supply example up.
Recognizing that my issue is more about my local environment.
Any way you could copy paste into a comment your working dockerfiles for shell and rest-api?   And the relevant section from docker-compose?
Thanks in advance!

@AqeelKazmi Hi
I extracted the python requirements and teawed a bit to make it work.
For shell container
requirements.txt
For the rest, actually what we need to change is the version of protobuf==3.12.2 in others than shell container
requirements.txt

Hi @jorgeluisacostaalonso
I tried this yet I'm still facing the same issue. Could you please either copy paste or  share the docker files for shell and the rest-api if possible?
Thank you


Experiment: Test on Python 3.8, on CI

Does Python 3.8 work?

Answer: no, Tensorflow doesn't support it and doesn't even try to run on it.


cherry-pick support escape.delim and serialization.null.format for hive text

Proposed changes
pick from master:
https://github.com/apache/doris/pull/39700 support escape.delim and serialization.null.format for hive text

run buildall


[Staging & Production] Dropbox: View File page reporting 500 internal server error

Steps

Go to a project with the dropbox add-on linked
Go to the files overview page, choose a file from the linked dropbox folder
Click the file to go to the file view page
(Have the java console open)
Click the green download button

Expected
The file view page should open, render a view of the file.  When the green download button is clicked the file should download.
Actual
The file view page reports a 500 (INTERNAL SERVER ERROR) in the console.  Also, when the green download button is clicked, the page refreshes and the console reports the same 500 error and the file does not download.

@nicipfeiffer I too have been unable to replicate this with other .jpg files -- If OK with you, we could have @caileyfitz try to reproduce (?) and if she is unable to, I recommend we close this one for now. OK?

@lbanner and @caileyfitz I agree.  I removed the files from Dropbox and then added them again and now the download is successful, which I had attempted unsuccessfully previously.

Cool! We'll close it up then -- Thanks!


Custom Display properties not working inside Accordion

Here I've some elements inside an accordion for which i've applied display:none, which is not getting effected inside accordion. The display property is getting over-written.
Here is the jsfiddle

Hi @dhvsandeep,
That’s just how it is, but if your use case requires it, you could add a CSS rule that would override the accordion’s manipulations, something like that:
.ui.accordion .content > a {
  display: none !important;
}

Thank you for posting, but although it’s a valid usage question, we’ve limited GitHub Issues to bug reports and feature requests, keeping the board more manageable for maintainers; see the contributing guidelines for more information on what kind of posts should find themselves into the GitHub Issues board.
To get answers or feedback that might allow you to repost this issue, please use one of our other support resources:

Gitter chatroom
Official forums
StackOverflow


Eliminate UICollectionView and UICollectionViewFlowLayout categories

It is unlikely that collection views will ever be declared in markup. However, it is valuable to declare collection view cell contents in markup. Eliminate the UICollectionView and UICollectionViewFlowLayout categories but keep LMCollectionViewCell.

Note that all references to these categories must be removed from README.md.

This is done.


Adds comments for dns and returns cast entries in deterministic order

Issue: everytime go-chromecast ls the entries are shown in random order.  The order is determined by however the concurrent dns resolution resolves.
This fix, simply ensures the results are pre-sorted before being returned.
Also adds comments and uses constant for max number of devices.

This should be in release v0.0.10 https://github.com/vishen/go-chromecast/releases/tag/v0.0.10


Terminal couldn't be opened if default profile can't be opened.

What's Happening?
When (somehow) which "defaultProfile" is not able to run like miss-typing "commandline" goes like "powershell.ex" (no e) so there is no program to run it, windows terminal just shuts down when opening terminal, (or not the command line program, like office program WINWORD.EXE => opens word program and terminal shuts down.) and never can be opened before finding profiles.json and change wrong thing manually or change defaultProfile to which it can be run on windows terminal.
Proposed technical implementation details
So, If something that (Cannot use Windows terminal because of profiles.json) happens, Opening a popup "Can't load Terminal" with button open profiles.json before Windows Terminal shuts down like the image

or just not load any kind of commandline and make a select screen which profile to load for user like this image

BTW I just made image using mspaint

...or not closing windows terminal if all tabs are closed and show up select screen could be great too.

Most of this is a duplicate of #1348.


Team Setup and Repo Creation

What to do: Form your team and create a GitHub repository under the UBC-MDS organization following the specific naming convention provided. This is your project’s development environment where all your work will be stored and tracked.
Why it matters: Setting up a GitHub repository ensures that all team members can collaborate effectively, share code, and track changes. The naming convention helps in easily identifying your project among others.

repo created and renamed to bigmac
main branch protection added


stack command, added -full flag

When -full is passed all arguments and local variables of functions on the stacktrace are printed

Can you rebase this PR on master instead of your previous PRs so I can see the changeset in isolation.

It is not possible to implement this functionality without the previous commit.

Can you rebase this on master so I can review and possibly merge.

done

Can you rebase this onto master, and fix test failures with the latest patch that was pulled in. I can review today.

Can you actually split this into 2 PRs, one that handles the -full flag, and one that deals only with being more tolerant of uninitialized memory, etc.

Done. This PR now tracks only the changes to stacktraces, PR #238 the changes to variables.go. Note however that stack -full will not work for any sizeable program without PR #238 because of the increasing likelihood of encountering uninitialized memory.

Thanks, this is awesome.
One thing though is I'd like to switch the default numeric argument to bt to be the depth, and then allow bt as an argument to goroutine <id>. I don't like the -<depth> approach as much.


Test fails with ruby 1.8.7p357

I'm getting the following test failure with ruby 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux], most likely caused by the less predictable hash ordering introduced in that patch level:
  1) Failure:
test_section_reference_links_HTML(RonnTest) [/var/tmp/portage/app-text/ronn-0.7.3/work/ruby18/ronn-0.7.3/test/test_ronn.rb:81]:
--- /var/tmp/portage/app-text/ronn-0.7.3/work/ruby18/ronn-0.7.3/test/section_reference_links.html   2012-01-16 20:13:35.971658835 +0100
+++ /var/tmp/portage/app-text/ronn-0.7.3/work/ruby18/ronn-0.7.3/test/section_reference_links.html.wrong 2012-01-16 20:13:43.803311607 +0100
@@ -10,8 +10,8 @@

SECTION 2

-
See SECTION 1
-or to put it another way
-or even link this

+
See SECTION 1
+or to put it another way
+or even link this

Hey there. Ruby's up to like 2.5 now. Is this still an issue for you?


Return type inference does not infer union

TypeScript Version:  3.5.1, 3.3.3

Search Terms:
return type, infer, union
Code
/**
 * + TS 3.5.1
 * + TS 3.3.3
 */
export interface CreateResult {
    contributors : (
        & {
            someType : string,
        }
        & {
            subObject : (
                | (
                    & {
                        someId : number,
                        prop0 : number,
                    }
                    & {
                        THIS_IS_REQUIRED_WHEN_SOME_ID_IS_SET : "BUT IT IS NOT SET",
                    }
                )
                | {
                    someId? : undefined,
                    prop0 : number,
                }
            ),
        }
    )[];
}

function foo (arg : { someType : string, subObject : { prop0 : number } }) {
    if (Math.random() > 0.5) {
        return arg;
    } else {
        const subObject = {
            someId : 0,
            prop0 : 0,
        };
        /*
            Expected and Actual are the same.
            {
                someType: string;
                subObject: {
                    someId: number;
                    prop0: number;
                };
            }
        */
        const result = {
            ...arg,
            subObject : {
                ...subObject,
            },
        };
        return result;
    }
}

/*
    Expected:
    | {
        someType: string;
        subObject: {
            prop0: number;
        };
    }
    | {
        someType: string;
        subObject: {
            someId: number,
            prop0: number;
        };
    }

    Actual:
    {
        someType: string;
        subObject: {
            prop0: number;
        };
    }
*/
const wtf = foo({
    someType : "",
    subObject : {
        prop0 : 0,
    }
});

/**
 * It is now possible for `wtf` to have `someId` be `number`,
 * but `THIS_IS_REQUIRED_WHEN_SOME_ID_IS_SET` is not set.
 */
const x : CreateResult["contributors"][number] = wtf;

Expected behavior:
wtf should be a union of types.

Playground Link: Playground
Related Issues:
I'll keep searching but I couldn't find anything. There were a bunch with the same keywords but they seemed unrelated, focusing on literals and generics.

Smaller repro, foo() does not need to have arguments.
Playground

Interestingly enough, if you replace,
return arg;

with,
return {
    someType : "",
    subObject : {
        prop0 : 0,
    }
};

The inferred return type of foo() is correct.

This is normal subtype reduction - the type T | U when U is a subtype of T is reduced to T during most inference operations.

Facepalms
Right. That makes sense.
It makes for unsound code in this case but soundness was never a goal.

Wait, that doesn't explain why changing the return statement to a different form makes it infer the union

Wait, that doesn't explain why changing the return statement to a different form makes it infer the union.

Maybe due to object literal freshness?

You're probably right but I wonder if it was a conscious decision and why. It seems like a rather obscure rule.


Typescript error with ts generated file for cacheWrite methods

https://github.com/ablestack/graphql-codegen-hasura/blob/db5de3d08401f04912291b9c2df8a7920e42c72e/packages/graphql-codegen-hasura-shared/src/tshelperInjectors.ts#L135

Running @apollo/client version 3.1.4.
Looks like the types were updated here: https://github.com/apollographql/apollo-client/commit/7202b78574f9fddd2a513a7f5ebd9212e989f825#diff-a425d86f9a8376d3071667e3198c940a
The solution here would be to not return the result of apolloCache.writeQuery... ?

Hi @smblee
Thanks for reporting. I'll take a look and make the updates when I get a chance. It might be a little while, before I can get to it. But, also, feel free to make the changes and submit a pull request.
Thanks!


Citation / Works UI designs

Publications Citation List
Citations are grouped by Category (example: Academic Articles, Chapters) and then by Year (2020).
Individual citations display information in this order:
Publication Name [linked to full publication info page]. Authors [last name followed by first initial(s), no commas/punctuation within the names; examples: Adaska JM, Ekong PS]. Journal Name. Location in Journal.
Citation List Display Rules
Since items are split out by type, "show X more" / "show X less" buttons seem like the best solution for managing long publication lists (if they weren't, I'd probably favor paging). "Show X less" only appears once "show X more" has been clicked at least once.
I would like it to be so that if the author only has publications that fall into one category (e.g., academic articles), 10 articles are shown by default. If the author has publications spanning multiple categories (e.g., academic articles, chapters, conference papers) then show a max of 5 per category to keep the publications block from becoming overwhelmingly long. TLDR:
1 publication category = 10 citations displayed
Multiple publication categories = 5 citations displayed per category
No matter the number of categories an author has published in, the "show more" button will always show 10 more articles (or whatever number remains if there are less than 10).
Show More/Less buttons:

Publications in context:
Text format stays the same all the way down to mobile scales.

Individual Works Page
Links to full text and metrics appear on the individual work's information page. Metrics links only appear on publications for which the logged in user has authored, otherwise that section is hidden. See last image of this comment for notes on individual components of this page.
Logged in:
Citation Data and Metrics links only appear for the author of a publication.

Not logged in:
Citation Data and Metrics info is hidden.

Annotated:

The UC eLinks should be UCD-eLinks to match the button display and emphasize the Davis Library (rather than general UC).


CICD folder in live is not managed by terragrunt

There doesn't seem to be a terragrunt.hcl in the live/ cicd dir.

This is intentional. The cicd in live is only needed when using with CICD and needs to be deployed before anything else. terragrunt plan-all or apply-all should not see this directory when run locally. It's done as a separate step in https://github.com/GoogleCloudPlatform/healthcare-data-protection-suite/blob/master/templates/tfengine/components/cicd/manual/configs/tf-plan.yaml#L30 and https://github.com/GoogleCloudPlatform/healthcare-data-protection-suite/blob/master/templates/tfengine/components/cicd/manual/configs/tf-apply.yaml#L36

So I was thinking of doing a similar thing to org_policies. You probably want org_policies to be deployed first as well so that later projects and deployments respect it, but do you think it's still worth it to allow terragrunt to deploy it? It may be more consistent to allow 'terragrunt apply' to work in any dir inside live while having our own CICD prioritize certain ones.

Discussed offline. live/cicd folder is a special case where when you run terragrunt apply-all locally, terragrunt should just ignore that as it's a local deployment anyway. While when it's done through CD, CD will handle that live/cicd folder as part of the cloud build config. Will leave it as the way it is now and change if we later see a need.
org_policies is currently already handled by terragrunt, and it would be nice to deploy org_policies folder before the rest, but dependency between terragrunt folders are difficult. So that will be a separate topic which is nice to investigate and implement if possible in the future.


Travis for Doc

From #7 Add CI to online docs (which don't exist yet) using Travis.

Look at the serde .travis.yml for inspiration https://github.com/serde-rs/serde/blob/master/.travis.yml

The documentation has been added to github.io.
I'll open up a new issue for setting up CI for the docs, but the manual approach does at least work.


Preloaded file imported twice in Objective-C?

I've just started writing an Objective-C translation to my "Convert a linked list to a string" Kata which involves a class Node predefined in the Preloaded section.  From my Preloaded section, it is apparent that I only defined my class once but when I click the "Run" button, the compiler complains with the following errors:
In file included from
 error: duplicate interface definition for class 'Node'
@interface Node: NSObject
^
/home/codewarrior/setup.m:3:12: note: previous definition is here
@interface Node: NSObject
          ^
In file included from
 error: property has a previous declaration
@property (readonly) int data;
                         ^
/home/codewarrior/setup.m:8:26: note: property declared here
@property (readonly) int data;
                         ^
In file included from
 error: property has a previous declaration
@property (readonly) Node *next;
                           ^
/home/codewarrior/setup.m:9:28: note: property declared here
@property (readonly) Node *next;
                           ^
In file included from
 error: reimplementation of class 'Node'
@implementation Node
                ^
/home/codewarrior/setup.m:16:17: note: previous definition is here
@implementation Node
                ^
4 errors generated.

Here is my Preloaded section for your reference (to show that I have indeed not defined my class more than once):
#import <Foundation/Foundation.h>

@interface Node: NSObject
{
  int data;
  Node *next;
}
@property (readonly) int data;
@property (readonly) Node *next;
- (id)initWithData: (int)d andNext: (Node *)n;
- (id)initWithData: (int)d;
+ (Node *)nodeWithData: (int)d andNext: (Node *)n;
+ (Node *)nodeWithData: (int)d;
@end

@implementation Node
@synthesize data;
@synthesize next;
- (id)initWithData: (int)d andNext: (Node *)n
{
  data = d;
  next = n;
  return self;
}
- (id)initWithData: (int)d
{
  data = d;
  next = NULL;
  return self;
}
+ (Node *)nodeWithData: (int)d andNext: (Node *)n
{
  return [[Node alloc] initWithData: d andNext: n];
}
+ (Node *)nodeWithData: (int)d
{
  return [[Node alloc] initWithData: d];
}
@end

And my current "Solution" for your additional reference (same as the "Initial Solution"):
#import <Foundation/Foundation.h>

NSString *stringify(Node *list) {
  // TODO: Return a string representation of the list passed in
  return @"";
}

And the "Test Cases" section (should fail but not throw a compiler error):
@implementation TestSuite
- (void)testsIfReturnsActual
{
  UKStringsEqual(@"expected", @"actual");
  UKStringsNotEqual(@"expected", @"actual");
}
@end

@kazk Would you mind looking into this for me?  Any help would be much appreciated, cheers :smile:

Thanks for reporting. Yeah, it looks like a bug.
I'm very confused with the implementation. It seems to concatenate (solution.m contains setup and solution), but fixture.m also imports setup.m :/
I'll try to fix this soon.

Thanks for confirming, I guess I'll work on other ObjC translations not involving the Preloaded section in the meantime :smile:


New XataClient implementation

Add a new way to add namespaces, refactor BaseClient and RepositoryFactory
Pending:

Review package size (30K previously was 15K)

Merging so we don't have conflicts. I will review the size-limit increase in another PR.

Sorry for generating the wrong codegen/example/xata.ts in a previous PR!

No worries, it was getting your workspace from the env variables 😄


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 209 ms

Resolved: ClamAV performance has improved in b96bc51.


[bug] compatability issues with GoToSocial

What happened?

Navigate brid.gy to the mastodon login path
Enter my gts server and then log in with my gts account
Approve the oath request:
Application Bridgy (https://brid.gy/) would like to perform actions on your behalf, with scope read:accounts read:blocks  read:notifications read:search read:statuses.

The application will redirect to https://brid.gy/mastodon/callback to continue.
4. Error returned on redirected page.
What you expected to happen?
To be able to authenticate with brid.gy in order to enable the application to interact with my GtS account

How to reproduce it?
Same steps as above
Anything else we need to know?
The errors from the syslog on the gts server:
Jan 11 12:49:57 gtsRock gotosocial[1024]: timestamp="11/01/2023 12:49:57.143" func=oauth.New.func1 level=ERROR msg="internal oauth error: parse \"https://brid.gy/mastodon/callback\\nhttps://brid.gy/delete/finish\\nhttps://brid.gy/micropub-token/mastodon/finish\\nhttps://brid.gy/publish/mastodon/finish\\nhttps://brid.gy/mastodon/delete/finish\": net/url: invalid control character in URL"
Jan 11 12:49:57 gtsRock gotosocial[1024]: timestamp="11/01/2023 12:49:57.143" func=oauth.New.func2 level=ERROR msg="internal response error: server_error"
Jan 11 12:49:57 gtsRock gotosocial[1024]: timestamp="11/01/2023 12:49:57.148" func=router.loggingMiddleware.func1 level=INFO latency=20.272862ms clientIP=<IP_ADDRESS> userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0" method=POST statusCode=302 path=/oauth/authorize msg="Found: wrote 23B"

The url of the callback: https://brid.gy/mastodon/callback?error=server_error&error_description=The+authorization+server+encountered+an+unexpected+condition+that+prevented+it+from+fulfilling+the+request&state=11
Text on the resulting html page.
Bad Request
server_error The authorization server encountered an unexpected condition that prevented it from fulfilling the request
I am not sure if the issue lies on the gotosocial side, the brid.gy side or a bit of both so will raise the same issue on both gts & bridgy github pages.
GoToSocial ticket: https://github.com/superseriousbusiness/gotosocial/issues/1327

Ah, GoToSocial! Memories of #1340. Sounds like we maybe got a bit further this time, but still not all the way?

Yes, pretty much, been somewhat strapped for time so haven't been able to raise tickets of late.  I suspect that we are close and hoping the remaining hurdles are simple enough to overcome!

Looks like the issue is that Mastodon's API for creating OAuth apps lets you pass multiple redirect URLs in redirect_uris, separated by newlines, https://github.com/doorkeeper-gem/doorkeeper/pull/298, but it looks like GtS might not support that.

They're tracking this in https://github.com/superseriousbusiness/gotosocial/issues/962 now. Tentatively closing here, feel free to reopen if we need to do anything on Bridgy's end!


Error message for duplicate menu creation. Fix for issue #187

This is a possible solution to #187

I think this should handled by validation unique instead of checking it manually. Also it will easier to add another validation later.
https://laravel.com/docs/5.3/validation#rule-unique

I must agree with @handiwijoyo on this one.