Bug in search params encoding in navigate hook

Describe the bug
The first time I used react-location was version 3.1.0-next.4 with the ReactLocationProvider component. The first thing that got me hooked was the way I could update my search params with the useNavigate hook and retrieve them with the useSearch hook. I could set and retrieve search param without worrying about encoding and decoding.
I upgraded to 3.1.0 a few days ago and found that the useNavigate hook behaviour has changed. Now when I try to set an array search params it is always saved as a string.
The current docs say that JSON.parse and JSON.stringify are used by default to ensure the search params can contain complex objects, but that is currently not the case.
I also tried to provide parseSearch and stringifySearch from react-location-jsurl to ReactLocation but when I try to update my search params it ends up lumping all of the URLs together leading to a 404 page. It doesn't include the ? to differentiate the search params from the root location.
To Reproduce
I created a codesandbox to demonstrate this.
https://codesandbox.io/s/react-location-search-uv1fz
When you click on next you should observe that the JSON object has a string for the after param even though I set it to an array. The expected result (what we have in 3.1.0-next.4) is shown above the actual result.
Additional context
I have been trying for the past two days to decide if this is a bug or an expected behaviour. The docs are not clear if this is the new behaviour.
In case this is the expected behaviour I'd be more than happy to learn how best to proceed and to help update the docs.

Sounds like a bug. The behavior changed to not include the JSURL compression by default, so that's expected, but the fact that it's leaving out the ? seems fishy. I'll look into it asap.

Fixed with 66fab0a3ac8368451cb6bba41f6c5380aa134f29

I installed version 3.1.10 and the error is still there.
I tried to install the commit with the fix with yarn add https://github.com/tannerlinsley/react-location#66fab0a but it throws the below error error Can't add undefined: invalid package version undefined.. I did some search and found that the error might be related to the fact that no version is specified in the package.json file.
I'd really appreciate help with this.
Thank you


3rd row seat heater only if 3rd row seats are available

          found a value in teslafi API:

,"third_row_seats":null
maybe you could add 3rd row seat heater only if 3rd row seats are available?
Originally posted by @Enno-von-Schwerin in https://github.com/hombach/ioBroker.teslafi/issues/30#issuecomment-2463320921

implemented in 0.3.0

0.3.0 released to NPM


Release as a universal wheel

By releasing as a Python wheel as well as a source distribution, you can speed up end user’s installs. After merging this command, to release you just need to run python setup.py clean sdist bdist_wheel upload.

@adamchainz Thanks! New release as a wheel up on pypi https://github.com/cmheisel/nose-xcover/releases/tag/v1.0.11


Update the past and current developers on the About page

Title says it all! Many of the current developers need to be moved to past, and everyone who is working on YACS this semester needs to be added to the current developers!

We should also add the NYU devs. @bradleybrecher - can we get a list of each member's preferred name and github handle? I don't think I have a good list for this.

@Bad-Science Here is the list,
Bradley- @bradley.brecher
Alisha- @alishasonawalla
Mahi - @mahi-g
Andres - @@guarner8
Jody - @jodz959
Hao - @hhyy233

Thanks @bradleybrecher !
@wzq97

Fixed as of #67


Error with rendering nested vue components

Hi, first of all, thank you for your marvellous work!
I've been trying to convert my project to accomplish a microfrontend approach using Ara Framework, but I'm struggling with this problem:

starting from the https://github.com/marconi1992/hypernova-vue-example
included my own component that uses some other vue components in it (specifically: MdIcon from  Vue Material)
the component itself is rendered, but not the Vue Material subcomponents, and console complaints " Unknown custom element:  "

What should I do about that?

Hi @bestmazzo, I think you need to use the VueMaterial middleware.
Vue.use(VueMaterial)

I created a new branch on the repo hypernova-vue-example using Vue Material, you can take a look and run it.
https://github.com/marconi1992/hypernova-vue-example/tree/vue-material
I hope that fixes the issue.

Great, thank you I missed the part about Vue.use(vueMaterial).


Jupyter books - Search Experience - Ability to search from "Recent picks"

Is your feature request related to a problem? Please describe.
Some search may result in hundreds and thousands of files. So, I'd like to be able to see if it's related to my previous search / my previous opened files, can I get back to them more easily?
Describe the solution or feature you'd like
OneNote offers searching with "Recent picks" like below:

Another alternative is similar to a search engine where it highlights (changes the link color) of what has been previously opened in searched output.
Describe alternatives you've considered
n/a
Additional context
n/a

Tracking on the live site priorities spreadsheet. Will move into a monthly release when we’re done with the existing items and have capacity.

@MsSQLGirl is this something that will be included in the upcoming search work that's @qifahs's team is working on? (i.e. should we close this as a dupe)?

@qifahs FYI
@chlafreniere I'll follow up.


Mapping projects to funding events (with data collective)

Status:

[x] Gitcoin Allo [umar/carl]
[x] Gitcoin cGrants [umar/carl]
[x] Octant [umar/carl]
[x] Optimism [carl]
[x] Arbitrum [carl]
[x] DAO Drops [carl]
[ ] EF [carl]
[ ] clr.fund [doge]
[ ] Giveth [doge]

https://github.com/opensource-observer/insights/pull/23

I'm going to close this out as we did the first priority ones. Will keep the next set as someday/grab bag issue.


Drop CATKIN_IGNORE

fixed orocos-kdl has been releases. See:
https://bugs.launchpad.net/bugs/1871725

@ros-pull-request-builder retest this please

Thank you!
Linking that this was added in https://github.com/ros/kdl_parser/pull/38#pullrequestreview-392311732


Create Sample Queries to demonstrate usage

Create Sample Queries for publication in a data.world project to highlight the usage of the database.

This is done


Cosmetics for Ribbonbar

This is addressing some of the inconsistencies of buttons on the new ribbonbar:
a) Tab-Width takes real text width into consideration
b) Button heights will be all the same in one page across multiple panels
c) Wrong iconsize for Ref Object button
d) Wrong tooltip if hovering over disabled buttons
Before:

After:

Entirely implemented in #1983 (except for the all same height routine since that was mooted by the changes in the PR natively)


Doc Fix: missing $app->pipeRoutingMiddleware() and $app->pipeDispatchMiddleware()

@samsonasik thanks for adding the docs PR.

Thanks, @samsonasik


MdbClasses using radis.api

I made api.py that uses radis.api (common api prototype, see #256 #257 ) as ExoMol, HITEMP, HITRAN database I/O.
This capability currently needs to install radis common-api branch.
@erwanp
After resolving this PR, should we merge  [common-api branch](https://github.com/radis/radis/tree/add/common-api) to develop branch in radis? or any other solution?

included #273

In my environment, from exojax.spec.api import MdbExomolit seems to cause the following AttributeError. Could you please check?
mdb = MdbExomol(".database/CO/12C-16O/Li2015", nurange=[4200.0, 4300.0], crit=1.e-30)

↓
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/tako/miniconda3/lib/python3.9/site-packages/exojax-1.1.3-py3.9.egg/exojax/spec/api.py", line 133, in __init__
    load_mask = self.compute_load_mask(df)
  File "/home/tako/miniconda3/lib/python3.9/site-packages/exojax-1.1.3-py3.9.egg/exojax/spec/api.py", line 145, in compute_load_mask
    self.Ttyp, df.Sij0, df.nu_lines, df.elower,
  File "/home/tako/miniconda3/lib/python3.9/site-packages/vaex/dataframe.py", line 284, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrameLocal' object has no attribute 'elower'

Note that I did the following in the radis directory cloned from github.
$ git pull origin add/common-api
$ python setup.py install

Hello, it may be because you require a different Radis branch than the develop version. Can you checkout the add/common-api branch ? https://github.com/radis/radis/tree/add/common-api

Thank you very much for the suggestion Erwan, but I already checked out the common-api branch.

The problem was the existence of hdf5 files created in the past (by previous version of mdb modules). The error was solved by deleting the relevant file from the .database.
Thank you.

MdbHitemp and MdbHitran cause the ValueError below.
Once I delete the ~/radis.json, it runs without the ValueError only once, but the next time the same code is run, the ValueError occurs again.
For example,
from exojax.spec.api import MdbHitemp
mdb = MdbHitemp(".database/CO/05_HITEMP2019/05_HITEMP2019.par.bz2", nurange=[4200.0, 4300.0], crit=1.e-30)

↓
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_4122958/3592366008.py in <module>
      1 from exojax.spec.api import MdbHitemp
----> 2 mdb = MdbHitemp(".database/CO/05_HITEMP2019/05_HITEMP2019.par.bz2",
      3                  nurange=[4200.0, 4300.0],
      4                  crit=1.e-30)

~/miniconda3/lib/python3.9/site-packages/exojax-1.1.3-py3.9.egg/exojax/spec/api.py in __init__(self, path, nurange, margin, crit, Ttyp, isotope, gpu_transfer)
    249         load_wavenum_max = self.nurange[1] + self.margin
    250
--> 251         super().__init__(
    252             molecule=self.simple_molecule_name,
    253             name="HITEMP-{molecule}",

~/miniconda3/lib/python3.9/site-packages/radis-0.13.0-py3.9-linux-x86_64.egg/radis/api/hitempapi.py in __init__(self, name, molecule, local_databases, engine, verbose, chunksize, parallel)
    118         parallel=True,
    119     ):
--> 120         super().__init__(
    121             name,
    122             molecule,

~/miniconda3/lib/python3.9/site-packages/radis-0.13.0-py3.9-linux-x86_64.egg/radis/api/dbmanager.py in __init__(self, name, molecule, local_databases, engine, verbose, parallel, nJobs, batch_size)
    135                     .startswith(abspath(expanduser(local_databases).lower()))
    136                 ):  # TODO: replace with pathlib
--> 137                     raise ValueError(
    138                         f"Databank `{self.name}` is already registered in radis.json but the declared path ({registered_path}) is not in the expected local databases folder ({local_databases}). Please fix/delete the radis.json entry, change the `databank_name`, or change the default local databases path entry 'DEFAULT_DOWNLOAD_PATH' in `radis.config` or ~/radis.json"
    139                     )

ValueError: Databank `HITEMP-{molecule}` is already registered in radis.json but the declared path (/home/tako/ghR/exojax/tests/.database/CO/05_HITEMP2019/CO-05_HITEMP2019.hdf5) is not in the expected local databases folder (.database/CO/05_HITEMP2019).
Please fix/delete the radis.json entry, change the `databank_name`, or change the default local databases path entry 'DEFAULT_DOWNLOAD_PATH' in `radis.config` or ~/radis.json

@chonma0ctopus your error messages refer to Radis 0.13 in the python site-packages. I think that maybe, you have two Radis on your computer. The one cloned and another one installed by pip.
Can you go back to your Radis local folder (zirg the common-api branch)  and use
pip install -e .

(sont forget the dot)
This is the same as  python setup.py develop except it also cleans previously installed versions

@chonma0ctopus I've been looking into your problem. It requires some decisions. We'll need @HajimeKawahara input too.
Basically the question is how should you identify a database.
In ExoJax, the user specifies the path of the database file. The file is downloaded if it doesn't exist. The name of the molecule is infered from the database file.
In Radis, the database file is not given by the user, but the molecule name is. Then Radis chooses the corresponding filename.
Do you want to keep ExoJax as it currently is ? For instance, if computing a new molecule; let's say acetylene C2H2, what would be the user script ?
It's possible to keep both options, but will require some tiny changes in the current API.
For instance, RADIS uses some get_filenames() functions ; which should be overriden in the Exojax variant by just returning the path initially given by the user.
On top of that,  Radis currently systematically registers all files into the ~/radis.json config file. Although I find it convenient, I think it's a Radis-specific feature that shouldn't be forced to other codes, and so it should not be included in the common-API. Some of your current errors are due to the common API trying to read from this file. We'll remove this. The easiest option is probably a "register_database" boolean which would be False by default, and True only in Radis.
I also pushed some changes to radis/common-api related to relative/absolute path, it might help. Please pull .

@erwanp @chonma0ctopus
Thank you for identifying the problem.
In our field, we frequently examine the differences in results between databases. This is because some molecules are detected in the new database while they were not detected in the old database. That's why ExoJAX specifies the database file directly.
But, yes the molecular name is more user-friendly for general purposes. So ideally,  both options in the common API would be great, I think. But a bit difficult to implement?

@erwanp Thank you for looking into the problem and fixing it. I no longer get the ValueError and PermissionError reported earlier.
One thing that still bothers me a little is that the code
from exojax.spec.api import MdbHitemp
mdb = MdbHitemp(".database/CO/05_HITEMP2019/05_HITEMP2019.par.bz2", nurange=[4200.0, 4300.0], crit=1.e-30)
mdb = MdbHitemp(".database/CO/05_HITEMP2019/05_HITEMP2019.par.bz2", nurange=[4200.0, 4300.0], crit=1.e-30)

still raises a ValueError below:
ValueError: Database HITEMP-{molecule} is inconsistent : it should be stored in
/home/tako/work/.database/co/05_hitemp2019 but files registered in ~/radis.json contains
/home/tako/work/.database/CO/05_HITEMP2019/CO-05_HITEMP2019.hdf5. Please fix or delete the ~/radis.json entry.

After deleting the ~/radis.json, using the lowercase for the directory names like
from exojax.spec.api import MdbHitemp
mdb = MdbHitemp(".database/co/05_hitemp2019/05_HITEMP2019.par.bz2", nurange=[4200.0, 4300.0], crit=1.e-30)
mdb = MdbHitemp(".database/co/05_hitemp2019/05_HITEMP2019.par.bz2", nurange=[4200.0, 4300.0], crit=1.e-30)

circumvents the error. There seems to be some trouble with case sensitivity?
Regarding the database identification, I would also prefer to retain both option of the database designation and the molecular name designation, if possible.

Hello thanks for the explanation. Then we'll make sure that the common-api does not require (it will be optional) the molecule name, and the registration, and therefore no radis.json.
Local Hdf5 fast-access file would be generated alongside the user given path.
I can have a look next weekend

Confirmed to work with radis / develop branch.

Great! I can publish RADIS 0.14 which will include the changes.

That's nice! I'm gonna set up CI using github action and radis.api in RADIS 0.14 makes it easy.


Info logging auditted

Moved some to debug/trace, the ones that remained ensured they were nice
and consistent

I'll make those changes @mrmr1993 	, but to be clear I explicitly skipped auditing the messages I pushed out of info.

looking

LGTM! Thx for updating everything

@cmr I just made that last one an info, I thik you're right. Seems useful


feat(server): add hook for overriding default etag hash

Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[x] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

While looking into some benchmarks, @aldarund found out that generating the etag could snoop up a lot of processing time (especially with large html, ie extractCss: false). Further investigation found that the etag module uses SHA1 for generating a hash of the full html body.
This pr introduces a hook render:generateETag hook which users can use to implement their own etag hash function. Ie for etags it should often be fine to use a non-cryptographic hash function like murmurhash, which is multiple times faster with larger html body sizes.
Note: the render.etag.weak option is ignored when using the hook, user is responsible for implementing that.
Example hook for using murmurhash-native instead:
// nuxt.config.js
import { murmurHash128 } from 'murmurhash-native'

export default {
  hooks: {
    'render:generateETag': (html, etag) => {
      etag.value = murmurHash128(html)
    }
  }
}

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[x] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

Codecov Report

Merging #6438 into dev will increase coverage by <.01%.
The diff coverage is 100%.

@@           Coverage Diff            @@
##             dev   #6438      +/-   ##
========================================
+ Coverage   95.6%   95.6%   +<.01%
========================================
  Files         79      79
  Lines       2684    2686       +2
  Branches     692     693       +1
========================================
+ Hits        2566    2568       +2
  Misses       101     101
  Partials      17      17

Flag
Coverage Δ

#e2e
100% <ø> (ø)
:arrow_up:

#fixtures
50.67% <0%> (-0.04%)
:arrow_down:

#unit
92.29% <100%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

packages/server/src/middleware/nuxt.js
97.4% <100%> (+0.06%)
:arrow_up:

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 7b31553...0c91e39. Read the comment docs.


Different state when data is fetched after some delay

I fetch data like this in my fragment
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setupListeners()
        viewModel.fetchFavorites()
    }

This is the state class
data class FavoriteState(
    val favorites: List<Favorite> = listOf(),
    val contentStatus: ContentStatus = ContentStatus.NONE,
    val oldState: FavoriteState? = null
) : MavericksState

Here is the view-model function. The response.parse function just accepts 3 lambda for loading, content and error respectively.
    fun fetchFavorites() {
            bag.clear()
            bag.add(favRepo.getFavorite()
                .doOnNext {
                    Timber.d("response from favRepo: $it")
                }
                .subscribe { response ->
                    Timber.d("response from favRepo Subscribe: $response")
                    response.parse({
                        withState {
                            // check for any data before emitting response
                            setState { copy(contentStatus = ContentStatus.loading(it.favorites.isNotEmpty())) }
                        }
                    }, { favorites ->
                        withState {
                            setState {
                                copy(
                                    favorites = favorites,
                                    contentStatus = if (favorites.isEmpty()) ContentStatus.EMPTY else ContentStatus.loaded(
                                        it.favorites.isNotEmpty()
                                    )
                                )
                            }
                        }
                    }, { error ->
                        withState {
                            setState {
                                copy(
                                    contentStatus = ContentStatus.error(
                                        Utilities.getError(error),
                                        it.favorites.isNotEmpty()
                                    )
                                )
                            }
                        }
                    })
                })
    }

The state output from above is
1620402909.195 D/(FavoriteFragment.kt:106)#invoke: ------ rendering state: @-514251734 FavoriteState(favorites=[], contentStatus=ContentStatus(status=LOADING, isRefreshing=false, msg=), oldState=null)
1620402909.201 D/(FavoriteFragment.kt:106)#invoke: ------ rendering state: @-514251734 FavoriteState(favorites=[], contentStatus=ContentStatus(status=LOADING, isRefreshing=false, msg=), oldState=null)
1620402910.123 D/(FavoriteFragment.kt:106)#invoke: ------ rendering state: @339356380 FavoriteState(favorites=[], contentStatus=ContentStatus(status=EMPTY, isRefreshing=false, msg=), oldState=null)

As you can see the first two state is duplicated.
If I fetch the data like this
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setupListeners()
        Handler(Looper.getMainLooper())
            .postDelayed({
                viewModel.fetchFavorites(isRestoredFromBackStack)
            }, 2000)
    }

This is the state output
1620402965.747 D/(FavoriteFragment.kt:105)#invoke: ------ rendering state: @-162262589 FavoriteState(favorites=[], contentStatus=ContentStatus(status=NONE, isRefreshing=false, msg=), oldState=null)
1620402967.709 D/(FavoriteFragment.kt:105)#invoke: ------ rendering state: @2101390408 FavoriteState(favorites=[], contentStatus=ContentStatus(status=LOADING, isRefreshing=false, msg=), oldState=null)
1620402968.044 D/(FavoriteFragment.kt:105)#invoke: ------ rendering state: @1090594549 FavoriteState(favorites=[], contentStatus=ContentStatus(status=EMPTY, isRefreshing=false, msg=), oldState=null)

This is the correct state sequence in my opinion. First when I call the viewModel function immediately, the LOADING state is duplicated. Maybe it's emitted in place of initial state I don't know. I looked in the dogs sample and found this comment but I didn't get it.
        // Intentionally didn't use RxJava's startWith operator. When withState is called right after execute then the loading reducer won't be enqueued yet if startWith is used.
        setState { stateReducer(Loading()) }

I am using startWith in my repository for the initial LOADING emission. Can someone explain why is this happening or point me in the right direction. Thank you.

 I hadn't used observeOn(AndroidSchedulers.mainThread()). This might have caused some threading issue resulting in duplicate emission of the state. After observing on main thread all the state are emitted correctly. I tried to get to the root of the problem but had no luck.


Room 3 Manager

Room 3 Manager

Room 3 is often portraying as a cowardly space, but this is far from the truth. In reality, room 3 is a complex and fascinating space deserving of respect and admiration.
Room 3 is a highly social space, available for groups led by a dominant female. These matriarchs are the backbone of the group, making crucial decisions ensuring the survival of their members.
These group can number in the dozens and they are fiercely territorial. They mark their territory with scent markings and vocalizations, warning intruders to stay away.
Room 3 Managers are opportunistic hunters.
Room 3 Manager take advantage of whatever food sources are available. Whether it be hunting customers or leftover by facility managers. Their powerful position and distance can crush bones, allowing them to extract every last bit of nutrition from each event. This ability is unique and gives room 3 manager an edge in the facility.
Room 3 plays a vital role in the facility, cleaning up the remains and preventing the spread of disease. By consuming every part of a event. Room 3 help maintain the balance of the ecosystem.
Room 3 managers are also hunters in their own right.
They use their intelligence and teamwork to outsmart and overpower their customer.
They often work together in packs to bring down customers, such as GA cashier and VIP cashiers. Their coordinated efforts and strategic planning make them formidable hunters, their stamina and relentless pursuit often wear down their customer, making them vulnerable to attack.
Their persistent and determination are key to their hunting success.
Showcasing the true strength and resilience of room 3 managers.
Beyond room 3 managers hunting prowess, the manager exhibit strong social bonds within the group. These interactions are crucial for maintaining the structure and harmony of their social groups. Further highlighting the complexity and depth of room 3 manager society.
The facility is a complex ecosystem, a delicate web of life that is constantly in flux. The relationship between managers and customer are not always clear cut.
Originally posted by @Jamalvision in https://github.com/Jamalvision/TheCity/pull/2#issuecomment-2563019203

Payroll costs is $17,333 per month. Private activities allows room 3 managers to open official court cases against their local government agency. The room 3 manager share their opining in payroll cost.

Summary
Room 3 is a complex and fascinating space, home to highly social groups led by dominant females.  These groups, known for their territorial nature and hunting prowess, play a vital role in the facility’s ecosystem.


Update Kiwi Browser v130.0.6686.0 or v128.0.6613.114???

can you update Kiwi Browser like Chromium v130.0.6686.0 or Google Chrome v128.0.6613.114???

Next update should be released soon https://github.com/kiwibrowser/src.next/issues/1121#issuecomment-2285815532
Will be probably Chromium 128.0.6613.99, Chromium 130 isn't even available.

or maybe Kiwi Browser (Dev Version) is Suitable on Chrome Dev v130.0.6683.0 (668300038) or not i think???

dont want to be an a-hole but, seriously,  whats the security posturing here?

okay my bad, its src.next so great! good luck with this!

porting code changes to keep up with upstream chromium is no mean feat so you will have to wait longer, i suppose

how longer wait of it??? it start to get outdate just tell me is this 1 men projects or team projects???

Kiwi shouldn't be anyone's daily driver.
I understand that the devs have personal lives, it takes time and is according to them difficult to merge. I'm not disputing that.
However, 2 months with no updates and now the new update still being on 128 is a security risk and not one worth taking.
I don't know the politics behind the scenes if they won't get more developers or if they can't find more. But it's a shame. This is a one of a kind browser with nothing comparable that isn't getting the attention it deserves**. This straight up competes and beats Chrome, Firefox, Opera, Vivaldi and any forks out there.
If releases were more frequent, this browser would be a threat to the others on the market.
**Again I say that with respect to what I said in the beginning about personal lives of the devs being priority and that this is being provided to us for free. I'm not complaining, just clarifying my stance.

I think theres a difference between feeling angry/entitled and worried. if it was some simple program like ls or cat, one could do away with updates maybe but a browser such as chromium based ones with myriad functionality/dependencies one need to be reasonably up to date or risk being a much more low hangin fruit for malicious websites.

@Don1250 commented 3 days ago
how longer wait of it??? it start to get outdate just tell me is this 1 men projects or team projects???

You are obviously serious.
I use Kiwi browser v.98.0.4786.66 without any worries.
This mantra that as soon as a new Chromium version comes out you have to install it and have the internal fear that if you don't you will be a victim is creating personal mental problems.

Was OPs post cocky and a-hole? Absolutely.
But your comment...
Not just naive but entirely false and the number of major vulnerabilities fixed since 98.x.x.x. are countless.

Such thinking is harmful...
What does the version matter and is the version old as everything works fine?! Now you're going to dump the "vulnerabilities" bucket, but how many are "vulnerable" so far?! Has anyone seen a mass panic on some site that they are "vulnerable" because their browser is old?! Claiming "vulnerabilities" in old versions of browsers are absurd claims.
Where is the mass of millions or hundreds of thousands that are "vulnerable and/or infected with viruses and/or hacked" by hackers due to an old version being used?!...

What's harmful and even dangerous is spreading misinformation without understanding the wider implications of your statement.
If vulnerabilities were harmless they wouldn't be called vulnerabilities and there wouldn't be a need to patch them at all. Your thought process seems to be "since this hasn't affected me or only a small subset of individuals could be affected it's not dangerous".
That's wrong and simple-minded.
A browser is especially important as it keeps cashed, even if briefly, activity, data and personal information that if exploited opens the doors to infection or interception and suddenly you're a victim.
 BS if you say no (or play the Linux card, if you do I'll have a counter statement that destroys that). Why did you get infected and why was it able to infect the system without tedious cleanup? Because there was a vulnerability that was exploited.
Do you update your OS? Why? The updates don't matter according to you.

What you're spouting is nonsensical and entirely based on personal opinion based on YOU, not the security world as a whole or even outside a narrow minded view.
You provide me one credible security expert's security paper/report that says security vulnerabilities (not a specific vulnerability, vulnerabilities as a whole shouldn't be patched and I'll publicly declare I was wrong in front of everyone here.
My guess is if you respond, you're going to deflect and not provide said expert report.

This is an issue tracker and not a place to chat, since the point has been made I think we should just stop. Every comment added probably sends notifications to repo owners and I dont think they need to be notified about our ranting and arguing.


allows export of external metadata without sync

fixes https://github.com/CartoDB/cartodb-platform/issues/4204

Acceptance is 💚


Spring beans are not loaded in managed dependent resource

Bug Report

What did you do?

I'm using josdk-spring-boot-starter to build an operator with a managed dependent resource, something similar to this example. When I inject a spring bean inside the dependent resource, on application startup I noticed that the spring beans were not instantiated and were always null.  For example, in this demo application the operator fails due to NPE here
In a nutshell, the whole spring proxied dependent resource was ignored by the operator framework and instead created another instance of the dependent resource.
What did you expect to see?
The expectation from the framework is not to ignore spring proxied beans.

What did you see instead? Under which circumstances?
Spring beans are not instantiated.

Environment
Kubernetes cluster type: vanilla

$ Mention java-operator-sdk version from pom.xml file
Build file is here
implementation 'io.javaoperatorsdk:operator-framework-spring-boot-starter:5.0.0'
	annotationProcessor 'io.javaoperatorsdk:operator-framework:4.3.1'
	annotationProcessor 'io.fabric8:crd-generator-apt:6.5.1'

$ java -version 17

$ kubectl version

Possible Solution

Additional context
I have a demo application with the similar setup. The tests were failing because of the above mentioned issue.

Hi @rameshmalla ,
The managed dependent resources are not interconnected with spring bean container, basically you cannot do this.
(Also calling an external service during desired is probably not a good idea, this might slow down the reconciliation even if nothing changed)

Note that this work in Quarkus extension, if you want to give that a try.

This is a valid use-case IMO. It is very common to receive configuration properties via Spring DI, for example.
The only way I found to work around this limitation was to create a custom DependentResourceFactory that creates the DR instance via the Spring AppicationContext, thus registering it as a Bean. It still has to call DependentResourceConfigurationResolver.configure with the DR instance.
The last time I checked, this was not possible when using josdk-spring-boot-starter, but this was already some time ago so things might have changed in the meantime.

I mean in general it is a valid use cases to have these means injected, and have some config params in their.
Was refering this part:
https://github.com/rameshmalla/demo-operator/blob/be32d49ac2804f23338b74d2ac254cdfda1e41b6/src/main/java/com/example/demo/ConfigMapDependentResource.java#L18C36-L18C36
calling an external service while computing a desired. At least would cache the result (with some timeout) for some time on client side  so it is not called every time desired is computed (what can be very frequent in some cases ).

Only problem is that we don't have the bandwidth for such improvements, if anybody would volunteer to implement it in the SB starter, would be a big help.

Thanks, @csviri and @kosmoz for your inputs and suggestions, Indeed quarkus looks like a promising option I will explore the possibilities of migrating from spring-boot to quarkus. Meanwhile I will try to replicate @kosmoz suggestion on having a custom DependentResourceFactory that respects spring context.


How I can override the allowed html tags

Hi ,
I’m trying to use Monaco as an html editor and provide only some white listed tags (example allow only few tags and attributes)
I tracked down Monaco structure and found Monaco editor uses Monaco html and this one use the language service dependency.
Do I can overwrite the HTML_TAGS constant ?
Thanks

You can fork the monaco-html project and use directly the monaco-editor-core npm library and load your fork of monaco-html with monaco-editor-core. Here is some information on how the monaco-editor is built -- https://github.com/Microsoft/monaco-editor/blob/master/CONTRIBUTING.md


Add multi project support vscode

This pr adds multi project support for vscode.
Some time ago I added this for the RLS vscode plugin: https://github.com/rust-lang/rls-vscode/pull/638
And since I had some time I decided to implement it for rust-analyzer aswell.
The design is simple (can be expanded upon):

every time you open a document it will locate the Cargo.toml file, and create an RA-server, if another document shares the same Cargo.toml then it will also share that RA-server, otherwise a new will be spawned.
Commands are shared but it will depend on the active Ctx.
The status display will also be created for each Ctx and will just be hidden/shown depending on which Ctx is in focus.
Tasks (Cargo build etc..) will run depending on the file you have open.

Some caveats / things that could be done better or different:

I added a CLI flag to RA-server to force it to use cwd
If a project contains other projects then there might be double reporting (needs more advanced document filter)
the current multi workspace impl is effectively not active anymore (for vscode)
I don't know if it would be favorable to run just 1 RA-server, but in that case there needs support for dynamic loading / unloading of workspaces.
This a lot, so I expect there to be some things I have overlooked, when I did it for the RLS I put this behind a feature flag, that said I've learned a lot from all the little things that came up on that project. But I am sure there are some things I've overlooked. And the design for this was much deeper given how much more complex RA is, so adding a 1000+ conditions on whether this is active or not is probably a bad Idea.

Also I haven't been part of any design discussions so if this had already been decided against for other reasons that's fair :)

Hmm... I was browsing through the PRs after opening my issue. Doesn't this fix #3975 through the --use-cwd parameter ? :)

Hi @Ten0, I'll try to outline how it will work in more detail, hope this will clarify it, anyway here goes:
workspace with two projects side by side
If your structure is:
my_workspace
|- project_a
   |- Cargo.toml
   |- src
|- project_b
   |- Cargo.toml
   |- src

Then it would work, by spinning up 2 RA-severs one with cwd=my_workspace/project_a and one with cwd=my_workspace/project_b, which should achieve what you want.
workspace with 1 project nested inside another project
If your structure is:
my_workspace
|- project_a
   |- Cargo.toml
   |- src
   |- project_b
      |- Cargo.toml
      |- src

Then it would work, by spinning up 2 RA-severs on with cwd=my_workspace/project_a and one with cwd=my_workspace/project_a/project_b, which would produce the double reporting i mentioned (which might be annoying, and look a little buggy :/)
A project as workspace root with other projects inside it (How the RA repo is structured)
Maybe this mode should just be removed
mega_project
 |- Cargo.toml
 |- crates
   |- project_a
     |- Cargo.toml
     |- src
   |- project_b
     |- Cargo.toml
     |- src
   ...

Then it would work, by spinning up 1 RA-severs with cwd=project_a, doing the same as the current RA-server implementation does today.
That said this design might be not preferable and a bit subtle, and I did think about removing this mode after I posted the PR but I wanted some feedback on it first.
The reason why this is a bit subtle is that if you for instance just open another folder in vscode such that the workspace structure is like:
workspace
   |- mega_project
      |- Cargo.toml
      |- crates
        |- project_a
          |- Cargo.toml
          |- src
        |- project_b
          |- Cargo.toml
          |- src
   ...

Then it would see as just another form of the second setup and work by spinning up 3 RA-severs one with cwd=workspace/mega_project, one with cwd=workspace/mega_project/crates/project_a and the last withcwd=workspace/mega_project/crates/project_b .

My structure is different:
mega_project
|- .cargo/workspace
  |- Cargo.toml
|- crates
  |- project_a
    |- Cargo.toml <-- These point to `../../.cargo/workspace` as project workspace
    |- src
  |- project_b
    |- Cargo.toml
    |- src

How would it behave in this scenario ? Optionally I could add the .cargo/workspace to the ignore path.
Somewhat unrelated: I feel like the double reporting problem may be linked to this discussion: #2792

I'll try to review this closely some time later today, but, generally, I think we should pursue a different, harder but more long-term viable approach (If I understood correctly what this PR doese).
We should support loading several workspaces into the single rust-analyzer process.
Hm, actually, looking at the code we do seem to support this?
https://github.com/rust-analyzer/rust-analyzer/blob/b495e56b0d3f7a72494d002a69440563e8394574/crates/rust-analyzer/src/main_loop.rs#L94-L121
https://github.com/rust-analyzer/rust-analyzer/blob/b495e56b0d3f7a72494d002a69440563e8394574/crates/rust-analyzer/src/bin/main.rs#L76-L82
Note that I don't use this funcitonality myslf, so it might very well be broken, but in that case, I think we should fix it (and maybe add a heavy test).

@matklad I actually do agree, I just saw the rewrite of RA's project selector as being too big a task for a one night project, but now that I've worked with it a bit maybe it's not too bad ;).
Anyway going back to topic, there are a lot of annoyances with multiple language servers in vscode, that said this does provide the kind of functionality one would expect, and it was quite easy to implement. But I completely understand if it's preferred to wait with this until it's available inside the language server.

Yeah, I guess there are two orthogonal problems here:

mulit-project setup (and I think rust-analyzer already fully supports that?)
dynamic reconfiguration support (which rust-analyzer lacks at the moment)

Dynamic reconfiguration, on the one hand, is a pretty thorny issue, but, on the other hand, the solution of "just" reloading the might not be that bad at the end of the day. The true reconfiguration is blocked on #3715 (or, more generally, on the investiagation of what dynamic root set means in the first place). However, I think we can get 80% there if we just show user a message "hey, we've noticed that you've edited Cargo.toml / added new workspace folder, you might want to reload rust-anlayzer".
Is this a fair summary of the situation? Or is there something I am overlooking, which makes multi-server setup a significantly better UX?

@matklad

Is this a fair summary of the situation? Or is there something I am overlooking, which makes multi-server setup a significantly better UX?

Yes, quite fair, with a caveat while multi-project is supported it's effectively not used in vscode (multi workspace is not very nice) that said I think it should be easy to get there. Also the multi-server solution proposed in this PR is really not a "good" solution other than it providing the "dynamic project loading", without much headache I agree 100% that the "would you like to restart?" is good enough and it expands better once dynamic project loading is ready :).
I don't know the design process but I wouldn't mind implementing what you proposed:

Load Projects in workspace (not only root)
Dynamically detect new projects (and prompt user to reload RA)

I am closing this to make way for a new redesign on:
https://github.com/rust-analyzer/rust-analyzer/pull/3987
My reasoning is that there is no code overlap and instead of force pushing and making it more confusing I instead opened a new pr.


[iOS] The font is stick together

Some letters stick together on Cyrillic SanFrancisco when using FontWeight w900 or w800.
(no problem with Helvetica, Android Roboto)
Tried on stable and master channels.
CupertinoApp(home:
  Container(color: Colors.white, child:
    Center(child:
      Text('Марафон медианавыков', style: TextStyle(fontSize: 24, fontWeight: FontWeight.w900))
    )
  )
)

• Flutter version 1.7.10-pre.10
• Framework revision 0f2388e545
• Engine revision e29a100288
• Dart version 2.4.0
• Xcode 10.2.1, Build version 10E1001
• CocoaPods version 1.7.2
• ios-deploy 1.9.4

This looks like it's fixed

Code Sample
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      title: 'Cupertino App',
      home: CupertinoPageScaffold(
        navigationBar: CupertinoNavigationBar(
          middle: Text('Cupertino App Bar'),
        ),
        child: Center(
          child: Container(
              color: Colors.white,
              child: Center(
                  child: Text('Марафон медианавыков',
                      style: TextStyle(
                          fontSize: 24, fontWeight: FontWeight.w900)))),
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel dev, 1.21.0-1.0.pre, on Mac OS X 10.15.6 19G73, locale
    en-GB)
    • Flutter version 1.21.0-1.0.pre at /Users/taha/Code/flutter_dev
    • Framework revision f25bd9c55c (3 weeks ago), 2020-07-14 20:26:01 -0400
    • Engine revision 99c2b3a245
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 20bf2fcf56)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /Users/taha/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.47.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.1

[✓] Connected device (4 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      13.6
    • macOS (desktop)        • macos                     • darwin-x64     • Mac
      OS X 10.15.6 19G73
    • Web Server (web)       • web-server                • web-javascript •
      Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 84.0.4147.105

• No issues found!

Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


ActiveAdmin Integration

Just wondering what would be the best way to hook this into activeadmin for an admin user?

Hi, I try your active admin branch
Unfortunately...
undefined local variable or method `has_one_time_password' for AdminUser (call 'AdminUser.connection' to establish a connection):Class

At first time I try to implement it a got diff errors. For now -- no error on loginning to AA (I got code genereted for user in db) but i still go to admin panel just with login and password -- no second step auth :( Any advice? (active admin from master branch)

@Houdini I'm looking forward into integrating this gem into my app (which is using ActiveAdmin 1.0.0pre2). As the branch you linked is a few years old and many commits behind master, would it be possible to add the explanation to the readme, or support ActiveAdmin in the master branch too?
When comparing branches it seems like I'd have to fork master and change a few lines to integrate it, but that feels cumbersome, and even then I'm unsure if it will also work with ActiveAdmin 1.x, and not the 'old' 0.6 versions.
Thanks a lot!

@maia It's possible, but I don't know to long does it take.
Problem is that it's very hard to make same code work for both general purpose and AA.
But I should check new version of AA


No indication for drive in file parts view

Environment info

Version: 2.1.2-52e964c
Deployment: AZURE
Customer: **demo **

Actual behavior

drill down to file parts - there is no way to tell which drive stores the data

Expected behavior

an indication for a drive

Screenshots or Logs or other output that would be helpful

with the move to work in k8s pools instead of seperate hosts, no longer relevant to manage the single drive manually


feat: Refactor and Feature Enhancements in React Application and API

This PR Implements a series of significant refactorings and feature additions in the React application and also the API.
Refactor: Organize App.tsx into Smaller Components

Separated home page logic into Home.tsx.
Implemented React Router for navigational routing in App.tsx.
Wrapped the application in Authenticator for streamlined authentication.

Refactor: Update MainLayout and AppHeader

Revised MainLayout with a Grid layout for structural consistency.
Updated AppHeader with Cloudscape Design Icon for enhanced UI.
Added dropdown in AppHeader for user actions including sign-out.
Refactored authentication to display user email.

Refactor: Enhance Meeting Scheduler UI

Implemented a toggle switch for immediate and future meeting scheduling.
Adjusted the layout to expand the textarea dynamically.
Added language selection and conditional rendering for date and time inputs.
Made UI adjustments for clarity and better user experience.

Feat: User Feedback Enhancements and Table Component

Introduced FilteredTable component for data display with sorting and pagination.
Replaced alerts with Flashbar components for integrated feedback.
Implemented Flashbar notifications for various states and API response handling.

Feat: API Integration with Table Component

Adapted the table component to utilize real API data.
Implemented dynamic pagination based on the size of API response data.

Refactor: API Functionality and Readability Enhancements

Unified API response format with createApiResponse.
Improved time zone handling in meeting scheduling.
Transformed DynamoDB scan results for user-friendly API responses.

Build is failing on moment-timezone.  We should include yarn.lock though.


feat: Run scripts from pubspec.yaml?

 I think being able to store scripts inside the pubspec.yaml file is a convenient and easily discoverable way for newcomers to see what commands are available, kind of like the "scripts" section of a package.json, but that might just be the web developer in me.
I am proposing that we take the script commands in the readme.md that's generated for each project and add them to the pubspec.yaml (or another file or scripts folder perhaps?) and encourage the use of a script runner (or build one into very good cli) so that script commands are not just discoverable, but easily accessible. It's a minor thing, but it crossed my mind again so here's a ticket.

I think this would be very cool!
Having something like very_good run dev for flutter run --flavor development --target lib/main_development.dart, would be cool.

@alestiago IIRC you have a branch that does this — would you consider uploading a PR and mentioning this issue so we can get additional 👀?

@definitelyokay just quickly published the branch with the code. I'm missing tests and refactoring, is purely a proof of concept. The branch can be found here. For the time being I'm not thinking on uploading a PR since it was designed as a proof of concept and requires some work.

Proof of Concept GIF

In order to run locally you need to do some trickery. I did this some weeks ago and I forgot how to already. But if I try to recall as hard as I can you require to bump the version in the pubspec.yaml and also use dart pub global activate -s path . within the CLI repo.
Then you can add a scripts.yaml as the following and define all the commands you wish. If this is not found then it looks within the pubspec.yaml for a script tag (you can also define them there). The rational behind this was so I could ignore scripts.yaml file whenever I require pubspec.yaml updates.

Example scripts.yaml
scripts:
  - build: "echo hello"
  - friend: echo friend
  - multi:
    - echo hello
    - echo world
  - deploy: dart pub global activate -s path .

I did run into the same issue that @frencojobs commented in the "Why and How" section of Derry's README.md

Since Dart's Process isn't good at executing system commands, I used Rust with the help of Foreign Function Interfaces

Having said this, in that branch I'm only using "Dart's Processes", so something more sophisticated might be required.

Is this a better alternative than for example just generating a makefile?
Using a makefile would not be reinventing the wheel and they're very common in Unix systems. One downside would be for windows users would might have to install additional software.
Then one could just to
make staging and forget about the long tail boilerplate when developing

Example makefile
.PHONY: build-runner
build-runner:
	flutter  pub pub run build_runner build --delete-conflicting-outputs

.PHONY: watch
watch:
	flutter  pub pub run build_runner watch --delete-conflicting-outputs

.PHONY: unit-test
unit-test:
	flutter test --coverage --coverage-path=./coverage/lcov.info

.PHONY: staging
staging:
	flutter run --flavor staging --target lib/main_staging.dart

.PHONY: production
production:
	flutter run --flavor production --target lib/main_production.dart

https://twitter.com/rodydavis/status/1543388974424551424?s=21&t=Mvh6iL4YvU0mxe54GjdwNA

See https://pub.dev/packages/flutter_scripts

Feel free to use any code and port it to the cli!

After discussing with the team we've decided to close this as "won't fix" because:

This is functionality that is currently available package:flutter_script

We'd prefer not to wrap flutter_scripts because it introduces another dependency in very_good_cli for little gain
We'd prefer not to copy the functionality into very_good_cli because it doesn't provide additional value on top of what flutter_scripts already offers.

Sorry for any inconvenience!


[SPARK-41017][SQL][FOLLOWUP] Respect the original Filter operator order

What changes were proposed in this pull request?

This is a followup of https://github.com/apache/spark/pull/38511 to fix a mistake: we should respect the original Filter operator order when re-constructing the query plan.
Why are the changes needed?

bug fix
Does this PR introduce any user-facing change?

No
How was this patch tested?

N/A

cc @viirya @wangyum @gengliangwang


Handle cases where the dns entry doesn't exist yet

host can return "Host cassandra-peers not found: 3(NXDOMAIN)" sometimes,
we need to check this so we don't end up with CASSANDRA_SEEDS="found:"

Thanks for your contribution :)


Add Twitter follow badge in readme file

Add Twitter follow badge in readme file and add following URL to reference.
https://twitter.com/carrier_js

@theritikchoure I would like to work on this issue, please assign it to me

@coderSuren No need to wait for assigning, you can raise the pull request.

i have raised the pull request


Add compiler flags: Handle Unicode Regional Indicator Symbols within --locale parsing

This PR allows us to parse the ISO 3166 country code used as the latter half of a --locale string using characters from the Unicode Regional Indicator Symbol set in addition to normal characters (on host runtimes which support the evaluation of Unicode-aware regular expressions).
What does this actually mean? Well:

We can now parse all the emoji flags on the command line we want!
As an interesting aside, pretty much all the work for this PR went into making that above image after the code was done. Terminal support for emoji has gotten pretty good on MacOS and Linux, but on Windows it is sorely lacking. Given what I work on, my preferred terminal emulator is the integrated terminal in vscode, however both xterm.js and windows+chromium itself have issues blocking correct rendering of 🎏 emoji. 😢  So first I had to spin up a VM to get a good terminal emulator. Then I had to discard the default terminal, kitty, and konsole, since none of them rendered flag emoji correctly (since apparently while emoji support is pretty common nowadays, support for emoji ligatures like the flags is more rare). The only terminal I tried that did was upterm (a chromium based terminal emulator), so props there, I suppose.

This is really fantastic work @weswigham. I have a concern about whether that UK flag implies I'll start getting extra 'u's in my error messages. I would hate for us to have to compromise here.

@typescript-bot pack this


Automatic code style checks for our code

Originally from @markusthoemmes :
We should enforce automatic code style checks on our code to keep it consistent and readable for everyone and to prevent styling annotations in code reviews.
Pointers to start: http://www.scalastyle.org/ they have a gradle plugin so its really a matter of choosing the styleguide.
@rabbah  proposed http://twitter.github.io/effectivescala/
@psuter  comments?

From @markusthoemmes :
First stage will be a setup guide for scalastyle in eclipse + choosing a guide. We'll need to tweak the guide to our needs before we finally enforce it on a build level.

This is done thanks to @markusthoemmes.


Update on build failed fresh clean build still doesn't work.

So i am posting a issue on here because i still cant get it to work. So i have decided to literally uninstall everything everything. Git, vs code, vs, the pico-sdk, mingw, cmake, arm gnu compiler. just everything. for reference i followed this tutorial here. https://www.youtube.com/watch?v=mUF9xjDtFfY step by step nothing different. reinstalled just what i needed cloned it did the submodule thing there is nothing absolutely different about my build from his. and i got the same result as i have been getting. it goes up to  Building C object blink/CMakeFiles/blink.dir/blink.c.obj and then it fails with several errors.
I don't believe its an environment issue for i have copied and pasted the steps of someone else that got it to work and I haven't. I really want to get this figured out I've tried almost everything. This does not seem like a common issue.

User issue, not an SDK issue. Duplicate of  raspberrypi/pico-feedback#179.


Revert 'dark mode' css: causes issues in django2.2 (#1330)

Problem
#1330 (dark mode makes "confirm import" page unreadable)
The issue seems to be that if using Django 2.2 and browsing in dark mode, then the page doesn't render correctly.
Solution
Revert the change from #1323.
Acceptance Criteria
I have tested manually in Django 2.2 to confirm that the issue is no longer present.

Start the example app with django 2.2
Force refresh of the "confirm import" page to reload import.css
Import a file and toggle light / dark mode in firefox to prove the issue is resolved.

Thanks @manelclos - do you have any availability to build a 2.6.1 release after I merge this? (I will correct the version number first)

Coverage remained the same at 98.063% when pulling 4c0dfb6b7459a2e12edb163a527e618388f78022 on matthewhegarty:revert-dark-mode into e83da278ff22aaa9ff0cfb138a7fb830c8392e61 on django-import-export:main.

yes, please go ahead

@matthewhegarty published https://pypi.org/project/django-import-export/2.6.1/


Node.js - Write and publish JSDocs

This project is no longer actively developed or maintained.
For new work on this check out the Secret Manager API.


Fix Mistakes in "Refactoring Of Dependency usage #387" (#387-fixup)

This commit fixes mistakes introduced in the previous "Refactoring Of Dependency usage" pull request (#387).
I apologize for any inconvenience caused.
The main addition remains the .rustfmt.toml file, which is now correctly included in all cargo projects. This enables streamlined code formatting using cargo-fmt inside a cargo project.
The Changes inside the .rustfmt.toml are:

imports_granularity = "Crate"
array_width = 60
attr_fn_like_width = 70
brace_style = "SameLineWhere"
combine_control_expr = false
comment_width = 80
wrap_comments = true

By the way, watching the test process is quite exciting. How can you do the same thing that your test process does locally?

Sorry to be picky, but I have a few concerns to consider:

rustfmt will search recursively through parent directories to find a .rustfmt.toml file, so we don't need to add the file to each package. We can just have one .rustfmt.toml file at the root of the repository. I just checked locally that this works as expected. We should prefer one style configuration file for the whole project so that if there is ever a decision to modify the style in the future, we can do that easily.
In the working group there was a consensus on merging imports, but that was the only style change discussed. I don't think it's a good idea to introduce other style changes without checking on how the group feels. It will be a month until the next meeting, but we could drop a message in the matrix chat.
After testing locally, I discovered that almost all of the style settings are currently unstable, which means they require the nightly channel in order for rustfmt to actually use them. This means we won't actually be able to enforce these style settings through CI for now, which is disappointing. There's nothing we can do about this point, I'm just stating an observation.

Superseded by #389


Selector in Component Browser resets it's position

Discord username
No response
What type of issue is this?
Permanent – Ocurring repeatably
Is this issue blocking you from using Enso?

[X] Yes, I can't use Enso because of this issue.

Is this a regression?

[X] Yes, previous version of Enso did not have this issue.

What issue are you facing?
After opening CB and starting to type a function name when you navigate with arrows through the components selector resets it's position back to the middle bottom default one.
Expected behaviour
Navigating through components with arrows make selector stay in chosen place.
How we can reproduce it?
open CB
start typing (i.e.: "to")
navigate with arrows (i.e. to "to_vector" component)
watch how selector jumps back in to its default starting position
Screenshots or screencasts
https://user-images.githubusercontent.com/108271897/232112528-ed1d46db-7391-455a-9963-82e64f29bab4.mp4
Enso Version
2023.04.13
Browser or standalone distribution
Standalone distribution
Browser Version or standalone distribution
standalone
Operating System
Windows
Operating System Version
11pro 22H2
Hardware you are using
12th Gen Intel(R) Core(TM) i9-12900HK / RTX3060 Laptop

This is a duplicate of #4966


when i use it on png image,there's bug

/code/go/src/github.com/oliamb/cutter/cutter.go:107
Handler crashed with error runtime error: invalid memory address or nil pointer dereference

That's a weird error indeed...

I added a test example for PNG loading. It seems to work.


Support add-in commands

Need to update your add-in to add buttons on the ribbon. See https://dev.office.com/docs/add-ins/outlook/add-in-commands-for-outlook.

Closing issue, resolved by #3 and #5


MCUboot on devices with limited flash

On small flash devices (e.g. bbc microbit or nrf82810) I cannot get MCUboot working because the swap method limits the amount of flash available for a image to small (my app for a bt mesh device is at least 119kB).
Is it possible to extend mcuboot with a bt smp interface and only to allow "in-place" upgrades (like serial does now) ?

looks like it is possible. I see here two independent feature - one is only-image update using serial recover. This shouldn't be so hard to achieve. Worth to mention that it will required signature verification prior the update.
Second is addition of BT for serial recovery - this is more complicated. Need to port service from zephyr or my-newt (hopefully with code simplification as dfu needs only smal subset of commands).
Generally I think that addition of this feature make sense.

You can try setting your slot1 size to 0 (and slot0 to all remaining free space!); this should fail on slot compatibility checks and just boot slot0. You can also enable overwrite-only mode to make the bootloader smaller. This should allow in-place serial upgrade. For BLE there is no support but follow @nvlsianpu suggestion above.

Cool,
Regarding the signature verification, how is this done for the serial upgrade (now, without any changes)? Does mcuboot do the verification after loading to slot0 (before starting slot 0) or does it do this before loading to slot0 ?

Regarding the signature verification, how is this done for the serial upgrade (now, without any changes)? Does mcuboot do the verification after loading to slot0 (before starting slot 0) or does it do this before loading to slot0 ?

No validation for serial upgrade; packets are just written to sectors, validation would need the whole image to be uploaded first. Validation on following boots is done if you have MCUBOOT_VALIDATE_SLOT0 defined, otherwise no validation is done.

Hi, my idea is to start from the smp_svr example in zephyr as this already has the required routines to load to flash. I would add the image verification and boot into slot 0 if the image is verified. I still need to figure out how to keep it in the bootloader when needed, a possible solution would be to mess up the image trailer so verification fails.


Implementing Breadcrumbs

I want to add breadcrumbs to the top of each of my pages but I'm not sure if there is a way to do this not manually for each page.
I thought about having breadcrumbs included using withView and adding breadcrumb data using withContext but nested routes cannot update the parent context.
Is there someway I can add the data to routes and get it with the useCurrentRoute() hook?
Using getData or something will just overwrite parent data with the same name.

One possibility would be to add a “breadcrumbs” array to context near the
top, and use withContext to concat new breadcrumbs onto the array as needed.
On Wed, Oct 2, 2019 at 12:20 Roy Brunton<EMAIL_ADDRESS>wrote:

I want to add breadcrumbs to the top of each of my pages but I'm not sure
if there is a way to do this not manually for each page.
I thought about having breadcrumbs included using withView and adding
breadcrumb data using withContext but nested routes cannot update the
parent context.
Is there someway I can add the data to routes and get it with the
useCurrentRoute() hook?
Using getData or something will just overwrite parent data with the same
name.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/frontarm/navi/issues/142?email_source=notifications&email_token=AABHPK77T4A3YVIXXYOUCETQMQHRDA5CNFSM4I4RHVEKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HPAQDOA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABHPK47TXOP32IUI2DGVYTQMQHRDANCNFSM4I4RHVEA
.

@jamesknelson
Yeah I tried that, but I wanted to use withView near the top to render the breadcrumbs. If I pass the context as a prop at the top, any nested routes calling withContext won't be reflected in the context passed to the breadcrumbs view component.
If possible I'd like to avoid using withView to add the breadcrumbs in multiple places deeper in nested routes.

The issue is that routes are designed to be independent of their parents, which makes it difficult to do something like this cleanly.
One possible hack would be to add an array to context, and mutate it with push in the route instead of using concat. This should work atm, because the full route is re-rendered each time anything changes -- although I must emphasize that this is a bit of a hack.

That does indeed work. Hacky may have to suffice for now. Thanks!

Great! Closing this for now.


[Azure Monitor] Adding functional tests

Packages impacted by this PR
@azure/monitor-opentelemetry

API change check
API changes are not detected in this pull request.


Front matter fixes

NB. The bibliography references are dependent on #24.

#24 has merge conflicts, so i'm waiting on those to be resolved before merging that one, then this one to follow

ok, #24 is in so I'm assuming this is good to go, it seems to be fine to merge


Themes (and other styles) are not working with SSR in 4.2.1+

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔

Themes should work correctly with server side rendering
Current Behavior 😯

Theme styles are not being applied to the application in v4.2.1+. There also seem to be other styling issues when I upgrade to 4.2.1+, but it is easiest to demonstrate with the theme not working.
Another notable styling issue is that the initial page paint is almost totally unstyled until react begins to run and generates its own styles.
Steps to Reproduce 🕹

Link: https://github.com/williammetcalf/material-ssr-bug-demo

clone the above repo
run yarn (installs material v4.2.0)
run yarn start see that the app works properly (toolbar is red, etc.)
upgrade to material v4.2.1 or 4.3.0
run yarn start, see that the theme is no longer applied (toolbar is blue, etc.). The initial styles also don't seem to be applying correctly. The first page paint before react starts running is virtually unstyled, which I'm guessing is due to the same issue.

Context 🔦

A server side rendering application using material-ui. I have a razzle SSR app currently working fine with material v4.2.0, but when trying to upgrade to 4.2.1 or 4.3.0 all of the styling is messed up. I have stripped the app down to bare-bones for the demo repo, the SSR server code resembles the example code for ssr pretty closely.
Your Environment 🌎

Tech
Version

Material-UI
v4.2.1

React
16.8.5

Browser
chrome

TypeScript
3.2.4

etc.

@williammetcalf You need to deduplicate the @material-ui/styles package.

@oliviertassinari I see. Just to be clear, I no longer need to have @material-ui/styles listed as a dependency if I have @material-ui/core?

@williammetcalf core installs styles, so you don't technically need it, but it's considered a good practice to declare the packages you directly depend on in your package.json. I'm sorry for the frustrating. It might be something we do wrong. For instance, @TrySound has proposed to increase the required material-ui@styles dependent version of core when releasing.


Clean up p2p-instantsend.py

Bump mocktime before generating new blocks and generate a few blocks at the end of test_mempool_doublespend to clean things up.

PR title doesn't really match...


Spherical Overdensity (SOD) interface code

Right now, the code requires HACC SOD data to be run and validate. But the interface is getting close to being finalized, and something I'd like to share for the review and feedback.

So this change
-    if (l.halo_index < r.halo_index)
-      return true;
-    if (l.halo_index > r.halo_index)
-      return false;
-    return l.distance <= r.distance;
+    if (l.halo_index == r.halo_index)
+      return l.distance <= r.distance;
+    return l.halo_index < r.halo_index;

actually fixed the differences observed between HIP and Cuda. The thing to note is <= instead of < when comparing distances in the old version. Surprisingly, it led to very different results between Cuda's Thrust and rocm Thrust. With the second version, both behave the same, and same as the origin Cuda Thrust.


Fix --exclude.

Previously, --excludes were processed after all resolution was
complete. Not only was this sub-optimal, incurring more resolution work
(downloads, backtracks, etc.), but it also could lead to failed
interactions (metadata extraction & wheel builds) with excluded
distributions.
Fix this by plumbing --excludes all the way through the Pip resolve
process. Additionally, fix the exiting plumbing through the two other
resolve processes: PEX repository resolution and lock file resolution.
Fixes #455
Fixes #2097

This is on the big side, but it is broken up into functioning independent commits. Thanks in advance for your attention.
I will note this opens up --override since the deep --exclude plumbing already tricks Pip into following doctored requirements lists; it's just that the only doctoring right now is removal of requirements from the list and not editing of requirements in the list. No one has asked for this yet, so I'll save that for a follow up.

This should be all green now.
cc:@cognifloyd who inspired going a bit further and implementing deep excludes.


Add Topics

In GSSoC'24, GitHub Topics will help the discoverability of your project.
I see that you already have great topics on your repository!
I would recommend adding the name of the company like the software you use to build like "vs-code, ghdesktop" to improve your discoverability.
If you are happy with the topics you have, feel free to close this issue. 👍

Great,you can add it
On Fri, May 10, 2024, 10:03 AM Prince Gupta @.***>
wrote:

In GSSoC'24, GitHub Topics will help the discoverability of your project.
I see that you already have great topics on your repository!
I would recommend adding the name of the company like the software you use
to build like "vs-code, ghdesktop" to improve your discoverability.
If you are happy with the topics you have, feel free to close this issue.
👍
—
Reply to this email directly, view it on GitHub
https://github.com/SiddharthBahuguna/NEWS-AGGREGATOR-PROJECT/issues/5,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A24XZ7LLN6Y3VDGOK5IIIUDZBREZJAVCNFSM6AAAAABHP573XSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI4DQOJQGU4TEMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


⚠ St. Lawrence Global Observatory CKAN Sitemap has degraded performance

In 4a12123, St. Lawrence Global Observatory CKAN Sitemap (https://catalogue.ogsl.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 6566 ms

Resolved: St. Lawrence Global Observatory CKAN Sitemap performance has improved in fe47a9e after 5 minutes.


How to obtain input mnd file from juicer2 output file？

Hi! I ran juicer2 and produced the following files, there is no mnd file as 3d-dna input.I noticed that merged_nodups.txt has been replaced by the bam and merged*txt files in juicer2. But in 3d-dna's manual has not been updated. so how should I get merged_nodups.txt?  Thanks!
merged1.txt
merged30.txt,
merged_dedup.bam
inter.txt
inter_30.txt
inter.hic
inter_30.hic

hi Xuan,
There is a --assembly filag you can include when running Juicer2 that will produce the standard mnd file.
Thanks,
Olga


delegis:0.3.0

I am submitting

[ ] a new package
[x] an update for a package

Description:
v0.3.0
Features

Adjust numbered list / enumeration numbering to be in line with "Handbuch der Rechtsförmlichkeit", Rn. 374
Make division titles (e.g., "Part", "Chapter", "Division") customizable and conform to the "Handbuch der Rechtsförmlichkeit", Rn. 379 f.

[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thank you!


DNA sample name doesn't allow "." in names, but it should

I am not sure if this should be in schema or submission-schema
The slot "DNA sample name" won't validate for a submission, I think, because there's "." in the sample name.
According to the JGI guidance "Give the sample a name that is meaningful to you. Sample names must be unique across all JGI projects and contain ASCII characters only."
Periods "." are ASCII valid. Looking at the regex in the submission portal "Pattern as regular expression: /^[_a-zA-Z0-9-]*$/"
I'm guessing it doesn't allow for "."
To resolve:

Update the submissions schema regex to allow for . and any ASCII character

I have a submitted pending review submission with the "." in the names. Which means something happened / was changed to make these no longer valid.
I don't know what keeps happening to validation or why regular expressions are getting added without my review, but this needs to be addressed.

https://github.com/microbiomedata/submission-schema/commit/4954e081bb56aaa2569f7476670ef2266cab7ac6#r150711705

I think I found another valid metadata entry that was made invalid by an unexpected or tested regex being added.
Why are these values invalid? Make a new issue to resolve this one, depending on the discussion and path to resolution for the above issue.


Fix sessions with sddm.

Motivation for this change
From email:

The sddm must be handled separately (as with kdm) in the xsession start
script because it treats the Exec line in the .desktop file as a
parameter and not a command, and due to the in the current master
branch sddm cannot start a session.  The attached patch fixes this.

Oops :) I guess that comment applied to SDDM and KDM! Thank you for restoring it!

Does this fix #21353? If yes, does it make sense to merge this in 16.09? Sorry for the somewhat naive question.

@Zimmi48: no, this just restores the line that was only touched on master during KDE 4 removal.


fix: emit sourceApi message, set it on cs, add UTs

What does this PR do?
adds warnings from plugin-source into PDR
adds sourceApiVersion to CS
adds retrieve start UTs 👀
What issues does this PR fix or reference?
https://github.com/forcedotcom/cli/issues/353
@W-13735986@

QA notes:
before this change (set sourceApiVersion to 56 via sfdx-project-json)
sf project retrieve start -m CustomObject:Account
Retrieving v58.0 metadata from<EMAIL_ADDRESS>using the v58.0 SOAP API

with this change
✅ (in a project, using source)
../bin/dev project retrieve start -m CustomObject:Account
Retrieving v56.0 metadata from<EMAIL_ADDRESS>using the v58.0 SOAP API

(top-level, using mdapi)
sf project retrieve start --metadata CustomObject:Account --target-metadata-dir mdapiOut -o na40hub
Retrieving v58.0 metadata from<EMAIL_ADDRESS>using the v58.0 SOAP API

✅ results are the same for ./bin/dev since it doesn't have project. Importantly, it works without project!


docs: fix typos on emulator and api-server pages

Congrats on the release! 🎉
While reading the docs, I found a couple of typos.

@all-contributors please add @timdeschryver doc


Credential error! The extension is currently not updating Habitica!

MacOS 10.14.3, Opera 66.0.3515.103
Issue: When I try to enter my Habitica creds into the SiteKeeper extension I get the following error message:
Credential error! The extension is currently not updating Habitica!

The SiteKeeper extension works perfectly on my Windows 10/Opera rig, and the settings, User ID & API key are identical. I have an Opera extension that allows Chrome extensions to work in Opera.
Troubleshooting: Logged out/in to Habitica, uninstalled/re-installed extension

Hi, thanks for the feedback :)
I never tried the extension on Opera. Can you send a link to the Opera extension that you use to allow Chrome extensions? I'll need to see it for myself.
Thanks

Sure, and thanks for looking into this!
https://addons.opera.com/en-gb/extensions/details/install-chrome-extensions/

Hi, I fixed some bugs lately, is it still happening?

The issue is fixed.
Please make sure you use this extension for Opera:
https://addons.opera.com/he/extensions/details/install-chrome-extensions/


fix(coral): Add UI error handling in async filters

Follow up to #2144
Components where filter need updates

[x] TopicRequest
[ ] TopicPromotionRequest
[ ] TopicEditRequest
[x] TopicSchemaRequest
[ ] EntityDetailsHeader (https://github.com/Aiven-Open/klaw/issues/2183#issuecomment-1887195724)
[ ] ConnectorEditRequest
[ ] ConnectorPromotionRequest
[x] ConnectorRequest
[x] TopicDetailsSchema

I would not add the async wrapper to EntityDetailsHeader since the environment list is a property and loading etc. is handled by getting the correct entity (e.g. Connector, Topic)

TopicEditRequest needs one environment to show a disabled select. The env is passed by the route. There is an error handling in case the environment does not exist (e.g. if user followed an old link), but this is not a case for the async wrapper.


Bugfixes

Bugfix for getWaypoints method that causes phone crash when sending waypoints with first point within completion range of boat. Bugfix in FirebaseUtils that causes crash on startup due to null reference for failure handler. Shroud direction fix.

I refactored out just the bugfixes into #33.  We can make a PR right after that to update the gains as needed.


Thoughts on Concrete improvements to Architect mode

Issue
I work on a full stack codebase with aider: solidity, golang and react/typescript. This is a somewhat challenging environment for aider right now — tree-sitter in aider isn’t really set up to make a repo-map useful across the different parts of the repo, and so I spend a good amount of time loading and unloading files, and restarting the chat window, reloading a specific new set of files in so that we’re using the best part of the context window for the work.
One of the downsides of doing this is that the LLMs we use are pretty locally minded, that is, they make (usually) sensible local changes, local naming, etc. But they don’t take into account the broader context, whether its coding standards, storage standards, data flow, etc.  It’s a lot of work to push the LLM back into thinking about a larger global context, e.g. “make sure your CSS stylesheets are namespaced for this component / only use existing global styles so you don’t overwrite things the rest of the UI relies on.” “Make sure you use the following standards for interacting over websockets, and the following naming rules.” “The solidity files have been audited, so do not change them.” “We aim for 100% test coverage, so write a test alongside the code.” And so on.
All this has me thinking about some ways architect mode might help during setup or work with a larger project. I’d love to have a design document generated for the repo by the architect for larger projects, specifying out data flows, storage rules, key standards and naming that we must follow, for instance, and I’d love to have that included as part of the standard checkpoint for coding requests. I’m sure there are other workflows where we could do a little setup / conversation with the architect, with the intent of incorporating some ongoing instruction into the future coding sessions, and I’m curious what others think. I think that Claude could do this with some back and forth, as could 4o-preview, albeit on a smaller context window.
With such a document in place, asking “where are we not meeting code standards?” Or “bring this into spec” or simply “do this” and relying on naming, modules, dataflow, testing rules all being followed would be really great.
I’m curious for thoughts!
Version and model info
No response

Thanks for trying aider and filing this issue.
Absolutely. You can use aider to create and edit a markdown file with that sort of project information. Then you can include it read only for later coding sessions.
https://aider.chat/docs/usage/conventions.html

That's cool. I guess the suggestion here is that there's a fair amount of boring back-and-forth type work to shuttle the repo over to an LLM to draft the conventions, prompt it into good specificity, drill it down to what's important, spot check it...even the categories that should be in the conventions file; all this seems like the sort of sugar and support it would be nice for aider to provide internally or as a sort of batteries included option.
I'll play around with some prompts to see what I can get as a standard conventions doc out of gpt and claude though. Thanks!

I think you'd find that everyone's idea of "conventions" is, like common sense, not as common as you might expect and while one person would be happy, the next person would say it was not done correctly at all.
It only takes a few hours and time with your preferred LLM to come up with conventions and refine and test them.  Well worth it, IME.

Agreed that conventions vary, and vary between projects, of course, from naming to architecture to commenting to docstring rules. Do you have any such doc you're willing to share? I'm interested to see what a set of rules someone is happy with looks like.

Sure, here is a version of one of mine.  They are a work in progress:
<coding_conventions>
"""
File: code-terse.md
Description: Coding conventions and guidelines for software development
Version: 2024-10-10-013
"""

# Coding Conventions

# Loading Instructions
Please load and adhere to the coding guidelines specified in this file for all software development tasks in this conversation, including both new development and modifications to existing code. Apply these guidelines consistently when providing code suggestions, reviews, or edits. Ensure that any changes to existing code align with these standards while maintaining the original intent and functionality.

# File Header and Version Control
Include a header in all files:

<comment_start>
<comment> File: <filename>
<comment> Description: <brief purpose>
<comment> Version: YYYY-MM-DD-###
<comment_end_if_needed>

- Use existing comment syntax or infer from file type/extension
- Add missing header lines
- Update description if needed
- Version format: YYYY-MM-DD-###
- When editing:
  - Update date to current
  - Increment ### portion

Always update version when changing file.

## Introduction
These guidelines apply to all code. Refer to supplementary documents for language-specific details.

## General Principles
- Prioritize readability, maintainability, consistency, clarity, and simplicity.
- Adapt guidelines to fit language and project requirements.
- When modifying existing code, maintain consistency with the established style while improving adherence to these guidelines where possible.

## Code Modifications
- Refactor gradually, making incremental improvements that align with these guidelines.
- Document significant changes or deviations from the original implementation.
- Ensure that modifications do not introduce new bugs or break existing functionality.
- Update comments and documentation to reflect changes made to the code.

## Language-Specific Adaptation
- Apply principles in alignment with language idioms and community standards.

## General Guidelines
- File Header: Include the standard file header at the top of each file.
- Comments: Use high-level, plain English. Include inline comments for complex logic.
  - **Inline Comment Example**:
    ```python
    total = subtotal * tax_rate  # Calculate total price
    ```
  - **Block Comment Example**:
    ```python
    # Update inventory levels:
    # - Decrease stock by quantity sold
    # - Trigger reorder if below threshold
    ```
- Formatting: Consistent indentation and style per language standards.
- Naming: Descriptive, meaningful names following language conventions.
- Constants: Use named constants instead of magic numbers/strings.
- Organization: Group related functions/classes, use logical structure.
- Nesting: Avoid deep nesting.
- Data Structures: Use efficient, suitable structures.
- Performance: Optimize for efficiency, avoid redundancy.

## Documentation
- Module-Level: Describe purpose, components, dependencies, usage.
- Docstrings/Comments: Cover purpose, parameters, returns, exceptions, notes, checks.
- Use language-specific conventions and type annotations where supported.

- **Example Docstring**:

  ```python
  def create_task(title: str, description: str, due_date: date, priority: int = 1) -> Task:
      """
      Purpose:
          Create a new task with the given details.
      Parameters:
          title (str): Non-empty string up to 200 characters.
          description (str): Optional, up to 1000 characters.
          due_date (date): Must be a future date.
          priority (int, optional): Between 1 and 5 (default is 1).
      Returns:
          Task: The newly created task object.
      Raises:
          ValidationError: If inputs fail validation.
      Notes:
          - Initializes task status to 'Not Started'.
          - Triggers notification to project managers.
      Sanity Checks:
          - Validate input lengths and ranges.
          - Ensure due_date is in the future.
      """
      # Implementation details...

Design Principles

Single Responsibility Principle (SRP)
Function Decomposition
Encapsulation
Reusability
Conciseness
Meaningful Names
Self-Documentation
Testing: Include comprehensive test cases, use TDD where appropriate.

Advanced Concepts

SOLID Principles

Performance Considerations

Generators and Lazy Evaluation

Generator Example (Python):
def fibonacci_sequence():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

Validation and Error Handling

Specify input requirements, validate explicitly.
Handle exceptions gracefully, use meaningful error messages.
Implement appropriate logging mechanisms.

Debugging and Logging

Use CustomLogger for flexible debugging and logging.

Implement debug_interceptor for detailed function logging.

Control debugging at global and function levels.

Use delayed logging for object initialization.

Implement safe repr or separate debug_repr methods.

Filter sensitive data in logs.

Implementation Example:
from debug_interceptor import CustomLogger

logger = CustomLogger(__name__)

@logger.debug_interceptor(enabled=True, verbose=True, delay_logging=False)
def process_data(data):
    # Function implementation
    processed = [d * 2 for d in data]
    return processed

# Example with delayed logging for object initialization
class MyClass:
    @logger.debug_interceptor(delay_logging=True)
    def __init__(self, x, y):
        self.x = x
        self.y = y

Security Best Practices

Protect sensitive data, use environment variables.
Validate and sanitize inputs, prevent injection attacks.
Implement secure authentication and authorization.
Use encryption for data protection.
Secure logging and monitoring.
Manage dependencies securely.
Follow least privilege principle.
Conduct security-focused code reviews.

Handling New Languages

Apply general principles, adapt to language best practices.
Follow official style guides or community standards.

Additional Resources

Refer to language-specific documents when needed.

Safe Debugging Practices

Use delay_logging for object initialization.

Implement safe repr methods.

Consider separate debug_repr methods for detailed info.

Examples:

Safe __repr__ method:def __repr__(self):
    attrs = ', '.join(f"{k}={getattr(self, k, 'uninitialized')}" for k in self.__dict__)
    return f"{self.__class__.__name__}({attrs})"

Using delay_logging:@logger.debug_interceptor(delay_logging=True)
def __init__(self, x, y):
    self.x = x
    self.y = y

Implementing debug_repr:def debug_repr(self):
    return f"<{self.__class__.__name__} at {hex(id(self))}: " + \
           ', '.join(f"{k}={getattr(self, k, 'uninitialized')}" for k in self.__dict__) + ">"

Quick Reference Checklist

[ ] Consistent formatting and indentation according to language standards
[ ] Module-level documentation explaining purpose and usage
[ ] Comprehensive inline comments and documentation blocks
[ ] Proper use of docstrings for functions, classes, and modules
[ ] Single Responsibility Principle applied to functions and modules
[ ] Function decomposition
[ ] Encapsulation and reusability
[ ] Concise functions and methods
[ ] Meaningful names
[ ] Adherence to naming conventions suited to the language
[ ] Avoidance of magic numbers and hard-coded values
[ ] Comments for complex algorithms
[ ] Proper handling of external APIs
[ ] Test cases and error handling
[ ] Efficient data structures and algorithms
[ ] Performance considerations
[ ] Use of generators or iterators where appropriate
[ ] Logging and debugging practices
[ ] Implementation of debug_interceptor for detailed function logging where appropriate
[ ] Use of debugging tools where appropriate
[ ] Security best practices implemented

Handling New Languages

Guidelines:

If working with a language not specifically covered, apply the general principles and adapt them to the language's best practices.
Research and follow the language's official style guides or widely accepted community standards.
Maintain consistency and clarity in code.

Example:

TypeScript: Follow similar conventions as in JavaScript, with added type annotations.
C: Use snake_case for variables and functions, UPPER_CASE for constants, and follow K&R or other accepted formatting styles.

Python-Specific Guidelines

Follow PEP 8 for formatting and style.

Use appropriate naming conventions (snake_case, PascalCase, UPPER_CASE).

Implement docstrings as per PEP 257.

Use type hints (PEP 484).

Use pytest or unittest for testing.

Example Validation Logic:
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

def create_task(title: str, description: str, due_date: date, priority: int = 1) -> Task:
    # Validate title
    if not title or len(title) > 200:
        logger.error("Invalid title length")
        raise ValidationError("Title must be 1-200 characters.")
    # Validate description
    if len(description) > 1000:
        logger.error("Invalid description length")
        raise ValidationError("Description must not exceed 1000 characters.")
    # Validate due_date
    if due_date <= date.today():
        logger.error("Due date is not in the future")
        raise ValidationError("Due date must be in the future.")
    # Validate priority
    if not 1 <= priority <= 5:
        logger.error("Priority out of range")
        raise ValidationError("Priority must be between 1 and 5.")
    logger.info("Task validation successful")
    # Create and return the task
    return Task(title, description, due_date, priority)

</coding_conventions>

I'm labeling this issue as stale because it has been open for 2 weeks with no activity. If there are no additional comments, it will be closed in 7 days.

I'm closing this issue because it has been stalled for 3 weeks with no activity. Feel free to add a comment here and we can re-open it. Or feel free to file a new issue at any time.


[BUG] - KoP CPU usage is 10 times higher than Pulsar on the broker side

Describe the bug
KoP CUP usage is 10 times higher than Pulsar on the broker side
To Reproduce
Steps to reproduce the behavior:

Create a topic with 100 partitions.
Use a pulsar client to produce data on the topic, and record the broker CPU usage.
Use a Kafka client to produce data on the topic, and record the broker CPU usage.

Expected behavior
KoP CPU usage should be greater than or equal to the Pulsar itself.
In this case, when I use the Pulsar client, the broker CPU usage is around 3. When I use Kafka client, the broker CPU usage is around 30.
Expected result: When I use Kafka client, the broker CPU usage >=3, but not too high.
Screenshots
The broker(KoP) flame graph

Pulsar client vs. Kafka client(CUP usage)

Additional context
Add any other context about the problem here.

Please refer to the flame graph HTML file.
broker_flame_graph.html.zip

What's your KoP version? It looks like the sanitizeMetricName, which converts a metric name to a valid name, took too much time.

However, the io.prometheus:simpleclient:0.16.0 dependency of KoP master does not call regex related APIs:
    public static String sanitizeMetricName(String metricName) {
        int length = metricName.length();
        char[] sanitized = new char[length];

        for(int i = 0; i < length; ++i) {
            char ch = metricName.charAt(i);
            if (ch != ':' && (ch < 'a' || ch > 'z') && (ch < 'A' || ch > 'Z') && (i <= 0 || ch < '0' || ch > '9')) {
                sanitized[i] = '_';
            } else {
                sanitized[i] = ch;
            }
        }

        return new String(sanitized);
    }

KOP- <IP_ADDRESS>

It seems to be a bug of Pulsar itself. I checked the prometheus dependency of Pulsar 2.10.2, the dependency is still 0.5.0, which has a inefficient implementation of sanitizeMetricName.
apache-pulsar-2.10.2$ ls lib | grep prometheus
io.prometheus-simpleclient-0.5.0.jar

The prometheus dependency was upgraded from https://github.com/apache/pulsar/pull/13785, which cannot be cherry-picked to branch-2.10. I think we need to implement the method manually to avoid the upgrade.

hmm, I double-check the pulsar(broker) lib folder and find the io.prometheus-simpleclient is 0.5.0.
~ ll | grep prometheus
-rwxrwxrwx 1 root root    59175 Jan 22  2020 io.prometheus-simpleclient-0.5.0.jar*
-rwxrwxrwx 1 root root     5575 Jan 22  2020 io.prometheus-simpleclient_caffeine-0.5.0.jar*
-rwxrwxrwx 1 root root     5838 Jan 22  2020 io.prometheus-simpleclient_common-0.5.0.jar*
-rwxrwxrwx 1 root root    18245 Jan 22  2020 io.prometheus-simpleclient_hotspot-0.5.0.jar*
-rwxrwxrwx 1 root root     9517 Jan 22  2020 io.prometheus-simpleclient_httpserver-0.5.0.jar*
-rwxrwxrwx 1 root root     5177 Jan 22  2020 io.prometheus-simpleclient_jetty-0.5.0.jar*
-rwxrwxrwx 1 root root     4583 Jan 22  2020 io.prometheus-simpleclient_log4j2-0.5.0.jar*
-rwxrwxrwx 1 root root     7103 Jan 22  2020 io.prometheus-simpleclient_servlet-0.5.0.jar*
-rwxrwxrwx 1 root root    29885 Jan 22  2020 io.prometheus.jmx-collector-0.14.0.jar*
-rwxrwxrwx 1 root root    30649 Jan 22  2020 org.apache.bookkeeper.stats-prometheus-metrics-provider-4.14.5.jar*
-rwxrwxrwx 1 root root    16427 Jan 22  2020 org.apache.zookeeper-zookeeper-prometheus-metrics-3.6.3.jar*

After I have upgraded(I cherry-pick the code from this MR - https://github.com/apache/pulsar/pull/13785) the Prometheus client version from 0.5.0 to 0.15.0, the CPU usage still exceeds 30 and the Prometheus-related code costs more 24% than before(0.5.0).
P1 - The CPU usage with Prometheus version 0.5.0

P2 - The CPU usage with Prometheus version 0.15.0.

P3 - Prometheus version 0.5.0. The Prometheus-related code costs 37.93% CPU.

P4 - Prometheus version 0.15.0. The Prometheus-related code costs 62.13% CPU.

The sanitizeMetricName definition was defined when building KoP. It is not loaded dynamically so upgrading the broker does not work. You should upgrade the KoP.

After upgrading the Prometheus version to 0.16.0 in both Pulsar and KoP. The  Prometheus-related code CPU usage is 0.58% now.

pulsar_kop_with_prometheus_version_0.16.0.html.zip


Discussion: refactor

This issue contains all the problems we must solve in the refactor branch. Feel free to issue if have any.

Current TODO:
#18
#19


RegularShape cache

Fixes #15147
Missing some test, but seems to be working ...

Caching gradients and patterns is done by putting those in a WeakMap with an id (could also be a getUid call).
There's an inconsistency for the declutter mode properties. For icons it was 'declutter', for shapes 'declutter-mode'

@MoonE Thanks for your work on this! Is there anything I can help with to get this ready for review?


TensorFlowSharp 1.5.0-pre2 supports UWP x64!

I find TensorFlowSharp 1.5.0-pre2 supports UWP x64! Thanks to TensorFlowSharp 1.5.0-pre2 supports .NET Standard 2.0, now UWP x64 apps (TargetPlatformMinVersion UAP 10.0.16299.0) can install the TensorFlowSharp nuget package and run TensorFlow.
I have tried the constant multiplication test program in README.md. It works. Thanks to TensorFlowSharp developers.
Finally, I hope TensorFlowSharp supports more CPU architectures in the future, e.g., Win x86 and Win ARM. Thanks.

so its not possible to get TF# to run on UWP?


When user removes courses, the schedule page doesn't automatically update the changes

Hours: 5 hours

This bug has been fixed; therefore this issue can be closed.

Bug is resolved and passed all regression tests.

Hours: 5