Style script according to PEP8

Used the same setup I have on the importer script (save checking the non-existent docstrings ;)). This is not exact PEP8 as there are some cases that can be better fixed with some code reworking, but this is very close. :)

@le717 Thanks a heap!
But uggh, how I hate four-space indent. Ah well, a necessary evil I guess.
Merged. :)


Add wow profile endpoint

Add the "Account Profile API" endpoint. Since theses endpoints needs an "access_token" acquired via OAuth, I've updated the RBattlenet class as well to not add the "Authorization" header if an "access_token" is provided.
I also remove some endpoints added in #19 and #20 because they were already available but with an other names.
I don't know the process to release a new version to rubygem, but it could be nice to do that after this PR ;)

Thanks Dainii, I'll release a new version soon

Thanks


Add dependencies audit

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1e2eb93). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #33   +/-   ##
=========================================
  Coverage          ?   93.47%
=========================================
  Files             ?        2
  Lines             ?      230
  Branches          ?        0
=========================================
  Hits              ?      215
  Misses            ?       15
  Partials          ?        0

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 1e2eb93...8069242. Read the comment docs.


Document why this is a separate tap

I feel uncomfortable configuring taps that aren't in the Homebrew org, because I trust the Homebrew folks to know their own package manager but I don't trust other people to know Homebrew as well. It would be nice to see some explanation as to why this isn't in the homebrew/homebrew-core repo anymore, i.e. why I should trust Heroku to mess with the state of my package manager.

@mimen closed by accident? https://devcenter.heroku.com/articles/heroku-cli still doesn't mention anything and the README doesn't either


keosd running on wrong port?

Running through the 'getting started' stuff located here:
https://github.com/EOSIO/eos/wiki/Tutorial-Getting-Started-With-Contracts
When running:
cleos wallet create
I got this error:
'Failed to connect to keosd at http://localhost:8900/; is keosd running?'
I found that the config.ini located in my ~/eosio-wallet directory showed this.
http-server-address = <IP_ADDRESS>:8888
Seems that the out-of-the-box setup is configured to run keosd at localhost:8888 while cleos is configured to look for it at localhost:8900.
Changing 'http-server-address' variable to <IP_ADDRESS>:8900 seems to solve the problem.
Curently, line #240 in this file:
eos/plugins/http_plugin/http_plugin.cpp
sets the default http-server-address to <IP_ADDRESS>:8888
Can this be safely changed to <IP_ADDRESS>:8900 ?
Alternatively, maybe I just need to run keosd manually before creating a wallet? But I thought starting nodeos was supposed to launch keosd.

Manually running keosd is the current recommendation.  Running cleos starts keosd, not nodeos, unless keosd is running on the port cleos expects, in which case it does not launch another one.

Is this solved?

It's not work. I was modified localhost:8900 in config.ini, but still got same error.
I was followed from this guidance - https://github.com/EOSIO/eos/wiki/Local-Environment#3-docker
It is work well when I running "docker-compose up", but following "cleos wallet list" got error.

This is a configuration option, please refer to latest documentation at developer.eos.io.


v2.1

Coverage remained the same at 100.0% when pulling 31bbd28d39c897e4d8042622628344124ebe502d on dev into 2024302c54ce664fbc636cc378cb1c38123c9faa on master.


Fix LLVM error in esercizio7

variable-sized object may not be initialized     int vect[vect_size] = { 1, 4, 7, 9, 10, 4, 2, 78, 25 };              ^~~~~~~~~

Fixed


Master

Stormpath

Thanks @bmroberts1987 , this looks like the addition of an example profile modification route, correct?  I'd like to update the title and description appropriately (this makes it easier for us to review).  Thanks!

Thank you for for bringing this up! I've just done a rebase instead. Also, the changes from the feature-change-password-form branch should be merged into master, and this branch should be closed.

Unfortunately I don't have permissions to do anything to this repo. But waiting for @omgitstom or @robertjd to give me permission.

@typerandom you should have perms now

Closing issue since it's no longer needed.


Please what is the purpose of this ping that runs every few seconds?

Please what is the purpose of this ping that runs every few seconds?
https://github.com/findmypast-oss/mssqlex/blob/d1b1253d3df7935377a6a4974f1dfe5803e6d512/lib/mssqlex/protocol.ex#L309-L317

This is part of our implementation of the DBConnection behaviour.
In their documentation they say the following about ping/1:

Called when the connection has been idle for a period of time. Return {:ok, state} to continue or {:disconnect, exception, state} to disconnect.
This callback is called if no callbacks have been called after the idle timeout and a client process is not using the state. The idle timeout can be configured by the :idle_timeout option. This function can be called whether the connection is checked in or checked out.
This callback is called in the connection process.


add raw duckdb to integration tests

I've encountered some limitations when using sqlalchemy + duckdb (via duckdb-engine), so moving on, the idea is to recommend users to use duckdb directly. This will help us to also provide performance improvements over the current approach:
In [1]: import duckdb

In [2]: conn = duckdb.connect()

In [3]: conn.execute("select * from penguins.csv").fetchmany(4)
Out[3]:
[('Adelie', 'Torgersen', 39.1, 18.7, 181, 3750, 'MALE'),
 ('Adelie', 'Torgersen', 39.5, 17.4, 186, 3800, 'FEMALE'),
 ('Adelie', 'Torgersen', 40.3, 18.0, 195, 3250, 'FEMALE'),
 ('Adelie', 'Torgersen', None, None, None, None, None)]

We already support DBAPI-compliant drivers in JupySQL:
In [5]: %load_ext sql

In [6]: conn = duckdb.connect()

In [7]: %sql conn

In [8]: %sql select * from penguins.csv
Running query in '<duckdb.DuckDBPyConnection object at 0x11ea51070>'
Out[8]:
+---------+-----------+----------------+---------------+-------------------+-------------+--------+
| species |   island  | bill_length_mm | bill_depth_mm | flipper_length_mm | body_mass_g |  sex   |
+---------+-----------+----------------+---------------+-------------------+-------------+--------+
|  Adelie | Torgersen |      39.1      |      18.7     |        181        |     3750    |  MALE  |
|  Adelie | Torgersen |      39.5      |      17.4     |        186        |     3800    | FEMALE |
|  Adelie | Torgersen |      40.3      |      18.0     |        195        |     3250    | FEMALE |
|  Adelie | Torgersen |      None      |      None     |        None       |     None    |  None  |
|  Adelie | Torgersen |      36.7      |      19.3     |        193        |     3450    | FEMALE |
|  Adelie | Torgersen |      39.3      |      20.6     |        190        |     3650    |  MALE  |
|  Adelie | Torgersen |      38.9      |      17.8     |        181        |     3625    | FEMALE |
|  Adelie | Torgersen |      39.2      |      19.6     |        195        |     4675    |  MALE  |
|  Adelie | Torgersen |      34.1      |      18.1     |        193        |     3475    |  None  |
|  Adelie | Torgersen |      42.0      |      20.2     |        190        |     4250    |  None  |
+---------+-----------+----------------+---------------+-------------------+-------------+--------+

However, we still need tests specific to DuckDB. So we must ensure our integration tests cover all basic use cases: %sql, %%sql, %%sqlplot (all plots)
I believe test_generic_db_operations.py already has all the tests we need so we only need to add a new fixture that provides a DuckDB connection using the native driver.
I expect some quirks to happen so another thing to do is to run the existing DuckDB tutorial with a native DuckDB connection and report what's broken (Note: %sqlcmd` won't work). And also give it a try with some extra commands to see if we can find any other edge cases.

This will help us fix: https://github.com/ploomber/jupysql/issues/428 and https://github.com/ploomber/jupysql/issues/674

AC Criteria:

Integration testing for duckDB
Explore the compatibility with various functions of jupysql


Refactor to isolate public interfaces

This is step 1 to publishing typings. Idea is that src/public/Interfaces is the only file that will have typings generated from it and published (either to @ types or as an npm package)

Looks good to me!

Had a quick chat with @mhoeger and the two main pieces of feedback I had were:

Have our types in a namespace
Use actual definition .d.ts files

@fabiocav - Thanks for the review! I've included the actual typings file we will publish.
Also, found this relevant snippet on namespacing from the TypeScript handbook:

The general idea of namespacing is to provide logical grouping of constructs and to prevent name collisions. Because the module file itself is already a logical grouping, and its top-level name is defined by the code that imports it, it’s unnecessary to use an additional module layer for exported objects.

I guess that does make sense in the context of modules, just wanted to make sure we were considering whether that was needed and that we were consistent with the rest of the ecosystem.


Sort task by date/time

Somewhat related to #13 , the main Todoist interface will sort the tasks by date/time if set on the tasks. It would be nice to include this sort on the tasks rendered in Obsidian.
To match Todoist tasks with a date and time are rendered first and then tasks with a date but no time and then tasks with no date or time.

This has been released in v1.2 :tada:


[Bug] [docs-zh][docs] System User Manual link failure (both docs-zh and docs)

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Document https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/design.html under
1.3 Architecture description link System User Manual return 404 Not Found. It happened  https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/architecture/design.html  at the same time.
What you expected to happen
Link System User Manual should link to a normal page
How to reproduce
https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/design.html
https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/architecture/design.html
Click above link
Anything else
No response
Version
2.0.0
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I don't think it is a bug.
The url address mapping ：
VERSION 2.0.0:
https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/design.html
https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/architecture/design.html
VERSION 1.3.9:
https://dolphinscheduler.apache.org/en-us/docs/1.3.9/user_doc/architecture-design.html
https://dolphinscheduler.apache.org/zh-cn/docs/1.3.9/user_doc/architecture-design.html

I don't think it is a bug.
The url address mapping ：
VERSION 2.0.0: https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/design.html https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/architecture/design.html
VERSION 1.3.9: https://dolphinscheduler.apache.org/en-us/docs/1.3.9/user_doc/architecture-design.html https://dolphinscheduler.apache.org/zh-cn/docs/1.3.9/user_doc/architecture-design.html

You‘re right, you did a good job here 👍 . FYI @lukairui you could @ me, when you think the issue could close or you going to do any issue.

Thanks a lot . @zhongjiajie

It seems i had not make it clear.
when i click the hyperlink shown above 1 in https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/architecture/design.html , i get a 404 page shown above 2, so i think something wrong
ps：I found it in VERSION 2.0.0, but VERSION 1.3.9 is ok.
@zhongjiajie @lukairui

May i fix this？

May i fix this？

@uestczhuhao  Feel free to take and fix is, I assigned to you, looking forward your contribution. You could ping me if you need any help.

@uestczhuhao  FYI, I notice that we currently use html syntax for our doc  System User Manual , it better to use markdown syntax [System User Manual](/en-us/docs/2.0.1/user_doc/system-manual.html)

@uestczhuhao FYI, I notice that we currently use html syntax for our doc  System User Manual , it better to use markdown syntax [System User Manual](/en-us/docs/2.0.1/user_doc/system-manual.html)

OK，get it

@zhongjiajie I have finished this issue, please take a look
ps: this issue seems assigned to youself, could you change it to me?

@zhongjiajie I have finished this issue, please take a look ps: this issue seems assigned to youself, could you change it to me?

Thanks for your notice, I change to you and would review your PR right now


VGG dataset issue

When I run 'preprocess.py' it gives me an error :
No such file as : ..../VG_100K/51.jpg
Well there is no image as 51.jpg. Why isn't it reading the VGG images I have inside VG_100K folder? from where is it getting the command to take '51.jpg' image?
Please help me.

Looks like this was my mistake, I didn't merge the two folders. Solved now.


Add an error_callback to async calls to handle HTTP errors.

I believe this should resolve #34 that I had submitted earlier.

error_callback is only available in python 3, for compatybility this should be a **kwargs


Reorganize SETTINGS > ORGANIZATION SETTINGS > Automated messages and emails.

First commit is to just move all the settings inside organization-settings-parent div without any visual changes.
Second commit is to reorder settings.
Third commit is to move "Allow message content in message notification emails" setting.

Fixes:  #25339

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Looks good to me (tested manually)!
@drrosa Would you be up for taking care fo this part?

We'll need to check the help center for any required updates, most likely needed just for the "Allow message content in message notification emails" setting.

Merged, thanks @sahil839!


Expose transport client's adapter parameter and document how using different adapters affects performance

I've done an investigation recently trying out every Enterprise Search API clients and making sure they all used persistent HTTP connections whenever possible to reduce the impact of TCP and SSL handshakes on API requests to Elastic Cloud instances. While doing so, I have noticed, that there is no way to tell the Enterprise Search client to use a specific adapter and it is not immediately obvious what adapters are supported and how they impact performance.
As a result of this ambiguity, a simple ruby script that performs a 100 requests to an Elastic Cloud cluster takes 3.5 times longer that it has to since the default adapter does not support persistent connections.
I think it would be very useful to directly call out the existence of different adapters in the underlying transport client and explain how not using a proper adapter is going to extremely detrimental to any production use of the API client.
Additionally, allowing users to pass the :adapter argument to the client would make it much easier to control what adapters are used (passing it through to the underlying transport client). Without it, users have to manually construct a transport object and pass it to the API, which is a bit awkward IMO.

Thanks for this @kovyrin. I'm going to add an easier way to choose an adapter and once that's implemented, add more information in the docs to warn users about the impact of using HTTP libraries which support persistent HTTP connections :+1:

@kovyrin if there is such a big difference, before the release of 8.0, we could add one of the libraries which support persisten HTTP connections as a dependency and make it the default adapter for a better user experience. What do you think?

@kovyrin if there is such a big difference, before the release of 8.0, we could add one of the libraries which support persisten HTTP connections as a dependency and make it the default adapter for a better user experience. What do you think?

The problem with requiring a specific adapter as a dependency is that in many cases it'd clash with the HTTP clients people have already included in their project and could lead to all kinds of weird environment issues. I'd err on the side of caution here and try to document it as prominently as possible without forcing people to adopt a specific client here.


Cannot read property 'branch' of undefined

I've placed the CCI API token in my VS Code setting - however, I receive the error "Cannot read property 'branch' of undefined" and I don't see any of my workflows in the extension tab. Also, when I click on the "open in browser" button I receive the error "Running the contributed command: 'circleci.openPage' failed."

Apologies for delay, are you still encountering these issues? Couple things that could help debug this:

When you start the extension is there any output in Debug Console?
Do you have a Git remote set for origin (git config --get remote.origin.url)?

This error is happening to me too. It says on the plugin to set the API Key on the settings with "circleci.apiToken": "xxxxxxxxxxxxxxxxxxxxxx", but vscode says it's an Unknown Configuration Setting. Could be because of this?

Any news on this?

Same issue. It's unusable until this is resolved or instructions are made clearer @jodyheavener


Redis connection timeout

Related Issue:  N/A
Description of changes

Add Redis connection timeout.

Travis build failing.


Update MD file on new branch 2017-12-09_17-42-17

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Rails 3.2.18 dalli for session store, expires_after is ignored in session_store.rb

In our development.rb:
 config.cache_store = :dalli_store, nil, {:namespace => 'portal_sessions',
                                  :expires_in  => 5.seconds,
                                  :compress => true,
                                  :pool_size => 20}

In our session_store.rb:
Rails.application.config.session_store ActionDispatch::Session::CacheStore, :expire_after => 20.minutes

Session always expires in 5 seconds, and it also appear any options passed with the above session_store.rb setup is ignored. Also tried using :expires_in instead of :expires_after in session_store.rb, but produced the same results. This may be the intended functionality but README.md would suggest otherwise.

Related https://github.com/rails/rails/issues/17582#issuecomment-100020134


📝 DOCS: add badges in README.md

Discuss here what badges could be added and then send the PR :)

Hello @peb-peb  ,
I'm Anushka Anand . I want to work on this issue under Gssoc'23. I am really eager to work on open source projects and contribute to this community.
Skills
HTML5, CSS3, JS, Bootstrap | Python, Django | Php, mysql | MERN | Responsive Design | Adobe Photoshop |
Can you please assign this issue to me.

I'm a contributor for GSSoC '23, I want to contribute to this issue. Please assign me.

Hello, I'm a contributor for GSSoc'23, I want to work on this issue as I'm a beginner, please assign this issue to me.

@Anushka20365 , Hey buddy thanks for stepping up yea add the required badges and as this is a Open source project you can pull a request at any time we would be happy to merge it
Thank you!!


🐛 fix extra re-render in accordion wc

fix this error =>
The state/prop "accHeaderButtons" changed during "componentDidLoad()", this triggers extra re-renders, try to setup on "componentWillLoad()"

close #35


Smaller graph on Device Tracker page

Is your feature request related to a problem? Please describe.
The Device Tracker shows a graph of the selected item but the size is too large in my opinion. Maybe half of the size would be enough and the background picture quality is low on this page. I know it’s a minor issue, and maybe it is only my opinion, but I think the readability would be better in smaller size.
Describe the solution you'd like
I think on an average screen resolution 1920x1200 the graph should be fit on the page with all categories on the top, below and sides to see the whole status of the actual FW charactersitics.

tracker will move towards tracking sbom results
issue iw now outdated


[Pager] Support snapIndex in fling behavior

Description
It is currently not possible to define when the pager should snap to which page. The Snapper library makes that possible with the snapIndex Lambda in the fling behavior ( https://chrisbanes.github.io/snapper/api/lib/dev.chrisbanes.snapper/-snapper-fling-behavior/index.html).
Since the lazyListState in the PagerState is currently not public, it's not possible to create a custom flingBehavior with a custom snapIndex for a Pager, because a layoutInfo of the list is required.
Steps to reproduce
Try to implement a Pager where the user doesn't need to scroll so much to switch pages.
Expected behavior
It is possible to define the "distance" that need to be scrolled before the pager snaps to the next/previous page.

Pager is intended for the cases when there is one current page and each swipe is always swiping to the next page. If you want to swipe by multiple items at once you should just use LazyRow with Snapper directly, what you want is not really a Pager in this sense

Have you seen this api - https://github.com/google/accompanist/blob/2248e5efc788f7dc0c0be26239d6020bc888f127/pager/src/main/java/com/google/accompanist/pager/Pager.kt#L152
I think this should allow you to customize the snapper params.
However if there is hard to swipe pager with the default configs on tablet probably the defaults are wrong. Does it default come from Snapper or from Pager?

Ahhh sorry! This is exactly what I was looking for. I had an older version without this variant of flingBehavior().
Thank you!

Hi,
I just want to confirm that swiping on a tablet in landscape is kind of impossible (takes four to five tries) with just your thumb from a side of the screen.  Forefinger is easier but still not comparable to swiping on a phone.
I would agree to @andkulikov that the defaults should be adjusted. However, if someone (maybe @golottie-jens) can provide a sample using flingBehavior that would be helpful too.
Thanks.

Hej @lukaspieper ,
I ended up with a solution like this (change minFlingDistanceDp  to modify fling-sensitivity):
`HorizontalPager(
modifier = Modifier.fillMaxSize(),
state = pagerState,
count = noOfPages,
flingBehavior = flingBehavior(pagerState = pagerState, noOfPages = noOfPages)
) { page ->
//Content
}
val minFlingDistanceDp = 150.dp
@OptIn(ExperimentalPagerApi::class, dev.chrisbanes.snapper.ExperimentalSnapperApi::class)
@Composable
fun flingBehavior(pagerState: PagerState, noOfPages: Int): FlingBehavior {
var currentPageIndex = remember { pagerState.currentPage }
return PagerDefaults.flingBehavior(
state = pagerState,
snapIndex = { layoutInfo, _, _ ->
val distanceToStartSnap = layoutInfo.distanceToIndexSnap(currentPageIndex)
currentPageIndex = when {
distanceToStartSnap < -(minFlingDistanceDp.value) -> {
(currentPageIndex + 1).coerceAtMost(noOfPages - 1)
}
distanceToStartSnap > minFlingDistanceDp.value -> {
(currentPageIndex - 1).coerceAtLeast(0)
}
else -> {
currentPageIndex
}
}
currentPageIndex
}
)
}`
Hop that helps. Have a nice weekend.

Thanks. Working great. 150.dp also seems quite reasonable.
Have a nice weekend too.


SpriteGame example leaks memory; crashes after a few minutes

Looking at "Mallog Log", memory is continuously consumed, with many objects of a handful of sizes (7160, 5196, 1198, 1171, 1024, 976 bytes).
It doesn't seem to matter too much what user behavior is going on.
The crash is when the game tries to load the font and catches an error (i.e. null result):
SpriteGame/SpriteGame.swift:52: Fatal error: no font
Trace/BPT trap: 5

Presumably related to the way bitmaps that get associated with sprites are being retained, and therefore presumably would be fixed by just pre-loading those images as the original does.
Ideally, fix it without pre-loading, to show that refcounting can be made to work.

It was the font, mostly, but I was also not handling null bitmap/font results, which masked another bug.
Fixed in #3.


Initializing a project with a submodule fails if directory exists

Describe the bug
Suppose the template to generate from is in a repository b that has a git submodule a  as a dependency.
So the repository b looks like the following (assuming ahas a filefoo`).
├── b
│   └── a
│       └── foo

Now suppose we wish to initialize a project using cargo generate in /root where
/root
    └── a
        └── somefile

that is, root has a non-empty subdirectory called a.
This fails with the error.
Caused by:
    'a' exists and is not an empty directory; class=Invalid (3); code=Exists (-4)

To Reproduce
Steps to reproduce the behavior:

cargo generate <WHAT DID YOU RUN>
output it generated..
See error

Expected behavior
cargo generate succeeds and offers the usual options.
Desktop (please complete the following information):

OS: Linux
Version: v0.5.0-453-g51deb01
Build tools: gcc
cargo generate --version: 0.17.4

** Root cause **
The root cause of this is the following issue in libgit2 https://github.com/libgit2/libgit2/issues/5830 .
Essentially during the cloning of the submodule there is an incorrect check which checks in the current working directory whether the directory a exists even though that is not relevant.
It is possible to work around the issue in cargo-generate by modifying the clone_with_submodules function to change the working directory
    pub fn clone_with_submodules(self, dest_path: &Path) -> Result<Repository> {
        self.clone(dest_path).and_then(|repo| {
            // set the working directory to the root of the newly created repository
            // this works around the issue https://github.com/libgit2/libgit2/issues/5830
            // in libgit2
            std::env::set_current_dir(dest_path)?;
            for mut sub in repo.submodules()? {
                sub.update(true, None)?;
            }

            Ok(repo)
        })
    }

Seeing that the libgit2 has not resolved the issue in more than a year, would it be acceptable to this project to work around the issue here? I'm more than happy to contribute a PR.

I guess the proposed workaround is fine, but IMO it is important to restore the CWD to it's previous value in order to minimize side effects as much as possible.


[Android] Fix and reimplement user input in EditText control

PR Details

This pull reimplements showing the Android EditText control when a user taps Stride's EditText.
Technical details are:
Removed Game.axml - This was what should have been loaded, however in the transition to SDL, xen2 probably encountered some issues and just skipped over it.
Based on ancient times when it worked, the native EditText control and the rendering view sat together with a common container, however now SDL sits as the main view and would be a little hacky to try to jimmy it into the Game.axml layout.
This implementation avoids this completing by making the native EditText control live on its own layout and is displayed as a PopupWindow. This also has the benefit of not shifting up the rendering view when the soft input (on-screen keyboard) appears.
Old implementation:

New implementation (left):

New changes include adding an OK button close the popup, however the player can also just tap anywhere on the screen to close it.
There's quirk where selection/caret position from the native control is reflected back to Stride's control - this was in the original behavior and is still retained here. Personally I think Stride's control should disable rendering caret/selection in this case since the player should be looking at the native control. This could be a future enhancement.
Another change is that when the keyboard shows up, it'll immediate select all the text. The original behavior would just set the caret at the beginning of the text - in my opinion this is the least logical expectation of a user. Probably another enhancement would be to change the behavior of what the initial state should be, eg. SelectAll | CaretAtBegining | CaretAtEnd
Due to SDL, Stride is running on a separate thread from Android UI thread, so most Android EditText method calls are done through its Post method, which ensures it's enqueue to call on the UI thread.
Resource.Designer.cs can now be removed. As of .NET8, the Xamarin build system will generate it all at once in the developer's project.
The stride_popup_edittext.xml lives in the Platforms\Android\ folder.
At some point in the future I think all (or most?) platform specific code should be placed in Platforms\[PLATFORM]\, as this actually how .NET MAUI prefers organizing code/assets.

There is a breaking change to GameContextAndroid:

GameContextAndroid constructor changed.
EditTextLayout field removed.
However it is highly unlikely users ever touched these as they were only really used for Stride's internal setup.

Changed the Android templates so some of the AndroidManifest settings can be moved to [Activity] in GAMENAMEActivity.cs
Note that in the 'New implementation' image above, the left using the original/default theme Theme.NoTitleBar.Fullscreen
I was tempted to change this to Theme.Material.Light.NoActionBar.Fullscreen (as seen in the right image) to make it look a bit more modern. This theme is only available on API 21 and above (which is already the project's minimum API level).
I have withheld this temptation since this is changeable by the developer in their own project, but just pointing out the option is there.

While I have tested this as much as I could, I believe we should make an alpha build to properly test how it behaves as a proper nuget package, as I cannot replicate the entire cross-platform nuget build/packaging that the official system has.
This also minimizes the 'it works on my machine' excuse.
A 'working' 4.2 Android project can be found here
https://github.com/Basewq/BasewqStrideAndroidTests/tree/main/AndStrideGame
Related Issue

Fixes #2289
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

Building packages through https://teamcity.stride3d.net/buildConfiguration/Package_BuildPackage/25608?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildChangesSection=true you can find them in the artifacts tab once it's done

Thanks for the new package/build, the main thing I was checking for is the stride_popup_edittext.xml to stay in the .aar file and not spill into the other platform's and thankfully it did.
I've had to add a new commit to lock a bunch of execution, as it turns out being on the Android UI thread is not safe as editText can be unset by the time it executes due to doing weird swiping actions on the phone.

Thanks !


Service generator updates module even when dry run specified

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.
@angular/cli: 1.0.1
node: 7.7.3
os: darwin x64
Repro steps.
# create project
ng new helloWorld
# create module
ng g m subModule
# create service within module but with --dry-run flag
ng g s subModule/universe -m subModule/subModule.module -spec false -d

Desired functionality.
Dry run is specified... the service is not created, but the module is updated to import & add the service to the NgModule decorator like it was added.

This should have been fixed in 1.0.1 by https://github.com/angular/angular-cli/commit/be7c9b1b8a1950d92437baf1b36d8a951e2e87dc
I am not reproducing using 1.0.1, do you still have the problem ?

I'm certain it happened @cexbrayat , but I can no longer reproduce it so I'll close it.


home page

👷 Deploy Preview for superb-taiyaki-bba461 processing.

Name
Link

🔨 Latest commit
3627bb339d628396f43e1fb7184c065ef9f6c5f6

🔍 Latest deploy log
https://app.netlify.com/sites/superb-taiyaki-bba461/deploys/652d13ce6d08050008b64b78


Support read-only repo

Hi @mohammedzeglam-pg,
Would you mind opening an issue to discuss why supporting this read-only scenarios is a good idea? I would like to understand your view and motivations first before moving forward with your PR.

Hi @mohammedzeglam-pg,
Would you mind opening an issue to discuss why supporting this read-only scenarios is a good idea? I would like to understand your view and motivations first before moving forward with your PR.

After think now i thing this is a wrong thing to do.


flask-gridjs with react -  does it make sense

Hi @miguelgrinberg ,
I was using gridjs in my application with some success and then I saw your react-flask blog, I was giving it a try but I found the gridjs table is not rendering under React, not sure if makes sense to use React in this way, anyway, I tried with your users example, the javascript code does not seems to be working.
Does this makes sense?
Using the basic_table.py with /api/users endpoint instead of /
and your code  for react-flask with this App.js
import React, { Component } from "react";
import logo from "./logo.svg";
import "./App.css";

class App extends Component {
    constructor(props) {
        super(props);
        this.state = { apiResponse: "" };
    }

    callAPI() {
        fetch("http://localhost:3000/api/users")
            .then(res => res.text())
            .then(res => this.setState({ apiResponse: res }))
            .catch(err => err);
    }

    componentDidMount() {
        this.callAPI();
    }

    render() {
        return (

        );
    }
}

export default App;

I am not able to render the table. I tried to put the javascript  scripts also in the index.html like this
<!DOCTYPE html>

    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />

    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />

    <link href="https://unpkg.com/gridjs/dist/theme/mermaid.min.css" rel="stylesheet" />
    <title>React App</title>

    You need to enable JavaScript to run this app.

Looking forward for your comments,
Thanks in advance,

Unfortunately this is not really a way I would recommend. If you are building a React application, then the rendering should be done in React, not in Flask. In fact there is a React package for Grid js that you can use: https://www.npmjs.com/package/gridjs-react.


Enable preparers to implicitly handle async tests

Currently, devs have to wrap async tests in an event loop to be called synchronously if they wish to utilize preparers; requiring them to get argument trimming and such right as well.
This PR enables this functionality within the core preparer, attempting to import asyncio and validate the function signature, wrapping if necessary, before falling back to a typical call pattern.
No work is necessary for sdks using a wrapper or similar approach, they can be deprecated as time allows/new tests can simply be written in async without concern or additional boilerplate.
Note: @praveenkuttappan I split out the unit tests for this preparer functionality in an async_tests subfolder, as with our normal SDKs, so that it will not interfere with other tests (e.g. syntax error pre 3.5).  I'm paranoid however since this is both the first of such tests in this space, and not in one of the typical SDK paths, so I just wanted to sanity check the steps I took past someone beforehand.  If we have a pipe I can run to validate this don't hesitate to let me know so I can take any effort off you.

Can one of the admins verify this patch?


Fix SM conversion offset via referencing Quaver

Will leave this to future minor 0.1.x updates because 0.1.0 is a lot of work already.
I can forsee this to be a simple algorithm fix, but I'm too lazy to figure it out for now
Feel free to PR if you know it


post-migration cleanup

[x] remove mysql python dependencies
[x] remove mysql+solr 6 from unit test matrix
[ ] update ansible variables for correct deploy context after renaming unit test matrix

update ansible variables for correct deploy context after renaming unit test matrix

So I'm able to leave deploy_contexts as is with 'Python unit tests (8.6, postgresql)' through the solution taken in PR https://github.com/Princeton-CDH/ppa-django/pull/491, since the matrix structure is preserved with the mysql option removed. I thought this preservation would be more modular and congenial to future migrations or testing regimes.


Doc: Examples with pitfalls

I decided to fully understand how to work with this crate.
As a result, I found a bunch of incomprehensible things that made me doubt the correctness of my own project.
Here in the examples it seems to sign how and what works, but when trying to write it myself, I encountered multiple import errors, etc. As a result, if you go deeper, it turns out that there are many imports already inside libraries that are implemented by features, etc.; Which slows down the investigation. As a result, it is simply unclear how and what and where to use, everything is cursed and everything is needed, but if you integrate it completely into your system, then your own project may fall.
(Because of the features in bevy_entities, more precisely with serialization, which as a result goes into prescribing [features] at home, breaks the project, because in order to use [features] without errors, you need to have the optional parameter in the dependencies, and it does not allow you to use this dependency in the rest of the code, which happened at me with serde)

First of all, I apologize for the inconvenience caused. Many people have already opened issues due to incomplete documentation, and I am very willing to improve the documentation. However, I am not quite sure how to achieve complete coverage of the documentation. Could you please tell me which functionalities you think are missing so that I can make improvements accordingly?
Furthermore, I don't quite understand the part in parentheses. Why is it that you can't use this dependency in the remaining code after adding the optional parameter? Could you provide some examples to illustrate this?

I've sorted out the problem. The solution is quite simple, when I was trying to figure out this library, I ran into unpredictable problems with dependencies and features, then I decided to take a look at cargo.toml, and many points became clear.
Solution, in order not to create a lot of problems for a beginner, you need to at least specify which dependencies are used in this or that example in the very same, so as not to run from point to point in an attempt to understand the structure of the project.
Not everyone is advanced and understands it the first time. Some people generally need time to delve into and understand the structure and subtleties of some things.

Did you read the README.md in examples? I thought this could solve problems similar to yours.


Lazysizes responsive images with artdirection and different aspect ratio for devices

We have a theme which uses the lazysizes plugin to lazyload the perfect sized image for every screen size.
Since the theme is using normal img tags which do not support the  tag i was wondering on how we can use responsive images in combination with different aspect ratios. I don't understand how the height parameter can be implemented into the URL. Was testing the following but it seems the height is replaced with an empty string.
<picture><source data-srcset="//cdn.shopify.com/s/files/1/XXXXXX/XXXXX/XXXX/products/filename_{width}x{height}_crop_center.jpg?v=1598371469" data-aspectratio=1.3> </picture>
Would be very helpful to have an example on where to define the height or aspect ratio? We want the cdn crop the image and not do it on client side.

Could you please make a full example. From your code I don't understand which plugins you use and if you want support I will need some example to fiddle around.

@aFarkas we use the lazysizes and RIaS Plugin.
<picture><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 2x" media="(min-width: 1200px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 2x" media="(min-width: 992px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 2x" media="(min-width: 768px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_{width}x{height}_crop_center.jpg?v=1598904079 2x" media="(min-width: 576px)"></picture>
I would like to have different aspect ratio work in combination with the data-widths so that lazysizes chooses the best width for the image and calculates the corresponding height. Or can I specify the height for every width manually? This would be my prefered solution since i could calculate it easily.

<picture><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_800x400_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_1600x800_crop_center.jpg?v=1598904079 2x" media="(min-width: 1200px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_400x400_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_800x800_crop_center.jpg?v=1598904079 2x" media="(min-width: 992px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_600x800_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_1200x1600_crop_center.jpg?v=1598904079 2x" media="(min-width: 768px)"><source srcset="https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_600x600_crop_center.jpg?v=1598904079 1x, https://cdn.shopify.com/s/files/1/0469/0044/5344/files/DAWN_brandimage_AY_03_2048x_1_1200x1200_crop_center.jpg?v=1598904079 2x" media="(min-width: 576px)"></picture>
Working picture code with different aspect ration and HDPI images for retina. Have no idea where to specify the data-widths and how the plugin calculates the height based on the data-aspectratio. And what happens when you have the natural aspect ratio and do not have the aspect ratio value?

I would like to have different aspect ratio work in combination with the data-widths so that lazysizes chooses the best width for the image and calculates the corresponding height. Or can I specify the height for every width manually? This would be my prefered solution since i could calculate it easily.

You can do both as you like. But I really can not write the code for you. Either read the manual more carefully or at least provide enough information and follow the simple bug reporting template: https://github.com/aFarkas/lazysizes/blob/gh-pages/.github/ISSUE_TEMPLATE/bug_report.md

@aFarkas Can you at least point me into the direction? I havent seen something like that in the docs. And I dont want to send a bug report. Would argue that the docs do miss examples here and is quite thin when it comes to art direction


Random Cleanups

hi @martindurant. I cleaned up the GCSFileSystem class a bit. Do you think
these refactors are helpful?
Changes

delete unused (?) gcsfs.auth.py module
refactor auth related logic to a new class GoogleCredentials
cleanup the implementation of GCSFileSystem._request

This looks good at a quick glance, I'll try to get around to a thorough review soon.

Sure thing. Take your time.

Sorry, conflict here following the retries PR. I suspect you would be friendly with those changes.

For sure. I saw that coming ;). I can rework this one.

This is ready for review @martindurant.


What format is returned by get_tile ?

Hello,
I used you library to implement a VectorTile server from GeoJSON however I've been unable to display the resulting tile with OpenLayers.
I get a dict with keys likes minX, maxY... and I have no idea what format this is. I tried MVP, GeoJSON and TopoJSON in OpenLayers, none managed to load these tiles.
Thanks

It should comply with the vector-tile-spec that can be found here: https://github.com/mapbox/vector-tile-spec/blob/master/README.md.
I'm not sure about the viewers that support this format, though, and someone more qualified might be able to help.

Hello,
I'm not sure about that, MVT file are supposed to be protobuf, or maybe I should then encode the dict payload to protobuf ?
Thanks

Seems I misunderstood the spec. This is a python port of the javascript equivalent geojson-vt which states:

Resulting tiles conform to the JSON equivalent of the vector tile specification.

I'm not sure, but in theory it should be possible to encode in protobuf to be conformant with the spec.

@Murthy10 I have the same question... I'm not quite sure how to get from the not-quite-GeoJSON but also not-quite-vt-protobuf output to something I can load as a real honest vector tile.... this code illustrates I believe the same "what now?" question that has us scratching our heads
# This is a large half-gigabyte FeatureCollection, load once at startup
geojson_path = 'big-featurecollection.geojson'
geojson_data = get_json(geojson_path)
mvt = geojson2vt(geojson_data, {'maxZoom': 20})

@app.route(f"{URL_BASE}/vector_tiles/<int:z>/<int:x>/<int:y>/<path:geojson_key>")
def vector_tiles(z=None, x=None, y=None, geojson_key=None):
    tile_dict = mvt.get_tile(z, x, y)

    # So.... Now what????
    #
    # OK, I don't think /this/ is right.... this JSON is now a LOT
    # more like the spec in vector_tile.proto but I'm missing some
    # step to convert this to an actual binary ProtoBuf, but tile_dict
    # is still not suitable to call google.protobuf.json_format.ParseDict
    # according to the vector_tile.proto spec.... so how do we get
    # from point A to something mapboxGL will see as a binary protobuf MVT???

    return jsonify(tile_dict)

Any hints? :-)

@Murthy10 I have the same question... I'm not quite sure how to get from the not-quite-GeoJSON but also not-quite-vt-protobuf output to something I can load as a real honest vector tile.... this code illustrates I believe the same "what now?" question that has us scratching our heads
# This is a large half-gigabyte FeatureCollection, load once at startup
geojson_path = 'big-featurecollection.geojson'
geojson_data = get_json(geojson_path)
mvt = geojson2vt(geojson_data, {'maxZoom': 20})

@app.route(f"{URL_BASE}/vector_tiles/<int:z>/<int:x>/<int:y>")
def vector_tiles(z=None, x=None, y=None, geojson_key=None):
    tile_dict = mvt.get_tile(z, x, y)

    # So.... Now what????
    #
    # OK, I don't think /this/ is right.... this JSON is now a LOT
    # more like the spec in vector_tile.proto but I'm missing some
    # step to convert this to an actual binary ProtoBuf, but tile_dict
    # is still not suitable to call google.protobuf.json_format.ParseDict
    # according to the vector_tile.proto spec.... so how do we get
    # from point A to something mapboxGL will see as a binary protobuf MVT???

    return jsonify(tile_dict)

Any hints? :-)

did you managed to figuring it out? I am stuck here.

old issue but still relevant:
here for reference you need to encode as bpf with something like this: https://github.com/DenysMoskalenko/vt2pbf


Added AutoCloseable interface to RiakClient

I just added the AutoCloseable Interface to RiakClient to use the Try-with-Resource Statement.

Good point! I added that!

The RiakCluster / RiakClient objects are supposed to be longer-lived and manage a pool of connections that can be shared across multiple threads.  Are you envisioning using this like JDBC connections?

Closeable extends from Autocloseable so I think we could just implement that - http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html

Closeable extends from Autocloseable so I think we could just implement that - http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html

@alexmoore Not only but in some cases it makes it easier to implement small projects
@jplock could be a solution

I vote for AutoCloseable as it is more generic and modern interface, with more generic contract.
But there is another issue, at the moment close() method is implemented as
public void close() throws ExecutionException, InterruptedException

, whereas:

Implementers of this interface are also strongly advised to not have the close method throw InterruptedException. This exception interacts with a thread's interrupted status, and runtime misbehavior is likely to occur if an InterruptedException is suppressed. More generally, if it would cause problems for an exception to be suppressed, the AutoCloseable.close method should not throw it.

from the javadoc

@srgg hmm! Just catch it, doesn't seams enough! What kind of handling would you suggest?


Feature/frontend/theme/overhaul

I still have some minor changes I want to make. I also would like your opinion on resources/templates/frames. I made that folder as I was going along to keep what I was working on separate and easy to debug.
Let me know what you think!
Todo:

[x] Fix login screen text (it's invisible in firefox and partially in safari)
[x] Remove account information from top bar
[x] test all functions on live server to make sure I didn't break anything
[x] clean up code (since I'm new to angular, css, html)
[x] rebase all changes into one nice commit?

I pulled down your branch and ran it...great job! I only found two visual things I'd like you to address:

I haven't looked at the code yet, so let me know if you want me to wait until you knock out your cleanup TODOs first. Or I can look before then and give you advice, if you want.

Please take a look :) cuz I dunno where to start.
Sent from my mobile so sorry for the being curt!
On Jan 15, 2016, at 17:19, Geoff Bourne<EMAIL_ADDRESS>wrote:

I pulled down your branch and ran it...great job! I only found two visual things I'd like you to address:
I haven't looked at the code yet, so let me know if you want me to wait until you knock out your cleanup TODOs first. Or I can look before then and give you advice, if you want.
—
Reply to this email directly or view it on GitHub.

Sorry for all the comments. This turned out to be a good conduit to voice some contributor guidelines that were in my head.

No worries. Now time for me to fix all of them :dash:

I just noticed "Status" needs space after the label:

Also, I tried out the interface on my iPhone and it's a lot more usable than it was before; however, it seems to take a few taps on "Create Container" to go there and even then the sidebar doesn't slide back automatically. I haven't investigated any yet to see if the click is too small or what. It's also a pain since Chrome on my iPhone doesn't show if there's any JS errors occurring. For what it's worth here's a screen grab:

Thanks for testing it out!
FYI not related to the above convo, there are more style changes I want to make that I'm leaving alone until after a successful pull request. For example:

the white border will either go away, or change to look more natural. Stuff like that.

Sounds like a good plan.

I haven't had a change to fix the touch / sidebar slide back yet, but the rest of the issues are pretty well done.

I looked and I'm not sure about the touch / sidebar slide back on mobile issue. Hopefully it'll become apparent as I keep working with the theme.
Otherwise, I think this puppy is ready to go. Since it hasn't been merged yet, I'm going to continue to work on it. I don't really want to, but I think it's time to go through all the css and figure out what is actually needed. Right now, it's a mess :disappointed:

Cancel that. It's actually ok for now.

Since that file is focused on the theme, then it's okay to leave all that in there. Being cascading we can then include a style sheet after the theme for specific tweaks.
Now, if there's any modifications you had to make, then put back the original theme css and then move your  mods to the new cascaded style sheet.

Cool. The only changes I made were just bugs (e.g. width: 90px and width: 100% both present).

Whoops! Broke the login page. Gotta figure out where I did that.

Very weird. I have firefox on private browsing so it should start fresh. When I first click the login button it goes to this:

If I press the back button and click login again, it goes to the correct page...

To baseline weird redirect scenarios like that, enter http://localhost:8080/ in the address bar and press Enter/Return to confirm you're starting from that known point.

No dice :-/ I'm not sure what's up.

Huh. Nvm. When I remove:
<!--suppress HtmlUnknownTarget -->
<script type="text/javascript" src="vendors/tui2tone/navbar.js"></script>

From the ext-js.ftl, it works right.

So I guess remove tui2tone/navbar.js and replace its function with something from ngmodules.org?

No that's fine to stick with tui2tone for the navbar. Since there's not a lot of Angular going on there, it's not a problem.

@DanTheColoradan , where do you stand on this now? I'm happy with all the changes now, but wanted to wait to merge until I got a green light from you.

You have the green light!
I'm not entirely satisfied because I want to get rid of the last bit of js from the theme. I can do that separately though.
Let me know if you need any other final changes / reversions.
On Jan 18, 2016, at 21:20, Geoff Bourne<EMAIL_ADDRESS>wrote:

@DanTheColoradan , where do you stand on this now? I'm happy with all the changes now, but wanted to wait to merge until I got a green light from you.
—
Reply to this email directly or view it on GitHub.

Check it out @DanTheColoradan , your changes are live!
https://mccy.itzg.me

Woot :D thx for the update!
————
Daniel L. Polanco
Fledgling Programmer | Perl | C++
719-422-3765 | Website | GitHub | Twitter | Safe Email
————
On Jan 19, 2016, at 20:36, Geoff Bourne<EMAIL_ADDRESS>wrote:

Check it out @DanTheColoradan , your changes are live!
https://mccy.itzg.me
—
Reply to this email directly or view it on GitHub.

I like the look of the new frontend... the mod upload (once it works :)) is much better with a progress meter.

I'm liking the new look a whole lot better. There always was a progress bar there...but since it's failing now you can see it :)


ios6.0.1 crash

running in the ios 6.0.1 has crashed.

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. SWTableViewCell's implementation of -layoutSubviews needs to call super.'
你知道怎么解决了吗？


"The VirtualBox VM was created with a user that doesn't match"

$ vagrant --version
Vagrant 2.2.2

VirtualBox 6.0.0 + ext pack.

Windows 10 Pro host.

$ vagrant plugin install landrush
Installing the 'landrush' plugin. This can take a few minutes...
Fetching: filelock-1.1.1.gem (100%)
Fetching: landrush-ip-0.2.5.gem (100%)
Fetching: eventmachine-<IP_ADDRESS>.gem (100%)
Building native extensions.  This could take a while...
Fetching: rubydns-0.8.5.gem (100%)
Fetching: win32-process-0.8.3.gem (100%)
Fetching: landrush-1.3.1.gem (100%)
Installed the plugin 'landrush (1.3.1)'!

Vagrantfile for apt machine:

config.landrush.enabled = true
config.landrush.host 'apt.beable.lan', '<IP_ADDRESS>'

$ vagrant up apt
The VirtualBox VM was created with a user that doesn't match the
current user running Vagrant. VirtualBox requires that the same user
be used to manage the VM that was created. Please re-run Vagrant with
that user. This is not a Vagrant issue.

The UID used to create the VM was: 0
Your UID is: 1001
```

The ```apt``` vm was working before.

After uninstalling landrush and removing all landrush related things in Vagrantfile, ```vagrant up apt``` works back.

Can you share your full Vagrantfile? Which box are you using? It might also help to see more of the boot messages.


Plugin sometimes does not load correctly.

Opening another issue cause this is happening quite frequently to me.
I though it was only my implementation but now when I was playing with your zombie example it happened.
Sometimes when booting up the game/example. The animation tree doesn't load correctly or something.
On my game it results in the animations getting stuck on the initial state or maybe transitioning to 1 other state before freezing.
On your zombie example it looks like the idle is working and rotating the sprite is fine, but none of the other animations work.
I'm not yet sure why, but if I kill the app and restart it a few times I get it.
I've uploaded a screen recording of the issue.
On my app I get a warning saying a Node didn't load or something, not sure if its related.
https://github.com/PhaestusFox/bevy_sprite_animation/assets/15830178/68e34cf9-f138-48b0-80a1-6d01b30ddcfe

I saw this when I was making the update video and thought it was just to do with something in the example(I knew why), but if you got it too maybe it's in the crate itself, ill have a deeper look when I get time, maybe on the weekend


Support bundle missing instance managers and config map yamls

Version v0.6.2.

Before the fix, instance manager and config maps are missing from the support bundle.
After the fix, instance manager is at yamls/longhorn/instancemanagers.yaml, config maps are at yamls/kubernetes/configmaps.yaml.

Validation: PASSED


Add Tox support

Tox assist the project to automate under different python configurations.

Does pytest do the same thing as python -m unittest discover tests?
If so, what's the benefit of having it?
I also want it to do a python setup.py bdist_wheel of the package to check that it can be built correctly. It looks like that it doesn't happen with this change.

The tox will build the package first and then install it before testing. Pytest is the latest test runner. Nosetest is not being actively developed. Pytest offers more execution option and better output then unittest package.


Moved gossipsub block broadcast to after all of the artifact is created.

Description

Fixes pyrsia/pyrsia#1246
This PR delays broadcasting new blocks until after the artifact(s) are all added by making the broadcast a separate function, it takes a vec of payloads, and that happens after the loop adding all of the artifact component files.
Screenshots (optional)

PR Checklist

[x] I've read the contributing guidelines.
[x] I've read "What is a Good PR?"
[x] I've included a good title and brief description along with how to review them.
[x] I've linked any associated an issue.

Code Contributions

[x] I've run pre-commit.sh (pre-commit.bat) successfully.
[x] I've run the integrations tests
on the PR branch and all tests passes.

Coverage: 48.574% (-0.2%) from 48.803% when pulling cb1900f7bd542150020d81034cfbc892be8ef630 on efrisch:1246_provide_before_broadcast_2 into b0116a3a94b57d14d01257d6ad61105aee63e05e on pyrsia:main.


Add upsample_bilinear_2d

Codecov Report
Attention: Patch coverage is 55.55556% with 8 lines in your changes missing coverage. Please review.

Project coverage is 72.47%. Comparing base (9d72dac) to head (096caea).

Files with missing lines
Patch %
Lines

experimental_experiment/ext_test_case.py
0.00%
8 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #275      +/-   ##
==========================================
+ Coverage   72.38%   72.47%   +0.09%
==========================================
  Files         179      179
  Lines       25815    25827      +12
==========================================
+ Hits        18686    18719      +33
+ Misses       7129     7108      -21

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Initial foundation of Agora for Manufacturing

I'm adding a folder with the different artifacts of Agora.

I'm adding a folder with the different artifacts of Agora.
-RTSP Simulator
-MQTT Simulator
-MQTT listener
-Influx DB
-Reports at the edge
-Store data to Influx

I'm adding a folder with the different artifacts of Agora.
-RTSP Simulator
-MQTT Simulator
-MQTT listener
-Influx DB
-Reports at the edge
-Store data to Influx


Added profiles, import and export data, readme

Added profiles
Added global user for storing local data
Faster bulk import of tcx files
Export data to csv, json and dataFrame formats
Added short readme

Thanks @otiv33, @Mtvrt123 and @garyjellyarms!


drop measurement does not free storage

I had 0.9.2 installed on Linux. I ran a drop measurement. But the disk storage did not seem to be returned to the OS. Do I miss any configurations?
And it seemed it's holding onto the space and not even using them for new data points.
Worse still, the memory usage (rss) shot up to roof while/after drop measurement. Even after restart.the memory was still very high.

DROP MEASUREMENT will not necessarily free up space due to the nature of the storage engine. To guarantee free disk space you need to use retention policies to drop shards or DROP DATABASE.

And it seemed it's holding onto the space and not even using them for new data points.

The storage engine files are not 100% dense. They leave some blank space in the organization to allow for additional points and prevent huge amounts of I/O when a new point must be added.
Unrelated, but 0.9.2 is quite old. Can you upgrade to 0.9.4+? RAM issues are significantly reduced in 0.9.4 and 0.9.5, which is coming soon.

I'm using influxdb 1.7.10, also have the same problem.
Any suggestions?
Many Thanks!


Add windows tests

Since we have some support for windows, we should have tests to ensure not breaking things. Maybe https://www.appveyor.com/ could provide this.
Since I'm not a windows expert, any help will be really appreciated.

I'll look into this and see if I can figure something out.

Is there a TODO list for the features that have been added and are being worked on?

@philpep We are using this one in a customer setup where we use mixed docker + windowscontainers.
We would happily provide a windowscontainer backend   tackeling run command and file issues.

@philpep I would take this one, feel free to assign me

I had now a deeper look into the test configuration. To add windows support with the current code base would mean to have either a lot of specific branch code ior split into seperate folders/files inside the project and also split tox into platform specific pieces.
Even doing this would mean that there would be a lowered code coverage for the paths that are not available / runnable on Windows and Linux.
I'm unsure if either approach is one I would do


FD tests

This PR is to provide FD tests for the implemented calculators. So far I've added the tests for SW.
Addresses  #17
Needs the corresponding PR in AtomsCalculators to be merged and tagged first.

this is superceded by #22


Docs - add notice re change binding

I'd assume many ppl will try to use change binding as a listener for input field change.
I would add a notice that change event doesn't happen only after input field loses its focus. If you need to listen to input field change you should use input event\binding.

Are you referring to <input {{on "change: doSomething"> or <input {{b "change: doSomething">?

A good question :smile: As change event and change binding are not the same but the difference is subtle, especially for noobs)
Since there is a not in the docs about jquery event (on "change: doSomething">), I would simply add another note that mentions input javascript event.

I don't know, the {{on  version is documented in https://viewmodel.meteor.com/docs/bindings#declaring
And the {{b "change: doSomething"}} version works as expected (on every keystroke).
So if the user decides to use {{on  I really don't see the problem in he/she getting the event's expected behavior. It's like using keypress and then complain that the event is fired on and on as long as the user holds the key (it's the expected result for the event!).


Search is broken: always comes up empty

Both the interactive search in the search box as well as the search results page (i.e. after hitting Enter) show no results whatsoever.
URL for broken page
This, for example: https://git-scm.com/search/results?search=clone
Problem
Whenever searching for any term, the list of results is completely empty.
Operating system and browser
Windows, Firefox and Edge.
Steps to reproduce
Direct the browser to https://git-scm.com/search/results?search=clone, observe this:

Other details
This seems to be a really recent problem. The last time I compared the client-side search implemented in #1804 with the current, server-side search, results were still shown and comparable (but obviously not identical). That must have been something like one or two weeks ago.

i think there is a cron job who adds stuff to the database, which may have failed recently
could it be due to the update in heroku @ttaylorr ?

Thanks for reporting. After some looking, it seems that we do have data in the Bonsai cluster, but that something (likely to do with the Heroku stack upgrade from a few days ago) broke things:

Of course, we eat StandardError, so it's not immediately obvious what's going on when you run Doc.search("config") in the rails console. But open-coding Searchable#search gives us a little more information:
irb(main):046:0> client.search index: ELASTIC_SEARCH_INDEX, body: query_options
/app/vendor/bundle/ruby/3.1.0/gems/elasticsearch-transport-2.0.2/lib/elasticsearch/transport/transport/base.rb:202:in `__raise_transport_error': [406] {"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406} (Elasticsearch::Transport::Transport::Errors::NotAcceptable)

@pedrorijo91 Do you know what to do here?

...annnd it works again:

Some of the details are in PRs #1869, #1870, and #1871. But the gist is that we had to upgrade the elasticsearch gem not quite to the latest version, but to the highest version that still supports Bonsai, which is not an officially supported ES backend. Then we had to tweak some of our query parameters, which was done in #1871.
Finally, it looks like either Bonsai dropped our data, or my earlier rake search_clear run dropped the existing data, but the subsequent rake search_index did not re-populate it as it was running prior to #1869.
So I ran one more round of:
for task in search_clear search_index search_index_book
do
  heroku run -a git-scm "rake $task" || return 1
done

which landed that data back into Bonsai, and validated that search works again. Thanks for reporting, @dscho!


[NPM Package]content-player-interface

Link: https://www.npmjs.com/package/@project-sunbird/content-player-interface
@vinukumar-vs  @pallakartheekreddy
This PR is related to publishing the content-player-interface as a npm package.

@manjudr
Change the code RI -> CP & also make sure backward comparability for RI as well.


error after install

HI!
After installing node-js legacy on a Mint17 machine i got these errors:
Did I miss something?
/usr/local/lib/node_modules/denon/lib/DenonClient.js:3
module.exports = class DenonClient {
^^^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/denon/index.js:5:21)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)

Try updating the the latest version of node.
On Mon, May 15, 2017, 23:02 Hotte2017<EMAIL_ADDRESS>wrote:

HI!
After installing node-js legacy on a Mint17 machine i got these errors:
Did I miss something?
/usr/local/lib/node_modules/denon/lib/DenonClient.js:3
module.exports = class DenonClient {
^^^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not
yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/denon/index.js:5:21)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jtangelder/denon-remote/issues/9, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABL6_WYhMICaYU7DxcuNCNhD0C3mA8w4ks5r6L1RgaJpZM4NbsJh
.

Thank you! That helped.
Once I did a similar command-based remote in python, but with graph. interface (glade).
My goal was to replace the bad Denon app by an own remote on my Linux PC.
I stoped the project because i could not figure out how to send a part of a list like a radio station directly to the denon. Secondly when returning the display of the denon to my PC things become time-critical and it is very difficult to handle which characters/Information of the display are transferred.
Have you seen any other project for the AVR 1000 or similar?

Glad it solved the issue!
Didn't looked for other projects controlling the Denon AVRs, but I would
assume they all work with the same telnet commands if the software hasn't
changed too much.
Op di 16 mei 2017 om 20:15 schreef Hotte2017<EMAIL_ADDRESS>
Thank you! That helped.
Once I did a similar command-based remote in python, but with graph.
interface (glade).
My goal was to replace the bad Denon app by an own remote on my Linux PC.
I stoped the project because i could not figure out how to send a part of
a list like a radio station directly to the denon. Secondly when returning
the display of the denon to my PC things become time-critical and it is
very difficult to handle which characters/Information of the display are
transferred.
Have you seen any other project for the AVR 1000 or similar?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jtangelder/denon-remote/issues/9#issuecomment-301869447,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABL6_Z1Wpwgb-4VSr5VQWtNlTr7CKm84ks5r6efdgaJpZM4NbsJh
.


[Bug]: AST fails to refactor if moustache binding starts with a new line \n

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Demonstrated in the video
https://github.com/appsmithorg/appsmith/assets/3524599/ce1453fc-138e-461f-bef9-c4d7b9375e16
Steps To Reproduce

Create an Api e.g. Api1
Create another Api e.g. Api2
In the body of Api2 use Api1 like

{{
   {
       "api1Data": Api1.data
   }
}}

Change the name of Api1 to ApiOne
Go to the body of Api2 and notice that reference to Api1 still exists

Public Sample App
No response
Environment
Production
Severity
High (Blocker to building or releasing)
Issue video log
No response
Version
Cloud / Self Hosted

@Nikhil-Nandagopal Can I work on the issue please?


Should posts.AcceptedAnswerId be a Foreign Key?

The column posts.AcceptedAnswerId in rel-stackex is currently used as a numerical feature but seems to be a foreign key reference to comments.id.

great catch - we will add this foreign key in the next release!

Fixed in https://github.com/snap-stanford/relbench/pull/84


Error retrieving MAP estimate when using SNRE

Hello,
I am encountering an error that has been reported in issue #261 of the project's repository. I am using the latest version of the code from the main branch. The error occurs when I attempt to retrieve the maximum a posteriori (MAP) estimate using a posterior estimated through SNRE.
To help diagnose the issue, I have prepared a minimal code example that reproduces the error:
import torch
from sbi import analysis as analysis
from sbi import utils as utils
from sbi.inference import (SNRE, MCMCPosterior,
                           likelihood_estimator_based_potential,
                           prepare_for_sbi, simulate_for_sbi)

num_dim = 3
prior = utils.BoxUniform(low=-2 * torch.ones(num_dim), high=2 * torch.ones(num_dim))

len_x_o = 10
x_o = torch.zeros(len_x_o, num_dim,)+ 0.01*torch.randn(len_x_o, num_dim,)

def linear_gaussian(theta):
    return theta + 1.0 + torch.randn_like(theta) * 0.1

simulator, prior = prepare_for_sbi(linear_gaussian, prior)
inference = SNRE(prior=prior, classifier="resnet")
theta, x = simulate_for_sbi(simulator, prior, num_simulations=200)
likelihood_estimator = inference.append_simulations(theta, x).train(show_train_summary=True)
potential_fn, parameter_transform = likelihood_estimator_based_potential(likelihood_estimator, prior, x_o)
posterior = MCMCPosterior(potential_fn=potential_fn, proposal=prior, theta_transform=parameter_transform)
posterior = posterior.set_default_x(x_o)

best = posterior.map(show_progress_bars=True)

Results in AttributeError: 'Sequential' object has no attribute 'log_prob'
Thanks for creating such a helpful tool and for being so quick to address any issues that come up. Much appreciated!

Hello,
the problem is that you are using a likelihood_estimator_based_potential and not the one for the ratio estimator based SNRE.
I would recommend just using inference.build_posterior to avoid this, e.g.,
...
imulator, prior = prepare_for_sbi(linear_gaussian, prior)
inference = SNRE(prior=prior, classifier="resnet")
theta, x = simulate_for_sbi(simulator, prior, num_simulations=200)
inference.append_simulations(theta, x).train(show_train_summary=True)
posterior = inference.build_posterior().set_default_x(x_o)

theta_map = posterior.map()
...

Best,
Jan

My bad, I see that I forgot to change likelihood_estimator_based_potential  to ratio_estimator_based_potential
Thank you,
Hicham


ILP placer for medium sized blocks

ILP formulation:

Comments from @soneryaldiz :
By the way, the existing tests with existing placer are failing on this branch. This would make it hard to create benchmarking tests.
FAILED test_circuits.py::test_ota_six - AssertionError: ckt_ota_six: No results generated
FAILED test_circuits.py::test_ro_simple - AssertionError: ckt_ro_simple: No results generated
FAILED test_circuits.py::test_common_source - AssertionError: ckt_common_source: No results generated

@srini229
I started tests/pdk/finfet_pdk/test_benchmark_place.py to compare runtime/area/hpwl. However, the default placer is not working on this branch.

@soneryaldiz select_in_ILP was enabling in the earlier implementation of selection from nvariants used in SA placer. I commented it temporarily in this branch. We can decide whether to retain/remove it in a separate PR.
test_benchmark_place.py passes now.

@srini229 . I added a second benchmark that is failing.

@soneryaldiz my mistake on an assumption that two ordering constraints won't have one or more blocks in common. fixed it now. test_benchmark_place is passing now.

@soneryaldiz aspect ratio check was missing in the ilp placer and i assumed there wouldn't be any shapes in common between ordering constraints. fixed both now. test_benchmark_place is passing now.

@srini229 , below is a comparison over 3 cases. Only for the third case, there is a noticeable increase in runtime (15 sec vs 100sec).
ckt_b1_tamu_sp: AREA=23.13 HPWL=44.81 TIME=3.17
ckt_b1_umn_ilp: AREA=23.13 HPWL=44.81 TIME=2.93
ckt_b2_tamu_sp: AREA=47.63 HPWL=87.53 TIME=15.77
ckt_b2_umn_ilp: AREA=47.63 HPWL=87.53 TIME=15.65
ckt_b3_tamu_sp: AREA=34.29 HPWL=75.70 TIME=15.48
ckt_b3_umn_ilp: AREA=34.29 HPWL=75.70 TIME=101.98

To get the numbers above: Set BENCHMARK to True in test_benchmark_place.py and run pytest -vv -s test_benchmark_place.py
I am skipping these tests from CI.

@soneryaldiz I found a bug in the same-template constraint handling in the ILP placer. With the fix, B2 has better HPWL with ILP. For B3, as expected the runtime is significantly larger. This is because of size of the problem (~10 blocks), which approaches the limit of ILP to run in reasonable time.
ckt_b1_tamu_sp: AREA=23.13 HPWL=44.81 TIME=4.23
ckt_b1_umn_ilp: AREA=23.13 HPWL=44.81 TIME=3.46
ckt_b2_tamu_sp: AREA=47.63 HPWL=87.53 TIME=54.92
ckt_b2_umn_ilp: AREA=47.63 HPWL=85.71 TIME=13.35
ckt_b3_tamu_sp: AREA=34.29 HPWL=75.70 TIME=56.52
ckt_b3_umn_ilp: AREA=34.29 HPWL=75.70 TIME=148.94

The ILP solver used in this branch is multi-threaded. I tried running it with 8 threads and got:
ckt_b3_umn_ilp: AREA=34.29 HPWL=75.70 TIME=30.39
This can be enabled using the NUM_THREADS hyper param in align/pnr/toplevel.py.

@srini229 , thanks. By the way, b2 and b3 are the comparator circuit with different set of constraints. It appears that just changing the constraints could also have quite an impact on runtime.

@soneryaldiz yes. the number of constraints determine the number of 'binary' variables used to determine overlap between pairs of blocks. The two images in https://github.com/ALIGN-analoglayout/ALIGN-public/pull/989#issue-1149561736 illustrates this. Two binary variables are required to define no-overlap between a pair of blocks. For N binary variables, the search space is 2^N. This formulation can be intermediate between the enumeration placer and the SA placer where there are many constraints or if the block size is slightly larger than what enum. placer can handle.

@srini229 , is there any updates on this PR?

More specifically on handling PlaceOnGrid constraints?

@soneryaldiz this should already handle PlaceOnGrid constraint. The pending task is to make this as an intermediate placer in between the enumerative placer and the SA placer based on the constraints.

@soneryaldiz I added a hyper param to enable/disable the ILP placer.
It can be enabled using hyper.use_ILP_placer in align/placer.py.
I changed it from the select_in_ILP switch since this switch is being used currently for selecting variants in the SA placer ILP.
There was a bug in the placeongrid constraint handling in the ILP placer.
I have fixed it now and the test test_placement_grid.py::test_cmp_on_grid passes.

@soneryaldiz this branch is ready to merge. You can enable the ILP placer using the hyper param: hyper.use_ILP_placer.

@srini229 , it would be good to make sure the added code has coverage with small circuit examples.

@srini229 , it would be good to make sure the added code has coverage with small circuit examples.

@soneryaldiz I enabled couple of tests in the benchmark you had added. This should cover most of the scenarios in the added code. I also added a copy of test_cmp_on_grid to run using ILP placer so that the place on grid portion is tested as well.

@srini229 , looking at the two slides on top, does not align constraints also simplify the formulation similar to symmetry?

@srini229 , looking at the two slides on top, does not align constraints also simplify the formulation similar to symmetry?

@soneryaldiz yes it does. Similar is the case with order as well. These are in the code. I can make an elaborate version of the slides and upload them to the ALIGN google docs.

Thanks @srini229


Replace all uses of libappindicator with libayatana-appindicator

Describe the bug
libappindicator is pretty much dead IIRC but debian is maintaining it as a fork libayatana-appindicator which is now in nixpkgs https://github.com/NixOS/nixpkgs/pull/88783.
I'm opening this issue to remind people to not add libappindicator support to packages because we don't want that package in nixpkgs anyways, and to please use libayatana-appindicator if the project has made changes to support it.

The one from https://github.com/NixOS/nixpkgs/pull/93453 seems to be maintained by canonical, and they've been doing patches to it over the years. Specifically, that "release" just happened a few months ago.
But if libayatana-appindicator is more maintained, then I'm fine with a gradual switch over.

Still relevant. If I had seen this earlier, I would use libayatana-appindicator in https://github.com/NixOS/nixpkgs/pull/227210


content for search

Is it possible to control how the content is returned by blocks for search? I'm in the situation where the $Content field doesn't contain all or any useful information on save (specially when using nested elements, like rows having columns having content). A way to get a textual representation of the block that is just used for search purposes, that supports nesting and translation.

@digitall-it which search are you referring to? If you mean in-CMS search, then #189 may be of interest to you. If you mean via the FullTextSearch module or something else along those lines, can you please detail those as well? Thanks!

I mean the full text search (frontend search). Elemental creates a text representation of each block and concatenates the text in the $Content variable. However, there should be a method of the block to be called to have control on how such representation is created. Otherwise, Elemental can fill the Content of inaccurate information, making the page unsearchable. The primary example is when using nested blocks: as it doesn't know how to descend trough blocks, a "Three Column" block can have an Image block, a Text block and an Icon block. How does Elemental know what is the textual representation of such Icon block? Will it know that it has to "descend" to the "Three Column" block childs to actually get their content, which is indeed the actual page content?
Is using other search systems (like Zend Lucene or Apache Solr) different? Probably the situation would be even worse, because you may be want to save data in facets (for example the Icon blocks is a phone and has a phone text associated, you may want to save it in a Phone facet while indexing). I admit I didn't read well how does Elemental work with other search systems, so I would restrict the case to the base FullTextSearch module that comes free with SilverStripe.
I propose to clarify in the documentation how to customize the way a textual representation for search purposes of block gets created.

Maybe overriding ElementalSolrIndex would be the clue.

@digitall-it the ElementalSolrIndex is provided mostly as a guideline and basic indexer so you can get the data on your frontend indexed and available for search using Solr.
If you need anything more complex you should write your own indexer. Cheers :)


Review Application, Topic & Event concept in the API.

I will continue with the same approach of Industry clients like Kafka or Pulsar so Application & Event are removed


[FEATURE] Databricks Secrets support

Is your feature request related to a problem? Please describe.
I want to be able to retrieve secrets stored in an existing scope.
Describe the solution you'd like
I would like to create an implementation for the Secrets class using the databricks SDK
Describe alternatives you've considered
The alternative considered is to use directly the Databricks SDK
Additional context

...

There are two ways to retrieve the secrets:

dbutils
databricks API

For dbutils, you are forced to run on a notebook, which is not always the case, and it is already supported in Brickflow. Using the API requires retrieving the token first, and that has to be stored somewhere else.
Recommendation is to use Brickflow to retrieve the token or plain dbutils if you are on a notebook environment without using brickflow.
Note: brickflow always run inside a notebook, hence it has access to dbutils.
For the above reasons we do not see a use case for dbutils support in Koheesio

I have a code for this